From 71fb7c1271cc1dbbcacdaf6da093055ec61835d3 Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Fri, 30 Sep 2011 17:07:33 +0200
Subject: Android: Use standard launch mode; Add default actions to
 NewtBaseActivity; Add RedSquare ES1 + ES2

---
 .../newt/driver/android/NewtBaseActivity.java      | 28 +++++++++++--
 .../newt/driver/android/NewtVersionActivity.java   | 49 +---------------------
 2 files changed, 26 insertions(+), 51 deletions(-)

(limited to 'src/newt/classes/jogamp')

diff --git a/src/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java b/src/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java
index 358fcc994..9a2a0ea2c 100644
--- a/src/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java
+++ b/src/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java
@@ -31,15 +31,18 @@ import javax.media.opengl.GLProfile;
 
 import com.jogamp.newt.Window;
 import com.jogamp.newt.opengl.GLWindow;
+import com.jogamp.opengl.util.Animator;
 
 import jogamp.newt.driver.android.AndroidWindow;
 
 import android.app.Activity;
-import android.content.Context;
 import android.os.Bundle;
 import android.util.Log;
 
 public class NewtBaseActivity extends Activity {
+   AndroidWindow window = null;
+   Animator animator = null;
+    
    boolean isInvokedByExternalActivity = false;
    Activity extActivity = this;
    
@@ -56,16 +59,21 @@ public class NewtBaseActivity extends Activity {
            window = ((GLWindow)window).getWindow();
        }
        if(window instanceof AndroidWindow) {
+           this.window = (AndroidWindow)window;
            if(isInvokedByExternalActivity) {
-               extActivity.setContentView(((AndroidWindow)window).getView());
+               extActivity.setContentView(this.window.getView());
            } else {
-               super.setContentView(((AndroidWindow)window).getView());               
+               super.setContentView(this.window.getView());               
            }
        } else {
            throw new IllegalArgumentException("Given NEWT Window is not an Android Window: "+window.getClass()); 
        }
    }
    
+   public void setAnimator(Animator animator) {
+       this.animator = animator;
+   }
+   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.d(MD.TAG, "onCreate");
@@ -103,11 +111,17 @@ public class NewtBaseActivity extends Activity {
      if(!isInvokedByExternalActivity) {
          super.onResume();
      }
+     if(null != animator) {
+         animator.start();
+     }
    }
 
    @Override
    public void onPause() {
      Log.d(MD.TAG, "onPause");
+     if(null != animator) {
+         animator.pause();
+     }
      if(!isInvokedByExternalActivity) {
          super.onPause();
      }
@@ -124,6 +138,14 @@ public class NewtBaseActivity extends Activity {
    @Override
    public void onDestroy() {
      Log.d(MD.TAG, "onDestroy");
+     if(null != animator) {
+         animator.stop();
+         animator = null;
+     }
+     if(null != window) {
+         window.destroy();
+         window = null;
+     }
      if(!isInvokedByExternalActivity) {
          super.onDestroy(); 
      }
diff --git a/src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java b/src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java
index 5842a285d..d37901793 100644
--- a/src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java
+++ b/src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java
@@ -30,17 +30,13 @@ package jogamp.newt.driver.android;
 import com.jogamp.common.GlueGenVersion;
 import com.jogamp.common.os.Platform;
 import com.jogamp.common.util.VersionUtil;
-import com.jogamp.newt.opengl.GLWindow;
 import com.jogamp.opengl.JoglVersion;
-import com.jogamp.opengl.util.Animator;
 
 import android.os.Bundle;
 import android.util.Log;
 import android.widget.TextView;
 
 public class NewtVersionActivity extends NewtBaseActivity {
-   GLWindow glWindow = null;
-   Animator animator = null;
    TextView tv = null;
    
    @Override
@@ -57,50 +53,7 @@ public class NewtVersionActivity extends NewtBaseActivity {
        tv = new TextView(this);
        tv.setText(VersionUtil.getPlatformInfo()+Platform.NEWLINE+GlueGenVersion.getInstance()+Platform.NEWLINE+JoglVersion.getInstance()+Platform.NEWLINE);               
        setContentView(tv);
-       /**
-       // create GLWindow (-> incl. underlying NEWT Display, Screen & Window)
-       GLCapabilities caps = new GLCapabilities(GLProfile.get(GLProfile.GLES1));
-       glWindow = GLWindow.create(caps);
-       setContentView(glWindow);
-       
-       glWindow.addGLEventListener(new GearsES1(1));
-       glWindow.getWindow().getScreen().addScreenModeListener(new ScreenModeListener() {
-        public void screenModeChangeNotify(ScreenMode sm) { }
-        public void screenModeChanged(ScreenMode sm, boolean success) {
-            System.err.println("ScreenMode Changed: "+sm);
-        }
-       });
-       glWindow.setVisible(true);
-       animator = new Animator(glWindow);
-       animator.setUpdateFPSFrames(60, System.err); */
-       
-       Log.d(MD.TAG, "onCreate - X");
-   }
-   
-   @Override
-   public void onResume() {
-     super.onResume();
-     if(null != animator) {
-         animator.start();
-     }
-   }
 
-   @Override
-   public void onPause() {
-     super.onPause();
-     if(null != animator) {
-         animator.pause();
-     }
-   }
-
-   @Override
-   public void onDestroy() {
-     super.onDestroy(); 
-     if(null != animator) {
-         animator.stop();
-     }
-     if(null != glWindow) {
-         glWindow.destroy();
-     }
+       Log.d(MD.TAG, "onCreate - X");
    }   
 }
-- 
cgit v1.2.3