Add intent fields when launching instant app.

- add browseable category, package name, and new task flag.

Change-Id: Ie558f5885b5f0f78c88241de7c2d7a21cfb9d0fe
Fixes: 74131502
Test: make RunSettingsRoboTests
This commit is contained in:
Doris Ling
2018-03-06 13:37:21 -08:00
parent b76682afcb
commit c08984befd
2 changed files with 6 additions and 0 deletions

View File

@@ -147,7 +147,10 @@ public class InstantAppButtonsPreferenceController extends BasePreferenceControl
if (!TextUtils.isEmpty(mLaunchUri)) { if (!TextUtils.isEmpty(mLaunchUri)) {
installButton.setVisibility(View.GONE); installButton.setVisibility(View.GONE);
final Intent intent = new Intent(Intent.ACTION_VIEW); final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setPackage(mPackageName);
intent.setData(Uri.parse(mLaunchUri)); intent.setData(Uri.parse(mLaunchUri));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
launchButton.setOnClickListener(v -> mParent.startActivity(intent)); launchButton.setOnClickListener(v -> mParent.startActivity(intent));
} else { } else {
launchButton.setVisibility(View.GONE); launchButton.setVisibility(View.GONE);

View File

@@ -262,6 +262,9 @@ public class InstantAppButtonsPreferenceControllerTest {
verify(mFragment).startActivity(argThat(intent-> intent != null verify(mFragment).startActivity(argThat(intent-> intent != null
&& intent.getAction().equals(Intent.ACTION_VIEW) && intent.getAction().equals(Intent.ACTION_VIEW)
&& intent.hasCategory(Intent.CATEGORY_BROWSABLE)
&& (intent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK) != 0
&& TextUtils.equals(intent.getPackage(), TEST_AIA_PACKAGE_NAME)
&& TextUtils.equals(intent.getDataString(), launchUri))); && TextUtils.equals(intent.getDataString(), launchUri)));
} }