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
|
@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) {
|
||||||
|
@@ -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");
|
||||||
|
Reference in New Issue
Block a user