diff options
| author | herriojr <jherriott@cyngn.com> | 2015-08-17 17:37:15 -0700 |
|---|---|---|
| committer | herriojr <jherriott@cyngn.com> | 2015-08-18 10:57:53 -0700 |
| commit | b4fc75077143de0ff9e26d8d2644d879ccdc0e84 (patch) | |
| tree | bf70c7829b98216a172945cc1050e7ffdf8332b6 | |
| parent | 14b444a383730c0c8def4551b87b72474443aefb (diff) | |
| download | android_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.java | 23 |
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); } /** |
