Fix API in CaptivePortal and ConnectivityManager
- Remove CaptivePortal constructor from SystemApi. This constructor was added in Q timeframe and ends up being unnecessary since CaptivePortal creation was refactored to ConnectivityService because of visibility issues on ICaptivePortal. - Rename getAvoidBadWifi to shouldAvoidBadWifi - Add permission annotation for shouldAvoidBadWifi Test: flashed, WiFi and captive portal works Bug: 128935314 Bug: 128935673 (clean cherry-pick of AOSP I7395d4a4db6a64398a827692aee1956c011873e5) Change-Id: I09545c00af3519dbf141dd5951b28f49e37b3e80
This commit is contained in:
@@ -4029,7 +4029,6 @@ package android.metrics {
|
||||
package android.net {
|
||||
|
||||
public class CaptivePortal implements android.os.Parcelable {
|
||||
ctor public CaptivePortal(@NonNull android.os.IBinder);
|
||||
method public void logEvent(int, @NonNull String);
|
||||
method public void useNetwork();
|
||||
field public static final int APP_RETURN_DISMISSED = 0; // 0x0
|
||||
@@ -4040,12 +4039,12 @@ package android.net {
|
||||
public class ConnectivityManager {
|
||||
method @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createNattKeepalive(@NonNull android.net.Network, @NonNull java.io.FileDescriptor, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
|
||||
method @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
|
||||
method public boolean getAvoidBadWifi();
|
||||
method @RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS) public String getCaptivePortalServerUrl();
|
||||
method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
|
||||
method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
|
||||
method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void setAirplaneMode(boolean);
|
||||
method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, "android.permission.NETWORK_STACK"}) public boolean shouldAvoidBadWifi();
|
||||
method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
|
||||
method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
|
||||
|
||||
@@ -1207,7 +1207,6 @@ package android.metrics {
|
||||
package android.net {
|
||||
|
||||
public class CaptivePortal implements android.os.Parcelable {
|
||||
ctor public CaptivePortal(@NonNull android.os.IBinder);
|
||||
method public void logEvent(int, @NonNull String);
|
||||
method public void useNetwork();
|
||||
field public static final int APP_RETURN_DISMISSED = 0; // 0x0
|
||||
|
||||
@@ -64,8 +64,6 @@ public class CaptivePortal implements Parcelable {
|
||||
private final IBinder mBinder;
|
||||
|
||||
/** @hide */
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public CaptivePortal(@NonNull IBinder binder) {
|
||||
mBinder = binder;
|
||||
}
|
||||
|
||||
@@ -4101,9 +4101,12 @@ public class ConnectivityManager {
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public boolean getAvoidBadWifi() {
|
||||
@RequiresPermission(anyOf = {
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
||||
android.Manifest.permission.NETWORK_STACK})
|
||||
public boolean shouldAvoidBadWifi() {
|
||||
try {
|
||||
return mService.getAvoidBadWifi();
|
||||
return mService.shouldAvoidBadWifi();
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ interface IConnectivityManager
|
||||
void startCaptivePortalApp(in Network network);
|
||||
void startCaptivePortalAppInternal(in Network network, in Bundle appExtras);
|
||||
|
||||
boolean getAvoidBadWifi();
|
||||
boolean shouldAvoidBadWifi();
|
||||
int getMultipathPreference(in Network Network);
|
||||
|
||||
NetworkRequest getDefaultRequest();
|
||||
|
||||
@@ -897,7 +897,7 @@ public class IpClient extends StateMachine {
|
||||
// accompanying code in IpReachabilityMonitor) is unreachable.
|
||||
final boolean ignoreIPv6ProvisioningLoss =
|
||||
mConfiguration != null && mConfiguration.mUsingMultinetworkPolicyTracker
|
||||
&& mCm.getAvoidBadWifi();
|
||||
&& mCm.shouldAvoidBadWifi();
|
||||
|
||||
// Additionally:
|
||||
//
|
||||
|
||||
@@ -332,7 +332,7 @@ public class IpReachabilityMonitor {
|
||||
}
|
||||
|
||||
private boolean avoidingBadLinks() {
|
||||
return !mUsingMultinetworkPolicyTracker || mCm.getAvoidBadWifi();
|
||||
return !mUsingMultinetworkPolicyTracker || mCm.shouldAvoidBadWifi();
|
||||
}
|
||||
|
||||
public void probeAll() {
|
||||
|
||||
@@ -3470,8 +3470,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
return mMultinetworkPolicyTracker.getAvoidBadWifi();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getAvoidBadWifi() {
|
||||
/**
|
||||
* Return whether the device should maintain continuous, working connectivity by switching away
|
||||
* from WiFi networks having no connectivity.
|
||||
* @see MultinetworkPolicyTracker#getAvoidBadWifi()
|
||||
*/
|
||||
public boolean shouldAvoidBadWifi() {
|
||||
if (!checkNetworkStackPermission()) {
|
||||
throw new SecurityException("avoidBadWifi requires NETWORK_STACK permission");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user