11027 Commits

Author SHA1 Message Date
Victoria Lease
8d803258ca am e6299d5a: Merge "Fires geofence if the device is already in the geofence area." into jb-mr1-dev
* commit 'e6299d5af702dd17eb3585dbe84d29c289bfa8da':
  Fires geofence if the device is already in the geofence area.
2012-11-06 15:09:38 -08:00
Victoria Lease
4cd0a50b26 Fires geofence if the device is already in the geofence area.
Process the location of the fence as soon as it is added.

Clarified how the distance to the fence was being used.

Added more debug logs (disabled by default).

Fixed a numerical overflow in the location request if the
distance to the border of the nearest fence was greater
than about 2000Km.

Removed a useless call to request location updates passively
when the geofence manager is initialized.  We have no need
of location updates unless there are active geofences.
The effect of this call was undone the next time the location
request was updated anyhow.

Changed the location request to always request a fastest update
interval of 0 which accomplishes the goal of passively
monitoring all updates.  This does not increase the power
consumption because we are conservative about choosing
a minimum location update interval.  We're simply stating
that the geofence manager is willing to handle a higher
report rate which is very important.

Subject location to a "freshness test" - only use relatively
recent locations for geofence testing.

Run all geofence updates on the handler and avoid making
multiple redundant calls into the location manager when
updating the provider requirements.

Ensure that we update geofences correctly even if we don't
know the initial location of the device at the time the
geofence is created.

Pin update interval value to the range [1m..2hr].

Distance to fence is now distance to fence's border, not
distance to fence's centre.

Bug: 7466334
Change-Id: I28e571ecfc508d5ceb9bb2afcabaaf05abb26369
2012-11-06 10:01:33 -08:00
Jim Miller
bfec0a8616 Add isSafeModeEnabled() API to WindowManagerService
This adds a means of determining when the device is in safe mode,
as required by keyguard to disabled some features.

Change-Id: I31d357e6738c92e1837f9e0263e5f3f4de66315a
2012-11-05 20:27:38 -08:00
Dianne Hackborn
47eb0c103a am 2ea9bae7: Fix issue #7457380: IME leaves a mark after user switching
* commit '2ea9bae7121f1df5461437d7d08fa550cdf6e0b0':
  Fix issue #7457380: IME leaves a mark after user switching
2012-11-03 23:37:36 -07:00
Dianne Hackborn
2ea9bae712 Fix issue #7457380: IME leaves a mark after user switching
The gnarly stuff where we keep track of the old input method
window as if it was still there was sitting around leaving things
in a stuck state.  Now we clear this out at key points in the
window manager (freezing screen, user change), and the input
method manager service is less aggressive about asking the window
manager to do it.

Also fixed a problem that was causing flickers during some
wallpaper transitions -- when we are animating two things on
top of the wallpaper and one of them disappears, we need to
make sure the wallpaper target points to whatever the current
target should be (if any), not left pointing to the old target
that has gone away.

Change-Id: I2fb9600f569a5bd5e3528aaf24cde9340af56cb0
2012-11-02 18:56:01 -07:00
Baligh Uddin
841ce670b2 Merge commit '81af21e67cd842d16d4b45e8a2d1ec56ff8d764f' into jb-mr1-dev 2012-11-02 16:46:18 -07:00
Svetoslav Ganov
f74d0c39b6 Merge "Polish user selector accessibility." into jb-mr1-lockscreen-dev 2012-11-02 15:55:11 -07:00
Svetoslav Ganov
fc9c4cd51b Polish user selector accessibility.
1. The current user was not announced as such.

2. The event for a user switch was not sent.

Change-Id: Ib3caf1f9e93ea1f0b5450246601bc37f416be6da
2012-11-02 15:32:25 -07:00
Laurent Tu
35e01866d8 am 685cc8c7: Merge "Decrement number of updates in LocationRequest" into jb-mr1-dev
* commit '685cc8c7cba0bef5257bf00e9821e82a2dbbfc91':
  Decrement number of updates in LocationRequest
2012-11-02 15:18:46 -07:00
Laurent Tu
685cc8c7cb Merge "Decrement number of updates in LocationRequest" into jb-mr1-dev 2012-11-02 15:15:28 -07:00
Dianne Hackborn
78bc99001f am 8ae0420e: Merge "Fix issue #7343200: Fails to show wallpaper in the background for..." into jb-mr1-dev
* commit '8ae0420e4b4169855608d404e389a66ce7253a36':
  Fix issue #7343200: Fails to show wallpaper in the background for...
2012-11-02 15:13:36 -07:00
Dianne Hackborn
8ae0420e4b Merge "Fix issue #7343200: Fails to show wallpaper in the background for..." into jb-mr1-dev 2012-11-02 15:10:16 -07:00
Dianne Hackborn
98129739af Fix issue #7343200: Fails to show wallpaper in the background for...
...lockscreen sometimes and remains black / blank

The problem was that we were using the animation-side wallpaper state
in cases where it was not updated yet.

The mWallpaperTarget variable is propagated over to the animation
side when the main window manager state updates.  On the animation
side, this is used by hideWallpapersLocked() to determine if the
current wallpaper should be hidden.

The problem is that various paths to hideWallpapersLocked() can
come from the layout side of the window manager instead of the
animation side.  This causes the problem here because in this case
the wallpaper state may not have yet been propagated to the
animation side, so it could incorrectly decide to hide the wallpaper
because it thinks there is not a target when in fact a target is
set in the layout side.  This won't get fixed until some time way
later that the layout side decides that a new window is being shown
that may need to have the wallpaper shown.

The fix here is pretty gross, but as safe as possible -- the
hideWallpapersLocked() function now uses either the animation or
layout wallpaper state depending on where the call to it is coming
from.

Change-Id: I9250bfeae6e11c1761760bcc696fdb33fb5c8a5f
2012-11-02 14:19:59 -07:00
Svetoslav Ganov
b8e58bb6ed am 28e8f76c: Merge "Cannot click on partially visible views in touch exploration." into jb-mr1-dev
* commit '28e8f76c50b26efd657bc0740fee25ac18520f9e':
  Cannot click on partially visible views in touch exploration.
2012-11-02 11:54:36 -07:00
Svetoslav Ganov
28e8f76c50 Merge "Cannot click on partially visible views in touch exploration." into jb-mr1-dev 2012-11-02 11:51:36 -07:00
Laurent Tu
75defb6f88 Decrement number of updates in LocationRequest
Decrement the number of updates after a location fix has been sent to a
a listener. This is necessary for respecting calls such as
requestSingleUpdate().

Bug: 7460868
Change-Id: Iea207ab494b93b936ca434d59652bb2cb6404cef
2012-11-02 09:22:48 -07:00
Michael Jurka
9de90c1c57 Merge "Use clock's widget as the default keyguard widget" into jb-mr1-lockscreen-dev 2012-11-01 18:59:54 -07:00
Michael Jurka
67a871d857 Use clock's widget as the default keyguard widget
Also, if we have no widgets in lockscreen,
reinflate the default widget. If that fails,
inflate the built-in clock (KeyguardStatusView)

Change-Id: I2e90ab0893c993a755700e075e4a8ac5a685e0f2
2012-11-01 18:50:21 -07:00
Ed Heyl
39912f7fcd Merge commit '87bb019e57eddcedd4aeca180ac36bdf1d42064a' into jb-mr1-dev 2012-11-01 18:06:35 -07:00
Svetoslav Ganov
a94c3194ff Cannot click on partially visible views in touch exploration.
1. In touch exploration mode the system clicks in the center of the
   accessibility focus rectangle. However, if this rectangle is only
   partially shown on the window or on the screen the system may not
   be able to perform the click, if the accessibility focus center
   is not on the screen, or click on the wrong window, if the access
   focus center is outside of the window.

   This change clips the rectangle to the window bounds which and the
   display bounds. This will ensure no clicks are sent to the wrong
   window and no clicks are sent outside of the screen.

bug:7453839

Change-Id: I79f98971e7ebcbb391c37284467dc76076172c5f
2012-11-01 16:27:05 -07:00
Jeff Brown
d2592635c1 am 62831a7b: Merge "Eliminate potential reentrance from unregisterInputChannel." into jb-mr1-dev
* commit '62831a7bd02868316ad1a16dcf13c98896fdbbdc':
  Eliminate potential reentrance from unregisterInputChannel.
2012-11-01 15:46:10 -07:00
Jeff Brown
62831a7bd0 Merge "Eliminate potential reentrance from unregisterInputChannel." into jb-mr1-dev 2012-11-01 15:42:33 -07:00
Dianne Hackborn
872e3d36ee am b9372de0: Merge "More debugging for issue #7343200 Fails to show wallpaper in the..." into jb-mr1-dev
* commit 'b9372de07d3329928f28104bb997aab57237504c':
  More debugging for issue #7343200 Fails to show wallpaper in the...
2012-11-01 15:16:27 -07:00
Adam Cohen
f19cce180f Merge "Revert "Pushing state persistence to a background thread"" into jb-mr1-lockscreen-dev 2012-11-01 15:12:54 -07:00
Dianne Hackborn
b9372de07d Merge "More debugging for issue #7343200 Fails to show wallpaper in the..." into jb-mr1-dev 2012-11-01 15:12:23 -07:00
Adam Cohen
b6f83374cc Revert "Pushing state persistence to a background thread"
This reverts commit 039206a9b40d2188eb735f56ee51f131555c9dd3

Change-Id: I30fa07bf55a489562831b6334768b28bed638ef8
2012-11-01 15:12:07 -07:00
Dianne Hackborn
529e744d31 More debugging for issue #7343200 Fails to show wallpaper in the...
...background for lockscreen sometimes and remains black / blank

There was a bunch of state not being put into the dumpsys output.
In particular, the current wallpaper target of the WindowAnimator
was not being included.  I think the problem is that these targets
are not being updated from the main window manager state at some
point where they need to be.

Change-Id: Ic795047f6aea9b6f72d5550bccc9f8d76c6ecb67
2012-11-01 15:09:10 -07:00
Adam Cohen
6917cec8de Merge "Pushing state persistence to a background thread" into jb-mr1-lockscreen-dev 2012-11-01 15:08:03 -07:00
Adam Cohen
039206a9b4 Pushing state persistence to a background thread
Change-Id: If776bc22c48525ba91dc7e4dd0e27de92612f2f5
2012-11-01 15:06:44 -07:00
Zhihai Xu
09452829e6 am 0de49148: Merge "Fix for BluetoothAdapter.getAddress() when BT is off on some devices" into jb-mr1-dev
* commit '0de49148f07c7f0b3b45cec0ef502db4b9163711':
  Fix for BluetoothAdapter.getAddress() when BT is off on some devices
2012-11-01 12:45:31 -07:00
Zhihai Xu
0de49148f0 Merge "Fix for BluetoothAdapter.getAddress() when BT is off on some devices" into jb-mr1-dev 2012-11-01 12:43:28 -07:00
Adam Cohen
9767597a74 Merge "Stripping dead API related to keyguard widgets" into jb-mr1-lockscreen-dev 2012-11-01 11:31:35 -07:00
Zhihai Xu
d31c32217c Fix for BluetoothAdapter.getAddress() when BT is off on some devices
There are two problem, 1.If we have wrong bluetooth address in
global settings db, we never will update it 2. We need enable bluetooth
to get the bluetooth address for some devices. For 1, we fix it by add
a valid flag in global setting db, this flag will be set when we stored
correct address and name to db. We only load the name and address from
global setting db when this valid flag is set during power up.
For2. we will read BT address after bluetooth is at ON state.
bug 7440409

Change-Id: Ic4740b3f0b2fcd214c7ca8393f7331c140eec66d
2012-11-01 02:19:08 -07:00
Jeff Brown
074b8b7cf1 Eliminate potential reentrance from unregisterInputChannel.
Ensure that all callbacks into the window manager policy occur
on the input dispatcher thread in the right place.  This fixes
a potential deadlock that may occur if the window manager
unregisters an input channel while holding its own lock.

The change is simply to defer running asynchronous commands
(usually callbacks into the policy) until the next iteration
of the dispatch looper thread.

Bug: 7382388
Change-Id: I90095580d717fcddb2209ef332df56400f837a34
2012-10-31 19:01:31 -07:00
Svetoslav Ganov
c4842c1193 Accessibility support for the lockscreen - phone.
Change-Id: Idc99f1322a1d635dd07e1f5efa1665a4676267c2
2012-10-31 17:49:10 -07:00
Adam Cohen
8f697d8580 Stripping dead API related to keyguard widgets
Change-Id: Ieb6c57ef736712b3266de08027f9626104cdf1bb
2012-10-31 17:42:26 -07:00
Chet Haase
fe28ff0d06 Merge "Fix for regression in WindowManager orientation changes" into jb-mr1-dev 2012-10-31 16:49:12 -07:00
Chet Haase
d5d11af3d3 Fix for regression in WindowManager orientation changes
A fix yesterday for #7428221 caused a regression where new orientations would
sometimes cause a flash through black on the way to seeing the real static wallpaper.
There is a fundamental problem in WindowManagerService where we show a window before
it has all of the layout/sizing information it needs, which is the cause of the black
flash. The regression yesterday was that we are now less aggressive about layout out
hidden windows, so we won't layout the window until after the window is shown with the
incorrect sizing info.

The fix/workaround is to back off the layout logic specifically for the wallpaper,
ensuring that we will lay it out on orientation changes, even when hidden. This means that
when we finally do show it, it will already have been drawn in the correct orientation/size.

Issue #7444971 Home jank regression

Change-Id: Ib20fdabc43ece9720b261bf04b272c5511e2d902
2012-10-31 15:40:54 -07:00
Amith Yamasani
03f7ebfeaa Merge "Relax permission requirements for posting notifications across users" into jb-mr1-dev 2012-10-31 13:06:56 -07:00
Chet Haase
27f752eb1d Merge "WindowManager shouldn't layout non-visible windows" into jb-mr1-dev 2012-10-30 17:42:43 -07:00
Amith Yamasani
a07d047f34 Merge "Don't clean up wallpaper map entry when stopping a user." into jb-mr1-dev 2012-10-30 17:40:13 -07:00
Chet Haase
9cceae9a5f WindowManager shouldn't layout non-visible windows
A recent change in WindowManager made background windows perform layout
(when they should really be left alone). This resulted in artifacts
where rotating the device and then going to a backgrojnd activity (launcher,
Recents) would briefly show that activity in the wrong size/orientation, then
flash to the correct one after a proper layout.

This fix is a simple workaround, leaving in the original fix that the code
change addressed (for keyguard orientation changes), while going back to the
previous (don't layout gone windows) for all other cases.

Issue #7428221 sometimes recents is drawn off-center and then fixes itself

Change-Id: I41b47933c2bd86f29133853d3387bb7294be8f48
2012-10-30 16:35:45 -07:00
Amith Yamasani
2c7ebeae9f Relax permission requirements for posting notifications across users
Bug: 7430689
Change-Id: I2430b20137705ed2d6dc0f870690acda0662392b
2012-10-30 16:12:54 -07:00
Amith Yamasani
0c29371712 Don't clean up wallpaper map entry when stopping a user.
Sometimes on quickly stopping and starting a user, a race condition
causes the user entry to disappear, causing crashes in Launcher and
SystemUI. Removing this step, since it doesn't really leave much
residue behind.

Bug: 7434849
Change-Id: Ia188602f1a79f75d307397459c2a03fadee4c722
2012-10-30 12:23:52 -07:00
Craig Mautner
ad09bccfe4 Bring up unlock screen for FLAG_DISMISS_KEYGUARD.
Widgets that did not launch Activitys would not display the unlock
screens when they were tapped. Now any window that is shown with
FLAG_DISMISS_KEYGUARD set while the keyguard is locked will
cause the unlock screen to be displayed.

Bug: 7301530 fixed.
Change-Id: I90d11b52d2b63260bdb5f2b6eb7e98eb7a4d9331
2012-10-30 12:08:22 -07:00
Dianne Hackborn
44251a70ed Merge "Work on issue #7343200: Fails to show wallpaper in the background..." into jb-mr1-dev 2012-10-30 10:45:49 -07:00
Dianne Hackborn
ef03a7f441 Work on issue #7343200: Fails to show wallpaper in the background...
...for lockscreen sometimes and remains black / blank

Add some debug output to try to track down what is going on.

Change-Id: I98a96c5da9c04b988e948f6fc2766d927db49ebf
2012-10-29 18:46:52 -07:00
Kenny Root
ca60ba1874 Merge "Move app-lib definition up for system app scanning" into jb-mr1-dev 2012-10-29 17:14:51 -07:00
Amith Yamasani
7c258505ec Merge "Fix for some downloaded apps showing up on all users" into jb-mr1-dev 2012-10-29 14:57:53 -07:00
Kenny Root
584c4cdbf3 Move app-lib definition up for system app scanning
System apps were getting the wrong path because app-lib directory was
defined after the scanning of packages.

Bug: 7425516
Change-Id: I7a7a6b2a74f846c84516440ee950099bdc564d0b
2012-10-29 10:46:42 -07:00