From 10c24a6816ab7876f8a38ab863af7c02a97ad667 Mon Sep 17 00:00:00 2001 From: TrianguloY Date: Mon, 15 Jul 2024 12:47:32 +0200 Subject: [PATCH] fix deprecated startActivityAndCollapse --- app/build.gradle | 2 +- .../activities/ShortcutsActivity.java | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f4e2e9b..f27fbea 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,7 +7,7 @@ android { namespace 'com.trianguloy.urlchecker' defaultConfig { applicationId "com.trianguloy.urlchecker" - compileSdk 33 + compileSdk 34 minSdkVersion 19 targetSdkVersion 34 versionCode 34 diff --git a/app/src/main/java/com/trianguloy/urlchecker/activities/ShortcutsActivity.java b/app/src/main/java/com/trianguloy/urlchecker/activities/ShortcutsActivity.java index bfdd024..c55bebe 100644 --- a/app/src/main/java/com/trianguloy/urlchecker/activities/ShortcutsActivity.java +++ b/app/src/main/java/com/trianguloy/urlchecker/activities/ShortcutsActivity.java @@ -1,8 +1,10 @@ package com.trianguloy.urlchecker.activities; +import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.app.Activity; import android.app.AlertDialog; +import android.app.PendingIntent; import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; @@ -65,7 +67,8 @@ public class ShortcutsActivity extends Activity { * The clipboard isn't available until the app is fully visible and with focus */ private void waitForFocus(int retry) { - if (!hasWindowFocus() && retry < 50) getWindow().getDecorView().postDelayed(() -> waitForFocus(retry + 1), 100); + if (!hasWindowFocus() && retry < 50) + getWindow().getDecorView().postDelayed(() -> waitForFocus(retry + 1), 100); else run(); } @@ -127,17 +130,26 @@ public class ShortcutsActivity extends Activity { return AndroidUtils.getLinksFromText(primaryClip.getItemAt(0).coerceToText(this)); } - /** - * The tile, just a shortcut to the activity above - */ + /** The tile, just a shortcut to the activity above */ @TargetApi(Build.VERSION_CODES.N) public static class ShortcutsTile extends TileService { + @SuppressLint("StartActivityAndCollapseDeprecated") @Override public void onClick() { super.onClick(); // just call the activity to handle it - startActivityAndCollapse(new Intent(this, ShortcutsActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); + var intent = new Intent(this, ShortcutsActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + startActivityAndCollapse(PendingIntent.getActivity( + this, + 0, + intent, + PendingIntent.FLAG_IMMUTABLE + )); + } else { + startActivityAndCollapse(intent); + } } } }