Loading services/java/com/android/server/AppWidgetServiceImpl.java +24 −0 Original line number Diff line number Diff line Loading @@ -336,6 +336,7 @@ class AppWidgetServiceImpl { pw.print(info.autoAdvanceViewId); pw.print(" initialLayout=#"); pw.print(Integer.toHexString(info.initialLayout)); pw.print(" uid="); pw.print(p.uid); pw.print(" zombie="); pw.println(p.zombie); } Loading Loading @@ -699,6 +700,10 @@ class AppWidgetServiceImpl { } int userId = UserHandle.getUserId(id.provider.uid); if (userId != mUserId) { Slog.w(TAG, "AppWidgetServiceImpl of user " + mUserId + " binding to provider on user " + userId); } // Bind to the RemoteViewsService (which will trigger a callback to the // RemoteViewsAdapter.onServiceConnected()) final long token = Binder.clearCallingIdentity(); Loading Loading @@ -966,6 +971,13 @@ class AppWidgetServiceImpl { ensureStateLoadedLocked(); for (int i = 0; i < N; i++) { AppWidgetId id = lookupAppWidgetIdLocked(appWidgetIds[i]); if (id == null) { String message = "AppWidgetId NPE: mUserId=" + mUserId + ", callingUid=" + Binder.getCallingUid() + ", appWidgetIds[i]=" + appWidgetIds[i] + "\n mAppWidgets:\n" + getUserWidgets(); throw new NullPointerException(message); } if (id.views != null) { // Only trigger a partial update for a widget if it has received a full update updateAppWidgetInstanceLocked(id, views, true); Loading @@ -974,6 +986,18 @@ class AppWidgetServiceImpl { } } private String getUserWidgets() { StringBuffer sb = new StringBuffer(); for (AppWidgetId widget: mAppWidgetIds) { sb.append(" id="); sb.append(widget.appWidgetId); sb.append(", hostUid="); sb.append(widget.host.uid); sb.append(", provider="); sb.append(widget.provider.info.provider.toString()); sb.append("\n"); } sb.append("\n"); return sb.toString(); } public void notifyAppWidgetViewDataChanged(int[] appWidgetIds, int viewId) { if (appWidgetIds == null) { return; Loading Loading
services/java/com/android/server/AppWidgetServiceImpl.java +24 −0 Original line number Diff line number Diff line Loading @@ -336,6 +336,7 @@ class AppWidgetServiceImpl { pw.print(info.autoAdvanceViewId); pw.print(" initialLayout=#"); pw.print(Integer.toHexString(info.initialLayout)); pw.print(" uid="); pw.print(p.uid); pw.print(" zombie="); pw.println(p.zombie); } Loading Loading @@ -699,6 +700,10 @@ class AppWidgetServiceImpl { } int userId = UserHandle.getUserId(id.provider.uid); if (userId != mUserId) { Slog.w(TAG, "AppWidgetServiceImpl of user " + mUserId + " binding to provider on user " + userId); } // Bind to the RemoteViewsService (which will trigger a callback to the // RemoteViewsAdapter.onServiceConnected()) final long token = Binder.clearCallingIdentity(); Loading Loading @@ -966,6 +971,13 @@ class AppWidgetServiceImpl { ensureStateLoadedLocked(); for (int i = 0; i < N; i++) { AppWidgetId id = lookupAppWidgetIdLocked(appWidgetIds[i]); if (id == null) { String message = "AppWidgetId NPE: mUserId=" + mUserId + ", callingUid=" + Binder.getCallingUid() + ", appWidgetIds[i]=" + appWidgetIds[i] + "\n mAppWidgets:\n" + getUserWidgets(); throw new NullPointerException(message); } if (id.views != null) { // Only trigger a partial update for a widget if it has received a full update updateAppWidgetInstanceLocked(id, views, true); Loading @@ -974,6 +986,18 @@ class AppWidgetServiceImpl { } } private String getUserWidgets() { StringBuffer sb = new StringBuffer(); for (AppWidgetId widget: mAppWidgetIds) { sb.append(" id="); sb.append(widget.appWidgetId); sb.append(", hostUid="); sb.append(widget.host.uid); sb.append(", provider="); sb.append(widget.provider.info.provider.toString()); sb.append("\n"); } sb.append("\n"); return sb.toString(); } public void notifyAppWidgetViewDataChanged(int[] appWidgetIds, int viewId) { if (appWidgetIds == null) { return; Loading