summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRohan Shah <shahrk@google.com>2014-08-15 22:26:21 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-15 21:23:40 +0000
commit52666490bf734a71ad3fce634e21f5a9f1d448a9 (patch)
treec01ed34390d9b4ca4ba96444b95631ffb22ac54b /src
parent1353da4b3075af7d5bb8f6bcd0dcb5bb3f8afdab (diff)
parenteec2e988e634e5cd501b4fce3e78d6caadfe7558 (diff)
downloadandroid_packages_apps_UnifiedEmail-52666490bf734a71ad3fce634e21f5a9f1d448a9.tar.gz
android_packages_apps_UnifiedEmail-52666490bf734a71ad3fce634e21f5a9f1d448a9.tar.bz2
android_packages_apps_UnifiedEmail-52666490bf734a71ad3fce634e21f5a9f1d448a9.zip
Merge "Fix "Move to" crashing Gmail" into ub-gmail-ur14-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/mail/ui/HierarchicalFolderSelectorAdapter.java8
-rw-r--r--src/com/android/mail/ui/SingleFolderSelectionDialog.java30
2 files changed, 24 insertions, 14 deletions
diff --git a/src/com/android/mail/ui/HierarchicalFolderSelectorAdapter.java b/src/com/android/mail/ui/HierarchicalFolderSelectorAdapter.java
index 0f52e6565..b306f8d36 100644
--- a/src/com/android/mail/ui/HierarchicalFolderSelectorAdapter.java
+++ b/src/com/android/mail/ui/HierarchicalFolderSelectorAdapter.java
@@ -117,8 +117,12 @@ public class HierarchicalFolderSelectorAdapter extends FolderSelectorAdapter {
display.append(mContext.getResources().getString(R.string.hierarchical_folder_top,
topParentName));
}
- display.setSpan(new ForegroundColorSpan(R.color.hierarchical_folder_parent_color), 0,
- display.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+
+ // If there is nothing appended to display, don't try to setSpan.
+ if (display.length() > 0) {
+ display.setSpan(new ForegroundColorSpan(R.color.hierarchical_folder_parent_color),
+ 0, display.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ }
display.append(folderName);
}
return display;
diff --git a/src/com/android/mail/ui/SingleFolderSelectionDialog.java b/src/com/android/mail/ui/SingleFolderSelectionDialog.java
index 1fd74c506..a61ded0ff 100644
--- a/src/com/android/mail/ui/SingleFolderSelectionDialog.java
+++ b/src/com/android/mail/ui/SingleFolderSelectionDialog.java
@@ -82,21 +82,27 @@ public class SingleFolderSelectionDialog extends FolderSelectionDialog {
dialog.getListView().setAdapter(null);
mAdapter.clearSections();
- // TODO(mindyp) : bring this back in UR8 when Email providers
- // will have divided folder sections.
- // Currently, the number of adapters are assumed to match the
- // number of headers in the string array.
- mAdapter.addSection(new SystemFolderSelectorAdapter(context, data,
- R.layout.single_folders_view, mCurrentFolder));
-
- // TODO(mindyp): we currently do not support frequently moved to
- // folders, at headers[1]; need to define what that means.*/
+
+ // Create a system folder adapter and an adapter for hierarchical
+ // and user folders. If there are no folders added to either of them,
+ // do not add as a section since a 0-count adapter will result in an
+ // IndexOutOfBoundsException.
+ SystemFolderSelectorAdapter sysFolderAdapter =
+ new SystemFolderSelectorAdapter(context, data,
+ R.layout.single_folders_view, mCurrentFolder);
+ if (sysFolderAdapter.getCount() > 0) {
+ mAdapter.addSection(sysFolderAdapter);
+ }
+
// TODO(pwestbro): determine if we need to call filterFolders
// if filterFolders is not necessary, remove the method decl with one arg.
- mAdapter.addSection(
+ UserFolderHierarchicalFolderSelectorAdapter hierarchicalAdapter =
new UserFolderHierarchicalFolderSelectorAdapter(context,
- AddableFolderSelectorAdapter.filterFolders(data),
- R.layout.single_folders_view, mCurrentFolder));
+ AddableFolderSelectorAdapter.filterFolders(data),
+ R.layout.single_folders_view, mCurrentFolder);
+ if (hierarchicalAdapter.getCount() > 0) {
+ mAdapter.addSection(hierarchicalAdapter);
+ }
dialog.getListView().setAdapter(mAdapter);
}