Commit Graph

2287 Commits

Author SHA1 Message Date
Jean-Baptiste Queru
e28ccbab9a am 7a082985: Merge "Fixes an issue that occured unexpected exception "pointerIndex out of range"."
* commit '7a0829850ee8d1ee2f436c40c8a5af2ff7d96533':
  Fixes an issue that occured unexpected exception "pointerIndex out of range".
2012-05-01 08:50:18 -07:00
Jean-Baptiste Queru
7a0829850e Merge "Fixes an issue that occured unexpected exception "pointerIndex out of range"." 2012-05-01 06:42:12 -07:00
Dianne Hackborn
ec96305ea0 am 559167f3: Merge "Volume Overlay Bug When swapping streams"
* commit '559167f31de1a1a7138dbc2d5a7797e5b7cd59b0':
  Volume Overlay Bug When swapping streams
2012-04-18 20:39:34 -07:00
Steven Harper
fffaf85e22 Volume Overlay Bug When swapping streams
Merged in http://review.cyanogenmod.com/#change,14109

Fixing a bug that when an app is dismissed or loaded that changes
the current active audio stream, if the volume overlay is visible during the swap,
if you adjust the volume (with hard keys) after the stream has changed while
the panel is still visible, the wrong panel (view) is still visible on-top of the
one that is being adjusted.

A good way to replicate this is to
   Open the Phone APP
   Go to the Keypad Screen
   Adjust the volume (not the icon on the overlay)
   While the volume is visible Hit the HOME hard key
   Before the volume dissapears, adjust the volume with hard keys

You will hear and feel the volume adjusting, but the overlay will not update.

Change-Id: Ied50ed83b153234cff82c282e3fd76ed671b420b
2012-04-18 10:15:34 +01:00
Joe Fernandez
b459b619b3 am 945b7cb3: Merge "docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)" into ics-mr1
* commit '945b7cb324f3bdfcf13efbe7bdf6a60f7163ed9a':
  docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)
2012-04-03 10:04:54 -07:00
Joe Fernandez
e1302edd40 docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)
Change-Id: Id7e3f647042d2afd390abe851be1c3b561af33ca
2012-03-28 00:57:06 -07:00
Keiji Ariyama
d8a3663afc Fixes an issue that occured unexpected exception "pointerIndex out of range".
The findNewActiveIndex method may return -1.
So, the code should check case of -1 before event.getPointerId
and if index0 is -1, gesture should be ended immediately.

Change-Id: I4aae5c84e3db61d10b0bfcfa7bfa6b9115231a52
2012-03-16 21:56:35 +09:00
Scott Main
08e9135216 am 93dc642e: docs: fix misc bugs from external tracker
* commit '93dc642eaf48e3db58c4929df26283fbc5fd663f':
  docs: fix misc bugs from external tracker
2012-03-05 10:06:00 -08:00
Scott Main
93dc642eaf docs: fix misc bugs from external tracker
Change-Id: I2be617be23d0ac50baabac561d510633fa9f162a
2012-03-02 16:55:41 -08:00
Robert Ly
40226da7ae am f4994b3e: Merge "fix bug 5911175" into ics-mr1
* commit 'f4994b3eb03e1e772d7d46e8b6dcfc88593db792':
  fix bug 5911175
2012-02-28 15:39:39 -08:00
Robert Ly
f4994b3eb0 Merge "fix bug 5911175" into ics-mr1 2012-02-28 15:37:21 -08:00
Dianne Hackborn
dc5fa1859d am 133dc2d7: Merge "Fix issue #6048808: sometimes auto-correct is inactive" into ics-mr1
* commit '133dc2d7aecc68990c363c861716b134910a4ced':
  Fix issue #6048808: sometimes auto-correct is inactive
2012-02-24 15:38:07 -08:00
Dianne Hackborn
7663d80f6b Fix issue #6048808: sometimes auto-correct is inactive
My previous change to speed up the time the IME is dismissed was
fundamentally flawed.  That change basically switched the order
the application called the input method manager service from doing
startInput() and then windowGainedFocus(), to first windowGainedFocus()
and then startInput().

The problem is that the service relies on startInput() being done
first, since this is the mechanism to set up the new input focus,
and windowGainedFocus() is just updating the IME visibility state
after that is done.  However, by doing the startInput() first, that
means in the case where we are going to hide the IME we must first
wait for the IME to re-initialize editing on whatever input has
focus in the new window.

To address this, the change here tries to find a half-way point
between the two.  We now do startInput() after windowGainedFocus()
only when this will result in the window being hidden.

It is not as easy as that, though, because these are calls on to
the system service from the application.  So being able to do that
meant a fair amount of re-arranging of this part of the protocol
with the service.  Now windowGainedFocus() is called with all of
the information also needed for startInput(), and takes care of
performing both operations.  The client-side code is correspondingly
rearranged so that the guts of it where startInput() is called can
instead call the windowGainedFocus() entry if appropriate.

So...  in theory this is safer than the previous change, since it
should not be impacting the behavior as much.  In practice, however,
we are touching and re-arranging a lot more code, and "should" is
not a promise.

Change-Id: Icb58bef75ef4bf9979f3e2ba88cea20db2e2c3fb
2012-02-24 13:18:23 -08:00
Michael Jurka
0a23267337 am bf378fd7: Don\'t allow screen invalidations to go outside bounds of screen
* commit 'bf378fd7d7a91085685fe9e5528b84c485041c77':
  Don't allow screen invalidations to go outside bounds of screen
2012-02-23 08:07:22 -08:00
Michael Jurka
bf378fd7d7 Don't allow screen invalidations to go outside bounds of screen
Fixes invalidation issue in Launcher

Change-Id: Iab32149489aed6884e917f0ac5a548d4ae26896e
2012-02-23 00:19:58 -08:00
Scott Main
ce980d8ea0 am 68d97aa2: Merge "docs: fix broken link" into ics-mr1
* commit '68d97aa2c1ff16f327491fed5afb8b318f034a01':
  docs: fix broken link
2012-02-22 16:23:04 -08:00
Scott Main
68d97aa2c1 Merge "docs: fix broken link" into ics-mr1 2012-02-22 16:20:49 -08:00
Robert Ly
5c4d41ecb3 fix bug 5911175
Change-Id: I528e7c30e81c85ec31a5abbd74e85cc364a8362f
2012-02-22 11:05:55 -08:00
Jean-Baptiste Queru
aff90790df am 4280891d: Merge "The bigger touch slop still has a problem"
* commit '4280891dbc2cf60bdf51726e0aa9265ccb64ec88':
  The bigger touch slop still has a problem
2012-02-22 09:56:27 -08:00
Masanori Ogino
dac640f403 The bigger touch slop still has a problem
I had submitted the patch about this issue at
https://android-review.googlesource.com/#/c/20438/ before. But it
has never been included in any version.

In the latest implementation, touchSlop is a configurable value
which is declared in config.xml for each device. First of all,
the problem is that BiggerTouchSlop is not scalable and variable
value according to a configured touchSlop.

I don't think that there should be a new api in ViewConfiguration
for this. Because the bigger touch slop is a local threshold value
in GestureDetector. The only thing to be satisfied is that the
value should be bigger than configured touch slop and should not
be over double touch slop.

Change-Id: I2c6662400fcffb4a7192ede4ac8da08559aa7948
2012-02-20 15:51:17 +09:00
Scott Main
ef0314b2c6 docs: fix broken link
Change-Id: I13e29ec18bb503ea33ee59d187f588c5be8fd109
2012-02-17 14:37:58 -08:00
Dianne Hackborn
06a591cdd6 Fix last change -- don't call startInputInner() with lock held.
Change-Id: Ie7a145c5a07f08ae8a3f5954a1c389bfbd946b69
2012-02-16 10:37:06 -08:00
Dianne Hackborn
a82ba54b0b Part of fixing issue #6006757: Keyboard dismissal lags
This adjust various paths through InputMethodManager so that the flow
in switching focus from one application to another is cleaner, resulting
in less work being done, resulting in it being able to happen quicker.

Some of the changes here avoid doing stuff when not needed, such as when
we are told to unbind but are not currently the active input.  A big part
is also a change to the flow when a window receives input.  Previously
this would first do a checkFocus() which would tell the input method to
switch focus to whatever view has focus in the window, followed by the
windowGainedFocus() call telling it the window had gained focus.  This
would result in extra work because the input method service would first
handle the focus switch, seeing the IME is currently displayed, so the IME
would remain up and reset its focus to the new view.  The app would
immediately then tell it about the window, causing the service to find out
the IME should be hidden and telling the IME, but the IME couldn't hide
itself until it had first take care of switching its input.

There is the definite potential of this breaking IME showing/hiding in
cases depending on the order things may be relying on them to happen.  I
haven't seen any problems with a brief trip through the UI.

Change-Id: I8494cbd6e19e2ab6db03f2463d9906680dda058b
2012-02-15 18:19:55 -08:00
Scott Main
5e09593934 docs: update menu guide with CAB and popup menu, plus many other revisions
Change-Id: I5faedd5f5b812ca58eb2085b0c036570de861f15
2012-02-01 11:40:49 -08:00
Dianne Hackborn
1bae80668c Merge "Fix issue #5823276 again: home repaints after full-screen app is exited" into ics-mr1 2012-01-20 12:01:51 -08:00
Jeff Brown
ad1f4a2ca8 Merge "Implement a max time bound for rotation. (DO NOT MERGE)" into ics-mr1 2012-01-20 11:24:13 -08:00
Dianne Hackborn
cfbf7dedad Fix issue #5823276 again: home repaints after full-screen app is exited
Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.

This fix does not include the change to ignore app tokens that are
hidden.  This causes problems in some dialogs that stay hidden until
their app is ready to display, but need to perform a series of relayouts
during that time to get to the right size.  Dropping this part of
the change still (mostly?) seems to allow us to avoid the bad states.

Change-Id: Ic052cb1499d3287f47e9ffeac5cd2470ee5a308c
2012-01-20 11:01:01 -08:00
Justin Ho
170997a519 DO NOT MERGE Revert "Fix issue #5823276: home repaints after full-screen app is exited"
This reverts commit 01b02a734d.

Change-Id: I848c01fc44eb9a51ead1116b2647ed838ec1825f
2012-01-19 15:41:33 -08:00
Jim Miller
230a709285 Merge "Fix 5863053: Add method to lock screen immediately." into ics-mr1 2012-01-18 16:44:52 -08:00
Jeff Brown
8fd86f38d2 Implement a max time bound for rotation. (DO NOT MERGE)
Also relaxed the settle time constraints a little bit.
With this change, a rotation proposal will always be
advertised within 500ms even if the device is still shaking
around.

Bug: 5496491
Change-Id: I0bf562f4c19c0be45c016254f2f881d265f8e266
2012-01-18 16:10:13 -08:00
Jim Miller
93c518e4f8 Fix 5863053: Add method to lock screen immediately.
This fixes a bug where the device fails to lock when DevicePolicyManagerService
requests the device to be locked and the screen was off because the user hit
the power button.

The change allows DPMS to directly invoke screen lock, bypasssing the screen state.

Change-Id: Iecdda6fc61e9c519119de495be23c69c3b983921
2012-01-17 18:11:05 -08:00
Dianne Hackborn
01b02a734d Fix issue #5823276: home repaints after full-screen app is exited
Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.

Also don't consider windows a candidate for layout if their app token
is hidden.  This fixes a transient state where we are preparing to
unhide the window but have not done so yet.

Change-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16
2012-01-12 14:05:03 -08:00
Dianne Hackborn
33b8ee509f Fix issue #5756204: Crespo IME briefly appears shortened when...
...rotating to landscape

When doing spell checking in the same process as the spell checker, we
need to make sure it is still done asynchronously.

Putting this in I noticed quite a few threading issues in this code, so
I also addressed those (which became very obviously a problem with the
async stuff here now).

Also tweaked the service side to run spell checking at background priority.

Change-Id: I01bafe3bec6bceeca911d6bf2f61a486a2fd4c48
2011-12-13 15:15:33 -08:00
Dianne Hackborn
73ab6a49db Fix issue #5755172: Soft menu key disappears when menu is open
We need to work more like before in determining whether the menu
key is needed -- in some cases look back in the window list to
determine this if we don't know the value from the current window.

This requires adding a new private flag indicating whether the
compat menu state is known for a window, which is set by
PhoneWindow as part of its existing process of computing the flag
for its own windows.

Now we can have a new API on WindowState to determine the value
of this flag for a window, which if needed walks back in the window list
to find a window the value is known for (or stops at what the policy
has determined is the top full-screen window, so we stop like we used
to at things like the lock screen or the bottom of an application).

Change-Id: I829de6d629b5af8bcb422cb85249ee4041c7205e
2011-12-13 11:32:11 -08:00
Adam Powell
f93bb6d8fd Bug 5727679 - CTS test ViewGroupTest#testGetChildVisibleRect
Preserve the ability to call getChildVisibleRect without the view
being attached to a window.

Change-Id: I702b19fa1625c346eb22fda4a4ffb6e8f790b689
2011-12-12 15:23:12 -08:00
Jeff Brown
8e0ecbfc97 Merge "Shortcut keys should be handled on down, not up." into ics-mr1 2011-12-07 23:29:52 -08:00
Jeff Brown
7bedf24490 Shortcut keys should be handled on down, not up.
Bug: 5720360
Change-Id: I3afc278e576ea992c76f024c8b6bad14b214239c
2011-12-07 21:37:19 -08:00
Dave Burke
ef8913c035 Merge "Remove dangerous and useless optimization Bug #5525888" into ics-mr1 2011-12-07 20:40:10 -08:00
Romain Guy
c7ee3cab56 Remove dangerous and useless optimization
Bug #5525888

Change-Id: I553828c0da09b15d0dce3727e4c26a9d0bcf72ea
2011-12-07 19:10:04 -08:00
Adam Powell
6720a87ad1 Raise touch slop value from previous experiment
Change-Id: I7681c401803643f309fd988824602169a830de29
2011-12-07 17:53:46 -08:00
Adam Powell
7d39f85acf Lower touch slop in ViewConfiguration.
Our typical touchscreens are now good enough that we don't need the
touch slop to be as large as it once was. Lower it to increase
responsiveness while scrolling.

Move the touch slop constant to the config resource
config_viewConfigurationTouchSlop so that it may be more easily
tweaked in device-specific overlays.

Change-Id: I7c11d8affcb98e91654203beb13a26cfeec18f7c
2011-12-06 12:08:47 -08:00
Dianne Hackborn
61566cc193 Fix issue #5614559: Registering surface error in...
...Background Replacement on Stingray

This is how I should have done it in the first place.  We get the
new surface from the window manager, and then just copy it in to
the constant Surface object we have for the holder.

Change-Id: I537a9e413829a18f689dfb46687014676b27156e
2011-12-03 11:16:49 -08:00
Gilles Debunne
2f1e1e4ab9 Merge "Handle animations in Views' rectangle clipping methods." into ics-mr1 2011-12-02 15:28:56 -08:00
Gilles Debunne
cea45132e3 Handle animations in Views' rectangle clipping methods.
getChildVisibleRect and getLocationInWindow do not take the new
mTransformationInfo View attribute.

As a result, these methods return invalid value during an animation
Bug 5638710

Changes in Patch Set 2:
- temporary allocations removed using static thread local variables (method
calls are NOT reentrant).

- scroll should be handled *before* applying the transformation matrix.
Fixed the call order in View#getLocationInWindow()

Patch set 4: fix from comments.
Patch set 5: <p>s

Change-Id: I15dc44c0659305d9029c59a47aba3a738bb35ae1
2011-12-01 14:55:50 -08:00
Svetoslav Ganov
e9f24a4302 Merge "Fix memory leaks in the accessibility layer." into ics-mr1 2011-12-01 12:57:12 -08:00
Svetoslav Ganov
36bcdb535e Fix memory leaks in the accessibility layer.
The AccessibilityServiceConnection chache should be shared
between all interrogating threads.

bug:5664337

Change-Id: I151041d0b358e87ac47ea5c1c258f90a8b252420
2011-12-01 11:50:42 -08:00
Amith Yamasani
e9b0608c76 Merge "No clicking on volume icon in volume dialog." into ics-mr1 2011-12-01 11:35:30 -08:00
Svetoslav Ganov
d8ec8db5e0 Merge "Fixing memory leaks in the accessiiblity layer." into ics-mr1 2011-11-30 16:56:41 -08:00
Amith Yamasani
2b0acc90ae No clicking on volume icon in volume dialog.
Don't disable volume slider when it hits zero.
Show correct icon for Silent mode in Power menu.

Bug: 5586083
Change-Id: Iaa957fc08e314e0de1c007dfc967a1d960080aab
2011-11-30 15:28:43 -08:00
Svetoslav Ganov
d116d7c78a Fixing memory leaks in the accessiiblity layer.
1. AccessibilityInteractionConnections were removed from the
   AccessiiblityManagerService but their DeathRecipents were
   not unregistered, thus every removed interaction connection
   was essentially leaking. Such connection is registered in
   the system for every ViewRootImpl when accessiiblity is
   enabled and inregistered when disabled.

2. Every AccessibilityEvent and AccessiilbityEventInfo obtained
   from a widnow content querying accessibility service had a
   handle to a binder proxy over which to make queries. Hoewever,
   holding a proxy to a remote binder prevents the latter from
   being garbage collected. Therefore, now the events and infos
   have a connection id insteand and the hindden singleton
   AccessiiblityInteaction client via which queries are made
   has a registry with the connections. This class looks up
   the connection given its id before making an IPC. Now the
   connection is stored in one place and when an accessibility
   service is disconnected the system sets the connection to
   null so the binder object in the system process can be GCed.
   Note that before this change a bad implemented accessibility
   service could cache events or infos causing a leak in the
   system process. This should never happen.

3. SparseArray was not clearing the reference to the last moved
   element while garbage collecting thus causing a leak.

bug:5664337

Change-Id: Id397f614b026d43bd7b57bb7f8186bca5cdfcff9
2011-11-29 18:51:30 -08:00