From d411dfb20abc44520267bfb12ebc5fc988867556 Mon Sep 17 00:00:00 2001 From: althafvly Date: Tue, 20 Jun 2023 19:57:58 +0530 Subject: [PATCH 1/3] Settings: add preference for sentry user id Change-Id: I6fcaa9765832ad5d875ff2581eb2aa9e562fe110 --- res/values/cm_strings.xml | 3 + res/xml/development_settings.xml | 8 +++ .../SentryDetailPreferenceController.java | 71 +++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index 4c20366f246..dcea0796cb2 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -218,6 +218,9 @@ Fast charging Disable to reduce the heat produced by the device while charging or to extend the lifespan of the battery + + Sentry User ID + Enable /e/OS Telemetry Enable automatic bug reporting diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml index 3a5f0206cef..ca9e130b60e 100644 --- a/res/xml/development_settings.xml +++ b/res/xml/development_settings.xml @@ -623,6 +623,14 @@ android:key="enable_telemetry" android:title="@string/enable_telemetry" android:summary="@string/telemetry_details" /> + + . + */ + +package com.android.settings.deviceinfo.firmwareversion; + +import android.content.Context; +import android.os.UserHandle; +import android.text.TextUtils; + +import androidx.preference.Preference; + +import com.android.settings.R; +import com.android.settings.core.BasePreferenceController; +import com.android.settings.slices.Sliceable; + +import lineageos.providers.LineageSettings; + + +public class SentryDetailPreferenceController extends BasePreferenceController { + + private static final String TAG = "SentryDetailPreferenceController"; + + public SentryDetailPreferenceController(Context context, String key) { + super(context, key); + } + + @Override + public int getAvailabilityStatus() { + return AVAILABLE; + } + + @Override + public boolean useDynamicSliceSummary() { + return true; + } + + @Override + public boolean isSliceable() { + return true; + } + + @Override + public CharSequence getSummary() { + String sentryId = LineageSettings.Secure.getStringForUser( + mContext.getContentResolver(), LineageSettings.Secure.SENTRY_USERID, + UserHandle.USER_CURRENT); + if (sentryId == null) { + return mContext.getString(R.string.unknown); + } + return sentryId; + } + + @Override + public void copy() { + Sliceable.setCopyContent(mContext, getSummary(), + mContext.getText(R.string.sentry_userid_title)); + } +} -- GitLab From 286a09c569cb309a931fc0716ded9e11cca1ab03 Mon Sep 17 00:00:00 2001 From: althafvly Date: Tue, 27 Jun 2023 11:37:02 +0530 Subject: [PATCH 2/3] Settings: Move settings to base Change-Id: I00d35a4b0cd825432adbdaa7b9fe4ddc358f0141 --- .../firmwareversion/SentryDetailPreferenceController.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java index d4c70004a24..b0cc34c1bee 100644 --- a/src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java +++ b/src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java @@ -19,6 +19,7 @@ package com.android.settings.deviceinfo.firmwareversion; import android.content.Context; import android.os.UserHandle; import android.text.TextUtils; +import android.provider.Settings; import androidx.preference.Preference; @@ -26,8 +27,6 @@ import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.slices.Sliceable; -import lineageos.providers.LineageSettings; - public class SentryDetailPreferenceController extends BasePreferenceController { @@ -54,8 +53,8 @@ public class SentryDetailPreferenceController extends BasePreferenceController { @Override public CharSequence getSummary() { - String sentryId = LineageSettings.Secure.getStringForUser( - mContext.getContentResolver(), LineageSettings.Secure.SENTRY_USERID, + String sentryId = Settings.Secure.getStringForUser( + mContext.getContentResolver(), Settings.Secure.SENTRY_USERID, UserHandle.USER_CURRENT); if (sentryId == null) { return mContext.getString(R.string.unknown); -- GitLab From 4a1d5ace7469761600721e7b6361149d8da0d361 Mon Sep 17 00:00:00 2001 From: althafvly Date: Tue, 27 Jun 2023 11:42:42 +0530 Subject: [PATCH 3/3] Settings: show sentry id if telemetry is on Change-Id: If97e8f79a318697f89ef4214d469a58311a5fb64 --- .../firmwareversion/SentryDetailPreferenceController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java index b0cc34c1bee..f121bcf5be6 100644 --- a/src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java +++ b/src/com/android/settings/deviceinfo/firmwareversion/SentryDetailPreferenceController.java @@ -32,13 +32,16 @@ public class SentryDetailPreferenceController extends BasePreferenceController { private static final String TAG = "SentryDetailPreferenceController"; + private static final String TELEMETRY_KEY = "e_telemetry"; + public SentryDetailPreferenceController(Context context, String key) { super(context, key); } @Override public int getAvailabilityStatus() { - return AVAILABLE; + boolean enable = Settings.System.getInt(mContext.getContentResolver(), TELEMETRY_KEY, 0) == 1; + return enable ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } @Override -- GitLab