1
0
mirror of https://git.suyu.dev/suyu/suyu synced 2025-12-10 23:02:13 -06:00

2 Commits

Author SHA1 Message Date
Exverge
7688c89bc7 todo 2024-04-06 20:19:19 -04:00
Exverge
32da0983d8 todo 2024-04-03 21:05:49 -04:00
232 changed files with 1297 additions and 1621 deletions

View File

@@ -37,7 +37,7 @@ fi
# Don't let AppImageLauncher ask to integrate EA # Don't let AppImageLauncher ask to integrate EA
if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ]; then 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 fi
if [ "${RELEASE_NAME}" = "mainline" ]; then if [ "${RELEASE_NAME}" = "mainline" ]; then

View File

@@ -1,7 +1,6 @@
#!/bin/bash -ex #!/bin/bash -ex
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project # SPDX-FileCopyrightText: 2019 yuzu Emulator Project
# SPDX-FileCopyrightText: 2024 suyu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
set -e set -e
@@ -10,15 +9,12 @@ set -e
ccache -sv ccache -sv
rm -rf build
mkdir -p build && cd build mkdir -p build && cd build
/usr/bin/x86_64-w64-mingw32-cmake .. \ cmake .. \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWCross.cmake" \
-DDISPLAY_VERSION="$1" \ -DDISPLAY_VERSION="$1" \
-DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
-DSUYU_USE_PRECOMPILED_HEADERS=OFF \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \
-DUSE_DISCORD_PRESENCE=ON \
-DENABLE_QT_TRANSLATION=ON \ -DENABLE_QT_TRANSLATION=ON \
-DUSE_CCACHE=ON \ -DUSE_CCACHE=ON \
-DSUYU_USE_BUNDLED_SDL2=OFF \ -DSUYU_USE_BUNDLED_SDL2=OFF \

View File

@@ -63,8 +63,8 @@ jobs:
image: linux-fresh image: linux-fresh
- type: linux - type: linux
image: linux-fresh image: linux-fresh
- type: windows # - type: windows
image: linux-mingw # image: linux-mingw
container: fijxu/build-environments:${{ matrix.image }} container: fijxu/build-environments:${{ matrix.image }}
# User 1001 doesn't exists on the images. # User 1001 doesn't exists on the images.
# options: -u 1001 # options: -u 1001

View File

@@ -732,14 +732,14 @@ endif()
# https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html # https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
# https://www.freedesktop.org/software/appstream/docs/ # https://www.freedesktop.org/software/appstream/docs/
if(ENABLE_QT AND UNIX AND NOT APPLE) 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") DESTINATION "share/applications")
install(FILES "dist/suyu.svg" install(FILES "dist/suyu.svg"
DESTINATION "share/icons/hicolor/scalable/apps" DESTINATION "share/icons/hicolor/scalable/apps"
RENAME "dev.suyu_emu.suyu.svg") RENAME "org.suyu_emu.suyu.svg")
install(FILES "dist/dev.suyu_emu.suyu.xml" install(FILES "dist/org.suyu_emu.suyu.xml"
DESTINATION "share/mime/packages") 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") DESTINATION "share/metainfo")
endif() endif()

View File

@@ -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. **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. This repo is based on Yuzu EA 4176.
<hr /> <hr />
@@ -25,7 +25,7 @@ It is written in C++ with portability in mind, and we're actively working on bui
</h4> </h4>
<p align="center"> <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="#status">Status</a> |
<a href="#development">Development</a> | <a href="#development">Development</a> |
<a href="#downloads">Downloads</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. 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). 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. 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 ## 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 ## License

View File

@@ -8,7 +8,7 @@ Type=Application
Name=suyu Name=suyu
GenericName=Switch Emulator GenericName=Switch Emulator
Comment=Nintendo Switch video game console emulator Comment=Nintendo Switch video game console emulator
Icon=dev.suyu_emu.suyu Icon=org.suyu_emu.suyu
TryExec=suyu TryExec=suyu
Exec=suyu %f Exec=suyu %f
Categories=Game;Emulator;Qt; Categories=Game;Emulator;Qt;

View File

@@ -7,7 +7,7 @@ SPDX-License-Identifier: CC0-1.0
--> -->
<component type="desktop-application"> <component type="desktop-application">
<id>dev.suyu_emu.suyu</id> <id>org.suyu_emu.suyu</id>
<metadata_license>CC0-1.0</metadata_license> <metadata_license>CC0-1.0</metadata_license>
<name>suyu</name> <name>suyu</name>
<summary>Nintendo Switch emulator</summary> <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="contact">https://community.citra-emu.org/</url>
<url type="vcs-browser">https://gitlab.com/suyu-emu/suyu</url> <url type="vcs-browser">https://gitlab.com/suyu-emu/suyu</url>
<url type="contribute">https://suyu-emu.org/wiki/contributing/</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> <provides>
<binary>suyu</binary> <binary>suyu</binary>
<binary>suyu-cmd</binary> <binary>suyu-cmd</binary>

View File

@@ -10,7 +10,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<mime-type type="application/x-nx-nro"> <mime-type type="application/x-nx-nro">
<comment>Nintendo Switch homebrew executable</comment> <comment>Nintendo Switch homebrew executable</comment>
<acronym>NRO</acronym> <acronym>NRO</acronym>
<icon name="dev.suyu_emu.suyu"/> <icon name="org.suyu_emu.suyu"/>
<glob pattern="*.nro"/> <glob pattern="*.nro"/>
<magic><match value="NRO" type="string" offset="16"/></magic> <magic><match value="NRO" type="string" offset="16"/></magic>
</mime-type> </mime-type>
@@ -18,7 +18,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<mime-type type="application/x-nx-nso"> <mime-type type="application/x-nx-nso">
<comment>Nintendo Switch homebrew executable</comment> <comment>Nintendo Switch homebrew executable</comment>
<acronym>NSO</acronym> <acronym>NSO</acronym>
<icon name="dev.suyu_emu.suyu"/> <icon name="org.suyu_emu.suyu"/>
<glob pattern="*.nso"/> <glob pattern="*.nso"/>
<magic><match value="NSO" type="string" offset="0"/></magic> <magic><match value="NSO" type="string" offset="0"/></magic>
</mime-type> </mime-type>
@@ -26,7 +26,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<mime-type type="application/x-nx-nsp"> <mime-type type="application/x-nx-nsp">
<comment>Nintendo Switch Package</comment> <comment>Nintendo Switch Package</comment>
<acronym>NSP</acronym> <acronym>NSP</acronym>
<icon name="dev.suyu_emu.suyu"/> <icon name="org.suyu_emu.suyu"/>
<glob pattern="*.nsp"/> <glob pattern="*.nsp"/>
<magic><match value="PFS" type="string" offset="0"/></magic> <magic><match value="PFS" type="string" offset="0"/></magic>
</mime-type> </mime-type>
@@ -34,7 +34,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<mime-type type="application/x-nx-xci"> <mime-type type="application/x-nx-xci">
<comment>Nintendo Switch Card Image</comment> <comment>Nintendo Switch Card Image</comment>
<acronym>XCI</acronym> <acronym>XCI</acronym>
<icon name="dev.suyu_emu.suyu"/> <icon name="org.suyu_emu.suyu"/>
<glob pattern="*.xci"/> <glob pattern="*.xci"/>
</mime-type> </mime-type>
</mime-info> </mime-info>

View File

@@ -25,7 +25,7 @@ val autoVersion = (((System.currentTimeMillis() / 1000) - 1451606400) / 10).toIn
@Suppress("UnstableApiUsage") @Suppress("UnstableApiUsage")
android { android {
namespace = "dev.suyu.suyu_emu" namespace = "org.suyu.suyu_emu"
compileSdkVersion = "android-34" compileSdkVersion = "android-34"
ndkVersion = "26.1.10909125" ndkVersion = "26.1.10909125"
@@ -54,7 +54,7 @@ android {
defaultConfig { defaultConfig {
// TODO If this is ever modified, change application_id in strings.xml // TODO If this is ever modified, change application_id in strings.xml
applicationId = "dev.suyu.suyu_emu" applicationId = "org.suyu.suyu_emu"
minSdk = 30 minSdk = 30
targetSdk = 34 targetSdk = 34
versionName = getGitVersion() versionName = getGitVersion()

View File

@@ -17,7 +17,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" />
<application <application
android:name="dev.suyu.suyu_emu.SuyuApplication" android:name="org.suyu.suyu_emu.SuyuApplication"
android:label="@string/app_name_suffixed" android:label="@string/app_name_suffixed"
android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher"
android:allowBackup="true" android:allowBackup="true"
@@ -34,7 +34,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
android:resource="@xml/game_mode_config" /> android:resource="@xml/game_mode_config" />
<activity <activity
android:name="dev.suyu.suyu_emu.ui.main.MainActivity" android:name="org.suyu.suyu_emu.ui.main.MainActivity"
android:exported="true" android:exported="true"
android:theme="@style/Theme.Suyu.Splash.Main"> android:theme="@style/Theme.Suyu.Splash.Main">
@@ -48,12 +48,12 @@ SPDX-License-Identifier: GPL-3.0-or-later
</activity> </activity>
<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:theme="@style/Theme.Suyu.Main"
android:label="@string/preferences_settings"/> android:label="@string/preferences_settings"/>
<activity <activity
android:name="dev.suyu.suyu_emu.activities.EmulationActivity" android:name="org.suyu.suyu_emu.activities.EmulationActivity"
android:theme="@style/Theme.Suyu.Main" android:theme="@style/Theme.Suyu.Main"
android:launchMode="singleTop" android:launchMode="singleTop"
android:supportsPictureInPicture="true" android:supportsPictureInPicture="true"

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package dev.suyu.suyu_emu package org.suyu.suyu_emu
import android.content.DialogInterface import android.content.DialogInterface
import android.net.Uri import android.net.Uri
@@ -13,14 +13,14 @@ import android.widget.TextView
import androidx.annotation.Keep import androidx.annotation.Keep
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
import dev.suyu.suyu_emu.activities.EmulationActivity import org.suyu.suyu_emu.activities.EmulationActivity
import dev.suyu.suyu_emu.fragments.CoreErrorDialogFragment import org.suyu.suyu_emu.fragments.CoreErrorDialogFragment
import dev.suyu.suyu_emu.utils.DocumentsTree import org.suyu.suyu_emu.utils.DocumentsTree
import dev.suyu.suyu_emu.utils.FileUtil import org.suyu.suyu_emu.utils.FileUtil
import dev.suyu.suyu_emu.utils.Log import org.suyu.suyu_emu.utils.Log
import dev.suyu.suyu_emu.model.InstallResult import org.suyu.suyu_emu.model.InstallResult
import dev.suyu.suyu_emu.model.Patch import org.suyu.suyu_emu.model.Patch
import dev.suyu.suyu_emu.model.GameVerificationResult import org.suyu.suyu_emu.model.GameVerificationResult
/** /**
* Class which contains methods that interact * Class which contains methods that interact

View File

@@ -1,18 +1,18 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.Application
import android.app.NotificationChannel import android.app.NotificationChannel
import android.app.NotificationManager import android.app.NotificationManager
import android.content.Context 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 java.io.File
import dev.suyu.suyu_emu.utils.DirectoryInitialization import org.suyu.suyu_emu.utils.DirectoryInitialization
import dev.suyu.suyu_emu.utils.DocumentsTree import org.suyu.suyu_emu.utils.DocumentsTree
import dev.suyu.suyu_emu.utils.GpuDriverHelper import org.suyu.suyu_emu.utils.GpuDriverHelper
import dev.suyu.suyu_emu.utils.Log import org.suyu.suyu_emu.utils.Log
fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.annotation.SuppressLint
import android.app.PendingIntent import android.app.PendingIntent
@@ -35,23 +35,23 @@ import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat import androidx.core.view.WindowInsetsControllerCompat
import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.NavHostFragment
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import dev.suyu.suyu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.databinding.ActivityEmulationBinding import org.suyu.suyu_emu.databinding.ActivityEmulationBinding
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.settings.model.BooleanSetting import org.suyu.suyu_emu.features.settings.model.BooleanSetting
import dev.suyu.suyu_emu.features.settings.model.IntSetting import org.suyu.suyu_emu.features.settings.model.IntSetting
import dev.suyu.suyu_emu.features.settings.model.Settings import org.suyu.suyu_emu.features.settings.model.Settings
import dev.suyu.suyu_emu.model.EmulationViewModel import org.suyu.suyu_emu.model.EmulationViewModel
import dev.suyu.suyu_emu.model.Game import org.suyu.suyu_emu.model.Game
import dev.suyu.suyu_emu.utils.InputHandler import org.suyu.suyu_emu.utils.InputHandler
import dev.suyu.suyu_emu.utils.Log import org.suyu.suyu_emu.utils.Log
import dev.suyu.suyu_emu.utils.MemoryUtil import org.suyu.suyu_emu.utils.MemoryUtil
import dev.suyu.suyu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
import dev.suyu.suyu_emu.utils.NfcReader import org.suyu.suyu_emu.utils.NfcReader
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
import dev.suyu.suyu_emu.utils.ThemeHelper import org.suyu.suyu_emu.utils.ThemeHelper
import java.text.NumberFormat import java.text.NumberFormat
import kotlin.math.roundToInt import kotlin.math.roundToInt

View File

@@ -2,13 +2,13 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 android.annotation.SuppressLint
import androidx.recyclerview.widget.AsyncDifferConfig import androidx.recyclerview.widget.AsyncDifferConfig
import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.ListAdapter
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
/** /**

View File

@@ -2,11 +2,11 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 android.annotation.SuppressLint
import androidx.recyclerview.widget.RecyclerView 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 * Generic list class meant to take care of basic lists

View File

@@ -2,10 +2,10 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 org.suyu.suyu_emu.model.SelectableItem
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
/** /**
* Generic list class meant to take care of single selection UI updates * Generic list class meant to take care of single selection UI updates

View File

@@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import dev.suyu.suyu_emu.databinding.ListItemAddonBinding import org.suyu.suyu_emu.databinding.ListItemAddonBinding
import dev.suyu.suyu_emu.model.Patch import org.suyu.suyu_emu.model.Patch
import dev.suyu.suyu_emu.model.AddonViewModel import org.suyu.suyu_emu.model.AddonViewModel
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class AddonAdapter(val addonViewModel: AddonViewModel) : class AddonAdapter(val addonViewModel: AddonViewModel) :
AbstractDiffAdapter<Patch, AddonAdapter.AddonViewHolder>() { AbstractDiffAdapter<Patch, AddonAdapter.AddonViewHolder>() {

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
@@ -9,15 +9,15 @@ import android.widget.Toast
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import androidx.navigation.findNavController import androidx.navigation.findNavController
import dev.suyu.suyu_emu.HomeNavigationDirections import org.suyu.suyu_emu.HomeNavigationDirections
import dev.suyu.suyu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
import dev.suyu.suyu_emu.model.Applet import org.suyu.suyu_emu.model.Applet
import dev.suyu.suyu_emu.model.AppletInfo import org.suyu.suyu_emu.model.AppletInfo
import dev.suyu.suyu_emu.model.Game import org.suyu.suyu_emu.model.Game
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class AppletAdapter(val activity: FragmentActivity, applets: List<Applet>) : class AppletAdapter(val activity: FragmentActivity, applets: List<Applet>) :
AbstractListAdapter<Applet, AppletAdapter.AppletViewHolder>(applets) { AbstractListAdapter<Applet, AppletAdapter.AppletViewHolder>(applets) {

View File

@@ -1,23 +1,23 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import dev.suyu.suyu_emu.HomeNavigationDirections import org.suyu.suyu_emu.HomeNavigationDirections
import dev.suyu.suyu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.databinding.DialogListItemBinding import org.suyu.suyu_emu.databinding.DialogListItemBinding
import dev.suyu.suyu_emu.model.CabinetMode import org.suyu.suyu_emu.model.CabinetMode
import dev.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder import org.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder
import dev.suyu.suyu_emu.model.AppletInfo import org.suyu.suyu_emu.model.AppletInfo
import dev.suyu.suyu_emu.model.Game import org.suyu.suyu_emu.model.Game
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class CabinetLauncherDialogAdapter(val fragment: Fragment) : class CabinetLauncherDialogAdapter(val fragment: Fragment) :
AbstractListAdapter<CabinetMode, CabinetModeViewHolder>( AbstractListAdapter<CabinetMode, CabinetModeViewHolder>(

View File

@@ -1,18 +1,18 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.CardDriverOptionBinding import org.suyu.suyu_emu.databinding.CardDriverOptionBinding
import dev.suyu.suyu_emu.features.settings.model.StringSetting import org.suyu.suyu_emu.features.settings.model.StringSetting
import dev.suyu.suyu_emu.model.Driver import org.suyu.suyu_emu.model.Driver
import dev.suyu.suyu_emu.model.DriverViewModel import org.suyu.suyu_emu.model.DriverViewModel
import dev.suyu.suyu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class DriverAdapter(private val driverViewModel: DriverViewModel) : class DriverAdapter(private val driverViewModel: DriverViewModel) :
AbstractSingleSelectionList<Driver, DriverAdapter.DriverViewHolder>( AbstractSingleSelectionList<Driver, DriverAdapter.DriverViewHolder>(

View File

@@ -1,18 +1,18 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.net.Uri
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import dev.suyu.suyu_emu.databinding.CardFolderBinding import org.suyu.suyu_emu.databinding.CardFolderBinding
import dev.suyu.suyu_emu.fragments.GameFolderPropertiesDialogFragment import org.suyu.suyu_emu.fragments.GameFolderPropertiesDialogFragment
import dev.suyu.suyu_emu.model.GameDir import org.suyu.suyu_emu.model.GameDir
import dev.suyu.suyu_emu.model.GamesViewModel import org.suyu.suyu_emu.model.GamesViewModel
import dev.suyu.suyu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class FolderAdapter(val activity: FragmentActivity, val gamesViewModel: GamesViewModel) : class FolderAdapter(val activity: FragmentActivity, val gamesViewModel: GamesViewModel) :
AbstractDiffAdapter<GameDir, FolderAdapter.FolderViewHolder>() { AbstractDiffAdapter<GameDir, FolderAdapter.FolderViewHolder>() {

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.net.Uri
import android.view.LayoutInflater import android.view.LayoutInflater
@@ -19,15 +19,15 @@ import androidx.preference.PreferenceManager
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import dev.suyu.suyu_emu.HomeNavigationDirections import org.suyu.suyu_emu.HomeNavigationDirections
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.databinding.CardGameBinding import org.suyu.suyu_emu.databinding.CardGameBinding
import dev.suyu.suyu_emu.model.Game import org.suyu.suyu_emu.model.Game
import dev.suyu.suyu_emu.model.GamesViewModel import org.suyu.suyu_emu.model.GamesViewModel
import dev.suyu.suyu_emu.utils.GameIconUtils import org.suyu.suyu_emu.utils.GameIconUtils
import dev.suyu.suyu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class GameAdapter(private val activity: AppCompatActivity) : class GameAdapter(private val activity: AppCompatActivity) :
AbstractDiffAdapter<Game, GameAdapter.GameViewHolder>(exact = false) { AbstractDiffAdapter<Game, GameAdapter.GameViewHolder>(exact = false) {

View File

@@ -1,21 +1,21 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import dev.suyu.suyu_emu.databinding.CardInstallableIconBinding import org.suyu.suyu_emu.databinding.CardInstallableIconBinding
import dev.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
import dev.suyu.suyu_emu.model.GameProperty import org.suyu.suyu_emu.model.GameProperty
import dev.suyu.suyu_emu.model.InstallableProperty import org.suyu.suyu_emu.model.InstallableProperty
import dev.suyu.suyu_emu.model.SubmenuProperty import org.suyu.suyu_emu.model.SubmenuProperty
import dev.suyu.suyu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import dev.suyu.suyu_emu.utils.collect import org.suyu.suyu_emu.utils.collect
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class GamePropertiesAdapter( class GamePropertiesAdapter(
private val viewLifecycle: LifecycleOwner, private val viewLifecycle: LifecycleOwner,

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
@@ -9,14 +9,14 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.CardHomeOptionBinding import org.suyu.suyu_emu.databinding.CardHomeOptionBinding
import dev.suyu.suyu_emu.fragments.MessageDialogFragment import org.suyu.suyu_emu.fragments.MessageDialogFragment
import dev.suyu.suyu_emu.model.HomeSetting import org.suyu.suyu_emu.model.HomeSetting
import dev.suyu.suyu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import dev.suyu.suyu_emu.utils.collect import org.suyu.suyu_emu.utils.collect
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class HomeSettingAdapter( class HomeSettingAdapter(
private val activity: AppCompatActivity, private val activity: AppCompatActivity,

View File

@@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import dev.suyu.suyu_emu.databinding.CardInstallableBinding import org.suyu.suyu_emu.databinding.CardInstallableBinding
import dev.suyu.suyu_emu.model.Installable import org.suyu.suyu_emu.model.Installable
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class InstallableAdapter(installables: List<Installable>) : class InstallableAdapter(installables: List<Installable>) :
AbstractListAdapter<Installable, InstallableAdapter.InstallableViewHolder>(installables) { AbstractListAdapter<Installable, InstallableAdapter.InstallableViewHolder>(installables) {

View File

@@ -1,16 +1,16 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.fragments.LicenseBottomSheetDialogFragment import org.suyu.suyu_emu.fragments.LicenseBottomSheetDialogFragment
import dev.suyu.suyu_emu.model.License import org.suyu.suyu_emu.model.License
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class LicenseAdapter(private val activity: AppCompatActivity, licenses: List<License>) : class LicenseAdapter(private val activity: AppCompatActivity, licenses: List<License>) :
AbstractListAdapter<License, LicenseAdapter.LicenseViewHolder>(licenses) { AbstractListAdapter<License, LicenseAdapter.LicenseViewHolder>(licenses) {

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.text.Html
import android.view.LayoutInflater import android.view.LayoutInflater
@@ -10,14 +10,14 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.google.android.material.button.MaterialButton import com.google.android.material.button.MaterialButton
import dev.suyu.suyu_emu.databinding.PageSetupBinding import org.suyu.suyu_emu.databinding.PageSetupBinding
import dev.suyu.suyu_emu.model.HomeViewModel import org.suyu.suyu_emu.model.HomeViewModel
import dev.suyu.suyu_emu.model.SetupCallback import org.suyu.suyu_emu.model.SetupCallback
import dev.suyu.suyu_emu.model.SetupPage import org.suyu.suyu_emu.model.SetupPage
import dev.suyu.suyu_emu.model.StepState import org.suyu.suyu_emu.model.StepState
import dev.suyu.suyu_emu.utils.ViewUtils import org.suyu.suyu_emu.utils.ViewUtils
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class SetupAdapter(val activity: AppCompatActivity, pages: List<SetupPage>) : class SetupAdapter(val activity: AppCompatActivity, pages: List<SetupPage>) :
AbstractListAdapter<SetupPage, SetupAdapter.SetupPageViewHolder>(pages) { AbstractListAdapter<SetupPage, SetupAdapter.SetupPageViewHolder>(pages) {

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.content.Context
import android.os.Handler import android.os.Handler
@@ -13,9 +13,9 @@ import android.view.inputmethod.InputMethodManager
import androidx.annotation.Keep import androidx.annotation.Keep
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import java.io.Serializable import java.io.Serializable
import dev.suyu.suyu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.applets.keyboard.ui.KeyboardDialogFragment import org.suyu.suyu_emu.applets.keyboard.ui.KeyboardDialogFragment
@Keep @Keep
object SoftwareKeyboard { object SoftwareKeyboard {

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.app.Dialog
import android.content.DialogInterface import android.content.DialogInterface
@@ -10,11 +10,11 @@ import android.text.InputFilter
import android.text.InputType import android.text.InputType
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard
import dev.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig
import dev.suyu.suyu_emu.databinding.DialogEditTextBinding import org.suyu.suyu_emu.databinding.DialogEditTextBinding
import dev.suyu.suyu_emu.utils.SerializableHelper.serializable import org.suyu.suyu_emu.utils.SerializableHelper.serializable
class KeyboardDialogFragment : DialogFragment() { class KeyboardDialogFragment : DialogFragment() {
private lateinit var binding: DialogEditTextBinding private lateinit var binding: DialogEditTextBinding

View File

@@ -1,15 +1,15 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.annotation.Keep
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import dev.suyu.suyu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.activities.EmulationActivity import org.suyu.suyu_emu.activities.EmulationActivity
import dev.suyu.suyu_emu.model.EmulationViewModel import org.suyu.suyu_emu.model.EmulationViewModel
import dev.suyu.suyu_emu.utils.Log import org.suyu.suyu_emu.utils.Log
@Keep @Keep
object DiskShaderCacheProgress { object DiskShaderCacheProgress {

View File

@@ -4,7 +4,7 @@
// SPDX-License-Identifier: MPL-2.0 // SPDX-License-Identifier: MPL-2.0
// Copyright © 2023 Skyline Team and Contributors (https://github.com/skyline-emu/) // 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.Cursor
import android.database.MatrixCursor import android.database.MatrixCursor
@@ -14,10 +14,10 @@ import android.provider.DocumentsContract
import android.provider.DocumentsProvider import android.provider.DocumentsProvider
import android.webkit.MimeTypeMap import android.webkit.MimeTypeMap
import java.io.* import java.io.*
import dev.suyu.suyu_emu.BuildConfig import org.suyu.suyu_emu.BuildConfig
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.getPublicFilesDir import org.suyu.suyu_emu.getPublicFilesDir
class DocumentProvider : DocumentsProvider() { class DocumentProvider : DocumentsProvider() {
private val baseDirectory: File private val baseDirectory: File

View File

@@ -2,15 +2,15 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 org.suyu.suyu_emu.features.input.model.NativeButton
import dev.suyu.suyu_emu.features.input.model.NativeAnalog import org.suyu.suyu_emu.features.input.model.NativeAnalog
import dev.suyu.suyu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import dev.suyu.suyu_emu.features.input.model.ButtonName import org.suyu.suyu_emu.features.input.model.ButtonName
import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
import dev.suyu.suyu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
import android.view.InputDevice import android.view.InputDevice
object NativeInput { object NativeInput {

View File

@@ -2,13 +2,13 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 android.view.InputDevice
import androidx.annotation.Keep import androidx.annotation.Keep
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.utils.InputHandler.getGUID import org.suyu.suyu_emu.utils.InputHandler.getGUID
@Keep @Keep
interface SuyuInputDevice { interface SuyuInputDevice {

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.content.Context
import android.os.Build import android.os.Build
@@ -13,7 +13,7 @@ import android.os.VibratorManager
import android.view.InputDevice import android.view.InputDevice
import androidx.annotation.Keep import androidx.annotation.Keep
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
@Keep @Keep
@Suppress("DEPRECATION") @Suppress("DEPRECATION")

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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) { enum class AnalogDirection(val int: Int, val param: String) {
Up(0, "up"), Up(0, "up"),

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 // Loosely matches the enum in common/input.h
enum class ButtonName(val int: Int) { enum class ButtonName(val int: Int) {

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 // Must match the corresponding enum in input_common/main.h
enum class InputType(val int: Int) { enum class InputType(val int: Int) {

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 // Must match enum in src/common/settings_input.h
enum class NativeAnalog(val int: Int) { enum class NativeAnalog(val int: Int) {

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 // Must match enum in src/common/settings_input.h
enum class NativeButton(val int: Int) { enum class NativeButton(val int: Int) {

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 // Must match enum in src/common/settings_input.h
enum class NativeTrigger(val int: Int) { enum class NativeTrigger(val int: Int) {

View File

@@ -2,10 +2,10 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 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 // Must match enum in src/core/hid/hid_types.h
enum class NpadStyleIndex(val int: Int, @StringRes val nameId: Int = 0) { enum class NpadStyleIndex(val int: Int, @StringRes val nameId: Int = 0) {

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 import androidx.annotation.Keep

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { interface AbstractBooleanSetting : AbstractSetting {
fun getBoolean(needsGlobal: Boolean = false): Boolean fun getBoolean(needsGlobal: Boolean = false): Boolean

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { interface AbstractByteSetting : AbstractSetting {
fun getByte(needsGlobal: Boolean = false): Byte fun getByte(needsGlobal: Boolean = false): Byte

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { interface AbstractFloatSetting : AbstractSetting {
fun getFloat(needsGlobal: Boolean = false): Float fun getFloat(needsGlobal: Boolean = false): Float

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { interface AbstractIntSetting : AbstractSetting {
fun getInt(needsGlobal: Boolean = false): Int fun getInt(needsGlobal: Boolean = false): Int

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { interface AbstractLongSetting : AbstractSetting {
fun getLong(needsGlobal: Boolean = false): Long fun getLong(needsGlobal: Boolean = false): Long

View File

@@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { interface AbstractSetting {
val key: String val key: String

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { interface AbstractShortSetting : AbstractSetting {
fun getShort(needsGlobal: Boolean = false): Short fun getShort(needsGlobal: Boolean = false): Short

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { interface AbstractStringSetting : AbstractSetting {
fun getString(needsGlobal: Boolean = false): String fun getString(needsGlobal: Boolean = false): String

View File

@@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
AUDIO_MUTED("audio_muted"), AUDIO_MUTED("audio_muted"),

View File

@@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { enum class ByteSetting(override val key: String) : AbstractByteSetting {
AUDIO_VOLUME("volume"); AUDIO_VOLUME("volume");

View File

@@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { enum class FloatSetting(override val key: String) : AbstractFloatSetting {
// No float settings currently exist // No float settings currently exist

View File

@@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { enum class IntSetting(override val key: String) : AbstractIntSetting {
CPU_BACKEND("cpu_backend"), CPU_BACKEND("cpu_backend"),

View File

@@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { enum class LongSetting(override val key: String) : AbstractLongSetting {
CUSTOM_RTC("custom_rtc"); CUSTOM_RTC("custom_rtc");

View File

@@ -1,10 +1,10 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
object Settings { object Settings {
enum class MenuTag(val titleId: Int = 0) { enum class MenuTag(val titleId: Int = 0) {

View File

@@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { enum class ShortSetting(override val key: String) : AbstractShortSetting {
RENDERER_SPEED_LIMIT("speed_limit"); RENDERER_SPEED_LIMIT("speed_limit");

View File

@@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 { enum class StringSetting(override val key: String) : AbstractStringSetting {
DRIVER_PATH("driver_path"), DRIVER_PATH("driver_path"),

View File

@@ -2,14 +2,14 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.AnalogDirection import org.suyu.suyu_emu.features.input.model.AnalogDirection
import dev.suyu.suyu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import dev.suyu.suyu_emu.features.input.model.NativeAnalog import org.suyu.suyu_emu.features.input.model.NativeAnalog
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
class AnalogInputSetting( class AnalogInputSetting(
override val playerIndex: Int, override val playerIndex: Int,

View File

@@ -2,13 +2,13 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import dev.suyu.suyu_emu.features.input.model.NativeButton import org.suyu.suyu_emu.features.input.model.NativeButton
class ButtonInputSetting( class ButtonInputSetting(
override val playerIndex: Int, override val playerIndex: Int,

View File

@@ -1,10 +1,10 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.settings.model.AbstractLongSetting import org.suyu.suyu_emu.features.settings.model.AbstractLongSetting
class DateTimeSetting( class DateTimeSetting(
private val longSetting: AbstractLongSetting, private val longSetting: AbstractLongSetting,

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes

View File

@@ -2,11 +2,11 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
class InputProfileSetting(private val playerIndex: Int) : class InputProfileSetting(private val playerIndex: Int) :
SettingsItem(emptySetting, R.string.profile, "", 0, "") { SettingsItem(emptySetting, R.string.profile, "", 0, "") {

View File

@@ -2,15 +2,15 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.ButtonName import org.suyu.suyu_emu.features.input.model.ButtonName
import dev.suyu.suyu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
sealed class InputSetting( sealed class InputSetting(
@StringRes titleId: Int, @StringRes titleId: Int,

View File

@@ -1,10 +1,10 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
class IntSingleChoiceSetting( class IntSingleChoiceSetting(
private val intSetting: AbstractIntSetting, private val intSetting: AbstractIntSetting,

View File

@@ -2,13 +2,13 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import dev.suyu.suyu_emu.features.input.model.NativeAnalog import org.suyu.suyu_emu.features.input.model.NativeAnalog
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
class ModifierInputSetting( class ModifierInputSetting(
override val playerIndex: Int, override val playerIndex: Int,

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.DrawableRes
import androidx.annotation.StringRes import androidx.annotation.StringRes

View File

@@ -1,23 +1,23 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting import org.suyu.suyu_emu.features.settings.model.AbstractSetting
import dev.suyu.suyu_emu.features.settings.model.BooleanSetting import org.suyu.suyu_emu.features.settings.model.BooleanSetting
import dev.suyu.suyu_emu.features.settings.model.ByteSetting import org.suyu.suyu_emu.features.settings.model.ByteSetting
import dev.suyu.suyu_emu.features.settings.model.IntSetting import org.suyu.suyu_emu.features.settings.model.IntSetting
import dev.suyu.suyu_emu.features.settings.model.LongSetting import org.suyu.suyu_emu.features.settings.model.LongSetting
import dev.suyu.suyu_emu.features.settings.model.ShortSetting import org.suyu.suyu_emu.features.settings.model.ShortSetting
import dev.suyu.suyu_emu.features.settings.model.StringSetting import org.suyu.suyu_emu.features.settings.model.StringSetting
import dev.suyu.suyu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
/** /**
* ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments. * ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments.

View File

@@ -1,12 +1,12 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.ArrayRes
import androidx.annotation.StringRes import androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting import org.suyu.suyu_emu.features.settings.model.AbstractSetting
class SingleChoiceSetting( class SingleChoiceSetting(
setting: AbstractSetting, setting: AbstractSetting,

View File

@@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.settings.model.AbstractByteSetting import org.suyu.suyu_emu.features.settings.model.AbstractByteSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractFloatSetting import org.suyu.suyu_emu.features.settings.model.AbstractFloatSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting import org.suyu.suyu_emu.features.settings.model.AbstractSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractShortSetting import org.suyu.suyu_emu.features.settings.model.AbstractShortSetting
import kotlin.math.roundToInt import kotlin.math.roundToInt
class SliderSetting( class SliderSetting(

View File

@@ -2,10 +2,10 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.settings.model.AbstractStringSetting import org.suyu.suyu_emu.features.settings.model.AbstractStringSetting
class StringInputSetting( class StringInputSetting(
setting: AbstractStringSetting, setting: AbstractStringSetting,

View File

@@ -1,10 +1,10 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.settings.model.AbstractStringSetting import org.suyu.suyu_emu.features.settings.model.AbstractStringSetting
class StringSingleChoiceSetting( class StringSingleChoiceSetting(
private val stringSetting: AbstractStringSetting, private val stringSetting: AbstractStringSetting,

View File

@@ -1,11 +1,11 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.DrawableRes
import androidx.annotation.StringRes import androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.settings.model.Settings import org.suyu.suyu_emu.features.settings.model.Settings
class SubmenuSetting( class SubmenuSetting(
@StringRes titleId: Int = 0, @StringRes titleId: Int = 0,

View File

@@ -1,12 +1,12 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.annotation.StringRes
import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting import org.suyu.suyu_emu.features.settings.model.AbstractSetting
class SwitchSetting( class SwitchSetting(
setting: AbstractSetting, setting: AbstractSetting,

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.app.Dialog
import android.graphics.drawable.Animatable2 import android.graphics.drawable.Animatable2
@@ -18,17 +18,17 @@ import android.view.ViewGroup
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.DialogMappingBinding import org.suyu.suyu_emu.databinding.DialogMappingBinding
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.NativeAnalog import org.suyu.suyu_emu.features.input.model.NativeAnalog
import dev.suyu.suyu_emu.features.input.model.NativeButton import org.suyu.suyu_emu.features.input.model.NativeButton
import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
import dev.suyu.suyu_emu.features.settings.model.view.InputSetting import org.suyu.suyu_emu.features.settings.model.view.InputSetting
import dev.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting import org.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting
import dev.suyu.suyu_emu.utils.InputHandler import org.suyu.suyu_emu.utils.InputHandler
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
class InputDialogFragment : DialogFragment() { class InputDialogFragment : DialogFragment() {
private var inputAccepted = false private var inputAccepted = false

View File

@@ -2,16 +2,16 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.adapters.AbstractListAdapter import org.suyu.suyu_emu.adapters.AbstractListAdapter
import dev.suyu.suyu_emu.databinding.ListItemInputProfileBinding import org.suyu.suyu_emu.databinding.ListItemInputProfileBinding
import dev.suyu.suyu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
class InputProfileAdapter(options: List<ProfileItem>) : class InputProfileAdapter(options: List<ProfileItem>) :
AbstractListAdapter<ProfileItem, AbstractViewHolder<ProfileItem>>(options) { AbstractListAdapter<ProfileItem, AbstractViewHolder<ProfileItem>>(options) {

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.app.Dialog
import android.os.Bundle import android.os.Bundle
@@ -14,11 +14,11 @@ import androidx.fragment.app.DialogFragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.DialogInputProfilesBinding import org.suyu.suyu_emu.databinding.DialogInputProfilesBinding
import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
import dev.suyu.suyu_emu.fragments.MessageDialogFragment import org.suyu.suyu_emu.fragments.MessageDialogFragment
import dev.suyu.suyu_emu.utils.collect import org.suyu.suyu_emu.utils.collect
class InputProfileDialogFragment : DialogFragment() { class InputProfileDialogFragment : DialogFragment() {
private var position = 0 private var position = 0

View File

@@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.app.Dialog
import android.os.Bundle import android.os.Bundle
@@ -10,9 +10,9 @@ import android.widget.Toast
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.suyu.suyu_emu.databinding.DialogEditTextBinding import org.suyu.suyu_emu.databinding.DialogEditTextBinding
import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
class NewInputProfileDialogFragment : DialogFragment() { class NewInputProfileDialogFragment : DialogFragment() {
private var position = 0 private var position = 0

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.os.Bundle
import android.view.View import android.view.View
@@ -16,14 +16,14 @@ import androidx.core.view.WindowInsetsCompat
import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.navArgs import androidx.navigation.navArgs
import com.google.android.material.color.MaterialColors import com.google.android.material.color.MaterialColors
import dev.suyu.suyu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import java.io.IOException import java.io.IOException
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.ActivitySettingsBinding import org.suyu.suyu_emu.databinding.ActivitySettingsBinding
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.settings.utils.SettingsFile import org.suyu.suyu_emu.features.settings.utils.SettingsFile
import dev.suyu.suyu_emu.fragments.ResetSettingsDialogFragment import org.suyu.suyu_emu.fragments.ResetSettingsDialogFragment
import dev.suyu.suyu_emu.utils.* import org.suyu.suyu_emu.utils.*
class SettingsActivity : AppCompatActivity() { class SettingsActivity : AppCompatActivity() {
private lateinit var binding: ActivitySettingsBinding private lateinit var binding: ActivitySettingsBinding

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.content.Context
import android.icu.util.Calendar 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.datepicker.MaterialDatePicker
import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.MaterialTimePicker
import com.google.android.material.timepicker.TimeFormat import com.google.android.material.timepicker.TimeFormat
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SettingsNavigationDirections import org.suyu.suyu_emu.SettingsNavigationDirections
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.databinding.ListItemSettingInputBinding import org.suyu.suyu_emu.databinding.ListItemSettingInputBinding
import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
import dev.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding import org.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.AnalogDirection import org.suyu.suyu_emu.features.input.model.AnalogDirection
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
import dev.suyu.suyu_emu.features.settings.model.view.* import org.suyu.suyu_emu.features.settings.model.view.*
import dev.suyu.suyu_emu.features.settings.ui.viewholder.* import org.suyu.suyu_emu.features.settings.ui.viewholder.*
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
class SettingsAdapter( class SettingsAdapter(
private val fragment: Fragment, private val fragment: Fragment,

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.app.Dialog
import android.content.DialogInterface import android.content.DialogInterface
@@ -13,21 +13,21 @@ import androidx.fragment.app.DialogFragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.slider.Slider import com.google.android.material.slider.Slider
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.DialogEditTextBinding import org.suyu.suyu_emu.databinding.DialogEditTextBinding
import dev.suyu.suyu_emu.databinding.DialogSliderBinding import org.suyu.suyu_emu.databinding.DialogSliderBinding
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.AnalogDirection import org.suyu.suyu_emu.features.input.model.AnalogDirection
import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
import dev.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting import org.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting import org.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting
import dev.suyu.suyu_emu.features.settings.model.view.SliderSetting import org.suyu.suyu_emu.features.settings.model.view.SliderSetting
import dev.suyu.suyu_emu.features.settings.model.view.StringInputSetting import org.suyu.suyu_emu.features.settings.model.view.StringInputSetting
import dev.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting import org.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
import dev.suyu.suyu_emu.utils.collect import org.suyu.suyu_emu.utils.collect
class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener { class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener {
private var type = 0 private var type = 0

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
@@ -17,13 +17,13 @@ import androidx.navigation.findNavController
import androidx.navigation.fragment.navArgs import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.transition.MaterialSharedAxis import com.google.android.material.transition.MaterialSharedAxis
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.FragmentSettingsBinding import org.suyu.suyu_emu.databinding.FragmentSettingsBinding
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.settings.model.Settings import org.suyu.suyu_emu.features.settings.model.Settings
import dev.suyu.suyu_emu.fragments.MessageDialogFragment import org.suyu.suyu_emu.fragments.MessageDialogFragment
import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins import org.suyu.suyu_emu.utils.ViewUtils.updateMargins
import dev.suyu.suyu_emu.utils.collect import org.suyu.suyu_emu.utils.collect
class SettingsFragment : Fragment() { class SettingsFragment : Fragment() {
private lateinit var presenter: SettingsFragmentPresenter private lateinit var presenter: SettingsFragmentPresenter

View File

@@ -1,32 +1,32 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.annotation.SuppressLint
import android.os.Build import android.os.Build
import android.widget.Toast import android.widget.Toast
import dev.suyu.suyu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.input.model.AnalogDirection import org.suyu.suyu_emu.features.input.model.AnalogDirection
import dev.suyu.suyu_emu.features.input.model.NativeAnalog import org.suyu.suyu_emu.features.input.model.NativeAnalog
import dev.suyu.suyu_emu.features.input.model.NativeButton import org.suyu.suyu_emu.features.input.model.NativeButton
import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
import dev.suyu.suyu_emu.features.settings.model.BooleanSetting import org.suyu.suyu_emu.features.settings.model.BooleanSetting
import dev.suyu.suyu_emu.features.settings.model.ByteSetting import org.suyu.suyu_emu.features.settings.model.ByteSetting
import dev.suyu.suyu_emu.features.settings.model.IntSetting import org.suyu.suyu_emu.features.settings.model.IntSetting
import dev.suyu.suyu_emu.features.settings.model.LongSetting import org.suyu.suyu_emu.features.settings.model.LongSetting
import dev.suyu.suyu_emu.features.settings.model.Settings import org.suyu.suyu_emu.features.settings.model.Settings
import dev.suyu.suyu_emu.features.settings.model.Settings.MenuTag import org.suyu.suyu_emu.features.settings.model.Settings.MenuTag
import dev.suyu.suyu_emu.features.settings.model.ShortSetting import org.suyu.suyu_emu.features.settings.model.ShortSetting
import dev.suyu.suyu_emu.features.settings.model.StringSetting import org.suyu.suyu_emu.features.settings.model.StringSetting
import dev.suyu.suyu_emu.features.settings.model.view.* import org.suyu.suyu_emu.features.settings.model.view.*
import dev.suyu.suyu_emu.utils.InputHandler import org.suyu.suyu_emu.utils.InputHandler
import dev.suyu.suyu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
class SettingsFragmentPresenter( class SettingsFragmentPresenter(
private val settingsViewModel: SettingsViewModel, private val settingsViewModel: SettingsViewModel,

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.content.Context
import android.os.Bundle 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.divider.MaterialDividerItemDecoration
import com.google.android.material.transition.MaterialSharedAxis import com.google.android.material.transition.MaterialSharedAxis
import info.debatty.java.stringsimilarity.Cosine import info.debatty.java.stringsimilarity.Cosine
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.FragmentSettingsSearchBinding import org.suyu.suyu_emu.databinding.FragmentSettingsSearchBinding
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins import org.suyu.suyu_emu.utils.ViewUtils.updateMargins
import dev.suyu.suyu_emu.utils.collect import org.suyu.suyu_emu.utils.collect
class SettingsSearchFragment : Fragment() { class SettingsSearchFragment : Fragment() {
private var _binding: FragmentSettingsSearchBinding? = null private var _binding: FragmentSettingsSearchBinding? = null

View File

@@ -1,18 +1,18 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 androidx.lifecycle.ViewModel
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.asStateFlow
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.SuyuApplication import org.suyu.suyu_emu.SuyuApplication
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.model.Game import org.suyu.suyu_emu.model.Game
import dev.suyu.suyu_emu.utils.InputHandler import org.suyu.suyu_emu.utils.InputHandler
import dev.suyu.suyu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
class SettingsViewModel : ViewModel() { class SettingsViewModel : ViewModel() {
var game: Game? = null var game: Game? = null

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import java.time.Instant import java.time.Instant
@@ -9,11 +9,11 @@ import java.time.ZoneId
import java.time.ZonedDateTime import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter import java.time.format.DateTimeFormatter
import java.time.format.FormatStyle import java.time.format.FormatStyle
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.features.settings.model.view.DateTimeSetting import org.suyu.suyu_emu.features.settings.model.view.DateTimeSetting
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class DateTimeViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : class DateTimeViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -1,12 +1,12 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import dev.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding import org.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
class HeaderViewHolder(val binding: ListItemSettingsHeaderBinding, adapter: SettingsAdapter) : class HeaderViewHolder(val binding: ListItemSettingsHeaderBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -2,15 +2,15 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class InputProfileViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : class InputProfileViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -2,18 +2,18 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import dev.suyu.suyu_emu.databinding.ListItemSettingInputBinding import org.suyu.suyu_emu.databinding.ListItemSettingInputBinding
import dev.suyu.suyu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting
import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting
import dev.suyu.suyu_emu.features.settings.model.view.InputSetting import org.suyu.suyu_emu.features.settings.model.view.InputSetting
import dev.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting import org.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class InputViewHolder(val binding: ListItemSettingInputBinding, adapter: SettingsAdapter) : class InputViewHolder(val binding: ListItemSettingInputBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -1,15 +1,15 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.features.settings.model.view.RunnableSetting import org.suyu.suyu_emu.features.settings.model.view.RunnableSetting
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class RunnableViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : class RunnableViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
abstract class SettingViewHolder(itemView: View, protected val adapter: SettingsAdapter) : abstract class SettingViewHolder(itemView: View, protected val adapter: SettingsAdapter) :
RecyclerView.ViewHolder(itemView), View.OnClickListener, View.OnLongClickListener { RecyclerView.ViewHolder(itemView), View.OnClickListener, View.OnLongClickListener {

View File

@@ -1,16 +1,16 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting import org.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting import org.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting
import dev.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting import org.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class SingleChoiceViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : class SingleChoiceViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -1,15 +1,15 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.model.view.SliderSetting import org.suyu.suyu_emu.features.settings.model.view.SliderSetting
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class SliderViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : class SliderViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -2,14 +2,14 @@
// SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.model.view.StringInputSetting import org.suyu.suyu_emu.features.settings.model.view.StringInputSetting
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class StringInputViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : class StringInputViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -1,15 +1,15 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import dev.suyu.suyu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.model.view.SubmenuSetting import org.suyu.suyu_emu.features.settings.model.view.SubmenuSetting
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class SubmenuViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : class SubmenuViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -1,15 +1,15 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.view.View
import android.widget.CompoundButton import android.widget.CompoundButton
import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding
import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem import org.suyu.suyu_emu.features.settings.model.view.SettingsItem
import dev.suyu.suyu_emu.features.settings.model.view.SwitchSetting import org.suyu.suyu_emu.features.settings.model.view.SwitchSetting
import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter
import dev.suyu.suyu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
class SwitchSettingViewHolder(val binding: ListItemSettingSwitchBinding, adapter: SettingsAdapter) : class SwitchSettingViewHolder(val binding: ListItemSettingSwitchBinding, adapter: SettingsAdapter) :
SettingViewHolder(binding.root, adapter) { SettingViewHolder(binding.root, adapter) {

View File

@@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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 android.net.Uri
import dev.suyu.suyu_emu.model.Game import org.suyu.suyu_emu.model.Game
import java.io.* import java.io.*
import dev.suyu.suyu_emu.utils.DirectoryInitialization import org.suyu.suyu_emu.utils.DirectoryInitialization
import dev.suyu.suyu_emu.utils.FileUtil import org.suyu.suyu_emu.utils.FileUtil
import dev.suyu.suyu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
/** /**
* Contains static methods for interacting with .ini files in which settings are stored. * Contains static methods for interacting with .ini files in which settings are stored.

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
@@ -21,11 +21,11 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController import androidx.navigation.findNavController
import com.google.android.material.transition.MaterialSharedAxis import com.google.android.material.transition.MaterialSharedAxis
import dev.suyu.suyu_emu.BuildConfig import org.suyu.suyu_emu.BuildConfig
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.FragmentAboutBinding import org.suyu.suyu_emu.databinding.FragmentAboutBinding
import dev.suyu.suyu_emu.model.HomeViewModel import org.suyu.suyu_emu.model.HomeViewModel
import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins import org.suyu.suyu_emu.utils.ViewUtils.updateMargins
class AboutFragment : Fragment() { class AboutFragment : Fragment() {
private var _binding: FragmentAboutBinding? = null private var _binding: FragmentAboutBinding? = null

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.app.Dialog
import android.content.DialogInterface import android.content.DialogInterface
@@ -10,11 +10,11 @@ import android.os.Bundle
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.suyu.suyu_emu.R import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.DialogAddFolderBinding import org.suyu.suyu_emu.databinding.DialogAddFolderBinding
import dev.suyu.suyu_emu.model.GameDir import org.suyu.suyu_emu.model.GameDir
import dev.suyu.suyu_emu.model.GamesViewModel import org.suyu.suyu_emu.model.GamesViewModel
import dev.suyu.suyu_emu.model.HomeViewModel import org.suyu.suyu_emu.model.HomeViewModel
class AddGameFolderDialogFragment : DialogFragment() { class AddGameFolderDialogFragment : DialogFragment() {
private val homeViewModel: HomeViewModel by activityViewModels() private val homeViewModel: HomeViewModel by activityViewModels()

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // 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.content.Intent
import android.os.Bundle import android.os.Bundle
@@ -19,15 +19,16 @@ import androidx.navigation.findNavController
import androidx.navigation.fragment.navArgs import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.transition.MaterialSharedAxis import com.google.android.material.transition.MaterialSharedAxis
import dev.suyu.suyu_emu.R import kotlinx.coroutines.launch
import dev.suyu.suyu_emu.adapters.AddonAdapter import org.suyu.suyu_emu.R
import dev.suyu.suyu_emu.databinding.FragmentAddonsBinding import org.suyu.suyu_emu.adapters.AddonAdapter
import dev.suyu.suyu_emu.model.AddonViewModel import org.suyu.suyu_emu.databinding.FragmentAddonsBinding
import dev.suyu.suyu_emu.model.HomeViewModel import org.suyu.suyu_emu.model.AddonViewModel
import dev.suyu.suyu_emu.utils.AddonUtil import org.suyu.suyu_emu.model.HomeViewModel
import dev.suyu.suyu_emu.utils.FileUtil.copyFilesTo import org.suyu.suyu_emu.utils.AddonUtil
import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins import org.suyu.suyu_emu.utils.FileUtil.copyFilesTo
import dev.suyu.suyu_emu.utils.collect import org.suyu.suyu_emu.utils.ViewUtils.updateMargins
import org.suyu.suyu_emu.utils.collect
import java.io.File import java.io.File
class AddonsFragment : Fragment() { class AddonsFragment : Fragment() {

Some files were not shown because too many files have changed in this diff Show More