aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorherriojr <jherriott@cyngn.com>2015-08-17 17:37:15 -0700
committerherriojr <jherriott@cyngn.com>2015-08-18 10:57:53 -0700
commitb4fc75077143de0ff9e26d8d2644d879ccdc0e84 (patch)
treebf70c7829b98216a172945cc1050e7ffdf8332b6
parent14b444a383730c0c8def4551b87b72474443aefb (diff)
downloadandroid_packages_apps_CMFileManager-b4fc75077143de0ff9e26d8d2644d879ccdc0e84.tar.gz
android_packages_apps_CMFileManager-b4fc75077143de0ff9e26d8d2644d879ccdc0e84.tar.bz2
android_packages_apps_CMFileManager-b4fc75077143de0ff9e26d8d2644d879ccdc0e84.zip
Fix Navigation back from Search
When entering a search result and then backing out all the way, a history item wasn't being added for the directory the search was happening in. This fixes it. Change-Id: I28d5b290a18076f1156f699426420ca78fb3eee6
-rw-r--r--src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java b/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
index 4a58ceec..24375cba 100644
--- a/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
+++ b/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
@@ -245,10 +245,9 @@ BreadcrumbListener, OnSelectionChangedListener, OnSelectionListener, OnRequestRe
// is created)
mNewDirChecked = checkChRootedNavigation(params[0]);
- //Check that it is really necessary change the directory
- mHasChanged = !(NavigationView.this.mCurrentDir != null &&
- NavigationView.this.mCurrentDir.compareTo(mNewDirChecked) == 0);
- mIsNewHistory = (NavigationView.this.mCurrentDir != null);
+ mHasChanged = !(NavigationView.this.mPreviousDir != null &&
+ NavigationView.this.mPreviousDir.compareTo(mNewDirChecked) == 0);
+ mIsNewHistory = (NavigationView.this.mPreviousDir != null);
try {
//Reset the custom title view and returns to breadcrumb
@@ -814,13 +813,25 @@ BreadcrumbListener, OnSelectionChangedListener, OnSelectionListener, OnRequestRe
return;
}
+ boolean addToHistory = false;
+ boolean reload = true;
+ boolean useCurrent = false;
+ SearchInfoParcelable searchInfo = null;
+
+ String newDir = this.mCurrentDir;
if (this.mNavigationTask != null) {
+ addToHistory = this.mNavigationTask.mAddToHistory;
+ reload = this.mNavigationTask.mReload;
+ useCurrent = this.mNavigationTask.mUseCurrent;
+ searchInfo = this.mNavigationTask.mSearchInfo;
this.mNavigationTask.cancel(true);
this.mNavigationTask = null;
+ this.mCurrentDir = this.mPreviousDir;
+ this.mPreviousDir = null;
}
//Reload data
- changeCurrentDir(this.mCurrentDir, false, true, false, null, scrollTo);
+ changeCurrentDir(newDir, addToHistory, reload, useCurrent, searchInfo, scrollTo);
}
/**
@@ -1029,7 +1040,7 @@ BreadcrumbListener, OnSelectionChangedListener, OnSelectionListener, OnRequestRe
this.mCurrentDir = newDir;
mNavigationTask = new NavigationTask(useCurrent, addToHistory, reload,
searchInfo, scrollTo, mRestrictions, mChRooted);
- mNavigationTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, newDir);
+ mNavigationTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, newDir);
}
/**