diff options
author | Craig Mautner <cmautner@google.com> | 2014-04-16 20:13:09 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-04-16 20:13:09 +0000 |
commit | 934ef05799532b75d349338c4300671cec1ab162 (patch) | |
tree | 6422642f31cd4fa03e324b312c0fde24b47e379f /core/java/android | |
parent | 2f894fec5b22948558b22753cc472d4559bea942 (diff) | |
parent | 4b81e89d9b7a2cf3ed5aacd9c647aed47f4c4675 (diff) | |
download | frameworks_base-934ef05799532b75d349338c4300671cec1ab162.zip frameworks_base-934ef05799532b75d349338c4300671cec1ab162.tar.gz frameworks_base-934ef05799532b75d349338c4300671cec1ab162.tar.bz2 |
am 4b81e89d: am 2fd3cb95: Merge "Fix ActivityContainer callback parcelling." into klp-modular-dev
* commit '4b81e89d9b7a2cf3ed5aacd9c647aed47f4c4675':
Fix ActivityContainer callback parcelling.
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 9f1b56e..44c74d8 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -2029,7 +2029,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(); @@ -4744,7 +4744,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 113f123..51cb12a 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 55c2001..7f6d2c3 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); } |