Support reevaluation request from captive portal app
CaptivePortalLogin use similar way to validate the network as
NetworkMonitor. Provide API to reuse NetworkMonitor facilities
for consistent captive portal detection.
Bug: 134892996
Test: atest FrameworksNetTests NetworkStackTests NetworkStackNextTests
Test: manually test with captive portal Wi-Fi
Test: make system-api-stubs-docs-update-current-api \
test-api-stubs-docs-update-current-api
Change-Id: I6f039eae7ceb18eb6c3cf15587cdc27a7fe35b00
This commit is contained in:
parent
a935ddf1f0
commit
ef4a17d140
1 changed files with 56 additions and 5 deletions
|
|
@ -60,6 +60,18 @@ public class CaptivePortal implements Parcelable {
|
|||
@SystemApi
|
||||
@TestApi
|
||||
public static final int APP_RETURN_WANTED_AS_IS = 2;
|
||||
/** Event offset of request codes from captive portal application. */
|
||||
private static final int APP_REQUEST_BASE = 100;
|
||||
/**
|
||||
* Request code from the captive portal application, indicating that the network condition may
|
||||
* have changed and the network should be re-validated.
|
||||
* @see ICaptivePortal#appRequest(int)
|
||||
* @see android.net.INetworkMonitor#forceReevaluation(int)
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public static final int APP_REQUEST_REEVALUATION_REQUIRED = APP_REQUEST_BASE + 0;
|
||||
|
||||
private final IBinder mBinder;
|
||||
|
||||
|
|
@ -135,6 +147,19 @@ public class CaptivePortal implements Parcelable {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Request that the system reevaluates the captive portal status.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public void reevaluateNetwork() {
|
||||
try {
|
||||
ICaptivePortal.Stub.asInterface(mBinder).appRequest(APP_REQUEST_REEVALUATION_REQUIRED);
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a captive portal login event.
|
||||
* @param eventId one of the CAPTIVE_PORTAL_LOGIN_* constants in metrics_constants.proto.
|
||||
|
|
|
|||
Loading…
Reference in a new issue