Merge pull request #7294 from JosJuice/android-gamefile-config

Android: Don't crash when loading games into game list
This commit is contained in:
JosJuice 2018-07-30 20:11:51 +02:00 committed by GitHub
commit 9545466a18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -47,6 +47,17 @@ namespace UICommon
{ {
static const std::string EMPTY_STRING; static const std::string EMPTY_STRING;
static bool UseGameCovers()
{
// We ifdef this out on Android because accessing the config before emulation start makes us crash.
// The Android GUI doesn't support covers anyway, so this doesn't make us lose out on functionality.
#ifdef ANDROID
return false;
#else
return Config::Get(Config::MAIN_USE_GAME_COVERS);
#endif
}
bool operator==(const GameBanner& lhs, const GameBanner& rhs) bool operator==(const GameBanner& lhs, const GameBanner& rhs)
{ {
return std::tie(lhs.buffer, lhs.width, lhs.height) == std::tie(rhs.buffer, rhs.width, rhs.height); return std::tie(lhs.buffer, lhs.width, lhs.height) == std::tie(rhs.buffer, rhs.width, rhs.height);
@ -155,7 +166,7 @@ bool GameFile::IsValid() const
bool GameFile::CustomCoverChanged() bool GameFile::CustomCoverChanged()
{ {
if (!m_custom_cover.buffer.empty() || !Config::Get(Config::MAIN_USE_GAME_COVERS)) if (!m_custom_cover.buffer.empty() || !UseGameCovers())
return false; return false;
std::string path, name; std::string path, name;
@ -182,8 +193,7 @@ bool GameFile::CustomCoverChanged()
void GameFile::DownloadDefaultCover() void GameFile::DownloadDefaultCover()
{ {
#ifndef ANDROID if (!m_default_cover.buffer.empty() || !UseGameCovers())
if (!m_default_cover.buffer.empty() || !Config::Get(Config::MAIN_USE_GAME_COVERS))
return; return;
const auto cover_path = File::GetUserPath(D_COVERCACHE_IDX) + DIR_SEP; const auto cover_path = File::GetUserPath(D_COVERCACHE_IDX) + DIR_SEP;
@ -256,12 +266,11 @@ void GameFile::DownloadDefaultCover()
File::WriteStringToFile(std::string(response.value().begin(), response.value().end()), File::WriteStringToFile(std::string(response.value().begin(), response.value().end()),
cover_path + m_game_id.substr(0, 4) + ".png"); cover_path + m_game_id.substr(0, 4) + ".png");
} }
#endif
} }
bool GameFile::DefaultCoverChanged() bool GameFile::DefaultCoverChanged()
{ {
if (!m_default_cover.buffer.empty() || !Config::Get(Config::MAIN_USE_GAME_COVERS)) if (!m_default_cover.buffer.empty() || !UseGameCovers())
return false; return false;
const auto cover_path = File::GetUserPath(D_COVERCACHE_IDX) + DIR_SEP; const auto cover_path = File::GetUserPath(D_COVERCACHE_IDX) + DIR_SEP;