Commit Graph

1910 Commits

Author SHA1 Message Date
Amith Yamasani
d5e946a52c Hide TYPE_CHOICE_LEVEL since there's no visual representation for it yet.
Bug: 8704663
Change-Id: Ia9931e3844305c8f84c127506ffedf3a17eeb80d
2013-04-24 21:37:36 -07:00
Matthew Xie
b442d07469 Merge "Add hardware feature android.hardware.bluetooth.le" into jb-mr2-dev 2013-04-23 22:47:52 +00:00
Matthew Xie
a722772b28 Add hardware feature android.hardware.bluetooth.le
The feature is used to differ platforms that support bluetooth low
engery radio
bug 8369273

Change-Id: Ibe23da73f7ecfa854bdb8b8bfc1a32b8e3aeee56
2013-04-23 11:53:41 -07:00
Nick Pelly
edced26f16 Merge "Add ContentValues & CursorWindow to framework.aidl" into jb-mr2-dev 2013-04-23 00:07:19 +00:00
Nick Pelly
bb392ba5f7 Add ContentValues & CursorWindow to framework.aidl
By adding these stubs, they will be automatically added to framework.aidl
in sdk builds.

This makes it easier for unbundled apps to pass these objects across
AIDL calls.

ContentValues & CursorWindow are already public Parcelables. It is an
oversight that they were not already in framework.aidl.

There are a lot of other public Parcelables that are missing from
framework.aidl. This just fixes two commonly requested ones.

Change-Id: If61e19b1206da1680413d9ea03de87a90b6d233e
2013-04-23 08:30:34 +10:00
Dianne Hackborn
f1ae269c06 Follow up on issue #8159072: Spinner widget should be RTL'ized
Only allow through changing direction configs for drawables.

Explicitly map layout direction values to an index in the
preload arrays.

Drawables that don't vary by configuration should go in to both
the rtl and ltr preloads.

Change-Id: Ib92dd11738082a795e02d1d4191adb54702d651c
2013-04-19 14:50:27 -07:00
Amith Yamasani
e37c8f781a Merge "Improve API and documentation" into jb-mr2-dev 2013-04-19 19:10:02 +00:00
Amith Yamasani
3b458ad9ee Improve API and documentation
API for querying accounts visible to a specific package.

Improve API and docs for device owner.

Bug: 8657158
Change-Id: I01b8701534f64b383391508a49ae93ed21f22ae0
2013-04-19 12:07:46 -07:00
Fabrice Di Meglio
b08aa2354f Merge "Improve fix for bug #8159072 Spinner widget should be RTL'ized" into jb-mr2-dev 2013-04-19 17:58:47 +00:00
Fabrice Di Meglio
b9a13b892e Improve fix for bug #8159072 Spinner widget should be RTL'ized
- populate the preloaded drawable cache with only LTR drawables
when the layout direction during preloading is LTR. Populate
the cache with only RTL drawables when the layout direction during
preloading is RTL
- only preload drawables that dont have a dual LTR/RTL version

Change-Id: I7807bdc031b99102609efda75042a9500d96065c
2013-04-18 19:57:24 -07:00
Amith Yamasani
7e99bc02c8 Modify restrictions bundle per api council recommendations
Use a Bundle for persisting and passing to the application, but use a
list to return data back from an application that's exposing restrictions.

Changed the xml reading/writing code to store the value type in the Bundle
so that it can be reproduced when reading. Earlier we were assuming only
String and String[].

Bug: 8633967

Change-Id: I523d5553728edcf28a1e9d432f490b4956f34215
2013-04-17 10:44:44 -07:00
Amith Yamasani
e993ae197b Allow non-system apps to use restricted accounts
Anyway they need to request account access and user will be asked to approve access to the account
at runtime.

Bug: 8617168
Change-Id: I31de852b9bb25f496becc3e6470265b5c330e6ad
2013-04-15 13:42:57 -07:00
Amith Yamasani
e188c984dd Merge "Introducing manifest flag requiredAccountType" into jb-mr2-dev 2013-04-13 22:54:01 +00:00
Amith Yamasani
ccbe389b4d Introducing manifest flag requiredAccountType
This can be used by apps that won't work without an account of that
type in the limited user environment. This way we can avoid letting
users select these apps when setting up a limited user.

Bug: 8600261
Change-Id: Iaa0dd5ff88e89fa7a1d8a4e70317290268411bdb
2013-04-12 17:52:42 -07:00
Dianne Hackborn
0acc1931d3 Add a little more resource load tracing.
Change-Id: Id797adb67ab411d5b1a1c223863d3bb4655d10b1
2013-04-12 17:49:17 -07:00
Dianne Hackborn
f7be4800df Add new resources trace, also trace apk dex loading.
Change-Id: Ia48566efb21ee018659bd976ddb3a0f4997b9a3a
2013-04-12 14:53:10 -07:00
Christopher Tate
5adae45add Merge "Document the behavior of 'null' values in SharedPreferences" into jb-mr2-dev 2013-04-12 01:41:01 +00:00
Fabrice Di Meglio
f5c757c629 Merge "More fix for bug #8159072 Spinner widget should be RTL'ized" into jb-mr2-dev 2013-04-12 01:03:33 +00:00
Dianne Hackborn
7721664288 Merge "Implement #7341342 API request: way to determine current orientation..." into jb-mr2-dev 2013-04-12 00:08:13 +00:00
Dianne Hackborn
b9ec1ac51b Implement #7341342 API request: way to determine current orientation...
...to allow for orientation locking

This doesn't add an API to get the current orientation, since that is
inherantly racy.  Instead there is a new "locked" orientation mode that
locks the screen into whatever the current rotation is.

While at it, added a few other useful orientation modes.

Change-Id: I5c369e6511cb72294e9e922ea8acffd770df9440
2013-04-11 17:07:40 -07:00
Christopher Tate
9a413f8ffa Document the behavior of 'null' values in SharedPreferences
Bug 7892422

Change-Id: Ib898fd0921d57871d4caecb9042c479271c7ad60
2013-04-11 16:01:18 -07:00
Fabrice Di Meglio
dc25d25333 More fix for bug #8159072 Spinner widget should be RTL'ized
- fix DrawableContainerState.getChangingConfigurations() to take care about its children
- make Resources.verifyPreloadConfig() return false when the changing configuration
contains layout direction bits (this is when a Drawable is having different version
for LTR and RTL layout directions)
- use constant state instead of the resource type value for checking if we can
preload the drawable
- fix typo

Change-Id: Idd64caf0fbe0f5cfd5ffe09343e84bafa9446ea5
2013-04-11 13:38:57 -07:00
Nick Kralevich
32eb5b1824 Optional <uses-permission> not yet supported.
Change-Id: Ieaa97a29db75161f35905ff340b2c525bbf50612
2013-04-11 10:20:09 -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
Nick Kralevich
73f2d3c79e Error on conflicting <uses-permission>
Don't install packages where we have multiple, conflicting
<uses-permission> lines for the same permission.

For example, a package which contains:

<uses-permission android:name="android.permission.INTERNET" android:required="false" />
<uses-permission android:name="android.permission.INTERNET" android:required="true" />

will now fail to install.

In addition, this change slightly refactors the code, and creates a new
parseUsesPermission() method.

Change-Id: I0f4bb8b51dc4a0c5b73458a70f706e19829275d2
2013-04-04 17:12:00 -07:00
Nick Kralevich
38f130e19a PackageParser: ignore <uses-permission> android:required on older apps
Don't honor <uses-permission android:required="false"> on older apps.
Lots of apps in the wild are improperly using this, and we don't
want to break them.

Bug: 8528162
Change-Id: I6e0a10bc9feac58d13ef624239c6b91e9fc34590
2013-04-04 13:19:10 -07:00
Jeff Sharkey
0f8e8b03eb Merge "Warn when exposing file:// Uris beyond a process." into jb-mr2-dev 2013-04-03 23:28:07 +00:00
Kenny Root
75827d4a31 Merge "Add direct API to get ManifestDigest" into jb-mr2-dev 2013-04-03 20:27:43 +00: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
Justin Koh
d378ad74c6 Add global key configuration file
Add global key configuration file. A global key is one that is handled by
PhoneWindowManager before dispatching and sent to a given component via
broadcast instead of going to the foreground app.
Bug: 8510681

Change-Id: Ic6a8e559680d005613ed22874b27eb78bbfc4499
2013-04-02 18:09:27 -07:00
Kenny Root
6c918cec31 Add direct API to get ManifestDigest
This makes it faster for applications that don't want to collect all the
certificates but do want the AndroidManifest.xml digest.

Bug: 8528639
Change-Id: Ide9498d0981188960af194a9568387337c075bcc
2013-04-02 14:22:03 -07:00
Amith Yamasani
9e8ba8f273 Merge "Improve RestrictionEntry API" into jb-mr2-dev 2013-03-30 01:47:33 +00:00
Amith Yamasani
86118baa4f Improve RestrictionEntry API
More getters and setters, better naming.
New extra defined for returning a custom intent that handles showing the
   restrictions UI.

Change-Id: I2ee0cdb4edd99e71a9004ff5e929dbe243b45557
2013-03-29 17:28:47 -07:00
Matthew Xie
84e594f7db Merge "Unhide Bluetooth Low Energy public APIs" into jb-mr2-dev 2013-03-28 23:04:48 +00:00
Matthew Xie
ddf7e4756c Unhide Bluetooth Low Energy public APIs
Updated API headers. Add BluetoothManager to be retrieved by
context.getSystemService(Context.BLUETOOTH_SERVICE).
LE scan functions are placed in BluetoothAdapter
The GATT API are device driven instead of a profile-driver.
bug 8450158

Change-Id: I424a4cedaac3ef8120a05996500008dd210d2553
2013-03-28 15:36:10 -07:00
kmccormick
80ab68ce23 am 5c3ddcd1: am 425c3d5f: am 99049335: am 3ed65cb3: am 689e827a: Merge "Doc update: superceeded > superseded" into jb-mr1.1-docs
* commit '5c3ddcd14b79c4737ea06f68d8efd39543d60382':
  Doc update: superceeded > superseded
2013-03-28 15:30:46 -07:00
kmccormick
5c3ddcd14b am 425c3d5f: am 99049335: am 3ed65cb3: am 689e827a: Merge "Doc update: superceeded > superseded" into jb-mr1.1-docs
* commit '425c3d5f59f1e315cdbdd5f7530c4380aabf76ab':
  Doc update: superceeded > superseded
2013-03-28 15:27:54 -07:00
kmccormick
425c3d5f59 am 99049335: am 3ed65cb3: am 689e827a: Merge "Doc update: superceeded > superseded" into jb-mr1.1-docs
* commit '99049335a604cae3f515fce32bc5f1b27fe8d29b':
  Doc update: superceeded > superseded
2013-03-28 15:26:25 -07:00
kmccormick
ac66b85a04 Doc update: superceeded > superseded
"Bug: 5935672"

Change-Id: Ie2324d00d454cf3f3f3ed422dea2017b8a7a4c54
2013-03-28 15:19:06 -07:00
Amith Yamasani
e494a81f9b Merge "Restricted account visibility" into jb-mr2-dev 2013-03-28 20:31:44 +00:00
kmccormick
24b8947f62 resolved conflicts for merge of 603f987f to jb-mr2-dev
Change-Id: I4a130dad9d4669799f5d477f67e0f9a6a04381ca
2013-03-27 19:23:51 -07:00
kmccormick
603f987f14 am 418172bf: am 19840a8d: am 65c66c74: am 6e6e861a: Merge "Doc change: Fix typo DONT_DELTE" into jb-mr1.1-docs
* commit '418172bf8823016785526b433801d44a4630f276':
  Doc change: Fix typo DONT_DELTE
2013-03-27 18:59:42 -07:00
kmccormick
418172bf88 am 19840a8d: am 65c66c74: am 6e6e861a: Merge "Doc change: Fix typo DONT_DELTE" into jb-mr1.1-docs
* commit '19840a8d40139a12469ef92c3541f2a433d5ae85':
  Doc change: Fix typo DONT_DELTE
2013-03-27 18:57:27 -07:00
Amith Yamasani
0ac1fc9d23 Restricted account visibility
When accounts are shared to a restricted/limited user, apps can
opt-in to viewing accounts of a certain type. Other shared accounts
are not visible to the app.

App would specify the account type in the manifest <application> tag
with the attribute restrictedAccountType="foo.bar", where "foo.bar"
is the account type as defined by the authenticator.

Change-Id: I7586da04d6d6d32aae15adc6b1366f325bb07384
2013-03-27 18:56:08 -07:00
kmccormick
30498b4182 Doc change: Fix typo DONT_DELTE
"Bug: 8273156"

Change-Id: I6ba2e780d1a8c2b7d1771e93125a10b228227020
2013-03-27 17:56:13 -07:00
Nick Kralevich
98ea19ed24 Merge "Reenable optional permissions parsing and expose APIs" into jb-mr2-dev 2013-03-28 00:13:45 +00:00
Nick Kralevich
5992898755 Merge "Add buildPermissionRequestIntent to PackageManager" into jb-mr2-dev 2013-03-28 00:11:26 +00:00
Nick Kralevich
828c16f140 Reenable optional permissions parsing and expose APIs
Modify the package parsing code to understand optional permissions
(android:required="false"). This is essentially a rollback of
e824120016 with some minor changes.

Expose the requestPermission API to third party apps. This allows
an app to request an Intent which, when passed to
startActivityForResult, will prompt the user to approve permissions
for an app.

In the event we decide to not launch with this feature, this change
can be rolled back.

Change-Id: Ie3626deae9b16e510323f94a2c80377f7c84b26f
2013-03-27 16:57:33 -07:00
Nick Kralevich
035f80d7c7 Add buildPermissionRequestIntent to PackageManager
Add the buildPermissionRequestIntent API to PackageManager. This allows
an app to request an Intent which, when passed to
startActivityForResult, will prompt the user to approve permissions
for an app.

Currently, the API is @hide.  It will be unhidden in a future change.

Change-Id: I4ec677002afa799a6eb5c2657c28452c91012436
2013-03-27 16:55:27 -07:00