From 44178e2801c013e60defb4b5f390d893e7344a71 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Mon, 13 Sep 2010 18:47:37 -0700 Subject: Supercalifragilisticexpialidocious. Change-Id: Ifaece97c80b859cb455eab56230e076eca916f4a --- .../settings/applications/InstalledAppDetails.java | 49 ++++++++++++---------- .../settings/applications/ManageApplications.java | 6 ++- 2 files changed, 31 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index 8765dfb..af03549 100644 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -69,6 +69,7 @@ import android.widget.TextView; public class InstalledAppDetails extends Activity implements View.OnClickListener, ApplicationsState.Callbacks { private static final String TAG="InstalledAppDetails"; + static final boolean SUPPORT_DISABLE_APPS = false; private PackageManager mPm; private ApplicationsState mState; @@ -259,30 +260,32 @@ public class InstalledAppDetails extends Activity } else { if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { enabled = false; - try { - // Try to prevent the user from bricking their phone - // by not allowing disabling of apps signed with the - // system cert and any launcher app in the system. - PackageInfo sys = mPm.getPackageInfo("android", - PackageManager.GET_SIGNATURES); - Intent intent = new Intent(Intent.ACTION_MAIN); - intent.addCategory(Intent.CATEGORY_HOME); - intent.setPackage(mAppEntry.info.packageName); - List homes = mPm.queryIntentActivities(intent, 0); - if ((homes != null && homes.size() > 0) || - (mPackageInfo != null && - sys.signatures[0].equals(mPackageInfo.signatures[0]))) { - // Disable button for core system applications. - mUninstallButton.setText(R.string.disable_text); - } else if (mAppEntry.info.enabled) { - mUninstallButton.setText(R.string.disable_text); - enabled = true; - } else { - mUninstallButton.setText(R.string.enable_text); - enabled = true; + if (SUPPORT_DISABLE_APPS) { + try { + // Try to prevent the user from bricking their phone + // by not allowing disabling of apps signed with the + // system cert and any launcher app in the system. + PackageInfo sys = mPm.getPackageInfo("android", + PackageManager.GET_SIGNATURES); + Intent intent = new Intent(Intent.ACTION_MAIN); + intent.addCategory(Intent.CATEGORY_HOME); + intent.setPackage(mAppEntry.info.packageName); + List homes = mPm.queryIntentActivities(intent, 0); + if ((homes != null && homes.size() > 0) || + (mPackageInfo != null && + sys.signatures[0].equals(mPackageInfo.signatures[0]))) { + // Disable button for core system applications. + mUninstallButton.setText(R.string.disable_text); + } else if (mAppEntry.info.enabled) { + mUninstallButton.setText(R.string.disable_text); + enabled = true; + } else { + mUninstallButton.setText(R.string.enable_text); + enabled = true; + } + } catch (PackageManager.NameNotFoundException e) { + Log.w(TAG, "Unable to get package info", e); } - } catch (PackageManager.NameNotFoundException e) { - Log.w(TAG, "Unable to get package info", e); } } else { mUninstallButton.setText(R.string.uninstall_text); diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index 772e48d..34e0e8e 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -354,7 +354,11 @@ public class ManageApplications extends TabActivity implements holder.appIcon.setImageDrawable(entry.icon); } holder.updateSizeText(ManageApplications.this); - holder.disabled.setVisibility(entry.info.enabled ? View.GONE : View.VISIBLE); + if (InstalledAppDetails.SUPPORT_DISABLE_APPS) { + holder.disabled.setVisibility(entry.info.enabled ? View.GONE : View.VISIBLE); + } else { + holder.disabled.setVisibility(View.GONE); + } } mActive.remove(convertView); mActive.add(convertView); -- cgit v1.1