Pass current Account when "touching" a folder

* Prevent cases in which mAccount isn't yet set in RecentFolderList
  (this causes "touch" to fail, and notifications to stay up entering
  a folder from notifications)

Change-Id: I6c3910218d4f61a5b2845db363941c13f7d9ca0c
diff --git a/src/com/android/mail/ui/AbstractActivityController.java b/src/com/android/mail/ui/AbstractActivityController.java
index 719f799..4d57837 100644
--- a/src/com/android/mail/ui/AbstractActivityController.java
+++ b/src/com/android/mail/ui/AbstractActivityController.java
@@ -400,7 +400,7 @@
      */
     private void updateRecentFolderList() {
         if (mFolder != null) {
-            mRecentFolderList.touchFolder(mFolder);
+            mRecentFolderList.touchFolder(mFolder, mAccount);
         }
     }
 
diff --git a/src/com/android/mail/ui/RecentFolderList.java b/src/com/android/mail/ui/RecentFolderList.java
index 3e1b996..4f6369d 100644
--- a/src/com/android/mail/ui/RecentFolderList.java
+++ b/src/com/android/mail/ui/RecentFolderList.java
@@ -151,11 +151,15 @@
      * be called with a null folder.
      * @param folder the folder we touched
      */
-    public void touchFolder(Folder folder) {
+    public void touchFolder(Folder folder, Account account) {
         // We haven't got a valid account yet, cannot proceed.
-        if (mAccount == null) {
-            LogUtils.w(TAG, "No account set for setting recent folders?");
-            return;
+        if (mAccount == null || !mAccount.equals(account)) {
+            if (account != null) {
+                setCurrentAccount(account);
+            } else {
+                LogUtils.w(TAG, "No account set for setting recent folders?");
+                return;
+            }
         }
         assert (folder != null);
         mFolderCache.putElement(folder.uri.toString(), folder);