From 66fd9dbad2b20c5b392e874ff79edf30e79c287a Mon Sep 17 00:00:00 2001 From: Peter Wang Date: Tue, 15 Sep 2020 17:44:07 -0700 Subject: [PATCH] Added an option in reset menu in Settings to enable resetting Euicc data only Bug: 159650638 Fix: 159650638 Test: Local Change-Id: Ia260b47a4dd0ddf0363740891b5e1d818c8631b7 Merged-In: Ia260b47a4dd0ddf0363740891b5e1d818c8631b7 --- res/values/strings.xml | 9 +- res/xml/reset_dashboard_fragment.xml | 6 ++ .../network/EraseEuiccDataController.java | 56 ++++++++++++ .../network/EraseEuiccDataDialogFragment.java | 85 +++++++++++++++++++ .../system/ResetDashboardFragment.java | 7 ++ .../network/EraseEuiccDataControllerTest.java | 52 ++++++++++++ 6 files changed, 212 insertions(+), 3 deletions(-) create mode 100644 src/com/android/settings/network/EraseEuiccDataController.java create mode 100644 src/com/android/settings/network/EraseEuiccDataDialogFragment.java create mode 100644 tests/unit/src/com/android/settings/network/EraseEuiccDataControllerTest.java diff --git a/res/values/strings.xml b/res/values/strings.xml index b2c3d3817d1..55043b0ff9a 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3689,10 +3689,13 @@ This will reset all network settings, including:\n\n
  • Wi\u2011Fi
  • \n
  • Mobile data
  • \n
  • Bluetooth
  • "
    - + + + Erase + Erase downloaded SIMs - - To download replacement SIMs, contact your carrier. This won\u2019t cancel any mobile service plans. + + This won’t cancel any mobile service plans. To download replacement SIMs, contact your carrier. Reset settings diff --git a/res/xml/reset_dashboard_fragment.xml b/res/xml/reset_dashboard_fragment.xml index ac4ccb5668e..f670274d6bd 100644 --- a/res/xml/reset_dashboard_fragment.xml +++ b/res/xml/reset_dashboard_fragment.xml @@ -33,6 +33,12 @@ android:key="reset_app_prefs" android:title="@string/reset_app_preferences" /> + + + buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List controllers = new ArrayList<>(); diff --git a/tests/unit/src/com/android/settings/network/EraseEuiccDataControllerTest.java b/tests/unit/src/com/android/settings/network/EraseEuiccDataControllerTest.java new file mode 100644 index 00000000000..05b92a87c49 --- /dev/null +++ b/tests/unit/src/com/android/settings/network/EraseEuiccDataControllerTest.java @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.network; + +import static com.google.common.truth.Truth.assertThat; + +import static org.mockito.Mockito.spy; + +import android.content.Context; + +import androidx.test.core.app.ApplicationProvider; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import com.android.settings.core.BasePreferenceController; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(AndroidJUnit4.class) +public class EraseEuiccDataControllerTest { + + private static final String ERASE_EUICC_DATA_PREFERENCE_KEY = "erase_euicc_data"; + + private EraseEuiccDataController mController; + + @Before + public void setUp() { + Context context = ApplicationProvider.getApplicationContext(); + mController = new EraseEuiccDataController(context, ERASE_EUICC_DATA_PREFERENCE_KEY); + } + + @Test + public void getAvailabilityStatus_byDefault_true() { + assertThat(mController.getAvailabilityStatus()) + .isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE); + } +}