Loading res/xml/development_settings.xml +1 −2 Original line number Diff line number Diff line Loading @@ -154,8 +154,7 @@ <SwitchPreference android:key="enable_verbose_vendor_logging" android:title="@string/enable_verbose_vendor_logging" android:summary="@string/enable_verbose_vendor_logging_summary" /> android:summary="@string/enable_verbose_vendor_logging_summary" /> <SwitchPreference android:key="automatic_system_server_heap_dumps" Loading src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -133,7 +133,8 @@ public class EnableVerboseVendorLoggingPreferenceController } /** Return a {@IDumpstateDevice} instance or null if service is not available. */ private @Nullable IDumpstateDevice getDumpstateDeviceService() { @VisibleForTesting @Nullable IDumpstateDevice getDumpstateDeviceService() { IDumpstateDevice service = null; try { service = android.hardware.dumpstate.V1_1.IDumpstateDevice Loading tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java +31 −9 Original line number Diff line number Diff line Loading @@ -18,10 +18,13 @@ package com.android.settings.development; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.hardware.dumpstate.V1_1.IDumpstateDevice; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; Loading @@ -34,24 +37,32 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import java.lang.reflect.Field; @RunWith(RobolectricTestRunner.class) public final class EnableVerboseVendorLoggingPreferenceControllerTest { @Mock private SwitchPreference mPreference; @Mock private PreferenceScreen mPreferenceScreen; @Mock IDumpstateDevice mIDumpstateDevice; private Context mContext; private EnableVerboseVendorLoggingPreferenceController mController; @Before public void setUp() { public void setUp() throws Exception { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mController = new EnableVerboseVendorLoggingPreferenceController(mContext); mController = spy(new EnableVerboseVendorLoggingPreferenceController(mContext)); doReturn(mIDumpstateDevice).when(mController).getDumpstateDeviceService(); // bypass if IDumpstateDevice service not avalaible at all org.junit.Assume.assumeTrue(mController.isIDumpstateDeviceV1_1ServiceAvailable()); // mock with Dumpstate HAL v1.1 Field f = EnableVerboseVendorLoggingPreferenceController.class .getDeclaredField("mDumpstateHalVersion"); f.setAccessible(true); f.setInt(mController, 1 /* DUMPSTATE_HAL_VERSION_1_1 */); when(mPreferenceScreen.findPreference(mController.getPreferenceKey())) .thenReturn(mPreference); Loading @@ -59,7 +70,9 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void onPreferenceChange_settingEnable_enableVendorLoggingShouldBeOn() { public void onPreferenceChange_settingEnable_enableVendorLoggingShouldBeOn() throws Exception { doReturn(true).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.onPreferenceChange(mPreference, true /* new value */); final boolean enabled = mController.getVerboseLoggingEnabled(); Loading @@ -67,7 +80,10 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void onPreferenceChange_settingDisable_enableVendorLoggingShouldBeOff() { public void onPreferenceChange_settingDisable_enableVendorLoggingShouldBeOff() throws Exception { doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.onPreferenceChange(mPreference, false /* new value */); final boolean enabled = mController.getVerboseLoggingEnabled(); Loading @@ -75,7 +91,9 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void updateState_settingDisabled_preferenceShouldNotBeChecked() { public void updateState_settingDisabled_preferenceShouldNotBeChecked() throws Exception { doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.setVerboseLoggingEnabled(false); mController.updateState(mPreference); Loading @@ -83,7 +101,9 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void updateState_settingEnabled_preferenceShouldBeChecked() { public void updateState_settingEnabled_preferenceShouldBeChecked() throws Exception { doReturn(true).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.setVerboseLoggingEnabled(true); mController.updateState(mPreference); Loading @@ -91,7 +111,9 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void onDeveloperOptionDisabled_shouldDisablePreference() { public void onDeveloperOptionDisabled_shouldDisablePreference() throws Exception { doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.onDeveloperOptionsSwitchDisabled(); final boolean enabled = mController.getVerboseLoggingEnabled(); Loading Loading
res/xml/development_settings.xml +1 −2 Original line number Diff line number Diff line Loading @@ -154,8 +154,7 @@ <SwitchPreference android:key="enable_verbose_vendor_logging" android:title="@string/enable_verbose_vendor_logging" android:summary="@string/enable_verbose_vendor_logging_summary" /> android:summary="@string/enable_verbose_vendor_logging_summary" /> <SwitchPreference android:key="automatic_system_server_heap_dumps" Loading
src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -133,7 +133,8 @@ public class EnableVerboseVendorLoggingPreferenceController } /** Return a {@IDumpstateDevice} instance or null if service is not available. */ private @Nullable IDumpstateDevice getDumpstateDeviceService() { @VisibleForTesting @Nullable IDumpstateDevice getDumpstateDeviceService() { IDumpstateDevice service = null; try { service = android.hardware.dumpstate.V1_1.IDumpstateDevice Loading
tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java +31 −9 Original line number Diff line number Diff line Loading @@ -18,10 +18,13 @@ package com.android.settings.development; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.hardware.dumpstate.V1_1.IDumpstateDevice; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; Loading @@ -34,24 +37,32 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import java.lang.reflect.Field; @RunWith(RobolectricTestRunner.class) public final class EnableVerboseVendorLoggingPreferenceControllerTest { @Mock private SwitchPreference mPreference; @Mock private PreferenceScreen mPreferenceScreen; @Mock IDumpstateDevice mIDumpstateDevice; private Context mContext; private EnableVerboseVendorLoggingPreferenceController mController; @Before public void setUp() { public void setUp() throws Exception { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mController = new EnableVerboseVendorLoggingPreferenceController(mContext); mController = spy(new EnableVerboseVendorLoggingPreferenceController(mContext)); doReturn(mIDumpstateDevice).when(mController).getDumpstateDeviceService(); // bypass if IDumpstateDevice service not avalaible at all org.junit.Assume.assumeTrue(mController.isIDumpstateDeviceV1_1ServiceAvailable()); // mock with Dumpstate HAL v1.1 Field f = EnableVerboseVendorLoggingPreferenceController.class .getDeclaredField("mDumpstateHalVersion"); f.setAccessible(true); f.setInt(mController, 1 /* DUMPSTATE_HAL_VERSION_1_1 */); when(mPreferenceScreen.findPreference(mController.getPreferenceKey())) .thenReturn(mPreference); Loading @@ -59,7 +70,9 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void onPreferenceChange_settingEnable_enableVendorLoggingShouldBeOn() { public void onPreferenceChange_settingEnable_enableVendorLoggingShouldBeOn() throws Exception { doReturn(true).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.onPreferenceChange(mPreference, true /* new value */); final boolean enabled = mController.getVerboseLoggingEnabled(); Loading @@ -67,7 +80,10 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void onPreferenceChange_settingDisable_enableVendorLoggingShouldBeOff() { public void onPreferenceChange_settingDisable_enableVendorLoggingShouldBeOff() throws Exception { doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.onPreferenceChange(mPreference, false /* new value */); final boolean enabled = mController.getVerboseLoggingEnabled(); Loading @@ -75,7 +91,9 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void updateState_settingDisabled_preferenceShouldNotBeChecked() { public void updateState_settingDisabled_preferenceShouldNotBeChecked() throws Exception { doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.setVerboseLoggingEnabled(false); mController.updateState(mPreference); Loading @@ -83,7 +101,9 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void updateState_settingEnabled_preferenceShouldBeChecked() { public void updateState_settingEnabled_preferenceShouldBeChecked() throws Exception { doReturn(true).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.setVerboseLoggingEnabled(true); mController.updateState(mPreference); Loading @@ -91,7 +111,9 @@ public final class EnableVerboseVendorLoggingPreferenceControllerTest { } @Test public void onDeveloperOptionDisabled_shouldDisablePreference() { public void onDeveloperOptionDisabled_shouldDisablePreference() throws Exception { doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled(); mController.onDeveloperOptionsSwitchDisabled(); final boolean enabled = mController.getVerboseLoggingEnabled(); Loading