fix scan status
Just inspecting if there is a pending scan plan is wrong, as we will assume the scan is finished while we are in the last phase. So instead, we now track the scan state explicitly.
This commit is contained in:
parent
25937ce3a9
commit
3b2449d000
@ -65,6 +65,10 @@ public class MediaScanner implements Handler.Callback {
|
||||
* Set by KICKSTART rpc
|
||||
*/
|
||||
private boolean mIsInitialScan;
|
||||
/**
|
||||
* True if we are currently in a scan phase
|
||||
*/
|
||||
private boolean mScanIsRunning;
|
||||
/**
|
||||
* True if we must do a full cleanup of orphaned entries after the scan finished.
|
||||
*/
|
||||
@ -178,7 +182,7 @@ public class MediaScanner implements Handler.Callback {
|
||||
MediaLibrary.Preferences prefs = MediaLibrary.getPreferences(mContext);
|
||||
MediaScanPlan.Statistics stats = mScanPlan.getStatistics();
|
||||
|
||||
progress.isRunning = mScanPlan.hasNextStep();
|
||||
progress.isRunning = mScanIsRunning;
|
||||
progress.lastFile = stats.lastFile;
|
||||
progress.seen = stats.seen;
|
||||
progress.changed = stats.changed;
|
||||
@ -207,6 +211,7 @@ public class MediaScanner implements Handler.Callback {
|
||||
break;
|
||||
}
|
||||
case MSG_SCAN_FINISHED: {
|
||||
mScanIsRunning = false;
|
||||
if (mIsInitialScan) {
|
||||
mIsInitialScan = false;
|
||||
MediaLibrary.notifyObserver(LibraryObserver.Type.PLAYLIST, LibraryObserver.Value.OUTDATED, false);
|
||||
@ -270,6 +275,7 @@ public class MediaScanner implements Handler.Callback {
|
||||
}
|
||||
|
||||
if (message.what == MSG_SCAN_RPC && !mHandler.hasMessages(MSG_SCAN_RPC)) {
|
||||
mScanIsRunning = true;
|
||||
MediaScanPlan.Step step = mScanPlan.getNextStep();
|
||||
if (step == null) {
|
||||
mHandler.sendEmptyMessage(MSG_SCAN_FINISHED);
|
||||
@ -816,13 +822,6 @@ public class MediaScanner implements Handler.Callback {
|
||||
mStats.reset();
|
||||
return next;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the scan plan has a step to execute
|
||||
*/
|
||||
boolean hasNextStep() {
|
||||
return mSteps.size() > 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user