|
|
|
@ -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) |
|
|
|
} |
|
|
|
|