From 2a6dcb63bbf678a972e66fefb0e0188926d2942f Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Tue, 25 Apr 2017 14:27:17 +1000 Subject: [PATCH] Check for `null` in `App#iconUrl`. Although I'm unsure of exactly why this is `null`, it seems sensible that there is a possibility of null icons (e.g. for .zip files or other media). As such, this just adds a guard condition to ensure that the `iconUrl` is not null. Fixes #981. --- app/src/main/java/org/fdroid/fdroid/FDroidApp.java | 3 +-- app/src/main/java/org/fdroid/fdroid/NotificationHelper.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java index 826d09122..078bd7ce8 100644 --- a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java +++ b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java @@ -279,8 +279,7 @@ public class FDroidApp extends Application { new FileNameGenerator() { @Override public String generate(String imageUri) { - return imageUri.substring( - imageUri.lastIndexOf('/') + 1); + return imageUri.substring(imageUri.lastIndexOf('/') + 1); } }, // 30 days in secs: 30*24*60*60 = 2592000 diff --git a/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java b/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java index 6737c49cc..16c869b1e 100644 --- a/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java @@ -531,7 +531,7 @@ class NotificationHelper { // Need to check that the notification is still valid, and also that the image // is indeed cached now, so we won't get stuck in an endless loop. AppUpdateStatusManager.AppUpdateStatus oldEntry = appUpdateStatusManager.get(entry.getUniqueKey()); - if (oldEntry != null && DiskCacheUtils.findInCache(oldEntry.app.iconUrl, ImageLoader.getInstance().getDiskCache()) != null) { + if (oldEntry != null && oldEntry.app != null && oldEntry.app.iconUrl != null && DiskCacheUtils.findInCache(oldEntry.app.iconUrl, ImageLoader.getInstance().getDiskCache()) != null) { createNotification(oldEntry); // Update with new image! } }