Merge "Fix the 'Google play system update' button is not actionable."

This commit is contained in:
Stanley Wang
2020-02-07 05:48:30 +00:00
committed by Android (Google) Code Review
3 changed files with 17 additions and 1 deletions

View File

@@ -43,7 +43,6 @@
android:key="module_version"
android:title="@string/module_version"
android:summary="@string/summary_placeholder"
android:selectable="false"
settings:enableCopying="true"
settings:controller="com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController"/>

View File

@@ -86,8 +86,11 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0 /* flags */);
if (resolved != null) {
preference.setIntent(MODULE_UPDATE_INTENT);
preference.setSelectable(true);
} else {
Log.d(TAG, "The ResolveInfo of the update intent is null.");
preference.setIntent(null);
preference.setSelectable(false);
}
}

View File

@@ -110,6 +110,20 @@ public class MainlineModuleVersionPreferenceControllerTest {
assertThat(mPreference.getIntent()).isEqualTo(MODULE_UPDATE_INTENT);
}
@Test
public void updateStates_canHandleIntent_preferenceShouldBeSelectable() throws Exception {
setupModulePackage("test version 123");
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
.thenReturn(new ResolveInfo());
final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key");
controller.updateState(mPreference);
assertThat(mPreference.isSelectable()).isTrue();
}
@Test
public void updateStates_cannotHandleIntent_setNullToPreference() throws Exception {
setupModulePackage("test version 123");