aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard MacGregor <rmacgregor@cyngn.com>2015-08-20 16:05:17 -0700
committerRichard MacGregor <rmacgregor@cyngn.com>2015-08-21 11:58:13 -0700
commitaf500818a90bbe01ca1f932200abee46e43523b2 (patch)
tree1c1c677ca1df81f6bb99dd5d2e7942a5eae18b9e
parent8f6788469828c169c97529252bbbce12e5dbfed1 (diff)
downloadandroid_packages_apps_CMFileManager-af500818a90bbe01ca1f932200abee46e43523b2.tar.gz
android_packages_apps_CMFileManager-af500818a90bbe01ca1f932200abee46e43523b2.tar.bz2
android_packages_apps_CMFileManager-af500818a90bbe01ca1f932200abee46e43523b2.zip
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) (cherry picked from commit 8f0fb94de32e1ea773ce165bf5bc95122099171d) Change-Id: Icd03d38aa1d879d46f1c9a6d4c7efb15c3fb0b3f Ticket: QRDL-1034
-rw-r--r--src/com/cyanogenmod/filemanager/activities/NavigationActivity.java6
-rw-r--r--src/com/cyanogenmod/filemanager/parcelables/NavigationViewInfoParcelable.java8
-rw-r--r--src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java7
3 files changed, 16 insertions, 5 deletions
diff --git a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
index 13131d07..ff5d9ab3 100644
--- a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
@@ -667,8 +667,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);
diff --git a/src/com/cyanogenmod/filemanager/parcelables/NavigationViewInfoParcelable.java b/src/com/cyanogenmod/filemanager/parcelables/NavigationViewInfoParcelable.java
index fd4983f7..0f286f75 100644
--- a/src/com/cyanogenmod/filemanager/parcelables/NavigationViewInfoParcelable.java
+++ b/src/com/cyanogenmod/filemanager/parcelables/NavigationViewInfoParcelable.java
@@ -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,11 +65,10 @@ 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 new File(this.mCurrentDir).getName();
+ return null;
}
/**
diff --git a/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java b/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
index 24375cba..5fb786a5 100644
--- a/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
+++ b/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
@@ -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,