commit ada8ab26bfd449ed0398b514686e8413d0415186
Author: leszek <leszek@koltunski.pl>
Date:   Wed Oct 18 15:16:13 2023 +0200

    Cleanups in the Activities.

diff --git a/build.gradle b/build.gradle
index 84c1f192..e997a5b7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -55,6 +55,7 @@ dependencies {
     implementation ('com.google.firebase:firebase-inappmessaging-display')
     implementation ('com.google.android.play:core:1.10.3')
     implementation ('androidx.appcompat:appcompat:1.6.1')
+    implementation ('androidx.preference:preference:1.2.1')
     implementation ('androidx.work:work-runtime:2.8.1')
     implementation ('com.google.android.material:material:1.10.0')
     //implementation "com.android.billingclient:billing:5.1.0"
diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java b/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
index 75951b0c..ee267e39 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
@@ -19,7 +19,6 @@ import android.content.res.Configuration;
 import android.graphics.Bitmap;
 import android.os.Build;
 import android.os.Bundle;
-import android.preference.PreferenceManager;
 import android.util.DisplayMetrics;
 import android.view.View;
 import android.view.ViewGroup;
@@ -27,6 +26,7 @@ import android.view.WindowManager;
 import android.widget.LinearLayout;
 
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.preference.PreferenceManager;
 
 import org.distorted.dialogs.RubikDialogError;
 import org.distorted.external.RubikFiles;
@@ -42,18 +42,12 @@ import org.distorted.os.OSInterface;
 
 public class BandagedCreatorActivity extends AppCompatActivity
 {
-    private static final int ACTIVITY_NUMBER = 3;
-    private static final float RATIO_BAR   = 0.10f;
-    private static final float RATIO_BUT   = 0.07f;
-    static final float RATIO_SCROLL= 0.30f;
-
-    public static final float SPINNER_TEXT_SIZE  = 0.03f;
-
-    public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+    private static final int ACTIVITY_NUMBER    = 3;
+    private static final float RATIO_BAR        = 0.10f;
+    private static final float RATIO_BUT        = 0.07f;
+    static final float RATIO_SCROLL             = 0.30f;
+    public static final float SPINNER_TEXT_SIZE = 0.03f;
+    public static final int FLAGS               = RubikActivity.FLAGS;
 
     private static int mScreenWidth, mScreenHeight;
     private int mCurrentApiVersion;
diff --git a/src/main/java/org/distorted/bandaged/BandagedPlayActivity.java b/src/main/java/org/distorted/bandaged/BandagedPlayActivity.java
index 3292efb9..301d5dcd 100644
--- a/src/main/java/org/distorted/bandaged/BandagedPlayActivity.java
+++ b/src/main/java/org/distorted/bandaged/BandagedPlayActivity.java
@@ -12,7 +12,6 @@ package org.distorted.bandaged;
 import android.content.SharedPreferences;
 import android.os.Build;
 import android.os.Bundle;
-import android.preference.PreferenceManager;
 import android.util.DisplayMetrics;
 import android.view.DisplayCutout;
 import android.view.View;
@@ -21,11 +20,13 @@ import android.view.WindowManager;
 import android.widget.LinearLayout;
 
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.preference.PreferenceManager;
 
 import org.distorted.dialogs.RubikDialogError;
 import org.distorted.external.RubikFiles;
 import org.distorted.library.main.DistortedLibrary;
 import org.distorted.main.R;
+import org.distorted.main.RubikActivity;
 import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObject;
@@ -37,14 +38,9 @@ import java.io.InputStream;
 public class BandagedPlayActivity extends AppCompatActivity
 {
     private static final int ACTIVITY_NUMBER = 4;
-    private static final float RATIO_BAR  = 0.10f;
-    private static final float RATIO_INSET= 0.09f;
-
-    public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+    private static final float RATIO_BAR     = 0.10f;
+    private static final float RATIO_INSET   = 0.09f;
+    public static final int FLAGS            = RubikActivity.FLAGS;
 
     private static int mScreenWidth, mScreenHeight;
     private int mCurrentApiVersion;
@@ -277,12 +273,4 @@ public class BandagedPlayActivity extends AppCompatActivity
       {
       return mScreen;
       }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public boolean isVertical()
-      {
-      BandagedPlayView view = findViewById(R.id.bandagedPlayView);
-      return view.isVertical();
-      }
 }
diff --git a/src/main/java/org/distorted/config/ConfigActivity.java b/src/main/java/org/distorted/config/ConfigActivity.java
index f2755092..2f3ab744 100644
--- a/src/main/java/org/distorted/config/ConfigActivity.java
+++ b/src/main/java/org/distorted/config/ConfigActivity.java
@@ -21,6 +21,7 @@ import android.widget.LinearLayout;
 import androidx.appcompat.app.AppCompatActivity;
 
 import org.distorted.library.main.DistortedLibrary;
+import org.distorted.main.RubikActivity;
 import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.main.R;
@@ -35,12 +36,7 @@ public class ConfigActivity extends AppCompatActivity
 {
     private static final int ACTIVITY_NUMBER = 2;
     private static final float RATIO_BAR  = 0.10f;
-
-    public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+    public static final int FLAGS = RubikActivity.FLAGS;
 
     private static int mScreenWidth, mScreenHeight;
     private int mCurrentApiVersion;
@@ -260,12 +256,4 @@ public class ConfigActivity extends AppCompatActivity
       ConfigSurfaceView view = findViewById(R.id.configSurfaceView);
       return view.getObjectControl();
       }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public boolean isVertical()
-      {
-      ConfigSurfaceView view = findViewById(R.id.configSurfaceView);
-      return view.isVertical();
-      }
 }
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogPrivacy.java b/src/main/java/org/distorted/dialogs/RubikDialogPrivacy.java
index eb4edf98..6d858106 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogPrivacy.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogPrivacy.java
@@ -34,16 +34,16 @@ public class RubikDialogPrivacy extends RubikDialogAbstract
 
   public void positiveAction()
     {
-    final RubikActivity act = (RubikActivity)getContext();
-    if( act!=null ) act.acceptPrivacy();
+    //final RubikActivity act = (RubikActivity)getContext();
+    //if( act!=null ) act.acceptPrivacy();
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public void negativeAction()
     {
-    final RubikActivity act = (RubikActivity)getContext();
-    if( act!=null ) act.declinePrivacy();
+    //final RubikActivity act = (RubikActivity)getContext();
+    //if( act!=null ) act.declinePrivacy();
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogTutorialView.java b/src/main/java/org/distorted/dialogs/RubikDialogTutorialView.java
index 0f84fad6..1d696493 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogTutorialView.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogTutorialView.java
@@ -141,7 +141,7 @@ public class RubikDialogTutorialView extends FrameLayout
         {
         if( mCanClick )
           {
-          act.switchTutorial(url,obj);
+          act.switchToTutorial(url,obj);
           analyticsReport(act,desc,auth,obj);
           clickPossible(false);
           }
diff --git a/src/main/java/org/distorted/main/RubikActivity.java b/src/main/java/org/distorted/main/RubikActivity.java
index 9e1d7a67..838f7894 100644
--- a/src/main/java/org/distorted/main/RubikActivity.java
+++ b/src/main/java/org/distorted/main/RubikActivity.java
@@ -18,7 +18,6 @@ import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.os.Build;
 import android.os.Bundle;
-import android.preference.PreferenceManager;
 
 import android.util.DisplayMetrics;
 import android.view.DisplayCutout;
@@ -28,6 +27,7 @@ import android.view.WindowManager;
 import android.widget.LinearLayout;
 
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.preference.PreferenceManager;
 
 import com.google.firebase.analytics.FirebaseAnalytics;
 import com.google.firebase.inappmessaging.FirebaseInAppMessaging;
@@ -96,7 +96,6 @@ public class RubikActivity extends AppCompatActivity
     private boolean mJustStarted;
     private FirebaseAnalytics mFirebaseAnalytics;
     private static int mScreenWidth, mScreenHeight;
-    private boolean mPolicyAccepted;
     private int mCurrentApiVersion;
     private int mHeightUpperBar;
     private int mOldVersion1, mOldVersion2, mOldVersion3;
@@ -122,7 +121,6 @@ public class RubikActivity extends AppCompatActivity
       mScreenWidth =displaymetrics.widthPixels;
       mScreenHeight=displaymetrics.heightPixels;
 
-
       cutoutHack();
       computeBarHeights();
 
@@ -193,7 +191,7 @@ public class RubikActivity extends AppCompatActivity
       {
       super.onAttachedToWindow();
 
-      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
+      if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.P )
         {
         DisplayCutout cutout = getWindow().getDecorView().getRootWindowInsets().getDisplayCutout();
         int insetHeight = cutout!=null ? cutout.getSafeInsetTop() : 0;
@@ -211,7 +209,7 @@ public class RubikActivity extends AppCompatActivity
 
     private void cutoutHack()
       {
-      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
+      if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.P )
         {
         getWindow().getAttributes().layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
         }
@@ -224,7 +222,7 @@ public class RubikActivity extends AppCompatActivity
       {
       super.onWindowFocusChanged(hasFocus);
 
-      if(mCurrentApiVersion >= Build.VERSION_CODES.KITKAT && hasFocus)
+      if( mCurrentApiVersion >= Build.VERSION_CODES.KITKAT && hasFocus )
         {
         getWindow().getDecorView().setSystemUiVisibility(FLAGS);
         }
@@ -270,19 +268,8 @@ public class RubikActivity extends AppCompatActivity
       int object = RubikObjectList.getCurrObject();
       changeIfDifferent(object,view.getObjectControl());
 
-      // switch this off - we are not present in China anymore.
-      // if( mIsChinese && !mPolicyAccepted ) privacyPolicy();
-      // else
-        {
-        if( !mOldVersion.equals(mCurrVersion) )
-          {
-          displayNovelties();
-          }
-        else
-          {
-          if( USE_IAP ) view.setShowStars();
-          }
-        }
+      if( !mOldVersion.equals(mCurrVersion) ) displayNovelties();
+      else if( USE_IAP ) view.setShowStars();
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -327,11 +314,10 @@ public class RubikActivity extends AppCompatActivity
       SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
       SharedPreferences.Editor editor = preferences.edit();
 
-      editor.putBoolean("policyAccepted", mPolicyAccepted);
       editor.putString("appVersion", mCurrVersion );
       editor.putInt("solverIndex", mSolverIndex );
 
-      for (int i = 0; i< ScreenList.LENGTH; i++)
+      for( int i=0; i< ScreenList.LENGTH; i++ )
         {
         ScreenList.getScreen(i).getScreenClass().savePreferences(editor);
         }
@@ -365,7 +351,6 @@ public class RubikActivity extends AppCompatActivity
 
     private void restorePreferences(SharedPreferences preferences, boolean justStarted)
       {
-      mPolicyAccepted = preferences.getBoolean("policyAccepted", false);
       mOldVersion = preferences.getString("appVersion","");
       mSolverIndex = preferences.getInt("solverIndex",0);
 
@@ -600,29 +585,7 @@ public class RubikActivity extends AppCompatActivity
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    public void acceptPrivacy()
-      {
-      mPolicyAccepted = true;
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public void declinePrivacy()
-      {
-      finish();
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public boolean isVertical()
-      {
-      RubikSurfaceView view = findViewById(R.id.rubikSurfaceView);
-      return view.isVertical();
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public void switchTutorial(String url, int objectOrdinal)
+    public void switchToTutorial(String url, int objectOrdinal)
       {
       Intent intent = new Intent(this, TutorialActivity.class);
       intent.putExtra("url", url);
@@ -632,7 +595,7 @@ public class RubikActivity extends AppCompatActivity
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    public void switchConfig(int objectOrdinal)
+    public void switchToConfig(int objectOrdinal)
       {
       Intent intent = new Intent(this, ConfigActivity.class);
       intent.putExtra("obj", objectOrdinal);
diff --git a/src/main/java/org/distorted/purchase/PurchaseActivity.java b/src/main/java/org/distorted/purchase/PurchaseActivity.java
index 48ceb3fe..86c6b8e0 100644
--- a/src/main/java/org/distorted/purchase/PurchaseActivity.java
+++ b/src/main/java/org/distorted/purchase/PurchaseActivity.java
@@ -12,18 +12,19 @@ package org.distorted.purchase;
 import android.content.SharedPreferences;
 import android.os.Build;
 import android.os.Bundle;
-import android.preference.PreferenceManager;
 import android.util.DisplayMetrics;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
 
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.preference.PreferenceManager;
 
 import org.distorted.dialogs.RubikDialogError;
 import org.distorted.external.RubikScores;
 import org.distorted.library.main.DistortedLibrary;
 import org.distorted.main.R;
+import org.distorted.main.RubikActivity;
 import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObject;
@@ -40,12 +41,7 @@ public class PurchaseActivity extends AppCompatActivity
     private static final float RATIO_UBAR = 0.14f;
     private static final float RATIO_LBAR = 0.10f;
     private static final float RATIO_VIEW = 0.50f;
-
-    public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+    public static final int FLAGS = RubikActivity.FLAGS;
 
     private static int mScreenWidth, mScreenHeight;
     private int mCurrentApiVersion;
diff --git a/src/main/java/org/distorted/screens/RubikScreenPlay.java b/src/main/java/org/distorted/screens/RubikScreenPlay.java
index f38f9b08..b0e9e713 100644
--- a/src/main/java/org/distorted/screens/RubikScreenPlay.java
+++ b/src/main/java/org/distorted/screens/RubikScreenPlay.java
@@ -292,7 +292,7 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
         {
         if( mObjectPopup!=null ) mObjectPopup.dismiss();
         int currObject = RubikObjectList.getCurrObject();
-        act.switchConfig(currObject);
+        act.switchToConfig(currObject);
         }
       });
 
diff --git a/src/main/java/org/distorted/tutorials/TutorialActivity.java b/src/main/java/org/distorted/tutorials/TutorialActivity.java
index 33cd3858..1c17072d 100644
--- a/src/main/java/org/distorted/tutorials/TutorialActivity.java
+++ b/src/main/java/org/distorted/tutorials/TutorialActivity.java
@@ -25,6 +25,7 @@ import androidx.appcompat.app.AppCompatActivity;
 
 import org.distorted.library.main.DistortedLibrary;
 
+import org.distorted.main.RubikActivity;
 import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObject;
@@ -43,15 +44,9 @@ import static org.distorted.objectlib.main.TwistyObject.MESH_NICE;
 public class TutorialActivity extends AppCompatActivity
 {
     private static final String URL = "https://www.youtube.com/embed/";
-
     private static final int ACTIVITY_NUMBER = 1;
     public static final float BAR_RATIO = 0.17f;
-
-    public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-                                   | View.SYSTEM_UI_FLAG_FULLSCREEN
-                                   | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+    public static final int FLAGS = RubikActivity.FLAGS;
 
     private static int mScreenWidth, mScreenHeight;
     private int mCurrentApiVersion;
@@ -279,12 +274,4 @@ public class TutorialActivity extends AppCompatActivity
       intent.putExtra("obj", mObjectOrdinal);
       startActivity(intent);
       }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public boolean isVertical()
-      {
-      TutorialSurfaceView view = findViewById(R.id.tutorialSurfaceView);
-      return view.isVertical();
-      }
 }
