Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2bb6f04a authored by herriojr's avatar herriojr
Browse files

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
Cherry-Pick: b4fc7507
parent ecc71592
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -642,7 +642,6 @@ public class NavigationActivity extends Activity
        if (curDir != null) {
            VirtualMountPointConsole vc = VirtualMountPointConsole.getVirtualConsoleForPath(
                    mNavigationViews[mCurrentNavigationView].getCurrentDir());
            getCurrentNavigationView().refresh(true);
            if (vc != null && !vc.isMounted()) {
                onRequestBookmarksRefresh();
                removeUnmountedHistory();
@@ -652,11 +651,6 @@ public class NavigationActivity extends Activity
            if (mDisplayingSearchResults) {
                mDisplayingSearchResults = false;
                closeSearch();
            } else {
                getCurrentNavigationView().refresh(true);
                Intent intent = new Intent();
                intent.putExtra(EXTRA_ADD_TO_HISTORY, false);
                initNavigation(NavigationActivity.this.mCurrentNavigationView, false, intent);
            }
            getCurrentNavigationView().refresh(true);
        }
+17 −6
Original line number Diff line number Diff line
@@ -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);
    }

    /**