diff options
| author | Winson Chung <winsonc@google.com> | 2014-03-07 15:06:19 -0800 |
|---|---|---|
| committer | Winson Chung <winsonc@google.com> | 2014-03-11 12:03:08 -0700 |
| commit | 303e1ff1fec8b240b587bb18b981247a99833aa8 (patch) | |
| tree | 277b80ed79659b89d26ce701af9d60593f3b2d9d /core/java | |
| parent | 4cfde32ff0105d7c8a4743e084f1c9775f4c6b5c (diff) | |
| download | frameworks_base-303e1ff1fec8b240b587bb18b981247a99833aa8.zip frameworks_base-303e1ff1fec8b240b587bb18b981247a99833aa8.tar.gz frameworks_base-303e1ff1fec8b240b587bb18b981247a99833aa8.tar.bz2 | |
Initial changes for recents.
Change-Id: Ide2c202b4a5b25410f0f32bd0a81ccf817ede38f
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/ActivityManager.java | 10 | ||||
| -rw-r--r-- | core/java/android/app/ActivityManagerNative.java | 22 | ||||
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 16 | ||||
| -rw-r--r-- | core/java/android/app/IActivityManager.java | 2 |
4 files changed, 45 insertions, 5 deletions
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index c877cd3..7f7616f 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -933,6 +933,16 @@ public class ActivityManager { } } + /** @hide */ + public boolean isInHomeStack(int taskId) { + try { + return ActivityManagerNative.getDefault().isInHomeStack(taskId); + } catch (RemoteException e) { + // System dead, we will be dead too soon! + return false; + } + } + /** * Flag for {@link #moveTaskToFront(int, int)}: also move the "home" * activity along with the task, so it is positioned immediately behind diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index f4358e9..c7c81dd 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -654,6 +654,15 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM return true; } + case IS_IN_HOME_STACK_TRANSACTION: { + data.enforceInterface(IActivityManager.descriptor); + int taskId = data.readInt(); + boolean isInHomeStack = isInHomeStack(taskId); + reply.writeNoException(); + reply.writeInt(isInHomeStack ? 1 : 0); + return true; + } + case SET_FOCUSED_STACK_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); int stackId = data.readInt(); @@ -2833,6 +2842,19 @@ class ActivityManagerProxy implements IActivityManager return info; } @Override + public boolean isInHomeStack(int taskId) throws RemoteException { + Parcel data = Parcel.obtain(); + Parcel reply = Parcel.obtain(); + data.writeInterfaceToken(IActivityManager.descriptor); + data.writeInt(taskId); + mRemote.transact(IS_IN_HOME_STACK_TRANSACTION, data, reply, 0); + reply.readException(); + boolean isInHomeStack = reply.readInt() > 0; + data.recycle(); + reply.recycle(); + return isInHomeStack; + } + @Override public void setFocusedStack(int stackId) throws RemoteException { Parcel data = Parcel.obtain(); diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 138eea2..9cfd85a 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -3017,11 +3017,17 @@ public final class ActivityThread { int h; if (w < 0) { Resources res = r.activity.getResources(); - mThumbnailHeight = h = - res.getDimensionPixelSize(com.android.internal.R.dimen.thumbnail_height); - - mThumbnailWidth = w = - res.getDimensionPixelSize(com.android.internal.R.dimen.thumbnail_width); + if (SystemProperties.getBoolean("persist.recents.use_alternate", false)) { + int wId = com.android.internal.R.dimen.recents_thumbnail_width; + int hId = com.android.internal.R.dimen.recents_thumbnail_height; + mThumbnailWidth = w = res.getDimensionPixelSize(wId); + mThumbnailHeight = h = res.getDimensionPixelSize(hId); + } else { + mThumbnailHeight = h = + res.getDimensionPixelSize(com.android.internal.R.dimen.thumbnail_height); + mThumbnailWidth = w = + res.getDimensionPixelSize(com.android.internal.R.dimen.thumbnail_width); + } } else { h = mThumbnailHeight; } diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java index 1943bba..f2cabf4 100644 --- a/core/java/android/app/IActivityManager.java +++ b/core/java/android/app/IActivityManager.java @@ -122,6 +122,7 @@ public interface IActivityManager extends IInterface { public void resizeStack(int stackId, Rect bounds) throws RemoteException; public List<StackInfo> getAllStackInfos() throws RemoteException; public StackInfo getStackInfo(int stackId) throws RemoteException; + public boolean isInHomeStack(int taskId) throws RemoteException; public void setFocusedStack(int stackId) throws RemoteException; public int getTaskForActivity(IBinder token, boolean onlyRoot) throws RemoteException; /* oneway */ @@ -717,4 +718,5 @@ public interface IActivityManager extends IInterface { // Start of L transactions int GET_TAG_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+210; int START_USER_IN_BACKGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+211; + int IS_IN_HOME_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+212; } |
