From 4854f8c16e87fbc17757ea287c1ec695bf892e67 Mon Sep 17 00:00:00 2001 From: Noir-Lime <133947209+Noir-Lime@users.noreply.github.com> Date: Tue, 8 Sep 2026 10:05:56 -0700 Subject: [PATCH] fix(auth): return recovery PendingIntent for modern clients --- .../java/org/microg/gms/auth/AuthManagerServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/play-services-core/src/main/java/org/microg/gms/auth/AuthManagerServiceImpl.java b/play-services-core/src/main/java/org/microg/gms/auth/AuthManagerServiceImpl.java index 19a465cb07..3721797663 100644 --- a/play-services-core/src/main/java/org/microg/gms/auth/AuthManagerServiceImpl.java +++ b/play-services-core/src/main/java/org/microg/gms/auth/AuthManagerServiceImpl.java @@ -20,6 +20,7 @@ import android.accounts.AccountManager; import android.annotation.SuppressLint; import android.app.NotificationManager; +import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -77,6 +78,7 @@ public class AuthManagerServiceImpl extends IAuthManagerService.Stub { public static final String KEY_ERROR = "Error"; public static final String KEY_USER_RECOVERY_INTENT = "userRecoveryIntent"; + public static final String KEY_USER_RECOVERY_PENDING_INTENT = "userRecoveryPendingIntent"; private final Context context; @@ -171,16 +173,18 @@ public Bundle getTokenWithAccount(Account account, String scope, Bundle extras) } catch (Exception e) { Log.w(TAG, "Can't decode consent data: ", e); } + PendingIntent pendingIntent = PendingIntentCompat.getActivity(context, 0, i, 0, false); if (notify) { NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); nm.notify(packageName.hashCode(), new NotificationCompat.Builder(context) - .setContentIntent(PendingIntentCompat.getActivity(context, 0, i, 0, false)) + .setContentIntent(pendingIntent) .setContentTitle(context.getString(R.string.auth_notification_title)) .setContentText(context.getString(R.string.auth_notification_content, getPackageLabel(packageName, context.getPackageManager()))) .setSmallIcon(android.R.drawable.stat_notify_error) .build()); } result.putParcelable(KEY_USER_RECOVERY_INTENT, i); + result.putParcelable(KEY_USER_RECOVERY_PENDING_INTENT, pendingIntent); } } catch (IOException e) { Log.w(TAG, e);