diff options
| author | Dirk Rettschlag <dirk.rettschlag@gmail.com> | 2014-02-28 16:32:14 +0100 |
|---|---|---|
| committer | LorDClockaN <davor@losinj.com> | 2014-02-28 16:32:34 +0100 |
| commit | b87aefc6dfa0c85ad3f269d1aacff5ff8db9e135 (patch) | |
| tree | 7b194df3b7b4c77d42893ecc88164a148476426b | |
| parent | 2a47be7e6678de30f9c6134304c929d3e17829f6 (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.xml | 16 | ||||
| -rw-r--r-- | src/com/aokp/romcontrol/MainActivity.java | 99 |
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; } |
