diff --git a/res/layout/wifi_dpp_qrcode_generator_fragment.xml b/res/layout/wifi_dpp_qrcode_generator_fragment.xml index 6df56c62692..5d8a098f50b 100644 --- a/res/layout/wifi_dpp_qrcode_generator_fragment.xml +++ b/res/layout/wifi_dpp_qrcode_generator_fragment.xml @@ -58,7 +58,6 @@ android:minHeight="@dimen/min_tap_target_size" android:layout_marginBottom="24dp" android:textAlignment="center" - android:textIsSelectable="true" android:focusable="true" android:longClickable="true" android:textAppearance="@android:style/TextAppearance.Material.Body1" @@ -69,4 +68,3 @@ - diff --git a/res/values/evolution_strings.xml b/res/values/evolution_strings.xml index d38ebca8bb4..7bddd6f70fc 100644 --- a/res/values/evolution_strings.xml +++ b/res/values/evolution_strings.xml @@ -134,4 +134,8 @@ Do not validate No certificate specified. Your connection will not be private. + + + Copied to clipboard + Long-press to copy diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java index 40cf24d52eb..76cb506cee9 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java @@ -17,7 +17,9 @@ package com.android.settings.wifi.dpp; import android.app.settings.SettingsEnums; +import android.content.ClipboardManager; import android.content.ComponentName; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; @@ -37,6 +39,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; +import android.widget.Toast; import androidx.annotation.Nullable; @@ -140,6 +143,18 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment { } else { passwordView.setText(getString(R.string.wifi_dpp_wifi_password, password)); } + + passwordView.setOnClickListener(v -> { + Toast.makeText(getContext(), R.string.longpress_to_clipboard, Toast.LENGTH_SHORT).show(); + }); + + passwordView.setOnLongClickListener(v -> { + ClipboardManager cm = (ClipboardManager) getContext() + .getSystemService(Context.CLIPBOARD_SERVICE); + cm.setText(password); + Toast.makeText(getContext(), R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show(); + return true; + }); } final Intent intent = new Intent().setComponent(getNearbySharingComponent());