add progressbar to imagecacheservice notification
This commit is contained in:
parent
a8280107e4
commit
3b9f2c25a6
@ -1,5 +1,22 @@
|
|||||||
package org.fox.ttrss.util;
|
package org.fox.ttrss.util;
|
||||||
|
|
||||||
|
import android.app.ActivityManager;
|
||||||
|
import android.app.ActivityManager.RunningServiceInfo;
|
||||||
|
import android.app.IntentService;
|
||||||
|
import android.app.Notification;
|
||||||
|
import android.app.NotificationManager;
|
||||||
|
import android.app.PendingIntent;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Environment;
|
||||||
|
import android.support.v4.app.NotificationCompat;
|
||||||
|
|
||||||
|
import org.fox.ttrss.OnlineActivity;
|
||||||
|
import org.fox.ttrss.R;
|
||||||
|
import org.fox.ttrss.offline.OfflineDownloadService;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -10,20 +27,6 @@ import java.security.MessageDigest;
|
|||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import org.fox.ttrss.OnlineActivity;
|
|
||||||
import org.fox.ttrss.R;
|
|
||||||
import org.fox.ttrss.offline.OfflineDownloadService;
|
|
||||||
|
|
||||||
import android.app.ActivityManager;
|
|
||||||
import android.app.ActivityManager.RunningServiceInfo;
|
|
||||||
import android.app.IntentService;
|
|
||||||
import android.app.Notification;
|
|
||||||
import android.app.NotificationManager;
|
|
||||||
import android.app.PendingIntent;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Environment;
|
|
||||||
|
|
||||||
public class ImageCacheService extends IntentService {
|
public class ImageCacheService extends IntentService {
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@ -127,19 +130,32 @@ public class ImageCacheService extends IntentService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private void updateNotification(String msg) {
|
private void updateNotification(String msg, int progress, int max, boolean showProgress) {
|
||||||
Notification notification = new Notification(R.drawable.ic_launcher,
|
|
||||||
getString(R.string.notify_downloading_title), System.currentTimeMillis());
|
|
||||||
|
|
||||||
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
|
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
|
||||||
new Intent(this, OnlineActivity.class), 0);
|
new Intent(this, OnlineActivity.class), 0);
|
||||||
|
|
||||||
notification.flags |= Notification.FLAG_ONGOING_EVENT;
|
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext())
|
||||||
notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE;
|
.setContentText(msg)
|
||||||
|
.setContentTitle(getString(R.string.notify_downloading_title))
|
||||||
|
.setContentIntent(contentIntent)
|
||||||
|
.setWhen(System.currentTimeMillis())
|
||||||
|
.setSmallIcon(R.drawable.ic_cloud_download)
|
||||||
|
.setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(),
|
||||||
|
R.drawable.ic_launcher))
|
||||||
|
.setOngoing(true)
|
||||||
|
.setOnlyAlertOnce(true);
|
||||||
|
|
||||||
notification.setLatestEventInfo(this, getString(R.string.notify_downloading_title), msg, contentIntent);
|
if (showProgress) builder.setProgress(max, progress, max == 0);
|
||||||
|
|
||||||
m_nmgr.notify(NOTIFY_DOWNLOADING, notification);
|
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_DOWNLOADING, builder.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* private void updateNotification(int msgResId) {
|
/* private void updateNotification(int msgResId) {
|
||||||
@ -185,7 +201,7 @@ public class ImageCacheService extends IntentService {
|
|||||||
|
|
||||||
m_imagesDownloaded++;
|
m_imagesDownloaded++;
|
||||||
|
|
||||||
updateNotification(getString(R.string.notify_downloading_images, m_imagesDownloaded));
|
updateNotification(getString(R.string.notify_downloading_images, m_imagesDownloaded), 0, 0, true);
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user