diff options
author | Jeff Sharkey <jsharkey@google.com> | 2016-01-06 17:26:24 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-01-06 17:26:24 +0000 |
commit | f78bfa456e9a480b99dfb0c11276720573d8a899 (patch) | |
tree | 69060d5d4edea7962ec57a0ab4004caecde955ad /src/com/android/providers/media/MediaScannerService.java | |
parent | 570c47c82e382b1bb82c8e1d14e1fc9fc8e8d0e0 (diff) | |
parent | ded3fa69af029f7c41d92efeec8006983a570550 (diff) | |
download | android_packages_providers_MediaProvider-f78bfa456e9a480b99dfb0c11276720573d8a899.tar.gz android_packages_providers_MediaProvider-f78bfa456e9a480b99dfb0c11276720573d8a899.tar.bz2 android_packages_providers_MediaProvider-f78bfa456e9a480b99dfb0c11276720573d8a899.zip |
Merge "Follow framework AutoClosable refactoring."
Diffstat (limited to 'src/com/android/providers/media/MediaScannerService.java')
-rw-r--r-- | src/com/android/providers/media/MediaScannerService.java | 67 |
1 files changed, 17 insertions, 50 deletions
diff --git a/src/com/android/providers/media/MediaScannerService.java b/src/com/android/providers/media/MediaScannerService.java index 86968517..c9ab5783 100644 --- a/src/com/android/providers/media/MediaScannerService.java +++ b/src/com/android/providers/media/MediaScannerService.java @@ -21,33 +21,26 @@ import android.app.Service; import android.content.ContentValues; import android.content.Context; import android.content.Intent; -import android.content.res.Configuration; -import android.database.Cursor; import android.media.IMediaScannerListener; import android.media.IMediaScannerService; import android.media.MediaScanner; import android.net.Uri; import android.os.Bundle; import android.os.Environment; -import android.os.FileUtils; import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; import android.os.PowerManager; import android.os.Process; -import android.os.SystemProperties; import android.os.storage.StorageManager; -import android.os.storage.StorageVolume; import android.provider.MediaStore; import android.util.Log; import java.io.File; import java.util.Arrays; -import java.util.Locale; -public class MediaScannerService extends Service implements Runnable -{ +public class MediaScannerService extends Service implements Runnable { private static final String TAG = "MediaScannerService"; private volatile Looper mServiceLooper; @@ -65,25 +58,6 @@ public class MediaScannerService extends Service implements Runnable } } - private MediaScanner createMediaScanner() { - MediaScanner scanner = new MediaScanner(this); - Locale locale = getResources().getConfiguration().locale; - if (locale != null) { - String language = locale.getLanguage(); - String country = locale.getCountry(); - String localeString = null; - if (language != null) { - if (country != null) { - scanner.setLocale(language + "_" + country); - } else { - scanner.setLocale(language); - } - } - } - - return scanner; - } - private void scan(String[] directories, String volumeName) { Uri uri = Uri.parse("file://" + directories[0]); // don't sleep while scanning @@ -101,8 +75,9 @@ public class MediaScannerService extends Service implements Runnable openDatabase(volumeName); } - MediaScanner scanner = createMediaScanner(); - scanner.scanDirectories(directories, volumeName); + try (MediaScanner scanner = new MediaScanner(this, volumeName)) { + scanner.scanDirectories(directories); + } } catch (Exception e) { Log.e(TAG, "exception in MediaScanner.scan()", e); } @@ -116,8 +91,7 @@ public class MediaScannerService extends Service implements Runnable } @Override - public void onCreate() - { + public void onCreate() { PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE); mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); StorageManager storageManager = (StorageManager)getSystemService(Context.STORAGE_SERVICE); @@ -131,8 +105,7 @@ public class MediaScannerService extends Service implements Runnable } @Override - public int onStartCommand(Intent intent, int flags, int startId) - { + public int onStartCommand(Intent intent, int flags, int startId) { while (mServiceHandler == null) { synchronized (this) { try { @@ -158,8 +131,7 @@ public class MediaScannerService extends Service implements Runnable } @Override - public void onDestroy() - { + public void onDestroy() { // Make sure thread has started before telling it to quit. while (mServiceLooper == null) { synchronized (this) { @@ -172,8 +144,8 @@ public class MediaScannerService extends Service implements Runnable mServiceLooper.quit(); } - public void run() - { + @Override + public void run() { // reduce priority below other background threads to avoid interfering // with other services at boot time. Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND + @@ -185,15 +157,15 @@ public class MediaScannerService extends Service implements Runnable Looper.loop(); } - + private Uri scanFile(String path, String mimeType) { String volumeName = MediaProvider.EXTERNAL_VOLUME; openDatabase(volumeName); - MediaScanner scanner = createMediaScanner(); - try { + + try (MediaScanner scanner = new MediaScanner(this, volumeName)) { // make sure the file path is in canonical form String canonicalPath = new File(path).getCanonicalPath(); - return scanner.scanSingleFile(canonicalPath, volumeName, mimeType); + return scanner.scanSingleFile(canonicalPath, mimeType); } catch (Exception e) { Log.e(TAG, "bad path " + path + " in scanFile()", e); return null; @@ -201,15 +173,13 @@ public class MediaScannerService extends Service implements Runnable } @Override - public IBinder onBind(Intent intent) - { + public IBinder onBind(Intent intent) { return mBinder; } private final IMediaScannerService.Stub mBinder = new IMediaScannerService.Stub() { - public void requestScanFile(String path, String mimeType, IMediaScannerListener listener) - { + public void requestScanFile(String path, String mimeType, IMediaScannerListener listener) { if (false) { Log.d(TAG, "IMediaScannerService.scanFile: " + path + " mimeType: " + mimeType); } @@ -228,11 +198,9 @@ public class MediaScannerService extends Service implements Runnable } }; - private final class ServiceHandler extends Handler - { + private final class ServiceHandler extends Handler { @Override - public void handleMessage(Message msg) - { + public void handleMessage(Message msg) { Bundle arguments = (Bundle) msg.obj; if (arguments == null) { Log.e(TAG, "null intent, b/20953950"); @@ -285,4 +253,3 @@ public class MediaScannerService extends Service implements Runnable } }; } - |