Support some phone information in Settings slice

- Android version
- Device model

Test: robo test, manual test
Change-Id: Ic047caaf4ab699082f6420ad8fa1d2f455abfcb0
Fixes: 74900516
diff --git a/res/xml/my_device_info.xml b/res/xml/my_device_info.xml
index 535f61a..67ad5d1 100644
--- a/res/xml/my_device_info.xml
+++ b/res/xml/my_device_info.xml
@@ -96,6 +96,7 @@
         android:title="@string/hardware_info"
         settings:keywords="@string/keywords_model_and_hardware"
         android:summary="@string/summary_placeholder"
+        settings:allowDynamicSummaryInSlice="true"
         settings:controller=
             "com.android.settings.deviceinfo.DeviceModelPreferenceController" />
 
@@ -109,11 +110,12 @@
 
     <!-- Android version -->
     <Preference
-        android:key="my_device_firmware_version"
+        android:key="firmware_version"
         android:order="32"
         android:title="@string/firmware_version"
         settings:keywords="@string/keywords_android_version"
         android:summary="@string/summary_placeholder"
+        settings:allowDynamicSummaryInSlice="true"
         settings:controller=
             "com.android.settings.deviceinfo.firmwareversion.FirmwareVersionPreferenceController" />
 
diff --git a/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java b/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
index 8fdd19f..25090dc 100644
--- a/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
@@ -73,6 +73,11 @@
         return true;
     }
 
+    @Override
+    public boolean isSliceable() {
+        return true;
+    }
+
     public static String getDeviceModel() {
         FutureTask<String> msvSuffixTask = new FutureTask<String>(new Callable<String>() {
             @Override
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
index d2d3bf4..7d12d43 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
@@ -56,4 +56,9 @@
         FirmwareVersionDialogFragment.show(mFragment);
         return true;
     }
+
+    @Override
+    public boolean isSliceable() {
+        return true;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
index e337141..aa84adf 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
@@ -48,7 +48,7 @@
 @RunWith(SettingsRobolectricTestRunner.class)
 public class DeviceModelPreferenceControllerTest {
 
-    private final String KEY = "device_model_key";
+    private final String KEY = "device_model";
 
     @Mock
     private Fragment mFragment;
@@ -101,6 +101,11 @@
                 .add(any(HardwareInfoDialogFragment.class), eq(HardwareInfoDialogFragment.TAG));
     }
 
+    @Test
+    public void isSliceable_shouldBeTrue() {
+        assertThat(mController.isSliceable()).isTrue();
+    }
+
     private boolean containBuildModel(CharSequence result) {
         final String oracle = mContext.getResources().getString(R.string.model_summary,
                 Build.MODEL);
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
index 3927e20..e7b1893 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
@@ -44,7 +44,7 @@
 @RunWith(SettingsRobolectricTestRunner.class)
 public class FirmwareVersionPreferenceControllerTest {
 
-    private final String KEY = "firmware_key";
+    private final String KEY = "firmware_version";
 
     @Mock
     private Fragment mFragment;
@@ -103,6 +103,11 @@
         assertThat(result).isFalse();
     }
 
+    @Test
+    public void isSliceable_shouldBeTrue() {
+        assertThat(mController.isSliceable()).isTrue();
+    }
+
     @Implements(FirmwareVersionDialogFragment.class)
     public static class ShadowFirmwareVersionDialogFragment {