Merge "Add APIs for carrier network selection"
This commit is contained in:
@@ -500,9 +500,11 @@ package android.net.wifi {
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startLocalOnlyHotspot(@NonNull android.net.wifi.SoftApConfiguration, @Nullable java.util.concurrent.Executor, @Nullable android.net.wifi.WifiManager.LocalOnlyHotspotCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(@NonNull android.net.wifi.hotspot2.OsuProvider, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.hotspot2.ProvisioningCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void startTemporarilyDisablingAllNonCarrierMergedWifi(int);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void stopTemporarilyDisablingAllNonCarrierMergedWifi();
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
|
||||
|
||||
@@ -277,4 +277,8 @@ interface IWifiManager
|
||||
boolean isAutoWakeupEnabled();
|
||||
|
||||
int getNetworkSuggestionUserApprovalStatus(String packageName);
|
||||
|
||||
void startTemporarilyDisablingAllNonCarrierMergedWifi(int subId);
|
||||
|
||||
void stopTemporarilyDisablingAllNonCarrierMergedWifi();
|
||||
}
|
||||
|
||||
@@ -4291,6 +4291,45 @@ public class WifiManager {
|
||||
connectInternal(null, networkId, listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Temporarily disable autojoin for all currently visible and provisioned (saved, suggested)
|
||||
* wifi networks except merged carrier networks from the provided subscription ID.
|
||||
*
|
||||
* Disabled networks will get automatically re-enabled when they are out of range for a period
|
||||
* of time, or after the maximum disable duration specified in the framework.
|
||||
*
|
||||
* Calling {@link #stopTemporarilyDisablingAllNonCarrierMergedWifi()} will immediately re-enable
|
||||
* autojoin on all disabled networks.
|
||||
*
|
||||
* @param subscriptionId the subscription ID of the carrier whose merged wifi networks won't be
|
||||
* disabled {@link android.telephony.SubscriptionInfo#getSubscriptionId()}
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
|
||||
public void startTemporarilyDisablingAllNonCarrierMergedWifi(int subscriptionId) {
|
||||
try {
|
||||
mService.startTemporarilyDisablingAllNonCarrierMergedWifi(subscriptionId);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-enable autojoin for all non carrier merged wifi networks temporarily disconnected by
|
||||
* {@link #startTemporarilyDisablingAllNonCarrierMergedWifi(int)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
|
||||
public void stopTemporarilyDisablingAllNonCarrierMergedWifi() {
|
||||
try {
|
||||
mService.stopTemporarilyDisablingAllNonCarrierMergedWifi();
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the given network to the list of configured networks for the
|
||||
* foreground user. If the network already exists, the configuration
|
||||
|
||||
@@ -1633,6 +1633,24 @@ public class WifiManagerTest {
|
||||
verify(mWifiService).getFactoryMacAddresses();
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify the call to startTemporarilyDisablingAllNonCarrierMergedWifi goes to WifiServiceImpl.
|
||||
*/
|
||||
@Test
|
||||
public void testStartTemporarilyDisablingAllNonCarrierMergedWifi() throws Exception {
|
||||
mWifiManager.startTemporarilyDisablingAllNonCarrierMergedWifi(1);
|
||||
verify(mWifiService).startTemporarilyDisablingAllNonCarrierMergedWifi(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify the call to stopTemporarilyDisablingAllNonCarrierMergedWifi goes to WifiServiceImpl.
|
||||
*/
|
||||
@Test
|
||||
public void testStopTemporarilyDisablingAllNonCarrierMergedWifi() throws Exception {
|
||||
mWifiManager.stopTemporarilyDisablingAllNonCarrierMergedWifi();
|
||||
verify(mWifiService).stopTemporarilyDisablingAllNonCarrierMergedWifi();
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify the call to addOnWifiUsabilityStatsListener goes to WifiServiceImpl.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user