Loading src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +31 −6 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ 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; Loading Loading @@ -578,21 +581,43 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController 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 Intent intent = keyguardManager.createConfirmDeviceCredentialIntent( mContext.getString(R.string.lockpassword_confirm_your_pattern_header), description); if (intent != null) { mFragment.startActivityForResult(intent, WifiNetworkDetailsFragment.REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS); final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(mContext) .setTitle(title) .setDescription(description); if (keyguardManager.isDeviceSecure()) { builder.setAllowDeviceCredential(true); } final BiometricPrompt bp = builder.build(); final Handler handler = new Handler(Looper.getMainLooper()); bp.authenticate(new CancellationSignal(), runnable -> handler.post(runnable), mAuthenticationCallback); } else { 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. */ Loading src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java +0 −14 Original line number Diff line number Diff line Loading @@ -17,11 +17,9 @@ package com.android.settings.wifi.details; import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID; import android.app.Activity; import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.os.Bundle; Loading Loading @@ -53,8 +51,6 @@ public class WifiNetworkDetailsFragment extends DashboardFragment { private static final String TAG = "WifiNetworkDetailsFrg"; public static final int REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS = 1; private AccessPoint mAccessPoint; private WifiDetailPreferenceController mWifiDetailPreferenceController; Loading Loading @@ -146,14 +142,4 @@ public class WifiNetworkDetailsFragment extends DashboardFragment { return controllers; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS && resultCode == Activity.RESULT_OK) { mWifiDetailPreferenceController.launchWifiDppConfiguratorActivity(); } } } Loading
src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +31 −6 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ 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; Loading Loading @@ -578,21 +581,43 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController 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 Intent intent = keyguardManager.createConfirmDeviceCredentialIntent( mContext.getString(R.string.lockpassword_confirm_your_pattern_header), description); if (intent != null) { mFragment.startActivityForResult(intent, WifiNetworkDetailsFragment.REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS); final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(mContext) .setTitle(title) .setDescription(description); if (keyguardManager.isDeviceSecure()) { builder.setAllowDeviceCredential(true); } final BiometricPrompt bp = builder.build(); final Handler handler = new Handler(Looper.getMainLooper()); bp.authenticate(new CancellationSignal(), runnable -> handler.post(runnable), mAuthenticationCallback); } else { 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. */ Loading
src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java +0 −14 Original line number Diff line number Diff line Loading @@ -17,11 +17,9 @@ package com.android.settings.wifi.details; import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID; import android.app.Activity; import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.os.Bundle; Loading Loading @@ -53,8 +51,6 @@ public class WifiNetworkDetailsFragment extends DashboardFragment { private static final String TAG = "WifiNetworkDetailsFrg"; public static final int REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS = 1; private AccessPoint mAccessPoint; private WifiDetailPreferenceController mWifiDetailPreferenceController; Loading Loading @@ -146,14 +142,4 @@ public class WifiNetworkDetailsFragment extends DashboardFragment { return controllers; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS && resultCode == Activity.RESULT_OK) { mWifiDetailPreferenceController.launchWifiDppConfiguratorActivity(); } } }