am 801b63d3: am 51e895f0: Merge "Need to give the AppWidgetHostView the new info about the provider, in case the initialLayout changed." into gingerbread

Merge commit '801b63d3b865054b3015e2cf315ca7c9386d1212'

* commit '801b63d3b865054b3015e2cf315ca7c9386d1212':
  Need to give the AppWidgetHostView the new info about the provider, in case the initialLayout
This commit is contained in:
Joe Onorato
2010-06-23 17:50:42 -07:00
committed by Android Git Automerger
4 changed files with 41 additions and 15 deletions

View File

@@ -237,7 +237,7 @@ public class AppWidgetHost {
v = mViews.get(appWidgetId);
}
if (v != null) {
v.updateAppWidget(null, AppWidgetHostView.UPDATE_FLAGS_RESET);
v.resetAppWidget(appWidget);
}
}
@@ -247,7 +247,7 @@ public class AppWidgetHost {
v = mViews.get(appWidgetId);
}
if (v != null) {
v.updateAppWidget(views, 0);
v.updateAppWidget(views);
}
}
}

View File

@@ -46,8 +46,6 @@ 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;
@@ -102,7 +100,7 @@ public class AppWidgetHostView extends FrameLayout {
mAppWidgetId = appWidgetId;
mInfo = info;
}
public int getAppWidgetId() {
return mAppWidgetId;
}
@@ -147,22 +145,23 @@ public class AppWidgetHostView extends FrameLayout {
return new FrameLayout.LayoutParams(context, attrs);
}
/**
* Update the AppWidgetProviderInfo for this view, and reset it to the
* initial layout.
*/
void resetAppWidget(AppWidgetProviderInfo info) {
mInfo = info;
mViewMode = VIEW_MODE_NOINIT;
updateAppWidget(null);
}
/**
* Process a set of {@link RemoteViews} coming in as an update from the
* AppWidget provider. Will animate into these new views as needed
*/
public void updateAppWidget(RemoteViews remoteViews) {
updateAppWidget(remoteViews, 0);
}
if (LOGD) Log.d(TAG, "updateAppWidget called mOld=" + mOld);
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;
Exception exception = null;