aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot <srinivas.p031@gmail.com>2015-10-19 19:24:28 +0530
committeremancebo <emancebo@cyngn.com>2015-10-21 10:25:52 -0700
commit06b63a742e3dfad20265ccce9afa952d81984118 (patch)
tree8e3086b5f928ea37f0f1838422781b55e03d82d5
parent3a4d70fe0513bf1faf817e8d0d90b73f1e32707a (diff)
downloadandroid_packages_apps_CMFileManager-06b63a742e3dfad20265ccce9afa952d81984118.tar.gz
android_packages_apps_CMFileManager-06b63a742e3dfad20265ccce9afa952d81984118.tar.bz2
android_packages_apps_CMFileManager-06b63a742e3dfad20265ccce9afa952d81984118.zip
Thumbnail update on copy and overwrite issue of pictures
issue-id: QRDL-1077 Change-Id: I10d3c861141590806a8e5b9c665b4f4f4b74141a
-rwxr-xr-xsrc/com/cyanogenmod/filemanager/activities/NavigationActivity.java5
-rwxr-xr-xsrc/com/cyanogenmod/filemanager/activities/SearchActivity.java5
-rw-r--r--src/com/cyanogenmod/filemanager/adapters/FileSystemObjectAdapter.java11
-rw-r--r--src/com/cyanogenmod/filemanager/listeners/OnRequestRefreshListener.java7
-rw-r--r--src/com/cyanogenmod/filemanager/providers/secure/SecureChoiceRefreshListener.java5
-rw-r--r--src/com/cyanogenmod/filemanager/ui/IconHolder.java11
-rwxr-xr-xsrc/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java21
-rwxr-xr-xsrc/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java8
8 files changed, 68 insertions, 5 deletions
diff --git a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
index e5798328..b8eda658 100755
--- a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
@@ -2000,6 +2000,11 @@ public class NavigationActivity extends Activity
}
}
+ @Override
+ public void onClearCache(Object o) {
+ getCurrentNavigationView().onClearCache(o);
+ }
+
/**
* {@inheritDoc}
*/
diff --git a/src/com/cyanogenmod/filemanager/activities/SearchActivity.java b/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
index 6089873a..ff1eb1be 100755
--- a/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
@@ -1264,6 +1264,11 @@ public class SearchActivity extends Activity
}
}
+ @Override
+ public void onClearCache(Object o) {
+ // ignore
+ }
+
/**
* {@inheritDoc}
*/
diff --git a/src/com/cyanogenmod/filemanager/adapters/FileSystemObjectAdapter.java b/src/com/cyanogenmod/filemanager/adapters/FileSystemObjectAdapter.java
index dac15d43..0c0b57f6 100644
--- a/src/com/cyanogenmod/filemanager/adapters/FileSystemObjectAdapter.java
+++ b/src/com/cyanogenmod/filemanager/adapters/FileSystemObjectAdapter.java
@@ -138,6 +138,17 @@ public class FileSystemObjectAdapter
}
/**
+ * Method that Clears Cache of the adapter
+ * @param fso The Selected FileSystemObject reference
+ */
+ public void clearCache(FileSystemObject fso) {
+ if (mIconHolder != null) {
+ mIconHolder.clearCacheImages(fso);
+ notifyDataSetChanged();
+ }
+ }
+
+ /**
* Method that dispose the elements of the adapter.
*/
public void dispose() {
diff --git a/src/com/cyanogenmod/filemanager/listeners/OnRequestRefreshListener.java b/src/com/cyanogenmod/filemanager/listeners/OnRequestRefreshListener.java
index da307c38..893becac 100644
--- a/src/com/cyanogenmod/filemanager/listeners/OnRequestRefreshListener.java
+++ b/src/com/cyanogenmod/filemanager/listeners/OnRequestRefreshListener.java
@@ -50,6 +50,13 @@ public interface OnRequestRefreshListener {
void onNavigateTo(Object o);
/**
+ * Invoke to clear cache for object
+ *
+ * @param o object to clear cache for
+ */
+ void onClearCache(Object o);
+
+ /**
* Invoked on action cancel
*/
void onCancel();
diff --git a/src/com/cyanogenmod/filemanager/providers/secure/SecureChoiceRefreshListener.java b/src/com/cyanogenmod/filemanager/providers/secure/SecureChoiceRefreshListener.java
index cf0e21c5..7898fa3b 100644
--- a/src/com/cyanogenmod/filemanager/providers/secure/SecureChoiceRefreshListener.java
+++ b/src/com/cyanogenmod/filemanager/providers/secure/SecureChoiceRefreshListener.java
@@ -60,6 +60,11 @@ import java.io.File;
}
@Override
+ public void onClearCache(Object o) {
+ // ignore
+ }
+
+ @Override
public void onRequestBookmarksRefresh() {
}
diff --git a/src/com/cyanogenmod/filemanager/ui/IconHolder.java b/src/com/cyanogenmod/filemanager/ui/IconHolder.java
index 29a8b856..2a8e0993 100644
--- a/src/com/cyanogenmod/filemanager/ui/IconHolder.java
+++ b/src/com/cyanogenmod/filemanager/ui/IconHolder.java
@@ -283,6 +283,17 @@ public class IconHolder {
}
/**
+ * Clearing the selected Icon Cache
+ * @param fso The Selected FileSystemObject reference
+ */
+ public void clearCacheImages(FileSystemObject fso) {
+ final String filePath = MediaHelper.normalizeMediaPath(fso.getFullPath());
+ if (filePath != null) {
+ mAppIcons.remove(filePath);
+ }
+ }
+
+ /**
* Method that returns a drawable reference of a FileSystemObject.
*
* @param iconView View to load the drawable into
diff --git a/src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java b/src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java
index f8936352..a3272208 100755
--- a/src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java
+++ b/src/com/cyanogenmod/filemanager/ui/policy/CopyMoveActionPolicy.java
@@ -21,6 +21,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.text.Html;
import android.text.Spanned;
+import android.util.Log;
import com.cyanogenmod.filemanager.R;
import com.cyanogenmod.filemanager.console.Console;
@@ -46,6 +47,8 @@ import java.util.List;
*/
public final class CopyMoveActionPolicy extends ActionsPolicy {
+ private static final String TAG = CopyMoveActionPolicy.class.getSimpleName();
+
/**
* @hide
*/
@@ -310,13 +313,23 @@ public final class CopyMoveActionPolicy extends ActionsPolicy {
if (files != null) {
for (LinkedResource linkedFiles : files) {
Bookmarks.deleteOrphanBookmarks(ctx, linkedFiles.mSrc.getAbsolutePath());
+ //Operation complete. Show refresh
+ if (mOnRequestRefreshListener != null) {
+ FileSystemObject fso = null;
+ try {
+ fso = CommandHelper.getFileInfo(ctx,
+ linkedFiles.mDst.getAbsolutePath(), false, null);
+ mOnRequestRefreshListener.onClearCache(fso);
+ } catch (Exception e) {
+ Log.w(TAG, "Exception getting file info for " +
+ linkedFiles.mDst.getAbsolutePath(), e);
+ }
+ }
}
}
- //Operation complete. Refresh
- if (this.mOnRequestRefreshListener != null) {
- // The reference is not the same, so refresh the complete navigation view
- this.mOnRequestRefreshListener.onRequestRefresh(null, true);
+ if (mOnRequestRefreshListener != null) {
+ mOnRequestRefreshListener.onRequestRefresh(null, true);
}
}
diff --git a/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java b/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
index 6d8ba671..3beaeac7 100755
--- a/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
+++ b/src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
@@ -829,7 +829,6 @@ BreadcrumbListener, OnSelectionChangedListener, OnSelectionListener, OnRequestRe
this.mCurrentDir = this.mPreviousDir;
this.mPreviousDir = null;
}
-
//Reload data
changeCurrentDir(newDir, addToHistory, reload, useCurrent, searchInfo, scrollTo);
}
@@ -1275,6 +1274,13 @@ BreadcrumbListener, OnSelectionChangedListener, OnSelectionListener, OnRequestRe
}
}
+ @Override
+ public void onClearCache(Object o) {
+ if (o instanceof FileSystemObject && mAdapter != null) {
+ mAdapter.clearCache((FileSystemObject)o);
+ }
+ }
+
/**
* {@inheritDoc}
*/