Loading api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -31682,6 +31682,7 @@ package android.net.wifi { method public android.net.DhcpInfo getDhcpInfo(); method public int getMaxNumberOfNetworkSuggestionsPerApp(); method @IntRange(from=0) public int getMaxSignalLevel(); method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getNetworkSuggestionUserApprovalStatus(); method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions(); method @Deprecated @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", "android.permission.NETWORK_SETUP_WIZARD"}) public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations(); method public java.util.List<android.net.wifi.ScanResult> getScanResults(); Loading Loading @@ -31752,6 +31753,11 @@ package android.net.wifi { field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5 field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2 field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1 field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3 field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3 wifi/api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -323,6 +323,7 @@ package android.net.wifi { method public android.net.DhcpInfo getDhcpInfo(); method public int getMaxNumberOfNetworkSuggestionsPerApp(); method @IntRange(from=0) public int getMaxSignalLevel(); method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getNetworkSuggestionUserApprovalStatus(); method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions(); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations(); method public java.util.List<android.net.wifi.ScanResult> getScanResults(); Loading Loading @@ -393,6 +394,11 @@ package android.net.wifi { field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5 field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2 field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1 field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3 field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3 Loading wifi/java/android/net/wifi/IWifiManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -275,4 +275,6 @@ interface IWifiManager void setAutoWakeupEnabled(boolean enable); boolean isAutoWakeupEnabled(); int getNetworkSuggestionUserApprovalStatus(String packageName); } wifi/java/android/net/wifi/WifiManager.java +59 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import android.os.Looper; import android.os.RemoteException; import android.os.WorkSource; import android.os.connectivity.WifiActivityEnergyInfo; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.CloseGuard; import android.util.Log; Loading Loading @@ -263,6 +264,44 @@ public class WifiManager { @Retention(RetentionPolicy.SOURCE) public @interface SuggestionConnectionStatusCode {} /** * Status code if suggestion approval status is unknown, an App which hasn't made any * suggestions will get this code. */ public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; /** * Status code if the calling app is still pending user approval for suggestions. */ public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; /** * Status code if the calling app got the user approval for suggestions. */ public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; /** * Status code if the calling app suggestions were rejected by the user. */ public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; /** * Status code if the calling app was approved by virtue of being a carrier privileged app. * @see TelephonyManager#hasCarrierPrivileges(). */ public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; /** @hide */ @IntDef(prefix = {"STATUS_SUGGESTION_APPROVAL_"}, value = {STATUS_SUGGESTION_APPROVAL_UNKNOWN, STATUS_SUGGESTION_APPROVAL_PENDING, STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER, STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER, STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE }) @Retention(RetentionPolicy.SOURCE) public @interface SuggestionUserApprovalStatus {} /** * Broadcast intent action indicating whether Wi-Fi scanning is currently available. * Available extras: Loading Loading @@ -2009,6 +2048,26 @@ public class WifiManager { : NETWORK_SUGGESTIONS_MAX_PER_APP_HIGH_RAM; } /** * Get the Suggestion approval status of the calling app. When an app makes suggestions using * the {@link #addNetworkSuggestions(List)} API they may trigger a user approval flow. This API * provides the current approval status. * * @return Status code for the user approval. One of the STATUS_SUGGESTION_APPROVAL_ values. * @throws {@link SecurityException} if the caller is missing required permissions. */ @RequiresPermission(ACCESS_WIFI_STATE) public @SuggestionUserApprovalStatus int getNetworkSuggestionUserApprovalStatus() { if (!SdkLevel.isAtLeastS()) { throw new UnsupportedOperationException(); } try { return mService.getNetworkSuggestionUserApprovalStatus(mContext.getOpPackageName()); } catch (RemoteException e) { throw e.rethrowAsRuntimeException(); } } /** * Add or update a Passpoint configuration. The configuration provides a credential * for connecting to Passpoint networks that are operated by the Passpoint Loading wifi/tests/src/android/net/wifi/WifiManagerTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -2415,4 +2415,13 @@ public class WifiManagerTest { assertFalse(mWifiManager.isScanAlwaysAvailable()); verify(mWifiService).isScanAlwaysAvailable(); } @Test public void testGetNetworkSuggestionUserApprovalStatus() throws Exception { when(mWifiService.getNetworkSuggestionUserApprovalStatus(TEST_PACKAGE_NAME)) .thenReturn(WifiManager.STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER); assertEquals(WifiManager.STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER, mWifiManager.getNetworkSuggestionUserApprovalStatus()); verify(mWifiService).getNetworkSuggestionUserApprovalStatus(TEST_PACKAGE_NAME); } } Loading
api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -31682,6 +31682,7 @@ package android.net.wifi { method public android.net.DhcpInfo getDhcpInfo(); method public int getMaxNumberOfNetworkSuggestionsPerApp(); method @IntRange(from=0) public int getMaxSignalLevel(); method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getNetworkSuggestionUserApprovalStatus(); method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions(); method @Deprecated @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", "android.permission.NETWORK_SETUP_WIZARD"}) public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations(); method public java.util.List<android.net.wifi.ScanResult> getScanResults(); Loading Loading @@ -31752,6 +31753,11 @@ package android.net.wifi { field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5 field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2 field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1 field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3 field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
wifi/api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -323,6 +323,7 @@ package android.net.wifi { method public android.net.DhcpInfo getDhcpInfo(); method public int getMaxNumberOfNetworkSuggestionsPerApp(); method @IntRange(from=0) public int getMaxSignalLevel(); method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getNetworkSuggestionUserApprovalStatus(); method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions(); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations(); method public java.util.List<android.net.wifi.ScanResult> getScanResults(); Loading Loading @@ -393,6 +394,11 @@ package android.net.wifi { field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5 field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2 field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1 field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3 field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3 Loading
wifi/java/android/net/wifi/IWifiManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -275,4 +275,6 @@ interface IWifiManager void setAutoWakeupEnabled(boolean enable); boolean isAutoWakeupEnabled(); int getNetworkSuggestionUserApprovalStatus(String packageName); }
wifi/java/android/net/wifi/WifiManager.java +59 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import android.os.Looper; import android.os.RemoteException; import android.os.WorkSource; import android.os.connectivity.WifiActivityEnergyInfo; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.CloseGuard; import android.util.Log; Loading Loading @@ -263,6 +264,44 @@ public class WifiManager { @Retention(RetentionPolicy.SOURCE) public @interface SuggestionConnectionStatusCode {} /** * Status code if suggestion approval status is unknown, an App which hasn't made any * suggestions will get this code. */ public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; /** * Status code if the calling app is still pending user approval for suggestions. */ public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; /** * Status code if the calling app got the user approval for suggestions. */ public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; /** * Status code if the calling app suggestions were rejected by the user. */ public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; /** * Status code if the calling app was approved by virtue of being a carrier privileged app. * @see TelephonyManager#hasCarrierPrivileges(). */ public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; /** @hide */ @IntDef(prefix = {"STATUS_SUGGESTION_APPROVAL_"}, value = {STATUS_SUGGESTION_APPROVAL_UNKNOWN, STATUS_SUGGESTION_APPROVAL_PENDING, STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER, STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER, STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE }) @Retention(RetentionPolicy.SOURCE) public @interface SuggestionUserApprovalStatus {} /** * Broadcast intent action indicating whether Wi-Fi scanning is currently available. * Available extras: Loading Loading @@ -2009,6 +2048,26 @@ public class WifiManager { : NETWORK_SUGGESTIONS_MAX_PER_APP_HIGH_RAM; } /** * Get the Suggestion approval status of the calling app. When an app makes suggestions using * the {@link #addNetworkSuggestions(List)} API they may trigger a user approval flow. This API * provides the current approval status. * * @return Status code for the user approval. One of the STATUS_SUGGESTION_APPROVAL_ values. * @throws {@link SecurityException} if the caller is missing required permissions. */ @RequiresPermission(ACCESS_WIFI_STATE) public @SuggestionUserApprovalStatus int getNetworkSuggestionUserApprovalStatus() { if (!SdkLevel.isAtLeastS()) { throw new UnsupportedOperationException(); } try { return mService.getNetworkSuggestionUserApprovalStatus(mContext.getOpPackageName()); } catch (RemoteException e) { throw e.rethrowAsRuntimeException(); } } /** * Add or update a Passpoint configuration. The configuration provides a credential * for connecting to Passpoint networks that are operated by the Passpoint Loading
wifi/tests/src/android/net/wifi/WifiManagerTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -2415,4 +2415,13 @@ public class WifiManagerTest { assertFalse(mWifiManager.isScanAlwaysAvailable()); verify(mWifiService).isScanAlwaysAvailable(); } @Test public void testGetNetworkSuggestionUserApprovalStatus() throws Exception { when(mWifiService.getNetworkSuggestionUserApprovalStatus(TEST_PACKAGE_NAME)) .thenReturn(WifiManager.STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER); assertEquals(WifiManager.STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER, mWifiManager.getNetworkSuggestionUserApprovalStatus()); verify(mWifiService).getNetworkSuggestionUserApprovalStatus(TEST_PACKAGE_NAME); } }