summaryrefslogtreecommitdiffstats
path: root/media/jni
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2009-09-03 10:49:55 -0700
committerMarco Nelissen <marcone@google.com>2009-09-03 11:22:28 -0700
commit8b0466170082fdf12f78d7b70358002520e99e9b (patch)
tree5ff6b49f1d9373e654df1a3a324883a05b6eb8a8 /media/jni
parent04e1faf0f030ddb360180289fb798adbb3348dd4 (diff)
downloadframeworks_base-8b0466170082fdf12f78d7b70358002520e99e9b.zip
frameworks_base-8b0466170082fdf12f78d7b70358002520e99e9b.tar.gz
frameworks_base-8b0466170082fdf12f78d7b70358002520e99e9b.tar.bz2
When encountering a .nomedia file, notify the MediaScannerClient,
so that it can erase the data column for entries that are in the folder containing the .nomedia file. This prevents us from deleting (via a delete trigger) files when somebody adds a .nomedia file after the fact.
Diffstat (limited to 'media/jni')
-rw-r--r--media/jni/android_media_MediaScanner.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/media/jni/android_media_MediaScanner.cpp b/media/jni/android_media_MediaScanner.cpp
index 97de486..6a5404e 100644
--- a/media/jni/android_media_MediaScanner.cpp
+++ b/media/jni/android_media_MediaScanner.cpp
@@ -65,6 +65,8 @@ public:
"(Ljava/lang/String;Ljava/lang/String;)V");
mSetMimeTypeMethodID = env->GetMethodID(mediaScannerClientInterface, "setMimeType",
"(Ljava/lang/String;)V");
+ mAddNoMediaFolderMethodID = env->GetMethodID(mediaScannerClientInterface, "addNoMediaFolder",
+ "(Ljava/lang/String;)V");
}
}
@@ -111,12 +113,26 @@ public:
return (!mEnv->ExceptionCheck());
}
+ // returns true if it succeeded, false if an exception occured in the Java code
+ virtual bool addNoMediaFolder(const char* path)
+ {
+ jstring pathStr;
+ if ((pathStr = mEnv->NewStringUTF(path)) == NULL) return false;
+
+ mEnv->CallVoidMethod(mClient, mAddNoMediaFolderMethodID, pathStr);
+
+ mEnv->DeleteLocalRef(pathStr);
+ return (!mEnv->ExceptionCheck());
+ }
+
+
private:
JNIEnv *mEnv;
jobject mClient;
jmethodID mScanFileMethodID;
jmethodID mHandleStringTagMethodID;
jmethodID mSetMimeTypeMethodID;
+ jmethodID mAddNoMediaFolderMethodID;
};