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 mCpuWakeLock;
|
||||||
private PowerManager.WakeLock mScreenWakeLock;
|
private PowerManager.WakeLock mScreenWakeLock;
|
||||||
private Handler mHandler;
|
private Handler mHandler;
|
||||||
|
|
||||||
|
private static AlertDialog sConfirmDialog;
|
||||||
|
|
||||||
private ShutdownThread() {
|
private ShutdownThread() {
|
||||||
}
|
}
|
||||||
@@ -108,7 +110,10 @@ public final class ShutdownThread extends Thread {
|
|||||||
|
|
||||||
if (confirm) {
|
if (confirm) {
|
||||||
final CloseDialogReceiver closer = new CloseDialogReceiver(context);
|
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)
|
.setTitle(com.android.internal.R.string.power_off)
|
||||||
.setMessage(resourceId)
|
.setMessage(resourceId)
|
||||||
.setPositiveButton(com.android.internal.R.string.yes, new DialogInterface.OnClickListener() {
|
.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)
|
.setNegativeButton(com.android.internal.R.string.no, null)
|
||||||
.create();
|
.create();
|
||||||
closer.dialog = dialog;
|
closer.dialog = sConfirmDialog;
|
||||||
dialog.setOnDismissListener(closer);
|
sConfirmDialog.setOnDismissListener(closer);
|
||||||
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
|
sConfirmDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
|
||||||
dialog.show();
|
sConfirmDialog.show();
|
||||||
} else {
|
} else {
|
||||||
beginShutdownSequence(context);
|
beginShutdownSequence(context);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user