Commit Graph

24727 Commits

Author SHA1 Message Date
Jeff Sharkey
116ee10b95 Merge "Always-on VPN." into jb-mr1-dev 2012-08-27 13:57:58 -07:00
Dianne Hackborn
e45ca31a61 am aae49432: am 4763989d: am 32d1fec5: Merge "Fixes relative time formatting issue for dates in future"
* commit 'aae4943297a08a659add964a3fef96bdfa0b2c14':
  Fixes relative time formatting issue for dates in future
2012-08-27 13:10:58 -07:00
Jeff Sharkey
69ddab4575 Always-on VPN.
Adds support for always-on VPN profiles, also called "lockdown." When
enabled, LockdownVpnTracker manages the netd firewall to prevent
unencrypted traffic from leaving the device. It creates narrow rules
to only allow traffic to the selected VPN server. When an egress
network becomes available, LockdownVpnTracker will try bringing up
the VPN connection, and will reconnect if disconnected.

ConnectivityService augments any NetworkInfo based on the lockdown
VPN status to help apps wait until the VPN is connected.

This feature requires that VPN profiles use an IP address for both
VPN server and DNS. It also blocks non-default APN access when
enabled. Waits for USER_PRESENT after boot to check KeyStore status.

Bug: 5756357
Change-Id: If615f206b1634000d78a8350a17e88bfcac8e0d0
2012-08-27 12:35:05 -07:00
Dianne Hackborn
aae4943297 am 4763989d: am 32d1fec5: Merge "Fixes relative time formatting issue for dates in future"
* commit '4763989d95342c25e9b857dc9ee21eb5ebac31d6':
  Fixes relative time formatting issue for dates in future
2012-08-27 12:33:57 -07:00
Steve Pomeroy
ca3363775e Fixes relative time formatting issue for dates in future
All variations of getRelativeTimeSpanString() now properly handle dates
that are in the future. Prior, the version used by
getRelativeDateTimeString() would occasionally show the time instead of
a date when the future date was the same weekday as the current weekday.
This resulted in the time output being duplicated, eg.: "11:23, 11:23"

Change-Id: If20972a6942cce792fa233437f94dedfb71379f3
Signed-off-by: Steve Pomeroy <steve@staticfree.info>
2012-08-27 02:20:13 -04:00
Jeff Brown
f85ddd6571 Merge "Make it easier to create asynchronous Handlers." into jb-mr1-dev 2012-08-25 13:43:48 -07:00
Jeff Brown
a2910d0abb Make it easier to create asynchronous Handlers.
There are potentially very many Handlers owned by services
that should not be blocked by barriers introduced by UI traversals
occurring on the same thread (if that ever happens).
Add some convenience constructors to make it easy to switch
these Handlers over to being async.

Bug: 7057752
Change-Id: I64d9bffe81e7c52ada4cfad4e89d4340153f4688
2012-08-25 13:40:26 -07:00
John Spurlock
3782aabe4e Merge "DreamManagerService: Handle missing db value" into jb-mr1-dev 2012-08-25 07:06:08 -07:00
John Spurlock
4fde81f7e7 DreamManagerService: Handle missing db value
Should not happen (except for early dogfooders with a specific build),
but handle gracefully as we do elsewhere in dream manager.

To test:
  adb shell sqlite3 \
  /data/data/com.android.providers.settings/databases/settings.db \
  "delete from secure where name = 'screensaver_components'"

Pre-fix workaround:
  adb shell sqlite3 \
  /data/data/com.android.providers.settings/databases/settings.db \
  "insert into secure(name, value) values ('screensaver_components', \
  'com.google.android.deskclock/com.android.deskclock.Screensaver')"

Change-Id: I2cf39608c8dd5011f6a00deece95eb6554da5173
2012-08-25 09:51:40 -04:00
Dianne Hackborn
ba94170a7a Merge "Some clean up of app install and user management." into jb-mr1-dev 2012-08-24 18:03:56 -07:00
Dianne Hackborn
4428e17c5e Some clean up of app install and user management.
UserManagerService is now closely tied to PackageManagerService,
sharing the same locks.  There is no longer direct access of
Installer by UserManagerService, instead the package manager is
back to solely owning it.

Creating a new user now correctly only installs system apps for
that user.

Fixed some misc bugs, where we were getting nulls when
querying content providers and instrumentation in uninstalled
users, incorrect locking, etc.

Change-Id: Ife69b6e373d0cf7c5cfc03fc588e36b43ad5d8b0
2012-08-24 18:00:37 -07:00
Raph Levien
236d0520a6 Merge "Fix bug 7054190 line breaks at inappropriate places" into jb-mr1-dev 2012-08-24 16:19:19 -07:00
Fabrice Di Meglio
de91aa4bec Merge "Fix again bug #6887370 ListPreference shows misaligned radio drawables (in CheckedTextView?)" into jb-mr1-dev 2012-08-24 16:11:19 -07:00
Adam Powell
3a5c376e29 Merge "More detailed error reporting for AbsListView/CHOICE_MODE_MULTIPLE_MODAL" into jb-mr1-dev 2012-08-24 15:09:03 -07:00
Adam Powell
a798170f2a More detailed error reporting for AbsListView/CHOICE_MODE_MULTIPLE_MODAL
Throw a more descriptive exception when an app has not set a
multi-choice mode listener and an item becomes checked.

Change-Id: Ib682fd7a467a3751bb81dacbd22676aaa4407d36
2012-08-24 14:51:40 -07:00
Dianne Hackborn
7767eac323 Keep track of whether an app is installed for each user.
This add a new per-user state for an app, indicating whether
it is installed for that user.

All system apps are always installed for all users (we still
use disable to "uninstall" them).

Now when you call into the package manager to install an app,
it will only install the app for that user unless you supply
a flag saying to install for all users.  Only being installed
for the user is just the normal install state, but all other
users have marked in their state for that app that it is not
installed.

When you call the package manager APIs for information about
apps, uninstalled apps are treated as really being not visible
(somewhat more-so than disabled apps), unless you use the
GET_UNINSTALLED_PACKAGES flag.

If another user calls to install an app that is already installed,
just not for them, then the normal install process takes place
but in addition that user's installed state is toggled on.

The package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED,
PACKAGE_REPLACED etc broadcasts to users who don't have a package
installed or not being involved in a change in the install state.
There are a few things that are not quite right with this -- for
example if you go through a full install (with a new apk) of an
app for one user who doesn't have it already installed, you will
still get the PACKAGED_REPLACED messages even though this is
technically the first install for your user.  I'm not sure how
much of an issue this is.

When you call the existing API to uninstall an app, this toggles
the installed state of the app for that user to be off.  Only if
that is the last user user that has the app uinstalled will it
actually be removed from the device.  Again there is a new flag
you can pass in to force the app to be uninstalled for all users.

Also fixed issues with cleaning external storage of apps, which
was not dealing with multiple users.  We now keep track of cleaning
each user for each package.

Change-Id: I00e66452b149defc08c5e0183fa673f532465ed5
2012-08-24 13:53:13 -07:00
Raph Levien
7c3255f14f Fix bug 7054190 line breaks at inappropriate places
We were doing line breaks after punctuation as long as they weren't
surrounded by digits. This is a misinterpretation of the Unicode line
breaking algorithm. Punctuation (class IS) is not hugely different than
the default classes (NU and AL) - there are breaks after punctuation
that are allowed (for example, followed by an open parenthesis), but
we're not implementing the algorithm with anything near that level of
fidelity.

The long term fix is to really implement the algorithm. In the shorter
term, the easiest thing to do is to remove the special case altogether.

Change-Id: Ic4dc3216c2a4191fbb7cfa06e9dc038d1a56398c
2012-08-24 13:48:37 -07:00
Fabrice Di Meglio
0dc9646e7e Fix again bug #6887370 ListPreference shows misaligned radio drawables (in CheckedTextView?)
Change-Id: Ia377cc95cd64f2df0a258b9ea3f709e6094f395e
2012-08-24 12:25:28 -07:00
Jeff Sharkey
1552586283 Merge "Clean up firewall interface method names." into jb-mr1-dev 2012-08-24 11:46:27 -07:00
Jeff Sharkey
2c0929850a Clean up firewall interface method names.
Change-Id: I653f0a01af7c90fc96b201abb31ea8354b036e74
2012-08-24 11:44:40 -07:00
Jeff Sharkey
34f8631258 Merge "Migrate legacy VPN arguments to system_server." into jb-mr1-dev 2012-08-24 11:33:00 -07:00
Jeff Sharkey
82f8521d38 Migrate legacy VPN arguments to system_server.
Generate the racoon and mtpd daemon arguments in system_server,
instead of accepting them from Settings.

Bug: 5756357
Change-Id: I42c1a644f6add477fe4222342640d7db15982cb8
2012-08-24 11:29:58 -07:00
Jeff Sharkey
96702ad6d7 Merge "Framework interface for netd firewall." into jb-mr1-dev 2012-08-24 11:07:42 -07:00
Jeff Sharkey
c268f0b19e Framework interface for netd firewall.
Bug: 5756357
Change-Id: If8b9f738fcea2cf16bd01682220718b57346c7cc
2012-08-24 11:00:28 -07:00
Teng-Hui Zhu
e0d5ceefbf Merge "Request Layout after video size changed" into jb-mr1-dev 2012-08-24 10:50:49 -07:00
Victoria Lease
54f4f91d7c Merge "avert 2500ms wait in InputMethodManager" into jb-mr1-dev 2012-08-24 08:01:41 -07:00
Dianne Hackborn
d820c38d21 am 513f68bc: am bfe20d1a: am 8bfba7df: Merge "fix wrong substring"
* commit '513f68bc5a5f15d799f8795392d4861a5704fba1':
  fix wrong substring
2012-08-24 07:30:11 -07:00
Jean-Baptiste Queru
58dc9b6bfa am 790d3403: am d86bebb4: am 322b0a16: Merge "Protecting more views from (bad) MotionEvents"
* commit '790d34039df650d983c7c87a2a2e888e18edc2be':
  Protecting more views from (bad) MotionEvents
2012-08-24 07:30:06 -07:00
Ben Murdoch
4d3a7b0752 Merge "Make SslErrorHandler ctor public/@hide." into jb-mr1-dev 2012-08-24 02:10:38 -07:00
Wu-cheng Li
dad32938cd Merge "Add INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE intent." into jb-mr1-dev 2012-08-24 00:07:32 -07:00
Jeff Sharkey
d5fc86f067 Merge "Begin moving VPN to NetworkStateTracker pattern." into jb-mr1-dev 2012-08-23 16:47:50 -07:00
Jeff Sharkey
899223b97c Begin moving VPN to NetworkStateTracker pattern.
Created base tracker that handles common bookkeeping, and move VPN
to become a tracker.  VPN status is now reflected in NetworkInfo, and
is mapped to LegacyVpnInfo.

Legacy VPN now "babysits" any init services it starts, watching for
when they stop unexpectedly.

Bug: 5756357
Change-Id: Iba7ec79da69469f6bd9a970cc39cf6b885b4c9c4
2012-08-23 16:41:06 -07:00
Teng-Hui Zhu
f5d102ed76 Request Layout after video size changed
bug:6800665

Change-Id: I57010ac26246dff9da45f8fdb7ccbe39c454c54f
2012-08-23 16:03:22 -07:00
rich cannings
7646c773fa Merge "Allow verifiers to extend timeout" into jb-mr1-dev 2012-08-23 15:56:04 -07:00
rich cannings
d9ef3e5495 Allow verifiers to extend timeout
Create a new verifier API to extend the timeout for a giving package,
including the resulting action (allow or deny) upon the timeout occuring.

Bug: 6901038
Change-Id: I351f7944327f863aff1d7dd1227be74652fa1511
2012-08-23 15:39:02 -07:00
Victoria Lease
b570c64ad1 avert 2500ms wait in InputMethodManager
When dispatching input events to the main thread, the event is
handled directly rather than queued. If we have a timeout waiting for
the event to happen, it has to be registered before we call the
dispatcher, otherwise we'll wait for the timeout even though the event
has already been handled.

Bug: 6734044
Change-Id: I6826163dbc6133b385cf1076bb077fb4e82870a1
2012-08-23 15:32:42 -07:00
Dianne Hackborn
513f68bc5a am bfe20d1a: am 8bfba7df: Merge "fix wrong substring"
* commit 'bfe20d1aa1b1236e6592914c5682c59d94936432':
  fix wrong substring
2012-08-23 15:12:26 -07:00
Jean-Baptiste Queru
790d34039d am d86bebb4: am 322b0a16: Merge "Protecting more views from (bad) MotionEvents"
* commit 'd86bebb4a9aaf3b98f6d5a189fd7733926d85891':
  Protecting more views from (bad) MotionEvents
2012-08-23 15:12:21 -07:00
Adam Powell
11a03afaad Merge "Properly respect divider settings for TableLayout" into jb-mr1-dev 2012-08-23 14:18:22 -07:00
Adam Powell
c3c0e39ab5 Properly respect divider settings for TableLayout
Make sure that TableLayout always knows it's in VERTICAL orientation.

Bug 7041351

Change-Id: I9935891a58e558840ac7956a0ffe8448e21de799
2012-08-23 14:13:10 -07:00
Dianne Hackborn
8bfba7df37 Merge "fix wrong substring" 2012-08-23 14:10:31 -07:00
Dianne Hackborn
5d1122a3f8 Merge "Fix issue #7016987: Unable to attach a picture in gmail/emaill composer action." into jb-mr1-dev 2012-08-23 14:00:22 -07:00
Dianne Hackborn
f1c26e2fd0 Fix issue #7016987: Unable to attach a picture in gmail/emaill composer action.
Change-Id: I0c9336bb072b4622a5eab6d3ec104c4cc38e367a
2012-08-23 13:59:40 -07:00
Doug Zongker
d8b6fa2931 Merge "pass --locale argument to recovery" into jb-mr1-dev 2012-08-23 13:17:25 -07:00
John Spurlock
21b53df7c3 Merge "Add framework support for multiple dreams." into jb-mr1-dev 2012-08-23 10:44:05 -07:00
Amith Yamasani
41d4332ab0 Merge "Handle null cache directory" into jb-mr1-dev 2012-08-23 10:13:42 -07:00
Amith Yamasani
92d570529c Handle null cache directory
data/android directory doesn't exist sometimes, and hence cache
directory creation fails. Don't crash the process due to that.

Change-Id: I22d7ed5df9c70f021a87029e89a13a11b4b0303b
2012-08-23 10:07:52 -07:00
Doug Zongker
e33b4007ee pass --locale argument to recovery
When RecoverySystem boots into recovery (to install an update or wipe
data and/or cache), pass the --locale argument with the currently
selected locale.

Change-Id: Ib280330932a402be2011207bff8f05caa9b999cd
2012-08-23 09:52:14 -07:00
Craig Mautner
6715d1effa Merge "Clean up displayId and layerStack usage." into jb-mr1-dev 2012-08-23 08:44:53 -07:00
Craig Mautner
b47bbc3d80 Clean up displayId and layerStack usage.
Make better use of Display object by saving it in DisplayContent.
Only use layerStack when referring to Surfaces. Get displayId from
default Display or default DisplayContent. Remove warnings.

Fixes bug 7038151.

Change-Id: Ie493f0f5e755dc9b91ee969ff561c2a098283ead
2012-08-23 08:43:54 -07:00