Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ android {

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
ndk {
abiFilters += listOf("arm64-v8a" /*, "x86_64" */)
abiFilters += listOf("arm64-v8a", "x86_64")
}

buildConfigField("String", "Version", "\"v${versionName}\"")
Expand Down
6 changes: 5 additions & 1 deletion app/src/main/cpp/native-lib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,7 @@ Java_net_rpcsx_RPCSX_getVersion(JNIEnv *env, jobject) {
extern "C" JNIEXPORT jboolean JNICALL
Java_net_rpcsx_RPCSX_setCustomDriver(JNIEnv *env, jobject, jstring jpath,
jstring jlibraryName, jstring jhookDir) {
#ifdef __aarch64__
if (rpcsxLib.setCustomDriver == nullptr) {
return false;
}
Expand Down Expand Up @@ -318,4 +319,7 @@ Java_net_rpcsx_RPCSX_setCustomDriver(JNIEnv *env, jobject, jstring jpath,
}

return true;
}
#else
return false;
#endif // __aarch64__
}
7 changes: 5 additions & 2 deletions app/src/main/java/net/rpcsx/ui/navigation/AppNavHost.kt
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,6 @@ fun AppNavHost() {
composable(
route = "rpcsx_channels"
) {
var downloadArch by remember { mutableStateOf(RpcsxUpdater.getArch()) }
UpdateChannelListScreen(
navigateBack = navController::navigateUp,
title = stringResource(R.string.rpcsx_download_channel),
Expand Down Expand Up @@ -426,7 +425,11 @@ fun AppNavHost() {
}
},
isDeletable = { isValidChannel(it, ReleaseRpcsxChannel, DevRpcsxChannel) },
actions = {
actions = actions@{
if (RpcsxUpdater.getAbi() != "arm64-v8a") {
return@actions
}
var downloadArch by remember { mutableStateOf(RpcsxUpdater.getArch()) }
var expanded by remember { mutableStateOf(false) }

TextButton(onClick = { expanded = true }) {
Expand Down
12 changes: 9 additions & 3 deletions app/src/main/java/net/rpcsx/utils/RpcsxUpdater.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package net.rpcsx.utils

import android.content.Context
import android.content.Intent
import android.os.Build
import android.util.Log
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
Expand Down Expand Up @@ -40,8 +41,13 @@ object RpcsxUpdater {
return "$version-$arch"
}

fun getAbi(): String = Build.SUPPORTED_64_BIT_ABIS[0]

fun getArch(): String {
return GeneralSettings["rpcsx_arch"] as? String ?: "armv8-a"
return when (getAbi()) {
"x86_64" -> "x86-64"
else -> GeneralSettings["rpcsx_arch"] as? String ?: "armv8-a"
}
}

fun setArch(arch: String) {
Expand All @@ -57,7 +63,7 @@ object RpcsxUpdater {
val release = fetchResult.content as GitHub.Release
val releaseVersion = "${release.name}-${arch}"

if (release.assets.find { it.name == "librpcsx-android-arm64-v8a-${arch}.so" }?.browser_download_url == null) {
if (release.assets.find { it.name == "librpcsx-android-${getAbi()}-${arch}.so" }?.browser_download_url == null) {
return null
}

Expand Down Expand Up @@ -85,7 +91,7 @@ object RpcsxUpdater {
is GitHub.FetchResult.Success<*> -> {
val release = fetchResult.content as GitHub.Release
val releaseVersion = "${release.name}-${arch}"
val releaseAsset = release.assets.find { it.name == "librpcsx-android-arm64-v8a-$arch.so" }
val releaseAsset = release.assets.find { it.name == "librpcsx-android-${getAbi()}-$arch.so" }

if (releaseVersion != getCurrentVersion() && releaseAsset?.browser_download_url != null) {
val target = File(destinationDir, "librpcsx-android_${arch}_${release.name}.so")
Expand Down