From ccb4dda8b1525c90323fa9dd7b96b9eeb78b7082 Mon Sep 17 00:00:00 2001 From: Suchi Amalapurapu Date: Wed, 18 Nov 2009 13:22:56 -0800 Subject: Fix for 2268060, 2251223 if conditional initializing package label. Also load the label from the new pkg for existing packages Use installer's metrics and configuration info when creating resources for new package --- src/com/android/packageinstaller/InstallAppProgress.java | 8 ++------ src/com/android/packageinstaller/PackageUtil.java | 12 +++++------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java index 43de6ded..1ecc1f1e 100755 --- a/src/com/android/packageinstaller/InstallAppProgress.java +++ b/src/com/android/packageinstaller/InstallAppProgress.java @@ -144,13 +144,9 @@ public class InstallAppProgress extends Activity implements View.OnClickListener } if((installFlags & PackageManager.INSTALL_REPLACE_EXISTING )!= 0) { Log.w(TAG, "Replacing package:" + mAppInfo.packageName); - // Initialize views - PackageUtil.initSnippetForInstalledApp(this, mAppInfo, - R.id.app_snippet); - } else { - PackageUtil.initSnippetForNewApp(this, mAppInfo, - R.id.app_snippet, mPackageURI); } + PackageUtil.initSnippetForNewApp(this, mAppInfo, + R.id.app_snippet, mPackageURI); mStatusTextView = (TextView)findViewById(R.id.center_text); mStatusTextView.setText(R.string.installing); mProgressBar = (ProgressBar) findViewById(R.id.progress_bar); diff --git a/src/com/android/packageinstaller/PackageUtil.java b/src/com/android/packageinstaller/PackageUtil.java index 1e80204c..5b31062c 100644 --- a/src/com/android/packageinstaller/PackageUtil.java +++ b/src/com/android/packageinstaller/PackageUtil.java @@ -115,11 +115,10 @@ public class PackageUtil { int snippetId, Uri packageURI) { View appSnippet = pContext.findViewById(snippetId); final String archiveFilePath = packageURI.getPath(); - DisplayMetrics metrics = new DisplayMetrics(); - metrics.setToDefaults(); + Resources pRes = pContext.getResources(); AssetManager assmgr = new AssetManager(); assmgr.addAssetPath(archiveFilePath); - Resources res = new Resources(assmgr, metrics, null); + Resources res = new Resources(assmgr, pRes.getDisplayMetrics(), pRes.getConfiguration()); CharSequence label = null; // Try to load the label from the package's resources. If an app has not explicitly // specified any label, just use the package name. @@ -129,10 +128,9 @@ public class PackageUtil { } catch (Resources.NotFoundException e) { } } - if ((label == null) && (appInfo.nonLocalizedLabel != null)) { - label = appInfo.nonLocalizedLabel; - } else { - label = appInfo.packageName; + if (label == null) { + label = (appInfo.nonLocalizedLabel != null) ? + appInfo.nonLocalizedLabel : appInfo.packageName; } Drawable icon = null; // Try to load the icon from the package's resources. If an app has not explicitly -- cgit v1.2.3