diff options
author | Chenyang Zhang <Chenyang@codeaurora.org> | 2015-10-21 14:38:23 +0800 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2016-08-24 08:08:16 -0600 |
commit | d5d93589e15a251d4850b69caaebcd8633dd65c9 (patch) | |
tree | f257aec5c3798a73580c264de841e6fdb3252f8f | |
parent | eb71d264b945af99b7750b9baf8262199f44a6a8 (diff) | |
download | android_packages_providers_MediaProvider-staging/cm-14.0-caf.tar.gz android_packages_providers_MediaProvider-staging/cm-14.0-caf.tar.bz2 android_packages_providers_MediaProvider-staging/cm-14.0-caf.zip |
MediaProvider: Support to scan carrier's media folderstaging/cm-14.0-caf
Support to scan regionalization carrier package's media folder.
Conflicts:
src/com/android/providers/media/MediaScannerService.java
Change-Id: Ic7da8734222b488139090ef11a34da6b408c1708
CRs-Fixed: 1025803
-rw-r--r-- | src/com/android/providers/media/MediaScannerService.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/com/android/providers/media/MediaScannerService.java b/src/com/android/providers/media/MediaScannerService.java index dbd1c017..4135bc37 100644 --- a/src/com/android/providers/media/MediaScannerService.java +++ b/src/com/android/providers/media/MediaScannerService.java @@ -37,8 +37,11 @@ import android.os.storage.StorageManager; import android.provider.MediaStore; import android.util.Log; +import com.android.internal.os.RegionalizationEnvironment; + import java.io.File; import java.util.Arrays; +import java.util.List; public class MediaScannerService extends Service implements Runnable { private static final String TAG = "MediaScannerService"; @@ -231,6 +234,24 @@ public class MediaScannerService extends Service implements Runnable { Environment.getRootDirectory() + "/media", Environment.getOemDirectory() + "/media", }; + + if (RegionalizationEnvironment.isSupported()) { + final List<File> regionalizationDirs = RegionalizationEnvironment + .getAllPackageDirectories(); + if (regionalizationDirs.size() > 0) { + String[] mediaDirs = + new String[directories.length + regionalizationDirs.size()]; + for (int i = 0; i < directories.length; i++) { + mediaDirs[i] = directories[i]; + } + int j = directories.length; + for (File f : regionalizationDirs) { + mediaDirs[j] = f.getAbsolutePath() + "/system/media"; + j++; + } + directories = mediaDirs; + } + } } else if (MediaProvider.EXTERNAL_VOLUME.equals(volume)) { // scan external storage volumes |