/*
 * Copyright (C) 2007 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.app;

import android.content.Intent;
import android.os.Bundle;

import java.util.HashMap;

A screen that contains and runs multiple embedded activities.
Deprecated:Use the new Fragment and FragmentManager APIs instead; these are also available on older platforms through the Android compatibility package.
/** * A screen that contains and runs multiple embedded activities. * * @deprecated Use the new {@link Fragment} and {@link FragmentManager} APIs * instead; these are also * available on older platforms through the Android compatibility package. */
@Deprecated public class ActivityGroup extends Activity { private static final String STATES_KEY = "android:states"; static final String PARENT_NON_CONFIG_INSTANCE_KEY = "android:parent_non_config_instance";
This field should be made private, so it is hidden from the SDK. {@hide}
/** * This field should be made private, so it is hidden from the SDK. * {@hide} */
protected LocalActivityManager mLocalActivityManager; public ActivityGroup() { this(true); } public ActivityGroup(boolean singleActivityMode) { mLocalActivityManager = new LocalActivityManager(this, singleActivityMode); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle states = savedInstanceState != null ? (Bundle) savedInstanceState.getBundle(STATES_KEY) : null; mLocalActivityManager.dispatchCreate(states); } @Override protected void onResume() { super.onResume(); mLocalActivityManager.dispatchResume(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Bundle state = mLocalActivityManager.saveInstanceState(); if (state != null) { outState.putBundle(STATES_KEY, state); } } @Override protected void onPause() { super.onPause(); mLocalActivityManager.dispatchPause(isFinishing()); } @Override protected void onStop() { super.onStop(); mLocalActivityManager.dispatchStop(); } @Override protected void onDestroy() { super.onDestroy(); mLocalActivityManager.dispatchDestroy(isFinishing()); }
Returns a HashMap mapping from child activity ids to the return values from calls to their onRetainNonConfigurationInstance methods. {@hide}
/** * Returns a HashMap mapping from child activity ids to the return values * from calls to their onRetainNonConfigurationInstance methods. * * {@hide} */
@Override public HashMap<String,Object> onRetainNonConfigurationChildInstances() { return mLocalActivityManager.dispatchRetainNonConfigurationInstance(); } public Activity getCurrentActivity() { return mLocalActivityManager.getCurrentActivity(); } public final LocalActivityManager getLocalActivityManager() { return mLocalActivityManager; } @Override void dispatchActivityResult(String who, int requestCode, int resultCode, Intent data, String reason) { if (who != null) { Activity act = mLocalActivityManager.getActivity(who); /* if (false) Log.v( TAG, "Dispatching result: who=" + who + ", reqCode=" + requestCode + ", resCode=" + resultCode + ", data=" + data + ", rec=" + rec); */ if (act != null) { act.onActivityResult(requestCode, resultCode, data); return; } } super.dispatchActivityResult(who, requestCode, resultCode, data, reason); } }