aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DrawerActivity.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-01-27 14:18:25 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2014-01-27 14:18:25 +0100
commitcb3ca37db9c5c3da05df804979e99628fff6f7b0 (patch)
treed32bd573bdd0cbbcde68a562a48915e95386ba4d /OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DrawerActivity.java
parent08e57019b092d8abcd443a6801cc040d46403021 (diff)
downloadopen-keychain-cb3ca37db9c5c3da05df804979e99628fff6f7b0.tar.gz
open-keychain-cb3ca37db9c5c3da05df804979e99628fff6f7b0.tar.bz2
open-keychain-cb3ca37db9c5c3da05df804979e99628fff6f7b0.zip
New Gradle project structure
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DrawerActivity.java')
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DrawerActivity.java485
1 files changed, 0 insertions, 485 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DrawerActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DrawerActivity.java
deleted file mode 100644
index ee8a01432..000000000
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/DrawerActivity.java
+++ /dev/null
@@ -1,485 +0,0 @@
-/*
- * Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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 org.sufficientlysecure.keychain.ui;
-
-import org.sufficientlysecure.keychain.R;
-import org.sufficientlysecure.keychain.service.remote.RegisteredAppsListActivity;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Configuration;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.support.v4.app.ActionBarDrawerToggle;
-import android.support.v4.view.GravityCompat;
-import android.support.v4.widget.DrawerLayout;
-import android.view.ActionProvider;
-import android.view.ContextMenu.ContextMenuInfo;
-import android.view.LayoutInflater;
-import android.view.SubMenu;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-import android.widget.TextView;
-
-import com.actionbarsherlock.app.SherlockFragmentActivity;
-import com.actionbarsherlock.view.Menu;
-import com.actionbarsherlock.view.MenuItem;
-import com.beardedhen.androidbootstrap.FontAwesomeText;
-
-/**
- * some fundamental ideas from https://github.com/tobykurien/SherlockNavigationDrawer
- *
- *
- */
-public class DrawerActivity extends SherlockFragmentActivity {
- private DrawerLayout mDrawerLayout;
- private ListView mDrawerList;
- private ActionBarDrawerToggle mDrawerToggle;
-
- private CharSequence mDrawerTitle;
- private CharSequence mTitle;
-
- private static Class[] mItemsClass = new Class[] { KeyListPublicActivity.class,
- EncryptActivity.class, DecryptActivity.class, ImportKeysActivity.class,
- KeyListSecretActivity.class, RegisteredAppsListActivity.class };
-
- private static final int MENU_ID_PREFERENCE = 222;
- private static final int MENU_ID_HELP = 223;
-
- protected void setupDrawerNavigation(Bundle savedInstanceState) {
- mDrawerTitle = getString(R.string.app_name);
- mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
- mDrawerList = (ListView) findViewById(R.id.left_drawer);
-
- // set a custom shadow that overlays the main content when the drawer
- // opens
- mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
-
- NavItem mItemIconTexts[] = new NavItem[] {
- new NavItem("fa-user", getString(R.string.nav_contacts)),
- new NavItem("fa-lock", getString(R.string.nav_encrypt)),
- new NavItem("fa-unlock", getString(R.string.nav_decrypt)),
- new NavItem("fa-download", getString(R.string.nav_import)),
- new NavItem("fa-key", getString(R.string.nav_secret_keys)),
- new NavItem("fa-android", getString(R.string.nav_apps)) };
-
- mDrawerList.setAdapter(new NavigationDrawerAdapter(this, R.layout.drawer_list_item,
- mItemIconTexts));
-
- mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
-
- // enable ActionBar app icon to behave as action to toggle nav drawer
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- getSupportActionBar().setHomeButtonEnabled(true);
-
- // ActionBarDrawerToggle ties together the the proper interactions
- // between the sliding drawer and the action bar app icon
- mDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
- mDrawerLayout, /* DrawerLayout object */
- R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */
- R.string.drawer_open, /* "open drawer" description for accessibility */
- R.string.drawer_close /* "close drawer" description for accessibility */
- ) {
- public void onDrawerClosed(View view) {
- getSupportActionBar().setTitle(mTitle);
- // creates call to onPrepareOptionsMenu()
- supportInvalidateOptionsMenu();
- }
-
- public void onDrawerOpened(View drawerView) {
- mTitle = getSupportActionBar().getTitle();
- getSupportActionBar().setTitle(mDrawerTitle);
- // creates call to onPrepareOptionsMenu()
- supportInvalidateOptionsMenu();
- }
- };
- mDrawerLayout.setDrawerListener(mDrawerToggle);
-
- // if (savedInstanceState == null) {
- // selectItem(0);
- // }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(42, MENU_ID_PREFERENCE, 100, R.string.menu_preferences);
- menu.add(42, MENU_ID_HELP, 101, R.string.menu_help);
-
- return super.onCreateOptionsMenu(menu);
- }
-
- /* Called whenever we call invalidateOptionsMenu() */
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- // If the nav drawer is open, hide action items related to the content
- // view
- boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
- // menu.findItem(R.id.action_websearch).setVisible(!drawerOpen);
- return super.onPrepareOptionsMenu(menu);
- }
-
- @Override
- public boolean onOptionsItemSelected(final MenuItem item) {
- // The action bar home/up action should open or close the drawer.
- // ActionBarDrawerToggle will take care of this.
- if (mDrawerToggle.onOptionsItemSelected(getMenuItem(item))) {
- return true;
- }
-
- switch (item.getItemId()) {
- case MENU_ID_PREFERENCE: {
- Intent intent = new Intent(this, PreferencesActivity.class);
- startActivity(intent);
- return true;
- }
- case MENU_ID_HELP: {
- Intent intent = new Intent(this, HelpActivity.class);
- startActivity(intent);
- return true;
- }
- default:
- return super.onOptionsItemSelected(item);
- }
-
- // Handle action buttons
- // switch (item.getItemId()) {
- // case R.id.action_websearch:
- // // create intent to perform web search for this planet
- // Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
- // intent.putExtra(SearchManager.QUERY, getSupportActionBar().getTitle());
- // // catch event that there's no activity to handle intent
- // if (intent.resolveActivity(getPackageManager()) != null) {
- // startActivity(intent);
- // } else {
- // Toast.makeText(this, R.string.app_not_available, Toast.LENGTH_LONG).show();
- // }
- // return true;
- // default:
- // return super.onOptionsItemSelected(item);
- // }
- }
-
- private android.view.MenuItem getMenuItem(final MenuItem item) {
- return new android.view.MenuItem() {
- @Override
- public int getItemId() {
- return item.getItemId();
- }
-
- public boolean isEnabled() {
- return true;
- }
-
- @Override
- public boolean collapseActionView() {
- return false;
- }
-
- @Override
- public boolean expandActionView() {
- return false;
- }
-
- @Override
- public ActionProvider getActionProvider() {
- return null;
- }
-
- @Override
- public View getActionView() {
- return null;
- }
-
- @Override
- public char getAlphabeticShortcut() {
- return 0;
- }
-
- @Override
- public int getGroupId() {
- return 0;
- }
-
- @Override
- public Drawable getIcon() {
- return null;
- }
-
- @Override
- public Intent getIntent() {
- return null;
- }
-
- @Override
- public ContextMenuInfo getMenuInfo() {
- return null;
- }
-
- @Override
- public char getNumericShortcut() {
- return 0;
- }
-
- @Override
- public int getOrder() {
- return 0;
- }
-
- @Override
- public SubMenu getSubMenu() {
- return null;
- }
-
- @Override
- public CharSequence getTitle() {
- return null;
- }
-
- @Override
- public CharSequence getTitleCondensed() {
- return null;
- }
-
- @Override
- public boolean hasSubMenu() {
- return false;
- }
-
- @Override
- public boolean isActionViewExpanded() {
- return false;
- }
-
- @Override
- public boolean isCheckable() {
- return false;
- }
-
- @Override
- public boolean isChecked() {
- return false;
- }
-
- @Override
- public boolean isVisible() {
- return false;
- }
-
- @Override
- public android.view.MenuItem setActionProvider(ActionProvider actionProvider) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setActionView(View view) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setActionView(int resId) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setAlphabeticShortcut(char alphaChar) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setCheckable(boolean checkable) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setChecked(boolean checked) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setEnabled(boolean enabled) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setIcon(Drawable icon) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setIcon(int iconRes) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setIntent(Intent intent) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setNumericShortcut(char numericChar) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setOnActionExpandListener(OnActionExpandListener listener) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setOnMenuItemClickListener(
- OnMenuItemClickListener menuItemClickListener) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setShortcut(char numericChar, char alphaChar) {
- return null;
- }
-
- @Override
- public void setShowAsAction(int actionEnum) {
- }
-
- @Override
- public android.view.MenuItem setShowAsActionFlags(int actionEnum) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setTitle(CharSequence title) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setTitle(int title) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setTitleCondensed(CharSequence title) {
- return null;
- }
-
- @Override
- public android.view.MenuItem setVisible(boolean visible) {
- return null;
- }
- };
- }
-
- /* The click listener for ListView in the navigation drawer */
- private class DrawerItemClickListener implements ListView.OnItemClickListener {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- selectItem(position);
- }
- }
-
- private void selectItem(int position) {
- // update selected item and title, then close the drawer
- mDrawerList.setItemChecked(position, true);
- // setTitle(mDrawerTitles[position]);
- mDrawerLayout.closeDrawer(mDrawerList);
-
- finish();
- overridePendingTransition(0, 0);
-
- Intent intent = new Intent(this, mItemsClass[position]);
- startActivity(intent);
- // disable animation of activity start
- overridePendingTransition(0, 0);
- }
-
- /**
- * When using the ActionBarDrawerToggle, you must call it during onPostCreate() and
- * onConfigurationChanged()...
- */
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- // Sync the toggle state after onRestoreInstanceState has occurred.
- mDrawerToggle.syncState();
- }
-
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- // Pass any configuration change to the drawer toggles
- mDrawerToggle.onConfigurationChanged(newConfig);
- }
-
- private class NavItem {
- public String icon;
- public String title;
-
- public NavItem(String icon, String title) {
- super();
- this.icon = icon;
- this.title = title;
- }
- }
-
- private class NavigationDrawerAdapter extends ArrayAdapter<NavItem> {
- Context context;
- int layoutResourceId;
- NavItem data[] = null;
-
- public NavigationDrawerAdapter(Context context, int layoutResourceId, NavItem[] data) {
- super(context, layoutResourceId, data);
- this.layoutResourceId = layoutResourceId;
- this.context = context;
- this.data = data;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- View row = convertView;
- NavItemHolder holder = null;
-
- if (row == null) {
- LayoutInflater inflater = ((Activity) context).getLayoutInflater();
- row = inflater.inflate(layoutResourceId, parent, false);
-
- holder = new NavItemHolder();
- holder.img = (FontAwesomeText) row.findViewById(R.id.drawer_item_icon);
- holder.txtTitle = (TextView) row.findViewById(R.id.drawer_item_text);
-
- row.setTag(holder);
- } else {
- holder = (NavItemHolder) row.getTag();
- }
-
- NavItem item = data[position];
- holder.txtTitle.setText(item.title);
- holder.img.setIcon(item.icon);
-
- return row;
- }
-
- }
-
- static class NavItemHolder {
- FontAwesomeText img;
- TextView txtTitle;
- }
-
-} \ No newline at end of file