From e40c5c943001b61acdf5eba5390a764bc2cc8b67 Mon Sep 17 00:00:00 2001 From: Bobby Georgescu Date: Thu, 25 Apr 2013 18:10:18 -0700 Subject: Show notification to relaunch MTP importer Bug: 8158516 Change-Id: I98a57f9ac6e6935595b44e1277ddffa378065068 --- src/com/android/gallery3d/ingest/IngestService.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/com') diff --git a/src/com/android/gallery3d/ingest/IngestService.java b/src/com/android/gallery3d/ingest/IngestService.java index fa421e771..28d721157 100644 --- a/src/com/android/gallery3d/ingest/IngestService.java +++ b/src/com/android/gallery3d/ingest/IngestService.java @@ -37,7 +37,6 @@ import android.widget.Adapter; import com.android.gallery3d.R; import com.android.gallery3d.app.NotificationIds; import com.android.gallery3d.data.MtpClient; -import com.android.gallery3d.ingest.data.MtpBitmapFetch; import com.android.gallery3d.util.BucketNames; import java.util.ArrayList; @@ -70,6 +69,7 @@ public class IngestService extends Service implements ImportTask.Listener, private NotificationManager mNotificationManager; private NotificationCompat.Builder mNotificationBuilder; private long mLastProgressIndexTime = 0; + private boolean mNeedRelaunchNotification = false; @Override public void onCreate() { @@ -139,7 +139,15 @@ public class IngestService extends Service implements ImportTask.Listener, protected void setClientActivity(IngestActivity activity) { if (mClientActivity == activity) return; mClientActivity = activity; - if (mClientActivity == null) return; + if (mClientActivity == null) { + if (mNeedRelaunchNotification) { + mNotificationBuilder.setProgress(0, 0, false) + .setContentText(getResources().getText(R.string.ingest_scanning_done)); + mNotificationManager.notify(NotificationIds.INGEST_NOTIFICATION_SCANNING, + mNotificationBuilder.build()); + } + return; + } mNotificationManager.cancel(NotificationIds.INGEST_NOTIFICATION_IMPORTING); mNotificationManager.cancel(NotificationIds.INGEST_NOTIFICATION_SCANNING); if (mRedeliverImportFinish) { @@ -187,6 +195,7 @@ public class IngestService extends Service implements ImportTask.Listener, public void deviceRemoved(MtpDevice device) { if (device == mDevice) { setDevice(null); + mNeedRelaunchNotification = false; } } @@ -196,6 +205,7 @@ public class IngestService extends Service implements ImportTask.Listener, if (pathIfSuccessful != null) { mScannerClient.scanPath(pathIfSuccessful); } + mNeedRelaunchNotification = false; if (mClientActivity != null) { mClientActivity.onImportProgress(visitedCount, totalCount, pathIfSuccessful); } @@ -208,6 +218,7 @@ public class IngestService extends Service implements ImportTask.Listener, @Override public void onImportFinish(Collection objectsNotImported) { stopForeground(true); + mNeedRelaunchNotification = true; if (mClientActivity != null) { mClientActivity.onImportFinish(objectsNotImported); } else { @@ -222,6 +233,7 @@ public class IngestService extends Service implements ImportTask.Listener, @Override public void onObjectIndexed(MtpObjectInfo object, int numVisited) { + mNeedRelaunchNotification = false; if (mClientActivity != null) { mClientActivity.onObjectIndexed(object, numVisited); } else { @@ -244,6 +256,7 @@ public class IngestService extends Service implements ImportTask.Listener, @Override public void onIndexFinish() { + mNeedRelaunchNotification = true; if (mClientActivity != null) { mClientActivity.onIndexFinish(); } else { -- cgit v1.2.3