141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines/* 241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * Copyright (C) 2008 The Android Open Source Project 341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * 441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * Licensed under the Apache License, Version 2.0 (the "License"); 541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * you may not use this file except in compliance with the License. 641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * You may obtain a copy of the License at 741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * 841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * http://www.apache.org/licenses/LICENSE-2.0 941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * 1041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * Unless required by applicable law or agreed to in writing, software 1141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * distributed under the License is distributed on an "AS IS" BASIS, 1241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * See the License for the specific language governing permissions and 1441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines * limitations under the License. 1541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines */ 1641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 1741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinespackage com.android.fountain_v11; 1841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 1941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.renderscript.RSSurfaceView; 2041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.renderscript.RenderScript; 2141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 2241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.app.Activity; 2341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.content.res.Configuration; 2441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.os.Bundle; 2541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.os.Handler; 2641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.os.Looper; 2741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.os.Message; 2841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.provider.Settings.System; 2941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.util.Config; 3041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.util.Log; 3141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.view.Menu; 3241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.view.MenuItem; 3341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.view.View; 3441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.view.Window; 3541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.widget.Button; 3641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport android.widget.ListView; 3741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 3841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinesimport java.lang.Runtime; 3941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 4041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hinespublic class Fountain_v11 extends Activity { 4141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines //EventListener mListener = new EventListener(); 4241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 4341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines private static final String LOG_TAG = "libRS_jni"; 4441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines private static final boolean DEBUG = false; 4541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV; 4641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 4741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines private FountainView mView; 4841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 4941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines // get the current looper (from your Activity UI thread for instance 5041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 5141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 5241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 5341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines @Override 5441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines public void onCreate(Bundle icicle) { 5541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines super.onCreate(icicle); 5641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 5741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines // Create our Preview view and set it as the content of our 5841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines // Activity 5941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines mView = new FountainView(this); 6041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines setContentView(mView); 6141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines } 6241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 6341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines @Override 6441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines protected void onResume() { 6541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines Log.e("rs", "onResume"); 6641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 6741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines // Ideally a game should implement onResume() and onPause() 6841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines // to take appropriate action when the activity looses focus 6941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines super.onResume(); 7041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines mView.resume(); 7141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines } 7241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 7341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines @Override 7441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines protected void onPause() { 7541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines Log.e("rs", "onPause"); 7641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 7741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines // Ideally a game should implement onResume() and onPause() 7841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines // to take appropriate action when the activity looses focus 7941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines super.onPause(); 8041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines mView.pause(); 8141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 8241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 8341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 8441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines //Runtime.getRuntime().exit(0); 8541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines } 8641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 8741f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 8841f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines static void log(String message) { 8941f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines if (LOG_ENABLED) { 9041f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines Log.v(LOG_TAG, message); 9141f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines } 9241f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines } 9341f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 9441f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 9541f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines} 9641f1e5edee2d2663ae46b64528894896ff96fa3dStephen Hines 97