summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author qingxi <qingxi@google.com> 2017-05-24 15:33:13 -0700
committer qingxi <qingxi@google.com> 2017-06-06 16:12:06 -0700
commit12f2de4f4fcdb5a20ddca80c340076bcc09cc8ea (patch)
tree5cfef45fe365f5ca9e61fb70b6a2253440515db4
parente5ef67692ea9c53786ab82b458e0a5e8e34fdfac (diff)
Only show the "Disable eSIM" when eSIM profile is enabled
Before this CL, we always show "Disable eSIM" button in SIM lock screen if the device has eSIM chip. This may make the user who has never used eSIM or currently is not activated the eSIM Profile confused. This CL makes the "Disable eSIM" button only be shown iff the device has eSIM chip and the current activated Profile is eSIM profile. Bug: 37518023 Test: E2E Change-Id: Id5a1325f49733528a370ec7145fe49731243bcf7
-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