Chromium Code Reviews| 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; |