Using new API setDataEnabledForReason for setDataEnabled

Bug: 318310357
Bug: 298898436
Bug: 298891941
Test: atest MobileNetworkUtilsTest
Change-Id: I30b56247370ebaa5896bec3205ddce3e5c92c7d0
This commit is contained in:
SongFerngWang
2024-01-24 12:35:52 +08:00
committed by SongFerng Wang
parent 96d8953e15
commit 533e045598
2 changed files with 18 additions and 9 deletions

View File

@@ -358,7 +358,8 @@ public class MobileNetworkUtils {
.createForSubscriptionId(subId);
final SubscriptionManager subscriptionManager = context.getSystemService(
SubscriptionManager.class).createForAllUserProfiles();
telephonyManager.setDataEnabled(enabled);
telephonyManager.setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER,
enabled);
if (disableOtherSubscriptions) {
final List<SubscriptionInfo> subInfoList =
@@ -367,8 +368,10 @@ public class MobileNetworkUtils {
for (SubscriptionInfo subInfo : subInfoList) {
// We never disable mobile data for opportunistic subscriptions.
if (subInfo.getSubscriptionId() != subId && !subInfo.isOpportunistic()) {
context.getSystemService(TelephonyManager.class).createForSubscriptionId(
subInfo.getSubscriptionId()).setDataEnabled(false);
context.getSystemService(TelephonyManager.class)
.createForSubscriptionId(subInfo.getSubscriptionId())
.setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER,
false);
}
}
}