From 022f0d2480c66d5d0b10a2c809a9585f486ccf76 Mon Sep 17 00:00:00 2001 From: Hayden Parker Date: Mon, 14 Apr 2025 12:44:38 -0500 Subject: [PATCH] use the application icon for notifications --- app/app_mobile_and.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/app_mobile_and.c b/app/app_mobile_and.c index a21e330ec0..54735f21d1 100644 --- a/app/app_mobile_and.c +++ b/app/app_mobile_and.c @@ -117,7 +117,12 @@ void sendNotification(uintptr_t java_vm, uintptr_t jni_env, uintptr_t ctx, char jmethodID setContentText = find_method(env, cls, "setContentText", "(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;"); (*env)->CallObjectMethod(env, builder, setContentText, bodyStr); - int iconID = 17629184; // constant of "unknown app icon" + jclass classContext = (*env)->GetObjectClass(env, (jobject)ctx); + jmethodID getApplicationInfoMethod = find_method(env, classContext, "getApplicationInfo", "()Landroid/content/pm/ApplicationInfo;"); + jobject appInfo = (*env)->CallObjectMethod(env, (jobject)ctx, getApplicationInfoMethod); + jclass applicationInfoClass = find_class(env, "android/content/pm/ApplicationInfo"); + jfieldID iconFieldID = (*env)->GetFieldID(env, applicationInfoClass, "icon", "I"); + jint iconID = (*env)->GetIntField(env, appInfo, iconFieldID); jmethodID setSmallIcon = find_method(env, cls, "setSmallIcon", "(I)Landroid/app/Notification$Builder;"); (*env)->CallObjectMethod(env, builder, setSmallIcon, iconID);