commit a4259b7fdc379011ff99374642314dd91b057bda
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Oct 2 10:08:14 2020 +0100

    adjust requesting for review a bit more - now it will happen after a user has launched the app twice and played 7 times.

diff --git a/src/main/java/org/distorted/main/RubikPreRender.java b/src/main/java/org/distorted/main/RubikPreRender.java
index 719b762d..bc0bffe6 100644
--- a/src/main/java/org/distorted/main/RubikPreRender.java
+++ b/src/main/java/org/distorted/main/RubikPreRender.java
@@ -369,8 +369,11 @@ public class RubikPreRender implements EffectListener
     int numPlay   = scores.getNumPlays();
     int numReview = scores.getNumReviews();
 
-    if( numRuns>=2 && numPlay>6 && numReview<1 )
+    if( numRuns>=2 && numPlay>=5 ) scores.incrementNumReviews();
+
+    if( numReview==0 )
       {
+      final long timeBegin = System.currentTimeMillis();
       final RubikActivity act = (RubikActivity)mView.getContext();
       final ReviewManager manager = ReviewManagerFactory.create(act);
       Task<ReviewInfo> request = manager.requestReviewFlow();
@@ -383,7 +386,6 @@ public class RubikPreRender implements EffectListener
           if (task.isSuccessful())
             {
             final String name = scores.getName();
-            scores.incrementNumReviews();
             ReviewInfo reviewInfo = task.getResult();
             Task<Void> flow = manager.launchReviewFlow(act, reviewInfo);
 
@@ -392,7 +394,7 @@ public class RubikPreRender implements EffectListener
               @Override
               public void onFailure(Exception e)
                 {
-                analyticsReport(act,"Review Flow Failed", name);
+                analyticsReport(act,"Review Flow Failed", name, timeBegin);
                 }
               });
 
@@ -401,14 +403,14 @@ public class RubikPreRender implements EffectListener
               @Override
               public void onComplete(@NonNull Task<Void> task)
                 {
-                analyticsReport(act,"Review Flow Complete", name);
+                analyticsReport(act,"Review Flow Complete", name, timeBegin);
                 }
               });
             }
           else
             {
             String name = scores.getName();
-            analyticsReport(act,"Request review flow not successful", name);
+            analyticsReport(act,"Request review flow not successful", name, timeBegin);
             }
           }
         });
@@ -417,12 +419,15 @@ public class RubikPreRender implements EffectListener
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  private void analyticsReport(RubikActivity act, String message, String name)
+  private void analyticsReport(RubikActivity act, String message, String name, long timeBegin)
     {
+    long elapsed = System.currentTimeMillis() - timeBegin;
+
     if( BuildConfig.DEBUG )
        {
        android.util.Log.d("pre", message);
        android.util.Log.d("pre", name);
+       android.util.Log.d("pre", "startTime: "+timeBegin+" elapsed: "+elapsed);
        }
     else
       {
@@ -433,6 +438,7 @@ public class RubikPreRender implements EffectListener
         Bundle bundle = new Bundle();
         bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, message);
         bundle.putString(FirebaseAnalytics.Param.CHARACTER, name);
+        bundle.putString(FirebaseAnalytics.Param.START_DATE, "startTime: "+timeBegin+" elapsed: "+elapsed);
         analytics.logEvent(FirebaseAnalytics.Event.CAMPAIGN_DETAILS, bundle);
         }
       }
diff --git a/src/main/java/org/distorted/scores/RubikScores.java b/src/main/java/org/distorted/scores/RubikScores.java
index 320998f8..4e05c0d0 100644
--- a/src/main/java/org/distorted/scores/RubikScores.java
+++ b/src/main/java/org/distorted/scores/RubikScores.java
@@ -455,7 +455,7 @@ public class RubikScores
     mNumPlays       = preferences.getInt("scores_numPlays", 0);
     mNumRuns        = preferences.getInt("scores_numRuns" , 0);
     mDeviceID       = preferences.getInt("scores_deviceid",-1);
-    mNumReviews     = preferences.getInt("scores_review"  , 0);
+    mNumReviews     = preferences.getInt("scores_review"  ,-3);
 
     if( mDeviceID==-1 ) mDeviceID = privateGetDeviceID();
     }
