From 860216208f188703957301ae8054f0f8c8b931f3 Mon Sep 17 00:00:00 2001 From: pingzhi wang Date: Thu, 19 Aug 2021 15:18:20 +0800 Subject: [PATCH] Remove the option of resetting Euicc data. Euicc reset option should not be available on devices that do not support embedded sim cards. Test: make SettingsUnitTests Test: Build device without FEATURE_TELEPHONY_EUICC and check in Settings/System/Reset options Bug: 197280361 Change-Id: I24cc65fbe0f8e3c4f1cf792a7b8c5dbfc49d469b --- .../android/settings/network/EraseEuiccDataController.java | 5 ++++- .../settings/network/EraseEuiccDataControllerTest.java | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/network/EraseEuiccDataController.java b/src/com/android/settings/network/EraseEuiccDataController.java index 7d71096e962..b1f964b2190 100644 --- a/src/com/android/settings/network/EraseEuiccDataController.java +++ b/src/com/android/settings/network/EraseEuiccDataController.java @@ -17,6 +17,7 @@ package com.android.settings.network; import android.content.Context; +import android.content.pm.PackageManager; import android.text.TextUtils; import androidx.preference.Preference; @@ -50,6 +51,8 @@ public class EraseEuiccDataController extends BasePreferenceController { @Override public int getAvailabilityStatus() { - return AVAILABLE_UNSEARCHABLE; + return mContext.getPackageManager().hasSystemFeature( + PackageManager.FEATURE_TELEPHONY_EUICC) ? AVAILABLE_UNSEARCHABLE + : UNSUPPORTED_ON_DEVICE; } } diff --git a/tests/unit/src/com/android/settings/network/EraseEuiccDataControllerTest.java b/tests/unit/src/com/android/settings/network/EraseEuiccDataControllerTest.java index 879b9f70b72..e3fea83836b 100644 --- a/tests/unit/src/com/android/settings/network/EraseEuiccDataControllerTest.java +++ b/tests/unit/src/com/android/settings/network/EraseEuiccDataControllerTest.java @@ -26,6 +26,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import com.android.settings.core.BasePreferenceController; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; @@ -42,6 +43,7 @@ public class EraseEuiccDataControllerTest { mController = new EraseEuiccDataController(context, ERASE_EUICC_DATA_PREFERENCE_KEY); } + @Ignore("Will not work on devices without FEATURE_TELEPHONY_EUICC") @Test public void getAvailabilityStatus_returnAVAILABLE_UNSEARCHABLE() { assertThat(mController.getAvailabilityStatus())