From 2a562230daeee592f58e35429e90a859a300ba22 Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Sat, 31 Dec 2016 11:12:12 +0100 Subject: [PATCH] make delay in startQuickScan an argument --- .../blinkenlights/android/medialibrary/MediaLibrary.java | 2 +- .../blinkenlights/android/medialibrary/MediaScanner.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ch/blinkenlights/android/medialibrary/MediaLibrary.java b/src/ch/blinkenlights/android/medialibrary/MediaLibrary.java index dbb290e2..62711f3d 100644 --- a/src/ch/blinkenlights/android/medialibrary/MediaLibrary.java +++ b/src/ch/blinkenlights/android/medialibrary/MediaLibrary.java @@ -69,7 +69,7 @@ public class MediaLibrary { if (sBackend == null) { sBackend = new MediaLibraryBackend(context); sScanner = new MediaScanner(context, sBackend); - sScanner.startQuickScan(); + sScanner.startQuickScan(50); } } } diff --git a/src/ch/blinkenlights/android/medialibrary/MediaScanner.java b/src/ch/blinkenlights/android/medialibrary/MediaScanner.java index 29a1d58a..260942c3 100644 --- a/src/ch/blinkenlights/android/medialibrary/MediaScanner.java +++ b/src/ch/blinkenlights/android/medialibrary/MediaScanner.java @@ -64,7 +64,7 @@ public class MediaScanner implements Handler.Callback { ContentObserver mObserver = new ContentObserver(null) { @Override public void onChange(boolean self) { - startQuickScan(); + startQuickScan(1500); } }; context.getContentResolver().registerContentObserver(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, false, mObserver); @@ -95,12 +95,14 @@ public class MediaScanner implements Handler.Callback { /** * Called by the content observer if a change in the media library * has been detected + * + * @param delay how many ms we should wait (used to coalesce multiple calls) */ - public void startQuickScan() { + public void startQuickScan(int delay) { if (!mHandler.hasMessages(MSG_SCAN_RPC)) { mScanPlan.addNextStep(RPC_NATIVE_VRFY, null) .addOptionalStep(RPC_LIBRARY_VRFY, null); // only runs if previous scan found no change - mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SCAN_RPC, RPC_NOOP, 0), 1400); + mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SCAN_RPC, RPC_NOOP, 0), delay); } }