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:
Jeff Sharkey
2018-10-01 17:49:03 +00:00
committed by Gerrit Code Review
2 changed files with 9 additions and 22 deletions

View File

@@ -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);
}
/**

View File

@@ -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)) {