summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res-keyguard/layout/keyguard_sim_pin_view.xml1
-rw-r--r--packages/SystemUI/res-keyguard/layout/keyguard_sim_puk_view.xml7
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardEsimArea.java12
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java8
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java10
5 files changed, 25 insertions, 13 deletions
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_sim_pin_view.xml b/packages/SystemUI/res-keyguard/layout/keyguard_sim_pin_view.xml
index 7d47881ddd0d..f0dec762abc6 100644
--- a/packages/SystemUI/res-keyguard/layout/keyguard_sim_pin_view.xml
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_sim_pin_view.xml
@@ -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" />
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_sim_puk_view.xml b/packages/SystemUI/res-keyguard/layout/keyguard_sim_puk_view.xml
index aaa53ee66357..119b3ee11335 100644
--- a/packages/SystemUI/res-keyguard/layout/keyguard_sim_puk_view.xml
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_sim_puk_view.xml
@@ -48,9 +48,10 @@
android:layoutDirection="ltr"
>
<include layout="@layout/keyguard_esim_area"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/eca_overlap" />
+ android:id="@+id/keyguard_esim_area"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/eca_overlap" />
<RelativeLayout
android:id="@+id/row0"
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardEsimArea.java b/packages/SystemUI/src/com/android/keyguard/KeyguardEsimArea.java
index 3fd950b42c9a..6a86bb2b491f 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardEsimArea.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardEsimArea.java
@@ -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();
+ }
+
}
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java
index d5be186ad166..4c7b48d1f438 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java
@@ -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
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java
index 61a1488b7a96..d8163ba65766 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java
@@ -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