From d81622e790147ecf9d3148ea645da613442ac032 Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Thu, 19 Oct 2017 13:36:40 -0700 Subject: [PATCH 1/3] Fork a new about phone layout - Used a feature flag to hide the new about phone page Bug: 36458278 Test: make RunSettingsRoboTests -j40 Change-Id: Ie7b6afa58b301128d1c60513ae4ee48d6ec6679b --- res/xml/device_info_settings_v2.xml | 23 +++++++++++++++++++ .../android/settings/DeviceInfoSettings.java | 13 +++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 res/xml/device_info_settings_v2.xml diff --git a/res/xml/device_info_settings_v2.xml b/res/xml/device_info_settings_v2.xml new file mode 100644 index 00000000000..e5c2b0ead7f --- /dev/null +++ b/res/xml/device_info_settings_v2.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java index abf68f2762a..c584ac23db2 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,11 @@ 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<>(); + return controllers; + } + final List controllers = new ArrayList<>(); controllers.add( new BuildNumberPreferenceController(context, activity, fragment, lifecycle)); @@ -147,7 +155,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 */); } From e5fc1fbd2c43386ebe0a6e63d0e33527584ab737 Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Thu, 19 Oct 2017 14:29:28 -0700 Subject: [PATCH 2/3] Create XML layout for about phone v2 - Added all the necessary preferences in the xml layout Bug: 36458278 Test: make RunSettingsRoboTests -j40 Change-Id: I36f76f9360b809eba077497db68d012098820868 --- res/values/strings.xml | 2 +- res/xml/device_info_settings_v2.xml | 82 ++++++++++++++++++++++++++++- 2 files changed, 82 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 819c4916319..6b0bd6ddc64 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 index e5c2b0ead7f..4f66b4c37b0 100644 --- a/res/xml/device_info_settings_v2.xml +++ b/res/xml/device_info_settings_v2.xml @@ -17,7 +17,87 @@ + android:title="@string/about_settings" + settings:initialExpandedChildrenCount="6"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 931681a6336acd78fae029d8bdeaa6660347ca06 Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Thu, 19 Oct 2017 14:46:32 -0700 Subject: [PATCH 3/3] Add existing controllers in about phone to v2 fork - Added build number controller - Added safety info controller - Added regulatory info controller Bug: 36458278 Test: make RunSettingsRoboTests -j40 Change-Id: Icddb9d352b4f739ca1c7cf562dec09530cb41dac --- .../android/settings/DeviceInfoSettings.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java index c584ac23db2..41eb6c66824 100644 --- a/src/com/android/settings/DeviceInfoSettings.java +++ b/src/com/android/settings/DeviceInfoSettings.java @@ -120,6 +120,32 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable { 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; }