mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-30 18:24:15 +01:00 
			
		
		
		
	Merge pull request #12964 from t895/foreground-service-test
android: Remove foreground service
This commit is contained in:
		
						commit
						a9dcfe2a42
					
				| @ -12,8 +12,6 @@ SPDX-License-Identifier: GPL-3.0-or-later | ||||
|     <uses-feature android:name="android.hardware.vulkan.version" android:version="0x401000" android:required="true" /> | ||||
| 
 | ||||
|     <uses-permission android:name="android.permission.INTERNET" /> | ||||
|     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> | ||||
|     <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" /> | ||||
|     <uses-permission android:name="android.permission.NFC" /> | ||||
|     <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> | ||||
| 
 | ||||
| @ -80,10 +78,6 @@ SPDX-License-Identifier: GPL-3.0-or-later | ||||
|                 android:resource="@xml/nfc_tech_filter" /> | ||||
|         </activity> | ||||
| 
 | ||||
|         <service android:name="org.yuzu.yuzu_emu.utils.ForegroundService" android:foregroundServiceType="specialUse"> | ||||
|             <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" android:value="Keep emulation running in background"/> | ||||
|         </service> | ||||
| 
 | ||||
|         <provider | ||||
|             android:name=".features.DocumentProvider" | ||||
|             android:authorities="${applicationId}.user" | ||||
|  | ||||
| @ -17,17 +17,6 @@ fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir | ||||
| 
 | ||||
| class YuzuApplication : Application() { | ||||
|     private fun createNotificationChannels() { | ||||
|         val emulationChannel = NotificationChannel( | ||||
|             getString(R.string.emulation_notification_channel_id), | ||||
|             getString(R.string.emulation_notification_channel_name), | ||||
|             NotificationManager.IMPORTANCE_LOW | ||||
|         ) | ||||
|         emulationChannel.description = getString( | ||||
|             R.string.emulation_notification_channel_description | ||||
|         ) | ||||
|         emulationChannel.setSound(null, null) | ||||
|         emulationChannel.vibrationPattern = null | ||||
| 
 | ||||
|         val noticeChannel = NotificationChannel( | ||||
|             getString(R.string.notice_notification_channel_id), | ||||
|             getString(R.string.notice_notification_channel_name), | ||||
| @ -39,7 +28,6 @@ class YuzuApplication : Application() { | ||||
|         // Register the channel with the system; you can't change the importance | ||||
|         // or other notification behaviors after this | ||||
|         val notificationManager = getSystemService(NotificationManager::class.java) | ||||
|         notificationManager.createNotificationChannel(emulationChannel) | ||||
|         notificationManager.createNotificationChannel(noticeChannel) | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| package org.yuzu.yuzu_emu.activities | ||||
| 
 | ||||
| import android.annotation.SuppressLint | ||||
| import android.app.Activity | ||||
| import android.app.PendingIntent | ||||
| import android.app.PictureInPictureParams | ||||
| import android.app.RemoteAction | ||||
| @ -45,7 +44,6 @@ import org.yuzu.yuzu_emu.features.settings.model.IntSetting | ||||
| import org.yuzu.yuzu_emu.features.settings.model.Settings | ||||
| import org.yuzu.yuzu_emu.model.EmulationViewModel | ||||
| import org.yuzu.yuzu_emu.model.Game | ||||
| import org.yuzu.yuzu_emu.utils.ForegroundService | ||||
| import org.yuzu.yuzu_emu.utils.InputHandler | ||||
| import org.yuzu.yuzu_emu.utils.Log | ||||
| import org.yuzu.yuzu_emu.utils.MemoryUtil | ||||
| @ -74,11 +72,6 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener { | ||||
| 
 | ||||
|     private val emulationViewModel: EmulationViewModel by viewModels() | ||||
| 
 | ||||
|     override fun onDestroy() { | ||||
|         stopForegroundService(this) | ||||
|         super.onDestroy() | ||||
|     } | ||||
| 
 | ||||
|     override fun onCreate(savedInstanceState: Bundle?) { | ||||
|         Log.gameLaunched = true | ||||
|         ThemeHelper.setTheme(this) | ||||
| @ -125,10 +118,6 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener { | ||||
|                     .apply() | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // Start a foreground service to prevent the app from getting killed in the background | ||||
|         val startIntent = Intent(this, ForegroundService::class.java) | ||||
|         startForegroundService(startIntent) | ||||
|     } | ||||
| 
 | ||||
|     override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { | ||||
| @ -481,12 +470,6 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener { | ||||
|             activity.startActivity(launcher) | ||||
|         } | ||||
| 
 | ||||
|         fun stopForegroundService(activity: Activity) { | ||||
|             val startIntent = Intent(activity, ForegroundService::class.java) | ||||
|             startIntent.action = ForegroundService.ACTION_STOP | ||||
|             activity.startForegroundService(startIntent) | ||||
|         } | ||||
| 
 | ||||
|         private fun areCoordinatesOutside(view: View?, x: Float, y: Float): Boolean { | ||||
|             if (view == null) { | ||||
|                 return true | ||||
|  | ||||
| @ -34,7 +34,6 @@ import kotlinx.coroutines.launch | ||||
| import org.yuzu.yuzu_emu.HomeNavigationDirections | ||||
| import org.yuzu.yuzu_emu.NativeLibrary | ||||
| import org.yuzu.yuzu_emu.R | ||||
| import org.yuzu.yuzu_emu.activities.EmulationActivity | ||||
| import org.yuzu.yuzu_emu.databinding.ActivityMainBinding | ||||
| import org.yuzu.yuzu_emu.features.settings.model.Settings | ||||
| import org.yuzu.yuzu_emu.fragments.AddGameFolderDialogFragment | ||||
| @ -177,9 +176,6 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // Dismiss previous notifications (should not happen unless a crash occurred) | ||||
|         EmulationActivity.stopForegroundService(this) | ||||
| 
 | ||||
|         setInsets() | ||||
|     } | ||||
| 
 | ||||
| @ -298,11 +294,6 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | ||||
|         super.onResume() | ||||
|     } | ||||
| 
 | ||||
|     override fun onDestroy() { | ||||
|         EmulationActivity.stopForegroundService(this) | ||||
|         super.onDestroy() | ||||
|     } | ||||
| 
 | ||||
|     private fun setInsets() = | ||||
|         ViewCompat.setOnApplyWindowInsetsListener( | ||||
|             binding.root | ||||
|  | ||||
| @ -1,70 +0,0 @@ | ||||
| // SPDX-FileCopyrightText: 2023 yuzu Emulator Project | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later | ||||
| 
 | ||||
| package org.yuzu.yuzu_emu.utils | ||||
| 
 | ||||
| import android.app.PendingIntent | ||||
| import android.app.Service | ||||
| import android.content.Intent | ||||
| import android.os.IBinder | ||||
| import androidx.core.app.NotificationCompat | ||||
| import androidx.core.app.NotificationManagerCompat | ||||
| import org.yuzu.yuzu_emu.R | ||||
| import org.yuzu.yuzu_emu.activities.EmulationActivity | ||||
| 
 | ||||
| /** | ||||
|  * A service that shows a permanent notification in the background to avoid the app getting | ||||
|  * cleared from memory by the system. | ||||
|  */ | ||||
| class ForegroundService : Service() { | ||||
|     companion object { | ||||
|         const val EMULATION_RUNNING_NOTIFICATION = 0x1000 | ||||
| 
 | ||||
|         const val ACTION_STOP = "stop" | ||||
|     } | ||||
| 
 | ||||
|     private fun showRunningNotification() { | ||||
|         // Intent is used to resume emulation if the notification is clicked | ||||
|         val contentIntent = PendingIntent.getActivity( | ||||
|             this, | ||||
|             0, | ||||
|             Intent(this, EmulationActivity::class.java), | ||||
|             PendingIntent.FLAG_IMMUTABLE | ||||
|         ) | ||||
|         val builder = | ||||
|             NotificationCompat.Builder(this, getString(R.string.emulation_notification_channel_id)) | ||||
|                 .setSmallIcon(R.drawable.ic_stat_notification_logo) | ||||
|                 .setContentTitle(getString(R.string.app_name)) | ||||
|                 .setContentText(getString(R.string.emulation_notification_running)) | ||||
|                 .setPriority(NotificationCompat.PRIORITY_LOW) | ||||
|                 .setOngoing(true) | ||||
|                 .setVibrate(null) | ||||
|                 .setSound(null) | ||||
|                 .setContentIntent(contentIntent) | ||||
|         startForeground(EMULATION_RUNNING_NOTIFICATION, builder.build()) | ||||
|     } | ||||
| 
 | ||||
|     override fun onBind(intent: Intent): IBinder? { | ||||
|         return null | ||||
|     } | ||||
| 
 | ||||
|     override fun onCreate() { | ||||
|         showRunningNotification() | ||||
|     } | ||||
| 
 | ||||
|     override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { | ||||
|         if (intent == null) { | ||||
|             return START_NOT_STICKY | ||||
|         } | ||||
|         if (intent.action == ACTION_STOP) { | ||||
|             NotificationManagerCompat.from(this).cancel(EMULATION_RUNNING_NOTIFICATION) | ||||
|             stopForeground(STOP_FOREGROUND_REMOVE) | ||||
|             stopSelfResult(startId) | ||||
|         } | ||||
|         return START_STICKY | ||||
|     } | ||||
| 
 | ||||
|     override fun onDestroy() { | ||||
|         NotificationManagerCompat.from(this).cancel(EMULATION_RUNNING_NOTIFICATION) | ||||
|     } | ||||
| } | ||||
| @ -1,9 +1,6 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="emulation_notification_channel_name">المحاكي نشط</string> | ||||
|     <string name="emulation_notification_channel_description">اظهار اشعار دائم عندما يكون المحاكي نشطاً</string> | ||||
|     <string name="emulation_notification_running">يوزو قيد التشغيل</string> | ||||
|     <string name="notice_notification_channel_name">الإشعارات والأخطاء</string> | ||||
|     <string name="notice_notification_channel_description">اظهار اشعار عند حصول اي مشكلة.</string> | ||||
|     <string name="notification_permission_not_granted">لم يتم منح إذن الإشعار</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">ئەم نەرمەکاڵایە یارییەکانی کۆنسۆلی نینتێندۆ سویچ کارپێدەکات. هیچ ناونیشانێکی یاری و کلیلی تێدا نییە..<br /><br />پێش ئەوەی دەست پێ بکەیت، تکایە شوێنی فایلی <![CDATA[<b> prod.keys </b>]]> دیاریبکە لە نێو کۆگای ئامێرەکەت.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">زیاتر فێربە</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">ئیمولەیشن کارایە</string> | ||||
|     <string name="emulation_notification_channel_description">ئاگادارکردنەوەیەکی بەردەوام نیشان دەدات کاتێک ئیمولەیشن کاردەکات.</string> | ||||
|     <string name="emulation_notification_running">یوزو کاردەکات</string> | ||||
|     <string name="notice_notification_channel_name">ئاگاداری و هەڵەکان</string> | ||||
|     <string name="notice_notification_channel_description">ئاگادارکردنەوەکان پیشان دەدات کاتێک شتێک بە هەڵەدا دەچێت.</string> | ||||
|     <string name="notification_permission_not_granted">مۆڵەتی ئاگادارکردنەوە نەدراوە!</string> | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="emulation_notification_channel_name">Emulace je aktivní</string> | ||||
|     <string name="notice_notification_channel_name">Upozornění a chyby</string> | ||||
|     <string name="notice_notification_channel_description">Ukáže oznámení v případě chyby.</string> | ||||
|     <string name="notification_permission_not_granted">Oznámení nejsou oprávněna!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Diese Software kann Spiele für die Nintendo Switch abspielen. Keine Spiele oder Spielekeys sind enthalten.<br /><br />Bevor du beginnst, bitte halte deine <![CDATA[<b> prod.keys </b>]]> auf deinem Gerät bereit. .<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Mehr Infos</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Emulation ist aktiv</string> | ||||
|     <string name="emulation_notification_channel_description">Zeigt eine dauerhafte Benachrichtigung an, wenn die Emulation läuft.</string> | ||||
|     <string name="emulation_notification_running">yuzu läuft</string> | ||||
|     <string name="notice_notification_channel_name">Hinweise und Fehler</string> | ||||
|     <string name="notice_notification_channel_description">Zeigt Benachrichtigungen an, wenn etwas schief läuft.</string> | ||||
|     <string name="notification_permission_not_granted">Berechtigung für Benachrichtigungen nicht erlaubt!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Este software ejecuta juegos para la videoconsola Nintendo Switch. Los videojuegos o claves no vienen incluidos.<br /><br />Antes de empezar, por favor, localice el archivo <![CDATA[<b> prod.keys </b>]]>en el almacenamiento de su dispositivo..<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Saber más</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Emulación activa</string> | ||||
|     <string name="emulation_notification_channel_description">Muestra una notificación persistente cuando la emulación está activa.</string> | ||||
|     <string name="emulation_notification_running">yuzu está ejecutándose</string> | ||||
|     <string name="notice_notification_channel_name">Avisos y errores</string> | ||||
|     <string name="notice_notification_channel_description">Mostrar notificaciones cuándo algo vaya mal.</string> | ||||
|     <string name="notification_permission_not_granted">¡Permisos de notificación no concedidos!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Ce logiciel exécutera des jeux pour la console de jeu Nintendo Switch. Aucun jeux ou clés n\'est inclus.<br /><br />Avant de commencer, veuillez localiser votre fichier <![CDATA[<b> prod.keys </b>]]> sur le stockage de votre appareil.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">En savoir plus</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">L\'émulation est active</string> | ||||
|     <string name="emulation_notification_channel_description">Affiche une notification persistante lorsque l\'émulation est en cours d\'exécution.</string> | ||||
|     <string name="emulation_notification_running">yuzu est en cours d\'exécution</string> | ||||
|     <string name="notice_notification_channel_name">Avis et erreurs</string> | ||||
|     <string name="notice_notification_channel_description">Affiche des notifications en cas de problème.</string> | ||||
|     <string name="notification_permission_not_granted">Permission de notification non accordée !</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">התוכנה תריץ משחקים לקונסולת ה Nintendo Switch. אף משחק או קבצים בעלי זכויות יוצרים נכללים.<br /><br /> לפני שאת/ה מתחיל בבקשה מצא את קובץ <![CDATA[<b>prod.keys</b>]]> על המכשיר.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">קרא עוד</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">אמולציה פעילה</string> | ||||
|     <string name="emulation_notification_channel_description">מציג התראה מתמשכת כאשר האמולציה פועלת.</string> | ||||
|     <string name="emulation_notification_running">yuzu רץ</string> | ||||
|     <string name="notice_notification_channel_name">התראות ותקלות</string> | ||||
|     <string name="notice_notification_channel_description">מציג התראות כאשר משהו הולך לא כשורה.</string> | ||||
|     <string name="notification_permission_not_granted">הרשאות התראות לא ניתנה!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Ez a szoftver Nintendo Switch játékkonzolhoz készült játékokat futtat. Nem tartalmaz játékokat vagy kulcsokat. .<br /><br />Mielőtt hozzákezdenél, kérjük, válaszd ki a <![CDATA[<b>prod.keys</b>]]> fájl helyét a készülék tárhelyén<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Tudj meg többet</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Emuláció aktív</string> | ||||
|     <string name="emulation_notification_channel_description">Állandó értesítést jelenít meg, amíg az emuláció fut.</string> | ||||
|     <string name="emulation_notification_running">A yuzu fut</string> | ||||
|     <string name="notice_notification_channel_name">Megjegyzések és hibák</string> | ||||
|     <string name="notice_notification_channel_description">Értesítések megjelenítése, ha valami rosszul sül el.</string> | ||||
|     <string name="notification_permission_not_granted">Nincs engedély az értesítés megjelenítéséhez!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Questo software permette di giocare ai giochi della console Nintendo Switch. Nessun gioco o chiave è inclusa.<br /><br />Prima di iniziare, perfavore individua il file <![CDATA[<b>prod.keys </b>]]> nella memoria del tuo dispositivo.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Scopri di più</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">L\'emulatore è attivo</string> | ||||
|     <string name="emulation_notification_channel_description">Mostra una notifica persistente quando l\'emulatore è in esecuzione.</string> | ||||
|     <string name="emulation_notification_running">yuzu è in esecuzione</string> | ||||
|     <string name="notice_notification_channel_name">Avvisi ed errori</string> | ||||
|     <string name="notice_notification_channel_description">Mostra le notifiche quando qualcosa va storto.</string> | ||||
|     <string name="notification_permission_not_granted">Autorizzazione di notifica non concessa!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">このソフトウェアでは、Nintendo Switchのゲームを実行できます。 ゲームソフトやキーは含まれません。<br /><br />事前に、 <![CDATA[<b> prod.keys </b>]]> ファイルをストレージに配置しておいてください。<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">詳細</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">エミュレーションが有効です</string> | ||||
|     <string name="emulation_notification_channel_description">エミュレーションの実行中に常設通知を表示します。</string> | ||||
|     <string name="emulation_notification_running">yuzu は実行中です</string> | ||||
|     <string name="notice_notification_channel_name">通知とエラー</string> | ||||
|     <string name="notice_notification_channel_description">問題の発生時に通知を表示します。</string> | ||||
|     <string name="notification_permission_not_granted">通知が許可されていません!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">이 소프트웨어는 Nintendo Switch 게임을 실행합니다. 게임 타이틀이나 키는 포함되어 있지 않습니다.<br /><br />시작하기 전에 장치 저장소에서 <![CDATA[<b> prod.keys </b>]]> 파일을 찾아주세요.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">자세히 알아보기</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">에뮬레이션이 활성화됨</string> | ||||
|     <string name="emulation_notification_channel_description">에뮬레이션이 실행 중일 때 지속적으로 알림을 표시합니다.</string> | ||||
|     <string name="emulation_notification_running">yuzu가 실행 중입니다.</string> | ||||
|     <string name="notice_notification_channel_name">알림 및 오류</string> | ||||
|     <string name="notice_notification_channel_description">문제가 발생하면 알림을 표시합니다.</string> | ||||
|     <string name="notification_permission_not_granted">알림 권한이 부여되지 않았습니다!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Denne programvaren vil kjøre spill for Nintendo Switch-spillkonsollen. Ingen spilltitler eller nøkler er inkludert.<br /><br />Før du begynner, må du finne <![CDATA[<b> prod.keys </b>]]> filen din på enhetslagringen.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Lær mer</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Emulering er aktiv</string> | ||||
|     <string name="emulation_notification_channel_description">Viser et vedvarende varsel når emuleringen kjører.</string> | ||||
|     <string name="emulation_notification_running">Yuzu kjører</string> | ||||
|     <string name="notice_notification_channel_name">Merknader og feil</string> | ||||
|     <string name="notice_notification_channel_description">Viser varsler når noe går galt.</string> | ||||
|     <string name="notification_permission_not_granted">Varslingstillatelse ikke gitt!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">To oprogramowanie umożliwia uruchomienie gier z konsoli Nintendo Switch. Nie zawiera gier ani wymaganych kluczy.<br /><br />Zanim zaczniesz, wybierz plik kluczy <![CDATA[<b> prod.keys </b>]]> z katalogu w pamięci masowej.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Dowiedz się więcej</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Emulacja jest uruchomiona</string> | ||||
|     <string name="emulation_notification_channel_description">Pokaż trwałe powiadomienie gdy emulacja jest uruchomiona.</string> | ||||
|     <string name="emulation_notification_running">yuzu jest uruchomiony</string> | ||||
|     <string name="notice_notification_channel_name">Powiadomienia błędy</string> | ||||
|     <string name="notice_notification_channel_description">Pokaż powiadomienie gdy coś pójdzie źle</string> | ||||
|     <string name="notification_permission_not_granted">Nie zezwolono na powiadomienia!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Este software executa jogos do console Nintendo Switch. Não estão inclusos nem jogos ou chaves.<br /><br />Antes de começar, por favor localize o arquivo <![CDATA[<b> prod.keys </b>]]> no armazenamento de seu dispositivo.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Saiba mais</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">A emulação está Ativa</string> | ||||
|     <string name="emulation_notification_channel_description">Mostra uma notificação permanente enquanto a emulação estiver em andamento.</string> | ||||
|     <string name="emulation_notification_running">O Yuzu está em execução </string> | ||||
|     <string name="notice_notification_channel_name">Notificações e erros</string> | ||||
|     <string name="notice_notification_channel_description">Mostra notificações quando algo dá errado.</string> | ||||
|     <string name="notification_permission_not_granted">Acesso às notificações não concedido!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Este software corre jogos para a consola Nintendo Switch. Não estão incluídas nem jogos ou chaves. <br /><br />Antes de começares, por favor localiza o ficheiro <![CDATA[1 prod.keys 1]]> no armazenamento do teu dispositivo.<br /><br /><![CDATA[2Learn more2]]></string> | ||||
|     <string name="emulation_notification_channel_name">Emulação está Ativa</string> | ||||
|     <string name="emulation_notification_channel_description">Mostra uma notificação permanente enquanto a emulação está a correr.</string> | ||||
|     <string name="emulation_notification_running">Yuzu está em execução </string> | ||||
|     <string name="notice_notification_channel_name">Notificações e erros</string> | ||||
|     <string name="notice_notification_channel_description">Mostra notificações quendo algo corre mal.</string> | ||||
|     <string name="notification_permission_not_granted">Permissões de notificação não permitidas </string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Это программное обеспечение позволяет запускать игры для игровой консоли Nintendo Switch. Мы не предоставляем сами игры или ключи.<br /><br />Перед началом работы найдите файл <![CDATA[<b> prod.keys </b>]]> в хранилище устройства..<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Узнать больше</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Эмуляция активна</string> | ||||
|     <string name="emulation_notification_channel_description">Показывает постоянное уведомление, когда запущена эмуляция.</string> | ||||
|     <string name="emulation_notification_running">yuzu запущен</string> | ||||
|     <string name="notice_notification_channel_name">Уведомления и ошибки</string> | ||||
|     <string name="notice_notification_channel_description">Показывать уведомления, когда что-то пошло не так</string> | ||||
|     <string name="notification_permission_not_granted">Вы не предоставили разрешение на уведомления!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Це програмне забезпечення дозволяє запускати ігри для ігрової консолі Nintendo Switch. Ми не надаємо самі ігри або ключі.<br /><br />Перед початком роботи знайдіть ваш файл <![CDATA[<b> prod.keys </b>]]> у сховищі пристрою.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Дізнатися більше</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Емуляція активна</string> | ||||
|     <string name="emulation_notification_channel_description">Показує постійне сповіщення, коли запущено емуляцію.</string> | ||||
|     <string name="emulation_notification_running">yuzu запущено</string> | ||||
|     <string name="notice_notification_channel_name">Сповіщення та помилки</string> | ||||
|     <string name="notice_notification_channel_description">Показувати сповіщення, коли щось пішло не так</string> | ||||
|     <string name="notification_permission_not_granted">Ви не надали дозвіл сповіщень!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">Phần mềm này sẽ chạy các game cho máy chơi game Nintendo Switch. Không có title games hoặc keys được bao gồm.<br /><br />Trước khi bạn bắt đầu, hãy tìm tập tin <![CDATA[<b> prod.keys </b>]]> trên bộ nhớ thiết bị của bạn.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Tìm hiểu thêm</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Giả lập đang chạy</string> | ||||
|     <string name="emulation_notification_channel_description">Hiển thị thông báo liên tục khi giả lập đang chạy.</string> | ||||
|     <string name="emulation_notification_running">yuzu đang chạy</string> | ||||
|     <string name="notice_notification_channel_name">Thông báo và lỗi</string> | ||||
|     <string name="notice_notification_channel_description">Hiển thị thông báo khi có sự cố xảy ra.</string> | ||||
|     <string name="notification_permission_not_granted">Ứng dụng không được cấp quyền thông báo!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">此软件可以运行 Nintendo Switch 游戏,但不包含任何游戏和密钥文件。<br /><br />在开始前,请找到放置于设备存储中的 <![CDATA[<b> prod.keys </b>]]> 文件。<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">了解更多</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">正在进行模拟</string> | ||||
|     <string name="emulation_notification_channel_description">在模拟运行时显示持久通知。</string> | ||||
|     <string name="emulation_notification_running">yuzu 正在运行</string> | ||||
|     <string name="notice_notification_channel_name">通知及错误提醒</string> | ||||
|     <string name="notice_notification_channel_description">当发生错误时显示通知。</string> | ||||
|     <string name="notification_permission_not_granted">未授予通知权限!</string> | ||||
|  | ||||
| @ -2,9 +2,6 @@ | ||||
| <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> | ||||
| 
 | ||||
|     <string name="app_disclaimer">此軟體可以執行 Nintendo Switch 主機遊戲,但不包含任何遊戲和金鑰。<br /><br />在您開始前,請找到放置於您的裝置儲存空間的 <![CDATA[<b> prod.keys </b>]]> 檔案。<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">深入瞭解</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">模擬進行中</string> | ||||
|     <string name="emulation_notification_channel_description">在模擬執行時顯示持續通知。</string> | ||||
|     <string name="emulation_notification_running">yuzu 正在執行</string> | ||||
|     <string name="notice_notification_channel_name">通知和錯誤</string> | ||||
|     <string name="notice_notification_channel_description">發生錯誤時顯示通知。</string> | ||||
|     <string name="notification_permission_not_granted">未授予通知權限!</string> | ||||
|  | ||||
| @ -4,10 +4,6 @@ | ||||
|     <!-- General application strings --> | ||||
|     <string name="app_name" translatable="false">yuzu</string> | ||||
|     <string name="app_disclaimer">This software will run games for the Nintendo Switch game console. No game titles or keys are included.<br /><br />Before you begin, please locate your <![CDATA[<b> prod.keys </b>]]> file on your device storage.<br /><br /><![CDATA[<a href="https://yuzu-emu.org/help/quickstart">Learn more</a>]]></string> | ||||
|     <string name="emulation_notification_channel_name">Emulation is Active</string> | ||||
|     <string name="emulation_notification_channel_id" translatable="false">emulationIsActive</string> | ||||
|     <string name="emulation_notification_channel_description">Shows a persistent notification when emulation is running.</string> | ||||
|     <string name="emulation_notification_running">yuzu is running</string> | ||||
|     <string name="notice_notification_channel_name">Notices and errors</string> | ||||
|     <string name="notice_notification_channel_id" translatable="false">noticesAndErrors</string> | ||||
|     <string name="notice_notification_channel_description">Shows notifications when something goes wrong.</string> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user