Parse Folder out of intent
If we had a full Folder object as an extra, but no URI, we opened
the account's default inbox, instead of the desired folder.
Bug: 8526579
Change-Id: I64d1bdecea11e39fde5657910a3b3b2e22cd411a
diff --git a/src/com/android/mail/ui/AbstractActivityController.java b/src/com/android/mail/ui/AbstractActivityController.java
index 1902670..5145d32 100644
--- a/src/com/android/mail/ui/AbstractActivityController.java
+++ b/src/com/android/mail/ui/AbstractActivityController.java
@@ -1774,9 +1774,18 @@
}
// Put the folder and conversation, and ask the loader to create this folder.
final Bundle args = new Bundle();
- final Uri folderUri = intent.hasExtra(Utils.EXTRA_FOLDER_URI)
- ? (Uri) intent.getParcelableExtra(Utils.EXTRA_FOLDER_URI)
- : mAccount.settings.defaultInbox;
+
+ final Uri folderUri;
+ if (intent.hasExtra(Utils.EXTRA_FOLDER_URI)) {
+ folderUri = (Uri) intent.getParcelableExtra(Utils.EXTRA_FOLDER_URI);
+ } else if (intent.hasExtra(Utils.EXTRA_FOLDER)) {
+ final Folder folder =
+ Folder.fromString(intent.getStringExtra(Utils.EXTRA_FOLDER));
+ folderUri = folder.uri;
+ } else {
+ folderUri = mAccount.settings.defaultInbox;
+ }
+
args.putParcelable(Utils.EXTRA_FOLDER_URI, folderUri);
args.putParcelable(Utils.EXTRA_CONVERSATION,
intent.getParcelableExtra(Utils.EXTRA_CONVERSATION));