Commit Graph

510 Commits

Author SHA1 Message Date
Ritesh Reddy
70cffc57e5 Merge "Enabling SoftAP Configuration Backup." into mm-wireless-dev
am: c4a1188afd

* commit 'c4a1188afd81b4b773e30ec184839bc1a82b355d':
  Enabling SoftAP Configuration Backup.
2016-02-10 18:04:38 +00:00
Ritesh Reddy
aeb4c06013 Enabling SoftAP Configuration Backup.
SoftAp Conf is backed up as a serialized WifiConfiguration
object.

Change-Id: Ib7f4d130600313a67b710b45df274e15f0baad24
2016-02-08 10:33:13 +00:00
Doris Liu
43a5591c8d Merge "Revert "Revert "VectorDrawable native rendering - Step 4 of MANY""" 2016-02-05 21:31:06 +00:00
Doris Liu
766431aa57 Revert "Revert "VectorDrawable native rendering - Step 4 of MANY""
This reverts commit 5a11e8d0ba.

Change-Id: I7a48b59c4f930dad65ddc8590c25a12636244ea2
2016-02-04 16:29:51 -08:00
Roozbeh Pournader
fee4484637 Various LocaleList cleanups
- Remove the LocaleList#getPrimary() API. It had become confusing
  after locale negotiation was completely implemented. For example,
  it could create the confusion that calling getPrimary() on the
  default locale list would provide the default locale, etc.
- Use the adjusted locale list from LocaleList.getAdjustedDefault()
  in Paints created with no locale list provided.
- Change LocaleList#get() to treat out of bound indexes from both
  negative indexes and too large indexes the same way.

Bug: 26984092
Bug: 26193251
Bug: 26834387
Change-Id: I75f77aea6b75e38793ed8477e5e5a4420d5e6d85
2016-02-04 15:44:03 -08:00
Doris Liu
5a11e8d0ba Revert "VectorDrawable native rendering - Step 4 of MANY"
b/26949340 and b/26975469, b/26975079 as well 

This reverts commit f276acd984.

Change-Id: I4b55177daf0d289bc03604c71fd4bf579f65073a
2016-02-04 20:59:00 +00:00
Doris Liu
f276acd984 VectorDrawable native rendering - Step 4 of MANY
This CL runs VectorDrawable animation on RenderThread. The changes in this CL
include:
- Convert all the animators in AnimatorSet for AVD into a set of RenderNodeAnimators.
- Hook up the new animators with RenderThread
- Add drawOp in RecordingCanvas for drawing VD so that during the animation
  on RenderThread, all the property changes on VD can be reflected on the screen.

TODO:
- Implement reverse and reset for AVD.

Change-Id: I2df1d754f2db0ad098d9c15dde4bb2bdfafc2315
2016-02-02 15:04:01 -08:00
Alan Viverette
d7bbc8a92f Add DENSITY_DEVICE_STABLE constant
The existing DENSITY_DEVICE gets updated by ActivityThread following
configuration changes that affect density, so just a docs update there.

Bug: 26854123
Change-Id: I69dfca99a6038ed9cf8b2f2c007cdbc4a399dd8a
2016-01-29 15:40:38 -05:00
Roozbeh Pournader
834641b390 Move locale negotiation to ResourcesManager
Previously, locale resolution happened at Resources level, which
could result in different Resources in the same app using different
locales.

This change moves the locale negotiation to ResourcesManager, which
remembers the locales supported by each Resources as they are
created, and negotiates the locale based on their union.

It also makes sure that the old model of apps getting the default
locale by accessing it through the Configuration's locale attribute
continues to work, since the negotiated locale will be moved to the
top of the list before Resources are created and when they are
updated with a Configuration change.

Bug: 25800576
Bug: 26404653
Change-Id: I0dd81df288327fd8d1229188c9544ee2209c161a
2016-01-25 19:23:38 -08:00
Roozbeh Pournader
2d05094209 Merge "Implement smarter locale resource selection" 2016-01-21 22:17:31 +00:00
Roozbeh Pournader
b927c559e1 Implement smarter locale resource selection
* Add support for determining script from language and region.
* Add support for determining special parents of locales.
* Add support for smart comparison of locales with only a difference
  in region, using the locale parentage tree.
* Fix LocaleData.matchScore() to not fallback to old locale matching
  behavior if we can't determine a script.
* Allow four-character variant codes. (Previously, only five- to
  eight-character variant codes were allowed.)

Bug: 7296673
Bug: 26589793
Change-Id: Ibde0a48c0564ff383b41068095a5cbacfe7b94bc
2016-01-21 13:47:22 -08:00
Rubin Xu
900fe2410d Merge "Add JNI bridge to the new logd security buffer." 2016-01-19 23:31:32 +00:00
Rubin Xu
75431fbe36 Add JNI bridge to the new logd security buffer.
Bug: 26127031
Bug: 22860162
Change-Id: I14e08850ece7d9c0229b7213ee2e25cd089defc1
2016-01-15 17:18:49 +00:00
Alex Klyubin
e415718502 Verify APKs using APK Signature Scheme v2.
This makes Package Manager check whether an APK is signed using APK
Signature Scheme v2 and, if it is, verify the APK's signatures using
that scheme rather than the usual JAR signature scheme.

APK Signature Scheme v2 is a whole-file signature scheme which aims
to protect every single bit of the APK as opposed to the JAR signature
scheme which protects only the names and uncompressed contents of ZIP
entries.

The two main goals of APK Signature Scheme v2 are:
1. Detect any unauthorized modifications to the APK. This is achieved
   by making the signature cover every byte of the APK being signed.
2. Enable much faster signature and integrity verification. This is
   achieved by requiring only a minimal amount of APK parsing before
   the signature is verified, thus completely bypassing ZIP entry
   decompression and by making integrity verification parallelizable
   by employing a hash tree.

Bug: 25794543
Change-Id: If59fe013f2e62bac7677bb20e65f6061b91eec2e
2016-01-13 09:36:41 -08:00
Roozbeh Pournader
a514b63749 Merge "Support properly setting and getting LocaleLists" 2016-01-11 17:48:53 +00:00
Roozbeh Pournader
2b5ab18294 Support properly setting and getting LocaleLists
Two setters are added, a hidden one for fast unsafe calls when the
input is known to be OK, and a public one for normal users.

A hidden constructor is also added for adjusting locale lists and
moving a locale to the front.

Finally, an indexOf method is added. It's only used in testing now,
but it's potentially useful for others too.

Bug: 26404035
Change-Id: I4ab3140134325456a8c3df1b126ccc6f8e3f43fd
2016-01-07 17:08:52 -08:00
Siyamed Sinir
f744b0793b Merge "New regular expression to autolink URLs" 2016-01-07 00:14:26 +00:00
Roozbeh Pournader
fb9236cb0c For locale negotiation, assume English is always supported
In practice, a lot of apps provide English resources as their default
resources, so assume that English is always supported.

With this change, users can safely set secondary locales after
English in their preferred locale lists. Such settings would help
the apps (and parts of the system that are aware of multiple locales)
consider the user's familiarity with the secondary locale or the
user's preference for glyphs forms in the secondary locale.  This
change makes sure that no app unintentionally switches to such
secondary locales.

Note that this doesn't break from the tradition of previous releases.
Traditionally, if the user had set the system locale to English, they
would get the default resources when the app didn't explicitly
provide English resources. This will continue to be the case where
the user's locale list has English in it before another supported
language. (English will be the first locale in most cases.)

Bug: 26192817
Change-Id: I2c1a003760299157786c1b3f9fb116ce18db3b8c
2016-01-05 14:52:38 -08:00
Roozbeh Pournader
4fac768030 Merge "Avoid matching system locales in locale negotiation" 2016-01-05 18:45:29 +00:00
Roozbeh Pournader
d73a4fb22e Merge "Removed outdated TODO for LocaleList" 2016-01-05 02:10:21 +00:00
Roozbeh Pournader
8076c3a685 Removed outdated TODO for LocaleList
The suggested TODO is no longer deemed necessary (and is too
expensive to do for all LocaleLists). LocaleLists get (and will get)
passed down to the native level through strings that are the result
of calls to toLanguageTags(), which is pre-computed at construction
time. Users who need to interact with the native level can do their
own caching, such as in commit
cfc607cf57.

Change-Id: I665f3b28eaf8df309bf1aec96f9d237aeb72865c
2016-01-04 18:03:36 -08:00
Siyamed Sinir
840385c9f6 New regular expression to autolink URLs
Introduced a new regular expression to autolink URLs. Previous regular
expression used the protocol as an optional rule. The new expression
applies separate rules for strings that do not start with a known
protocol and strings that do start with a known protocol.

- In order to reuse previous regular expression definitions for
different parts of a URL, created constants for different parts of
WEB_URL expression.
- Separated the test cases for WEB_URL in order to remove the suppress
command and make them running again.
- Fixed failing tests for punycode urls, which were causing existing
tests to fail.
- Introduced new a regular expression for URL matching.
- Changed the protocol rule to be case insensitive.
- Updated IANA TLDs.
- Added tests for the new regular expression.
- Added tests for Linkify.
- Bug 9622849 is partially fixed.

Bug: 25727599
Bug: 9622849
Bug: 24500693
Bug: 23189367
Bug: 24543148

Change-Id: Ifd62455d342ca7adb22996246ff652e1d5944bec
2016-01-04 17:59:45 -08:00
Roozbeh Pournader
1c686f2ce6 Avoid matching system locales in locale negotiation
Also:
1. Add AssetManager method for finding non-system locales: This is
used in per-app locale negotiation. (Normally,
AssetManager#getLocales() returns both system and non-system
locales.)

2. Match pseudolocales correctly in locale negotiation.

Bug: 25800576
Bug: 26236938
Change-Id: I116caf3a91c290deb4ad68b291c65b7035b18dd4
2016-01-04 13:53:54 -08:00
Doris Liu
4bbc293126 VectorDrawable native rendering - Step 3 of MANY
- Refactored VPathRenderer & VectorDrawableState
- Moved all the VD rendering into native
- Set up hooks for VD's property changes in JNI for animated VD

TODO: JNI calls can be further reduced when we convert the animation
in AVD to use RenderNodeAnimator, in which case animation will be
driven from native and therefore most of the JNI hooks for changing
VD's properties during animation will no longer be needed.

Change-Id: I52021f4d7bea057b83ace54085d870dd45acae0f
2015-12-28 16:08:38 -08:00
Andreas Gampe
8413db8c36 Frameworks/base: Change android.util.Log multiline logging
To avoid long stacktraces being truncated, add code to split up
large chunks along line breaks.

Introduce LineBreakBufferedWriter to chunk up log output. Add a
core test for it.

Change-Id: I34160fbce853c21329f7fa109a9c42506b2066af
2015-12-17 19:00:29 -08:00
Alan Viverette
189d4f5b77 Propagate TextView drawable state after resolving RTL drawables
Bug: 24502082
Change-Id: Iec9c44041622d19401fc074947e15b4843f79d86
2015-12-16 16:06:23 -05:00
Mitchell Wills
5220b4a6ae DO NOT MERGE 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

Cherry-picked from f9a80cbbfe
Change-Id: I9d609f7a0f82755ea653a205293a6e3785a10d1e
2015-12-10 16:06:50 -08:00
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