diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/WiiUtils.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/WiiUtils.java index cd92e21cb5..560a5d9727 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/WiiUtils.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/WiiUtils.java @@ -10,6 +10,16 @@ public final class WiiUtils public static final int RESULT_CORRUPTED_SOURCE = 3; public static final int RESULT_TITLE_MISSING = 4; + public static final int UPDATE_RESULT_SUCCESS = 0; + public static final int UPDATE_RESULT_ALREADY_UP_TO_DATE = 1; + public static final int UPDATE_RESULT_REGION_MISMATCH = 2; + public static final int UPDATE_RESULT_MISSING_UPDATE_PARTITION = 3; + public static final int UPDATE_RESULT_DISC_READ_FAILED = 4; + public static final int UPDATE_RESULT_SERVER_FAILED = 5; + public static final int UPDATE_RESULT_DOWNLOAD_FAILED = 6; + public static final int UPDATE_RESULT_IMPORT_FAILED = 7; + public static final int UPDATE_RESULT_CANCELLED = 8; + public static native boolean installWAD(String file); public static native int importWiiSave(String file, BooleanSupplier canOverwrite); diff --git a/Source/Android/jni/WiiUtils.cpp b/Source/Android/jni/WiiUtils.cpp index f37ba0426b..f372f65229 100644 --- a/Source/Android/jni/WiiUtils.cpp +++ b/Source/Android/jni/WiiUtils.cpp @@ -35,6 +35,36 @@ static jint ConvertCopyResult(WiiSave::CopyResult result) static_assert(static_cast(WiiSave::CopyResult::NumberOfEntries) == 5); } +static jint ConvertUpdateResult(WiiUtils::UpdateResult result) +{ + switch (result) + { + case WiiUtils::UpdateResult::Succeeded: + return 0; + case WiiUtils::UpdateResult::AlreadyUpToDate: + return 1; + case WiiUtils::UpdateResult::RegionMismatch: + return 2; + case WiiUtils::UpdateResult::MissingUpdatePartition: + return 3; + case WiiUtils::UpdateResult::DiscReadFailed: + return 4; + case WiiUtils::UpdateResult::ServerFailed: + return 5; + case WiiUtils::UpdateResult::DownloadFailed: + return 6; + case WiiUtils::UpdateResult::ImportFailed: + return 7; + case WiiUtils::UpdateResult::Cancelled: + return 8; + default: + ASSERT(false); + return 1; + } + + static_assert(static_cast(WiiUtils::UpdateResult::NumberOfEntries) == 9); +} + extern "C" { JNIEXPORT jboolean JNICALL Java_org_dolphinemu_dolphinemu_utils_WiiUtils_installWAD(JNIEnv* env, diff --git a/Source/Core/Core/WiiUtils.h b/Source/Core/Core/WiiUtils.h index 4b7df0912b..55a4c4e286 100644 --- a/Source/Core/Core/WiiUtils.h +++ b/Source/Core/Core/WiiUtils.h @@ -82,6 +82,8 @@ enum class UpdateResult ImportFailed, // Update was cancelled. Cancelled, + + NumberOfEntries, }; // Return false to cancel the update as soon as the current title has finished updating.