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

Commit 17d800a9 authored by Richard MacGregor's avatar Richard MacGregor
Browse files

FileManager: Fix shortcuts

Fix shortcuts behavior when FileManager is already open.

Repro:
1) Open FileManager
2) Create shortcut for folder
3) Navigate to another folder (not including new folder)
4) Switch to homescreen (launcher)
5) Select the shortcut created in step 2

Expected behavior:
Navigate to shortcut folder

Observed behavior:
FileManager shows last navigated directory (before going to launcher)

Change-Id: I1db814a8990073f8d2de88f90b23b51a1e77cf8e
Ticket: QRDL-1034
parent d5372f98
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -668,8 +668,12 @@ public class NavigationActivity extends Activity
     */
    @Override
    protected void onNewIntent(Intent intent) {
        // If no directory specified, restore current directory
        final String navigateTo = intent.getStringExtra(EXTRA_NAVIGATE_TO);
        final boolean restore = TextUtils.isEmpty(navigateTo);

        //Initialize navigation
        initNavigation(this.mCurrentNavigationView, true, intent);
        initNavigation(this.mCurrentNavigationView, restore, intent);

        //Check the intent action
        checkIntent(intent);
+4 −4
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.cyanogenmod.filemanager.parcelables;

import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;

import com.cyanogenmod.filemanager.FileManagerApplication;
import com.cyanogenmod.filemanager.R;
@@ -64,12 +65,11 @@ public class NavigationViewInfoParcelable extends HistoryNavigable {
     */
    @Override
    public String getTitle() {
        if (this.mCurrentDir.compareTo(FileHelper.ROOT_DIRECTORY) == 0) {
            FileManagerApplication.getInstance().getResources().getString(
                    R.string.root_directory_name);
        }
        if (!TextUtils.isEmpty(mCurrentDir)) {
            return new File(this.mCurrentDir).getName();
        }
        return null;
    }

    /**
     * {@inheritDoc}
+7 −0
Original line number Diff line number Diff line
@@ -1036,6 +1036,13 @@ BreadcrumbListener, OnSelectionChangedListener, OnSelectionListener, OnRequestRe
            final String newDir, final boolean addToHistory,
            final boolean reload, final boolean useCurrent,
            final SearchInfoParcelable searchInfo, final FileSystemObject scrollTo) {
        if (mNavigationTask != null) {
            this.mCurrentDir = this.mPreviousDir;
            this.mPreviousDir = null;
            mNavigationTask.cancel(true);
            mNavigationTask = null;
        }

        this.mPreviousDir = this.mCurrentDir;
        this.mCurrentDir = newDir;
        mNavigationTask = new NavigationTask(useCurrent, addToHistory, reload,