Allow the background activity start from legacy suggestion cards

There's a restriction on starting activities from PendingIntents. Opt-in
required when starting activities from PendingIntents. (https://goo.gle/android-bal#opt-in-required)

Bug: 346690654
Change-Id: I0525ebe5a49e7a7f5b07236e01cd3ababce1da4d
Test: manual
This commit is contained in:
Jason Chiu
2024-06-26 08:54:21 +00:00
parent 2c4ceb385f
commit 361020dfdc

View File

@@ -16,6 +16,7 @@
package com.android.settings.homepage.contextualcards.legacysuggestion;
import android.app.ActivityOptions;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
@@ -79,7 +80,10 @@ public class LegacySuggestionContextualCardController implements ContextualCardC
@Override
public void onPrimaryClick(ContextualCard card) {
try {
((LegacySuggestionContextualCard) card).getPendingIntent().send();
ActivityOptions options = ActivityOptions.makeBasic()
.setPendingIntentBackgroundActivityStartMode(
ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED);
((LegacySuggestionContextualCard) card).getPendingIntent().send(options.toBundle());
} catch (PendingIntent.CanceledException e) {
Log.w(TAG, "Failed to start suggestion " + card.getTitleText());
}