summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Rettschlag <dirk.rettschlag@gmail.com>2014-02-28 16:32:14 +0100
committerLorDClockaN <davor@losinj.com>2014-02-28 16:32:34 +0100
commitb87aefc6dfa0c85ad3f269d1aacff5ff8db9e135 (patch)
tree7b194df3b7b4c77d42893ecc88164a148476426b
parent2a47be7e6678de30f9c6134304c929d3e17829f6 (diff)
Make navigation drawer customizable via overlay
Devices can now use overlay to hide certain entries. This will be useful for devices without notification led. Change-Id: I3974502323f080d905100b52ca6bd75603641340 Signed-off-by: Dirk Rettschlag <dirk.rettschlag@gmail.com>
-rw-r--r--res/values/arrays.xml16
-rw-r--r--src/com/aokp/romcontrol/MainActivity.java99
2 files changed, 63 insertions, 52 deletions
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index c2972bd..d6cb375 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -33,6 +33,22 @@
<item>@string/category_ribbons</item>
<item>@string/category_animations</item>
</string-array>
+ <string-array name="navigation_drawer_values" translatable="false">
+ <item>about_aokp</item>
+ <item>general</item>
+ <item>lockscreen</item>
+ <item>statusbar</item>
+ <item>toggles</item>
+ <item>hardware_keys</item>
+ <item>power_menu</item>
+ <item>navbar</item>
+ <item>navring</item>
+ <item>sound</item>
+ <item>installer</item>
+ <item>ribbons</item>
+ <item>animations</item>
+ <item>led</item>
+ </string-array>
<string-array name="navigation_drawer_icons" translatable="false">
<item>@drawable/ic_rom_control_about</item>
<item>@drawable/ic_rom_control_general</item>
diff --git a/src/com/aokp/romcontrol/MainActivity.java b/src/com/aokp/romcontrol/MainActivity.java
index afbb7db..ae16463 100644
--- a/src/com/aokp/romcontrol/MainActivity.java
+++ b/src/com/aokp/romcontrol/MainActivity.java
@@ -62,12 +62,14 @@ public class MainActivity extends Activity
private Fragment mSelectedFragment;
private String[] mDrawerEntries;
+ private String[] mDrawerValues;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDrawerEntries = getResources().getStringArray(R.array.navigation_drawer_entries);
+ mDrawerValues = getResources().getStringArray(R.array.navigation_drawer_values);
setContentView(R.layout.activity_main);
mNavigationDrawerFragment = (NavigationDrawerFragment)
@@ -95,59 +97,52 @@ public class MainActivity extends Activity
public Fragment getFragmentToAttach(int position) {
int index = position;
mTitle = mDrawerEntries[index];
+ String item = mDrawerValues[index];
Fragment fragment = null;
- switch (position) {
- case 0:
- fragment = new AboutTabHostFragment();
- break;
-
- case 1:
- fragment = new GeneralSettingsFragment();
- break;
-
- case 2:
- fragment = new LockscreenSettingsFragment();
- break;
-
- case 3:
- fragment = new StatusbarSettingsFragment();
- break;
-
- case 4:
- fragment = new TogglesTabHostFragment();
- break;
-
- case 5:
- fragment = new HardwareKeysFragment();
- break;
-
- case 6:
- fragment = new PowerMenuSettingsFragment();
- break;
-
- case 7:
- fragment = new NavbarTabHostFragment();
- break;
-
- case 8:
- fragment = new NavRingTargets();
- break;
-
- case 9:
- fragment = new SoundSettingsFragment();
- break;
-
- case 10:
- fragment = new InstallerSettingsFragment();
- break;
-
- case 11:
- fragment = new RibbonsFragment();
- break;
-
- case 12:
- fragment = new AnimationsFragment();
- break;
+
+ // blame Google for not using Java 7 yet
+ if ("about_aokp".equals(item)) {
+ fragment = new AboutTabHostFragment();
+ }
+ else if ("general".equals(item)) {
+ fragment = new GeneralSettingsFragment();
+ }
+ else if ("lockscreen".equals(item)) {
+ fragment = new LockscreenSettingsFragment();
+ }
+ else if ("statusbar".equals(item)) {
+ fragment = new StatusbarSettingsFragment();
+ }
+ else if ("toggles".equals(item)) {
+ fragment = new TogglesTabHostFragment();
+ }
+ else if ("hardware_keys".equals(item)) {
+ fragment = new HardwareKeysFragment();
+ }
+ else if ("power_menu".equals(item)) {
+ fragment = new PowerMenuSettingsFragment();
+ }
+ else if ("navbar".equals(item)) {
+ fragment = new NavbarTabHostFragment();
+ }
+ else if ("navring".equals(item)) {
+ fragment = new NavRingTargets();
+ }
+ else if ("sound".equals(item)) {
+ fragment = new SoundSettingsFragment();
+ }
+ else if ("installer".equals(item)) {
+ fragment = new InstallerSettingsFragment();
+ }
+ else if ("ribbons".equals(item)) {
+ fragment = new RibbonsFragment();
+ }
+ else if ("animations".equals(item)) {
+ fragment = new AnimationsFragment();
+ }
+ else {
+ // who knows
+ fragment = new AboutTabHostFragment();
}
return fragment;
}