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 */); }