Add a "sign into network" button to the wifi details page.
Bug: 36203355 Test: manually signed into captive portal Test: make -j64 RunSettingsRoboTests Change-Id: I3242ef30125ddfdaaac9b80ead4f8ac14ea6d364
This commit is contained in:
@@ -17,8 +17,12 @@ package com.android.settings.wifi.details;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.ConnectivityManager.NetworkCallback;
|
||||
import android.net.NetworkRequest;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
@@ -26,6 +30,7 @@ import com.android.settings.R;
|
||||
import com.android.settings.applications.LayoutPreference;
|
||||
import com.android.settings.core.PreferenceController;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.vpn2.ConnectivityManagerWrapperImpl;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -40,9 +45,6 @@ import java.util.List;
|
||||
public class WifiNetworkDetailsFragment extends DashboardFragment {
|
||||
private static final String TAG = "WifiNetworkDetailsFrg";
|
||||
|
||||
// XML KEYS
|
||||
private static final String KEY_FORGET_BUTTON = "forget_button";
|
||||
|
||||
private AccessPoint mAccessPoint;
|
||||
private Button mForgetButton;
|
||||
private WifiDetailPreferenceController mWifiDetailPreferenceController;
|
||||
@@ -59,9 +61,11 @@ public class WifiNetworkDetailsFragment extends DashboardFragment {
|
||||
|
||||
// Header Title set automatically from launching Preference
|
||||
|
||||
LayoutPreference forgetPreference = ((LayoutPreference) findPreference(KEY_FORGET_BUTTON));
|
||||
forgetPreference.setVisible(mWifiDetailPreferenceController.canForgetNetwork());
|
||||
mForgetButton = (Button) forgetPreference.findViewById(R.id.button);
|
||||
LayoutPreference buttonsPreference = ((LayoutPreference) findPreference(
|
||||
WifiDetailPreferenceController.KEY_BUTTONS_PREF));
|
||||
buttonsPreference.setVisible(mWifiDetailPreferenceController.canForgetNetwork());
|
||||
|
||||
mForgetButton = (Button) buttonsPreference.findViewById(R.id.left_button);
|
||||
mForgetButton.setText(R.string.forget);
|
||||
mForgetButton.setOnClickListener(view -> forgetNetwork());
|
||||
}
|
||||
@@ -88,11 +92,13 @@ public class WifiNetworkDetailsFragment extends DashboardFragment {
|
||||
|
||||
@Override
|
||||
protected List<PreferenceController> getPreferenceControllers(Context context) {
|
||||
ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
||||
mWifiDetailPreferenceController = new WifiDetailPreferenceController(
|
||||
mAccessPoint,
|
||||
context.getSystemService(ConnectivityManager.class),
|
||||
new ConnectivityManagerWrapperImpl(cm),
|
||||
context,
|
||||
this,
|
||||
new Handler(Looper.getMainLooper()), // UI thread.
|
||||
getLifecycle(),
|
||||
context.getSystemService(WifiManager.class));
|
||||
|
||||
|
Reference in New Issue
Block a user