From 16705313c676d1fb947161aeb20e1b25cd9cca47 Mon Sep 17 00:00:00 2001 From: Ashish Yadav <48384865+criticalAY@users.noreply.github.com> Date: Fri, 31 Jan 2025 20:12:25 +0530 Subject: [PATCH] feat: report bug shortcut --- .../main/java/com/ichi2/anki/DeckPicker.kt | 8 ++++++ .../ichi2/anki/NavigationDrawerActivity.kt | 27 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt b/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt index e3f83f3df7a1..a6f322317883 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt @@ -516,6 +516,11 @@ open class DeckPicker : syncOnResume = true } + if (intent.hasExtra(INTENT_REPORT_BUG)) { + Timber.i("DeckPicker:: Reporting bug, launched from shortcut") + ankiActivity.openUrl(Uri.parse(AnkiDroidApp.feedbackUrl)) + } + setContentView(R.layout.homescreen) enableToolbar() handleStartup() @@ -2566,6 +2571,9 @@ open class DeckPicker : ) companion object { + /** Opens the url to report bug from the ShortcutManager */ + const val INTENT_REPORT_BUG = "reportBug" + /** * Result codes from other activities */ diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/NavigationDrawerActivity.kt b/AnkiDroid/src/main/java/com/ichi2/anki/NavigationDrawerActivity.kt index 54dec99fe002..c73b0b6dd86f 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/NavigationDrawerActivity.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/NavigationDrawerActivity.kt @@ -19,6 +19,8 @@ import android.content.Context import android.content.Intent import android.content.SharedPreferences import android.content.res.Configuration +import android.graphics.Bitmap +import android.graphics.Canvas import android.os.Bundle import android.view.KeyEvent import android.view.LayoutInflater @@ -33,6 +35,7 @@ import androidx.appcompat.app.ActionBarDrawerToggle import androidx.appcompat.widget.Toolbar import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat import androidx.core.content.pm.ShortcutInfoCompat import androidx.core.content.pm.ShortcutManagerCompat import androidx.core.graphics.drawable.IconCompat @@ -478,6 +481,29 @@ abstract class NavigationDrawerActivity : .setIntent(intentAddNote) .build() + // Report bug shortcut + val intentReportBug = Intent(context, DeckPicker::class.java) + intentReportBug.action = Intent.ACTION_VIEW + intentReportBug.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP + intentReportBug.putExtra(DeckPicker.INTENT_REPORT_BUG, true) + + val iconDrawable = ContextCompat.getDrawable(context, R.drawable.ic_bug_report_black_24dp)?.mutate() + iconDrawable?.setTint(ContextCompat.getColor(context, R.color.wb_fg_color_inv)) + + val bitmap = Bitmap.createBitmap(iconDrawable!!.intrinsicWidth, iconDrawable.intrinsicHeight, Bitmap.Config.ARGB_8888) + val canvas = Canvas(bitmap) + iconDrawable.setBounds(0, 0, canvas.width, canvas.height) + iconDrawable.draw(canvas) + + val reportBugShortcut = + ShortcutInfoCompat + .Builder(context, "reportBugShortcut") + .setShortLabel(context.getString(R.string.help_item_report_bug)) + .setLongLabel(context.getString(R.string.help_item_report_bug)) + .setIcon(IconCompat.createWithBitmap(bitmap)) + .setIntent(intentReportBug) + .build() + // CardBrowser Shortcut val intentCardBrowser = Intent(context, CardBrowser::class.java) intentCardBrowser.action = Intent.ACTION_VIEW @@ -496,6 +522,7 @@ abstract class NavigationDrawerActivity : reviewCardsShortcut, noteEditorShortcut, cardBrowserShortcut, + reportBugShortcut, ), ) }