Add MOBILE_DATA_PREFERRED_APPS setting

This setting is OEM upstream requirement for mobile data
preferred apps feature.

Bug: 171872461
Test: atest FrameworksNetTests
Merged-In: Ic5e0515b2b948de3d333c8d8e073d0b15514562a
Change-Id: Iba17bf68cffbe39d1c08ad94364b41bbf851bf57
This commit is contained in:
paulhu
2021-03-25 13:17:58 +08:00
committed by Lorenzo Colitti
parent 6865eb6dda
commit 7a4eeed62f
2 changed files with 35 additions and 0 deletions

View File

@@ -52,6 +52,7 @@ package android.net {
method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context);
method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
method @Nullable public static String getMobileDataPreferredApps(@NonNull android.content.Context);
method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context);
method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context);
method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int);
@@ -69,6 +70,7 @@ package android.net {
method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo);
method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
method public static void setMobileDataPreferredApps(@NonNull android.content.Context, @Nullable String);
method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int);
method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String);
method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int);

View File

@@ -332,6 +332,14 @@ public class ConnectivitySettingsManager {
public static final String NETWORK_METERED_MULTIPATH_PREFERENCE =
"network_metered_multipath_preference";
/**
* A list of apps that should go on cellular networks in preference even when higher-priority
* networks are connected.
*
* @hide
*/
public static final String MOBILE_DATA_PREFERRED_APPS = "mobile_data_preferred_apps";
/**
* Get mobile data activity timeout from {@link Settings}.
*
@@ -893,4 +901,29 @@ public class ConnectivitySettingsManager {
Settings.Global.putString(
context.getContentResolver(), NETWORK_METERED_MULTIPATH_PREFERENCE, preference);
}
/**
* Get the list of apps(from {@link Settings}) that should go on cellular networks in preference
* even when higher-priority networks are connected.
*
* @param context The {@link Context} to query the setting.
* @return A list of apps that should go on cellular networks in preference even when
* higher-priority networks are connected or null if no setting value.
*/
@Nullable
public static String getMobileDataPreferredApps(@NonNull Context context) {
return Settings.Secure.getString(context.getContentResolver(), MOBILE_DATA_PREFERRED_APPS);
}
/**
* Set the list of apps(to {@link Settings}) that should go on cellular networks in preference
* even when higher-priority networks are connected.
*
* @param context The {@link Context} to set the setting.
* @param list A list of apps that should go on cellular networks in preference even when
* higher-priority networks are connected.
*/
public static void setMobileDataPreferredApps(@NonNull Context context, @Nullable String list) {
Settings.Secure.putString(context.getContentResolver(), MOBILE_DATA_PREFERRED_APPS, list);
}
}