diff --git a/app/build.gradle b/app/build.gradle index e17c743..4026a09 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ android { applicationId "me.zobrist.tichucounter" minSdkVersion 16 targetSdkVersion 30 - versionCode 5 + versionCode 6 versionName "1.0.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 4a8f94e..473d330 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -12,6 +12,10 @@ import android.widget.ScrollView import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.core.widget.doOnTextChanged +import com.google.android.play.core.review.ReviewInfo +import com.google.android.play.core.review.ReviewManager +import com.google.android.play.core.review.ReviewManagerFactory +import com.google.android.play.core.review.testing.FakeReviewManager import com.google.gson.Gson import kotlinx.android.synthetic.main.content_main.* @@ -22,6 +26,9 @@ class MainActivity : AppCompatActivity() { private lateinit var history: History private var currentRound = Round() + lateinit var manager: ReviewManager + lateinit var reviewInfo: ReviewInfo + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -42,6 +49,8 @@ class MainActivity : AppCompatActivity() { nameTeamB.setText(this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getString("nameTeamB", "TeamB")) updateView() + initReviews() + inputTeamA.setOnFocusChangeListener { view, b -> if (b) { @@ -62,7 +71,7 @@ class MainActivity : AppCompatActivity() { currentRound = try { Round(text.toString().toInt(), true) - } catch (e: java.lang.Exception) { + } catch (e: Exception) { Round(1, 1) } inputTeamB.setText(currentRound.scoreB.toString()) @@ -91,7 +100,7 @@ class MainActivity : AppCompatActivity() { currentRound = try { Round(text.toString().toInt(), false) - } catch (e: java.lang.Exception) { + } catch (e: Exception) { Round(1, 1) } inputTeamA.setText(currentRound.scoreA.toString()) @@ -385,6 +394,30 @@ class MainActivity : AppCompatActivity() { scoreB.text = "0" history.clearAll() + + askForReview() + + } + + private fun initReviews() { + manager = ReviewManagerFactory.create(this) + manager.requestReviewFlow().addOnCompleteListener { request -> + if (request.isSuccessful) { + reviewInfo = request.result + } + } + } + + // Call this when you want to show the dialog + private fun askForReview() { + try{ + manager.launchReviewFlow(this, reviewInfo).addOnFailureListener { + // Log error and continue with the flow + }.addOnCompleteListener { _ -> + // Log success and continue with the flow + } + } catch (e: Exception){ + } } private fun appendToFocusedInput(toAppend: Char) {