Fix android:allowClearUserData.

Now respect this flag for system apps.

Change-Id: I496b0051a4998cb41b8c07fd0eb85e253de1eb97
This commit is contained in:
Dianne Hackborn
2010-09-30 18:49:18 -07:00
parent 2d6c0b0d77
commit 2f144fc07d

View File

@@ -71,6 +71,7 @@ public class InstalledAppDetails extends Activity
implements View.OnClickListener, ApplicationsState.Callbacks {
private static final String TAG="InstalledAppDetails";
static final boolean SUPPORT_DISABLE_APPS = false;
private static final boolean localLOGV = false;
private PackageManager mPm;
private ApplicationsState mState;
@@ -80,7 +81,7 @@ public class InstalledAppDetails extends Activity
private boolean mMoveInProgress = false;
private boolean mUpdatedSysApp = false;
private Button mActivitiesButton;
private boolean localLOGV = false;
private boolean mCanClearData = true;
private TextView mAppVersion;
private TextView mTotalSize;
private TextView mAppSize;
@@ -182,6 +183,13 @@ public class InstalledAppDetails extends Activity
}
private void initDataButtons() {
if ((mAppEntry.info.flags&(ApplicationInfo.FLAG_SYSTEM
| ApplicationInfo.FLAG_ALLOW_CLEAR_USER_DATA))
== ApplicationInfo.FLAG_SYSTEM) {
mClearDataButton.setText(R.string.clear_user_data_text);
mClearDataButton.setEnabled(false);
mCanClearData = false;
} else {
if (mAppEntry.info.manageSpaceActivityName != null) {
mClearDataButton.setText(R.string.manage_space_text);
} else {
@@ -189,6 +197,7 @@ public class InstalledAppDetails extends Activity
}
mClearDataButton.setOnClickListener(this);
}
}
private CharSequence getMoveErrMsg(int errCode) {
switch (errCode) {
@@ -505,7 +514,7 @@ public class InstalledAppDetails extends Activity
mTotalSize.setText(getSizeStr(mAppEntry.size));
}
if (mAppEntry.dataSize <= 0) {
if (mAppEntry.dataSize <= 0 || !mCanClearData) {
mClearDataButton.setEnabled(false);
} else {
mClearDataButton.setEnabled(true);