+++ /dev/null
-/*
- 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 <http://www.gnu.org/licenses/>.
-*/
-
-package com.samsung.srpol.ui.drawer;
-
-import com.samsung.srpol.R;
-import com.samsung.srpol.loader.AppListLoader;
-
-import android.support.v4.app.Fragment;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.ListView;
-
-
-public class MenuFragment extends Fragment {
-
- private static final String SAVED_POSITION = "saved_position";
-
- private NavigationDrawerItemListener mDrawerItemListener;
-
- private ListView mMenuListView;
- private CategoryArrayAdapter mAdapter;
-
- private int mSelectedPosition = 0;
-
- public MenuFragment() {
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (savedInstanceState != null) {
- mSelectedPosition = savedInstanceState
- .getInt(SAVED_POSITION);
- selectItem(mSelectedPosition);
- }
- }
-
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- setHasOptionsMenu(true);
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View mRootView = (View) inflater.inflate(
- R.layout.fragment_navigation_drawer, container, false);
- mMenuListView = (ListView) mRootView
- .findViewById(R.id.fragment_listView);
- mMenuListView
- .setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view,
- int position, long id) {
- selectItem(position);
- }
- });
- mAdapter = new CategoryArrayAdapter(getActivity().getApplicationContext());
- mMenuListView.setAdapter(mAdapter);
-
- mMenuListView.setItemChecked(mSelectedPosition, true);
- return mRootView;
- }
-
- public void refresh() {
- if (mAdapter != null) {
- mAdapter.clear();
- mAdapter.addAll(AppListLoader.getCategories());
- mAdapter.notifyDataSetChanged();
- }
- }
-
-
- private void selectItem(int position) {
- mSelectedPosition = position;
- if (mMenuListView != null) {
- mMenuListView.setItemChecked(position, true);
- }
-
- if (mDrawerItemListener != null) {
- mDrawerItemListener.onNavigationDrawerItemSelected(position);
- }
- }
-
- @Override
- public void onDetach() {
- super.onDetach();
- mDrawerItemListener = null;
- }
-
- public void setDrawerItemListener(NavigationDrawerItemListener drawerItemListener) {
- mDrawerItemListener = drawerItemListener;
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- outState.putInt(SAVED_POSITION, mSelectedPosition);
- }
-
- public void notifyDataSetChanged(){
- if(mAdapter != null){
- mAdapter.notifyDataSetChanged();
- }
- }
-}