6139 Commits

Author SHA1 Message Date
Jeff Brown
4c253119db Merge "Prevent unintended rotations. Bug: 4981385" 2011-09-23 18:28:01 -07:00
Jeff Brown
c0347aa19f Prevent unintended rotations.
Bug: 4981385

Changed the orientation listener to notify the policy whenever
its proposed orientation changes, and changes the window manager
to notify the orientation listener when the actual orientation
changes.  This allows us to better handle the case where the
policy has rejected a given proposal at one time (because the
current application forced orientation) but might choose
to accept the same proposal at another time.

It's important that the proposal always be up to date.  A proposal
becomes irrelevant as soon as the phone posture changes such
that we can no longer determine the orientation with confidence
(such as when a device is placed flat on a table).

Simplified the orientation filtering.  Now we just wait 200ms
for the device to be still before issuing a proposal.  The idea
is that if the device is moving around a lot, we assume that
the device is being picked up or put down or otherwise in
the process of being moved.  We don't want to change the rotation
until that's all settled down.  However, we do want to tolerate
a certain amount of environmental noise.

(The previous confidence algorithm was also designed along
these lines but it was less direct about waiting for things
to settle.  Instead it simply made orientation changes take
longer than usual while unsettled, but the extra delay was often
too much or too little.  This one should be easier to tune.)

Change-Id: I09e6befea1f0994b6b15d424f3182859c0d9a530
2011-09-23 17:26:09 -07:00
Kenny Root
05ca4c9064 Allow non-required package verifiers
* Verifiers can be specified in the AndroidManifest.xml

* Those verifiers can respond to the new Intent action

* PackageManager API for those verifiers: verifyPendingInstall

Change-Id: I4892bce2e6984871e6e93c60a1ca0dae145f5df5
2011-09-23 16:03:03 -07:00
Ben Komalo
3573d400a5 Enter minimal boot mode when booting encrypted
Bug: 5233488
Change-Id: Iba7a41c69af2387594d2be562d587918cd17a348
2011-09-23 15:08:24 -07:00
Dianne Hackborn
90c52de286 Fix issue #5173952: Opening a Notification From Lock Screen...
...Should Skip Unsecure Lockscreen (ICS)

Also while I am in there, clean up logging of intent objects to include
even less sensitive information, while showing the true Intent in dump
output (since apps can't get to that).

Change-Id: I35fed714645b21e4304ba38a11ebb9c4c963538e
2011-09-23 13:39:33 -07:00
Dianne Hackborn
67c5b12511 Merge "Fix issue #5321282: Force Stop Button in Battery Screen Not disabled correctly" 2011-09-23 12:56:42 -07:00
Kenny Root
fec5e75c96 Less verbose message when dexopt non-APK
The message when something is not an APK that is submitted for dexopt is
not extremely helpful. Make it more precise and remove the useless
traceback.

Change-Id: Ibb34b2b2c10ee28ea98662c3f6fd070529cf8c4f
2011-09-23 10:13:06 -07:00
Robert Greenwalt
511ecc8cf9 am b849074c: Merge "Tell the resolver what protocols to use." into ics-factoryrom
* commit 'b849074cb58edc15b0764afdde0326c0b6d5b147':
  Tell the resolver what protocols to use.
2011-09-22 23:39:53 -07:00
Dianne Hackborn
80a7ac1063 Fix issue #5321282: Force Stop Button in Battery Screen Not disabled correctly
If the app had activities still finishing, when we checked whether it was
now stopped we would get told no.  Also some other improvements:

- Schedule an idle as part of the force stop, to get any finishing
  activities out of the stack soon rather than waiting for some activity
  to idle.
- Don't filter out stopped system apps.  This is dangerous because
  system apps may have no way for the user to explicitly launch them,
  so they could get put into a stopped state for which there is no way
  to get them out.  Also if the user really wants a system app to not
  run, the new disabling mechanism is more appropriate.

Change-Id: I34003f21dac29e2ca0f66a23b88c710de41bab99
2011-09-22 18:32:52 -07:00
Robert Greenwalt
b849074cb5 Merge "Tell the resolver what protocols to use." into ics-factoryrom 2011-09-22 16:57:43 -07:00
Robert Greenwalt
d90c611a59 Tell the resolver what protocols to use.
Stop guessing based on the connectivity of the default route and use the correct
v4/v6 proto for your pid.

bug:5284168
Change-Id: Ife82a8d8e54c0ace2bc9e8a624b11d29a4e285e2
2011-09-22 16:43:15 -07:00
Jeff Sharkey
367d15ab1a Watch network subtype, tethering teardown, empty.
Watch for changes to telephony network subtype, and update iface
mapping to persist stats under correct type.  Update network stats
before removing tethering NAT rules.

Skip recording that would create empty historical buckets.  Query UID
stats before iface stats to always skew positive when counters are
actively rolling forward.

Bug: 5360042, 5359860, 5335674, 5334448
Change-Id: I8aa37b568e8ffb70647218aa1aff5195d3e44d5a
2011-09-22 16:19:06 -07:00
Dianne Hackborn
fb49cd9539 Merge "Fix issue #5355844: PowerManager does not call screenTurningOn after boot." 2011-09-22 15:06:23 -07:00
Dianne Hackborn
400110902e Fix issue #5355844: PowerManager does not call screenTurningOn after boot.
Be more explicit about initialization -- power manager never sends
screen update when first initializing, phone window manager retreives
current screen state and applies that itself when initializing.

Change-Id: I8294ed36d700e186c1637754df8c8183721c15dd
2011-09-22 13:37:48 -07:00
Wink Saville
94097b44b8 am 904fb9d7: Merge "Notify people of empty proxies too." into ics-factoryrom
* commit '904fb9d79cc72879e4c6767c219ec78feda8e62b':
  Notify people of empty proxies too.
2011-09-22 10:53:40 -07:00
Wink Saville
904fb9d79c Merge "Notify people of empty proxies too." into ics-factoryrom 2011-09-22 10:52:25 -07:00
Jeff Brown
a829e16681 Merge "Handle orientation changes more systematically. Bug: 4981385" 2011-09-21 21:09:10 -07:00
Jeff Brown
01a98ddbdf Handle orientation changes more systematically.
Bug: 4981385

Simplify the orientation changing code path in the
WindowManager.  Instead of the policy calling setRotation()
when the sensor determined orientation changes, it calls
updateRotation(), which figures everything out.  For the most
part, the rotation actually passed to setRotation() was
more or less ignored and just added confusion, particularly
when handling deferred orientation changes.

Ensure that 180 degree rotations are disallowed even when
the application specifies SCREEN_ORIENTATION_SENSOR_*.
These rotations are only enabled when docked upside-down for
some reason or when the application specifies
SCREEN_ORIENTATION_FULL_SENSOR.

Ensure that special modes like HDMI connected, lid switch,
dock and rotation lock all cause the sensor to be ignored
even when the application asks for sensor-based orientation
changes.  The sensor is not relevant in these modes because
some external factor (or the user) is determining the
preferred rotation.

Currently, applications can still override the preferred
rotation even when there are special modes in play that
might say otherwise.  We could tweak this so that some
special modes trump application choices completely
(resulting in a letter-boxed application, perhaps).
I tested this sort of tweak (not included in the patch)
and it seems to work fine, including transitions between
applications with varying orientation.

Delete dead code related to animFlags.

Handle pausing/resuming orientation changes more precisely.
Ensure that a deferred orientation change is performed when
a drag completes, even if endDragLw() is not called because the
drag was aborted before the drop happened.  We pause
the orientation change in register() and resume in unregister()
because those methods appear to always be called as needed.

Change-Id: If0a31de3d057251e581fdee64819f2b19e676e9a
2011-09-21 19:26:15 -07:00
Kenny Root
0d3647dc00 am 9c711282: Merge "Unhide new PackageManager APIs for API 14" into ics-factoryrom
* commit '9c711282ad234e104c34eb4408d85fc1bb149ded':
  Unhide new PackageManager APIs for API 14
2011-09-21 18:56:52 -07:00
Robert Greenwalt
0e09082559 Notify people of empty proxies too.
We were telling people when the proxy changed, except if it was changed to null.
bug:5263946

Change-Id: I83416dac8fe992168a8aafd5676f9faee4e484d0
2011-09-21 16:37:34 -07:00
Kenny Root
9c711282ad Merge "Unhide new PackageManager APIs for API 14" into ics-factoryrom 2011-09-21 16:35:52 -07:00
Dianne Hackborn
04ef5b8dd7 Merge "Fix issue #5253941: ICS ignoring provider's android:process flag" 2011-09-21 16:19:45 -07:00
Dianne Hackborn
6bba4afaa4 Merge "Improvements to power manager turning on screen." 2011-09-21 16:18:38 -07:00
Dianne Hackborn
2a6bcda03b Fix issue #5253941: ICS ignoring provider's android:process flag
Provider was not being removed from the class map because it was using
the wrong key.  D'oh.

Also a little cleanup.

Change-Id: I318e8b1a265318ac1474e0a7f14f27f89f357505
2011-09-21 15:07:05 -07:00
Wink Saville
d30f73725b am 4aa8d943: Merge "Reduce connectivity logging" into ics-factoryrom
* commit '4aa8d943a970008915b703758743b107927d96fa':
  Reduce connectivity logging
2011-09-21 14:14:28 -07:00
Wink Saville
4aa8d943a9 Merge "Reduce connectivity logging" into ics-factoryrom 2011-09-21 14:12:42 -07:00
Dianne Hackborn
beae3bd6d3 Improvements to power manager turning on screen.
The keyguard/window manager recently got a facility to report when it is
okay to turn the screen on, when it knows the lock screen is displayed.

The power manager was using this wrong, just using it to drive the
flags given to the input system.  Duh.

This change now uses the information to determine when to turn the screen
brightness up from 0.  For an OLED screen, this is the time when the
user can actually see anything on the screen.

For LCD screens this may not be optimal, because the LCD may start running
before its backlight is turned on, so if you look carefully you may see
stuff before it is lit up.  On the other hand, it is good to turn on the
display as early as possible (before waiting for the keyguard) because it
can take a little bit of time to get that and the touch screen going.  By
only waiting on the display brightness, we allow turning on the screen
in the kernel to proceed in parallel with ensuring the keyguard is displayed.

Change-Id: I7ee4ce19fd4efd5b51872b855af6263f53cd6c30
2011-09-21 13:15:02 -07:00
Wink Saville
c9acde9aa6 Reduce connectivity logging
Change-Id: I5d45b8fbcd01e42df7f2b1cf02fb5b226128abb8
2011-09-21 11:05:43 -07:00
Amith Yamasani
fb528820c7 am 9fdba999: Merge "If "Pulse notification light" is off, don\'t flash the LED even once." into ics-factoryrom
* commit '9fdba9997df17d2ae6d7ddc44513f67f12f81c88':
  If "Pulse notification light" is off, don't flash the LED even once.
2011-09-20 18:07:50 -07:00
Svetoslav Ganov
4a03e91aa0 Merge "System not checking if enabled services are installed when disabling accessibility." 2011-09-20 18:00:26 -07:00
Irfan Sheriff
6a8d3ab941 Merge "Change hostname format to conform to specification" 2011-09-20 16:02:42 -07:00
Svetoslav Ganov
1e741b2705 System not checking if enabled services are installed when disabling accessibility.
The system is didabling accessiblity if no accessibility serivces are enabled
to avoid sending events across processes if no recipients are present. The
check considers enabled services which may not have been installed. Now the
check is made against enabled and installed serivces.

bug:5347273

Change-Id: Iad391a1a5bf0bbca470584bc8392f35821ba768c
2011-09-20 15:50:10 -07:00
Irfan Sheriff
a10a3ad35a Change hostname format to conform to specification
Underscore is not allowed as per RFC 952

Bug: 5348537
Change-Id: I618c137fd54ecf36cece3b9eba39c51cda3aeac3
2011-09-20 15:22:00 -07:00
Amith Yamasani
ebfc0e5d70 If "Pulse notification light" is off, don't flash the LED even once.
If it is on, flash repeatedly.

Bug: 5242350
Change-Id: I7da195a7c49c68c0a1fca12eecfc4a4e06dd0b61
2011-09-20 14:48:52 -07:00
Kenny Root
3a9b5fbb97 Unhide new PackageManager APIs for API 14
Change-Id: I83110285ccee39a4cd872a1c2af8357f541833d4
2011-09-20 14:35:10 -07:00
Dianne Hackborn
0799e951a6 Merge "Fix issue #5312624: Lock screen very flickery" 2011-09-20 12:37:10 -07:00
Dianne Hackborn
bc1aa7bbc7 Fix issue #5312624: Lock screen very flickery
The key thing was to fix isVisibleOrBehindKeyguardLw() so that it
wouldn't count a window as not visible if it was just currently
in the process of drawing due to an orientation change.

Also improve logic in deciding when to turn screen on to better ensure
the screen is in a stable state, in particular treating screen off
as a frozen screen and not allowing it to turn on until the
update of the screen due to any config change is done.

Change-Id: If82199f3773270b2d07f9c7de9da2dad8c7b28d7
2011-09-20 11:20:31 -07:00
Jeff Sharkey
7c349b1d97 am 88b18eb8: Merge "Upload correct txPackets count." into ics-factoryrom
* commit '88b18eb8c2034e9de35482cc737ef8d608d55867':
  Upload correct txPackets count.
2011-09-19 21:44:00 -07:00
Jeff Sharkey
88b18eb8c2 Merge "Upload correct txPackets count." into ics-factoryrom 2011-09-19 21:42:13 -07:00
Jeff Sharkey
92cefaeb31 Upload correct txPackets count.
Bug: 5321340
Change-Id: Ie4dc7a91bf1cdc4d64c75ff09ae0cdd0fb141b5d
2011-09-19 18:37:11 -07:00
Ben Komalo
70a85687b5 am 85a61c4d: Merge "Only run "core" apps when encrypting device." into ics-factoryrom
* commit '85a61c4d6fedff2f1539e4cfff4b173ce0a28a3f':
  Only run "core" apps when encrypting device.
2011-09-19 16:55:54 -07:00
Ben Komalo
553acf0409 Only run "core" apps when encrypting device.
This forces the package manager to only read packages that have
coreApp="true" in their manifest when encrypting the device, since no
non-essential processes or applications should run in that time.

Bug: 5031399
Change-Id: I87e8b27703e42553940167858db9473705d5d843
2011-09-19 15:21:33 -07:00
Jeff Sharkey
34c73acf88 Sample atomic network stats buckets, full poll.
When sampling network stats, always use atomic buckets instead of
interpolating.  Always poll iface and UID together so we distribute
into buckets equally.  Move stale bucket trimming to just before
writing stats.

Bug: 5321340
Change-Id: I78a2226778a79c875f3668336e39ea24a7b4d5c4
2011-09-18 16:27:21 -07:00
Jeff Sharkey
1f0b13b9d6 DO NOT MERGE: Sample atomic network stats buckets, full poll.
When sampling network stats, always use atomic buckets instead of
interpolating.  Always poll iface and UID together so we distribute
into buckets equally.  Move stale bucket trimming to just before
writing stats.

Bug: 5321340
Change-Id: I78a2226778a79c875f3668336e39ea24a7b4d5c4
2011-09-18 16:17:51 -07:00
Jeff Sharkey
ff2aff2ac1 am 3d1d57dc: Merge "Collect and persist tethering stats." into ics-factoryrom
* commit '3d1d57dcdb02ace6af5810bd4ec3f8fad5fc1799':
  Collect and persist tethering stats.
2011-09-18 16:17:39 -07:00
Dianne Hackborn
38e29a61d0 Fix issue #5242779: Device not responding to touch on unlock screen
Rework how we decide when it is okay to turn on the screen by having
the policy call back to the power manager when it knows the lock screen
has been drawn.

Change-Id: Ie8f3f72111dcf7f168723e6dce24e0343b4afe5d
2011-09-18 14:52:52 -07:00
Jeff Sharkey
cdd02c5d76 Collect and persist tethering stats.
Use new "gettetherstats" netd command to retrieve statistics for
active tethering connections.  Keep tethering poll events separate
from UID poll, even though they end up same historical structures.

Bug: 5244846
Change-Id: Ia0c5165f6712c12b51586f86c331a2aad4ad6afb
2011-09-16 16:05:51 -07:00
Dianne Hackborn
73db0d802e "Fix" issue #5276520: Noise on edges of rotation animation
I have no shame.

Change-Id: I9f40df670bba0f848097aad8afb978a29e42f85a
2011-09-16 01:09:40 -07:00
Dianne Hackborn
09bd49a8a7 Fix issue #5328235: Wrong values for smallestScreenWidthDp
Maybe.

Change-Id: I88dfde1626376b3003bdd7a8068c55545255851e
2011-09-15 19:12:01 -07:00
Svetoslav Ganov
c5fccd0125 am 2a6798ad: Merge "Touch explorer does not perform tap with the right pointer." into ics-factoryrom
* commit '2a6798ada499dc1dc33db36a15a6ce07e72968ae':
  Touch explorer does not perform tap with the right pointer.
2011-09-15 18:50:38 -07:00