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

Commit 409e5490 authored by Qingxi Li's avatar Qingxi Li Committed by Android (Google) Code Review
Browse files

Merge "Only show the "Disable eSIM" when eSIM profile is enabled"

parents 3e34579b 12f2de4f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@
            android:layoutDirection="ltr"
            >
        <include layout="@layout/keyguard_esim_area"
             android:id="@+id/keyguard_esim_area"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/eca_overlap" />
+4 −3
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@
            android:layoutDirection="ltr"
            >
        <include layout="@layout/keyguard_esim_area"
            android:id="@+id/keyguard_esim_area"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/eca_overlap" />
+8 −4
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
import android.telephony.SubscriptionManager;
import android.telephony.euicc.EuiccManager;

import java.lang.ref.WeakReference;
@@ -46,10 +47,6 @@ class KeyguardEsimArea extends Button implements View.OnClickListener {
    public KeyguardEsimArea(Context context, AttributeSet attrs, int defStyleAttr,
            int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        mEuiccManager = (EuiccManager) mContext.getSystemService(Context.EUICC_SERVICE);
        if (mEuiccManager.isEnabled()) {
            setVisibility(View.VISIBLE);
        }
        setOnClickListener(this);
    }

@@ -58,4 +55,11 @@ class KeyguardEsimArea extends Button implements View.OnClickListener {
        // STOPSHIP(b/37353596): use EuiccManager API to disable current carrier.
    }

    public static boolean isEsimLocked(Context context, int subId) {
        EuiccManager euiccManager =
                (EuiccManager) context.getSystemService(Context.EUICC_SERVICE);
        return euiccManager.isEnabled()
                && SubscriptionManager.from(context).getActiveSubscriptionInfo(subId).isEmbedded();
    }

}
+5 −3
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import android.telephony.TelephonyManager;
import android.telephony.euicc.EuiccManager;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;

@@ -78,6 +79,7 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
        if (DEBUG) Log.v(TAG, "Resetting state");
        KeyguardUpdateMonitor monitor = KeyguardUpdateMonitor.getInstance(mContext);
        mSubId = monitor.getNextSubIdForState(IccCardConstants.State.PIN_REQUIRED);
        boolean isEsimLocked = KeyguardEsimArea.isEsimLocked(mContext, mSubId);
        if (SubscriptionManager.isValidSubscriptionId(mSubId)) {
            int count = TelephonyManager.getDefault().getSimCount();
            Resources rez = getResources();
@@ -93,14 +95,14 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
                    color = info.getIconTint();
                }
            }
            EuiccManager euiccManager =
                    (EuiccManager) mContext.getSystemService(Context.EUICC_SERVICE);
            if (euiccManager.isEnabled()) {
            if (isEsimLocked) {
                msg = msg + " " + rez.getString(R.string.kg_sim_lock_instructions_esim);
            }
            mSecurityMessageDisplay.setMessage(msg);
            mSimImageView.setImageTintList(ColorStateList.valueOf(color));
        }
        KeyguardEsimArea esimButton = findViewById(R.id.keyguard_esim_area);
        esimButton.setVisibility(isEsimLocked ? View.VISIBLE : View.GONE);
    }

    @Override
+7 −3
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.telephony.TelephonyManager;
import android.telephony.euicc.EuiccManager;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;

@@ -119,6 +120,7 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
            state = ENTER_PUK;
            KeyguardUpdateMonitor monitor = KeyguardUpdateMonitor.getInstance(mContext);
            mSubId = monitor.getNextSubIdForState(IccCardConstants.State.PUK_REQUIRED);
            boolean isEsimLocked = KeyguardEsimArea.isEsimLocked(mContext, mSubId);
            if (SubscriptionManager.isValidSubscriptionId(mSubId)) {
                int count = TelephonyManager.getDefault().getSimCount();
                Resources rez = getResources();
@@ -134,16 +136,18 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
                        color = info.getIconTint();
                    }
                }
                EuiccManager euiccManager =
                        (EuiccManager) mContext.getSystemService(Context.EUICC_SERVICE);
                if (euiccManager.isEnabled()) {
                if (isEsimLocked) {
                    msg = msg + " " + rez.getString(R.string.kg_sim_lock_instructions_esim);
                }
                mSecurityMessageDisplay.setMessage(msg);
                mSimImageView.setImageTintList(ColorStateList.valueOf(color));
            }
            KeyguardEsimArea esimButton = findViewById(R.id.keyguard_esim_area);
            esimButton.setVisibility(isEsimLocked ? View.VISIBLE : View.GONE);
            mPasswordEntry.requestFocus();
        }


    }

    @Override