Loading core/java/android/net/INetworkPolicyListener.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -22,5 +22,5 @@ oneway interface INetworkPolicyListener { void onMeteredIfacesChanged(in String[] meteredIfaces); void onRestrictBackgroundChanged(boolean restrictBackground); void onUidPoliciesChanged(int uid, int uidPolicies); void onSubscriptionOverride(int subId, int overrideMask, int overrideValue); void onSubscriptionOverride(int subId, int overrideMask, int overrideValue, long networkTypeMask); } core/java/android/net/INetworkPolicyManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ interface INetworkPolicyManager { SubscriptionPlan[] getSubscriptionPlans(int subId, String callingPackage); void setSubscriptionPlans(int subId, in SubscriptionPlan[] plans, String callingPackage); String getSubscriptionPlansOwner(int subId); void setSubscriptionOverride(int subId, int overrideMask, int overrideValue, long timeoutMillis, String callingPackage); void setSubscriptionOverride(int subId, int overrideMask, int overrideValue, long networkTypeMask, long timeoutMillis, String callingPackage); void factoryReset(String subscriber); Loading core/java/android/net/NetworkPolicyManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -380,6 +380,7 @@ public class NetworkPolicyManager { @Override public void onMeteredIfacesChanged(String[] meteredIfaces) { } @Override public void onRestrictBackgroundChanged(boolean restrictBackground) { } @Override public void onUidPoliciesChanged(int uid, int uidPolicies) { } @Override public void onSubscriptionOverride(int subId, int overrideMask, int overrideValue) { } @Override public void onSubscriptionOverride(int subId, int overrideMask, int overrideValue, long networkTypeMask) { } } } services/core/java/com/android/server/net/NetworkPolicyManagerService.java +21 −11 Original line number Diff line number Diff line Loading @@ -222,6 +222,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.notification.SystemNotificationChannels; import com.android.internal.os.RoSystemProperties; import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; import com.android.internal.util.ConcurrentUtils; import com.android.internal.util.DumpUtils; Loading Loading @@ -3309,7 +3310,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { @Override public void setSubscriptionOverride(int subId, int overrideMask, int overrideValue, long timeoutMillis, String callingPackage) { long networkTypeMask, long timeoutMillis, String callingPackage) { enforceSubscriptionPlanAccess(subId, Binder.getCallingUid(), callingPackage); // We can only override when carrier told us about plans Loading @@ -3327,11 +3328,16 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { final boolean overrideEnabled = Settings.Global.getInt(mContext.getContentResolver(), NETPOLICY_OVERRIDE_ENABLED, 1) != 0; if (overrideEnabled || overrideValue == 0) { mHandler.sendMessage(mHandler.obtainMessage(MSG_SUBSCRIPTION_OVERRIDE, overrideMask, overrideValue, subId)); SomeArgs args = SomeArgs.obtain(); args.arg1 = subId; args.arg2 = overrideMask; args.arg3 = overrideValue; args.arg4 = networkTypeMask; mHandler.sendMessage(mHandler.obtainMessage(MSG_SUBSCRIPTION_OVERRIDE, args)); if (timeoutMillis > 0) { mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SUBSCRIPTION_OVERRIDE, overrideMask, 0, subId), timeoutMillis); args.arg3 = 0; mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SUBSCRIPTION_OVERRIDE, args), timeoutMillis); } } } Loading Loading @@ -4467,10 +4473,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } private void dispatchSubscriptionOverride(INetworkPolicyListener listener, int subId, int overrideMask, int overrideValue) { int overrideMask, int overrideValue, long networkTypeMask) { if (listener != null) { try { listener.onSubscriptionOverride(subId, overrideMask, overrideValue); listener.onSubscriptionOverride(subId, overrideMask, overrideValue, networkTypeMask); } catch (RemoteException ignored) { } } Loading Loading @@ -4571,13 +4578,16 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { return true; } case MSG_SUBSCRIPTION_OVERRIDE: { final int overrideMask = msg.arg1; final int overrideValue = msg.arg2; final int subId = (int) msg.obj; final SomeArgs args = (SomeArgs) msg.obj; final int subId = (int) args.arg1; final int overrideMask = (int) args.arg2; final int overrideValue = (int) args.arg3; final long networkTypeMask = (long) args.arg4; final int length = mListeners.beginBroadcast(); for (int i = 0; i < length; i++) { final INetworkPolicyListener listener = mListeners.getBroadcastItem(i); dispatchSubscriptionOverride(listener, subId, overrideMask, overrideValue); dispatchSubscriptionOverride(listener, subId, overrideMask, overrideValue, networkTypeMask); } mListeners.finishBroadcast(); return true; Loading telephony/java/android/telephony/CarrierConfigManager.java +9 −0 Original line number Diff line number Diff line Loading @@ -3065,6 +3065,13 @@ public class CarrierConfigManager { public static final String KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG = "opportunistic_network_max_backoff_time_long"; /** * Controls time in milli seconds until DcTracker reevaluates 5G connection state. * @hide */ public static final String KEY_5G_WATCHDOG_TIME_MS_LONG = "5g_watchdog_time_long"; /** * Indicates zero or more emergency number prefix(es), because some carrier requires * if users dial an emergency number address with a specific prefix, the combination of the Loading Loading @@ -3896,6 +3903,8 @@ public class CarrierConfigManager { sDefaults.putLong(KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG, 10000); /* Default value is 60 seconds. */ sDefaults.putLong(KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG, 60000); /* Default value is 1 hour. */ sDefaults.putLong(KEY_5G_WATCHDOG_TIME_MS_LONG, 3600000); sDefaults.putAll(Gps.getDefaults()); sDefaults.putIntArray(KEY_CDMA_ENHANCED_ROAMING_INDICATOR_FOR_HOME_NETWORK_INT_ARRAY, new int[] { Loading Loading
core/java/android/net/INetworkPolicyListener.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -22,5 +22,5 @@ oneway interface INetworkPolicyListener { void onMeteredIfacesChanged(in String[] meteredIfaces); void onRestrictBackgroundChanged(boolean restrictBackground); void onUidPoliciesChanged(int uid, int uidPolicies); void onSubscriptionOverride(int subId, int overrideMask, int overrideValue); void onSubscriptionOverride(int subId, int overrideMask, int overrideValue, long networkTypeMask); }
core/java/android/net/INetworkPolicyManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ interface INetworkPolicyManager { SubscriptionPlan[] getSubscriptionPlans(int subId, String callingPackage); void setSubscriptionPlans(int subId, in SubscriptionPlan[] plans, String callingPackage); String getSubscriptionPlansOwner(int subId); void setSubscriptionOverride(int subId, int overrideMask, int overrideValue, long timeoutMillis, String callingPackage); void setSubscriptionOverride(int subId, int overrideMask, int overrideValue, long networkTypeMask, long timeoutMillis, String callingPackage); void factoryReset(String subscriber); Loading
core/java/android/net/NetworkPolicyManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -380,6 +380,7 @@ public class NetworkPolicyManager { @Override public void onMeteredIfacesChanged(String[] meteredIfaces) { } @Override public void onRestrictBackgroundChanged(boolean restrictBackground) { } @Override public void onUidPoliciesChanged(int uid, int uidPolicies) { } @Override public void onSubscriptionOverride(int subId, int overrideMask, int overrideValue) { } @Override public void onSubscriptionOverride(int subId, int overrideMask, int overrideValue, long networkTypeMask) { } } }
services/core/java/com/android/server/net/NetworkPolicyManagerService.java +21 −11 Original line number Diff line number Diff line Loading @@ -222,6 +222,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.notification.SystemNotificationChannels; import com.android.internal.os.RoSystemProperties; import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; import com.android.internal.util.ConcurrentUtils; import com.android.internal.util.DumpUtils; Loading Loading @@ -3309,7 +3310,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { @Override public void setSubscriptionOverride(int subId, int overrideMask, int overrideValue, long timeoutMillis, String callingPackage) { long networkTypeMask, long timeoutMillis, String callingPackage) { enforceSubscriptionPlanAccess(subId, Binder.getCallingUid(), callingPackage); // We can only override when carrier told us about plans Loading @@ -3327,11 +3328,16 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { final boolean overrideEnabled = Settings.Global.getInt(mContext.getContentResolver(), NETPOLICY_OVERRIDE_ENABLED, 1) != 0; if (overrideEnabled || overrideValue == 0) { mHandler.sendMessage(mHandler.obtainMessage(MSG_SUBSCRIPTION_OVERRIDE, overrideMask, overrideValue, subId)); SomeArgs args = SomeArgs.obtain(); args.arg1 = subId; args.arg2 = overrideMask; args.arg3 = overrideValue; args.arg4 = networkTypeMask; mHandler.sendMessage(mHandler.obtainMessage(MSG_SUBSCRIPTION_OVERRIDE, args)); if (timeoutMillis > 0) { mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SUBSCRIPTION_OVERRIDE, overrideMask, 0, subId), timeoutMillis); args.arg3 = 0; mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SUBSCRIPTION_OVERRIDE, args), timeoutMillis); } } } Loading Loading @@ -4467,10 +4473,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } private void dispatchSubscriptionOverride(INetworkPolicyListener listener, int subId, int overrideMask, int overrideValue) { int overrideMask, int overrideValue, long networkTypeMask) { if (listener != null) { try { listener.onSubscriptionOverride(subId, overrideMask, overrideValue); listener.onSubscriptionOverride(subId, overrideMask, overrideValue, networkTypeMask); } catch (RemoteException ignored) { } } Loading Loading @@ -4571,13 +4578,16 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { return true; } case MSG_SUBSCRIPTION_OVERRIDE: { final int overrideMask = msg.arg1; final int overrideValue = msg.arg2; final int subId = (int) msg.obj; final SomeArgs args = (SomeArgs) msg.obj; final int subId = (int) args.arg1; final int overrideMask = (int) args.arg2; final int overrideValue = (int) args.arg3; final long networkTypeMask = (long) args.arg4; final int length = mListeners.beginBroadcast(); for (int i = 0; i < length; i++) { final INetworkPolicyListener listener = mListeners.getBroadcastItem(i); dispatchSubscriptionOverride(listener, subId, overrideMask, overrideValue); dispatchSubscriptionOverride(listener, subId, overrideMask, overrideValue, networkTypeMask); } mListeners.finishBroadcast(); return true; Loading
telephony/java/android/telephony/CarrierConfigManager.java +9 −0 Original line number Diff line number Diff line Loading @@ -3065,6 +3065,13 @@ public class CarrierConfigManager { public static final String KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG = "opportunistic_network_max_backoff_time_long"; /** * Controls time in milli seconds until DcTracker reevaluates 5G connection state. * @hide */ public static final String KEY_5G_WATCHDOG_TIME_MS_LONG = "5g_watchdog_time_long"; /** * Indicates zero or more emergency number prefix(es), because some carrier requires * if users dial an emergency number address with a specific prefix, the combination of the Loading Loading @@ -3896,6 +3903,8 @@ public class CarrierConfigManager { sDefaults.putLong(KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG, 10000); /* Default value is 60 seconds. */ sDefaults.putLong(KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG, 60000); /* Default value is 1 hour. */ sDefaults.putLong(KEY_5G_WATCHDOG_TIME_MS_LONG, 3600000); sDefaults.putAll(Gps.getDefaults()); sDefaults.putIntArray(KEY_CDMA_ENHANCED_ROAMING_INDICATOR_FOR_HOME_NETWORK_INT_ARRAY, new int[] { Loading