X-Git-Url: https://git.mdrn.pl/mobilnebezpieczenstwo.git/blobdiff_plain/4b08fd3d054a0b4872d60adc7627bfdef069c39b..be45943134f44b96728f516e91a66149e51443c0:/src/com/samsung/srpol/ui/MainActivity.java diff --git a/src/com/samsung/srpol/ui/MainActivity.java b/src/com/samsung/srpol/ui/MainActivity.java deleted file mode 100644 index 1d311c9..0000000 --- a/src/com/samsung/srpol/ui/MainActivity.java +++ /dev/null @@ -1,352 +0,0 @@ -/* - 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; - -import java.util.List; - -import com.samsung.srpol.R; -import com.samsung.srpol.loader.AppDetails; -import com.samsung.srpol.loader.AppListLoader; -import com.samsung.srpol.ui.drawer.MenuFragment; -import com.samsung.srpol.ui.drawer.NavigationDrawerItemListener; -import com.samsung.srpol.ui.tabpager.PageAdapter; - -import android.support.v7.app.ActionBarActivity; -import android.support.v7.app.ActionBar; -import android.support.v4.app.ActionBarDrawerToggle; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.Loader; -import android.content.DialogInterface; -import android.content.DialogInterface.OnDismissListener; -import android.content.Intent; -import android.content.SharedPreferences; -import android.os.Bundle; -import android.os.Handler; -import android.preference.PreferenceManager; -import android.util.Log; -import android.view.Gravity; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.support.v4.view.GravityCompat; -import android.support.v4.view.PagerTabStrip; -import android.support.v4.view.ViewPager; -import android.support.v4.widget.DrawerLayout; - -public class MainActivity extends ActionBarActivity implements - LoaderManager.LoaderCallbacks> { - public static final String TAG = "MainActivity"; - - private static final String STATE_WELCOME_DIALOG_IS_OPEN = "welcome_dialog_is_open"; - private static final String STATE_WELCOME_DIALOG_OPENED_FROM_MENU = "welcome_dialog_opened_from_menu"; - private static final String STATE_DRAWER_MENU_IS_OPEN = "state_drawer_menu_is_open"; - - private MenuFragment mMenuFragment; - - private WelcomeDialog mWelcomeDialog; - private ViewPager mViewPager; - private PageAdapter mFramePagerAdapter; - private boolean mDrawerOpenState = false; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - if (savedInstanceState != null) { - boolean isWelcomeDialogOpen = savedInstanceState.getBoolean( - STATE_WELCOME_DIALOG_IS_OPEN, false); - if (isWelcomeDialogOpen) { - boolean isOpenedFromMenu = savedInstanceState.getBoolean( - STATE_WELCOME_DIALOG_OPENED_FROM_MENU, false); - showWelcomeDialog(isOpenedFromMenu); - } - mDrawerOpenState = savedInstanceState.getBoolean(STATE_DRAWER_MENU_IS_OPEN, false); - } else { - showWelcomeDialog(false); - } - - getSupportLoaderManager().initLoader(0, null, this); - - // if Loader was created then we have all data to create - // NavigationDrawer otherwise wait for loader to be created and then - // create NavigationDrawer - if (getSupportLoaderManager().getLoader(0) != null) { - initNavigationDrawer(); - } - - mFramePagerAdapter = new PageAdapter(getSupportFragmentManager(), getApplicationContext()); - mViewPager = (ViewPager) findViewById(R.id.myviewpager); - mViewPager.setAdapter(mFramePagerAdapter); - - PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.titlestrip); - pagerTabStrip.setDrawFullUnderline(true); - pagerTabStrip.setTabIndicatorColor(getResources().getColor(R.color.tab_underline_color)); - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - if (mWelcomeDialog != null) { - outState.putBoolean(STATE_WELCOME_DIALOG_IS_OPEN, - mWelcomeDialog.isShowing()); - outState.putBoolean(STATE_WELCOME_DIALOG_OPENED_FROM_MENU, - mWelcomeDialog.ismOpenedFromMenu()); - } - if (isDrawerOpen() || (mDrawerOpenState && mDrawerLayout == null)) { - outState.putBoolean(STATE_DRAWER_MENU_IS_OPEN, true); - } - } - - protected void onDestroy() { - if (mWelcomeDialog != null) { - if (mWelcomeDialog.isShowing()) { - mWelcomeDialog.dismiss(); - } - } - super.onDestroy(); - } - - public void restoreActionBar() { - ActionBar actionBar = getSupportActionBar(); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); - actionBar.setDisplayShowTitleEnabled(true); - } - - @Override - protected boolean onPrepareOptionsPanel(View view, Menu menu) { - SharedPreferences sp = PreferenceManager - .getDefaultSharedPreferences(this); - boolean showSystemApp = sp.getBoolean( - AppListLoader.PREF_INCLUDE_SYSTEM_APPS, - true); - MenuItem menuItemSystem = menu.findItem(R.id.action_toggle_system_visibility); - if (menuItemSystem != null) { - if (showSystemApp) { - menuItemSystem.setTitle(R.string.hide_system_visibility); - } else { - menuItemSystem.setTitle(R.string.show_system_visibility); - } - } - return super.onPrepareOptionsPanel(view, menu); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.main, menu); - restoreActionBar(); - return true; - } - - @Override - public void onBackPressed() { - if (isDrawerOpen()) { - closeDrawer(); - } else { - super.onBackPressed(); - } - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - if (mActionBarDrawerToggle != null - && mActionBarDrawerToggle.onOptionsItemSelected(item)) - return true; - int id = item.getItemId(); - switch (id) { - case R.id.action_about: - showWelcomeDialog(true); - return true; - case R.id.action_licence: - showLicense(); - return true; - case R.id.action_toggle_system_visibility: - toggleSharedPrefences(AppListLoader.PREF_INCLUDE_SYSTEM_APPS); - refreshAfterChanges(); - return true; - } - return super.onOptionsItemSelected(item); - } - - public void toggleSharedPrefences(String preferenceName) { - SharedPreferences sp = PreferenceManager - .getDefaultSharedPreferences(this); - boolean actualValue = sp.getBoolean(preferenceName, true); - sp.edit().putBoolean(preferenceName, !actualValue).commit(); - } - - public void refreshAfterChanges() { - supportInvalidateOptionsMenu(); - if (mFramePagerAdapter != null) { - mFramePagerAdapter.refreshAdapterNotify(); - mFramePagerAdapter.notifyDataSetChanged(); - } - if (mMenuFragment != null) { - mMenuFragment.notifyDataSetChanged(); - } - } - - @Override - public Loader> onCreateLoader(int id, Bundle args) { - AppListLoader loader = new AppListLoader(this.getApplicationContext()); - initNavigationDrawer(); - - return loader; - } - - @Override - public void onLoadFinished(Loader> loader, - List data) { - Log.d(TAG, "onLoadFinished"); - - AppListLoader appLoader = (AppListLoader) loader; - if (appLoader.wasDataReloaded()) { - appLoader.resetWasDataReloaded(); - mViewPager.setOffscreenPageLimit(AppListLoader.getCategories().size()); - mFramePagerAdapter.refreshPages(); - } else { - mFramePagerAdapter.refreshAdapterNotify(); - } - if (mWelcomeDialog != null && mWelcomeDialog.isShowing()) { - mWelcomeDialog.loadingDone(); - } - if (mMenuFragment != null) { - mMenuFragment.notifyDataSetChanged(); - } - } - - public void onLoaderReset(Loader> arg0) { - mFramePagerAdapter.refreshAdapterNotify(); - } - - private void showWelcomeDialog(boolean fromMenu) { - Log.d(TAG, "showWelcomeActivity flag: " + fromMenu); - if (mWelcomeDialog == null) { - mWelcomeDialog = new WelcomeDialog(this, fromMenu); - } - if (!mWelcomeDialog.isShowing()) { - mWelcomeDialog.show(fromMenu); - } - if (!fromMenu) { - mWelcomeDialog.setOnDismissListener(new OnDismissListener() { - - @Override - public void onDismiss(DialogInterface dialog) { - openDrawerAnimate(); - } - }); - } - } - - private void showLicense() { - Intent intent = new Intent(this, LicenseActivity.class); - startActivity(intent); - } - - private DrawerLayout mDrawerLayout; - private View mFragmentContainerView; - private ActionBarDrawerToggle mActionBarDrawerToggle; - - private void initNavigationDrawer() { - mMenuFragment = (MenuFragment) getSupportFragmentManager() - .findFragmentById(R.id.menu_container); - mMenuFragment.setDrawerItemListener(mDrawerItemListener); - mFragmentContainerView = findViewById(R.id.menu_container); - mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); - setUp(); - mMenuFragment.refresh(); - } - - private NavigationDrawerItemListener mDrawerItemListener = new NavigationDrawerItemListener() { - - public void onNavigationDrawerItemSelected(int position) { - if (mViewPager != null) { - mViewPager.setCurrentItem(position, true); - closeDrawer(); - } - } - }; - - public void closeDrawer() { - if(mDrawerLayout != null){ - mDrawerLayout.closeDrawer(Gravity.LEFT); - mDrawerOpenState=false; - } - } - - public boolean isDrawerOpen() { - return mDrawerLayout != null - && mDrawerLayout.isDrawerOpen(mFragmentContainerView); - } - - public void setUp() { - if (mDrawerLayout == null) - return; - mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, - GravityCompat.START); - ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); - actionBar.setHomeButtonEnabled(true); - - mActionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, - R.drawable.ic_drawer, R.string.navigation_drawer_open, - R.string.navigation_drawer_close) { - @Override - public void onDrawerClosed(View drawerView) { - super.onDrawerClosed(drawerView); - supportInvalidateOptionsMenu(); - } - - @Override - public void onDrawerOpened(View drawerView) { - super.onDrawerOpened(drawerView); - supportInvalidateOptionsMenu(); - } - }; - mDrawerLayout.post(new Runnable() { - @Override - public void run() { - mActionBarDrawerToggle.syncState(); - } - }); - if (mDrawerOpenState && !isDrawerOpen()) { - mDrawerLayout.openDrawer(Gravity.LEFT); - } - mDrawerLayout.setDrawerListener(mActionBarDrawerToggle); - } - - public void openDrawerAnimate() { - new Handler().post(new Runnable() { - - @Override - public void run() { - if (mDrawerLayout != null) { - mDrawerLayout.openDrawer(Gravity.LEFT); - mDrawerOpenState = true; - } - } - }); - - if (mWelcomeDialog != null) { - mWelcomeDialog.setOnDismissListener(null); - } - } -}