diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/ActivityManagerNative.java | 4 | ||||
| -rw-r--r-- | core/java/android/app/ActivityView.java | 14 | ||||
| -rw-r--r-- | core/java/android/app/IActivityContainerCallback.aidl | 2 |
3 files changed, 15 insertions, 5 deletions
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index 0b8568626465..14c495f5a17a 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -1998,7 +1998,7 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM data.enforceInterface(IActivityManager.descriptor); IBinder parentActivityToken = data.readStrongBinder(); IActivityContainerCallback callback = - (IActivityContainerCallback) data.readStrongBinder(); + IActivityContainerCallback.Stub.asInterface(data.readStrongBinder()); IActivityContainer activityContainer = createActivityContainer(parentActivityToken, callback); reply.writeNoException(); @@ -4627,7 +4627,7 @@ class ActivityManagerProxy implements IActivityManager Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeStrongBinder(parentActivityToken); - data.writeStrongBinder((IBinder)callback); + data.writeStrongBinder(callback == null ? null : callback.asBinder()); mRemote.transact(CREATE_ACTIVITY_CONTAINER_TRANSACTION, data, reply, 0); reply.readException(); final int result = reply.readInt(); diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java index 113f1230386e..51cb12aa8bdf 100644 --- a/core/java/android/app/ActivityView.java +++ b/core/java/android/app/ActivityView.java @@ -92,8 +92,8 @@ public class ActivityView extends ViewGroup { super.onAttachedToWindow(); try { final IBinder token = mActivity.getActivityToken(); - mActivityContainer = - ActivityManagerNative.getDefault().createActivityContainer(token, null); + mActivityContainer = ActivityManagerNative.getDefault().createActivityContainer(token, + new ActivityContainerCallback()); } catch (RemoteException e) { throw new IllegalStateException("ActivityView: Unable to create ActivityContainer. " + e); @@ -282,4 +282,14 @@ public class ActivityView extends ViewGroup { } } + + private class ActivityContainerCallback extends IActivityContainerCallback.Stub { + @Override + public void setVisible(IBinder container, boolean visible) { + if (DEBUG) Log.v(TAG, "setVisible(): container=" + container + " visible=" + visible); + if (visible) { + } else { + } + } + } } diff --git a/core/java/android/app/IActivityContainerCallback.aidl b/core/java/android/app/IActivityContainerCallback.aidl index 55c2001e90ef..7f6d2c3570ae 100644 --- a/core/java/android/app/IActivityContainerCallback.aidl +++ b/core/java/android/app/IActivityContainerCallback.aidl @@ -20,5 +20,5 @@ import android.os.IBinder; /** @hide */ interface IActivityContainerCallback { - oneway void onLastActivityRemoved(IBinder container); + oneway void setVisible(IBinder container, boolean visible); } |
