We allow each individual Resources object to select the best
Locale for the given APK. This allows one update to the configuration
instead of multiple updates, once the locale is chosen.
The Java locale is selected from the app context's locale.
Bug:28625993
Bug:27325465
Change-Id: I99e1e53f522e560f3b80bbd1e1c605f552dbdff0
Calling Configuration.setLocales with emtpy LocaleList may change the
layout direction to LTR. To clear the locales in Configuration without
layout direction change, introduce hidden API to Configuration.
Bug: 28695661
Change-Id: I47c339dffb83099bd329ddb60237dab27b05f593
Originally we went with the meta-data approach to make unbundling
easier, however with the amount of platform changes that the config
ended up relying on it would be better to focus on exposing it through
the platform.
Bug:28763009
Change-Id: Iaf80001b1980220cd2e1e05faf2dc86af41700e1
If <uses-sdk> tag is below <application> in AndroidManifest.xml then,
when activity is parsed, targetSdkVersion param is not yet set correctly.
Because of that we're defaulting to RESIZE_MODE_FORCE_RESIZEABLE and the
param resizeableActivity will be ignored.
This CL checks if resizeableActivity was set explicitly when targetSdkVersion
is less than N (or not set).
Bug: 28020462
Change-Id: I099f6c00dd50547ddea873e47dbb447869d0be6f
Since LocaleList needs to depend on android.os.Parcelable, we cannot let
that class belong to "android.util" package, which causes layering
violation.
Bug: 28819696
Change-Id: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18
Rename WindowLayout#minimalWidth and #minimalHeight to #minWidth
and #minHeight to be consistent with other APIs.
Bug: 28775586
Change-Id: Ib7dc26318c4391693ef23f908b4d6090138dd0d7
We need to make IIntentSender oneway... but when the system is
calling that for itself, it needs to be able to return a result code.
Solution: instead of directly calling the interface, we have a new
IPC through the activity manager. If the thing being used is the
activity manager impl, it can do the synchronous send and return
the result directly in place. If not, you only get asynchronous
sending and thus never a failure result back (too bad for you!).
Change-Id: I4096e5b00063e8dba66230585a2dfe67e35e8092
Correct and clarify the documentation for ContentValues.
Signed-off-by: Steve Pomeroy <steve@staticfree.info>
(cherry picked from commit 1276b5f29e)
Change-Id: Id6f4e93dcca64dd41daeb4066d804ff173f4747b
When installing an APK that supports multiple ABIs, the ABI installed
can be forced to the secondary ABI [i.e. On devices that support both
32 and 64 bit variants, the 32-bit version can be forced when it's
the secondary ABI.] In this case, instrumenting the class always tried
to use the primary ABI. Instead of blindly using the primary ABI and
dropping the secondary ABI, we propagate both ABIs and make a
decision on which one should be chosen.
Bug: 28406240
Change-Id: I7ebb2fd264d2281912afd30f6d73ccb460f9cf85
Instead of making multiple calls into the Bluetooth service,
make one call that can timeout. This helps prevent cases
when the Bluetooth process hangs and the system_server is calling into
it and causes a WATCHDOG restart.
Bug:28658141
Change-Id: I37778b7b6e508be420a21bdf23593ae89b38f5b8
1. Expand JavaDoc for ClipData.addItem to clarify how MIME types are affected.
2. Add "text/uri-list" to MIME type list only for non-content URIs (as JavaDoc explicitly says).
Bug: 28564003
Change-Id: I074daf34310323725690a9ba2c7dff0542ed6349
Also removed the obsolete text regarding iconic representation
and fixed some whitespace.
Bug: 28536304
Change-Id: I55ca681b86a121018903a41fff228e7c6126c7e7
The multi-package APKs feature was not validated and is now disabled.
Also the ephemeral work was postponed which requires disabling of the
ephemeral cookie APIs.
bug:28514747
Change-Id: Iab7f11c503a76bcc414408dfebdf200843db814e
This commit makes the LocaleList constructor require non-null
arguments in all cases, and fixes all uses of LocaleList that could
previously pass a null to use getEmptyLocaleList() instead (which is
preferred anyway becaues it avoids an allocation.
Bug: 28460668
Change-Id: I4b8b3cfa82914412731c2b79003951c46cb2afa1
- Change back the throttling quota to 10 calls / day
- Foreground apps are no longer throttled, and when an app comes to
foreground the call counter will be reset.
- When the system locale changes, reset throttling for all packages
for all users.
See LocalService.onSystemLocaleChangedNoLock() for how it's performed.
Because the reset must happen before any other apps have a chance to
publish shortcuts, the logic is not straightforward.
- Added an internal API to reset the throttling upon inline-reply
from a notification.
- Stop supporting icons from "content:" URIs
- Improved javadoc on several APIs.
Also internal refactor needed to this:
- ShortcutUser.getAllPackages()/getAllLaunchers() are no longer
accessible to outer code to prevent accidentally adding/removing the
content. Outer code should use forAllPackages() / forAllLaunchers().
Bug 27923857
Change-Id: I002511193d1d33718163bb1dabe77610bde58198
Previous assumption was ActivityInfo was completely initialized in
PackageParser, but that isn't the case with the ResolverActivity
whose ActivityInfo in populated in PackageManagerService.
This was causing the device to exist multi-window mode since
the default ActivityInfo.resizeMode was 0 (RESIZE_MODE_UNRESIZEABLE).
Bug: 28378995
Change-Id: I46e58d434f2a0274c461a8ff00b59ed3d2a1dd52
By declaring a <restrict-update> tag in its manifest, a system package
can restrict its update to be the singular package that has the same
given hash. An update's hash is the SHA-512 across all its APKs [i.e.
for splits, the SHA-512 is calculated over the concatenation of the
base plus all splits].
The restriction only applies to system packages.
Bug: 28398205
Change-Id: Iec493fc8ef27edee53f1d437cb0caaa78782f329
If an app undergoes restore during install, it is considered 'started'
and the FIRST_LAUNCH broadcast needs to go out. However, this must not
take place until after the restore operation has fully completed, in
order to avoid publishing the app's existence while it may still be in
an incoherent state. We now make this broadcast part of POST_INSTALL
in the restore case.
Bundled apps are in the 'started' state regardless, so no FIRST_LAUNCH
broadcast is ever sent for them -- this CL does not change that
existing behavior even in the case of setup-time data restore of
factory-installed packages.
Bug 28173625
Change-Id: Ibcc3758576662dc447b75476173a0d008a9fe4da
Framework edition
If a loader is already started when we try to rollback a content
change, force a new load instead of simply setting the flag to refresh
next time.
Bug 28406183
https://code.google.com/p/android/issues/detail?id=208278
Change-Id: If11d79088d30dd2dc48cf1b3d2882f3712b6cddb