From 1c8a6c288c497e221d76f34cf96c6b2bc202a325 Mon Sep 17 00:00:00 2001 From: Tyler Roach Date: Wed, 8 Jun 2022 09:00:04 -0400 Subject: [PATCH 1/2] Fix for opening links above api 30 --- .../targeting/notification/NotificationClientBase.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/targeting/notification/NotificationClientBase.java b/aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/targeting/notification/NotificationClientBase.java index 6b851bab81c..550832d6da0 100644 --- a/aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/targeting/notification/NotificationClientBase.java +++ b/aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/targeting/notification/NotificationClientBase.java @@ -18,6 +18,7 @@ import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; +import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -812,8 +813,12 @@ private void openURL(final String url, final boolean noSchemeValidation) { final Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(validatedUrl)); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - if (intent.resolveActivity(pinpointContext.getApplicationContext().getPackageManager()) != null) { + + // Querying packages now requires query manifest flag, so we instead try/catch the attempt + try { pinpointContext.getApplicationContext().startActivity(intent); + } catch (ActivityNotFoundException e) { + log.error("Couldn't find an app to open ACTION_VIEW Intent."); } } From 0599d5c57a714ee8a2828e090b582b6077911c9b Mon Sep 17 00:00:00 2001 From: Tyler Roach Date: Wed, 8 Jun 2022 11:03:41 -0400 Subject: [PATCH 2/2] add exception to log --- .../pinpoint/targeting/notification/NotificationClientBase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/targeting/notification/NotificationClientBase.java b/aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/targeting/notification/NotificationClientBase.java index 550832d6da0..a16caaa32a9 100644 --- a/aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/targeting/notification/NotificationClientBase.java +++ b/aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/targeting/notification/NotificationClientBase.java @@ -818,7 +818,7 @@ private void openURL(final String url, final boolean noSchemeValidation) { try { pinpointContext.getApplicationContext().startActivity(intent); } catch (ActivityNotFoundException e) { - log.error("Couldn't find an app to open ACTION_VIEW Intent."); + log.error("Couldn't find an app to open ACTION_VIEW Intent.", e); } }