commit b4cc083bfe79403ccd0487ecbac8892871bcf7d9
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Thu Dec 15 12:29:22 2016 +0000

    Some improvements for StarWars's behaviour after onPause(), but it doesn't really work yet.
    
    Remaining 'onPause-buggy' apps: StarWars, Save.

diff --git a/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java b/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
index 0c94891..982a51e 100644
--- a/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
+++ b/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
@@ -81,8 +81,6 @@ class Matrix3DRenderer implements GLSurfaceView.Renderer
 
     public void onSurfaceChanged(GL10 glUnused, int width, int height)
       {
-      mQueues.abortEffects(EffectTypes.MATRIX);
-
       mWidth = width;
       mHeight= height;
 
diff --git a/src/main/java/org/distorted/examples/matrix3d/Matrix3DSurfaceView.java b/src/main/java/org/distorted/examples/matrix3d/Matrix3DSurfaceView.java
index 26a4bd2..057cfdb 100644
--- a/src/main/java/org/distorted/examples/matrix3d/Matrix3DSurfaceView.java
+++ b/src/main/java/org/distorted/examples/matrix3d/Matrix3DSurfaceView.java
@@ -52,5 +52,5 @@ class Matrix3DSurfaceView extends GLSurfaceView
     return mRenderer;
     }
 
-}
+  }
 
diff --git a/src/main/java/org/distorted/examples/save/SaveActivity.java b/src/main/java/org/distorted/examples/save/SaveActivity.java
index f4d4c01..2962015 100644
--- a/src/main/java/org/distorted/examples/save/SaveActivity.java
+++ b/src/main/java/org/distorted/examples/save/SaveActivity.java
@@ -43,8 +43,8 @@ public class SaveActivity extends Activity implements SeekBar.OnSeekBarChangeLis
      };
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-// Checks if the app has permission to write to device storage
-// If the app does not has permission then the user will be prompted to grant permissions
+// Checks if the app has permission to write to device storage.
+// If not, the user will be prompted to grant ut.
 
   private void verifyStoragePermissions()
     {
diff --git a/src/main/java/org/distorted/examples/save/SaveWorkerThread.java b/src/main/java/org/distorted/examples/save/SaveWorkerThread.java
index a13eb32..2ff4a28 100644
--- a/src/main/java/org/distorted/examples/save/SaveWorkerThread.java
+++ b/src/main/java/org/distorted/examples/save/SaveWorkerThread.java
@@ -65,7 +65,7 @@ class SaveWorkerThread extends Thread
 
   static void create(Activity act)
     {
-    mWeakAct = new WeakReference(act);
+    mWeakAct = new WeakReference<>(act);
 
     if( mThis==null )
       {
diff --git a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
index 448a694..013e666 100644
--- a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
+++ b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
@@ -144,9 +144,18 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
 ///////////////////////////////////////////////////////////////////////////////////////////////////
     
   public void onSurfaceChanged(GL10 glUnused, int width, int height) 
-    { 
-    Distorted.onSurfaceChanged(width, height); 
+    {
+    mScreenQueue.abortAllEffects();
+    mGFFAQueue.abortAllEffects();
+    mLogoQueue.abortAllEffects();
+    mCrawlQueue.abortAllEffects();
+    mCrawlBackgroundQueue.abortAllEffects();
+
+    for(int i=0; i<NUM_STARS; i++) mStarQueue[i].abortAllEffects();
+
     setupScreen(width,height);
+
+    Distorted.onSurfaceChanged(width, height);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -156,7 +165,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
     GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
 
     setupBitmaps();
-         
+
     try
       {
       Distorted.onSurfaceCreated(mView.getContext());
@@ -347,7 +356,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
       if( objectID == gffaID )
         {
         mRoot.detach(mGFFAQueue);
-        mGFFAQueue.delete();
+        mGFFAQueue.abortAllEffects();
         mGFFATexture.markForDeletion();
 
         int screenW=mScreenTexture.getWidth();
@@ -373,7 +382,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
       else if( objectID==logoID )
         {
         mRoot.detach(mLogoQueue);
-        mLogoQueue.delete();
+        mLogoQueue.abortAllEffects();
         mLogoTexture.markForDeletion();
         
         int crawlW = mCrawlTexture.getWidth();
@@ -406,9 +415,9 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
         {
         mRoot.detach(mBackground);
         mBackground.detach(mCrawlQueue);
-        mCrawlQueue.delete();
+        mCrawlQueue.abortAllEffects();
         mCrawlTexture.markForDeletion();
-        mCrawlBackgroundQueue.delete();
+        mCrawlBackgroundQueue.abortAllEffects();
         mCrawlBackgroundTexture.markForDeletion();
         }
       }
