Longpress any row in Status to copy text to the clipboard.
Really convenient for grabbing IMEI/MAC/serial/etc.
Change-Id: I30dd6109d76f342108b10571cf043158b09743d0
diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java
index 6a15027..b5f7b82 100644
--- a/src/com/android/settings/deviceinfo/Status.java
+++ b/src/com/android/settings/deviceinfo/Status.java
@@ -18,6 +18,7 @@
import android.bluetooth.BluetoothAdapter;
import android.content.BroadcastReceiver;
+import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -42,6 +43,12 @@
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ListAdapter;
+import android.widget.ListView;
+import android.widget.Toast;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
@@ -302,6 +309,27 @@
} else {
removePreferenceFromScreen(KEY_SERIAL_NUMBER);
}
+
+ // Make every pref on this screen copy its data to the clipboard on longpress.
+ // Super convenient for capturing the IMEI, MAC addr, serial, etc.
+ getListView().setOnItemLongClickListener(
+ new AdapterView.OnItemLongClickListener() {
+ @Override
+ public boolean onItemLongClick(AdapterView<?> parent, View view,
+ int position, long id) {
+ ListAdapter listAdapter = (ListAdapter) parent.getAdapter();
+ Preference pref = (Preference) listAdapter.getItem(position);
+
+ ClipboardManager cm = (ClipboardManager)
+ getSystemService(Context.CLIPBOARD_SERVICE);
+ cm.setText(pref.getSummary());
+ Toast.makeText(
+ Status.this,
+ com.android.internal.R.string.text_copied,
+ Toast.LENGTH_SHORT).show();
+ return true;
+ }
+ });
}
@Override