Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77da7312 authored by Joe Onorato's avatar Joe Onorato Committed by Android Git Automerger
Browse files

am f140be6c: Call into app widget hosts when the provider is updated.

Merge commit 'f140be6c' into froyo-plus-aosp

* commit 'f140be6c':
  Call into app widget hosts when the provider is updated.
parents 6de3a6fd f140be6c
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -231,8 +231,14 @@ public class AppWidgetHost {
    /**
     * Called when the AppWidget provider for a AppWidget has been upgraded to a new apk.
     */
    @SuppressWarnings({"UnusedDeclaration"})
    protected void onProviderChanged(int appWidgetId, AppWidgetProviderInfo appWidget) {
        AppWidgetHostView v;
        synchronized (mViews) {
            v = mViews.get(appWidgetId);
        }
        if (v != null) {
            v.updateAppWidget(null, AppWidgetHostView.UPDATE_FLAGS_RESET);
        }
    }

    void updateAppWidgetView(int appWidgetId, RemoteViews views) {
@@ -241,7 +247,7 @@ public class AppWidgetHost {
            v = mViews.get(appWidgetId);
        }
        if (v != null) {
            v.updateAppWidget(views);
            v.updateAppWidget(views, 0);
        }
    }
}
+15 −1
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ public class AppWidgetHostView extends FrameLayout {
    static final boolean LOGD = false;
    static final boolean CROSSFADE = false;

    static final int UPDATE_FLAGS_RESET = 0x00000001;

    static final int VIEW_MODE_NOINIT = 0;
    static final int VIEW_MODE_CONTENT = 1;
    static final int VIEW_MODE_ERROR = 2;
@@ -150,7 +152,16 @@ public class AppWidgetHostView extends FrameLayout {
     * AppWidget provider. Will animate into these new views as needed
     */
    public void updateAppWidget(RemoteViews remoteViews) {
        if (LOGD) Log.d(TAG, "updateAppWidget called mOld=" + mOld);
        updateAppWidget(remoteViews, 0);
    }

    void updateAppWidget(RemoteViews remoteViews, int flags) {
        if (LOGD) Log.d(TAG, "updateAppWidget called mOld=" + mOld + " flags=0x"
                + Integer.toHexString(flags));

        if ((flags & UPDATE_FLAGS_RESET) != 0) {
            mViewMode = VIEW_MODE_NOINIT;
        }
        
        boolean recycled = false;
        View content = null;
@@ -323,6 +334,9 @@ public class AppWidgetHostView extends FrameLayout {
     * Inflate and return the default layout requested by AppWidget provider.
     */
    protected View getDefaultView() {
        if (LOGD) {
            Log.d(TAG, "getDefaultView");
        }
        View defaultView = null;
        Exception exception = null;