From: Arc Wang Date: Wed, 20 Mar 2019 08:34:00 +0000 (+0800) Subject: Improve Wi-Fi Easy Connect lock screen UI information X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=abfd8ab726bcaebb271068a4354c83d65b990b16;p=android-x86%2Fpackages-apps-Settings.git Improve Wi-Fi Easy Connect lock screen UI information 1. Change lock screen title and remove description 2. In QR code generator screen, change summary and show password under QR code picture Bug: 128920152 Bug: 128576809 Test: manual test Change-Id: Id096d7f417308df14ffe50c618644750aa991df8 --- diff --git a/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml b/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml index 3a0e659c06..c408a97710 100644 --- a/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml +++ b/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml @@ -60,10 +60,10 @@ android:id="@+id/error_message" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginTop="16dp" android:textAlignment="center" - android:layout_marginTop="8dp" - android:visibility="invisible" - android:textColor="?android:attr/colorError"/> + android:textColor="?android:attr/colorError" + android:visibility="invisible"/> diff --git a/res/layout/wifi_dpp_qrcode_generator_fragment.xml b/res/layout/wifi_dpp_qrcode_generator_fragment.xml index 2617aea3fc..31bf7cc4a0 100644 --- a/res/layout/wifi_dpp_qrcode_generator_fragment.xml +++ b/res/layout/wifi_dpp_qrcode_generator_fragment.xml @@ -40,6 +40,14 @@ android:layout_height="@dimen/qrcode_size" android:src="@android:color/transparent"/> + diff --git a/res/layout/wifi_dpp_qrcode_scanner_fragment.xml b/res/layout/wifi_dpp_qrcode_scanner_fragment.xml index 4fa8e8bc73..9bd742af0d 100644 --- a/res/layout/wifi_dpp_qrcode_scanner_fragment.xml +++ b/res/layout/wifi_dpp_qrcode_scanner_fragment.xml @@ -60,10 +60,10 @@ android:id="@+id/error_message" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginTop="16dp" android:textAlignment="center" - android:layout_marginTop="8dp" - android:visibility="invisible" - android:textColor="?android:attr/colorError"/> + android:textColor="?android:attr/colorError" + android:visibility="invisible"/> diff --git a/res/values/strings.xml b/res/values/strings.xml index 631d9120ca..0642f0ac47 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2122,7 +2122,9 @@ Share Wi\u2011Fi - Scan this QR code with another device to join \u201c%1$s\u201d + Scan this QR code to connect to \u201c%1$s\u201d and share the password + + Scan this QR code to connect to \u201c%1$s\u201d Couldn\u2019t read QR code. Re-center code and try again @@ -2159,8 +2161,12 @@ Connecting\u2026 Share hotspot - - Scan this QR code with another device to join hotspot \u201c%1$s\u201d + + Verify it\u0027s you + + Wi\u2011Fi password: %1$s + + Hotspot password: %1$s Retry @@ -3932,8 +3938,6 @@ To use face authentication, set pattern To use face authentication, set PIN - - Your Wi\u2011Fi name and password for \"%1$s\" will be shared. diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java index 5588977554..416933b7ff 100644 --- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java @@ -768,14 +768,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController * Share the wifi network with QR code. */ private void shareNetwork() { - 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()); - - WifiDppUtils.showLockScreen(mContext, title, description, - () -> launchWifiDppConfiguratorActivity()); + WifiDppUtils.showLockScreen(mContext, () -> launchWifiDppConfiguratorActivity()); } /** diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java index 2cd5e23c25..4e6a0d6879 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java @@ -21,6 +21,7 @@ import android.app.settings.SettingsEnums; import android.content.Context; import android.graphics.Bitmap; import android.os.Bundle; +import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -29,6 +30,7 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; +import android.widget.TextView; import com.android.settings.R; import com.android.settings.wifi.qrcode.QrCodeGenerator; @@ -43,6 +45,7 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment { private static final String TAG = "WifiDppQrCodeGeneratorFragment"; private ImageView mQrCodeView; + private TextView mPasswordView; private String mQrCode; @Override @@ -138,12 +141,27 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment { final WifiNetworkConfig wifiNetworkConfig = getWifiNetworkConfigFromHostActivity(); if (wifiNetworkConfig.isHotspot()) { mTitle.setText(R.string.wifi_dpp_share_hotspot); - mSummary.setText(getString(R.string.wifi_dpp_scan_qr_code_to_share_hotspot, - wifiNetworkConfig.getSsid())); } else { mTitle.setText(R.string.wifi_dpp_share_wifi); + } + + final String password = wifiNetworkConfig.getPreSharedKey(); + mPasswordView = view.findViewById(R.id.password); + if (TextUtils.isEmpty(password)) { + mSummary.setText(getString( + R.string.wifi_dpp_scan_open_network_qr_code_with_another_device, + wifiNetworkConfig.getSsid())); + + mPasswordView.setVisibility(View.GONE); + } else { mSummary.setText(getString(R.string.wifi_dpp_scan_qr_code_with_another_device, wifiNetworkConfig.getSsid())); + + if (wifiNetworkConfig.isHotspot()) { + mPasswordView.setText(getString(R.string.wifi_dpp_hotspot_password, password)); + } else { + mPasswordView.setText(getString(R.string.wifi_dpp_wifi_password, password)); + } } mQrCode = wifiNetworkConfig.getQrCode(); diff --git a/src/com/android/settings/wifi/dpp/WifiDppUtils.java b/src/com/android/settings/wifi/dpp/WifiDppUtils.java index fe7af27f95..bf78b3f1a2 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppUtils.java +++ b/src/com/android/settings/wifi/dpp/WifiDppUtils.java @@ -29,6 +29,8 @@ import android.os.Looper; import android.text.TextUtils; import android.util.FeatureFlagUtils; +import com.android.settings.R; + import com.android.settingslib.wifi.AccessPoint; import java.util.List; @@ -273,13 +275,10 @@ public class WifiDppUtils { * user of the device. * * @param context The {@code Context} used to get {@code KeyguardManager} service - * @param title The title on lock screen - * @param description The description on lock screen * @param successRunnable The {@code Runnable} which will be executed if the user does not setup * device security or if lock screen is unlocked */ - public static void showLockScreen(Context context, String title, String description, - Runnable successRunnable) { + public static void showLockScreen(Context context, Runnable successRunnable) { final KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService( Context.KEYGUARD_SERVICE); @@ -299,8 +298,7 @@ public class WifiDppUtils { }; final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(context) - .setTitle(title) - .setDescription(description); + .setTitle(context.getText(R.string.wifi_dpp_lockscreen_title)); if (keyguardManager.isDeviceSecure()) { builder.setDeviceCredentialAllowed(true); diff --git a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java index 10f3e56a27..b7ddcae898 100644 --- a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java +++ b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java @@ -104,13 +104,7 @@ public class WifiTetherSSIDPreferenceController extends WifiTetherBasePreference } private void shareHotspotNetwork(Intent intent) { - final String title = mContext.getString( - R.string.lockpassword_confirm_your_pattern_header); - final String description = String.format( - mContext.getString(R.string.wifi_sharing_message), mSSID); - - WifiDppUtils.showLockScreen(mContext, title, description, - () -> mContext.startActivity(intent)); + WifiDppUtils.showLockScreen(mContext, () -> mContext.startActivity(intent)); } @VisibleForTesting