From a0ee49710369c26506deff779e04456a2ba489e2 Mon Sep 17 00:00:00 2001 From: Michael W Date: Tue, 7 Jun 2016 21:05:00 +0200 Subject: Gallery: Remove more possible NPEs getCache can return null -> check this before proceeding Change-Id: I834780a4dafbe22f2d345fe5571cb20f3f3e5e2e --- src/com/android/gallery3d/app/MoviePlayer.java | 1 + src/com/android/gallery3d/data/ImageCacheService.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/com/android/gallery3d/app/MoviePlayer.java b/src/com/android/gallery3d/app/MoviePlayer.java index 2ef7c2e85..e0ee2ade6 100755 --- a/src/com/android/gallery3d/app/MoviePlayer.java +++ b/src/com/android/gallery3d/app/MoviePlayer.java @@ -1658,6 +1658,7 @@ class Bookmarker { BlobCache cache = CacheManager.getCache(mContext, BOOKMARK_CACHE_FILE, BOOKMARK_CACHE_MAX_ENTRIES, BOOKMARK_CACHE_MAX_BYTES, BOOKMARK_CACHE_VERSION); + if (cache == null) return null; byte[] data = cache.lookup(uri.hashCode()); if (data == null) return null; diff --git a/src/com/android/gallery3d/data/ImageCacheService.java b/src/com/android/gallery3d/data/ImageCacheService.java index 1c7cb8c5e..9d3a6251c 100644 --- a/src/com/android/gallery3d/data/ImageCacheService.java +++ b/src/com/android/gallery3d/data/ImageCacheService.java @@ -56,6 +56,8 @@ public class ImageCacheService { * @return true if the image data is found; false if not found. */ public boolean getImageData(Path path, long timeModified, int type, BytesBuffer buffer) { + if (mCache == null) return false; + byte[] key = makeKey(path, timeModified, type); long cacheKey = Utils.crc64Long(key); try { @@ -78,6 +80,8 @@ public class ImageCacheService { } public void putImageData(Path path, long timeModified, int type, byte[] value) { + if (mCache == null) return; + byte[] key = makeKey(path, timeModified, type); long cacheKey = Utils.crc64Long(key); ByteBuffer buffer = ByteBuffer.allocate(key.length + value.length); @@ -93,6 +97,8 @@ public class ImageCacheService { } public void clearImageData(Path path, long timeModified, int type) { + if (mCache == null) return; + byte[] key = makeKey(path, timeModified, type); long cacheKey = Utils.crc64Long(key); synchronized (mCache) { -- cgit v1.2.3