12a114bdc64a33df509abb84de1a730ed3be49119Jason Sams/* 22a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * Copyright (C) 2008 The Android Open Source Project 32a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * 42a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 52a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * you may not use this file except in compliance with the License. 62a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * You may obtain a copy of the License at 72a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * 82a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * http://www.apache.org/licenses/LICENSE-2.0 92a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * 102a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * Unless required by applicable law or agreed to in writing, software 112a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * distributed under the License is distributed on an "AS IS" BASIS, 122a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * See the License for the specific language governing permissions and 142a114bdc64a33df509abb84de1a730ed3be49119Jason Sams * limitations under the License. 152a114bdc64a33df509abb84de1a730ed3be49119Jason Sams */ 162a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 172a114bdc64a33df509abb84de1a730ed3be49119Jason Samspackage com.android.rs.test; 182a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 192a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.renderscript.RSSurfaceView; 202a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.renderscript.RenderScript; 212a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 222a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.app.Activity; 232a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.content.res.Configuration; 242a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.os.Bundle; 252a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.os.Handler; 262a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.os.Looper; 272a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.os.Message; 282a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.provider.Settings.System; 292a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.util.Log; 302a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.view.Menu; 312a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.view.MenuItem; 322a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.view.View; 332a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.view.Window; 342a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.widget.Button; 352a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport android.widget.ListView; 362a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 372a114bdc64a33df509abb84de1a730ed3be49119Jason Samsimport java.lang.Runtime; 382a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 392a114bdc64a33df509abb84de1a730ed3be49119Jason Samspublic class RSTest extends Activity { 402a114bdc64a33df509abb84de1a730ed3be49119Jason Sams //EventListener mListener = new EventListener(); 412a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 423d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines private static final String LOG_TAG = "RSTest"; 432a114bdc64a33df509abb84de1a730ed3be49119Jason Sams private static final boolean DEBUG = false; 4443a17654cf4bfe7f1ec22bd8b7b32daccdf27c09Joe Onorato private static final boolean LOG_ENABLED = false; 452a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 462a114bdc64a33df509abb84de1a730ed3be49119Jason Sams private RSTestView mView; 472a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 482a114bdc64a33df509abb84de1a730ed3be49119Jason Sams // get the current looper (from your Activity UI thread for instance 492a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 502a114bdc64a33df509abb84de1a730ed3be49119Jason Sams @Override 512a114bdc64a33df509abb84de1a730ed3be49119Jason Sams public void onCreate(Bundle icicle) { 522a114bdc64a33df509abb84de1a730ed3be49119Jason Sams super.onCreate(icicle); 532a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 542a114bdc64a33df509abb84de1a730ed3be49119Jason Sams // Create our Preview view and set it as the content of our 552a114bdc64a33df509abb84de1a730ed3be49119Jason Sams // Activity 562a114bdc64a33df509abb84de1a730ed3be49119Jason Sams mView = new RSTestView(this); 572a114bdc64a33df509abb84de1a730ed3be49119Jason Sams setContentView(mView); 582a114bdc64a33df509abb84de1a730ed3be49119Jason Sams } 592a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 602a114bdc64a33df509abb84de1a730ed3be49119Jason Sams @Override 612a114bdc64a33df509abb84de1a730ed3be49119Jason Sams protected void onResume() { 622a114bdc64a33df509abb84de1a730ed3be49119Jason Sams // Ideally a game should implement onResume() and onPause() 63a8c6ceedbaf73c052795c44ad00de90254486fe0Stephen Hines // to take appropriate action when the activity loses focus 642a114bdc64a33df509abb84de1a730ed3be49119Jason Sams super.onResume(); 65bf6ef8d78fffbce6c1849a4a28fb3f4401ad039eJason Sams mView.resume(); 662a114bdc64a33df509abb84de1a730ed3be49119Jason Sams } 672a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 682a114bdc64a33df509abb84de1a730ed3be49119Jason Sams @Override 692a114bdc64a33df509abb84de1a730ed3be49119Jason Sams protected void onPause() { 702a114bdc64a33df509abb84de1a730ed3be49119Jason Sams // Ideally a game should implement onResume() and onPause() 71a8c6ceedbaf73c052795c44ad00de90254486fe0Stephen Hines // to take appropriate action when the activity loses focus 722a114bdc64a33df509abb84de1a730ed3be49119Jason Sams super.onPause(); 73bf6ef8d78fffbce6c1849a4a28fb3f4401ad039eJason Sams mView.pause(); 742a114bdc64a33df509abb84de1a730ed3be49119Jason Sams } 752a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 763d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines @Override 773d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines protected void onStop() { 783d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines // Actually kill the app if we are stopping. We don't want to 793d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines // continue/resume this test ever. It should always start fresh. 803d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines finish(); 813d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines super.onStop(); 823d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines } 833d782666d73c3ce0ffb77e71db7309bc3297ecb8Stephen Hines 842a114bdc64a33df509abb84de1a730ed3be49119Jason Sams static void log(String message) { 852a114bdc64a33df509abb84de1a730ed3be49119Jason Sams if (LOG_ENABLED) { 862a114bdc64a33df509abb84de1a730ed3be49119Jason Sams Log.v(LOG_TAG, message); 872a114bdc64a33df509abb84de1a730ed3be49119Jason Sams } 882a114bdc64a33df509abb84de1a730ed3be49119Jason Sams } 892a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 902a114bdc64a33df509abb84de1a730ed3be49119Jason Sams 912a114bdc64a33df509abb84de1a730ed3be49119Jason Sams} 92