Merge "Show force stop button if package is not fully stopped."

This commit is contained in:
Dianne Hackborn
2011-03-02 10:18:32 -08:00
committed by Android (Google) Code Review

View File

@@ -742,19 +742,29 @@ public class InstalledAppDetails extends Fragment
private final BroadcastReceiver mCheckKillProcessesReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
mForceStopButton.setEnabled(getResultCode() != Activity.RESULT_CANCELED);
mForceStopButton.setOnClickListener(InstalledAppDetails.this);
updateForceStopButton(getResultCode() != Activity.RESULT_CANCELED);
}
};
private void updateForceStopButton(boolean enabled) {
mForceStopButton.setEnabled(enabled);
mForceStopButton.setOnClickListener(InstalledAppDetails.this);
}
private void checkForceStop() {
Intent intent = new Intent(Intent.ACTION_QUERY_PACKAGE_RESTART,
Uri.fromParts("package", mAppEntry.info.packageName, null));
intent.putExtra(Intent.EXTRA_PACKAGES, new String[] { mAppEntry.info.packageName });
intent.putExtra(Intent.EXTRA_UID, mAppEntry.info.uid);
if ((mAppEntry.info.flags&ApplicationInfo.FLAG_STOPPED) == 0) {
// If the app isn't explicitly stopped, then always show the
// force stop button.
updateForceStopButton(true);
} else {
getActivity().sendOrderedBroadcast(intent, null, mCheckKillProcessesReceiver, null,
Activity.RESULT_CANCELED, null, null);
}
}
static class DisableChanger extends AsyncTask<Object, Object, Object> {
final PackageManager mPm;