diff options
| author | Craig Mautner <cmautner@google.com> | 2014-04-16 20:05:31 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-04-16 20:05:31 +0000 |
| commit | 2fd3cb9544df1e09caa725a8d542cf2fe1df0c75 (patch) | |
| tree | 53dbed58a1cee58adf484289d6003242fbf6203f /core/java/android | |
| parent | 2760778d7020c31f6b7c28383b0db6e0bef99754 (diff) | |
| parent | e3a00d745fad479f560e96cec23e957f37d1c043 (diff) | |
Merge "Fix ActivityContainer callback parcelling." into klp-modular-dev
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); } |
