summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/AppWidgetService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/AppWidgetService.java')
-rw-r--r--services/java/com/android/server/AppWidgetService.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/services/java/com/android/server/AppWidgetService.java b/services/java/com/android/server/AppWidgetService.java
index 7350213..24526af 100644
--- a/services/java/com/android/server/AppWidgetService.java
+++ b/services/java/com/android/server/AppWidgetService.java
@@ -524,10 +524,11 @@ class AppWidgetService extends IAppWidgetService.Stub
}
Provider lookupProviderLocked(ComponentName provider) {
+ final String className = provider.getClassName();
final int N = mInstalledProviders.size();
for (int i=0; i<N; i++) {
Provider p = mInstalledProviders.get(i);
- if (p.info.provider.equals(provider)) {
+ if (p.info.provider.equals(provider) || className.equals(p.info.oldName)) {
return p;
}
}
@@ -706,6 +707,10 @@ class AppWidgetService extends IAppWidgetService.Stub
p = new Provider();
AppWidgetProviderInfo info = p.info = new AppWidgetProviderInfo();
+ // If metaData was null, we would have returned earlier when getting
+ // the parser No need to do the check here
+ info.oldName = activityInfo.metaData.getString(
+ AppWidgetManager.META_DATA_APPWIDGET_OLD_NAME);
info.provider = component;
p.uid = activityInfo.applicationInfo.uid;