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:57:49 -0700
commit17d800a94332c324c6d597dfff61e654619de04a (patch)
treed1e74a4a3906209f6dec216ca8b83b8e1a0b4820
parentd5372f98c001a58cfdf332af0875a424ca0087da (diff)
downloadandroid_packages_apps_CMFileManager-17d800a94332c324c6d597dfff61e654619de04a.tar.gz
android_packages_apps_CMFileManager-17d800a94332c324c6d597dfff61e654619de04a.tar.bz2
android_packages_apps_CMFileManager-17d800a94332c324c6d597dfff61e654619de04a.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) Change-Id: I1db814a8990073f8d2de88f90b23b51a1e77cf8e Ticket: QRDL-1034
-rwxr-xr-xsrc/com/cyanogenmod/filemanager/activities/NavigationActivity.java6
-rw-r--r--src/com/cyanogenmod/filemanager/parcelables/NavigationViewInfoParcelable.java8
-rwxr-xr-xsrc/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 358549bf..e5798328 100755
--- a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
@@ -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);
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 a0812469..8adf2732 100755
--- 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,