Merge "Support another new intent for mainline module intent" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
158bbe17f3
@@ -47,6 +47,10 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
|
||||
@VisibleForTesting
|
||||
static final Intent MODULE_UPDATE_INTENT =
|
||||
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 String mModuleVersion;
|
||||
@@ -81,7 +85,14 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
|
||||
public void updateState(Preference 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 =
|
||||
mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0 /* flags */);
|
||||
if (resolved != null) {
|
||||
|
@@ -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.UNSUPPORTED_ON_DEVICE;
|
||||
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;
|
||||
|
||||
@@ -97,7 +98,33 @@ public class MainlineModuleVersionPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@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");
|
||||
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
|
||||
.thenReturn(new ResolveInfo());
|
||||
@@ -111,7 +138,7 @@ public class MainlineModuleVersionPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateStates_canHandleIntent_preferenceShouldBeSelectable() throws Exception {
|
||||
public void updateState_canHandleIntent_preferenceShouldBeSelectable() throws Exception {
|
||||
setupModulePackage("test version 123");
|
||||
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
|
||||
.thenReturn(new ResolveInfo());
|
||||
@@ -125,10 +152,12 @@ public class MainlineModuleVersionPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateStates_cannotHandleIntent_setNullToPreference() throws Exception {
|
||||
public void updateState_cannotHandleIntent_setNullToPreference() throws Exception {
|
||||
setupModulePackage("test version 123");
|
||||
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
|
||||
.thenReturn(null);
|
||||
when(mPackageManager.resolveActivity(MODULE_UPDATE_V2_INTENT, 0))
|
||||
.thenReturn(null);
|
||||
|
||||
final MainlineModuleVersionPreferenceController controller =
|
||||
new MainlineModuleVersionPreferenceController(mContext, "key");
|
||||
|
Reference in New Issue
Block a user