diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9687bf224c1..b6b860da69a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2661,7 +2661,7 @@
MDN
- My phone number
+ Phone number
MIN
diff --git a/res/xml/device_info_settings_v2.xml b/res/xml/device_info_settings_v2.xml
new file mode 100644
index 00000000000..4f66b4c37b0
--- /dev/null
+++ b/res/xml/device_info_settings_v2.xml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index abf68f2762a..41eb6c66824 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -21,6 +21,7 @@ import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.provider.SearchIndexableResource;
+import android.util.FeatureFlagUtils;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.dashboard.DashboardFragment;
@@ -51,6 +52,7 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
private static final String LOG_TAG = "DeviceInfoSettings";
private static final String KEY_LEGAL_CONTAINER = "legal_container";
+ private static final String DEVICE_INFO_V2_FEATURE_FLAG = "device_info_v2";
@Override
public int getMetricsCategory() {
@@ -79,7 +81,8 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
@Override
protected int getPreferenceScreenResId() {
- return R.xml.device_info_settings;
+ return FeatureFlagUtils.isEnabled(DEVICE_INFO_V2_FEATURE_FLAG)
+ ? R.xml.device_info_settings_v2 : R.xml.device_info_settings;
}
@Override
@@ -115,6 +118,37 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
private static List buildPreferenceControllers(Context context,
Activity activity, Fragment fragment, Lifecycle lifecycle) {
+ if (FeatureFlagUtils.isEnabled(DEVICE_INFO_V2_FEATURE_FLAG)) {
+ final List controllers = new ArrayList<>();
+
+ // Device name
+
+ // Phone number
+
+ // SIM status
+
+ // Model & hardware
+
+ // IMEI
+
+ // Android version
+
+ // IP address
+
+ // Wifi MAC address
+
+ // Bluetooth Address
+
+ controllers.add(new RegulatoryInfoPreferenceController(context));
+
+ controllers.add(new SafetyInfoPreferenceController(context));
+
+ controllers.add(
+ new BuildNumberPreferenceController(context, activity, fragment, lifecycle));
+
+ return controllers;
+ }
+
final List controllers = new ArrayList<>();
controllers.add(
new BuildNumberPreferenceController(context, activity, fragment, lifecycle));
@@ -147,7 +181,8 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
}
@Override
- public List getPreferenceControllers(Context context) {
+ public List getPreferenceControllers(
+ Context context) {
return buildPreferenceControllers(context, null /*activity */,
null /* fragment */, null /* lifecycle */);
}