Merge "MainlineModuleVersionPreferenceControllerTest to access intent directly" into main

This commit is contained in:
Chris Antol
2023-11-30 17:11:07 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 30 deletions

View File

@@ -41,18 +41,17 @@ import java.util.TimeZone;
public class MainlineModuleVersionPreferenceController extends BasePreferenceController { public class MainlineModuleVersionPreferenceController extends BasePreferenceController {
@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 static final String TAG = "MainlineModuleControl"; private static final String TAG = "MainlineModuleControl";
private static final List<String> VERSION_NAME_DATE_PATTERNS = Arrays.asList("yyyy-MM-dd", private static final List<String> VERSION_NAME_DATE_PATTERNS = Arrays.asList("yyyy-MM-dd",
"yyyy-MM"); "yyyy-MM");
@VisibleForTesting
static final String MODULE_UPDATE_INTENT_ACTION =
"android.settings.MODULE_UPDATE_SETTINGS";
@VisibleForTesting
static final String MODULE_UPDATE_V2_INTENT_ACTION =
"android.settings.MODULE_UPDATE_VERSIONS";
private final Intent mModuleUpdateIntent;
private final Intent mModuleUpdateV2Intent;
private final PackageManager mPackageManager; private final PackageManager mPackageManager;
private String mModuleVersion; private String mModuleVersion;
@@ -60,13 +59,11 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
public MainlineModuleVersionPreferenceController(Context context, String key) { public MainlineModuleVersionPreferenceController(Context context, String key) {
super(context, key); super(context, key);
mPackageManager = mContext.getPackageManager(); mPackageManager = mContext.getPackageManager();
mModuleUpdateIntent = new Intent(MODULE_UPDATE_INTENT_ACTION);
mModuleUpdateV2Intent = new Intent(MODULE_UPDATE_V2_INTENT_ACTION);
if (Flags.mainlineModuleExplicitIntent()) { if (Flags.mainlineModuleExplicitIntent()) {
String packageName = mContext String packageName = mContext
.getString(com.android.settings.R.string.config_mainline_module_update_package); .getString(com.android.settings.R.string.config_mainline_module_update_package);
mModuleUpdateIntent.setPackage(packageName); MODULE_UPDATE_INTENT.setPackage(packageName);
mModuleUpdateV2Intent.setPackage(packageName); MODULE_UPDATE_V2_INTENT.setPackage(packageName);
} }
initModules(); initModules();
} }
@@ -96,17 +93,17 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
super.updateState(preference); super.updateState(preference);
final ResolveInfo resolvedV2 = final ResolveInfo resolvedV2 =
mPackageManager.resolveActivity(mModuleUpdateV2Intent, 0 /* flags */); mPackageManager.resolveActivity(MODULE_UPDATE_V2_INTENT, 0 /* flags */);
if (resolvedV2 != null) { if (resolvedV2 != null) {
preference.setIntent(mModuleUpdateV2Intent); preference.setIntent(MODULE_UPDATE_V2_INTENT);
preference.setSelectable(true); preference.setSelectable(true);
return; return;
} }
final ResolveInfo resolved = final ResolveInfo resolved =
mPackageManager.resolveActivity(mModuleUpdateIntent, 0 /* flags */); mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0 /* flags */);
if (resolved != null) { if (resolved != null) {
preference.setIntent(mModuleUpdateIntent); preference.setIntent(MODULE_UPDATE_INTENT);
preference.setSelectable(true); preference.setSelectable(true);
} else { } else {
Log.d(TAG, "The ResolveInfo of the update intent is null."); Log.d(TAG, "The ResolveInfo of the update intent is null.");

View File

@@ -18,8 +18,8 @@ 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_ACTION; import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_INTENT;
import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_V2_INTENT_ACTION; 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;
@@ -29,7 +29,6 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
@@ -40,7 +39,6 @@ import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import androidx.preference.Preference; import androidx.preference.Preference;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -53,10 +51,6 @@ import org.robolectric.RuntimeEnvironment;
public class MainlineModuleVersionPreferenceControllerTest { public class MainlineModuleVersionPreferenceControllerTest {
private static final String MODULE_PACKAGE = "com.android.vending"; private static final String MODULE_PACKAGE = "com.android.vending";
private static final Intent MODULE_UPDATE_V2_INTENT =
new Intent(MODULE_UPDATE_V2_INTENT_ACTION).setPackage(MODULE_PACKAGE);
private static final Intent MODULE_UPDATE_INTENT =
new Intent(MODULE_UPDATE_INTENT_ACTION).setPackage(MODULE_PACKAGE);
@Rule @Rule
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
@@ -115,7 +109,6 @@ public class MainlineModuleVersionPreferenceControllerTest {
assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE); assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
} }
@Ignore("b/313567396")
@Test @Test
public void updateState_canHandleV2Intent_setIntentToPreference() throws Exception { public void updateState_canHandleV2Intent_setIntentToPreference() throws Exception {
setupModulePackage("test version 123"); setupModulePackage("test version 123");
@@ -129,7 +122,6 @@ public class MainlineModuleVersionPreferenceControllerTest {
assertThat(mPreference.getIntent()).isEqualTo(MODULE_UPDATE_V2_INTENT); assertThat(mPreference.getIntent()).isEqualTo(MODULE_UPDATE_V2_INTENT);
} }
@Ignore("b/313567396")
@Test @Test
public void updateState_canHandleV2Intent_preferenceShouldBeSelectable() throws Exception { public void updateState_canHandleV2Intent_preferenceShouldBeSelectable() throws Exception {
setupModulePackage("test version 123"); setupModulePackage("test version 123");
@@ -143,7 +135,6 @@ public class MainlineModuleVersionPreferenceControllerTest {
assertThat(mPreference.isSelectable()).isTrue(); assertThat(mPreference.isSelectable()).isTrue();
} }
@Ignore("b/313567396")
@RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT) @RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT)
@Test @Test
public void updateState_canHandleIntent_setIntentToPreference() throws Exception { public void updateState_canHandleIntent_setIntentToPreference() throws Exception {
@@ -159,7 +150,6 @@ public class MainlineModuleVersionPreferenceControllerTest {
assertThat(mPreference.getIntent()).isEqualTo(MODULE_UPDATE_INTENT); assertThat(mPreference.getIntent()).isEqualTo(MODULE_UPDATE_INTENT);
} }
@Ignore("b/313567396")
@RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT) @RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT)
@Test @Test
public void updateState_canHandleIntent_preferenceShouldBeSelectable() throws Exception { public void updateState_canHandleIntent_preferenceShouldBeSelectable() throws Exception {