aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard MacGregor <rmacgregor@cyngn.com>2015-06-25 18:45:44 -0700
committerSteve Kondik <steve@cyngn.com>2016-11-02 17:38:51 -0700
commit2250ae7ee5e8ce66503359ccccd66ea7d1eb0013 (patch)
tree54eb60da541c09787a3310e4370693af3a0b36ae
parent6c6746d923b2c6b39ddb4f4f0368c4df6a39d7eb (diff)
downloadandroid_packages_apps_CMFileManager-2250ae7ee5e8ce66503359ccccd66ea7d1eb0013.tar.gz
android_packages_apps_CMFileManager-2250ae7ee5e8ce66503359ccccd66ea7d1eb0013.tar.bz2
android_packages_apps_CMFileManager-2250ae7ee5e8ce66503359ccccd66ea7d1eb0013.zip
Replace back button with menu (hamburger)
Show menu button instead of back button. Open drawer on click. Change-Id: I81735b5d2df1fc2dfcd35aa0a228c0385cb39003
-rw-r--r--res/drawable/ic_menu.xml26
-rwxr-xr-xsrc/com/cyanogenmod/filemanager/activities/MainActivity.java24
-rw-r--r--src/com/cyanogenmod/filemanager/ui/fragments/HomeFragment.java12
-rw-r--r--src/com/cyanogenmod/filemanager/ui/fragments/NavigationFragment.java8
4 files changed, 61 insertions, 9 deletions
diff --git a/res/drawable/ic_menu.xml b/res/drawable/ic_menu.xml
new file mode 100644
index 00000000..965fe452
--- /dev/null
+++ b/res/drawable/ic_menu.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2015 The CyanogenMod Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+
+ <path
+ android:fillColor="#FFFFFF"
+ android:pathData="M3,18h18v-2H3V18z M3,13h18v-2H3V13z M3,6v2h18V6H3z" />
+</vector> \ No newline at end of file
diff --git a/src/com/cyanogenmod/filemanager/activities/MainActivity.java b/src/com/cyanogenmod/filemanager/activities/MainActivity.java
index 1c79a005..83d1936c 100755
--- a/src/com/cyanogenmod/filemanager/activities/MainActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/MainActivity.java
@@ -35,6 +35,7 @@ import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
+import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
@@ -142,6 +143,8 @@ public class MainActivity extends ActionBarActivity
private DrawerLayout mDrawerLayout;
private NavigationView mNavigationDrawer;
+ private boolean mPopBackStack = false;
+
private static final int REQUEST_CODE_STORAGE_PERMS = 321;
private boolean hasPermissions() {
int res = checkCallingOrSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
@@ -297,11 +300,12 @@ public class MainActivity extends ActionBarActivity
switch (fragmentType) {
case NAVIGATION:
+ mPopBackStack = false;
currentFragment = new NavigationFragment();
break;
case HOME:
default:
- // Default to HOME
+ mPopBackStack = false;
currentFragment = HomeFragment.newInstance();
break;
}
@@ -518,4 +522,22 @@ public class MainActivity extends ActionBarActivity
}
}
}
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ if (mPopBackStack) {
+ FragmentManager fm = getSupportFragmentManager();
+ if (fm.getBackStackEntryCount() > 0) {
+ fm.popBackStack();
+ }
+ } else {
+ mDrawerLayout.openDrawer(Gravity.START);
+ }
+ return true;
+ default:
+ return false;
+ }
+ }
}
diff --git a/src/com/cyanogenmod/filemanager/ui/fragments/HomeFragment.java b/src/com/cyanogenmod/filemanager/ui/fragments/HomeFragment.java
index 38105d0d..e58d8b66 100644
--- a/src/com/cyanogenmod/filemanager/ui/fragments/HomeFragment.java
+++ b/src/com/cyanogenmod/filemanager/ui/fragments/HomeFragment.java
@@ -108,10 +108,12 @@ public class HomeFragment extends Fragment {
public void onStart() {
super.onStart();
- mToolBar = (Toolbar) mView.findViewById(
- com.cyanogenmod.filemanager.R.id.material_toolbar);
- ((ActionBarActivity) getActivity()).setSupportActionBar(mToolBar);
- ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ mToolBar = (Toolbar) mView.findViewById(R.id.material_toolbar);
+ ActionBarActivity actionBarActivity = (ActionBarActivity) getActivity();
+ actionBarActivity.setSupportActionBar(mToolBar);
+ actionBarActivity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ actionBarActivity.getSupportActionBar().setHomeButtonEnabled(true);
+ actionBarActivity.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu);
initEasyModePlus();
}
@@ -211,4 +213,4 @@ public class HomeFragment extends Fragment {
startActivity(intent);
}
-} \ No newline at end of file
+}
diff --git a/src/com/cyanogenmod/filemanager/ui/fragments/NavigationFragment.java b/src/com/cyanogenmod/filemanager/ui/fragments/NavigationFragment.java
index 592c5d05..b2975b27 100644
--- a/src/com/cyanogenmod/filemanager/ui/fragments/NavigationFragment.java
+++ b/src/com/cyanogenmod/filemanager/ui/fragments/NavigationFragment.java
@@ -532,9 +532,11 @@ public class NavigationFragment extends Fragment
super.onStart();
mToolBar = (Toolbar) mView.findViewById(R.id.material_toolbar);
- ((ActionBarActivity) getActivity()).setSupportActionBar(mToolBar);
- ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- ((ActionBarActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
+ ActionBarActivity actionBarActivity = (ActionBarActivity) getActivity();
+ actionBarActivity.setSupportActionBar(mToolBar);
+ actionBarActivity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ actionBarActivity.getSupportActionBar().setHomeButtonEnabled(true);
+ actionBarActivity.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu);
//Initialize action bars
initTitleActionBar();