Commit Graph

636 Commits

Author SHA1 Message Date
Craig Mautner
fb7044598b Merge "Extend stacks up under status bar" 2013-06-06 00:28:20 +00:00
Craig Mautner
c5a6e44f59 Extend stacks up under status bar
Retain compatibility with earlier behavior. Fixes bug 8685941.

Change-Id: Ida800a2476ba3a18cd97deccbc65c8a02739d118
2013-06-05 17:22:35 -07:00
Adam Powell
04fe6ebb9f Fix a bug resolving the correct icon/logo in action bars
Remove some abstraction-breaking magic in ActionBarView and replace it
with proper resolution of the icon/logo when creating a window. The
old implementation relied on the ActionBarView's context being an
Activity.

Bug 9171554

Change-Id: Idbbb1942622195dcb55e8119f2d64287b07bb509
2013-05-31 15:00:24 -07:00
Dianne Hackborn
2e39f5c5cb Merge "New ArrayMap class." 2013-05-24 23:37:16 +00:00
Dianne Hackborn
f4bf0ae2a7 New ArrayMap class.
This is a new kind of key/value mapping that stores its data
as an array, so it doesn't need to create an extra Entry object
for every mapping placed in to it.  It is also optimized to reduce
memory overhead in other ways, by keeping the base object small,
being fairly aggressive about keeping the array data structures
small, etc.

There are some unit and performance tests dropped in to some
random places; they will need to be put somewhere else once I
decided what we are going to do with this for the next release
(for example if we make it public the unit tests should go in
to CTS).

Switch IntentResolver to using ArrayMap instead of HashMap.

Also get rid of a bunch of duplicate implementations of binarySearch,
and add an optimization to the various sparse arrays where you can
supply an explicit 0 capacity to prevent it from doing an initial
array allocation; use this new optimization in a few places where it
makes sense.

Change-Id: I01ef2764680f8ae49938e2a2ed40dc01606a056b
2013-05-24 16:36:14 -07:00
Craig Mautner
5a449154d1 Convert API refs to StackBox from ActivityStack.
- Removed IActivityManager.getStacks() since getStackBoxes() is better.
- Made createStacks operate relative to StackBox instead of TaskStack.
- Made resizeStack into resizeStackBox.

Change-Id: I7a0e1f4e34f399b4fd1180c60cc3989f9c2433f3
2013-05-24 16:12:57 -07:00
Craig Mautner
5ff1210172 Add retrieval of StackBox info for more flexibility
First step in permitting StackBoxes to be manipulated by user.
Necessary for Configuration changes coming down.

Change-Id: I4029926a35e4fdc59a5759fd9e4bae10bb308413
2013-05-24 12:50:15 -07:00
Satoshi Kataoka
c6f7a7ff88 Merge "A tiny cleanup as the supplement of I9b5ef954479150bc4735 Bug: 3483284 Bug: 8851603" 2013-05-20 21:32:03 +00:00
Satoshi Kataoka
12afe1450e A tiny cleanup as the supplement of I9b5ef954479150bc4735
Bug: 3483284
Bug: 8851603

Change-Id: Ia6dd894dced9cc68c04aafdcae754a404cf52e83
2013-05-21 06:19:27 +09:00
Satoshi Kataoka
f1a6d646a4 Merge "Fix a bug on the focus of the input method switching dialog" 2013-05-20 21:11:47 +00:00
Satoshi Kataoka
02679f647b Fix a bug on the focus of the input method switching dialog
Bug: 8851603
Change-Id: I9b5ef954479150bc47351197c792fb96aba70d01
2013-05-21 05:59:56 +09:00
Craig Mautner
b3b36ba138 Resize all changed windows and fix moveTaskToStack
- Add all changing windows to mResizingWindows when an ActivityStack
is resized.

- Stop calling TaskStack.setBounds if the bounds haven't changed.

- Make moving a task from one stack to another work properly.

- Eliminate unused methods and redundant variables in WindowState and
WindowStateAnimator.

Change-Id: I3a950c777bcc50cdeced150d44423d4d0b38af4a
2013-05-20 13:25:14 -07:00
Craig Mautner
76ea224678 Limit screenshots to specified activity and stack.
The screenshots were capturing the entire screen. Now they are limited
to the stack containing the activity.

Add debug for stack states.

Change-Id: I6d47cd37091bfdfd94e7abe89826b7ba8cb69b51
2013-05-15 12:40:10 -07:00
Craig Mautner
4058828d81 Merge "Fix rotation animations not working." 2013-05-13 22:58:09 +00:00
Craig Mautner
11462cc0b0 Fix rotation animations not working.
Restore over aggressive deletions from ag/305620.

Also remove over specification of debug member variables.

Change-Id: Id637d0dbece169d27271aabd714d34d449bfb050
2013-05-13 15:56:18 -07:00
John Spurlock
04db1762fb Window manager cleanup.
Specifically:
 - Fix policy vs wm lock management issues.
 - Share runnable to avoid allocation.
 - Remove unused noop runnable.
 - Make sure to handle status bar = null case.
 - Fix javadoc typo.

Bug: 8890313
Change-Id: I242eaef8e946025f6885d6dba3225722fb0ca7ce
2013-05-13 17:24:24 -04:00
Craig Mautner
5457e61f64 Fix window and wallpaper position problems
- Put wallpaper behind all other windows.

- When moving a task to the top or bottom of a stack, move all of the
other tasks' windows on the stack to the top or bottom with the task.

Change-Id: I0821341dfd602c9240c685e954dac42678132d4a
2013-05-12 10:27:37 -07:00
Craig Mautner
c87a732e75 Merge "Call ensureActivitiesVisibleLocked from supervisor." 2013-05-06 23:13:12 +00:00
Craig Mautner
b59dcfd5e1 Call ensureActivitiesVisibleLocked from supervisor.
- Don't call ActivityStack.ensureActivitiesVisibleLocked directly.
Instead call ActivityStackSupervisor.ensureActivitiesVisibleLocked.

- Add detecting monochrome screenshots to black screenshots.

- minor refactors.

Change-Id: I050b1cd40cacaab451f1460a77a82125a8077ff2
2013-05-06 13:12:58 -07:00
Craig Mautner
dfe570527c Merge "Fix layering and launching issues." 2013-05-03 20:41:36 +00:00
Craig Mautner
05d290365f Fix layering and launching issues.
- Replace calls to ActivityStack.resumeTopActivity() with calls to
ActivityStackSupervisor.resumeTopActivities().

- Move dim layers from display scope to stack scope. This applies to
both the animation background dim layer and the FLAG_DIM_BEHIND dim
layer.

- Move windows on stacks that are not targeting wallpaper above the
wallpaper. Otherwise wallpaper placement hides the non-focused stacks.

Change-Id: Ic6b97ac6b094672bb1ddac17ce46ea58c738f073
2013-05-03 13:40:13 -07:00
Dianne Hackborn
8d044e8bc2 Start combining threads in system process.
This introduces four generic thread that services can
use in the system process:

- Background: part of the framework for all processes, for
work that is purely background (no timing constraint).
- UI: for time-critical display of UI.
- Foreground: normal foreground work.
- IO: performing IO operations.

I went through and moved services into these threads in the
places I felt relatively comfortable about understanding what
they are doing.  There are still a bunch more we need to look
at -- lots of networking stuff left, 3 or so different native
daemon connectors which I didn't know how much would block,
audio stuff, etc.

Also updated Watchdog to be aware of and check these new
threads, with a new API for other threads to also participate
in this checking.

Change-Id: Ie2f11061cebde5f018d7383b3a910fbbd11d5e11
2013-05-02 17:42:40 -07:00
Craig Mautner
6601b7bdeb Exclude regions from the tap detector.
Fix typing on the keyboard causing focus to shift stacks.

Change-Id: I4ec9ccdbe35e27f4860a5bdf0e2818f58e53b873
2013-04-29 10:29:11 -07:00
Craig Mautner
ccb825dde6 Merge "Clean up FocusedStackFrame layer setting." 2013-04-28 16:02:47 +00:00
Craig Mautner
f76664673e Clean up FocusedStackFrame layer setting.
- Putting the stack frame above the highest app window layer ends up
putting it over the IME when the caret popup is showing. This puts
the stack frame layer above the highest non-child window layer.

- Also change the timing so the layer isn't applied until all other
layers are also being applied.

Change-Id: Ic5f142998822ac1e3890a2943cda7fc86a7e7974
2013-04-28 08:58:21 -07:00
Andreas Huber
b551c6d959 Fix wfd crash after disconnect due to null pointer exception in
WindowManagerService.java

Change-Id: I661f9c73d481da88661793ad529c0807cf74a5e7
2013-04-26 11:54:53 -07:00
Craig Mautner
eb95786fd3 Pause activities when leaving.
Missed a spot where an activity that is launching another was not
being paused. Fixes bug 8640130. At least in one case.

Release mWindowMap as soon as it is no longer needed.

Change-Id: Id2c63d3d715b98741e2ebe3c9985cb1e9ca5ffbc
2013-04-24 15:34:32 -07:00
Craig Mautner
d3c933875c Fix deadlock.
Grabbing StackTapDetector before grabbing mWindowMap doesn't play well
with grabbing mWindowMap and then StackTapDetector.

Change-Id: I40daa4c940930b1ebbb587edc1958e84321d6d7f
2013-04-24 14:31:51 -07:00
Craig Mautner
858d8a6583 Fix user switching.
- Save and restore WindowManager stack states.
- Maintain ActivityManager activity states based on the stack
the activity is in.

Fixes bug 8646641.

Change-Id: I16c76c7708ab49121c3884a7e5bf219898b92d3f
2013-04-23 19:33:42 -07:00
Craig Mautner
cf910b0c71 Add tap detector for switching stack focus.
- New InputEventReceiver for detecting taps outside of focused stack
boundaries.
- Fixed bug that wasn't pausing the non-focused window when returning
home.

Change-Id: Ia51d312a7c029abc01eb5df1102814cc29d33b47
2013-04-23 19:33:27 -07:00
Craig Mautner
7bb0ae0d45 Merge "Add null test and remove redundant call." 2013-04-18 21:31:27 +00:00
Craig Mautner
f06b8c1788 Add null test and remove redundant call.
- Did not handle the case where mTaskIdToTask returned null.
Fixes bug 8646178.
- updateInputWindowsLw() was being called in removeWindows
immediately after it was called in performLayoutAndUpdateSurfaces.

Change-Id: I1b8bcfadcc93f8c6638fd4247b426af77feeee23
2013-04-18 14:27:28 -07:00
Craig Mautner
ab0a890412 Merge "Add transparent frame around focused stack." 2013-04-18 19:57:43 +00:00
Craig Mautner
a9a3fb1da3 Add transparent frame around focused stack.
- Also fix bugs when removing stack.

Change-Id: I3e0e3029f512f086601add00ccf34b2fea84296d
2013-04-18 10:02:38 -07:00
Dianne Hackborn
a6e8ebb12f am fb4e1c21: am 25b49734: Merge "Fix issue #8540550: Screenshots should never have transparency" into jb-mr2-dev
* commit 'fb4e1c21eddf07fad7b36ac5e19dd2d479e71c5c':
  Fix issue #8540550: Screenshots should never have transparency
2013-04-17 19:07:03 -07:00
Dianne Hackborn
fb4e1c21ed am 25b49734: Merge "Fix issue #8540550: Screenshots should never have transparency" into jb-mr2-dev
* commit '25b49734cac1ecd17dba2af2a1af8328490236d4':
  Fix issue #8540550: Screenshots should never have transparency
2013-04-17 19:03:09 -07:00
Dianne Hackborn
ca46b87118 Fix issue #8540550: Screenshots should never have transparency
Make sure the thumbnail bitmap is initialized with a black
background.

Change-Id: I87c00d309b7d30b6085a751aa4ae22cf146c74f5
2013-04-17 18:06:22 -07:00
Craig Mautner
29219d963d Steady improvement to multi stack.
- Fix back button behavior with two stacks. Stopping activities were
held in that state indefinitely. This change causes IDLE_NOW_MSG to
be sent immediately for the last activity in a stack.

- Touch in non-focused stack was being ignored because of focus tests
in AbsListView.

- Change the focused stack when the activity focus changes. Renamed
mMainStack to mFocusedStack to reflect this.

- Resume all top stack activities when resuming.

- Assign intent task to ActivityRecord if it doesn't have a task.
Fixes bug 8433463.

Change-Id: I8d3c806234511697bc209ab99890730ffa514d20
2013-04-17 13:54:48 -07:00
Craig Mautner
4cd0c13f8f Incremental repairs to side by side stacks.
- Add taskId parameter to createStack() so stacks are pre-populated
with a task.
- Keep track of stack access order in DisplayContent so getTasks
returns in MRU order.
- Set touchableRegion in InputMonitor so modal touching does not
extend beyond stack boundary.
- Fix stack merging so that deleting a stack results in a new
stack the size of the two children.

Change-Id: I62a6ba0a34f34dd7ec866b440bf04595379e19e8
2013-04-16 18:55:07 -07:00
Craig Mautner
967212cb54 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
2013-04-15 13:46:47 -07:00
Craig Mautner
de4ef020ec Implement separate stacks.
One for home activity(s), one for other activities. Coordination
between the stacks is handled by the ActivityStackSupervisor.

Change-Id: I11395edea501d2f84a18a6a8bced1ce3d0797dad
2013-04-12 15:45:47 -07:00
Craig Mautner
c1dedb6fc4 Merge "Prepare WindowManager for multiple stacks." 2013-04-12 22:41:36 +00:00
Craig Mautner
9903d8bf78 Merge "Separate stacks into Home and others." 2013-04-12 22:40:35 +00:00
Dianne Hackborn
229f1aadf9 am abe0aa78: am 8f980e1a: Merge "Reduce duration of rotation xfade animation." into jb-mr2-dev
* commit 'abe0aa78caf81b24af0b45700801fc1f867cfa0e':
  Reduce duration of rotation xfade animation.
2013-04-10 11:01:28 -07:00
Dianne Hackborn
abe0aa78ca am 8f980e1a: Merge "Reduce duration of rotation xfade animation." into jb-mr2-dev
* commit '8f980e1a5ae99d5e34aaef6aac7f38a7d0038631':
  Reduce duration of rotation xfade animation.
2013-04-10 10:51:50 -07:00
Dianne Hackborn
8f980e1a5a Merge "Reduce duration of rotation xfade animation." into jb-mr2-dev 2013-04-10 17:48:21 +00:00
Craig Mautner
d5d5d0f4b8 Prepare WindowManager for multiple stacks.
Create concept of home stack. When moving a new task to the top
move the home stack back.

Change-Id: I2e352722da0c4785b19227713bc30c0850d187b1
2013-04-06 19:01:32 -07:00
Craig Mautner
9e4f28cfa1 Separate stacks into Home and others.
Change-Id: I9434ee6cd9e8a8baf24d4e4ee5a15e99cf11f227
2013-04-06 19:01:32 -07:00
Craig Mautner
e1197547a0 am d339818d: am bab9687e: Merge "Make the min layer go down through all windows" into jb-mr2-dev
* commit 'd339818d9a261974e535cd25797d7a614a17657d':
  Make the min layer go down through all windows
2013-04-05 10:33:53 -07:00
Craig Mautner
d339818d9a am bab9687e: Merge "Make the min layer go down through all windows" into jb-mr2-dev
* commit 'bab9687e6473072d6ff4f7ea5a7b21bcfbf95744':
  Make the min layer go down through all windows
2013-04-05 10:31:35 -07:00