1e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams/* 2e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * Copyright (C) 2008 The Android Open Source Project 3e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * 4e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * you may not use this file except in compliance with the License. 6e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * You may obtain a copy of the License at 7e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * 8e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * http://www.apache.org/licenses/LICENSE-2.0 9e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * 10e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * Unless required by applicable law or agreed to in writing, software 11e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * See the License for the specific language governing permissions and 14e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * limitations under the License. 15e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams */ 16e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 17e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samspackage com.example.android.rs.fountain; 18e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 19e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.renderscript.RSSurfaceView; 20e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.renderscript.RenderScript; 21e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 22e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.app.Activity; 23e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.content.res.Configuration; 24e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.os.Bundle; 25e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.os.Handler; 26e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.os.Looper; 27e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.os.Message; 28e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.provider.Settings.System; 29e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.util.Log; 30e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.view.Menu; 31e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.view.MenuItem; 32e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.view.View; 33e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.view.Window; 34e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.widget.Button; 35e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.widget.ListView; 36e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 37e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport java.lang.Runtime; 38e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 39e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samspublic class Fountain extends Activity { 40e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams //EventListener mListener = new EventListener(); 41e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 42e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams private static final String LOG_TAG = "libRS_jni"; 43e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams private static final boolean DEBUG = false; 44e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams private static final boolean LOG_ENABLED = false; 45e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 46e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams private FountainView mView; 47e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 48e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams // get the current looper (from your Activity UI thread for instance 49e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 50e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 51e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 52e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams @Override 53e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams public void onCreate(Bundle icicle) { 54e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams super.onCreate(icicle); 55e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 56e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams // Create our Preview view and set it as the content of our 57e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams // Activity 58e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams mView = new FountainView(this); 59e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams setContentView(mView); 60e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams } 61e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 62e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams @Override 63e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams protected void onResume() { 64e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams Log.e("rs", "onResume"); 65e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 66e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams // Ideally a game should implement onResume() and onPause() 67e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams // to take appropriate action when the activity looses focus 68e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams super.onResume(); 69e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams mView.resume(); 70e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams } 71e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 72e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams @Override 73e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams protected void onPause() { 74e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams Log.e("rs", "onPause"); 75e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 76e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams // Ideally a game should implement onResume() and onPause() 77e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams // to take appropriate action when the activity looses focus 78e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams super.onPause(); 79e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams mView.pause(); 80e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 81e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 82e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 83e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams //Runtime.getRuntime().exit(0); 84e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams } 85e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 86e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 87e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams static void log(String message) { 88e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams if (LOG_ENABLED) { 89e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams Log.v(LOG_TAG, message); 90e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams } 91e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams } 92e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 93e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 94e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams} 95e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams 96