commit 6828c498082237a5cc9fa486baeeaaf4a5eb9bda
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Dec 27 22:56:36 2022 +0100

    fix showing the number of stars on app startup.

diff --git a/src/main/java/org/distorted/main/RubikActivity.java b/src/main/java/org/distorted/main/RubikActivity.java
index 1f21c222..8321698b 100644
--- a/src/main/java/org/distorted/main/RubikActivity.java
+++ b/src/main/java/org/distorted/main/RubikActivity.java
@@ -50,8 +50,6 @@ import org.distorted.external.RubikScores;
 import org.distorted.external.RubikNetwork;
 import org.distorted.objects.RubikObject;
 import org.distorted.objects.RubikObjectList;
-import org.distorted.overlays.DataStars;
-import org.distorted.overlays.OverlayStars;
 import org.distorted.purchase.PurchaseActivity;
 import org.distorted.screens.RubikScreenSolving;
 import org.distorted.screens.ScreenList;
@@ -290,12 +288,7 @@ public class RubikActivity extends AppCompatActivity
         }
       else
         {
-        RubikScores scores = RubikScores.getInstance();
-        int totStars = scores.getNumStars();
-        DistortedScreen screen = getScreen();
-        OverlayStars stars = new OverlayStars();
-        DataStars data = new DataStars(totStars,0,getResources());
-        stars.startOverlay(screen,null,data);
+        view.setShowStars();
         }
       }
 
diff --git a/src/main/java/org/distorted/main/RubikSurfaceView.java b/src/main/java/org/distorted/main/RubikSurfaceView.java
index 09068da3..517ed315 100644
--- a/src/main/java/org/distorted/main/RubikSurfaceView.java
+++ b/src/main/java/org/distorted/main/RubikSurfaceView.java
@@ -20,9 +20,12 @@ import android.view.MotionEvent;
 
 import com.google.firebase.crashlytics.FirebaseCrashlytics;
 
+import org.distorted.external.RubikScores;
+import org.distorted.library.main.DistortedScreen;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObjectNode;
-
+import org.distorted.overlays.DataStars;
+import org.distorted.overlays.OverlayStars;
 import org.distorted.screens.ScreenList;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -33,6 +36,7 @@ public class RubikSurfaceView extends GLSurfaceView
     private RubikRenderer mRenderer;
     private int mScreenWidth, mScreenHeight;
     private boolean mCreated;
+    private boolean mShowStars;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -50,9 +54,27 @@ public class RubikSurfaceView extends GLSurfaceView
         objectNode.glDepthMask(false);
         objectNode.glStencilMask(0);
         mRenderer.getScreen().attach(objectNode);
+
+        if( mShowStars )
+          {
+          mShowStars = false;
+          RubikScores scores = RubikScores.getInstance();
+          int totStars = scores.getNumStars();
+          DistortedScreen screen = mRenderer.getScreen();
+          OverlayStars stars = new OverlayStars();
+          DataStars data = new DataStars(totStars,0,getResources());
+          stars.startOverlay(screen,null,data);
+          }
         }
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    void setShowStars()
+      {
+      mShowStars = true;
+      }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     boolean isVertical()
@@ -83,6 +105,7 @@ public class RubikSurfaceView extends GLSurfaceView
       super(context,attrs);
 
       mCreated = false;
+      mShowStars = false;
 
       if(!isInEditMode())
         {
diff --git a/src/main/java/org/distorted/overlays/OverlayStars.java b/src/main/java/org/distorted/overlays/OverlayStars.java
index 12c4809a..389fe96a 100644
--- a/src/main/java/org/distorted/overlays/OverlayStars.java
+++ b/src/main/java/org/distorted/overlays/OverlayStars.java
@@ -113,7 +113,7 @@ public class OverlayStars extends OverlayGeneric implements EffectListener
          {
          mAlphaStrength = new Dynamic1D();
          mAlphaStrength.setMode(Dynamic.MODE_PATH);
-         mAlphaStrength.setDuration(DUR_APP);
+         mAlphaStrength.setDuration( mNewStars==0 ? 3*DUR_APP : DUR_APP);
          mAlphaStrength.setCount(0.5f);
          equipAlpha(mAlphaStrength,appear);
          mAlpha = new FragmentEffectAlpha(mAlphaStrength);
@@ -143,11 +143,13 @@ public class OverlayStars extends OverlayGeneric implements EffectListener
       if( appear )
         {
         alpha.add(point0);
+        if( mNewStars==0 ) alpha.add(point1);
         alpha.add(point1);
         }
       else
         {
         alpha.add(point1);
+        if( mNewStars==0 ) alpha.add(point1);
         alpha.add(point0);
         }
       }
@@ -303,7 +305,7 @@ public class OverlayStars extends OverlayGeneric implements EffectListener
 
    private PostprocessEffectGlow constructGlow(boolean firstPhase)
       {
-      Dynamic2D haloRadius = new Dynamic2D(DUR_GLO,0.5f);
+      Dynamic2D haloRadius = new Dynamic2D( mNewStars==0 ? 2*DUR_GLO : DUR_GLO,0.5f);
       Static2D point20 = new Static2D( 0, 0);
       Static2D point21 = new Static2D(15,50);
       Dynamic4D color = new Dynamic4D(DUR_GLO, 0.5f);
