summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJanet Sun <jsun@cyngn.com>2016-08-05 16:41:16 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-09-08 13:43:09 -0700
commit31be1080addd6860b16aef708c1052f8c7d3b663 (patch)
tree530b656ba6839bc41c55114b0c9174b455448404 /src
parentabcf8652e4d308d51110fafd00ecc90f9b607d83 (diff)
downloadpackages_apps_Settings-31be1080addd6860b16aef708c1052f8c7d3b663.zip
packages_apps_Settings-31be1080addd6860b16aef708c1052f8c7d3b663.tar.gz
packages_apps_Settings-31be1080addd6860b16aef708c1052f8c7d3b663.tar.bz2
Settings: Hidden option to view Device ID
On tapping 7 times, show the device ID and copy it to clipboard. CYNGNOS-3232 Change-Id: I1f18874be20671d66ccbe9132bce5d772be14dd9
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/DeviceInfoSettings.java49
1 files changed, 48 insertions, 1 deletions
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index 6a7d970..39eaa5a 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -17,6 +17,8 @@
package com.android.settings;
import android.app.Activity;
+import android.content.ClipData;
+import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
@@ -43,6 +45,7 @@ import android.text.format.DateFormat;
import android.util.Log;
import android.widget.Toast;
+import cyanogenmod.hardware.CMHardwareManager;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Index;
@@ -91,10 +94,13 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
private static final String KEY_CM_UPDATES = "cm_updates";
static final int TAPS_TO_BE_A_DEVELOPER = 7;
+ static final int TAPS_TO_SHOW_DEVICEID = 7;
long[] mHits = new long[3];
int mDevHitCountdown;
+ int mDevIdCountdown;
Toast mDevHitToast;
+ Toast mDevIdToast;
@Override
protected int getMetricsCategory() {
@@ -134,7 +140,10 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
setStringSummary(KEY_DEVICE_MODEL, Build.MODEL);
setStringSummary(KEY_BUILD_NUMBER, Build.DISPLAY);
findPreference(KEY_BUILD_NUMBER).setEnabled(true);
- findPreference(KEY_KERNEL_VERSION).setSummary(getFormattedKernelVersion());
+
+ final Preference kernelPref = findPreference(KEY_KERNEL_VERSION);
+ kernelPref.setEnabled(true);
+ kernelPref.setSummary(getFormattedKernelVersion());
findPreference(KEY_MOD_VERSION).setSummary(
cyanogenmod.os.Build.CYANOGENMOD_DISPLAY_VERSION);
findPreference(KEY_MOD_VERSION).setEnabled(true);
@@ -227,6 +236,8 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
Context.MODE_PRIVATE).getBoolean(DevelopmentSettings.PREF_SHOW,
android.os.Build.TYPE.equals("eng")) ? -1 : TAPS_TO_BE_A_DEVELOPER;
mDevHitToast = null;
+ mDevIdCountdown = TAPS_TO_SHOW_DEVICEID;
+ mDevIdToast = null;
}
@Override
@@ -263,6 +274,42 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
Log.e(LOG_TAG, "Unable to start activity " + intent.toString());
}
}
+ } else if (preference.getKey().equals(KEY_KERNEL_VERSION)) {
+
+ mDevIdCountdown --;
+ if (mDevIdCountdown == 0) {
+ final CMHardwareManager hwMgr = CMHardwareManager.getInstance(getActivity().getApplicationContext());
+ final String deviceID = hwMgr.getUniqueDeviceId();
+ CharSequence msg;
+ if (deviceID == null) {
+ msg = getText(R.string.show_device_id_failed_cm);
+ }
+ else {
+ final ClipboardManager clipboardMgr = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
+ clipboardMgr.setPrimaryClip(ClipData.newPlainText(getResources().
+ getString(R.string.show_device_id_clipboard_label),
+ deviceID));
+ msg = getResources().getString(
+ R.string.show_device_id_copied_cm, deviceID);
+ }
+
+ mDevIdToast = Toast.makeText(getActivity(), msg,
+ Toast.LENGTH_LONG);
+ mDevIdToast.show();
+ mDevIdCountdown = TAPS_TO_SHOW_DEVICEID;
+ }
+ else if (mDevIdCountdown > 0
+ && mDevIdCountdown < (TAPS_TO_SHOW_DEVICEID-2)) {
+
+ if (mDevIdToast != null) {
+ mDevIdToast.cancel();
+ }
+ mDevIdToast = Toast.makeText(getActivity(), getResources().getQuantityString(
+ R.plurals.show_device_id_countdown_cm, mDevIdCountdown, mDevIdCountdown),
+ Toast.LENGTH_SHORT);
+ mDevIdToast.show();
+ }
+
} else if (preference.getKey().equals(KEY_BUILD_NUMBER)) {
// Don't enable developer options for secondary users.
if (UserHandle.myUserId() != UserHandle.USER_OWNER) return true;