Commit Graph

483 Commits

Author SHA1 Message Date
Roozbeh Pournader
2591cc8630 Revert "Fix Build: Revert "Implement locale matching in LocalesList.""
This reverts commit 9c2f0d751d.

The original commit, 17b2b2d458, had
missed adding api/test-current.txt.

Change-Id: I26a6325b3cee4c2412ee599f002cc6addb35d36f
2015-12-08 22:28:30 -08:00
Ian Pedowitz
9c2f0d751d Fix Build: Revert "Implement locale matching in LocalesList."
This reverts commit 17b2b2d458.

Change-Id: I93c010054648a7127172a16c6ef3eb5f13604fd7
2015-12-09 02:17:32 +00:00
Roozbeh Pournader
17b2b2d458 Implement locale matching in LocalesList.
The algorithm tries to find the first locale in the locale list
(usually from the user preference) that somewhat matches one of the
locales supported (usually from the list of locales supported by the
system or an app).

Locales match if both their language and their likely script is the
same. Otherwise they don't.

Bug: 25800576
Change-Id: I4fbc3f44ab16d41efebbf941e94a0bb30d598f82
2015-12-08 15:03:39 -08:00
Dianne Hackborn
87a845ce3b Merge "Fix issue #25656837: Static initialization order bug in ArrayMap leading to NPEs" 2015-12-08 00:37:43 +00:00
Dianne Hackborn
894ce60a9f Fix issue #25656837: Static initialization order bug in ArrayMap leading to NPEs
Change-Id: Iec3532ba167b5a09a5e505997e9e6035033f713f
2015-12-04 13:25:48 -08:00
Neil Fuller
1d4775fbb2 Merge "Add thread safety documentation" 2015-12-04 11:09:53 +00:00
Yohei Yukawa
789d8fdbd9 Make LocaleList Parcelable.
This is a preparation work to pass LocaleList from TextView to IMEs via
EditorInfo.

Marshalling and unmrshlling LocaleList via Parcel is actually not so
difficult.  We can reuse its internal data representation "localeTags"
as a canonical serialization format.

As for implementation, there are two choices.  One is making LocaleList
Parcelable and the other is having a utility method to do that.

This CL uses Parcelable approach so that not only Framework but also
application developers can reuse the code.

Bug: 22859862
Change-Id: Ib28363bd5ff74228d2abeaa95004ec8bed72bddd
2015-12-03 15:53:50 -08:00
Przemyslaw Szczepaniak
8a7c1606d8 Move StrictJarFile from libcore to framework
Bug: 25337946
Change-Id: Ib4fac6fa9f534b8654e5ca158bbaedb2393772ba
(cherrypicked from 43ea2cc2a81926a6b2ca13d41f4eab089640129e)
2015-11-27 15:33:15 +00:00
Neil Fuller
bf0dc0fba7 Add thread safety documentation
An upcoming change will remove "synchronized" from the API docs. This change
documents those cases where the guarantees can be determined from code
inspection.

Bug: 25767152
Change-Id: I75083ce01513ed315222304fe3f34190d40748cb
2015-11-26 13:33:48 +00:00
Roozbeh Pournader
cf8c77464a Merge "Support LocaleLists in ActivityManagerService." 2015-11-19 23:44:22 +00:00
Roozbeh Pournader
8bca69858a Support LocaleLists in ActivityManagerService.
Also add a placeholder method for locale negotiation to LocaleList,
to be filled later.

There is no change in behavior expected by this CL yet. But once we
support setting the first locale to something the system doesn't
support, and implement the locale negotiation, this will cause the
system locale to be set to the first supported locale, instead of
just the default from Settings.

Change-Id: Iec983a5707daffb5bf54eac79ff0856a96631960
2015-11-19 14:30:05 -08:00
Doris Liu
804618d086 VectorDrawable native rendering - Step 2 of MANY
Introduced PathData in Java, which is effectively a thin layer around the
native instance. PathData holds the verbs and points which is being used
in path morphing/interpolation. The verbs and points can be interpreted
into skia path commands, which is now done in native and therefore saves
a handful of JNI calls during path creation.

Removed the old PathDataNode mechanism and changed the PathEvaluator
to use PathData instead.

Also added tests and a microbench. Also ran CTS tests for VectorDrawable
and AnimatedVectorDrawable, and passed all of the existing tests.

Change-Id: Ia166f5172ff031fe18b154327967f911a62caec1
2015-11-18 13:38:23 -08:00
Doris Liu
cdd23f9d45 Add hooks in JNI to start using native path parsing
Change-Id: Iaa0d3c2c1936c248146ed7f186a13e8e79be818e
2015-11-11 17:54:52 -08:00
Chet Haase
8240c97b01 Un-hide FloatProperty and IntProperty
These simple utility classes (used internally since Property was first introduced
way back in Jellybean) are the best way to avoid autoboxing when using the Property
approach to ObjectAnimator. But since their hidden, developers have to use the
autoboxing version (Property, the superclass) or know to come up with their own
primitive-optimized property subclasses.

This CL simply un-hides these two classes to make them usable outside of the framework.

Issue #21722783 Make [Int|Float]Property public

Change-Id: I7f3a456d108bf48587d711255d3577cce3ac5e24
2015-11-03 13:41:46 -08:00
Filip Gruszczynski
20aa0aed8c More granular reporting of size configurations.
There are two improvements in reporting size configurations:
1) duplicates are removed;
2) smallest width is reported separately;

Change-Id: I8f8235c99e6eefcae178e8d61e79ad0c4d6f1144
2015-10-30 10:14:17 -07:00
Mitchell Wills
61da59bd9c Merge "Fix TimeUtils.formatDuration for exactly one of a unit" 2015-10-26 23:53:57 +00:00
Roozbeh Pournader
e1e654d09e Merge "Pass the whole locale list down to Minikin." 2015-10-23 01:39:28 +00:00
Roozbeh Pournader
f036ead2a2 Pass the whole locale list down to Minikin.
Also, compute LocaleList's string representation at construction.
This is to further push the cost of doing costly operations related
to LocaleLists to construction time.

Change-Id: Ia55b8ce66b1088ff54cb42eb1e11149b5bd10f17
2015-10-22 13:14:13 -07:00
Teng-Hui Zhu
a992ab45ca Fix segment number for arcTo conversion
AOSP bug:
https://code.google.com/p/android/issues/detail?id=188594

Change-Id: Iaebb8ec7782658a1438cf973ed9a8799da0fdea3
2015-10-20 15:00:13 -07:00
Alan Viverette
2b4dc11566 Animate radial time picker selector during hour/minute transition
Also propagates XML attrs from time picker to radial view during
construction, which allows the hour colors & etc. to be changed
inline without needing to set the timePickerStyle theme attribute.

Bug: 20333885
Change-Id: Ib42b9f5b93b5d6ce1dcbaa05f99cef40c9f9a9d3
2015-10-02 15:29:43 -04:00
Adam Lesinski
1619ed4706 Fix security issues when using Parcel.setDataPosition() with untrusted input
When seeking forward in the Parcel, adding the extracted size to the Parcel.dataPosition()
can result in an overflow. Guard against this.

Bug:23909429
Change-Id: If37cdebbf05a92810300363d1a6ecd8b42b6da26
2015-10-01 20:48:23 +00:00
Mitchell Wills
f9a80cbbfe Fix TimeUtils.formatDuration for exactly one of a unit
Previously printing a duration where a unit (except ms) was one and the
next smallest unit was zero would result in the duration being being
expressed in the next smallest unit. For example 1m0s0ms would be
formatted as 60s0ms.

Update testFormatHugeDuration to supporting times > 999 days
The implementation was fixed in 3d1933c45f

Change-Id: I9d609f7a0f82755ea653a205293a6e3785a10d1e
2015-09-22 15:42:16 -07:00
Teng-Hui Zhu
17a1422a12 Fix implicit lineTo issue
b/23808876

Change-Id: I208e088bfc565ae0d09b826ceff6f9d3c5eb215f
2015-09-10 14:38:21 -07:00
Roozbeh Pournader
a23748a9ff Add LocaleList support to Paint and TextView.
This keeps the existing single-locale APIs working (and adds
parameter annotations to them), while adding an API for setting and
getting the whole locale list.  At the moment, the implementation
ignores the actual data in the locale list except for its primary
locale.

Also add a method to LocaleList to return the system's default locale
list. (Currently a one-member list just containing the system
default locale.)

Change-Id: Icea9d164ddae51f50dd71e18b5d91c96f233b8b8
2015-09-01 14:12:40 -07:00
Roozbeh Pournader
b46fdd427c Make res.Configuration support locale lists.
We also deprecate the locale attribute, but works around the cases in
which people would call it.

Also add various methods to LocaleList to support the features
Configuration requires.

Change-Id: Iacc537e5fc1a3d4c1ea7e5517347876ca4e07e0a
2015-08-27 17:54:01 -07:00
Roozbeh Pournader
0ba0d6bb18 Add first implementation of LocaleList.
This is a first implementation, just to get the basics in, so we can
experiement with how the system would interact with locale lists.

Change-Id: I75d386f24f693c6c1bdefc9386a7142aec2de37c
2015-08-19 15:31:08 -07:00
Dianne Hackborn
e337bd50e7 am 997a3688: am 4ce98e4e: am e92b1374: am ea5ce408: am 15f704e7: Merge "Fix issue #23122445: Add 420 density" into mnc-dev
* commit '997a368855117f4f3b80160bd0cc2dcc3f6841a5':
  Fix issue #23122445: Add 420 density
2015-08-12 01:08:27 +00:00
Dianne Hackborn
1e9c51a00a Fix issue #23122445: Add 420 density
Change-Id: I15c113eb7e22f1d882db071c007224746f9d408f
2015-08-11 17:18:53 -07:00
Dianne Hackborn
908109c1f9 am 0385e3e9: am 8e63bbfd: am efa4dee1: am 977d421a: am f0e5501e: Merge "Fix issue #22989030: Separate battery whitelists" into mnc-dev
* commit '0385e3e908fb9988bb2d2d0d15e32cb6a819b34e':
  Fix issue #22989030: Separate battery whitelists
2015-08-08 02:49:41 +00:00
Dianne Hackborn
4a503b1ece Fix issue #22989030: Separate battery whitelists
We now have a new whitelist you can put apps in, which
opts them out of the old battery saver mode and new app idle,
but doesn't keep them from going in to doze.  This is for a few
special cases that we had previously whitelisted for battery saver,
and inherited to the new modes...  ultimately we should figure out
how to get these apps out of the whitelist completely, but this
will help for now.

Apps in this new whitelist are not shown in the UI, because they
are still significantly restricted by not being able to operate
normally in doze.  This also means they are still visible in the
list of all apps for the user to be able to put them on/off the
complete whitelist if that is what they really want.

In the course of doing this, I needed to clean up code in the
network policy manager to better separate management of the
two firewall rules that now have different whitelists applied
to them.  This also hopefully just generally simplifies and cleans
up that code.  Hopefully!

Change-Id: I92e15f2f85899571dd8b049b5e3eb1354f55f353
2015-08-07 14:23:32 -07:00
Robert Greenwalt
374d91df94 Revert "DO NOT MERGE Enhance local log."
This reverts commit dd6f844129.

bug:22632129
Change-Id: Ibd4b9c35b66cb7d877085bc010fde45a682ba34f
2015-07-29 14:11:23 -07:00
Robert Greenwalt
dd6f844129 DO NOT MERGE Enhance local log.
to be reverted with ag/733658
bug:22632129

Change-Id: Id3899ee8e987ccc469394dd4d0c41465c48dc37e
2015-07-24 12:44:03 -07:00
Steve McKay
3b409d01b9 Push equals impl into SparseBooleanArray.
Also, implement hashcode, because it is naughty to not.

Change-Id: I2042dac6840cf07027871783a7b6763578fa805d
2015-07-22 11:53:14 -07:00
Steve McKay
4b3a13c1d0 Update DirectoryFragment to use RecyclerView.
Add MultiSelectMaanger class to manager selection on a RecyclerView instance.
There are several outstanding issues that still need to be addressed
surrounding Grid mode as the GridLayout manager doesn't support
automatic column count calculation.
Also, we're missing the puddle effect on touch...
And probably other stuff. But it all *mostly* works.
Oh, also. Footers are currently commented out.
Add traditional unit tests for MultiSelectManager.

BUG: 22225617
Change-Id: I3cd26a10683f42053556d463a5d2f0d2a0bbde84
2015-07-21 17:30:32 -07:00
Erik Kline
7523eb349e Log NetworkRequestInfo to get more detailed history
Bug: 21641983
Bug: 22235775
Bug: 22299819
Bug: 22358164
Change-Id: I48a2d162dd499a3590f06d805267a63822856969
2015-07-14 11:46:51 +09:00
Jeff Sharkey
e8a4b66960 Better handling of trim/benchmark results.
Request benchmarking of devices once per week during normal fstrim
maintenance window.  Tunable parameter gives us the ability to change
frequency through global setting.

Track individual benchmark and trim results for each volume, and
use scrubbed volume identifier (based on adoptiong age) when logging
stats to drop box.  Track last benchmark and trim time for each
volume separately.

Bug: 21831325
Change-Id: I53b3ed788f7820c2e5bceb2840339f5b4aada3f0
2015-07-01 15:48:34 -07:00
Robert Greenwalt
22b4c6a027 Add Validation logging.
Persist the last 20 lines of validation info for the last 10
networks.

bug: 21599856
Change-Id: I8124480cc9181eea2adb7eb6eabcd07c9506b6d3
2015-06-26 11:12:39 -07:00
Eino-Ville Talvala
0819c75680 Camera2: Remove HIGH_RESOLUTION level and modify FULL requirements
- Reword requirements for FULL level
- Remove HIGH_RESOLUTION level
- Add StreamConfigurationMap#getHighResolutionOutputSizes
- Clean up StreamConfigurationMap implementation
- Add 5-argument HashCodeHelper

Bug: 20945581
Change-Id: I75ad4b23e902192c96ed501e10c7d55fc0ad72a6
2015-06-22 14:21:22 -07:00
Dianne Hackborn
3d1933c45f Implement some control over ALLOW_WHILE_IDLE alarms.
Since these alarms allow you to bypass the idle restrictions,
we don't want them to be so open-ended like other alarms.  This
implements a policy where the alarm manager will only deliver these
types of alarms every X minutes to each application.  For this
initial implementation, X is 1 minute under normal operation and
15 minutes when in idle mode.

To do this, I needed to introduce a new internal allow-while-idle
flag for system alarms, which applications can't get, and doesn't
have these new restrictions.

Also tweaked how the alarm manager handles the alarm window, so it
doesn't change if the alarm gets rescheduld; the window is now always
what as computed based on the time when the alarm was first
given to it.

Finally, fix TimeUtils to be able to correctly print times that
are > 999 days.

Change-Id: Ibad8c6a7c14b0624b54e82267be23224b4c31e84
2015-06-12 12:37:35 -07:00
Dianne Hackborn
f16747db09 Add ArraySet to the SDK.
Also fix some documentation.

Change-Id: I46025c3b5450e7cd671135b99ff3b298e223651d
2015-06-11 13:53:13 -07:00
Adam Lesinski
31c05d1361 Doze: Use Settings.Global.DEVICE_IDLE_CONSTANTS instead of hardcoded constants
This will allow gservices to tweak the settings and experiment
with different values for various doze constants.

The values are encoded in a string as a key=value list. Ex:

inactive_to=5000,idle_factor=0.01

Bug:21640379
Change-Id: Ie98a0e4893f9b46a64d961d6c5c5169b8b8ad742
2015-06-11 12:30:47 -07:00
Christopher Ferris
1a4b8288ad Merge "Change wtf errors from ASSERT to ERROR." into mnc-dev 2015-06-10 00:25:32 +00:00
Selim Cinek
78528b22c2 Fixed a RTL layouting bug with LinearLayout
When the RTL properties of a horizontal LinearLayout
changed, nobody enforced the view to be layouted anew,
even though its layout is dependent on the layout
direction. This could lead to stale layouts being
temporarily layouted the wrong way.

Bug: 20495301
Change-Id: I979c8d86ee711626b2901b65ebdf007c1eb1c0fa
2015-06-09 18:33:19 +00:00
Christopher Ferris
2d073ba83c Change wtf errors from ASSERT to ERROR.
Calling println_native with the value of ASSERT will set the abort
message. Unfortunately, there are numerous cases where one thread aborts,
but before that thread can communicate with debuggerd, another thread
calls wtf, which overwrites the abort message from the original
failing thread.

Fix this by changing this to an error level log message.

Bug: 21490722
Change-Id: I9500e2e63eea96722602fdd46c86939c001a7c65
2015-06-09 10:51:43 -07:00
Jeff Brown
16422b25f7 Merge changes If241e329,Ib69b6987 into mnc-dev
* changes:
  Clarify docs on registerContentObserver.
  Add missing docs to StateSet.
2015-06-04 21:11:05 +00:00
Adam Powell
f6d9cd19e2 Add DENSITY_360
Add 360dpi as a supported screen density to closer match some
hardware's physical specifications. This gives a dp multiplier of
2.25.

Bug 19529059

Change-Id: Ibf9c768fba53765ea684ff228d24caf091f27a3e
2015-06-04 10:41:44 -07:00
Jeff Brown
57bf3d9c2d Add missing docs to StateSet.
Bug: 3370250
Change-Id: Ib69b69873cf8f583734d5305b5a0d73e9d97dee9
2015-06-01 16:33:30 -07:00
Dianne Hackborn
d23e0d6901 Update power manager to track uid state like netstats.
To follow the correct semantics for when restricts due to
device idle can be applied, power manager need to know about
uid process states like net policy so that it can allow
wake locks from apps that are in the foreground.

Since this is being added to a second place, I reworked things
so that the activity manager now keeps track of per-uid process
states and allows apps to register to listen to those, rather
than having to track lower-level process states and transform
them into an overall uid state.  Both net policy and power
manager use this new facility.

Change-Id: I77359164c40d0f36fe1ef296dd9f9c3062431148
2015-05-18 18:13:41 -07:00
Neil Fuller
d6a2135262 Remove FloatMath methods from the API
Also removing FloatMathTest. The tests are being
moved into a legacy CTS suite.

Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: I397fd6bcc4d988db6301245f9d47460bd6c28821
2015-05-07 13:16:18 +00:00
Jeff Brown
e7e9ccea32 Add float support to binary event log.
Bug: 20664753
Change-Id: I90456400b878f943e39cbddec45649662176e2aa
2015-04-28 17:53:32 -07:00