Support to share Wi-Fi hotspot via QR code
1. QR code scanner (Wi-Fi Easy Connect) does not support sharing Wi-Fi hotspot at current stage 2. Wi-Fi hotspot QR code button only shows when Wi-Fi hotspot is enabled 3. The QR code has the security string "WPA" for hotspot's WPA2_PSK Bug: 123151660 Test: atest WifiTetherSSIDPreferenceControllerTest WifiQrCodeTest WifiDppConfiguratorActivityTest WifiDppEnrolleeActivityTest WifiDppQrCodeGeneratorFragmentTest WifiDppQrCodeScannerFragmentTest WifiNetworkListFragmentTest WifiDppChooseSavedWifiNetworkFragmentTest Change-Id: I2e89450180b82cc841ee3b15be52bfc6f9f6164d
This commit is contained in:
@@ -21,16 +21,12 @@ import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.KeyguardManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.hardware.biometrics.BiometricPrompt;
|
||||
import android.os.CancellationSignal;
|
||||
import android.os.Looper;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.ConnectivityManager.NetworkCallback;
|
||||
import android.net.LinkAddress;
|
||||
@@ -619,48 +615,16 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
* Share the wifi network with QR code.
|
||||
*/
|
||||
private void shareNetwork() {
|
||||
final KeyguardManager keyguardManager = (KeyguardManager) mContext.getSystemService(
|
||||
Context.KEYGUARD_SERVICE);
|
||||
if (keyguardManager.isKeyguardSecure()) {
|
||||
// Show authentication screen to confirm credentials (pin, pattern or password) for
|
||||
// the current user of the device.
|
||||
final String title = mContext.getString(
|
||||
R.string.lockpassword_confirm_your_pattern_header);
|
||||
final String description = String.format(
|
||||
mContext.getString(R.string.wifi_sharing_message),
|
||||
mAccessPoint.getSsidStr());
|
||||
final String title = mContext.getString(
|
||||
R.string.lockpassword_confirm_your_pattern_header);
|
||||
final String description = String.format(
|
||||
mContext.getString(R.string.wifi_sharing_message),
|
||||
mAccessPoint.getSsidStr());
|
||||
|
||||
final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(mContext)
|
||||
.setTitle(title)
|
||||
.setDescription(description);
|
||||
|
||||
if (keyguardManager.isDeviceSecure()) {
|
||||
builder.setDeviceCredentialAllowed(true);
|
||||
}
|
||||
|
||||
final BiometricPrompt bp = builder.build();
|
||||
final Handler handler = new Handler(Looper.getMainLooper());
|
||||
bp.authenticate(new CancellationSignal(),
|
||||
runnable -> handler.post(runnable),
|
||||
mAuthenticationCallback);
|
||||
} else {
|
||||
launchWifiDppConfiguratorActivity();
|
||||
}
|
||||
WifiDppUtils.showLockScreen(mContext, title, description,
|
||||
() -> launchWifiDppConfiguratorActivity());
|
||||
}
|
||||
|
||||
private BiometricPrompt.AuthenticationCallback mAuthenticationCallback =
|
||||
new BiometricPrompt.AuthenticationCallback() {
|
||||
@Override
|
||||
public void onAuthenticationSucceeded(BiometricPrompt.AuthenticationResult result) {
|
||||
launchWifiDppConfiguratorActivity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAuthenticationError(int errorCode, CharSequence errString) {
|
||||
//Do nothing
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Sign in to the captive portal found on this wifi network associated with this preference.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user