Home | History | Annotate | Download | only in activity
      1 /* //device/apps/AndroidTests/src/com.android.unit_tests/activity/TestedScreen.java
      2 **
      3 ** Copyright 2006, The Android Open Source Project
      4 **
      5 ** Licensed under the Apache License, Version 2.0 (the "License");
      6 ** you may not use this file except in compliance with the License.
      7 ** You may obtain a copy of the License at
      8 **
      9 **     http://www.apache.org/licenses/LICENSE-2.0
     10 **
     11 ** Unless required by applicable law or agreed to in writing, software
     12 ** distributed under the License is distributed on an "AS IS" BASIS,
     13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14 ** See the License for the specific language governing permissions and
     15 ** limitations under the License.
     16 */
     17 
     18 package android.app.activity;
     19 
     20 import android.content.Intent;
     21 import android.os.Bundle;
     22 import android.os.Handler;
     23 import android.os.Process;
     24 import android.util.Log;
     25 
     26 public class RemoteSubActivityScreen extends SubActivityScreen {
     27 	Handler mHandler = new Handler();
     28 	boolean mFirst = false;
     29 
     30     public RemoteSubActivityScreen() {
     31     }
     32 
     33     @Override
     34     public void onCreate(Bundle icicle) {
     35     	// We are running in a remote process, so want to have the sub-activity
     36     	// sending the result back in the original process.
     37         Intent intent = getIntent();
     38     	intent.setClass(this, SubActivityScreen.class);
     39 
     40         super.onCreate(icicle);
     41 
     42         boolean kill = intent.getBooleanExtra("kill", false);
     43         //Log.i("foo", "RemoteSubActivityScreen pid=" + Process.myPid()
     44         //        + " kill=" + kill);
     45 
     46         if (kill) {
     47 	        // After finishing initialization, kill the process!  But only if
     48 	        // this is the first time...
     49 	        if (icicle == null) {
     50 		        mHandler.post(new Runnable() {
     51 		        	public void run() {
     52 		        		handleBeforeStopping();
     53 		        		Process.killProcess(Process.myPid());
     54 		        	}
     55 		        });
     56 	        }
     57         }
     58     }
     59 }
     60