Loading res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2201,6 +2201,8 @@ <string name="wifi_turned_on_message">Wi\u2011Fi turned on</string> <!-- A notification for connected to a Wi-Fi network [CHAR LIMIT=NONE] --> <string name="wifi_connected_to_message">Connected to <xliff:g id="network_name" example="MyNetwork">%1$s</xliff:g></string> <!-- A notification for connecting to a Wi-Fi network [CHAR LIMIT=NONE] --> <string name="wifi_connecting_to_message">Connecting to <xliff:g id="network_name" example="MyNetwork">%1$s</xliff:g></string> <!-- Button label to connecting progress to a Wi-Fi network [CHAR LIMIT=20] --> <string name="wifi_connecting">Connecting\u2026</string> <!-- Failured notification for connect --> Loading src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java +0 −2 Original line number Diff line number Diff line Loading @@ -40,7 +40,6 @@ import com.android.settings.core.InstrumentedFragment; import com.android.settings.homepage.contextualcards.slices.BluetoothUpdateWorker; import com.android.settings.homepage.contextualcards.slices.SwipeDismissalDelegate; import com.android.settings.overlay.FeatureFactory; import com.android.settings.wifi.slice.ContextualWifiScanWorker; public class ContextualCardsFragment extends InstrumentedFragment implements FocusRecyclerView.FocusListener { Loading Loading @@ -80,7 +79,6 @@ public class ContextualCardsFragment extends InstrumentedFragment implements super.onStart(); registerScreenOffReceiver(); registerKeyEventReceiver(); ContextualWifiScanWorker.newVisibleUiSession(); mContextualCardManager.loadContextualCards(LoaderManager.getInstance(this), sRestartLoaderNeeded); sRestartLoaderNeeded = false; Loading src/com/android/settings/wifi/AddNetworkFragment.java +2 −1 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.core.InstrumentedFragment; import com.android.settings.wifi.dpp.WifiDppQrCodeScannerFragment; import com.android.settings.wifi.dpp.WifiDppUtils; /** Loading Loading @@ -116,7 +117,7 @@ public class AddNetworkFragment extends InstrumentedFragment implements WifiConf } final WifiConfiguration config = data.getParcelableExtra( WifiDialogActivity.KEY_WIFI_CONFIGURATION); WifiDppQrCodeScannerFragment.KEY_WIFI_CONFIGURATION); successfullyFinish(config); } } Loading src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java +2 −4 Original line number Diff line number Diff line Loading @@ -57,7 +57,6 @@ import androidx.annotation.VisibleForTesting; import androidx.lifecycle.ViewModelProviders; import com.android.settings.R; import com.android.settings.wifi.WifiDialogActivity; import com.android.settings.wifi.qrcode.QrCamera; import com.android.settings.wifi.qrcode.QrDecorateView; import com.android.wifitrackerlib.WifiEntry; Loading Loading @@ -91,7 +90,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl // Key for Bundle usage private static final String KEY_IS_CONFIGURATOR_MODE = "key_is_configurator_mode"; private static final String KEY_LATEST_ERROR_CODE = "key_latest_error_code"; private static final String KEY_WIFI_CONFIGURATION = "key_wifi_configuration"; public static final String KEY_WIFI_CONFIGURATION = "key_wifi_configuration"; private static final int ARG_RESTART_CAMERA = 1; Loading Loading @@ -689,8 +688,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl @Override public void onSuccess() { final Intent resultIntent = new Intent(); resultIntent.putExtra(WifiDialogActivity.KEY_WIFI_CONFIGURATION, mEnrolleeWifiConfiguration); resultIntent.putExtra(KEY_WIFI_CONFIGURATION, mEnrolleeWifiConfiguration); final Activity hostActivity = getActivity(); hostActivity.setResult(Activity.RESULT_OK, resultIntent); Loading src/com/android/settings/wifi/slice/ConnectToWifiHandler.java +46 −33 Original line number Diff line number Diff line Loading @@ -19,61 +19,74 @@ package com.android.settings.wifi.slice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.Network; import android.net.wifi.WifiManager; import android.os.Bundle; import android.text.TextUtils; import android.widget.Toast; import androidx.annotation.VisibleForTesting; import com.android.settings.wifi.WifiConnectListener; import com.android.settings.R; import com.android.settings.slices.SliceBackgroundWorker; import com.android.settings.wifi.WifiDialogActivity; import com.android.settings.wifi.WifiUtils; import com.android.settingslib.wifi.AccessPoint; import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry.ConnectCallback; /** * This receiver helps connect to Wi-Fi network */ public class ConnectToWifiHandler extends BroadcastReceiver { static final String KEY_CHOSEN_WIFIENTRY_KEY = "key_chosen_wifientry_key"; static final String KEY_WIFI_SLICE_URI = "key_wifi_slice_uri"; @Override public void onReceive(Context context, Intent intent) { if (context == null || intent == null) { return; } final Network network = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK); final Bundle accessPointState = intent.getBundleExtra( WifiDialogActivity.KEY_ACCESS_POINT_STATE); if (network != null) { WifiScanWorker.clearClickedWifi(); final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class); // start captive portal app to sign in to network cm.startCaptivePortalApp(network); } else if (accessPointState != null) { connect(context, new AccessPoint(context, accessPointState)); final String key = intent.getStringExtra(KEY_CHOSEN_WIFIENTRY_KEY); if (TextUtils.isEmpty(key)) { return; } if (intent.getParcelableExtra(KEY_WIFI_SLICE_URI) == null) { return; } final WifiScanWorker worker = getWifiScanWorker(intent); if (worker == null) { return; } final WifiEntry wifiEntry = worker.getWifiEntry(key); if (wifiEntry == null) { return; } wifiEntry.connect(new WifiEntryConnectCallback(context, wifiEntry)); } @VisibleForTesting void connect(Context context, AccessPoint accessPoint) { ContextualWifiScanWorker.saveSession(); WifiScanWorker.saveClickedWifi(accessPoint); WifiScanWorker getWifiScanWorker(Intent intent) { return SliceBackgroundWorker.getInstance(intent.getParcelableExtra(KEY_WIFI_SLICE_URI)); } final WifiConnectListener connectListener = new WifiConnectListener(context); switch (WifiUtils.getConnectingType(accessPoint)) { case WifiUtils.CONNECT_TYPE_OSU_PROVISION: accessPoint.startOsuProvisioning(connectListener); break; @VisibleForTesting static class WifiEntryConnectCallback implements WifiEntry.ConnectCallback { final Context mContext; final WifiEntry mWifiEntry; case WifiUtils.CONNECT_TYPE_OPEN_NETWORK: accessPoint.generateOpenNetworkConfig(); WifiEntryConnectCallback(Context context, WifiEntry connectWifiEntry) { mContext = context; mWifiEntry = connectWifiEntry; } case WifiUtils.CONNECT_TYPE_SAVED_NETWORK: final WifiManager wifiManager = context.getSystemService(WifiManager.class); wifiManager.connect(accessPoint.getConfig(), connectListener); break; @Override public void onConnectResult(@ConnectStatus int status) { if (status == ConnectCallback.CONNECT_STATUS_FAILURE_NO_CONFIG) { final Intent intent = new Intent(mContext, WifiDialogActivity.class) .putExtra(WifiDialogActivity.KEY_CHOSEN_WIFIENTRY_KEY, mWifiEntry.getKey()); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent); } else if (status == CONNECT_STATUS_FAILURE_UNKNOWN) { Toast.makeText(mContext, R.string.wifi_failed_connect_message, Toast.LENGTH_SHORT).show(); } } } } Loading
res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2201,6 +2201,8 @@ <string name="wifi_turned_on_message">Wi\u2011Fi turned on</string> <!-- A notification for connected to a Wi-Fi network [CHAR LIMIT=NONE] --> <string name="wifi_connected_to_message">Connected to <xliff:g id="network_name" example="MyNetwork">%1$s</xliff:g></string> <!-- A notification for connecting to a Wi-Fi network [CHAR LIMIT=NONE] --> <string name="wifi_connecting_to_message">Connecting to <xliff:g id="network_name" example="MyNetwork">%1$s</xliff:g></string> <!-- Button label to connecting progress to a Wi-Fi network [CHAR LIMIT=20] --> <string name="wifi_connecting">Connecting\u2026</string> <!-- Failured notification for connect --> Loading
src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java +0 −2 Original line number Diff line number Diff line Loading @@ -40,7 +40,6 @@ import com.android.settings.core.InstrumentedFragment; import com.android.settings.homepage.contextualcards.slices.BluetoothUpdateWorker; import com.android.settings.homepage.contextualcards.slices.SwipeDismissalDelegate; import com.android.settings.overlay.FeatureFactory; import com.android.settings.wifi.slice.ContextualWifiScanWorker; public class ContextualCardsFragment extends InstrumentedFragment implements FocusRecyclerView.FocusListener { Loading Loading @@ -80,7 +79,6 @@ public class ContextualCardsFragment extends InstrumentedFragment implements super.onStart(); registerScreenOffReceiver(); registerKeyEventReceiver(); ContextualWifiScanWorker.newVisibleUiSession(); mContextualCardManager.loadContextualCards(LoaderManager.getInstance(this), sRestartLoaderNeeded); sRestartLoaderNeeded = false; Loading
src/com/android/settings/wifi/AddNetworkFragment.java +2 −1 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.core.InstrumentedFragment; import com.android.settings.wifi.dpp.WifiDppQrCodeScannerFragment; import com.android.settings.wifi.dpp.WifiDppUtils; /** Loading Loading @@ -116,7 +117,7 @@ public class AddNetworkFragment extends InstrumentedFragment implements WifiConf } final WifiConfiguration config = data.getParcelableExtra( WifiDialogActivity.KEY_WIFI_CONFIGURATION); WifiDppQrCodeScannerFragment.KEY_WIFI_CONFIGURATION); successfullyFinish(config); } } Loading
src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java +2 −4 Original line number Diff line number Diff line Loading @@ -57,7 +57,6 @@ import androidx.annotation.VisibleForTesting; import androidx.lifecycle.ViewModelProviders; import com.android.settings.R; import com.android.settings.wifi.WifiDialogActivity; import com.android.settings.wifi.qrcode.QrCamera; import com.android.settings.wifi.qrcode.QrDecorateView; import com.android.wifitrackerlib.WifiEntry; Loading Loading @@ -91,7 +90,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl // Key for Bundle usage private static final String KEY_IS_CONFIGURATOR_MODE = "key_is_configurator_mode"; private static final String KEY_LATEST_ERROR_CODE = "key_latest_error_code"; private static final String KEY_WIFI_CONFIGURATION = "key_wifi_configuration"; public static final String KEY_WIFI_CONFIGURATION = "key_wifi_configuration"; private static final int ARG_RESTART_CAMERA = 1; Loading Loading @@ -689,8 +688,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl @Override public void onSuccess() { final Intent resultIntent = new Intent(); resultIntent.putExtra(WifiDialogActivity.KEY_WIFI_CONFIGURATION, mEnrolleeWifiConfiguration); resultIntent.putExtra(KEY_WIFI_CONFIGURATION, mEnrolleeWifiConfiguration); final Activity hostActivity = getActivity(); hostActivity.setResult(Activity.RESULT_OK, resultIntent); Loading
src/com/android/settings/wifi/slice/ConnectToWifiHandler.java +46 −33 Original line number Diff line number Diff line Loading @@ -19,61 +19,74 @@ package com.android.settings.wifi.slice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.Network; import android.net.wifi.WifiManager; import android.os.Bundle; import android.text.TextUtils; import android.widget.Toast; import androidx.annotation.VisibleForTesting; import com.android.settings.wifi.WifiConnectListener; import com.android.settings.R; import com.android.settings.slices.SliceBackgroundWorker; import com.android.settings.wifi.WifiDialogActivity; import com.android.settings.wifi.WifiUtils; import com.android.settingslib.wifi.AccessPoint; import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry.ConnectCallback; /** * This receiver helps connect to Wi-Fi network */ public class ConnectToWifiHandler extends BroadcastReceiver { static final String KEY_CHOSEN_WIFIENTRY_KEY = "key_chosen_wifientry_key"; static final String KEY_WIFI_SLICE_URI = "key_wifi_slice_uri"; @Override public void onReceive(Context context, Intent intent) { if (context == null || intent == null) { return; } final Network network = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK); final Bundle accessPointState = intent.getBundleExtra( WifiDialogActivity.KEY_ACCESS_POINT_STATE); if (network != null) { WifiScanWorker.clearClickedWifi(); final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class); // start captive portal app to sign in to network cm.startCaptivePortalApp(network); } else if (accessPointState != null) { connect(context, new AccessPoint(context, accessPointState)); final String key = intent.getStringExtra(KEY_CHOSEN_WIFIENTRY_KEY); if (TextUtils.isEmpty(key)) { return; } if (intent.getParcelableExtra(KEY_WIFI_SLICE_URI) == null) { return; } final WifiScanWorker worker = getWifiScanWorker(intent); if (worker == null) { return; } final WifiEntry wifiEntry = worker.getWifiEntry(key); if (wifiEntry == null) { return; } wifiEntry.connect(new WifiEntryConnectCallback(context, wifiEntry)); } @VisibleForTesting void connect(Context context, AccessPoint accessPoint) { ContextualWifiScanWorker.saveSession(); WifiScanWorker.saveClickedWifi(accessPoint); WifiScanWorker getWifiScanWorker(Intent intent) { return SliceBackgroundWorker.getInstance(intent.getParcelableExtra(KEY_WIFI_SLICE_URI)); } final WifiConnectListener connectListener = new WifiConnectListener(context); switch (WifiUtils.getConnectingType(accessPoint)) { case WifiUtils.CONNECT_TYPE_OSU_PROVISION: accessPoint.startOsuProvisioning(connectListener); break; @VisibleForTesting static class WifiEntryConnectCallback implements WifiEntry.ConnectCallback { final Context mContext; final WifiEntry mWifiEntry; case WifiUtils.CONNECT_TYPE_OPEN_NETWORK: accessPoint.generateOpenNetworkConfig(); WifiEntryConnectCallback(Context context, WifiEntry connectWifiEntry) { mContext = context; mWifiEntry = connectWifiEntry; } case WifiUtils.CONNECT_TYPE_SAVED_NETWORK: final WifiManager wifiManager = context.getSystemService(WifiManager.class); wifiManager.connect(accessPoint.getConfig(), connectListener); break; @Override public void onConnectResult(@ConnectStatus int status) { if (status == ConnectCallback.CONNECT_STATUS_FAILURE_NO_CONFIG) { final Intent intent = new Intent(mContext, WifiDialogActivity.class) .putExtra(WifiDialogActivity.KEY_CHOSEN_WIFIENTRY_KEY, mWifiEntry.getKey()); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent); } else if (status == CONNECT_STATUS_FAILURE_UNKNOWN) { Toast.makeText(mContext, R.string.wifi_failed_connect_message, Toast.LENGTH_SHORT).show(); } } } }