diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index 520933f55316164851ab1e73d458268e9ebf90b3..3aa08f86c6f851151581f99507c982217b608343 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
+
+ /e/ OS license ID
+
Sentry User ID
diff --git a/res/xml/my_device_info.xml b/res/xml/my_device_info.xml
index 0de8cdcc73690cbdcc122d9e68980fb9d81e05a7..4c8fe9354108a25c86e5cfbbcaf1533709d196ac 100644
--- a/res/xml/my_device_info.xml
+++ b/res/xml/my_device_info.xml
@@ -169,6 +169,16 @@
android:summary="@string/summary_placeholder"
android:selectable="false"/>
+
+
+
.
+ */
+
+package com.android.settings.deviceinfo.firmwareversion;
+
+import android.content.Context;
+import android.os.UserHandle;
+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 LicenseIDDetailPreferenceController extends BasePreferenceController {
+
+ private static final String TAG = "LicenseIDDetailPreferenceController";
+
+ public LicenseIDDetailPreferenceController(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 eLicenseID = Settings.Secure.getStringForUser(
+ mContext.getContentResolver(), Settings.Secure.E_LICENSE_ID,
+ UserHandle.USER_CURRENT);
+ if (eLicenseID == null) {
+ return mContext.getString(R.string.unknown);
+ }
+ return eLicenseID;
+ }
+
+ @Override
+ public void copy() {
+ Sliceable.setCopyContent(mContext, getSummary(),
+ mContext.getText(R.string.sentry_userid_title));
+ }
+}