Merge "Fix developer option not being enabled."

This commit is contained in:
TreeHugger Robot
2018-02-08 23:24:49 +00:00
committed by Android (Google) Code Review
2 changed files with 39 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ import static com.android.settings.bluetooth.Utils.getLocalBtManager;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.content.pm.UserInfo;
import android.os.Bundle;
import android.os.UserManager;
@@ -126,6 +127,16 @@ public class MyDeviceInfoFragment extends DashboardFragment {
return controllers;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
final BuildNumberPreferenceController buildNumberPreferenceController =
getPreferenceController(BuildNumberPreferenceController.class);
if (buildNumberPreferenceController.onActivityResult(requestCode, resultCode, data)) {
return;
}
super.onActivityResult(requestCode, resultCode, data);
}
private void initHeader() {
// TODO: Migrate into its own controller.
final LayoutPreference headerPreference =

View File

@@ -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);
}
}