Add prompt to sign in at captive portal to Wi-Fi Slice

- Support signing in captive portal APs in WifiSlice
- Show ContextualWifiSlice when signing in is required
- Generifies SliceBackgroundWorker.getInstance() to return <T extends SliceBackgroundWorker>

Fixes: 128056349
Test: make RunSettingsRoboTests -j
Change-Id: Ib4d3942591a65e81018389e4c0bbddfea6854dbc
(cherry picked from commit dd9f92280b)
This commit is contained in:
Jason Chiu
2019-04-02 13:57:29 +08:00
committed by Tsung-Mao Fang
parent 44427259e8
commit 8f6c06974c
9 changed files with 277 additions and 24 deletions

View File

@@ -17,6 +17,8 @@
package com.android.settings.wifi.slice;
import android.app.Activity;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.wifi.WifiManager;
import android.os.Bundle;
@@ -36,10 +38,15 @@ public class ConnectToWifiHandler extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Network network = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_NETWORK);
final Bundle accessPointState = getIntent().getBundleExtra(
WifiDialogActivity.KEY_ACCESS_POINT_STATE);
if (accessPointState != null) {
if (network != null) {
final ConnectivityManager cm = getSystemService(ConnectivityManager.class);
// start captive portal app to sign in to network
cm.startCaptivePortalApp(network);
} else if (accessPointState != null) {
connect(new AccessPoint(this, accessPointState));
}
finish();