diff options
Diffstat (limited to 'src/com/android')
-rwxr-xr-x | src/com/android/packageinstaller/InstallAppProgress.java | 28 | ||||
-rw-r--r-- | src/com/android/packageinstaller/PackageUtil.java | 22 |
2 files changed, 32 insertions, 18 deletions
diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java index c5a3c5b..0bd3802 100755 --- a/src/com/android/packageinstaller/InstallAppProgress.java +++ b/src/com/android/packageinstaller/InstallAppProgress.java @@ -123,18 +123,6 @@ public class InstallAppProgress extends Activity implements View.OnClickListener public void initView() { requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.op_progress); - // Initialize views - PackageUtil.initSnippetForInstalledApp(this, mAppInfo, R.id.app_snippet); - mStatusTextView = (TextView)findViewById(R.id.center_text); - mStatusTextView.setText(R.string.installing); - mProgressBar = (ProgressBar) findViewById(R.id.progress_bar); - mProgressBar.setIndeterminate(true); - // Hide button till progress is being displayed - mOkPanel = (View)findViewById(R.id.buttons_panel); - mDoneButton = (Button)findViewById(R.id.done_button); - mLaunchButton = (Button)findViewById(R.id.launch_button); - mOkPanel.setVisibility(View.INVISIBLE); - // Set flag to replace package if already existing int installFlags = 0; PackageManager pm = getPackageManager(); try { @@ -147,7 +135,23 @@ 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); } + mStatusTextView = (TextView)findViewById(R.id.center_text); + mStatusTextView.setText(R.string.installing); + mProgressBar = (ProgressBar) findViewById(R.id.progress_bar); + mProgressBar.setIndeterminate(true); + // Hide button till progress is being displayed + mOkPanel = (View)findViewById(R.id.buttons_panel); + mDoneButton = (Button)findViewById(R.id.done_button); + mLaunchButton = (Button)findViewById(R.id.launch_button); + mOkPanel.setVisibility(View.INVISIBLE); + String installerPackageName = getIntent().getStringExtra( Intent.EXTRA_INSTALLER_PACKAGE_NAME); diff --git a/src/com/android/packageinstaller/PackageUtil.java b/src/com/android/packageinstaller/PackageUtil.java index 362c963..1e80204 100644 --- a/src/com/android/packageinstaller/PackageUtil.java +++ b/src/com/android/packageinstaller/PackageUtil.java @@ -123,17 +123,27 @@ public class PackageUtil { 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. - try { - label = res.getText(appInfo.labelRes); - } catch (Resources.NotFoundException e) { + if (appInfo.labelRes != 0) { + try { + label = res.getText(appInfo.labelRes); + } catch (Resources.NotFoundException e) { + } + } + if ((label == null) && (appInfo.nonLocalizedLabel != null)) { + label = appInfo.nonLocalizedLabel; + } else { label = appInfo.packageName; } Drawable icon = null; // Try to load the icon from the package's resources. If an app has not explicitly // specified any resource, just use the default icon for now. - try { - icon = res.getDrawable(appInfo.icon); - } catch (Resources.NotFoundException e) { + if (appInfo.icon != 0) { + try { + icon = res.getDrawable(appInfo.icon); + } catch (Resources.NotFoundException e) { + } + } + if (icon == null) { icon = pContext.getPackageManager().getDefaultActivityIcon(); } ((ImageView)appSnippet.findViewById(R.id.app_icon)).setImageDrawable(icon); |