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());