am 19703b13
: Merge "Avoid memory leak in the Shutdown confirmation dialog."
* commit '19703b13a6201812ebcf73904feb700aeb1afb45': Avoid memory leak in the Shutdown confirmation dialog.
This commit is contained in:
committed by
Android Git Automerger
commit
80d21f2f83
@ -76,6 +76,8 @@ public final class ShutdownThread extends Thread {
|
||||
private PowerManager.WakeLock mCpuWakeLock;
|
||||
private PowerManager.WakeLock mScreenWakeLock;
|
||||
private Handler mHandler;
|
||||
|
||||
private static AlertDialog sConfirmDialog;
|
||||
|
||||
private ShutdownThread() {
|
||||
}
|
||||
@ -108,7 +110,10 @@ public final class ShutdownThread extends Thread {
|
||||
|
||||
if (confirm) {
|
||||
final CloseDialogReceiver closer = new CloseDialogReceiver(context);
|
||||
final AlertDialog dialog = new AlertDialog.Builder(context)
|
||||
if (sConfirmDialog != null) {
|
||||
sConfirmDialog.dismiss();
|
||||
}
|
||||
sConfirmDialog = new AlertDialog.Builder(context)
|
||||
.setTitle(com.android.internal.R.string.power_off)
|
||||
.setMessage(resourceId)
|
||||
.setPositiveButton(com.android.internal.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
@ -118,10 +123,10 @@ public final class ShutdownThread extends Thread {
|
||||
})
|
||||
.setNegativeButton(com.android.internal.R.string.no, null)
|
||||
.create();
|
||||
closer.dialog = dialog;
|
||||
dialog.setOnDismissListener(closer);
|
||||
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
|
||||
dialog.show();
|
||||
closer.dialog = sConfirmDialog;
|
||||
sConfirmDialog.setOnDismissListener(closer);
|
||||
sConfirmDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
|
||||
sConfirmDialog.show();
|
||||
} else {
|
||||
beginShutdownSequence(context);
|
||||
}
|
||||
|
Reference in New Issue
Block a user