Commit Graph

1261 Commits

Author SHA1 Message Date
Emily Bernier
d65b268fcd am 9b8abb5a: am ce70311b: Merge "Add user restrictions (credentials, user removal)" into jb-mr2-dev
* commit '9b8abb5abde4264b6ed4e022804c743faf68323d':
  Add user restrictions (credentials, user removal)
2013-04-12 13:29:35 -07:00
Emily Bernier
ce70311b67 Merge "Add user restrictions (credentials, user removal)" into jb-mr2-dev 2013-04-12 20:21:36 +00:00
Jeff Brown
b97ebedeb3 am dc5711ea: am bf26c9cf: Merge "Ensure looper quits after all other messages are handled." into jb-mr2-dev
* commit 'dc5711eaef8662d5299f0088edf6e47fff77a872':
  Ensure looper quits after all other messages are handled.
2013-04-11 21:11:08 -07:00
Jeff Brown
024136f57e Ensure looper quits after all other messages are handled.
Bug: 8596303
Change-Id: Ie8bfbbe810f5ade2afd870c8e675ce1353a80e5d
2013-04-11 20:40:04 -07:00
Emily Bernier
b223f73a69 Add user restrictions (credentials, user removal)
Created constants in current.txt and UserManager.java, modified restrictions access in UserManagerService.java.

Change-Id: If8d778d84af81dcbf5784f6e0afd9ef966cc8ecf
2013-04-11 19:56:49 -04:00
Jamie Gennis
3e4e221e6d am 8a675b9a: am 6e8a2dd3: Merge "Trace: unhide app tracing APIs" into jb-mr2-dev
* commit '8a675b9aca36fdccdefd67d20128c9b5bc03644a':
  Trace: unhide app tracing APIs
2013-04-11 14:58:07 -07:00
Jamie Gennis
6e8a2dd3e6 Merge "Trace: unhide app tracing APIs" into jb-mr2-dev 2013-04-11 19:47:25 +00:00
Jamie Gennis
5800fc881e Trace: unhide app tracing APIs
Change-Id: I48316623fe0394d3fe77e9abca3f6dbf791d0c08
2013-04-10 17:50:32 -07:00
Dianne Hackborn
ea13f6ff99 am a92e95e5: am 064fab54: Merge "Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats" into jb-mr2-dev
* commit 'a92e95e5d9c7e6a35541708a0a51ce9b54704b17':
  Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats
2013-04-10 14:22:31 -07:00
Dianne Hackborn
2323dd8d1e Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats
Bluetooth GID was wrong and pointless and dumb and now gone.

Change-Id: Ibde563ef0c10c6d316428e1e683b013005b934d4
2013-04-10 12:50:12 -07:00
Jamie Gennis
097fc7ef72 am bb2e031a: am 65b08486: Merge "Add APIs for application-generated systrace events" into jb-mr2-dev
* commit 'bb2e031ace9072a0bd71f6316269f3060f04aa27':
  Add APIs for application-generated systrace events
2013-04-09 15:39:55 -07:00
Jamie Gennis
f9c7d6bc15 Add APIs for application-generated systrace events
This change adds new APIs to enable applications to generate custom Systrace
begin/end events.  Application-generated events use the ATRACE_APP_TAG tag,
which is enabled only if either the application has declared itself debuggable
in its manifest or ro.debuggable is set to 1 on the device.

Change-Id: I311d09e2e6ed1a30f5ffa84907f250e11cc0d48d
2013-04-09 11:59:43 -07:00
Jeff Brown
b437a79b05 resolved conflicts for merge of 21dffd5d to master
Change-Id: I37c48dee471c9d43f19c1fe4a01f70db53e2441f
2013-04-08 19:05:15 -07:00
Jeff Brown
3a2854bcee Merge "Queues, queues, queues and input." into jb-mr2-dev 2013-04-08 23:59:24 +00:00
Jeff Brown
f9e989d5f0 Queues, queues, queues and input.
Redesigned how ViewRootImpl delivers input events to views,
the IME and to native activities to fix several issues.

The prior change to make IME input event delegation use
InputChannels failed to take into account that InputMethodManager
is a singleton attached to the main looper whereas UI may be
attached to any looper.  Consequently interactions with the
InputChannel might occur on the wrong thread.  Fixed this
problem by checking the current thread and posting input
events or callbacks to the correct looper when necessary.

NativeActivity has also been broken for a while because the
default event handling logic for joysticks and touch navigation
was unable to dispatch events back into the native activity.
In particular, this meant that DPad synthesis from touch navigation
would not work in any native activity.  The plan is to fix
this problem by passing all events through ViewRootImpl as usual
then forwarding them to native activity as needed.  This should
greatly simplify IME pre-dispatch and system key handling
and make everything more robust overall.

Fixed issues related to when input events are synthesized.
In particular, added a more robust mechanism to ensure that
synthetic events are canceled appropriately when we discover
that events are no longer being resynthesized (because the
application or IME is handling or dropping them).

The new design is structured as a pipeline with a chain of
responsibility consisting of InputStage objects.  Each InputStage
is responsible for some part of handling each input event
such as dispatching to the view hierarchy or to the IME.
As a stage processes an input event, it has the option of
finishing the event, forwarding the event to the next stage
or handling the event asynchronously.  Some queueing logic
takes care to ensure that events are forwarded downstream in
the correct order even if they are handled out of order
by a given stage.

Cleaned up the InputMethodManager singleton initialization logic
to make it clearer that it must be attached to the main looper.
We don't actually need to pass this looper around.

Deleted the LatencyTimer class since no one uses it and we have
better ways of measuring latency these days using systrace.

Added a hidden helper to Looper to determine whether the current
thread is the indicated Looper thread.

Note: NativeActivity's IME dispatch is broken by this patch.
This will be fixed later in another patch.

Bug: 8473020
Change-Id: Iac2a1277545195a7a0137bbbdf04514c29165c60
2013-04-08 15:31:47 -07:00
Jeff Brown
ae9d6aa6d9 am 4c2a7b23: am 4a706bc6: Merge "Correctly manage the lifecycle of IME InputChannels." into jb-mr2-dev
* commit '4c2a7b23f5f012cf00357035f840a32d4da20eb5':
  Correctly manage the lifecycle of IME InputChannels.
2013-04-05 14:09:41 -07:00
Jeff Brown
4a706bc6f1 Merge "Correctly manage the lifecycle of IME InputChannels." into jb-mr2-dev 2013-04-05 20:57:01 +00:00
Jeff Brown
1951ce86c2 Correctly manage the lifecycle of IME InputChannels.
InputChannels are normally duplicated when sent to a remote process
over Binder but this does not happen if the recipient is running within
the system server process.  This causes problems for KeyGuard because the
InputMethodManagerService may accidentally dispose the channel
that KeyGuard is using.

Fixed the lifecycle of InputChannels that are managed by the IME
framework.  We now return a duplicate of the channel to the application
and then take care to dispose of the duplicate when necessary.
In particular, InputBindResult disposes its InputChannel automatically
when returned through Binder (using PARCELABLE_WRITE_RETURN_VALUE).

Bug: 8493879
Change-Id: I08ec3d13268c76f3b56706b4523508bcefa3be79
2013-04-04 22:45:12 -07:00
Dan Morrill
e4d9a01bfc Phase 1 of refactoring SystemServer.
SystemServer is currently a monolithic class that brings up key system
services. This change is the first phase of refactoring it to be more
configurable. Specifically, it adds a set of on/off switches used to control
startup of individual services. Future plans include finer grained controls
and a more explicit and consistent startup sequence for these services.

Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
2013-04-04 09:49:22 -07:00
Ying Wang
552d7c1099 am 6690203c: am 0fa30372: Fix doc build.
* commit '6690203c7ff16ce4fcf3cc9a9d305d7acbcc4428':
  Fix doc build.
2013-04-03 23:05:07 -07:00
Ying Wang
0fa30372c7 Fix doc build.
Change-Id: I954a45866d968b0571040ba99cc93b818d02aeb5
2013-04-03 22:57:31 -07:00
Jeff Sharkey
5c1994eeff am 04e740a6: am 0f8e8b03: Merge "Warn when exposing file:// Uris beyond a process." into jb-mr2-dev
* commit '04e740a65e2399c4a4b211408bd84f2d545d9f4a':
  Warn when exposing file:// Uris beyond a process.
2013-04-03 16:33:52 -07:00
Jeff Sharkey
a14acd20b8 Warn when exposing file:// Uris beyond a process.
Check for file:// Uris inside Intents, ClipData, Notifications and
RemoteViews when StrictMode option is enabled.

Also introduces Intent.prepareToLeaveProcess() to uniformly handle
Intents about to leave an app process.

Bug: 8529070
Change-Id: I8efb43877cbc5f21eb029fc6492b3ee1415059ef
2013-04-03 11:45:44 -07:00
Jeff Brown
76703d8fe5 am 21b41af7: am d42ae93c: Merge "Make MessageQueue and Looper final." into jb-mr2-dev
* commit '21b41af7ea418be8e0ec94800bb2d0cc12c4965e':
  Make MessageQueue and Looper final.
2013-04-02 11:03:04 -07:00
Jeff Brown
67fc67cf3e Make MessageQueue and Looper final.
Applications already cannot subclass these classes because
their constructors are not visible.

Change-Id: Id979d86dd05f7bcc888fe4ea499ab9b95d3d5dde
2013-04-01 14:27:57 -07:00
Amith Yamasani
bb49e8573e resolved conflicts for merge of 15935aad to master
Change-Id: I9664186a62cf7b11844c6a14967f5b8c2b67c289
2013-03-30 19:26:37 -07:00
Amith Yamasani
27db46850b Block access to accounts for limited users.
Make sure that apps that have access to restricted accounts can see them.
If they don't have access, they shouldn't be able to add a new account either.
Show an error message in the account picker if the user/app is not authorized.

Change-Id: I117c0b14d7d06c5ac4e66506df156b174567f5f3
2013-03-30 18:25:49 -07:00
Maggie Benthall
c78453f12b am b3c060a1: am c92342bb: Merge "Add user restrictions for bluetooth, sideloading, usb file transfer" into jb-mr2-dev
* commit 'b3c060a166e9d5a141a6500e4c443a20d4e002b6':
  Add user restrictions for bluetooth, sideloading, usb file transfer
2013-03-28 12:20:05 -07:00
Maggie Benthall
c92342bb01 Merge "Add user restrictions for bluetooth, sideloading, usb file transfer" into jb-mr2-dev 2013-03-28 19:15:46 +00:00
Robert Greenwalt
62a2cb0902 am 766991ae: am 5acc8632: Merge "Add BT - DataTracker connection" into jb-mr2-dev
* commit '766991ae212f50695754c3ded5d9815fb0d99b24':
  Add BT - DataTracker connection
2013-03-28 09:50:50 -07:00
Robert Greenwalt
665e1aed5e Add BT - DataTracker connection
Allows the external BT stack the means to communicate with
ConnectivityService during reverse tethering.

bug:8445208
Change-Id: Ice7dfb0b50c9481d359aed14a51372878185171c
2013-03-27 15:45:12 -07:00
Maggie Benthall
a12fccf57d Add user restrictions for bluetooth, sideloading, usb file transfer
Created constants for these in UserManager and current.txt. Also created
an accessor for individual user restrictions that takes the restriction key
(removing individual methods for particular restrictions).

Change-Id: Ibb5517cbcdffadd3925f52cbe67d7d525813faa9
2013-03-27 18:14:29 -04:00
Amith Yamasani
ee6a2a91f2 am 88139986: am e450c3cd: Merge "Fix docs build." into jb-mr2-dev
* commit '88139986284f30ae97727495b0e545ad41e60660':
  Fix docs build.
2013-03-26 16:28:46 -07:00
Amith Yamasani
ca050adc13 Fix docs build.
Change-Id: I959db164f0ed7badfcdf921ffa1bfff60b4fb952
2013-03-26 16:19:46 -07:00
Amith Yamasani
a1535223fe am f3dc9f0a: am df5e9fe1: Merge "Device Owner, a special kind of device admin" into jb-mr2-dev
* commit 'f3dc9f0aa91d2785b715f251b144487ec1b57ecc':
  Device Owner, a special kind of device admin
2013-03-26 15:31:33 -07:00
Amith Yamasani
df5e9fe181 Merge "Device Owner, a special kind of device admin" into jb-mr2-dev 2013-03-26 22:27:13 +00:00
Amith Yamasani
71e6c697e5 Device Owner, a special kind of device admin
A Device Owner cannot be uninstalled and is available to all users. It must
be registered before the device_provisioned flag is set.

Device admins can be disabled until used, but visible to device policy
manager, so that users wont be bothered with update requests.

Opened up a few related APIs for use by a system-installed Device Owner.

Change-Id: I847b5fe68c0f724863f778a67602b5bddc79d8e5
2013-03-26 15:09:08 -07:00
Michael Wright
0d0002b5bf am 1426be82: am c3d8790d: Merge "Remove misleading documentation from SystemClock" into jb-mr2-dev
* commit '1426be82b4440ce87ac7654cfd889ee7e174fb8f':
  Remove misleading documentation from SystemClock
2013-03-26 13:19:19 -07:00
Michael Wright
c8ee44d4b6 Remove misleading documentation from SystemClock
Change-Id: Ic97f911dca5c2b8911a4b2c670c4c79578f2cec0
2013-03-22 17:55:14 -07:00
Amith Yamasani
e32011e8c0 resolved conflicts for merge of 99755cd3 to master
Change-Id: I752c387c013c3deaad836df9b0c2294e7149a32a
2013-03-21 00:29:02 -07:00
Amith Yamasani
df2e92a535 Application restrictions API
Adds the ability for apps to export some restrictions. The restrictions
are presented in Settings based on the restriction type. The user's
selections are stored by UserManagerService and provided to the
target user's application as a list of RestrictionEntry objects which
contain the key, value(s).

Also introduce a manifest entry for system apps to request that the
app be automatically installed in all users, so that they cannot be
deselected by the owner user.

Shared account filtering for non-whitelisted apps.

Change-Id: I15b741e3c0f3448883cb364c130783f1f6ea7ce6
2013-03-20 22:29:59 -07:00
Jeff Sharkey
e7a4e42d3d am 49ca328f: am debbeec5: Merge "Move deleteOlderFiles() to framework, tests." into jb-mr2-dev
* commit '49ca328fc0c3bdb090b323e5bae23bfb696e6099':
  Move deleteOlderFiles() to framework, tests.
2013-03-14 22:10:40 +00:00
Jeff Sharkey
d9526907d1 Move deleteOlderFiles() to framework, tests.
Supports both age and count based constraints.  Added light docs and
tests to verify behavior.

Bug: 8387555
Change-Id: If4d0dac8bc54ce705c2a339bc09a60ea748728b8
2013-03-14 15:04:12 -07:00
Scott Kennedy
547f1c42cd am 16c0cf0d: am b1b6efd0: Merge "Specify the size of the Map in the constructor" into jb-mr2-dev
* commit '16c0cf0deb94cb3cfb19a7c1e62fbb80ca1ee7d0':
  Specify the size of the Map in the constructor
2013-03-07 22:18:58 +00:00
Scott Kennedy
8ad7fbae87 Specify the size of the Map in the constructor
Change-Id: Ie3325f387cec72216cb70c1b764370e6f3dd1a3e
2013-03-05 19:46:43 -08:00
Dianne Hackborn
5d2bfa1604 Welcome, Key Lime Pie.
Change-Id: I00ebaffda975b368aa5f727963899e80a233c744
2013-03-05 10:28:34 -08:00
Jeff Sharkey
2e0da1ea5f Merge "Improve performance of storage measurement." into jb-mr2-dev 2013-03-02 06:14:51 +00:00
Jeff Sharkey
63d0a06799 Improve performance of storage measurement.
When calculating directory sizes of data living on emulated external
storage, translate the path to use the internal backing data, which
avoids going through the emulation layer.  It carefully retreats to
the original path when it runs into trouble.

Testing with a hierarchy of 10 directories deep and 2 directories
and 10 files wide at each level, this change improves performance
from 5900ms before to 250ms after; over 20 times faster (!).

Bug: 8172425
Change-Id: Ia7365416f091e102bf7345a49f7d7209a22580a9
2013-03-01 16:36:52 -08:00
Lorenzo Colitti
79751848d1 Expose clatd commands to NetworkManagementService.
For now, we only support running one clat at a time. This is
enforced by the netd ClatdController code.

Bug: 8276725
Change-Id: I8a50305f9182f4da0f80716081211625a0202583
2013-02-28 16:33:48 +09:00
Ian Rogers
7e112d51c4 am 14d0ab55: am de3c20bc: Merge "Track stack memory in MemoryInfo."
* commit '14d0ab55e983d314128bb7b3293023f4a237d991':
  Track stack memory in MemoryInfo.
2013-02-27 20:09:25 +00:00