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

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: Rebase on registry patch and add register call Created 5 years, 3 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 2540b8d95acab7e81d64cbd9ee4219b2384f8ea2..cec10d4086f970465b7aab6023134ce576d1acfd 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
@@ -10,6 +10,7 @@ import android.graphics.Bitmap;
import android.os.AsyncTask;
import org.chromium.base.ThreadUtils;
+import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.ShortcutHelper;
/**
@@ -38,6 +39,8 @@ public class WebappDataStorage {
static final String KEY_SPLASH_ICON = "splash_icon";
static final String KEY_LAST_USED = "last_used";
+ private static Observer sObserver = null;
+
private final SharedPreferences mPreferences;
/**
@@ -84,6 +87,14 @@ public class WebappDataStorage {
}.execute();
}
+ /**
+ * Sets the observer to use.
+ */
+ @VisibleForTesting
+ public static void setObserverForTests(Observer observer) {
+ sObserver = observer;
+ }
+
/* Package private for use by WebappRegistry */
WebappDataStorage(Context context, String webappId) {
mPreferences = context.getSharedPreferences(
@@ -105,6 +116,7 @@ public class WebappDataStorage {
* @param splashScreenImage The image which should be shown on the splash screen of the webapp.
*/
public void updateSplashScreenImage(Bitmap splashScreenImage) {
+ if (sObserver != null) sObserver.onUpdateSplashScreenImage(splashScreenImage);
new UpdateTask(splashScreenImage).execute();
}
@@ -126,6 +138,17 @@ public class WebappDataStorage {
public void onDataRetrieved(T readObject);
}
+ /**
+ * Observer used to monitor splash screen downloads.
+ */
+ public static interface Observer {
mlamouri (slow - plz ping) 2015/09/02 16:56:57 You are adding this observer interface just for te
Lalit Maganti 2015/09/02 17:15:42 It was on Dan's suggestion. The other way I can th
+
+ /**
+ * 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