Merge "Letting partial update fall through if the widget has not received a full update yet. (Bug 7214731)" into jb-mr1-dev
This commit is contained in:
@@ -448,6 +448,10 @@ public class AppWidgetManager {
|
||||
* and outside of the handler.
|
||||
* This method will only work when called from the uid that owns the AppWidget provider.
|
||||
*
|
||||
* <p>
|
||||
* This method will be ignored if a widget has not received a full update via
|
||||
* {@link #updateAppWidget(int[], RemoteViews)}.
|
||||
*
|
||||
* @param appWidgetIds The AppWidget instances for which to set the RemoteViews.
|
||||
* @param views The RemoteViews object containing the incremental update / command.
|
||||
*/
|
||||
@@ -476,6 +480,10 @@ public class AppWidgetManager {
|
||||
* and outside of the handler.
|
||||
* This method will only work when called from the uid that owns the AppWidget provider.
|
||||
*
|
||||
* <p>
|
||||
* This method will be ignored if a widget has not received a full update via
|
||||
* {@link #updateAppWidget(int[], RemoteViews)}.
|
||||
*
|
||||
* @param appWidgetId The AppWidget instance for which to set the RemoteViews.
|
||||
* @param views The RemoteViews object containing the incremental update / command.
|
||||
*/
|
||||
|
||||
@@ -943,7 +943,10 @@ class AppWidgetServiceImpl {
|
||||
ensureStateLoadedLocked();
|
||||
for (int i = 0; i < N; i++) {
|
||||
AppWidgetId id = lookupAppWidgetIdLocked(appWidgetIds[i]);
|
||||
updateAppWidgetInstanceLocked(id, views, true);
|
||||
if (id.views != null) {
|
||||
// Only trigger a partial update for a widget if it has received a full update
|
||||
updateAppWidgetInstanceLocked(id, views, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -996,7 +999,7 @@ class AppWidgetServiceImpl {
|
||||
// drop unbound appWidgetIds (shouldn't be possible under normal circumstances)
|
||||
if (id != null && id.provider != null && !id.provider.zombie && !id.host.zombie) {
|
||||
|
||||
if (!isPartialUpdate || id.views == null) {
|
||||
if (!isPartialUpdate) {
|
||||
// For a full update we replace the RemoteViews completely.
|
||||
id.views = views;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user