From ff3e61c6d5de339300d26227b69bfd9ee0827103 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Thu, 11 Mar 2010 15:30:02 -0800 Subject: [PATCH] Support old/new package names for widgets. Change-Id: I134c4e694e66aaea47ad7da83d37b6621f4a527a --- services/java/com/android/server/AppWidgetService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/services/java/com/android/server/AppWidgetService.java b/services/java/com/android/server/AppWidgetService.java index 5de68f9e35990..73502137886bb 100644 --- a/services/java/com/android/server/AppWidgetService.java +++ b/services/java/com/android/server/AppWidgetService.java @@ -935,6 +935,16 @@ class AppWidgetService extends IAppWidgetService.Stub // as before? String pkg = parser.getAttributeValue(null, "pkg"); String cl = parser.getAttributeValue(null, "cl"); + + final PackageManager packageManager = mContext.getPackageManager(); + try { + packageManager.getReceiverInfo(new ComponentName(pkg, cl), 0); + } catch (PackageManager.NameNotFoundException e) { + String[] pkgs = packageManager.currentToCanonicalPackageNames( + new String[] { pkg }); + pkg = pkgs[0]; + } + Provider p = lookupProviderLocked(new ComponentName(pkg, cl)); if (p == null && mSafeMode) { // if we're in safe mode, make a temporary one