From 348367e084988aacbe91cc90c206eb6b4ea07873 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Sat, 7 Oct 2023 01:04:01 -0500 Subject: [PATCH] Replace INSTALL_SHORTCUT with requestPinShortcut --- .../tasks/widget/ShortcutConfigActivity.kt | 24 ++++++++++--------- gradle/libs.versions.toml | 2 +- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/tasks/widget/ShortcutConfigActivity.kt b/app/src/main/java/org/tasks/widget/ShortcutConfigActivity.kt index f97d0e7ea..daceadbd9 100644 --- a/app/src/main/java/org/tasks/widget/ShortcutConfigActivity.kt +++ b/app/src/main/java/org/tasks/widget/ShortcutConfigActivity.kt @@ -1,15 +1,15 @@ package org.tasks.widget -import android.app.Activity -import android.content.Intent -import android.content.Intent.ShortcutIconResource import android.os.Bundle -import android.os.Parcelable import android.view.View import android.widget.TextView import androidx.appcompat.widget.Toolbar +import androidx.core.content.pm.ShortcutInfoCompat +import androidx.core.content.pm.ShortcutManagerCompat +import androidx.core.graphics.drawable.IconCompat import com.google.android.material.textfield.TextInputEditText import com.todoroo.astrid.api.Filter +import com.todoroo.astrid.helper.UUIDHelper import dagger.hilt.android.AndroidEntryPoint import org.tasks.R import org.tasks.Strings.isNullOrEmpty @@ -124,13 +124,15 @@ class ShortcutConfigActivity : ThemedInjectingAppCompatActivity(), ColorPaletteP private fun save() { val filterId = defaultFilterProvider.getFilterPreferenceValue(selectedFilter!!) - val shortcutIntent = TaskIntents.getTaskListByIdIntent(this, filterId) - val icon: Parcelable = ShortcutIconResource.fromContext(this, ThemeColor.ICONS[themeIndex]) - val intent = Intent("com.android.launcher.action.INSTALL_SHORTCUT") - intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent) - intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getShortcutName()) - intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon) - setResult(Activity.RESULT_OK, intent) + ShortcutManagerCompat.requestPinShortcut( + this, + ShortcutInfoCompat.Builder(this, UUIDHelper.newUUID()) + .setShortLabel(getShortcutName()) + .setIntent(TaskIntents.getTaskListByIdIntent(this, filterId)) + .setIcon(IconCompat.createWithResource(this, ThemeColor.ICONS[themeIndex])) + .build(), + null, + ) finish() } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a0eb05446..ae6108f58 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -23,7 +23,7 @@ google-oauth2 = "1.19.0" google-api-drive = "v3-rev20230822-2.0.0" google-api-tasks = "v1-rev20230401-2.0.0" google-services = "4.4.0" -gradle = "8.2.0-beta05" +gradle = "8.2.0-beta06" gson = "2.10.1" hilt = "1.1.0-alpha01" ical4android = "12fe73a"