Check for any valid SIM card before showing Cellular Security Settings
Bug: 377358721 Test: m Flag: EXEMPT bugfix Change-Id: I5bbc0c95ff420639c274534b9086a3479ca47fb2
This commit is contained in:
@@ -23,6 +23,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.safetycenter.SafetyCenterManager;
|
import android.safetycenter.SafetyCenterManager;
|
||||||
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -38,6 +39,8 @@ import com.android.settings.core.BasePreferenceController;
|
|||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settings.network.telephony.CellularSecuritySettingsFragment;
|
import com.android.settings.network.telephony.CellularSecuritySettingsFragment;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link BasePreferenceController} for accessing Cellular Security settings from Network &
|
* {@link BasePreferenceController} for accessing Cellular Security settings from Network &
|
||||||
* Internet Settings menu.
|
* Internet Settings menu.
|
||||||
@@ -78,6 +81,13 @@ public class CellularSecurityPreferenceController extends BasePreferenceControll
|
|||||||
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check there are valid SIM cards which can be displayed to the user, otherwise this
|
||||||
|
// settings should not be shown.
|
||||||
|
List<SubscriptionInfo> availableSubs = SubscriptionUtil.getAvailableSubscriptions(mContext);
|
||||||
|
if (availableSubs.isEmpty()) {
|
||||||
|
return CONDITIONALLY_UNAVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
boolean isNullCipherDisablementAvailable = false;
|
boolean isNullCipherDisablementAvailable = false;
|
||||||
boolean areCellSecNotificationsAvailable = false;
|
boolean areCellSecNotificationsAvailable = false;
|
||||||
try {
|
try {
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.network.telephony;
|
package com.android.settings.network.telephony;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -25,6 +26,9 @@ import androidx.annotation.NonNull;
|
|||||||
import com.android.internal.telephony.flags.FeatureFlags;
|
import com.android.internal.telephony.flags.FeatureFlags;
|
||||||
import com.android.internal.telephony.flags.FeatureFlagsImpl;
|
import com.android.internal.telephony.flags.FeatureFlagsImpl;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link BasePreferenceController} for visibility of Encryption divider on Cellular Security
|
* {@link BasePreferenceController} for visibility of Encryption divider on Cellular Security
|
||||||
@@ -58,6 +62,13 @@ public class CellularSecurityEncryptionDividerController extends
|
|||||||
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check there are valid SIM cards which can be displayed to the user, otherwise this
|
||||||
|
// settings should not be shown.
|
||||||
|
List<SubscriptionInfo> availableSubs = SubscriptionUtil.getAvailableSubscriptions(mContext);
|
||||||
|
if (availableSubs.isEmpty()) {
|
||||||
|
return CONDITIONALLY_UNAVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mTelephonyManager.isNullCipherAndIntegrityPreferenceEnabled();
|
mTelephonyManager.isNullCipherAndIntegrityPreferenceEnabled();
|
||||||
} catch (UnsupportedOperationException e) {
|
} catch (UnsupportedOperationException e) {
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.network.telephony;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.safetycenter.SafetyCenterManager;
|
import android.safetycenter.SafetyCenterManager;
|
||||||
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -27,6 +28,9 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
|
|
||||||
import com.android.internal.telephony.flags.Flags;
|
import com.android.internal.telephony.flags.Flags;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link BasePreferenceController} for visibility of Notifications divider on Cellular Security
|
* {@link BasePreferenceController} for visibility of Notifications divider on Cellular Security
|
||||||
@@ -69,6 +73,12 @@ public class CellularSecurityNotificationsDividerController extends
|
|||||||
Log.w(LOG_TAG, "Telephony manager not yet initialized");
|
Log.w(LOG_TAG, "Telephony manager not yet initialized");
|
||||||
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
||||||
}
|
}
|
||||||
|
// Check there are valid SIM cards which can be displayed to the user, otherwise this
|
||||||
|
// settings should not be shown.
|
||||||
|
List<SubscriptionInfo> availableSubs = SubscriptionUtil.getAvailableSubscriptions(mContext);
|
||||||
|
if (availableSubs.isEmpty()) {
|
||||||
|
return CONDITIONALLY_UNAVAILABLE;
|
||||||
|
}
|
||||||
// Checking for hardware support, i.e. IRadio AIDL version must be >= 2.2
|
// Checking for hardware support, i.e. IRadio AIDL version must be >= 2.2
|
||||||
try {
|
try {
|
||||||
// Must call both APIs, as we can't use the combined toggle if both aren't available
|
// Must call both APIs, as we can't use the combined toggle if both aren't available
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.network.telephony;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.safetycenter.SafetyCenterManager;
|
import android.safetycenter.SafetyCenterManager;
|
||||||
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -26,6 +27,9 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
import com.android.internal.telephony.flags.Flags;
|
import com.android.internal.telephony.flags.Flags;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link TelephonyTogglePreferenceController} for accessing Cellular Security settings through
|
* {@link TelephonyTogglePreferenceController} for accessing Cellular Security settings through
|
||||||
@@ -75,6 +79,13 @@ public class CellularSecurityNotificationsPreferenceController extends
|
|||||||
return UNSUPPORTED_ON_DEVICE;
|
return UNSUPPORTED_ON_DEVICE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check there are valid SIM cards which can be displayed to the user, otherwise this
|
||||||
|
// setting should not be shown.
|
||||||
|
List<SubscriptionInfo> availableSubs = SubscriptionUtil.getAvailableSubscriptions(mContext);
|
||||||
|
if (availableSubs.isEmpty()) {
|
||||||
|
return CONDITIONALLY_UNAVAILABLE;
|
||||||
|
}
|
||||||
|
|
||||||
// Checking for hardware support, i.e. IRadio AIDL version must be >= 2.2
|
// Checking for hardware support, i.e. IRadio AIDL version must be >= 2.2
|
||||||
try {
|
try {
|
||||||
areNotificationsEnabled();
|
areNotificationsEnabled();
|
||||||
|
Reference in New Issue
Block a user