X-Git-Url: https://git.mdrn.pl/mobilnebezpieczenstwo.git/blobdiff_plain/4b08fd3d054a0b4872d60adc7627bfdef069c39b..be45943134f44b96728f516e91a66149e51443c0:/app/src/main/java/com/samsung/srpol/ui/tabpager/PageFragment.java diff --git a/app/src/main/java/com/samsung/srpol/ui/tabpager/PageFragment.java b/app/src/main/java/com/samsung/srpol/ui/tabpager/PageFragment.java new file mode 100644 index 0000000..bdb7a22 --- /dev/null +++ b/app/src/main/java/com/samsung/srpol/ui/tabpager/PageFragment.java @@ -0,0 +1,133 @@ +/* + Copyright (C) 2014 Samsung Electronics Polska Sp. z o.o. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU AFFERO General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + You may obtain a copy of the License at + + http://www.gnu.org/licenses/agpl-3.0.txt + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +package com.samsung.srpol.ui.tabpager; + +import com.nhaarman.listviewanimations.appearance.AnimationAdapter; +import com.nhaarman.listviewanimations.appearance.simple.AlphaInAnimationAdapter; +import com.samsung.srpol.R; +import com.samsung.srpol.data.Category; +import com.samsung.srpol.data.Subcategory; +import com.samsung.srpol.loader.AppListLoader; +import com.samsung.srpol.parallax.ParallaxListView; +import com.samsung.srpol.ui.AppInfoActivity; +import com.samsung.srpol.ui.PopupActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.View.OnClickListener; +import android.widget.AdapterView; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.AdapterView.OnItemClickListener; + +public class PageFragment extends Fragment { + + private AppListArrayAdapter mAppListArrayAdapter; + private Category mCategory; + private int mPosition; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + mPosition = getArguments() != null ? getArguments().getInt("position") : 0; + setRetainInstance(true); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_main, container, false); + + LinearLayout headerLayout = (LinearLayout) inflater.inflate(R.layout.header_layout, container, false); + headerLayout.setLayoutParams(new ListView.LayoutParams( + ListView.LayoutParams.MATCH_PARENT, ListView.LayoutParams.WRAP_CONTENT)); + if (mCategory == null) { + if (AppListLoader.getCategories() != null) { + mCategory = AppListLoader.getCategories().get(mPosition); + } else { + return rootView; + } + } + TextView header = (TextView) headerLayout.findViewById(R.id.section_label); + if (header != null) { + header.setText(mCategory.getDescription()); + } + + TextView headerLabel = (TextView) rootView.findViewById(R.id.header_label); + if (headerLabel != null) { + String titleSufix = getActivity().getString(R.string.apps_that); + headerLabel.setText(titleSufix.concat(mCategory.getHeader())); + } + + //Header icons Click + LinearLayout groupIcons = (LinearLayout) headerLayout.findViewById(R.id.group_icons); + for (Subcategory subgroup : mCategory.getSubCategories()) { + ImageView icon = new ImageView(getActivity()); + icon.setImageDrawable(subgroup.getIconDrawable()); + groupIcons.addView(icon); + } + + //Header More click + ImageButton moreButton = (ImageButton) headerLayout.findViewById(R.id.legend_btn); + moreButton.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View arg0) { + Intent intent = new Intent(getActivity(), PopupActivity.class); + intent.putExtra(PopupActivity.POPUP_CATEGORY, mPosition); + getActivity().startActivity(intent); + } + }); + + // List with applications + ParallaxListView listview = (ParallaxListView) rootView.findViewById(R.id.listview); + listview.addParallaxedHeaderView(headerLayout); + mAppListArrayAdapter = new AppListArrayAdapter(getActivity(), mCategory); + AnimationAdapter adapter = new AlphaInAnimationAdapter(mAppListArrayAdapter); + adapter.setAbsListView(listview); + listview.setAdapter(adapter); + listview.setOnItemClickListener(new OnItemClickListener() { + + @Override + public void onItemClick(AdapterView parent, View view, + int positionInAdapter, long id) { + Intent intent = new Intent(getActivity(), AppInfoActivity.class); + intent.putExtra(AppInfoActivity.APP_PACKAGE_NAME, + mAppListArrayAdapter.getItem(positionInAdapter - 1).getAppPackageName()); + getActivity().startActivity(intent); + } + }); + + return rootView; + } + + public void notifyDataSetChanged() { + mAppListArrayAdapter.notifyDataSetChanged(); + } + +}