Merge "Support another new intent for mainline module intent" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-04-16 11:03:19 +00:00
committed by Android (Google) Code Review
2 changed files with 44 additions and 4 deletions

View File

@@ -47,6 +47,10 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
@VisibleForTesting @VisibleForTesting
static final Intent MODULE_UPDATE_INTENT = static final Intent MODULE_UPDATE_INTENT =
new Intent("android.settings.MODULE_UPDATE_SETTINGS"); new Intent("android.settings.MODULE_UPDATE_SETTINGS");
@VisibleForTesting
static final Intent MODULE_UPDATE_V2_INTENT =
new Intent("android.settings.MODULE_UPDATE_VERSIONS");
private final PackageManager mPackageManager; private final PackageManager mPackageManager;
private String mModuleVersion; private String mModuleVersion;
@@ -81,7 +85,14 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
public void updateState(Preference preference) { public void updateState(Preference preference) {
super.updateState(preference); super.updateState(preference);
// Confirm MODULE_UPDATE_INTENT is handleable, and set it to Preference. final ResolveInfo resolvedV2 =
mPackageManager.resolveActivity(MODULE_UPDATE_V2_INTENT, 0 /* flags */);
if (resolvedV2 != null) {
preference.setIntent(MODULE_UPDATE_V2_INTENT);
preference.setSelectable(true);
return;
}
final ResolveInfo resolved = final ResolveInfo resolved =
mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0 /* flags */); mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0 /* flags */);
if (resolved != null) { if (resolved != null) {

View File

@@ -19,6 +19,7 @@ package com.android.settings.deviceinfo.firmwareversion;
import static com.android.settings.core.BasePreferenceController.AVAILABLE; import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_INTENT; import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_INTENT;
import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_V2_INTENT;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -97,7 +98,33 @@ public class MainlineModuleVersionPreferenceControllerTest {
} }
@Test @Test
public void updateStates_canHandleIntent_setIntentToPreference() throws Exception { public void updateState_canHandleV2Intent_setIntentToPreference() throws Exception {
setupModulePackage("test version 123");
when(mPackageManager.resolveActivity(MODULE_UPDATE_V2_INTENT, 0))
.thenReturn(new ResolveInfo());
final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key");
controller.updateState(mPreference);
assertThat(mPreference.getIntent()).isEqualTo(MODULE_UPDATE_V2_INTENT);
}
@Test
public void updateState_canHandleV2Intent_preferenceShouldBeSelectable() throws Exception {
setupModulePackage("test version 123");
when(mPackageManager.resolveActivity(MODULE_UPDATE_V2_INTENT, 0))
.thenReturn(new ResolveInfo());
final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key");
controller.updateState(mPreference);
assertThat(mPreference.isSelectable()).isTrue();
}
@Test
public void updateState_canHandleIntent_setIntentToPreference() throws Exception {
setupModulePackage("test version 123"); setupModulePackage("test version 123");
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0)) when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
.thenReturn(new ResolveInfo()); .thenReturn(new ResolveInfo());
@@ -111,7 +138,7 @@ public class MainlineModuleVersionPreferenceControllerTest {
} }
@Test @Test
public void updateStates_canHandleIntent_preferenceShouldBeSelectable() throws Exception { public void updateState_canHandleIntent_preferenceShouldBeSelectable() throws Exception {
setupModulePackage("test version 123"); setupModulePackage("test version 123");
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0)) when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
.thenReturn(new ResolveInfo()); .thenReturn(new ResolveInfo());
@@ -125,10 +152,12 @@ public class MainlineModuleVersionPreferenceControllerTest {
} }
@Test @Test
public void updateStates_cannotHandleIntent_setNullToPreference() throws Exception { public void updateState_cannotHandleIntent_setNullToPreference() throws Exception {
setupModulePackage("test version 123"); setupModulePackage("test version 123");
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0)) when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
.thenReturn(null); .thenReturn(null);
when(mPackageManager.resolveActivity(MODULE_UPDATE_V2_INTENT, 0))
.thenReturn(null);
final MainlineModuleVersionPreferenceController controller = final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key"); new MainlineModuleVersionPreferenceController(mContext, "key");