Log when build number preference is clicked.

Optionally also log whether user is in development mode.

Change-Id: I1f5dc2891b2c4fc74f940e3118fb09ee18cc9688
Fix: 34774945
Test: make RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-02-24 15:37:14 -08:00
parent efb8d625a2
commit f42377a18e
6 changed files with 45 additions and 8 deletions

View File

@@ -25,9 +25,11 @@ import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.DevelopmentSettings;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
@@ -35,12 +37,14 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -61,16 +65,19 @@ public class BuildNumberPreferenceControllerTest {
@Mock
private UserManager mUserManager;
private FakeFeatureFactory mFactory;
private Preference mPreference;
private BuildNumberPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
mFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
mController = new BuildNumberPreferenceController(mContext, mActivity, mFragment);
mPreference = new Preference(ShadowApplication.getInstance().getApplicationContext());
mPreference = new Preference(RuntimeEnvironment.application);
mPreference.setKey(mController.getPreferenceKey());
}
@@ -104,10 +111,13 @@ public class BuildNumberPreferenceControllerTest {
mController = new BuildNumberPreferenceController(context, mActivity, mFragment);
assertThat(mController.handlePreferenceTreeClick(mPreference)).isFalse();
verify(mFactory.metricsFeatureProvider).action(
any(Context.class),
eq(MetricsProto.MetricsEvent.ACTION_SETTINGS_BUILD_NUMBER_PREF));
}
@Test
public void handlePrefTreeClick_userHasRestrction_doNothing() {
public void handlePrefTreeClick_userHasRestriction_doNothing() {
when(mUserManager.isAdminUser()).thenReturn(true);
final Context context = ShadowApplication.getInstance().getApplicationContext();
Settings.Global.putInt(context.getContentResolver(),
@@ -118,6 +128,9 @@ public class BuildNumberPreferenceControllerTest {
mController = new BuildNumberPreferenceController(context, mActivity, mFragment);
assertThat(mController.handlePreferenceTreeClick(mPreference)).isFalse();
verify(mFactory.metricsFeatureProvider).action(
any(Context.class),
eq(MetricsProto.MetricsEvent.ACTION_SETTINGS_BUILD_NUMBER_PREF));
}
@Test