Merge pull request #11416 from t895/shortcuts
android: Support dynamic app shortcuts
This commit is contained in:
		| @@ -3,6 +3,8 @@ | ||||
|  | ||||
| package org.yuzu.yuzu_emu.adapters | ||||
|  | ||||
| import android.content.Intent | ||||
| import android.graphics.drawable.BitmapDrawable | ||||
| import android.net.Uri | ||||
| import android.text.TextUtils | ||||
| import android.view.LayoutInflater | ||||
| @@ -11,6 +13,9 @@ import android.view.ViewGroup | ||||
| import android.widget.ImageView | ||||
| import android.widget.Toast | ||||
| import androidx.appcompat.app.AppCompatActivity | ||||
| import androidx.core.content.pm.ShortcutInfoCompat | ||||
| import androidx.core.content.pm.ShortcutManagerCompat | ||||
| import androidx.core.graphics.drawable.IconCompat | ||||
| import androidx.documentfile.provider.DocumentFile | ||||
| import androidx.lifecycle.ViewModelProvider | ||||
| import androidx.navigation.findNavController | ||||
| @@ -22,6 +27,7 @@ import androidx.recyclerview.widget.RecyclerView | ||||
| import org.yuzu.yuzu_emu.HomeNavigationDirections | ||||
| import org.yuzu.yuzu_emu.R | ||||
| import org.yuzu.yuzu_emu.YuzuApplication | ||||
| import org.yuzu.yuzu_emu.activities.EmulationActivity | ||||
| import org.yuzu.yuzu_emu.adapters.GameAdapter.GameViewHolder | ||||
| import org.yuzu.yuzu_emu.databinding.CardGameBinding | ||||
| import org.yuzu.yuzu_emu.model.Game | ||||
| @@ -77,6 +83,21 @@ class GameAdapter(private val activity: AppCompatActivity) : | ||||
|             ) | ||||
|             .apply() | ||||
|  | ||||
|         val openIntent = Intent(YuzuApplication.appContext, EmulationActivity::class.java).apply { | ||||
|             action = Intent.ACTION_VIEW | ||||
|             data = Uri.parse(holder.game.path) | ||||
|         } | ||||
|         val shortcut = ShortcutInfoCompat.Builder(YuzuApplication.appContext, holder.game.path) | ||||
|             .setShortLabel(holder.game.title) | ||||
|             .setIcon( | ||||
|                 IconCompat.createWithBitmap( | ||||
|                     (holder.binding.imageGameScreen.drawable as BitmapDrawable).bitmap | ||||
|                 ) | ||||
|             ) | ||||
|             .setIntent(openIntent) | ||||
|             .build() | ||||
|         ShortcutManagerCompat.pushDynamicShortcut(YuzuApplication.appContext, shortcut) | ||||
|  | ||||
|         val action = HomeNavigationDirections.actionGlobalEmulationActivity(holder.game) | ||||
|         view.findNavController().navigate(action) | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user