diff --git a/app/src/main/java/app/gamenative/ui/data/GameDisplayInfo.kt b/app/src/main/java/app/gamenative/ui/data/GameDisplayInfo.kt index 8aead2a8bf..3e9c81a248 100644 --- a/app/src/main/java/app/gamenative/ui/data/GameDisplayInfo.kt +++ b/app/src/main/java/app/gamenative/ui/data/GameDisplayInfo.kt @@ -22,5 +22,6 @@ data class GameDisplayInfo( val headerUrl: String? = null, // Header image URL (for SteamGridDB, can use grid as header) val compatibilityMessage: String? = null, // Compatibility message text (e.g., "Works on your GPU") val compatibilityColor: ULong? = null, // Compatibility message color (ARGB) + val disabledWarning: String ? = null // Warning message if the game is disabled (e.g., "Not compatible due to 3rd party Client") ) diff --git a/app/src/main/java/app/gamenative/ui/screen/library/LibraryAppScreen.kt b/app/src/main/java/app/gamenative/ui/screen/library/LibraryAppScreen.kt index 937d077b40..42182aba72 100644 --- a/app/src/main/java/app/gamenative/ui/screen/library/LibraryAppScreen.kt +++ b/app/src/main/java/app/gamenative/ui/screen/library/LibraryAppScreen.kt @@ -192,6 +192,7 @@ private fun PrimaryActionButton( val buttonColor = when { isDownloading -> PluviaTheme.colors.statusDownloading isInstalled -> PluviaTheme.colors.statusInstalled + !enabled -> PluviaTheme.colors.textMuted else -> PluviaTheme.colors.statusAvailable } @@ -924,18 +925,24 @@ internal fun AppScreenContent( } } } - } - - // Compatibility status (if applicable) - if (displayInfo.compatibilityMessage != null && displayInfo.compatibilityColor != null) { - Spacer(modifier = Modifier.height(8.dp)) - Text( - text = displayInfo.compatibilityMessage, - style = MaterialTheme.typography.labelSmall, - color = Color(displayInfo.compatibilityColor), - ) - } } + // DisabledWarning or compatibility notice for game. + if(displayInfo.disabledWarning != null && buttonEnabled == false){ + Spacer(modifier = Modifier.height(8.dp)) + Text( + text = displayInfo.disabledWarning, + style = MaterialTheme.typography.labelSmall, + color = Color.Red.copy(alpha = 0.8f), + ) + } else if (displayInfo.compatibilityMessage != null && displayInfo.compatibilityColor != null) { + Spacer(modifier = Modifier.height(8.dp)) + Text( + text = displayInfo.compatibilityMessage, + style = MaterialTheme.typography.labelSmall, + color = Color(displayInfo.compatibilityColor), + ) + } + } } // Content section below hero with solid background @@ -1242,6 +1249,7 @@ private fun Preview_AppScreen() { sizeFromStore = null, lastPlayedText = null, playtimeText = null, + disabledWarning = "3rd Party games not supported" ) PluviaTheme { Surface { diff --git a/app/src/main/java/app/gamenative/ui/screen/library/appscreen/EpicAppScreen.kt b/app/src/main/java/app/gamenative/ui/screen/library/appscreen/EpicAppScreen.kt index 8f1310e2fc..a663318329 100644 --- a/app/src/main/java/app/gamenative/ui/screen/library/appscreen/EpicAppScreen.kt +++ b/app/src/main/java/app/gamenative/ui/screen/library/appscreen/EpicAppScreen.kt @@ -45,7 +45,6 @@ import kotlinx.coroutines.withContext import app.gamenative.ui.util.SnackbarManager import timber.log.Timber -// TODO: Verify all tests and do DLC auto-install with base game. class EpicAppScreen : BaseAppScreen() { companion object { @@ -273,8 +272,13 @@ class EpicAppScreen : BaseAppScreen() { sizeFromStore = sizeFromStore, compatibilityMessage = compatibilityMessage, compatibilityColor = compatibilityColor, + disabledWarning = if (game != null && game.thirdPartyManagedApp.isNotEmpty()) { + context.getString(R.string.epic_disabled_warning_third_party_client) + } else { + null + } ) - Timber.tag(TAG).d("Returning GameDisplayInfo: name=${displayInfo.name}, iconUrl=${displayInfo.iconUrl}, heroImageUrl=${displayInfo.heroImageUrl}, developer=${displayInfo.developer}, installLocation=${displayInfo.installLocation}") + Timber.tag(TAG).d("Returning GameDisplayInfo: name=${displayInfo.name}, iconUrl=${displayInfo.iconUrl}, heroImageUrl=${displayInfo.heroImageUrl}, developer=${displayInfo.developer}, installLocation=${displayInfo.installLocation} thirdPartyApp=${game?.thirdPartyManagedApp}") return displayInfo } @@ -293,10 +297,15 @@ class EpicAppScreen : BaseAppScreen() { override fun isValidToDownload(context: Context, libraryItem: LibraryItem): Boolean { Timber.tag(TAG).d("isValidToDownload: checking appId=${libraryItem.appId}") + // Epic games can be downloaded if not already installed or downloading val installed = isInstalled(context, libraryItem) val downloading = isDownloading(context, libraryItem) - val valid = !installed && !downloading + + val game = EpicService.getEpicGameOf(libraryItem.gameId) + val requiresThirdPartyApp = game?.thirdPartyManagedApp?.isNotEmpty() == true + + val valid = !installed && !downloading && !requiresThirdPartyApp Timber.tag(TAG).d("isValidToDownload: appId=${libraryItem.appId}, installed=$installed, downloading=$downloading, valid=$valid") return valid } diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 103f497551..2851df077a 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -1239,6 +1239,7 @@ Logger ud fra Amazon Games… + Spil med tredjeparts-launcher understøttes ikke i øjeblikket på Epic Store Afinstallér spil Er du sikker på, at du vil afinstallere %1$s? Denne handling kan ikke fortrydes. Download spil diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index ff21cb3c00..f9742f4ff8 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1309,6 +1309,7 @@ Melde von Amazon Games ab… + Spiele mit Drittanbieter-Launcher werden im Epic Store derzeit nicht unterstützt Spiel deinstallieren Möchtest du %1$s wirklich deinstallieren? Diese Aktion kann nicht rückgängig gemacht werden. Spiel herunterladen diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 72986022de..1d99c8ab31 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -54,6 +54,7 @@ ¿Deseas desinstalar %1$s? Esta acción no se puede deshacer. Instalar juego La aplicación a instalar requiere el siguiente espacio. ¿Deseas continuar?\n\n\tTamaño de descarga: %1$s\n\tEspacio disponible: %2$s + Los juegos con lanzador de terceros no son compatibles actualmente en Epic Store Desinstalar juego ¿Deseas desinstalar %1$s? Esta acción no se puede deshacer. Instalar juego diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 49e59f4c73..9f491f59af 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1369,6 +1369,7 @@ Déconnexion d\'Amazon Games… + Les jeux nécessitant un lanceur tiers ne sont actuellement pas pris en charge sur Epic Store Désinstaller le jeu Êtes-vous sûr de vouloir désinstaller %1$s ? Cette action ne peut pas être annulée. Télécharger le jeu diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 092aa37d53..449fdfb859 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1365,6 +1365,7 @@ Uscita da Amazon Games… + I giochi con launcher di terze parti non sono attualmente supportati su Epic Store Disinstalla gioco Sei sicuro di voler disinstallare %1$s? Questa azione non può essere annullata. Scarica gioco diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index d6c03e3840..3c54659210 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -54,6 +54,7 @@ %1$s을(를) 제거하시겠습니까? 이 작업은 취소할 수 없습니다. 게임 다운로드 설치할 앱의 공간 요구사항은 다음과 같습니다. 계속하시겠습니까?\n\n\t다운로드 크기: %1$s\n\t사용 가능한 공간: %2$s + 서드파티 런처 게임은 현재 Epic Store에서 지원되지 않습니다 게임 제거 %1$s을(를) 제거하시겠습니까? 이 작업은 취소할 수 없습니다. 게임 다운로드 diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 24a46e91a0..e13502b242 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -54,6 +54,7 @@ Czy na pewno chcesz odinstalować %1$s? Tej akcji nie można cofnąć. Pobierz grę Instalowana aplikacja ma następujące wymagania dotyczące miejsca. Czy chcesz kontynuować?\n\n\tRozmiar pobierania: %1$s\n\tDostępne miejsce: %2$s + Gry wymagające zewnętrznego launchera nie są obecnie obsługiwane w Epic Store Odinstaluj grę Czy na pewno chcesz odinstalować %1$s? Tej akcji nie można cofnąć. Pobierz grę @@ -870,7 +871,7 @@ Menedżer sterowników Wybierz sterownik Importuj ZIP z urządzenia - + Menedżer zawartości Importuj .wcp z urządzenia diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index d139eeed5f..4abac1853e 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1239,6 +1239,7 @@ Saindo do Amazon Games… + Jogos com launcher de terceiros não são suportados atualmente na Epic Store Desinstalar jogo Tem certeza de que deseja desinstalar %1$s? Esta ação não pode ser desfeita. Baixar jogo diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 6e3af31a74..a44fa2008f 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -1374,6 +1374,7 @@ Se deconectează de la Amazon Games… + Jocurile cu lansator terț nu sunt acceptate în prezent pe Epic Store Dezinstalare joc Sigur vrei să dezinstalezi %1$s? Această acțiune nu poate fi anulată. Descărcare joc diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e89b10cfe3..7fec18c6c7 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -374,6 +374,7 @@ Ошибка удаления: %1$s Ошибка удаления: %1$s Вы уверены, что хотите удалить %1$s? Это действие не может быть отменено. + Игры со сторонними лаунчерами в настоящее время не поддерживаются в Epic Store Удалить игру Ошибка: невалидно Ошибка @@ -675,9 +676,9 @@ Ubuntu RootFs - releases.ubuntu.com/focal Переключить выпадающее меню Закрыть Лупа - Вы уже вошли на другом устройстве и играете в %s. + Вы уже вошли на другом устройстве и играете в %s. Вы всё ещё можете играть в эту игру, но это отключит другой сеанс от Steam. - Вы уже вошли на другом устройстве (%1$s) и играете в %2$s (%3$s), и это сохранение ещё не в облаке. + Вы уже вошли на другом устройстве (%1$s) и играете в %2$s (%3$s), и это сохранение ещё не в облаке. Вы всё ещё можете играть в эту игру, но это отключит другой сеанс от Steam и может создать конфликт сохранений, когда прогресс того сеанса синхронизируется Приложение запущено Сеанс приложения приостановлен. Пожалуйста, перезапустите приложение. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index e6c6192b8d..529b8828ea 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -1368,6 +1368,7 @@ Вихід з Amazon Games… + Ігри зі стороннім лаунчером наразі не підтримуються в Epic Store Деінсталювати гру Ви впевнені, що хочете деінсталювати %1$s? Цю дію не можна скасувати. Завантажити гру diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index dd3acc357d..8694943b47 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1364,6 +1364,7 @@ 正在从 Amazon Games 注销… + Epic 商店目前不支持需要第三方启动器的游戏 卸载游戏 您确定要卸载 %1$s 吗?此操作无法撤回。 下载游戏 @@ -1545,4 +1546,4 @@ 提示:如果你使用的是 Mali GPU,请使用系统驱动。 提示:出现黑屏?尝试使用菜单中的\"%s\"选项检查驱动是否正常工作。 启用在线游玩并提升兼容性\n不一定总能正常工作\n尝试前请先备份存档 - \ No newline at end of file + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 7ac8128c9b..1d05e60196 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1367,6 +1367,7 @@ 正在從 Amazon Games 登出… + Epic 商店目前不支援需要第三方啟動器的遊戲 卸載遊戲 您確定要卸載 %1$s 嗎?此操作無法撤回。 下載遊戲 @@ -1537,4 +1538,4 @@ 提示:如果你使用的是 Mali GPU,請使用系統驅動。 提示:出現黑畫面?嘗試使用選單中的「%s」選項檢查驅動是否正常運作。 啟用線上遊玩並提升相容性\n不一定總能正常運作\n嘗試前請先備份存檔 - \ No newline at end of file + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a7985c8fdd..ce842ccd7d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -54,6 +54,7 @@ Are you sure you want to uninstall %1$s? This action cannot be undone. Download Game The app being installed has the following space requirements. Would you like to proceed?\n\n\tDownload Size: %1$s\n\tAvailable Space: %2$s + Third-party launcher games are currently not supported on Epic Store Uninstall Game Are you sure you want to uninstall %1$s? This action cannot be undone. Download Game