19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* //device/apps/AndroidTests/src/com.android.unit_tests/activity/TestedScreen.java
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Copyright 2006, The Android Open Source Project
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License");
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** you may not use this file except in compliance with the License.
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** You may obtain a copy of the License at
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**     http://www.apache.org/licenses/LICENSE-2.0
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Unless required by applicable law or agreed to in writing, software
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** distributed under the License is distributed on an "AS IS" BASIS,
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** See the License for the specific language governing permissions and
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** limitations under the License.
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project*/
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
181a44d5dcabc18cd5ef111f732ccff91683a1a093Neal Nguyenpackage android.app.activity;
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Intent;
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle;
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Handler;
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Process;
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Log;
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class RemoteSubActivityScreen extends SubActivityScreen {
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	Handler mHandler = new Handler();
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	boolean mFirst = false;
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public RemoteSubActivityScreen() {
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    @Override
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public void onCreate(Bundle icicle) {
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    	// We are running in a remote process, so want to have the sub-activity
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    	// sending the result back in the original process.
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Intent intent = getIntent();
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    	intent.setClass(this, SubActivityScreen.class);
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        super.onCreate(icicle);
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        boolean kill = intent.getBooleanExtra("kill", false);
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        //Log.i("foo", "RemoteSubActivityScreen pid=" + Process.myPid()
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        //        + " kill=" + kill);
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        if (kill) {
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	        // After finishing initialization, kill the process!  But only if
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	        // this is the first time...
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	        if (icicle == null) {
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project		        mHandler.post(new Runnable() {
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project		        	public void run() {
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project		        		handleBeforeStopping();
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project		        		Process.killProcess(Process.myPid());
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project		        	}
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project		        });
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	        }
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        }
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60