Loading wifi/api/system-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -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); Loading wifi/java/android/net/wifi/IWifiManager.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -277,4 +277,8 @@ interface IWifiManager boolean isAutoWakeupEnabled(); int getNetworkSuggestionUserApprovalStatus(String packageName); void startTemporarilyDisablingAllNonCarrierMergedWifi(int subId); void stopTemporarilyDisablingAllNonCarrierMergedWifi(); } wifi/java/android/net/wifi/WifiManager.java +39 −0 Original line number Diff line number Diff line Loading @@ -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 Loading wifi/tests/src/android/net/wifi/WifiManagerTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading
wifi/api/system-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -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); Loading
wifi/java/android/net/wifi/IWifiManager.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -277,4 +277,8 @@ interface IWifiManager boolean isAutoWakeupEnabled(); int getNetworkSuggestionUserApprovalStatus(String packageName); void startTemporarilyDisablingAllNonCarrierMergedWifi(int subId); void stopTemporarilyDisablingAllNonCarrierMergedWifi(); }
wifi/java/android/net/wifi/WifiManager.java +39 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
wifi/tests/src/android/net/wifi/WifiManagerTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -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. */ Loading