package de.softwareapp_hb.privateqrscanner.util import android.app.Activity import android.content.Context import android.content.ContextWrapper import com.google.android.play.core.review.ReviewManagerFactory object InAppReviewRequester { fun requestReview(context: Context) { val activity = context.findActivity() ?: return val manager = ReviewManagerFactory.create(activity) manager.requestReviewFlow().addOnCompleteListener { request -> if (request.isSuccessful) { manager.launchReviewFlow(activity, request.result) } } } private tailrec fun Context.findActivity(): Activity? { return when (this) { is Activity -> this is ContextWrapper -> baseContext.findActivity() else -> null } } }