mirror of
https://git.suyu.dev/suyu/suyu
synced 2025-12-09 06:12:07 -06:00
Compare commits
2 Commits
v0.0.3
...
prerelease
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7688c89bc7 | ||
|
|
32da0983d8 |
@@ -37,7 +37,7 @@ fi
|
||||
|
||||
# Don't let AppImageLauncher ask to integrate EA
|
||||
if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ]; then
|
||||
echo "X-AppImage-Integrate=false" >> AppDir/dev.suyu_emu.suyu.desktop
|
||||
echo "X-AppImage-Integrate=false" >> AppDir/org.suyu_emu.suyu.desktop
|
||||
fi
|
||||
|
||||
if [ "${RELEASE_NAME}" = "mainline" ]; then
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
||||
# SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
set -e
|
||||
@@ -10,15 +9,12 @@ set -e
|
||||
|
||||
ccache -sv
|
||||
|
||||
rm -rf build
|
||||
mkdir -p build && cd build
|
||||
/usr/bin/x86_64-w64-mingw32-cmake .. \
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWCross.cmake" \
|
||||
-DDISPLAY_VERSION="$1" \
|
||||
-DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \
|
||||
-DSUYU_USE_PRECOMPILED_HEADERS=OFF \
|
||||
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \
|
||||
-DUSE_DISCORD_PRESENCE=ON \
|
||||
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
|
||||
-DENABLE_QT_TRANSLATION=ON \
|
||||
-DUSE_CCACHE=ON \
|
||||
-DSUYU_USE_BUNDLED_SDL2=OFF \
|
||||
|
||||
@@ -63,8 +63,8 @@ jobs:
|
||||
image: linux-fresh
|
||||
- type: linux
|
||||
image: linux-fresh
|
||||
- type: windows
|
||||
image: linux-mingw
|
||||
# - type: windows
|
||||
# image: linux-mingw
|
||||
container: fijxu/build-environments:${{ matrix.image }}
|
||||
# User 1001 doesn't exists on the images.
|
||||
# options: -u 1001
|
||||
|
||||
@@ -732,14 +732,14 @@ endif()
|
||||
# https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
|
||||
# https://www.freedesktop.org/software/appstream/docs/
|
||||
if(ENABLE_QT AND UNIX AND NOT APPLE)
|
||||
install(FILES "dist/dev.suyu_emu.suyu.desktop"
|
||||
install(FILES "dist/org.suyu_emu.suyu.desktop"
|
||||
DESTINATION "share/applications")
|
||||
install(FILES "dist/suyu.svg"
|
||||
DESTINATION "share/icons/hicolor/scalable/apps"
|
||||
RENAME "dev.suyu_emu.suyu.svg")
|
||||
install(FILES "dist/dev.suyu_emu.suyu.xml"
|
||||
RENAME "org.suyu_emu.suyu.svg")
|
||||
install(FILES "dist/org.suyu_emu.suyu.xml"
|
||||
DESTINATION "share/mime/packages")
|
||||
install(FILES "dist/dev.suyu_emu.suyu.metainfo.xml"
|
||||
install(FILES "dist/org.suyu_emu.suyu.metainfo.xml"
|
||||
DESTINATION "share/metainfo")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
**Note**: We do not support or condone piracy in any form. In order to use suyu, you'll need keys from your real Switch system, and games which you have legally obtained and paid for. We do not intend to make money or profit from this project.
|
||||
|
||||
We're in need of developers. Please join our Matrix below if you want to contribute!
|
||||
We're in need of developers. Please join our Discord server below if you want to contribute!
|
||||
This repo is based on Yuzu EA 4176.
|
||||
|
||||
<hr />
|
||||
@@ -25,7 +25,7 @@ It is written in C++ with portability in mind, and we're actively working on bui
|
||||
</h4>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://chat.suyu.dev">Matrix</a> |
|
||||
<a href="https://discord.gg/suyu">Discord</a> |
|
||||
<a href="#status">Status</a> |
|
||||
<a href="#development">Development</a> |
|
||||
<a href="#downloads">Downloads</a> |
|
||||
@@ -48,7 +48,7 @@ We currently have builds over at the [Releases](https://git.suyu.dev/suyu/suyu/r
|
||||
|
||||
This project is completely free and open source, and anyone can contribute to help improve suyu.
|
||||
|
||||
Most of the development happens on GitLab. For development discussion, please join us on [Matrix](https://chat.suyu.dev).
|
||||
Most of the development happens on GitLab. For development discussion, please join us on [Discord](https://discord.gg/suyu).
|
||||
|
||||
If you want to contribute, please take a look at the [Contributor's Guide](https://git.suyu.dev/suyu/suyu/wiki/Contributing) and [Developer Information](https://git.suyu.dev/suyu/suyu/wiki/Developer-Information).
|
||||
You can also contact any of the developers on Discord to learn more about the current state of suyu.
|
||||
@@ -77,7 +77,7 @@ We have official builds [here.](https://git.suyu.dev/suyu/suyu/releases) If any
|
||||
|
||||
## Support
|
||||
|
||||
If you have any questions, don't hesitate to ask us on [Matrix](https://chat.suyu.dev). We don't bite!
|
||||
If you have any questions, don't hesitate to ask us on [Discord](https://discord.gg/suyu). We don't bite!
|
||||
|
||||
|
||||
## License
|
||||
|
||||
@@ -8,7 +8,7 @@ Type=Application
|
||||
Name=suyu
|
||||
GenericName=Switch Emulator
|
||||
Comment=Nintendo Switch video game console emulator
|
||||
Icon=dev.suyu_emu.suyu
|
||||
Icon=org.suyu_emu.suyu
|
||||
TryExec=suyu
|
||||
Exec=suyu %f
|
||||
Categories=Game;Emulator;Qt;
|
||||
@@ -7,7 +7,7 @@ SPDX-License-Identifier: CC0-1.0
|
||||
-->
|
||||
|
||||
<component type="desktop-application">
|
||||
<id>dev.suyu_emu.suyu</id>
|
||||
<id>org.suyu_emu.suyu</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>suyu</name>
|
||||
<summary>Nintendo Switch emulator</summary>
|
||||
@@ -34,7 +34,7 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<url type="contact">https://community.citra-emu.org/</url>
|
||||
<url type="vcs-browser">https://gitlab.com/suyu-emu/suyu</url>
|
||||
<url type="contribute">https://suyu-emu.org/wiki/contributing/</url>
|
||||
<launchable type="desktop-id">dev.suyu_emu.suyu.desktop</launchable>
|
||||
<launchable type="desktop-id">org.suyu_emu.suyu.desktop</launchable>
|
||||
<provides>
|
||||
<binary>suyu</binary>
|
||||
<binary>suyu-cmd</binary>
|
||||
@@ -10,7 +10,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
||||
<mime-type type="application/x-nx-nro">
|
||||
<comment>Nintendo Switch homebrew executable</comment>
|
||||
<acronym>NRO</acronym>
|
||||
<icon name="dev.suyu_emu.suyu"/>
|
||||
<icon name="org.suyu_emu.suyu"/>
|
||||
<glob pattern="*.nro"/>
|
||||
<magic><match value="NRO" type="string" offset="16"/></magic>
|
||||
</mime-type>
|
||||
@@ -18,7 +18,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
||||
<mime-type type="application/x-nx-nso">
|
||||
<comment>Nintendo Switch homebrew executable</comment>
|
||||
<acronym>NSO</acronym>
|
||||
<icon name="dev.suyu_emu.suyu"/>
|
||||
<icon name="org.suyu_emu.suyu"/>
|
||||
<glob pattern="*.nso"/>
|
||||
<magic><match value="NSO" type="string" offset="0"/></magic>
|
||||
</mime-type>
|
||||
@@ -26,7 +26,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
||||
<mime-type type="application/x-nx-nsp">
|
||||
<comment>Nintendo Switch Package</comment>
|
||||
<acronym>NSP</acronym>
|
||||
<icon name="dev.suyu_emu.suyu"/>
|
||||
<icon name="org.suyu_emu.suyu"/>
|
||||
<glob pattern="*.nsp"/>
|
||||
<magic><match value="PFS" type="string" offset="0"/></magic>
|
||||
</mime-type>
|
||||
@@ -34,7 +34,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
||||
<mime-type type="application/x-nx-xci">
|
||||
<comment>Nintendo Switch Card Image</comment>
|
||||
<acronym>XCI</acronym>
|
||||
<icon name="dev.suyu_emu.suyu"/>
|
||||
<icon name="org.suyu_emu.suyu"/>
|
||||
<glob pattern="*.xci"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
@@ -25,7 +25,7 @@ val autoVersion = (((System.currentTimeMillis() / 1000) - 1451606400) / 10).toIn
|
||||
|
||||
@Suppress("UnstableApiUsage")
|
||||
android {
|
||||
namespace = "dev.suyu.suyu_emu"
|
||||
namespace = "org.suyu.suyu_emu"
|
||||
|
||||
compileSdkVersion = "android-34"
|
||||
ndkVersion = "26.1.10909125"
|
||||
@@ -54,7 +54,7 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
// TODO If this is ever modified, change application_id in strings.xml
|
||||
applicationId = "dev.suyu.suyu_emu"
|
||||
applicationId = "org.suyu.suyu_emu"
|
||||
minSdk = 30
|
||||
targetSdk = 34
|
||||
versionName = getGitVersion()
|
||||
|
||||
@@ -17,7 +17,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
|
||||
<application
|
||||
android:name="dev.suyu.suyu_emu.SuyuApplication"
|
||||
android:name="org.suyu.suyu_emu.SuyuApplication"
|
||||
android:label="@string/app_name_suffixed"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:allowBackup="true"
|
||||
@@ -34,7 +34,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
android:resource="@xml/game_mode_config" />
|
||||
|
||||
<activity
|
||||
android:name="dev.suyu.suyu_emu.ui.main.MainActivity"
|
||||
android:name="org.suyu.suyu_emu.ui.main.MainActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/Theme.Suyu.Splash.Main">
|
||||
|
||||
@@ -48,12 +48,12 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name="dev.suyu.suyu_emu.features.settings.ui.SettingsActivity"
|
||||
android:name="org.suyu.suyu_emu.features.settings.ui.SettingsActivity"
|
||||
android:theme="@style/Theme.Suyu.Main"
|
||||
android:label="@string/preferences_settings"/>
|
||||
|
||||
<activity
|
||||
android:name="dev.suyu.suyu_emu.activities.EmulationActivity"
|
||||
android:name="org.suyu.suyu_emu.activities.EmulationActivity"
|
||||
android:theme="@style/Theme.Suyu.Main"
|
||||
android:launchMode="singleTop"
|
||||
android:supportsPictureInPicture="true"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu
|
||||
package org.suyu.suyu_emu
|
||||
|
||||
import android.content.DialogInterface
|
||||
import android.net.Uri
|
||||
@@ -13,14 +13,14 @@ import android.widget.TextView
|
||||
import androidx.annotation.Keep
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import java.lang.ref.WeakReference
|
||||
import dev.suyu.suyu_emu.activities.EmulationActivity
|
||||
import dev.suyu.suyu_emu.fragments.CoreErrorDialogFragment
|
||||
import dev.suyu.suyu_emu.utils.DocumentsTree
|
||||
import dev.suyu.suyu_emu.utils.FileUtil
|
||||
import dev.suyu.suyu_emu.utils.Log
|
||||
import dev.suyu.suyu_emu.model.InstallResult
|
||||
import dev.suyu.suyu_emu.model.Patch
|
||||
import dev.suyu.suyu_emu.model.GameVerificationResult
|
||||
import org.suyu.suyu_emu.activities.EmulationActivity
|
||||
import org.suyu.suyu_emu.fragments.CoreErrorDialogFragment
|
||||
import org.suyu.suyu_emu.utils.DocumentsTree
|
||||
import org.suyu.suyu_emu.utils.FileUtil
|
||||
import org.suyu.suyu_emu.utils.Log
|
||||
import org.suyu.suyu_emu.model.InstallResult
|
||||
import org.suyu.suyu_emu.model.Patch
|
||||
import org.suyu.suyu_emu.model.GameVerificationResult
|
||||
|
||||
/**
|
||||
* Class which contains methods that interact
|
||||
@@ -1,18 +1,18 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu
|
||||
package org.suyu.suyu_emu
|
||||
|
||||
import android.app.Application
|
||||
import android.app.NotificationChannel
|
||||
import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import java.io.File
|
||||
import dev.suyu.suyu_emu.utils.DirectoryInitialization
|
||||
import dev.suyu.suyu_emu.utils.DocumentsTree
|
||||
import dev.suyu.suyu_emu.utils.GpuDriverHelper
|
||||
import dev.suyu.suyu_emu.utils.Log
|
||||
import org.suyu.suyu_emu.utils.DirectoryInitialization
|
||||
import org.suyu.suyu_emu.utils.DocumentsTree
|
||||
import org.suyu.suyu_emu.utils.GpuDriverHelper
|
||||
import org.suyu.suyu_emu.utils.Log
|
||||
|
||||
fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.activities
|
||||
package org.suyu.suyu_emu.activities
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.PendingIntent
|
||||
@@ -35,23 +35,23 @@ import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.preference.PreferenceManager
|
||||
import dev.suyu.suyu_emu.NativeLibrary
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.databinding.ActivityEmulationBinding
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.settings.model.BooleanSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.IntSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.Settings
|
||||
import dev.suyu.suyu_emu.model.EmulationViewModel
|
||||
import dev.suyu.suyu_emu.model.Game
|
||||
import dev.suyu.suyu_emu.utils.InputHandler
|
||||
import dev.suyu.suyu_emu.utils.Log
|
||||
import dev.suyu.suyu_emu.utils.MemoryUtil
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import dev.suyu.suyu_emu.utils.NfcReader
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import dev.suyu.suyu_emu.utils.ThemeHelper
|
||||
import org.suyu.suyu_emu.NativeLibrary
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.databinding.ActivityEmulationBinding
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.settings.model.BooleanSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.IntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.Settings
|
||||
import org.suyu.suyu_emu.model.EmulationViewModel
|
||||
import org.suyu.suyu_emu.model.Game
|
||||
import org.suyu.suyu_emu.utils.InputHandler
|
||||
import org.suyu.suyu_emu.utils.Log
|
||||
import org.suyu.suyu_emu.utils.MemoryUtil
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NfcReader
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.utils.ThemeHelper
|
||||
import java.text.NumberFormat
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import androidx.recyclerview.widget.AsyncDifferConfig
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
|
||||
/**
|
||||
@@ -2,11 +2,11 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
/**
|
||||
* Generic list class meant to take care of basic lists
|
||||
@@ -2,10 +2,10 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import dev.suyu.suyu_emu.model.SelectableItem
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.model.SelectableItem
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
/**
|
||||
* Generic list class meant to take care of single selection UI updates
|
||||
@@ -1,14 +1,14 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import dev.suyu.suyu_emu.databinding.ListItemAddonBinding
|
||||
import dev.suyu.suyu_emu.model.Patch
|
||||
import dev.suyu.suyu_emu.model.AddonViewModel
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.databinding.ListItemAddonBinding
|
||||
import org.suyu.suyu_emu.model.Patch
|
||||
import org.suyu.suyu_emu.model.AddonViewModel
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class AddonAdapter(val addonViewModel: AddonViewModel) :
|
||||
AbstractDiffAdapter<Patch, AddonAdapter.AddonViewHolder>() {
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
@@ -9,15 +9,15 @@ import android.widget.Toast
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.navigation.findNavController
|
||||
import dev.suyu.suyu_emu.HomeNavigationDirections
|
||||
import dev.suyu.suyu_emu.NativeLibrary
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
|
||||
import dev.suyu.suyu_emu.model.Applet
|
||||
import dev.suyu.suyu_emu.model.AppletInfo
|
||||
import dev.suyu.suyu_emu.model.Game
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.HomeNavigationDirections
|
||||
import org.suyu.suyu_emu.NativeLibrary
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
|
||||
import org.suyu.suyu_emu.model.Applet
|
||||
import org.suyu.suyu_emu.model.AppletInfo
|
||||
import org.suyu.suyu_emu.model.Game
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class AppletAdapter(val activity: FragmentActivity, applets: List<Applet>) :
|
||||
AbstractListAdapter<Applet, AppletAdapter.AppletViewHolder>(applets) {
|
||||
@@ -1,23 +1,23 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import dev.suyu.suyu_emu.HomeNavigationDirections
|
||||
import dev.suyu.suyu_emu.NativeLibrary
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.databinding.DialogListItemBinding
|
||||
import dev.suyu.suyu_emu.model.CabinetMode
|
||||
import dev.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder
|
||||
import dev.suyu.suyu_emu.model.AppletInfo
|
||||
import dev.suyu.suyu_emu.model.Game
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.HomeNavigationDirections
|
||||
import org.suyu.suyu_emu.NativeLibrary
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.databinding.DialogListItemBinding
|
||||
import org.suyu.suyu_emu.model.CabinetMode
|
||||
import org.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder
|
||||
import org.suyu.suyu_emu.model.AppletInfo
|
||||
import org.suyu.suyu_emu.model.Game
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class CabinetLauncherDialogAdapter(val fragment: Fragment) :
|
||||
AbstractListAdapter<CabinetMode, CabinetModeViewHolder>(
|
||||
@@ -1,18 +1,18 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.CardDriverOptionBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.StringSetting
|
||||
import dev.suyu.suyu_emu.model.Driver
|
||||
import dev.suyu.suyu_emu.model.DriverViewModel
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.CardDriverOptionBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.StringSetting
|
||||
import org.suyu.suyu_emu.model.Driver
|
||||
import org.suyu.suyu_emu.model.DriverViewModel
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class DriverAdapter(private val driverViewModel: DriverViewModel) :
|
||||
AbstractSingleSelectionList<Driver, DriverAdapter.DriverViewHolder>(
|
||||
@@ -1,18 +1,18 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.net.Uri
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import dev.suyu.suyu_emu.databinding.CardFolderBinding
|
||||
import dev.suyu.suyu_emu.fragments.GameFolderPropertiesDialogFragment
|
||||
import dev.suyu.suyu_emu.model.GameDir
|
||||
import dev.suyu.suyu_emu.model.GamesViewModel
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.databinding.CardFolderBinding
|
||||
import org.suyu.suyu_emu.fragments.GameFolderPropertiesDialogFragment
|
||||
import org.suyu.suyu_emu.model.GameDir
|
||||
import org.suyu.suyu_emu.model.GamesViewModel
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class FolderAdapter(val activity: FragmentActivity, val gamesViewModel: GamesViewModel) :
|
||||
AbstractDiffAdapter<GameDir, FolderAdapter.FolderViewHolder>() {
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.net.Uri
|
||||
import android.view.LayoutInflater
|
||||
@@ -19,15 +19,15 @@ import androidx.preference.PreferenceManager
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import dev.suyu.suyu_emu.HomeNavigationDirections
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.databinding.CardGameBinding
|
||||
import dev.suyu.suyu_emu.model.Game
|
||||
import dev.suyu.suyu_emu.model.GamesViewModel
|
||||
import dev.suyu.suyu_emu.utils.GameIconUtils
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.HomeNavigationDirections
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.databinding.CardGameBinding
|
||||
import org.suyu.suyu_emu.model.Game
|
||||
import org.suyu.suyu_emu.model.GamesViewModel
|
||||
import org.suyu.suyu_emu.utils.GameIconUtils
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class GameAdapter(private val activity: AppCompatActivity) :
|
||||
AbstractDiffAdapter<Game, GameAdapter.GameViewHolder>(exact = false) {
|
||||
@@ -1,21 +1,21 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import dev.suyu.suyu_emu.databinding.CardInstallableIconBinding
|
||||
import dev.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
|
||||
import dev.suyu.suyu_emu.model.GameProperty
|
||||
import dev.suyu.suyu_emu.model.InstallableProperty
|
||||
import dev.suyu.suyu_emu.model.SubmenuProperty
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import dev.suyu.suyu_emu.utils.collect
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.databinding.CardInstallableIconBinding
|
||||
import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
|
||||
import org.suyu.suyu_emu.model.GameProperty
|
||||
import org.suyu.suyu_emu.model.InstallableProperty
|
||||
import org.suyu.suyu_emu.model.SubmenuProperty
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.utils.collect
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class GamePropertiesAdapter(
|
||||
private val viewLifecycle: LifecycleOwner,
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
@@ -9,14 +9,14 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.CardHomeOptionBinding
|
||||
import dev.suyu.suyu_emu.fragments.MessageDialogFragment
|
||||
import dev.suyu.suyu_emu.model.HomeSetting
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import dev.suyu.suyu_emu.utils.collect
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.CardHomeOptionBinding
|
||||
import org.suyu.suyu_emu.fragments.MessageDialogFragment
|
||||
import org.suyu.suyu_emu.model.HomeSetting
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.utils.collect
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class HomeSettingAdapter(
|
||||
private val activity: AppCompatActivity,
|
||||
@@ -1,14 +1,14 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import dev.suyu.suyu_emu.databinding.CardInstallableBinding
|
||||
import dev.suyu.suyu_emu.model.Installable
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.databinding.CardInstallableBinding
|
||||
import org.suyu.suyu_emu.model.Installable
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class InstallableAdapter(installables: List<Installable>) :
|
||||
AbstractListAdapter<Installable, InstallableAdapter.InstallableViewHolder>(installables) {
|
||||
@@ -1,16 +1,16 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.fragments.LicenseBottomSheetDialogFragment
|
||||
import dev.suyu.suyu_emu.model.License
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.fragments.LicenseBottomSheetDialogFragment
|
||||
import org.suyu.suyu_emu.model.License
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class LicenseAdapter(private val activity: AppCompatActivity, licenses: List<License>) :
|
||||
AbstractListAdapter<License, LicenseAdapter.LicenseViewHolder>(licenses) {
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.adapters
|
||||
package org.suyu.suyu_emu.adapters
|
||||
|
||||
import android.text.Html
|
||||
import android.view.LayoutInflater
|
||||
@@ -10,14 +10,14 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import dev.suyu.suyu_emu.databinding.PageSetupBinding
|
||||
import dev.suyu.suyu_emu.model.HomeViewModel
|
||||
import dev.suyu.suyu_emu.model.SetupCallback
|
||||
import dev.suyu.suyu_emu.model.SetupPage
|
||||
import dev.suyu.suyu_emu.model.StepState
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.databinding.PageSetupBinding
|
||||
import org.suyu.suyu_emu.model.HomeViewModel
|
||||
import org.suyu.suyu_emu.model.SetupCallback
|
||||
import org.suyu.suyu_emu.model.SetupPage
|
||||
import org.suyu.suyu_emu.model.StepState
|
||||
import org.suyu.suyu_emu.utils.ViewUtils
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
|
||||
class SetupAdapter(val activity: AppCompatActivity, pages: List<SetupPage>) :
|
||||
AbstractListAdapter<SetupPage, SetupAdapter.SetupPageViewHolder>(pages) {
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.applets.keyboard
|
||||
package org.suyu.suyu_emu.applets.keyboard
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Handler
|
||||
@@ -13,9 +13,9 @@ import android.view.inputmethod.InputMethodManager
|
||||
import androidx.annotation.Keep
|
||||
import androidx.core.view.ViewCompat
|
||||
import java.io.Serializable
|
||||
import dev.suyu.suyu_emu.NativeLibrary
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.applets.keyboard.ui.KeyboardDialogFragment
|
||||
import org.suyu.suyu_emu.NativeLibrary
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.applets.keyboard.ui.KeyboardDialogFragment
|
||||
|
||||
@Keep
|
||||
object SoftwareKeyboard {
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.applets.keyboard.ui
|
||||
package org.suyu.suyu_emu.applets.keyboard.ui
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.DialogInterface
|
||||
@@ -10,11 +10,11 @@ import android.text.InputFilter
|
||||
import android.text.InputType
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard
|
||||
import dev.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig
|
||||
import dev.suyu.suyu_emu.databinding.DialogEditTextBinding
|
||||
import dev.suyu.suyu_emu.utils.SerializableHelper.serializable
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard
|
||||
import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig
|
||||
import org.suyu.suyu_emu.databinding.DialogEditTextBinding
|
||||
import org.suyu.suyu_emu.utils.SerializableHelper.serializable
|
||||
|
||||
class KeyboardDialogFragment : DialogFragment() {
|
||||
private lateinit var binding: DialogEditTextBinding
|
||||
@@ -1,15 +1,15 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.disk_shader_cache
|
||||
package org.suyu.suyu_emu.disk_shader_cache
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import dev.suyu.suyu_emu.NativeLibrary
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.activities.EmulationActivity
|
||||
import dev.suyu.suyu_emu.model.EmulationViewModel
|
||||
import dev.suyu.suyu_emu.utils.Log
|
||||
import org.suyu.suyu_emu.NativeLibrary
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.activities.EmulationActivity
|
||||
import org.suyu.suyu_emu.model.EmulationViewModel
|
||||
import org.suyu.suyu_emu.utils.Log
|
||||
|
||||
@Keep
|
||||
object DiskShaderCacheProgress {
|
||||
@@ -4,7 +4,7 @@
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
// Copyright © 2023 Skyline Team and Contributors (https://github.com/skyline-emu/)
|
||||
|
||||
package dev.suyu.suyu_emu.features
|
||||
package org.suyu.suyu_emu.features
|
||||
|
||||
import android.database.Cursor
|
||||
import android.database.MatrixCursor
|
||||
@@ -14,10 +14,10 @@ import android.provider.DocumentsContract
|
||||
import android.provider.DocumentsProvider
|
||||
import android.webkit.MimeTypeMap
|
||||
import java.io.*
|
||||
import dev.suyu.suyu_emu.BuildConfig
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.getPublicFilesDir
|
||||
import org.suyu.suyu_emu.BuildConfig
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.getPublicFilesDir
|
||||
|
||||
class DocumentProvider : DocumentsProvider() {
|
||||
private val baseDirectory: File
|
||||
@@ -2,15 +2,15 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input
|
||||
package org.suyu.suyu_emu.features.input
|
||||
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeButton
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import dev.suyu.suyu_emu.features.input.model.InputType
|
||||
import dev.suyu.suyu_emu.features.input.model.ButtonName
|
||||
import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.features.input.model.NativeButton
|
||||
import org.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import org.suyu.suyu_emu.features.input.model.InputType
|
||||
import org.suyu.suyu_emu.features.input.model.ButtonName
|
||||
import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
import android.view.InputDevice
|
||||
|
||||
object NativeInput {
|
||||
@@ -2,13 +2,13 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input
|
||||
package org.suyu.suyu_emu.features.input
|
||||
|
||||
import android.view.InputDevice
|
||||
import androidx.annotation.Keep
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.utils.InputHandler.getGUID
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.utils.InputHandler.getGUID
|
||||
|
||||
@Keep
|
||||
interface SuyuInputDevice {
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input
|
||||
package org.suyu.suyu_emu.features.input
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
@@ -13,7 +13,7 @@ import android.os.VibratorManager
|
||||
import android.view.InputDevice
|
||||
import androidx.annotation.Keep
|
||||
import androidx.annotation.RequiresApi
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
|
||||
@Keep
|
||||
@Suppress("DEPRECATION")
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input.model
|
||||
package org.suyu.suyu_emu.features.input.model
|
||||
|
||||
enum class AnalogDirection(val int: Int, val param: String) {
|
||||
Up(0, "up"),
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input.model
|
||||
package org.suyu.suyu_emu.features.input.model
|
||||
|
||||
// Loosely matches the enum in common/input.h
|
||||
enum class ButtonName(val int: Int) {
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input.model
|
||||
package org.suyu.suyu_emu.features.input.model
|
||||
|
||||
// Must match the corresponding enum in input_common/main.h
|
||||
enum class InputType(val int: Int) {
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input.model
|
||||
package org.suyu.suyu_emu.features.input.model
|
||||
|
||||
// Must match enum in src/common/settings_input.h
|
||||
enum class NativeAnalog(val int: Int) {
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input.model
|
||||
package org.suyu.suyu_emu.features.input.model
|
||||
|
||||
// Must match enum in src/common/settings_input.h
|
||||
enum class NativeButton(val int: Int) {
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input.model
|
||||
package org.suyu.suyu_emu.features.input.model
|
||||
|
||||
// Must match enum in src/common/settings_input.h
|
||||
enum class NativeTrigger(val int: Int) {
|
||||
@@ -2,10 +2,10 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input.model
|
||||
package org.suyu.suyu_emu.features.input.model
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.R
|
||||
|
||||
// Must match enum in src/core/hid/hid_types.h
|
||||
enum class NpadStyleIndex(val int: Int, @StringRes val nameId: Int = 0) {
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.input.model
|
||||
package org.suyu.suyu_emu.features.input.model
|
||||
|
||||
import androidx.annotation.Keep
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
interface AbstractBooleanSetting : AbstractSetting {
|
||||
fun getBoolean(needsGlobal: Boolean = false): Boolean
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
interface AbstractByteSetting : AbstractSetting {
|
||||
fun getByte(needsGlobal: Boolean = false): Byte
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
interface AbstractFloatSetting : AbstractSetting {
|
||||
fun getFloat(needsGlobal: Boolean = false): Float
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
interface AbstractIntSetting : AbstractSetting {
|
||||
fun getInt(needsGlobal: Boolean = false): Int
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
interface AbstractLongSetting : AbstractSetting {
|
||||
fun getLong(needsGlobal: Boolean = false): Long
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
interface AbstractSetting {
|
||||
val key: String
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
interface AbstractShortSetting : AbstractSetting {
|
||||
fun getShort(needsGlobal: Boolean = false): Short
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
interface AbstractStringSetting : AbstractSetting {
|
||||
fun getString(needsGlobal: Boolean = false): String
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
|
||||
AUDIO_MUTED("audio_muted"),
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
enum class ByteSetting(override val key: String) : AbstractByteSetting {
|
||||
AUDIO_VOLUME("volume");
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
enum class FloatSetting(override val key: String) : AbstractFloatSetting {
|
||||
// No float settings currently exist
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
enum class IntSetting(override val key: String) : AbstractIntSetting {
|
||||
CPU_BACKEND("cpu_backend"),
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
enum class LongSetting(override val key: String) : AbstractLongSetting {
|
||||
CUSTOM_RTC("custom_rtc");
|
||||
@@ -1,10 +1,10 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
|
||||
object Settings {
|
||||
enum class MenuTag(val titleId: Int = 0) {
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
enum class ShortSetting(override val key: String) : AbstractShortSetting {
|
||||
RENDERER_SPEED_LIMIT("speed_limit");
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model
|
||||
package org.suyu.suyu_emu.features.settings.model
|
||||
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
enum class StringSetting(override val key: String) : AbstractStringSetting {
|
||||
DRIVER_PATH("driver_path"),
|
||||
@@ -2,14 +2,14 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.AnalogDirection
|
||||
import dev.suyu.suyu_emu.features.input.model.InputType
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.AnalogDirection
|
||||
import org.suyu.suyu_emu.features.input.model.InputType
|
||||
import org.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
|
||||
class AnalogInputSetting(
|
||||
override val playerIndex: Int,
|
||||
@@ -2,13 +2,13 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.InputType
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeButton
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.InputType
|
||||
import org.suyu.suyu_emu.features.input.model.NativeButton
|
||||
|
||||
class ButtonInputSetting(
|
||||
override val playerIndex: Int,
|
||||
@@ -1,10 +1,10 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractLongSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractLongSetting
|
||||
|
||||
class DateTimeSetting(
|
||||
private val longSetting: AbstractLongSetting,
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
class InputProfileSetting(private val playerIndex: Int) :
|
||||
SettingsItem(emptySetting, R.string.profile, "", 0, "") {
|
||||
@@ -2,15 +2,15 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.ButtonName
|
||||
import dev.suyu.suyu_emu.features.input.model.InputType
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.ButtonName
|
||||
import org.suyu.suyu_emu.features.input.model.InputType
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
|
||||
sealed class InputSetting(
|
||||
@StringRes titleId: Int,
|
||||
@@ -1,10 +1,10 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
|
||||
class IntSingleChoiceSetting(
|
||||
private val intSetting: AbstractIntSetting,
|
||||
@@ -2,13 +2,13 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.InputType
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.InputType
|
||||
import org.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
|
||||
class ModifierInputSetting(
|
||||
override val playerIndex: Int,
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
@@ -1,23 +1,23 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.NativeLibrary
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.BooleanSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.ByteSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.IntSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.LongSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.ShortSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.StringSetting
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.NativeLibrary
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.BooleanSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.ByteSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.IntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.LongSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.ShortSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.StringSetting
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
/**
|
||||
* ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments.
|
||||
@@ -1,12 +1,12 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.ArrayRes
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractSetting
|
||||
|
||||
class SingleChoiceSetting(
|
||||
setting: AbstractSetting,
|
||||
@@ -1,14 +1,14 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractByteSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractFloatSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractShortSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractByteSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractFloatSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractShortSetting
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class SliderSetting(
|
||||
@@ -2,10 +2,10 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractStringSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractStringSetting
|
||||
|
||||
class StringInputSetting(
|
||||
setting: AbstractStringSetting,
|
||||
@@ -1,10 +1,10 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractStringSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractStringSetting
|
||||
|
||||
class StringSingleChoiceSetting(
|
||||
private val stringSetting: AbstractStringSetting,
|
||||
@@ -1,11 +1,11 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.settings.model.Settings
|
||||
import org.suyu.suyu_emu.features.settings.model.Settings
|
||||
|
||||
class SubmenuSetting(
|
||||
@StringRes titleId: Int = 0,
|
||||
@@ -1,12 +1,12 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.model.view
|
||||
package org.suyu.suyu_emu.features.settings.model.view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractSetting
|
||||
|
||||
class SwitchSetting(
|
||||
setting: AbstractSetting,
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.app.Dialog
|
||||
import android.graphics.drawable.Animatable2
|
||||
@@ -18,17 +18,17 @@ import android.view.ViewGroup
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.DialogMappingBinding
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeButton
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.InputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting
|
||||
import dev.suyu.suyu_emu.utils.InputHandler
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.DialogMappingBinding
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import org.suyu.suyu_emu.features.input.model.NativeButton
|
||||
import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.InputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting
|
||||
import org.suyu.suyu_emu.utils.InputHandler
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
|
||||
class InputDialogFragment : DialogFragment() {
|
||||
private var inputAccepted = false
|
||||
@@ -2,16 +2,16 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.adapters.AbstractListAdapter
|
||||
import dev.suyu.suyu_emu.databinding.ListItemInputProfileBinding
|
||||
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import dev.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.adapters.AbstractListAdapter
|
||||
import org.suyu.suyu_emu.databinding.ListItemInputProfileBinding
|
||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
||||
import org.suyu.suyu_emu.R
|
||||
|
||||
class InputProfileAdapter(options: List<ProfileItem>) :
|
||||
AbstractListAdapter<ProfileItem, AbstractViewHolder<ProfileItem>>(options) {
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
@@ -14,11 +14,11 @@ import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.DialogInputProfilesBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
|
||||
import dev.suyu.suyu_emu.fragments.MessageDialogFragment
|
||||
import dev.suyu.suyu_emu.utils.collect
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.DialogInputProfilesBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
|
||||
import org.suyu.suyu_emu.fragments.MessageDialogFragment
|
||||
import org.suyu.suyu_emu.utils.collect
|
||||
|
||||
class InputProfileDialogFragment : DialogFragment() {
|
||||
private var position = 0
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
@@ -10,9 +10,9 @@ import android.widget.Toast
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dev.suyu.suyu_emu.databinding.DialogEditTextBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
|
||||
import dev.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.DialogEditTextBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
|
||||
import org.suyu.suyu_emu.R
|
||||
|
||||
class NewInputProfileDialogFragment : DialogFragment() {
|
||||
private var position = 0
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
@@ -16,14 +16,14 @@ import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.navArgs
|
||||
import com.google.android.material.color.MaterialColors
|
||||
import dev.suyu.suyu_emu.NativeLibrary
|
||||
import org.suyu.suyu_emu.NativeLibrary
|
||||
import java.io.IOException
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.ActivitySettingsBinding
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.settings.utils.SettingsFile
|
||||
import dev.suyu.suyu_emu.fragments.ResetSettingsDialogFragment
|
||||
import dev.suyu.suyu_emu.utils.*
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.ActivitySettingsBinding
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.settings.utils.SettingsFile
|
||||
import org.suyu.suyu_emu.fragments.ResetSettingsDialogFragment
|
||||
import org.suyu.suyu_emu.utils.*
|
||||
|
||||
class SettingsActivity : AppCompatActivity() {
|
||||
private lateinit var binding: ActivitySettingsBinding
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.icu.util.Calendar
|
||||
@@ -20,18 +20,18 @@ import androidx.recyclerview.widget.ListAdapter
|
||||
import com.google.android.material.datepicker.MaterialDatePicker
|
||||
import com.google.android.material.timepicker.MaterialTimePicker
|
||||
import com.google.android.material.timepicker.TimeFormat
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SettingsNavigationDirections
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingInputBinding
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.AnalogDirection
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.*
|
||||
import dev.suyu.suyu_emu.features.settings.ui.viewholder.*
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SettingsNavigationDirections
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingInputBinding
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.AnalogDirection
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.*
|
||||
import org.suyu.suyu_emu.features.settings.ui.viewholder.*
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
|
||||
class SettingsAdapter(
|
||||
private val fragment: Fragment,
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.DialogInterface
|
||||
@@ -13,21 +13,21 @@ import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.google.android.material.slider.Slider
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.DialogEditTextBinding
|
||||
import dev.suyu.suyu_emu.databinding.DialogSliderBinding
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.AnalogDirection
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SliderSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.StringInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import dev.suyu.suyu_emu.utils.collect
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.DialogEditTextBinding
|
||||
import org.suyu.suyu_emu.databinding.DialogSliderBinding
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.AnalogDirection
|
||||
import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SliderSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.StringInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.utils.collect
|
||||
|
||||
class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener {
|
||||
private var type = 0
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
@@ -17,13 +17,13 @@ import androidx.navigation.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.FragmentSettingsBinding
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.settings.model.Settings
|
||||
import dev.suyu.suyu_emu.fragments.MessageDialogFragment
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins
|
||||
import dev.suyu.suyu_emu.utils.collect
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.FragmentSettingsBinding
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.settings.model.Settings
|
||||
import org.suyu.suyu_emu.fragments.MessageDialogFragment
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.updateMargins
|
||||
import org.suyu.suyu_emu.utils.collect
|
||||
|
||||
class SettingsFragment : Fragment() {
|
||||
private lateinit var presenter: SettingsFragmentPresenter
|
||||
@@ -1,32 +1,32 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Build
|
||||
import android.widget.Toast
|
||||
import dev.suyu.suyu_emu.NativeLibrary
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.input.model.AnalogDirection
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import dev.suyu.suyu_emu.features.input.model.NativeButton
|
||||
import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.BooleanSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.ByteSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.IntSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.LongSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.Settings
|
||||
import dev.suyu.suyu_emu.features.settings.model.Settings.MenuTag
|
||||
import dev.suyu.suyu_emu.features.settings.model.ShortSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.StringSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.*
|
||||
import dev.suyu.suyu_emu.utils.InputHandler
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.NativeLibrary
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.input.model.AnalogDirection
|
||||
import org.suyu.suyu_emu.features.input.model.NativeAnalog
|
||||
import org.suyu.suyu_emu.features.input.model.NativeButton
|
||||
import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.BooleanSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.ByteSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.IntSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.LongSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.Settings
|
||||
import org.suyu.suyu_emu.features.settings.model.Settings.MenuTag
|
||||
import org.suyu.suyu_emu.features.settings.model.ShortSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.StringSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.*
|
||||
import org.suyu.suyu_emu.utils.InputHandler
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
class SettingsFragmentPresenter(
|
||||
private val settingsViewModel: SettingsViewModel,
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
@@ -19,13 +19,13 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.divider.MaterialDividerItemDecoration
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import info.debatty.java.stringsimilarity.Cosine
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.FragmentSettingsSearchBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins
|
||||
import dev.suyu.suyu_emu.utils.collect
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.FragmentSettingsSearchBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.updateMargins
|
||||
import org.suyu.suyu_emu.utils.collect
|
||||
|
||||
class SettingsSearchFragment : Fragment() {
|
||||
private var _binding: FragmentSettingsSearchBinding? = null
|
||||
@@ -1,18 +1,18 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui
|
||||
package org.suyu.suyu_emu.features.settings.ui
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.SuyuApplication
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.model.Game
|
||||
import dev.suyu.suyu_emu.utils.InputHandler
|
||||
import dev.suyu.suyu_emu.utils.ParamPackage
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.SuyuApplication
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.model.Game
|
||||
import org.suyu.suyu_emu.utils.InputHandler
|
||||
import org.suyu.suyu_emu.utils.ParamPackage
|
||||
|
||||
class SettingsViewModel : ViewModel() {
|
||||
var game: Game? = null
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import java.time.Instant
|
||||
@@ -9,11 +9,11 @@ import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
import java.time.format.FormatStyle
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.DateTimeSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.DateTimeSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class DateTimeViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -1,12 +1,12 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
|
||||
class HeaderViewHolder(val binding: ListItemSettingsHeaderBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -2,15 +2,15 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class InputProfileViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -2,18 +2,18 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingInputBinding
|
||||
import dev.suyu.suyu_emu.features.input.NativeInput
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.InputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingInputBinding
|
||||
import org.suyu.suyu_emu.features.input.NativeInput
|
||||
import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.InputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class InputViewHolder(val binding: ListItemSettingInputBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -1,15 +1,15 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.RunnableSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.RunnableSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class RunnableViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -1,14 +1,14 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
|
||||
abstract class SettingViewHolder(itemView: View, protected val adapter: SettingsAdapter) :
|
||||
RecyclerView.ViewHolder(itemView), View.OnClickListener, View.OnLongClickListener {
|
||||
@@ -1,16 +1,16 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting
|
||||
import org.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class SingleChoiceViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -1,15 +1,15 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SliderSetting
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SliderSetting
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class SliderViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -2,14 +2,14 @@
|
||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.StringInputSetting
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.model.view.StringInputSetting
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class StringInputViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -1,15 +1,15 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SubmenuSetting
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SubmenuSetting
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class SubmenuViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -1,15 +1,15 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
package org.suyu.suyu_emu.features.settings.ui.viewholder
|
||||
|
||||
import android.view.View
|
||||
import android.widget.CompoundButton
|
||||
import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import dev.suyu.suyu_emu.features.settings.model.view.SwitchSetting
|
||||
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
|
||||
import org.suyu.suyu_emu.features.settings.model.view.SwitchSetting
|
||||
import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
||||
|
||||
class SwitchSettingViewHolder(val binding: ListItemSettingSwitchBinding, adapter: SettingsAdapter) :
|
||||
SettingViewHolder(binding.root, adapter) {
|
||||
@@ -1,14 +1,14 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.features.settings.utils
|
||||
package org.suyu.suyu_emu.features.settings.utils
|
||||
|
||||
import android.net.Uri
|
||||
import dev.suyu.suyu_emu.model.Game
|
||||
import org.suyu.suyu_emu.model.Game
|
||||
import java.io.*
|
||||
import dev.suyu.suyu_emu.utils.DirectoryInitialization
|
||||
import dev.suyu.suyu_emu.utils.FileUtil
|
||||
import dev.suyu.suyu_emu.utils.NativeConfig
|
||||
import org.suyu.suyu_emu.utils.DirectoryInitialization
|
||||
import org.suyu.suyu_emu.utils.FileUtil
|
||||
import org.suyu.suyu_emu.utils.NativeConfig
|
||||
|
||||
/**
|
||||
* Contains static methods for interacting with .ini files in which settings are stored.
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.fragments
|
||||
package org.suyu.suyu_emu.fragments
|
||||
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
@@ -21,11 +21,11 @@ import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.navigation.findNavController
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import dev.suyu.suyu_emu.BuildConfig
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.FragmentAboutBinding
|
||||
import dev.suyu.suyu_emu.model.HomeViewModel
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins
|
||||
import org.suyu.suyu_emu.BuildConfig
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.FragmentAboutBinding
|
||||
import org.suyu.suyu_emu.model.HomeViewModel
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.updateMargins
|
||||
|
||||
class AboutFragment : Fragment() {
|
||||
private var _binding: FragmentAboutBinding? = null
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.fragments
|
||||
package org.suyu.suyu_emu.fragments
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.DialogInterface
|
||||
@@ -10,11 +10,11 @@ import android.os.Bundle
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.databinding.DialogAddFolderBinding
|
||||
import dev.suyu.suyu_emu.model.GameDir
|
||||
import dev.suyu.suyu_emu.model.GamesViewModel
|
||||
import dev.suyu.suyu_emu.model.HomeViewModel
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.databinding.DialogAddFolderBinding
|
||||
import org.suyu.suyu_emu.model.GameDir
|
||||
import org.suyu.suyu_emu.model.GamesViewModel
|
||||
import org.suyu.suyu_emu.model.HomeViewModel
|
||||
|
||||
class AddGameFolderDialogFragment : DialogFragment() {
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package dev.suyu.suyu_emu.fragments
|
||||
package org.suyu.suyu_emu.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
@@ -19,15 +19,16 @@ import androidx.navigation.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import dev.suyu.suyu_emu.R
|
||||
import dev.suyu.suyu_emu.adapters.AddonAdapter
|
||||
import dev.suyu.suyu_emu.databinding.FragmentAddonsBinding
|
||||
import dev.suyu.suyu_emu.model.AddonViewModel
|
||||
import dev.suyu.suyu_emu.model.HomeViewModel
|
||||
import dev.suyu.suyu_emu.utils.AddonUtil
|
||||
import dev.suyu.suyu_emu.utils.FileUtil.copyFilesTo
|
||||
import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins
|
||||
import dev.suyu.suyu_emu.utils.collect
|
||||
import kotlinx.coroutines.launch
|
||||
import org.suyu.suyu_emu.R
|
||||
import org.suyu.suyu_emu.adapters.AddonAdapter
|
||||
import org.suyu.suyu_emu.databinding.FragmentAddonsBinding
|
||||
import org.suyu.suyu_emu.model.AddonViewModel
|
||||
import org.suyu.suyu_emu.model.HomeViewModel
|
||||
import org.suyu.suyu_emu.utils.AddonUtil
|
||||
import org.suyu.suyu_emu.utils.FileUtil.copyFilesTo
|
||||
import org.suyu.suyu_emu.utils.ViewUtils.updateMargins
|
||||
import org.suyu.suyu_emu.utils.collect
|
||||
import java.io.File
|
||||
|
||||
class AddonsFragment : Fragment() {
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user