diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index 165c7cd9aa9c3a0b4e28fe0b4d18d574e3447744..be80566240562701c5c72822e96966b38ba630b9 100644
--- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml
@@ -190,6 +190,9 @@
/e/ OS version
+
+ /e/ OS license ID
+
/e/ legal
diff --git a/res/xml/my_device_info.xml b/res/xml/my_device_info.xml
index 1135e794d185628e29282694dbde88bec6e980a9..7c83d1e2b9890d27e9c805da6c0678e183304079 100644
--- a/res/xml/my_device_info.xml
+++ b/res/xml/my_device_info.xml
@@ -190,6 +190,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;
+
+
+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;
+ }
+}