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

Commit 1a02fa9e authored by Hall Liu's avatar Hall Liu
Browse files

Add flag to default dialer change dialog

Add PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS to default dialer
change dialog to prevent clickjacking.

Fixes: 132275252
Test: manual. CTS infeasible since it's UI.
Change-Id: I0d5997915a71e317d5c0d654a499d8cbd21f2299
Merged-In: I0d5997915a71e317d5c0d654a499d8cbd21f2299
parent 23eb57a6
Loading
Loading
Loading
Loading
+19 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,8 @@


package com.android.server.telecom.components;
package com.android.server.telecom.components;


import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;

import android.content.Context;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface;
import android.content.pm.ApplicationInfo;
import android.content.pm.ApplicationInfo;
@@ -27,6 +29,8 @@ import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.text.TextUtils;
import android.util.Log;
import android.util.Log;
import android.view.WindowManager;
import android.view.Window;


import com.android.internal.app.AlertActivity;
import com.android.internal.app.AlertActivity;
import com.android.internal.app.AlertController;
import com.android.internal.app.AlertController;
@@ -73,6 +77,21 @@ public class ChangeDefaultDialerDialog extends AlertActivity implements
        }
        }
    }
    }


    @Override
    public void onStart() {
        super.onStart();
        getWindow().addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
    }

    @Override
    public void onStop() {
        final Window window = getWindow();
        final WindowManager.LayoutParams attrs = window.getAttributes();
        attrs.privateFlags &= ~PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
        window.setAttributes(attrs);
        super.onStop();
    }

    private boolean canChangeToProvidedPackage(String oldPackage, String newPackage) {
    private boolean canChangeToProvidedPackage(String oldPackage, String newPackage) {
        final TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
        final TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
        if (!tm.isVoiceCapable()) {
        if (!tm.isVoiceCapable()) {