Add support for "manage folders"
Change-Id: Id05e10fcf0d3f1446160c85f0a103f62f2323c27
diff --git a/res/menu/folder_list_menu.xml b/res/menu/folder_list_menu.xml
index 6f5e375..002fd8f 100644
--- a/res/menu/folder_list_menu.xml
+++ b/res/menu/folder_list_menu.xml
@@ -18,11 +18,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Always available -->
- <item android:id="@+id/folder_options"
- android:title="@string/menu_manage_folders"
- android:showAsAction="ifRoom" />
-
- <!-- Always available -->
<item android:id="@+id/settings"
android:title="@string/menu_settings"
android:showAsAction="never" />
diff --git a/res/values/constants.xml b/res/values/constants.xml
index e00c550..562f681 100644
--- a/res/values/constants.xml
+++ b/res/values/constants.xml
@@ -44,7 +44,4 @@
<integer name="swipeScrollSlop">2</integer>
<!-- <integer name="widget_refresh_delay_ms">4000</integer>-->
<integer name="widget_folder_refresh_delay_ms">500</integer>
- <item type="id" name="folder"/>
- <item type="id" name="personal_level"/>
- <item type="id" name="reply_state" />
</resources>
diff --git a/res/values/ids.xml b/res/values/ids.xml
new file mode 100644
index 0000000..1443e92
--- /dev/null
+++ b/res/values/ids.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2012 Google Inc.
+ Licensed to The Android Open Source 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.
+-->
+<resources>
+ <item type="id" name="folder"/>
+ <item type="id" name="personal_level"/>
+ <item type="id" name="reply_state" />
+ <item type="id" name="manage_folders_item"/>
+</resources>
diff --git a/src/com/android/mail/providers/UIProvider.java b/src/com/android/mail/providers/UIProvider.java
index 2433814..5f29e03 100644
--- a/src/com/android/mail/providers/UIProvider.java
+++ b/src/com/android/mail/providers/UIProvider.java
@@ -1372,5 +1372,10 @@
* modify settings
*/
public static final String EXTRA_FOLDER = "extra_folder";
+
+ /**
+ * Boolean extra which is set true if the user wants to "manage folders"
+ */
+ public static final String EXTRA_MANAGE_FOLDERS = "extra_manage_folders";
}
}
diff --git a/src/com/android/mail/ui/AbstractActivityController.java b/src/com/android/mail/ui/AbstractActivityController.java
index a9356aa..63ee61e 100644
--- a/src/com/android/mail/ui/AbstractActivityController.java
+++ b/src/com/android/mail/ui/AbstractActivityController.java
@@ -534,6 +534,9 @@
case R.id.feedback_menu_item:
Utils.sendFeedback(mActivity.getActivityContext(), mAccount);
break;
+ case R.id.manage_folders_item:
+ Utils.showManageFolder(mActivity.getActivityContext(), mAccount);
+ break;
default:
handled = false;
break;
diff --git a/src/com/android/mail/utils/Utils.java b/src/com/android/mail/utils/Utils.java
index a372c96..b4543f9 100644
--- a/src/com/android/mail/utils/Utils.java
+++ b/src/com/android/mail/utils/Utils.java
@@ -720,6 +720,22 @@
}
/**
+ * Show the settings screen for managing all folders.
+ */
+ public static void showManageFolder(Context context, Account account) {
+ if (account == null) {
+ LogUtils.e(LOG_TAG, "Invalid attempt to the manage folders screen with null account");
+ return;
+ }
+ final Intent settingsIntent = new Intent(Intent.ACTION_EDIT, account.settingsIntentUri);
+
+ settingsIntent.putExtra(EditSettingsExtras.EXTRA_ACCOUNT, account);
+ settingsIntent.putExtra(EditSettingsExtras.EXTRA_MANAGE_FOLDERS, true);
+
+ context.startActivity(settingsIntent);
+ }
+
+ /**
* Show the feedback screen for the supplied account.
*/
public static void sendFeedback(Context context, Account account) {