File tree Expand file tree Collapse file tree 4 files changed +40
-1
lines changed
app/src/main/java/com/amaze/filemanager Expand file tree Collapse file tree 4 files changed +40
-1
lines changed Original file line number Diff line number Diff line change 3838import com .amaze .filemanager .filesystem .SafRootHolder ;
3939import com .amaze .filemanager .filesystem .cloud .CloudUtil ;
4040import com .amaze .filemanager .filesystem .files .CryptUtil ;
41+ import com .amaze .filemanager .filesystem .files .FileUtils ;
4142import com .amaze .filemanager .filesystem .files .MediaConnectionUtils ;
4243import com .amaze .filemanager .ui .activities .MainActivity ;
4344import com .amaze .filemanager .ui .fragments .CompressedExplorerFragment ;
@@ -113,10 +114,14 @@ protected final AsyncTaskResult<Boolean> doInBackground(
113114 }
114115
115116 // delete file from media database
116- if (!file .isSmb () && !file .isSftp ())
117+ if (!file .isSmb () && !file .isSftp ()) {
117118 MediaConnectionUtils .scanFile (
118119 applicationContext , files .toArray (new HybridFile [files .size ()]));
119120
121+ if (FileUtils .NOMEDIA_FILE .equals (file .getName ()))
122+ MediaConnectionUtils .scanFile (applicationContext , file .getParent (applicationContext ));
123+ }
124+
120125 // delete file entry from encrypted database
121126 if (file .getName (applicationContext ).endsWith (CryptUtil .CRYPT_EXTENSION )) {
122127 CryptHandler handler = CryptHandler .INSTANCE ;
Original file line number Diff line number Diff line change 2121package com.amaze.filemanager.asynchronous.asynctasks.movecopy
2222
2323import android.app.ProgressDialog
24+ import android.content.Context
2425import android.content.Intent
2526import android.view.LayoutInflater
2627import android.widget.Toast
@@ -43,6 +44,7 @@ import com.amaze.filemanager.filesystem.HybridFile
4344import com.amaze.filemanager.filesystem.HybridFileParcelable
4445import com.amaze.filemanager.filesystem.MakeDirectoryOperation
4546import com.amaze.filemanager.filesystem.files.FileUtils
47+ import com.amaze.filemanager.filesystem.files.MediaConnectionUtils
4648import com.amaze.filemanager.ui.activities.MainActivity
4749import com.amaze.filemanager.utils.OnFileFound
4850import com.amaze.filemanager.utils.Utils
@@ -140,6 +142,7 @@ class PreparePasteTask(strongRefMain: MainActivity) {
140142 filesToCopy[0 ].getParent(context.get()) == targetPath
141143 ) {
142144 Toast .makeText(context.get(), R .string.same_dir_move_error, Toast .LENGTH_SHORT ).show()
145+ MediaConnectionUtils .scanFile(context.get() as Context , filesToCopy.toTypedArray())
143146 return
144147 }
145148
Original file line number Diff line number Diff line change @@ -442,6 +442,17 @@ protected Void doInBackground(Void... params) {
442442 }
443443 return null ;
444444 }
445+
446+ @ Override
447+ protected void onPostExecute (Void unused ) {
448+ super .onPostExecute (unused );
449+
450+ // TODO: run this only when the operation gets completed successfully
451+ MediaConnectionUtils .scanFile (context , file .path );
452+
453+ if (file .name .equals (FileUtils .NOMEDIA_FILE ))
454+ MediaConnectionUtils .scanFile (context , file .getParent (context ));
455+ }
445456 }.executeOnExecutor (executor );
446457 }
447458
Original file line number Diff line number Diff line change @@ -52,4 +52,24 @@ object MediaConnectionUtils {
5252 LOG .info(" MediaConnectionUtils#scanFile finished scanning path$path " )
5353 }
5454 }
55+
56+ /* *
57+ * Invokes MediaScannerConnection#scanFile for a given file
58+ *
59+ * @param context the context
60+ * @param filePath the path of the file to be scanned
61+ */
62+ @JvmStatic
63+ fun scanFile (
64+ context : Context ,
65+ filePath : String ,
66+ ) {
67+ MediaScannerConnection .scanFile(
68+ context,
69+ arrayOf(filePath),
70+ null ,
71+ ) { path: String , _: Uri ? ->
72+ LOG .info(" MediaConnectionUtils#scanFile finished scanning path$path " )
73+ }
74+ }
5575}
You can’t perform that action at this time.
0 commit comments