11162 Commits

Author SHA1 Message Date
Robert Greenwalt
74acf23a1e am 3c417fbf: Merge "DO NOT MERGE Sanitize WifiConfigs" into jb-mr1-dev
* commit '3c417fbf21133340cbbe3539d87c453f81ae3a9d':
  DO NOT MERGE Sanitize WifiConfigs
2014-04-07 19:36:44 +00:00
Robert Greenwalt
e1549ae364 DO NOT MERGE Sanitize WifiConfigs
Do this both on input from apps (giving error) and between wifi and
ConnectivityService (ignoring bad data).  This means removing all
addresses beyond the first and all routes but the first default and
the implied direct-connect routes.

We do this because the user can't monitor the others (no UI), their
support wasn't intended, they allow redirection of all traffic
without user knowledge and they allow circumvention of legacy VPNs.

This should not move forward from JB as it breaks IPv6 and K has
a more resilient VPN.

Bug:12663469
Change-Id: I80912cc08ffa1e4b63008c94630006cf316e7a64
2014-03-28 14:54:53 -07:00
David Christie
7f4d82932c am 6826387e: DO NOT MERGE: Clear cached locations when location providers disabled Bug: 12118307
* commit '6826387e50f9f272d53ca1f725f573bbddcdf5c1':
  DO NOT MERGE: Clear cached locations when location providers disabled Bug: 12118307
2014-01-10 12:55:24 -08:00
David Christie
6826387e50 DO NOT MERGE: Clear cached locations when location providers disabled
Bug: 12118307

Change-Id: I8595b50d30c0f3ff2cc7dab14141a739cd6b9daa
2014-01-06 18:15:05 -08:00
Christopher Tate
ef4694cbdd am ae229d99: am 43253333: am 50cbfd55: System package permission decls take precedence over 3rd party apps\'
* commit 'ae229d991711745bdf8da2e716c31efde534e6da':
  System package permission decls take precedence over 3rd party apps'
2013-11-08 12:34:13 -08:00
Christopher Tate
ae229d9917 am 43253333: am 50cbfd55: System package permission decls take precedence over 3rd party apps\'
* commit '43253333d24e856a7ffef818fdfaedf3fd60d3b6':
  System package permission decls take precedence over 3rd party apps'
2013-11-08 12:31:09 -08:00
Christopher Tate
43253333d2 am 50cbfd55: System package permission decls take precedence over 3rd party apps\'
* commit '50cbfd554f0bdf05c701d8baf15c862fbb8a6dc0':
  System package permission decls take precedence over 3rd party apps'
2013-11-08 12:27:10 -08:00
Christopher Tate
50cbfd554f System package permission decls take precedence over 3rd party apps'
In particular, if a 3rd party app tries to define a permission that
turns out to be defined by system packages following an upgrade,
the system package gets ownership and grants are re-evaluated
on that basis.

Bug 11242510

(Cherry-pick backport to JB)

Change-Id: Iabf7b6280e6c6674a51af5624142bd19ea0750ed
2013-11-07 19:04:22 -08:00
Christopher Tate
f7918b4a1e am d3a57029: am 1b0c9c95: am 81c1d8d3: Ensure install-during-restore is like install-then-restore
* commit 'd3a57029e80073aa3c7dfe1dbc8945d32968f6ae':
  Ensure install-during-restore is like install-then-restore
2013-05-06 15:00:53 -07:00
Christopher Tate
d3a57029e8 am 1b0c9c95: am 81c1d8d3: Ensure install-during-restore is like install-then-restore
* commit '1b0c9c95dc72ebeb8af73bc3ff44c313ebd788f4':
  Ensure install-during-restore is like install-then-restore
2013-05-06 14:59:40 -07:00
Christopher Tate
1b0c9c95dc am 81c1d8d3: Ensure install-during-restore is like install-then-restore
* commit '81c1d8d3a5aef6a423f0bb02de1b362b2f2d12df':
  Ensure install-during-restore is like install-then-restore
2013-05-06 14:53:10 -07:00
Christopher Tate
81c1d8d3a5 Ensure install-during-restore is like install-then-restore
When we've installed an apk from the archive, recheck whether
to apply the system-uid policy restrictions around file system
restores.

Bug 8833099

(cherry picked from commit 2baf6dcfcf7fc1705db25e64dc0cb11fa3509d39)

Change-Id: I972fe1543f2234aa76baf562d6f806175ac0248e
2013-05-06 14:43:05 -07:00
Amith Yamasani
596532d9db Properly initialize recognition service if the recognizer component changed.
The getServiceInfo() call directly to IPackageManager does not throw an exception.
The return value needed to be checked for null.

Bug: 8031032
Change-Id: I701b9e8cf3b2406a3b35a486183330489b3d46f5
2013-01-22 15:35:49 -08:00
Victoria Lease
79d59f0968 DO NOT MERGE Prevent OOM death for services under ServiceWatcher's care.
Change-Id: If87be5769b55368edaf4776189e8f6e51a21eb03

Conflicts:

	services/java/com/android/server/ServiceWatcher.java
2013-01-16 17:37:21 -08:00
Satoshi Kataoka
5327322ab9 Merge "Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"" into jb-mr1.1-dev 2013-01-10 18:12:44 -08:00
Sascha Prueter
b5e4835e3a Merge "Improve heuristics for detecting wireless chargers." into jb-mr1.1-dev 2013-01-10 11:11:20 -08:00
Jeff Brown
3b971598ed Improve heuristics for detecting wireless chargers.
On some devices, we need to apply heuristics to determine whether
the device is docked on a wireless charger because the charging
circuits do not provide sufficient information to know whether
the device is on the charger unless it is actually receiving
power.

The previous heuristics only considered the battery level to
suppress spurious dock signals.

The new heuristics also take into account whether the device
appears to have moved from its previous position on the dock.

Bug: 7744185
Change-Id: I5ba885dac25b37840b6db46b8a0f30968a06776c
2013-01-10 10:01:56 -08:00
Satoshi Kataoka
9d08143fa7 Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"
This reverts commit 32b812054cce27d1c70b53ba8ac729c7186b105e

Bug: 7976890

Change-Id: I75ab60734153719b199cf7281d23f5eb1ad2d1bc
2013-01-10 17:42:56 +09:00
Dianne Hackborn
e62fa82579 Merge from master: fix issue #7966357: Super lights out mode vs. volume dialog
The volume panel now forces us out of the UI modes while it
is up.

Change-Id: If39fa33b1c52579bf5d376ce4722408cee3ca951
2013-01-09 18:51:51 -08:00
satok
32b812054c Fix a bug where disabled auxilialy IME is unexpectedly re-enabled
Bug: 7872918

This is a serious issue which the disabled system auxilialy IME is unexpectedly re-enabled by re-building internal IMI cache.

Change-Id: I0727cc973dfaea9823194021ce94af8665b98373
2012-12-19 21:06:57 +09:00
Craig Mautner
3be73abc69 Fade recents thumbnail to transparent earlier.
Reduce the gpu load by fading the recents thumbnail to an alpha of
0.0 before the remaining animations are completed. When alpha hits
0 the gpu treats the layer as hidden and can merge the remaining
layers in time.

This is a partial fix for 7729214.

Change-Id: I9761bbd0554db6454c7eec0485be798b11672ff5
2012-12-17 17:35:58 -08:00
John Spurlock
f5df689aa6 Fix NPE inside DreamManagerService.
Bug:7741911
Change-Id: Icfc39b2d89f57bba79866030df85b822e3f73ae2
2012-12-14 13:12:43 -05:00
Kenny Root
2735795f5a Merge "If freeCache deletes APK, give out of space error" into jb-mr1.1-dev 2012-12-11 15:07:54 -08:00
Jeff Brown
eaae7d976a Merge "Play a tone when wireless charging begins." into jb-mr1.1-dev 2012-12-11 14:14:54 -08:00
Kenny Root
3f96d0e127 If freeCache deletes APK, give out of space error
After DownloadManager has downloaded an application to cache to install
during low memory condition, we try to free cache to fit the new
application. The free cache function deletes older files first, but it
will also delete the downloaded application (since it's in cache) as a
last resort since installd has no context about it.

This just changes the error code returned in this case so that we'll
give something more meaningful to the user. A later fix should actually
make this more sane. For instance: know which file to avoid deleting,
not even trying to delete anything if it won't arrive at the desired
free space.

Bug: 7684538
Change-Id: Ide77320fc51a4f692ef8042cb0eafe17b5cd279d
2012-12-11 13:35:43 -08:00
Jeff Brown
84e2756c0f Play a tone when wireless charging begins.
Only plays a tone if the battery level is below 95% which
is the same heuristic used when determining whether to turn
the screen on.

Use new low battery and wireless charging sounds on Mako.

Bug: 7371658
Change-Id: Ia4527ec398d024ee418a4287e1fcbf0ec83bcc24
2012-12-11 12:55:03 -08:00
John Spurlock
bbdb062d98 Fallback to default dream if the current dream is removed.
To minimize fix size, return only valid dreams from the service api.

Settings will "just work" with no changes.

Bug:7699398
Change-Id: I3eb88237a8ccc421fdb68d1de19820614b13d7b8
2012-12-10 18:15:07 -05:00
Craig Mautner
4abf3f987f Call setSize to sync Surface to SurfaceFlinger. DO NOT MERGE
RecentsActivity screenshots are called for very quickly after
WindowStateAnimator prepareSurface(). Without enough delay the
Surface.setLayer call does not propagate to the SurfaceFlinger
and the screenshot is incorrect (black) because it stops sampling
the layers too early.

This fix calls Surface.setSize() for each sampled Surface in
screenshots. setSize forces the SurfaceFlinger to process all
transactions queued before returning from closeTransaction.

Bug 7552304 fixed.

Change-Id: I1911dfa0b09cab713c55f5ba0c612496337a77df

Conflicts:

	services/java/com/android/server/wm/WindowManagerService.java
2012-12-07 11:21:35 -08:00
Victoria Lease
7b0855715b Merge "DO NOT MERGE Adjust update interval when expiring location requests." into jb-mr1.1-dev 2012-12-05 14:03:28 -08:00
Victoria Lease
5959bf2d3c DO NOT MERGE Adjust update interval when expiring location requests.
Cherry-pick I88b419c92940b7e536d48b26e5fc0f72f3c9e73d

This is a more complete solution for this issue that disables
location providers when expiring their last request *and* adjusts
update intervals when expiring any request. This should help
further limit battery drain when a high-frequency-update app
exits, as it allows the system to throttle the update interval
back down to something appropriate for the remaining listeners.

Bug: 7611837
Change-Id: I7629a90f4c693be4bf96d662bd3a8b06dae0b089
2012-12-05 12:15:16 -08:00
Jeff Brown
7fcb5dc5e9 Merge "Pin electron beam surface to natural orientation." into jb-mr1.1-dev 2012-12-04 17:15:34 -08:00
satok
487f8e93b0 Merge "Fix an issue on installing 3rd-party IME by a non-primary user" into jb-mr1.1-dev 2012-12-04 17:09:57 -08:00
Victoria Lease
e0fa1b387f DO NOT MERGE Notify provider when disposing last UpdateRecord
Cherry-pick of Id48151eb7de40164258cde7da220a4d6bb34b89a

Location providers were not being notified of the change in status
when the last UpdateRecord was removed due to numUpdates exhaustion
or request expiry. Oops! Enjoy some free battery life!

Bug: 7611837
Change-Id: I66303b355be4e4a56a81efb5406c9353b2588595
2012-12-04 15:42:22 -08:00
Sascha Prueter
652d8fc944 Merge "PRIORITY_MIN notifications should be truly ambient." into jb-mr1.1-dev 2012-12-04 15:13:17 -08:00
Jeff Brown
7f3994ec2a Pin electron beam surface to natural orientation.
If a rotation occurred while the electron beam surface was showing,
the surface may have appeared in the wrong orientation.  We fix this
problem by adjusting the transformation matrix of the electron beam
surface according to the display orientation whenever a display
transaction occurs.

The rotation itself is allowed to proceed but it is not visible
to the user.  We must let this happen so that the lock screen
is correctly oriented when the screen is turned back on.

Note that the electron beam surface serves two purposes.

First, it is used to play the screen off animation.
When the animation is finished, the surface remains visible but is
solid black.  Then we turn the screen off.

Second, when we turn the screen back on we leave the electron beam
surface showing until the window manager is ready to show the
new content.  This prevents the user from seeing a flash of the
old content while the screen is being turned on.  When everything is
ready, we dismiss the electron beam.

It's important for the electron beam to remain visible for
the entire duration from just before the screen is turned off until
after the screen is turned on and is ready to be seen.  This is
why we cannot fix the bug by deferring rotation or otherwise
getting in the way of the window manager doing what it needs
to do to get the screen ready when the screen is turned on again.

Bug: 7479740
Change-Id: I2fcf35114ad9b2e00fdfc67793be6df62c8dc4c3
2012-12-04 14:40:23 -08:00
Daniel Sandler
526fa0e6d5 PRIORITY_MIN notifications should be truly ambient.
If your notification is set to MIN priority, it will never
attempt to interrupt the user, either by an icon (already
implemented), or (new in this patch) by LED, vibration, or
sound.

Bug: 7648785
Change-Id: Ia0f8e010e62029d8d8ef1955dd20b7c79fb68398
2012-12-04 17:01:12 -05:00
John Spurlock
33669f35e4 Merge "Kill dreams that do not create a timely service connection." into jb-mr1.1-dev 2012-12-04 13:45:50 -08:00
John Spurlock
006f567c21 Kill dreams that do not create a timely service connection.
Implement a timeout between when the dream binds and
when the dream creates the service connection.  If
the connection is not created within a certain amount of
time, stop the dream.

This fixes the current bug where a dream that crashes in
onCreate (or the ctor) can put the dream controller in a
bad state until the screen is turned off.

The timeout is equal to the service restart delay in
activity manager (ActiveServices) to avoid restarting
(and recrashing).

Bug:7596707
Change-Id: I3e11efc6af0b79ec4cb0fbc94e4e109c7602ddac
2012-12-04 15:10:04 -05:00
Matthew Xie
af5ddbfcf5 Change getName and getAddress permission to BLUETOOTH
The permissions were set as BLUETOOTH_ADMIN by mistake. Correct them
bug 7665249

Change-Id: Ic1bdbeb25e8f55d886f9a8d38920cbb769dd38ca
2012-12-04 10:47:43 -08:00
satok
81f8b7c667 Fix an issue on installing 3rd-party IME by a non-primary user
Bug: 7573552

Currently IMMS doesn't receive install/uninstall messages. Accordingly enabled IMEs' list is not refreshed properly.

Change-Id: I25e9798a65f528dd270cd6bb1f14b1d887194787
2012-12-04 21:16:59 +09:00
Dianne Hackborn
e0a676a3bb Merge "Fix issue #7649590: Background windows sometimes not being hidden for secondary users" into jb-mr1.1-dev 2012-12-03 15:51:47 -08:00
Dianne Hackborn
bb4ca5271a Fix issue #7649590: Background windows sometimes not being hidden for secondary users
There are two things going on here:

(1) In secondary users, some times theme information such as whether
the window is full screen opaque was not being retrieved, so the window
manager didn't know that it could hide the windows behind the app.
This would just be a performance problem, except that:

(2) There appear to be a number of applications that declare that they
are full screen opaque, when in fact they are not.  Instead they are
using window surfaces with an alpha channel, and setting some pixels
in their window to a non-opaque alpha level.  This will allow you to
see whatever is behind the app.  If the system happens to completely
remove the windows behind the app, and somebody is filling the frame
buffer with black, then you will see what the app intends -- those
parts of its UI blended with black.  If one of those cases doesn't
hold (and though we have never guaranteed they would, in practice this
is generally what happens), then you will see something else.

At any rate, if nothing else than for performance reasons, we need to
fix issue #1.

It turns out what is happening here is that the AttributeCache used
by the activity manager and window manager to retreive theme and other
information about applications has not yet been updated for multi-user.

One of the things we retrieve from this is the theme information telling
the window manager whether an application's window should be treated
as full screen opaque, allowing it to hide any windows behind it.  In
the current implementation, the AttributeCache always retrieves this
information about the application as the primary user (user 0).

So, if you have an application that is installed on a secondary user but
not installed on the primary user, when the AttributeCache tries to retrieve
the requested information for it, then from the perspective of the primary user
it considers the application not installed, and is not able to retrieve that
info.

The change here makes AttributeCache multi-user aware, keeping all of its
data separately per-user, and requiring that callers now provide the user
they want to retrieve information for.  Activity manager and window manager
are updated to be able to pass in the user when needed.  This required some
fiddling of the window manager to have that information available -- in
particular it needs to be associated with the AppWindowToken.

Change-Id: I4b50b4b3a41bab9d4689e61f3584778e451343c8
2012-12-03 14:09:06 -08:00
Zhihai Xu
40973c53ac Merge "BT is still on after enable flight mode, and reboot the DUT" into jb-mr1.1-dev 2012-12-03 11:47:34 -08:00
Zhihai Xu
401202b5fe BT is still on after enable flight mode, and reboot the DUT
bug 7275625
Change-Id: I4f8952a06152eb5f5775c1f616f6383e4f20e352
2012-12-03 11:36:21 -08:00
Jeff Sharkey
ed3fba6538 Merge "Avoid null mobile interfaces." into jb-mr1.1-dev 2012-12-03 11:32:51 -08:00
Jeff Sharkey
6a328afbab Avoid null mobile interfaces.
Bug: 7634215
Change-Id: I6745f6a78c07ba11d98b4562a6b53386112ef652
2012-11-30 17:49:39 -08:00
Amith Yamasani
c566b43d02 Fix crosstalk between users for widgets hosted in lockscreen
This was initially about the Clock widget crashing repeatedly on some
devices with multiple users. Turned out that there were race conditions
when switching users that could result in remote views of one user calling
back to the RemoteViewsAdapter in keyguard that in turn sent an incorrect widget id
to a different user's widget, resulting in a crash.

Since KeyguardHostView is instantiated in the same process for different users,
it needs to carry a user identity to pass along to AppWidgetService so that
remote views services were bound to the correct user and callbacks were attached and
detached properly.

Added some aidl calls that take the userId to do the binding properly. A more
complete fix might be needed in the future so that all calls from Keyguard carry
the user id.

Also, there was a problem in comparing host uid for secondary users, since Settings
for a secondary user has a different uid than keyguard. Not an issue on single-user
systems. Changed the host.uid comparison to accomodate for the secondary user.

Bug: 7450247
Change-Id: Idbc36e3c60023cac74174f6cb7f2b2130dd3052c
2012-11-30 17:28:08 -08:00
Craig Mautner
7b1aa77a9b Include child windows when looking for insertion point.
After finding a window in the window list we turn around and look in
the AppWindowToken.windows list for it. If it is a child of a window
in that list we should use the parent windows index as the search
result. Instead we gave up and ended up inserting the window at the
beginning of the windows list.

Bug 7357465 fixed.

Change-Id: If77f343b8597bfbb0b7fa41dedf7972d78d03020
2012-11-30 16:14:45 -08:00
Martijn Coenen
b1a01ab01c Merge "Allow the NFC process to call Bluetooth APIs." into jb-mr1.1-dev 2012-11-30 11:08:07 -08:00
Dianne Hackborn
675814d488 Merge "Maybe fix issue #7596986: Frequent runtime restarts; IAE at..." into jb-mr1.1-dev 2012-11-30 10:42:15 -08:00