Skip to content

Commit 8793357

Browse files
committed
fix: root library detection & re-enable error screen
1 parent 72f4eab commit 8793357

2 files changed

Lines changed: 20 additions & 14 deletions

File tree

app/src/main/java/me/timschneeberger/rootlessjamesdsp/MainApplication.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ open class MainApplication : Application(), SharedPreferences.OnSharedPreference
100100
}
101101

102102
override fun onCreate() {
103+
instance = this
104+
103105
Timber.plant(DebugTree())
104106

105107
if(BuildConfig.DEBUG) {
@@ -280,7 +282,7 @@ open class MainApplication : Application(), SharedPreferences.OnSharedPreference
280282
Pluto.showNotch(true)
281283

282284
PlutoExceptions.setANRHandler { thread, exception ->
283-
Timber.e("unhandled ANR handled on thread: " + thread.name, exception)
285+
Timber.e(exception, "unhandled ANR handled on thread: %s", thread.name)
284286
}
285287

286288
PlutoRoomsDBWatcher.watch("blocked_apps.db", AppBlocklistDatabase::class.java)
@@ -305,4 +307,10 @@ open class MainApplication : Application(), SharedPreferences.OnSharedPreference
305307
t?.takeIf { priority >= Log.WARN }?.let(CrashlyticsImpl::recordException)
306308
}
307309
}
310+
311+
312+
companion object {
313+
lateinit var instance: MainApplication
314+
private set
315+
}
308316
}

app/src/main/java/me/timschneeberger/rootlessjamesdsp/interop/JamesDspRemoteEngine.kt

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.content.Intent
66
import android.content.IntentFilter
77
import android.media.audiofx.AudioEffect
88
import android.media.audiofx.AudioEffectHidden
9+
import me.timschneeberger.rootlessjamesdsp.MainApplication
910
import me.timschneeberger.rootlessjamesdsp.interop.structure.EelVmVariable
1011
import me.timschneeberger.rootlessjamesdsp.utils.Constants
1112
import me.timschneeberger.rootlessjamesdsp.utils.extensions.AudioEffectExtensions.getParameterInt
@@ -14,6 +15,7 @@ import me.timschneeberger.rootlessjamesdsp.utils.extensions.AudioEffectExtension
1415
import me.timschneeberger.rootlessjamesdsp.utils.extensions.AudioEffectExtensions.setParameterFloatArray
1516
import me.timschneeberger.rootlessjamesdsp.utils.extensions.AudioEffectExtensions.setParameterImpulseResponseBuffer
1617
import me.timschneeberger.rootlessjamesdsp.utils.extensions.ContextExtensions.registerLocalReceiver
18+
import me.timschneeberger.rootlessjamesdsp.utils.extensions.ContextExtensions.showAlert
1719
import me.timschneeberger.rootlessjamesdsp.utils.extensions.ContextExtensions.toast
1820
import me.timschneeberger.rootlessjamesdsp.utils.extensions.ContextExtensions.unregisterLocalReceiver
1921
import me.timschneeberger.rootlessjamesdsp.utils.extensions.crc
@@ -300,26 +302,22 @@ class JamesDspRemoteEngine(
300302
private val EFFECT_JAMESDSP = UUID.fromString("f27317f4-c984-4de6-9a90-545759495bf2")
301303

302304
fun isPluginInstalled(): PluginState {
303-
return PluginState.Available
304-
305-
// TODO This method doesn't seem to work with new AIDL jamesdsp lib patch; investigate using emulator
306305
return try {
307306
AudioEffect
308307
.queryEffects()
309308
.orEmpty()
310-
.filter { it.uuid == EFFECT_JAMESDSP }
311-
.firstOrNull { it.name.contains("JamesDSP") }
312-
.let {
313-
if(it == null)
314-
PluginState.Unavailable
315-
else if(it.name.contains("v3"))
316-
PluginState.Unsupported
317-
else
318-
PluginState.Available
319-
}
309+
.firstOrNull { it.uuid == EFFECT_JAMESDSP }
310+
?.run {
311+
if(name.contains("v3")) PluginState.Unsupported else PluginState.Available
312+
} ?: PluginState.Unavailable
320313
} catch (e: Exception) {
321314
Timber.e("isPluginInstalled: exception raised")
322315
Timber.e(e)
316+
MainApplication.instance.showAlert(
317+
"Error while checking audio effect status",
318+
"Unexpected error while checking whether JamesDSP's audio effect library is installed. \n\n" +
319+
"Error: $e",
320+
)
323321
PluginState.Unavailable
324322
}
325323
}

0 commit comments

Comments
 (0)