diff --git a/res/values/strings.xml b/res/values/strings.xml
index 23a5c89..1c8df93 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -6781,6 +6781,24 @@
     <string name="help_uri_notifications" translatable="false"></string>
     <!-- Help URI, Apps [DO NOT TRANSLATE] -->
     <string name="help_uri_apps" translatable="false"></string>
+    <!-- Help URI, manage apps storage [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_storage" translatable="false"></string>
+    <!-- Help URI, manage apps power [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_high_power" translatable="false"></string>
+    <!-- Help URI, manage apps overlay [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_overlay" translatable="false"></string>
+    <!-- Help URI, manage apps write settings [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_write_settings" translatable="false"></string>
+    <!-- Help URI, manage apps manage sources [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_manage_sources" translatable="false"></string>
+    <!-- Help URI, manage apps games [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_games" translatable="false"></string>
+    <!-- Help URI, manage apps movies [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_movies" translatable="false"></string>
+    <!-- Help URI, manage apps photography [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_photography" translatable="false"></string>
+    <!-- Help URI, manage apps wifi access [DO NOT TRANSLATE] -->
+    <string name="help_uri_apps_wifi_access" translatable="false"></string>
     <!-- Help URI, Storage [DO NOT TRANSLATE] -->
     <string name="help_uri_storage" translatable="false"></string>
     <!-- Help URI, Accessibility [DO NOT TRANSLATE] -->
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index 9839934..4faa158 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -625,12 +625,32 @@
 
     @StringRes
     int getHelpResource() {
-        if (mListType == LIST_TYPE_MAIN) {
-            return R.string.help_uri_apps;
-        } else if (mListType == LIST_TYPE_USAGE_ACCESS) {
-            return R.string.help_url_usage_access;
-        } else {
-            return R.string.help_uri_notifications;
+        switch (mListType) {
+            case LIST_TYPE_NOTIFICATION:
+                return R.string.help_uri_notifications;
+            case LIST_TYPE_USAGE_ACCESS:
+                return R.string.help_url_usage_access;
+            case LIST_TYPE_STORAGE:
+                return R.string.help_uri_apps_storage;
+            case LIST_TYPE_HIGH_POWER:
+                return R.string.help_uri_apps_high_power;
+            case LIST_TYPE_OVERLAY:
+                return R.string.help_uri_apps_overlay;
+            case LIST_TYPE_WRITE_SETTINGS:
+                return R.string.help_uri_apps_write_settings;
+            case LIST_TYPE_MANAGE_SOURCES:
+                return R.string.help_uri_apps_manage_sources;
+            case LIST_TYPE_GAMES:
+                return R.string.help_uri_apps_overlay;
+            case LIST_TYPE_MOVIES:
+                return R.string.help_uri_apps_movies;
+            case LIST_TYPE_PHOTOGRAPHY:
+                return R.string.help_uri_apps_photography;
+            case LIST_TYPE_WIFI_ACCESS:
+                return R.string.help_uri_apps_wifi_access;
+            default:
+            case LIST_TYPE_MAIN:
+                return R.string.help_uri_apps;
         }
     }
 
