android:visibility="gone"
android:textSize="18sp"
android:text="@string/master_clear_desc_also_erases_external" />
+ <TextView android:id="@+id/also_erases_esim"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:includeFontPadding="false"
+ android:visibility="gone"
+ android:textSize="18sp"
+ android:text="@string/master_clear_desc_also_erases_esim" />
<TextView android:id="@+id/accounts_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:textSize="18sp"
android:text="@string/master_clear_other_users_present" />
+ <TextView android:id="@+id/no_cancel_mobile_plan"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:textSize="18sp"
+ android:text="@string/master_clear_desc_no_cancel_mobile_plan" />
<TextView android:id="@+id/erase_external_option_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/erase_external_storage_description" />
</LinearLayout>
</LinearLayout>
- <LinearLayout android:id="@+id/erase_esim_container"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:focusable="true"
- android:clickable="true">
- <CheckBox android:id="@+id/erase_esim"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:paddingEnd="8dp"
- android:focusable="false"
- android:clickable="false"
- android:duplicateParentState="true" />
- <LinearLayout android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:orientation="vertical">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingTop="12dp"
- android:textSize="18sp"
- android:text="@string/erase_esim_storage" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingTop="4sp"
- android:textSize="14sp"
- android:text="@string/erase_esim_storage_description" />
- </LinearLayout>
- </LinearLayout>
</LinearLayout>
</ScrollView>
<Button
<!-- SD card & phone storage settings screen, message on screen after user selects Factory data reset [CHAR LIMIT=NONE] -->
<string name="master_clear_desc" product="tablet">"This will erase all data from your tablet\u2019s <b>internal storage</b>, including:\n\n<li>Your Google account</li>\n<li>System and app data and settings</li>\n<li>Downloaded apps</li>"</string>
<!-- SD card & phone storage settings screen, message on screen after user selects Factory data reset [CHAR LIMIT=NONE] -->
- <string name="master_clear_desc" product="default">"This will erase all data from your phone\u2019s <b>internal storage</b>, including:\n\n<li>Your Google account</li>\n<li>System and app data and settings</li>\n<li>Downloaded apps"</li></string>
+ <string name="master_clear_desc" product="default">"This will erase all data from your phone\u2019s <b>internal storage</b>, including:\n\n<li>Your Google account</li>\n<li>System and app data and settings</li>\n<li>Downloaded apps</li>"</string>
<!-- SD card & phone storage settings screen, instructions and list of current accounts. The list of accounts follows this text[CHAR LIMIT=NONE] -->
<string name="master_clear_accounts" product="default">"\n\nYou are currently signed into the following accounts:\n"</string>
<!-- SD card & phone storage settings screen, notification if other users are present on the device [CHAR LIMIT=NONE] -->
<string name="master_clear_other_users_present" product="default">"\n\nThere are other users present on this device.\n"</string>
<!-- SD card & phone storage settings screen, list of items in user data storage (USB storage or SD card) that will be erased during this operation [CHAR LIMIT=NONE] -->
<string name="master_clear_desc_also_erases_external">"<li>Music</li>\n<li>Photos</li>\n<li>Other user data</li>"</string>
+ <!-- SD card & phone storage settings screen, list of items on an eSIM (embedded SIM) that will be erased during this operation [CHAR LIMIT=NONE] -->
+ <string name="master_clear_desc_also_erases_esim">"<li>Carriers on eSIM</li>"</string>
+ <!-- SD card & phone storage settings screen, notification if there are eSIM (embedded SIM) profiles present that the user's mobile service plan will not be canceled [CHAR LIMIT=NONE] -->
+ <string name="master_clear_desc_no_cancel_mobile_plan">"\n\nThis will not cancel your mobile service plan.</string>
<!-- SD card & phone storage settings screen, instructions about whether to also erase the external storage (SD card) when erasing the internal storage [CHAR LIMIT=NONE] -->
<string name="master_clear_desc_erase_external_storage" product="nosdcard">"\n\nTo clear music, pictures, and other user data, the <b>USB storage</b> needs to be erased."</string>
<!-- SD card & phone storage settings screen, instructions about whether to also erase the external storage (SD card) when erasing the internal storage [CHAR LIMIT=NONE] -->
private Button mInitiateButton;
private View mExternalStorageContainer;
@VisibleForTesting CheckBox mExternalStorage;
- private View mEsimStorageContainer;
- @VisibleForTesting CheckBox mEsimStorage;
private ScrollView mScrollView;
private final OnGlobalLayoutListener mOnGlobalLayoutListener = new OnGlobalLayoutListener() {
void showFinalConfirmation() {
Bundle args = new Bundle();
args.putBoolean(ERASE_EXTERNAL_EXTRA, mExternalStorage.isChecked());
- args.putBoolean(ERASE_ESIMS_EXTRA, mEsimStorage.isChecked());
+ // TODO: Offer the user a choice to wipe eSIMs when it is technically feasible to do so.
+ args.putBoolean(ERASE_ESIMS_EXTRA, true);
((SettingsActivity) getActivity()).startPreferencePanel(
this, MasterClearConfirm.class.getName(),
args, R.string.master_clear_confirm_title, null, null, 0);
mInitiateButton.setOnClickListener(mInitiateListener);
mExternalStorageContainer = mContentView.findViewById(R.id.erase_external_container);
mExternalStorage = (CheckBox) mContentView.findViewById(R.id.erase_external);
- mEsimStorageContainer = mContentView.findViewById(R.id.erase_esim_container);
- mEsimStorage = (CheckBox) mContentView.findViewById(R.id.erase_esim);
mScrollView = (ScrollView) mContentView.findViewById(R.id.master_clear_scrollview);
/*
}
if (showWipeEuicc()) {
- mEsimStorageContainer.setOnClickListener(new View.OnClickListener() {
+ final View esimAlsoErased = mContentView.findViewById(R.id.also_erases_esim);
+ esimAlsoErased.setVisibility(View.VISIBLE);
- @Override
- public void onClick(View v) {
- mEsimStorage.toggle();
- }
- });
- } else {
- mEsimStorageContainer.setVisibility(View.GONE);
+ final View noCancelMobilePlan = mContentView.findViewById(R.id.no_cancel_mobile_plan);
+ noCancelMobilePlan.setVisibility(View.VISIBLE);
}
final UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
}
/**
- * Whether to show the checkbox to wipe the eUICC.
+ * Whether to show strings indicating that the eUICC will be wiped.
*
- * <p>We show the checkbox on any device which supports eUICC as long as the eUICC was ever
+ * <p>We show the strings on any device which supports eUICC as long as the eUICC was ever
* provisioned (that is, at least one profile was ever downloaded onto it).
*/
@VisibleForTesting
}
@Test
- public void testShowFinalConfirmation_EraseEsimChecked() {
- ActivityForTest testActivity = new ActivityForTest();
- when(mMasterClear.getActivity()).thenReturn(testActivity);
-
- mMasterClear.mEsimStorage = (CheckBox) mContentView.findViewById(R.id.erase_esim);
- mMasterClear.mExternalStorage = (CheckBox) mContentView.findViewById(R.id.erase_external);
- mMasterClear.mEsimStorage.setChecked(true);
- mMasterClear.showFinalConfirmation();
- assertThat(testActivity.getArgs().getBoolean(MasterClear.ERASE_ESIMS_EXTRA, false))
- .isTrue();
- }
-
- @Test
- public void testShowFinalConfirmation_EraseEsimUnchecked() {
- ActivityForTest testActivity = new ActivityForTest();
- when(mMasterClear.getActivity()).thenReturn(testActivity);
-
- mMasterClear.mEsimStorage = (CheckBox) mContentView.findViewById(R.id.erase_esim);
- mMasterClear.mExternalStorage = (CheckBox) mContentView.findViewById(R.id.erase_external);
- mMasterClear.mEsimStorage.setChecked(false);
- mMasterClear.showFinalConfirmation();
- assertThat(testActivity.getArgs().getBoolean(MasterClear.ERASE_ESIMS_EXTRA, true))
- .isFalse();
- }
-
- @Test
public void testHasReachedBottom_NotScrollDown_returnFalse() {
initScrollView(100, 0, 200);