Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80d21f2f authored by Jean-Baptiste Queru's avatar Jean-Baptiste Queru Committed by Android Git Automerger
Browse files

am 19703b13: Merge "Avoid memory leak in the Shutdown confirmation dialog."

* commit '19703b13':
  Avoid memory leak in the Shutdown confirmation dialog.
parents 6c50da75 19703b13
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -77,6 +77,8 @@ public final class ShutdownThread extends Thread {
    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);
        }