diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index 4c20366f24614f2b69b8ff25d070b8b83917865f..dcea0796cb202f93da75e2ea05cc71949d6dabc1 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 3a5f0206cef3fe13fdbf9d84ff6708f3378218b6..ca9e130b60ed660026b835171f03cc27ebd2a1f6 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 android.provider.Settings;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.slices.Sliceable;
+
+
+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() {
+ boolean enable = Settings.System.getInt(mContext.getContentResolver(), TELEMETRY_KEY, 0) == 1;
+ return enable ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ }
+
+ @Override
+ public boolean useDynamicSliceSummary() {
+ return true;
+ }
+
+ @Override
+ public boolean isSliceable() {
+ return true;
+ }
+
+ @Override
+ public CharSequence getSummary() {
+ String sentryId = Settings.Secure.getStringForUser(
+ mContext.getContentResolver(), Settings.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));
+ }
+}