diff options
author | Craig Mautner <cmautner@google.com> | 2013-04-13 21:10:58 -0700 |
---|---|---|
committer | Craig Mautner <cmautner@google.com> | 2013-04-15 13:46:47 -0700 |
commit | 967212cb542e6eeb308678367b53381bff984c31 (patch) | |
tree | 3c9be07cad60efb54a09864703058d24dc420187 /policy | |
parent | edf10b18c5b86bc7e68b79d1bf47ae58e5d3aed3 (diff) | |
download | frameworks_base-967212cb542e6eeb308678367b53381bff984c31.zip frameworks_base-967212cb542e6eeb308678367b53381bff984c31.tar.gz frameworks_base-967212cb542e6eeb308678367b53381bff984c31.tar.bz2 |
Implement stack splitting and task movement.
Split stacks and move tasks between them. Layout the windows
according to the new stack split.
After layout content rectangles are known split the available area
between all stack boxes. Then use those values for future layout.
Provide stack contents to ActivityManager.
Change-Id: I9746e6185445633810d506be514d0b7b540a7f99
Diffstat (limited to 'policy')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 249ec4c..c089815 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -87,7 +87,6 @@ import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.view.WindowManagerPolicy; import android.view.accessibility.AccessibilityEvent; -import android.view.accessibility.AccessibilityManager; import android.view.animation.Animation; import android.view.animation.AnimationUtils; @@ -202,13 +201,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { // Vibrator pattern for haptic feedback of virtual key press. long[] mVirtualKeyVibePattern; - + // Vibrator pattern for a short vibration. long[] mKeyboardTapVibePattern; // Vibrator pattern for haptic feedback during boot when safe mode is disabled. long[] mSafeModeDisabledVibePattern; - + // Vibrator pattern for haptic feedback during boot when safe mode is enabled. long[] mSafeModeEnabledVibePattern; @@ -275,7 +274,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { boolean mOrientationSensorEnabled = false; int mCurrentAppOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; boolean mHasSoftInput = false; - + int mPointerLocationMode = 0; // guarded by mLock // The last window we were told about in focusChanged. @@ -372,7 +371,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { static final Rect mTmpContentFrame = new Rect(); static final Rect mTmpVisibleFrame = new Rect(); static final Rect mTmpNavigationFrame = new Rect(); - + WindowState mTopFullscreenOpaqueWindowState; boolean mTopIsFullscreen; boolean mForceStatusBar; @@ -530,12 +529,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { updateRotation(false); } } - + class MyOrientationListener extends WindowOrientationListener { MyOrientationListener(Context context, Handler handler) { super(context, handler); } - + @Override public void onProposedRotationChanged(int rotation) { if (localLOGV) Log.v(TAG, "onProposedRotationChanged, rotation=" + rotation); @@ -1264,6 +1263,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { != PackageManager.PERMISSION_GRANTED; } + @Override public void adjustWindowParamsLw(WindowManager.LayoutParams attrs) { switch (attrs.type) { case TYPE_SYSTEM_OVERLAY: @@ -1292,11 +1292,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } - private boolean isBuiltInKeyboardVisible() { - return mHaveBuiltInKeyboard && !isHidden(mLidKeyboardAccessibility); - } - /** {@inheritDoc} */ + @Override public void adjustConfigurationLw(Configuration config, int keyboardPresence, int navigationPresence) { mHaveBuiltInKeyboard = (keyboardPresence & PRESENCE_INTERNAL) != 0; @@ -1321,6 +1318,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } /** {@inheritDoc} */ + @Override public int windowTypeToLayerLw(int type) { if (type >= FIRST_APPLICATION_WINDOW && type <= LAST_APPLICATION_WINDOW) { return 2; @@ -2746,6 +2744,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } /** {@inheritDoc} */ + @Override public int getSystemDecorRectLw(Rect systemRect) { systemRect.left = mSystemLeft; systemRect.top = mSystemTop; @@ -2756,6 +2755,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { return 0; } + @Override + public void getContentRectLw(Rect r) { + r.set(mContentLeft, mContentTop, mContentRight, mContentBottom); + } + void setAttachedWindowFrames(WindowState win, int fl, int adjust, WindowState attached, boolean insetDecors, Rect pf, Rect df, Rect of, Rect cf, Rect vf) { if (win.getSurfaceLayer() > mDockLayer && attached.getSurfaceLayer() < mDockLayer) { |