Merge changes from topic "bugfix_content_path"
* changes: Add OEM_SOUNDS_DIR variable Fix the bug that secondary storage path is judged as internal Revert "MediaStore.Audio.Media.getContentUriForPath() returns unexpected content"
This commit is contained in:
@@ -1444,18 +1444,6 @@ public final class MediaStore {
|
||||
}
|
||||
|
||||
public static final class Media implements AudioColumns {
|
||||
|
||||
private static final String[] EXTERNAL_PATHS;
|
||||
|
||||
static {
|
||||
String secondary_storage = System.getenv("SECONDARY_STORAGE");
|
||||
if (secondary_storage != null) {
|
||||
EXTERNAL_PATHS = secondary_storage.split(":");
|
||||
} else {
|
||||
EXTERNAL_PATHS = new String[0];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the content:// style URI for the audio media table on the
|
||||
* given volume.
|
||||
@@ -1469,14 +1457,9 @@ public final class MediaStore {
|
||||
}
|
||||
|
||||
public static Uri getContentUriForPath(String path) {
|
||||
for (String ep : EXTERNAL_PATHS) {
|
||||
if (path.startsWith(ep)) {
|
||||
return EXTERNAL_CONTENT_URI;
|
||||
}
|
||||
}
|
||||
|
||||
return (path.startsWith(Environment.getExternalStorageDirectory().getPath()) ?
|
||||
EXTERNAL_CONTENT_URI : INTERNAL_CONTENT_URI);
|
||||
return (path.startsWith(
|
||||
Environment.getStorageDirectory().getAbsolutePath() + "/")
|
||||
? EXTERNAL_CONTENT_URI : INTERNAL_CONTENT_URI);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -159,8 +159,9 @@ public class MediaScanner implements AutoCloseable {
|
||||
|
||||
public static final String SCANNED_BUILD_PREFS_NAME = "MediaScanBuild";
|
||||
public static final String LAST_INTERNAL_SCAN_FINGERPRINT = "lastScanFingerprint";
|
||||
private static final String SYSTEM_SOUNDS_DIR = "/system/media/audio";
|
||||
private static final String PRODUCT_SOUNDS_DIR = "/product/media/audio";
|
||||
private static final String SYSTEM_SOUNDS_DIR = Environment.getRootDirectory() + "/media/audio";
|
||||
private static final String OEM_SOUNDS_DIR = Environment.getOemDirectory() + "/media/audio";
|
||||
private static final String PRODUCT_SOUNDS_DIR = Environment.getProductDirectory() + "/media/audio";
|
||||
private static String sLastInternalScanFingerprint;
|
||||
|
||||
private static final String[] ID3_GENRES = {
|
||||
@@ -1192,6 +1193,9 @@ public class MediaScanner implements AutoCloseable {
|
||||
if (path.startsWith(SYSTEM_SOUNDS_DIR + ALARMS_DIR)
|
||||
|| path.startsWith(SYSTEM_SOUNDS_DIR + RINGTONES_DIR)
|
||||
|| path.startsWith(SYSTEM_SOUNDS_DIR + NOTIFICATIONS_DIR)
|
||||
|| path.startsWith(OEM_SOUNDS_DIR + ALARMS_DIR)
|
||||
|| path.startsWith(OEM_SOUNDS_DIR + RINGTONES_DIR)
|
||||
|| path.startsWith(OEM_SOUNDS_DIR + NOTIFICATIONS_DIR)
|
||||
|| path.startsWith(PRODUCT_SOUNDS_DIR + ALARMS_DIR)
|
||||
|| path.startsWith(PRODUCT_SOUNDS_DIR + RINGTONES_DIR)
|
||||
|| path.startsWith(PRODUCT_SOUNDS_DIR + NOTIFICATIONS_DIR)) {
|
||||
|
||||
Reference in New Issue
Block a user