From d7e9dd6302f0811969f6ec5f33b822374edd3104 Mon Sep 17 00:00:00 2001 From: Pzqqt <821026875@qq.com> Date: Tue, 31 Mar 2026 20:10:20 +0800 Subject: [PATCH] GameSpace: Fix the crash issue when incomingNumber was empty Fix: java.lang.IllegalArgumentException: URI: content://com.android.contacts/phone_lookup/, calling user: android.uid.system:1000, calling package is one of: [...] at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:207) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:177) at android.content.ContentProviderProxy.query(ContentProviderNative.java:495) at android.content.ContentResolver.query(ContentResolver.java:1231) at android.content.ContentResolver.query(ContentResolver.java:1163) at android.content.ContentResolver.query(ContentResolver.java:1119) at io.chaldeaprjkt.gamespace.gamebar.CallListener.loadContactPhoto(CallListener.kt:270) at io.chaldeaprjkt.gamespace.gamebar.CallListener.showRingerOverlay(CallListener.kt:198) at io.chaldeaprjkt.gamespace.gamebar.CallListener.access$showRingerOverlay(CallListener.kt:71) at io.chaldeaprjkt.gamespace.gamebar.CallListener$phoneStateListener$1.onCallStateChanged(CallListener.kt:91) at android.telephony.PhoneStateListener$IPhoneStateListenerStub.lambda$onLegacyCallStateChanged$10(PhoneStateListener.java:1379) at android.telephony.PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda43.run(D8$$SyntheticClass:0) at android.os.Handler.handleCallback(Handler.java:1070) at android.os.Handler.dispatchMessage(Handler.java:125) at android.os.Looper.dispatchMessage(Looper.java:333) at android.os.Looper.loopOnce(Looper.java:263) at android.os.Looper.loop(Looper.java:367) at android.app.ActivityThread.main(ActivityThread.java:9298) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) Signed-off-by: Pzqqt <821026875@qq.com> --- .../java/io/chaldeaprjkt/gamespace/gamebar/CallListener.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/chaldeaprjkt/gamespace/gamebar/CallListener.kt b/app/src/main/java/io/chaldeaprjkt/gamespace/gamebar/CallListener.kt index 5192ae98..aa2e7de9 100644 --- a/app/src/main/java/io/chaldeaprjkt/gamespace/gamebar/CallListener.kt +++ b/app/src/main/java/io/chaldeaprjkt/gamespace/gamebar/CallListener.kt @@ -88,7 +88,7 @@ class CallListener @Inject constructor( private val phoneStateListener = object: PhoneStateListener() { override fun onCallStateChanged(state: Int, incomingNumber: String?) { if (state == TelephonyManager.CALL_STATE_RINGING && callOverlayEnabled) { - showRingerOverlay(incomingNumber ?: "") + showRingerOverlay(incomingNumber) } } } @@ -172,7 +172,7 @@ class CallListener @Inject constructor( } } - private fun showRingerOverlay(incomingNumber: String) { + private fun showRingerOverlay(incomingNumber: String?) { if (isOverlayShowing) return val sidebarX = appSettings.x @@ -195,7 +195,7 @@ class CallListener @Inject constructor( y = appSettings.y - 71.extDp } - val callerPhoto = loadContactPhoto(context, incomingNumber) + val callerPhoto = if (incomingNumber.isNullOrEmpty()) null else loadContactPhoto(context, incomingNumber) ringerOverlay = ComposeView(context).apply { repeatWhenAttached {