Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java

Issue 1310223002: webapps: initial addition of splash screen icon downloading (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webapps-database-exp
Patch Set: Add tests and address comment Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java
index 19e5a935d6b721306e3371fbc31881e8009aeb73..47968fa6cab096b696bd522848e1f0edca58a2a6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java
@@ -9,6 +9,7 @@ import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.os.AsyncTask;
+import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.ShortcutHelper;
/**
@@ -23,6 +24,8 @@ public class WebappDataStorage {
static final String KEY_SPLASH_ICON = "splash_icon";
static final String KEY_LAST_USED = "last_used";
+ private static Observer sObserver = new Observer();
+
private final SharedPreferences mPreferences;
/**
@@ -50,6 +53,14 @@ public class WebappDataStorage {
.getLastUsedTime(callback);
}
+ /**
+ * Sets the observer to use.
+ */
+ @VisibleForTesting
+ public static void setObserverForTests(Observer observer) {
+ sObserver = observer;
+ }
+
private WebappDataStorage(Context context, String webappId) {
mPreferences = context.getSharedPreferences(
SHARED_PREFS_FILE_PREFIX + webappId, Context.MODE_PRIVATE);
@@ -70,6 +81,7 @@ public class WebappDataStorage {
* @param splashScreenImage The image which should be shown on the splash screen of the webapp.
*/
public void updateSplashScreenImage(Bitmap splashScreenImage) {
+ sObserver.onUpdateSplashScreenImage(splashScreenImage);
gone 2015/09/01 18:33:51 Why not set sObserver to null and check if it's nu
Lalit Maganti 2015/09/01 19:45:52 That's what I did initially when I wrote this CL b
gone 2015/09/01 20:50:53 Where exactly does AppBanner* code set an empty ob
new UpdateTask(splashScreenImage).execute();
}
@@ -108,6 +120,18 @@ public class WebappDataStorage {
public void onDataRetrieved(T readObject);
}
+ /**
+ * Observer used to check splash screen download in tests.
+ */
gone 2015/09/01 18:33:51 * Don't bother saying it's for tests; it might be
Lalit Maganti 2015/09/01 19:45:52 Done.
+ public static class Observer {
+
+ /**
gone 2015/09/01 18:33:51 nit: indentation is off.
Lalit Maganti 2015/09/01 19:45:52 Done.
+ * Called when a splash screen update is queued.
+ */
+ public void onUpdateSplashScreenImage(Bitmap image) {
+ }
+ }
+
private final class BitmapFetchTask extends AsyncTask<Void, Void, Bitmap> {
private final String mKey;

Powered by Google App Engine
This is Rietveld 408576698