| Index: src/org/adblockplus/android/Utils.java |
| =================================================================== |
| --- a/src/org/adblockplus/android/Utils.java |
| +++ b/src/org/adblockplus/android/Utils.java |
| @@ -23,13 +23,17 @@ |
| import org.apache.commons.lang.StringUtils; |
| import android.app.Notification; |
| +import android.app.NotificationManager; |
| import android.app.PendingIntent; |
| import android.content.Context; |
| import android.content.Intent; |
| import android.support.v4.app.NotificationCompat; |
| +import android.util.Log; |
| public final class Utils |
| { |
| + private static final int UPDATE_NOTIFICATION_ID = R.string.app_name + 1; |
|
René Jeschke
2014/09/26 10:24:05
I'm not happy with having the ID here. This is a u
Felix Dahlke
2014/09/26 11:20:24
It's a local constant - why make it a global one i
René Jeschke
2014/09/26 11:31:50
Well, then you have to move it into the method its
Felix Dahlke
2014/09/26 11:39:05
Yeah, I was pondering that, but a local final inst
René Jeschke
2014/09/26 11:59:17
Would make more sense than declaring it class-wide
Felix Dahlke
2014/09/26 13:05:13
Alright, made it a local constant. I disagree abou
René Jeschke
2014/09/26 13:10:52
Righty right, thanks.
|
| + |
| private Utils() |
| { |
| // |
| @@ -52,41 +56,43 @@ |
| return Character.isUpperCase(first) ? s : Character.toUpperCase(first) + s.substring(1); |
| } |
| - protected static Notification createUpdateNotification(final Context context, final String url, final String error) |
| + protected static void showUpdateNotification(final Context context, final String url, |
| + final String error) |
| { |
| - final PendingIntent emptyIntent = PendingIntent.getActivity(context, 0, new Intent(), 0); |
| - |
| final NotificationCompat.Builder builder = new NotificationCompat.Builder(context); |
| builder.setContentTitle(context.getText(R.string.app_name)); |
| builder.setSmallIcon(R.drawable.ic_stat_warning); |
| - builder.setWhen(System.currentTimeMillis()); |
| builder.setAutoCancel(true); |
| builder.setOnlyAlertOnce(true); |
| + final PendingIntent emptyIntent = PendingIntent.getActivity(context, 0, new Intent(), 0); |
| builder.setContentIntent(emptyIntent); |
| - if (url != null) |
| + if (StringUtils.isNotEmpty(error)) |
| + { |
| + Log.e(getTag(Utils.class), "Failed to check for updates: " + error); |
|
René Jeschke
2014/09/26 10:24:05
1. Please define this as a static variable as this
Felix Dahlke
2014/09/26 11:20:24
How else would we debug this in practice? The alte
René Jeschke
2014/09/26 11:31:50
Point is: the tag does not match the functionality
Felix Dahlke
2014/09/26 11:39:05
I would really like to be able to debug network pr
René Jeschke
2014/09/26 11:59:17
Yes, that would make more sense IMO. And I will ne
Felix Dahlke
2014/09/26 13:05:13
Done.
|
| + builder.setContentText(context.getString(R.string.msg_update_fail)); |
| + } |
| + else if (StringUtils.isNotEmpty(url)) |
| { |
| builder.setSmallIcon(R.drawable.ic_stat_download); |
| - |
| - final Intent intent = new Intent(context, UpdaterActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| + final Intent intent = new Intent(context, UpdaterActivity.class) |
| + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| intent.setAction("download"); |
| intent.putExtra("url", url); |
| - final PendingIntent updateIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); |
| + final PendingIntent updateIntent = |
| + PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); |
| builder.setContentIntent(updateIntent); |
| builder.setContentText(context.getString(R.string.msg_update_available)); |
| } |
| - else if (error != null) |
| - { |
| - // TODO Should we show error message to the user? |
| - builder.setContentText(context.getString(R.string.msg_update_fail)); |
| - } |
| else |
| { |
| builder.setContentText(context.getString(R.string.msg_update_missing)); |
| } |
| final Notification notification = builder.getNotification(); |
| - return notification; |
| + final NotificationManager notificationManager = |
| + (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); |
| + notificationManager.notify(UPDATE_NOTIFICATION_ID, notification); |
| } |
| protected static void updateSubscriptionStatus(final Context context, final Subscription sub) |