Fix developer option not being enabled.
- when screen lock is set, we will start the activity to check user's credential. Override onActivityResult() and call BuildNumberPreferenceController's method accordingly, so that we will checks the password confirm result and enable the developer options if it is success. Change-Id: Ie2df644c53430ad4eb394480348d956177804ec3 Fixes: 73102865 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -21,15 +21,18 @@ import static com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.util.ArrayMap;
|
||||
|
||||
import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment;
|
||||
import com.android.settings.TestConfig;
|
||||
@@ -39,6 +42,7 @@ import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowSystemProperties;
|
||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -48,6 +52,11 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowApplication;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(
|
||||
@@ -97,4 +106,23 @@ public class MyDeviceInfoFragmentTest {
|
||||
|
||||
verify(mScreen).setInitialExpandedChildrenCount(Integer.MAX_VALUE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onActivityResult_shouldCallBuildNumberPreferenceController() {
|
||||
final BuildNumberPreferenceController controller =
|
||||
mock(BuildNumberPreferenceController.class);
|
||||
final Map<Class, List<AbstractPreferenceController>> preferenceControllers =
|
||||
new ArrayMap<>();
|
||||
final List<AbstractPreferenceController> controllerList = new ArrayList<>();
|
||||
controllerList.add(controller);
|
||||
preferenceControllers.put(BuildNumberPreferenceController.class, controllerList);
|
||||
ReflectionHelpers.setField(mSettings, "mPreferenceControllers", preferenceControllers);
|
||||
|
||||
final int requestCode = 1;
|
||||
final int resultCode = 2;
|
||||
final Intent data = new Intent();
|
||||
mSettings.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
verify(controller).onActivityResult(requestCode, resultCode, data);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user