diff options
author | Andrew Dolgov <[email protected]> | 2017-10-30 22:34:48 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2017-10-30 22:34:48 +0300 |
commit | d015f8bc6fe4361c475ce81760c519a2006dec4e (patch) | |
tree | 3eac1046d2d3f4cd096a63fa858603a06863a82d /org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java | |
parent | cf010e4d4085834403e1c35f743d3afd50d3235f (diff) |
set notification on offline download success in case our application is in background
Diffstat (limited to 'org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java')
-rw-r--r-- | org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java index a6d1e12c..a96be7f0 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java @@ -33,6 +33,7 @@ public class ImageCacheService extends IntentService { private final String TAG = this.getClass().getSimpleName(); public static final int NOTIFY_DOWNLOADING = 1; + public static final int NOTIFY_DOWNLOAD_SUCCESS = 2; private static final String CACHE_PATH = "/image-cache/"; @@ -128,7 +129,37 @@ public class ImageCacheService extends IntentService { return null; } } - + + @SuppressWarnings("deprecation") + private void notifyDownloadSuccess() { + Intent intent = new Intent(this, OnlineActivity.class); + + intent.putExtra("forceSwitchOffline", true); + + PendingIntent contentIntent = PendingIntent.getActivity(this, 0, + intent, PendingIntent.FLAG_UPDATE_CURRENT); + + NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext()) + .setContentTitle(getString(R.string.dialog_offline_success)) + .setContentIntent(contentIntent) + .setWhen(System.currentTimeMillis()) + .setSmallIcon(R.drawable.ic_notification) + .setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(), + R.drawable.ic_launcher)) + .setOnlyAlertOnce(true); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + builder.setCategory(Notification.CATEGORY_PROGRESS) + .setVibrate(new long[0]) + .setVisibility(Notification.VISIBILITY_PUBLIC) + .setColor(0x88b0f0) + .setGroup("org.fox.ttrss"); + } + + m_nmgr.notify(NOTIFY_DOWNLOAD_SUCCESS, builder.build()); + } + + @SuppressWarnings("deprecation") private void updateNotification(String msg, int progress, int max, boolean showProgress) { PendingIntent contentIntent = PendingIntent.getActivity(this, 0, @@ -222,6 +253,8 @@ public class ImageCacheService extends IntentService { success.setAction(OfflineDownloadService.INTENT_ACTION_SUCCESS); success.addCategory(Intent.CATEGORY_DEFAULT); sendBroadcast(success); + + notifyDownloadSuccess(); } } |