Commit Graph

386520 Commits

Author SHA1 Message Date
Neil Fuller
e5700a7c49 Simplify APIs exposed for time zone lookups
The libcore.timezone APIs may form the basis for some
new SystemApis. Before starting that process the API
surface is being rationalized to establish the core
use cases.

Test: Treehugger
Bug: 139091367
Change-Id: Ib615976fae76ceb98873a33e1e995542e691c9d0
Merged-In: Ib615976fae76ceb98873a33e1e995542e691c9d0
(cherry picked from commit babab5cd6a)
2019-08-30 13:48:30 +01:00
Pengquan Meng
df2293f68b Merge "Add geo targeting implementation" 2019-08-22 00:04:10 +00:00
Treehugger Robot
f5d5de8a0f Merge "Added Part & Addr Constants." 2019-08-21 21:18:31 +00:00
Pengquan Meng
e7bc13f806 Add geo targeting implementation
This CL adds support for geo targeting, including determining whether a
point is inside a simple polygon and circle.

For the judgment of the point in the polygon, the algorithm implemented
here simply considers the spherical polygon as a 2d plane polygon, which
may be not precisely. However, according to the test of real geographical
coordinates data i.e state/city/stree boundary data, this error is less than
10 meters that within 160 meters requires by the spec.

Bug: 123096618
Test: atest GeoUtils
Change-Id: I51e1fad3b48c1a58fa0510f97d9f5f9335779c30
(cherry picked from commit 7fbc74b66b58dd57deedb7336c5c1e2f0f9e2064)
2019-08-21 20:47:13 +00:00
Anna Trostanetski
ee716a23a2 Merge "Rename android.compat.IPlatformCompat" 2019-08-21 19:46:39 +00:00
Treehugger Robot
bc6371727c Merge "Tweak RuntimeInit docs around MimeMap registration." 2019-08-21 18:38:41 +00:00
Oscar Shu
e5d5b73109 Merge "avoid generating reserved local MACs" 2019-08-21 17:45:00 +00:00
Treehugger Robot
19c3bdc88a Merge "Move default MimeMap implementation to frameworks." 2019-08-21 16:39:33 +00:00
atrost
a6a4d60ae0 Rename android.compat.IPlatformCompat
To com.android.internal.compat.IPlatformCompat. This solves a java9
issue because libcore exported api has the same package android.compat.

Test: EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9=true make framework
Change-Id: I0918344f670669cecb04f1e9e54dbcb471b587d5
2019-08-21 17:07:11 +01:00
Tobias Thierer
098a533e78 Tweak RuntimeInit docs around MimeMap registration.
Bug: 136256059
Test: Treehugger

Change-Id: I3f82a1684f47d96630badef4c13b3f507f30eaa5
2019-08-21 16:55:48 +01:00
Santos Cordon
bd592e0439 Merge "Add entry to OWNERS." 2019-08-21 15:24:46 +00:00
Santos Cordon
8a4c95368e Add entry to OWNERS.
Test: N/A
Change-Id: I1019015a81523e679a4a7529eb3e444283d0ba87
2019-08-21 14:40:09 +00:00
Tobias Thierer
53f15f39f8 Move default MimeMap implementation to frameworks.
This CL topic moves the default MimeMap implementation to frameworks.
Libcore starts with a minimal implementation sufficient to pass
CtsLibcoreTestCases,  but frameworks can inject the real implementation.
Before this CL topic, the data files and logic (MimeMapImpl) were part of
core-*.jar on device; after this CL, they instead live in framework.jar.

Tests from MimeMapTest that check behavior of that default
implementation also move to a non-libcore CTS test.

Specifically, the logic and android.mime.types now live in
frameworks/base/mime. The default implementation is injected
into libcore from RuntimeInit. I chose to use a separate directory
(frameworks/base/mime/) and build java_library target ("mimemap")
in order to keep this as separate as possible from the rest of
frameworks code, to make it as easy as possible to factor this
out into a separate APEX module if we ever choose to do so.

Planned work for follow-up CL:
 1. Make CTS more opinionated, with a plan to assert that all of
    the default mappings are present. How exactly the expectated
    mapping will be bundled in CTS is still TBD.
 2. Add a vendor.mime.types file (defaults to empty) where vendors
    can add additional mappings; I plan to make it such that mappings
    in that file are parsed last but never override any earlier
    mappings, as if each mime type / file extension was prefixed
    with '?'.
 3. Perhaps enforce that public APIs android.webkit.MimeTypeMap
    and java.net.URLConnection.getFileNameMap() behave consistently
    with MimeMap.getDefault().

Test: atest CtsLibcoreTestCases
Test: atest CtsMimeMapTestCases
Bug: 136256059
Change-Id: Ib955699694d24a25c33ef2445443afb7c35ed9e7
2019-08-21 14:46:50 +01:00
Anna Trostanetski
6162efbfa7 Merge "Add a platform-compat-config to the framework services." 2019-08-21 10:53:33 +00:00
Treehugger Robot
83ed488383 Merge "Modify start/stop condition for mScreenDozeTimer." 2019-08-21 00:44:40 +00:00
Treehugger Robot
11e60c0824 Merge "TvInputManagerService patch" 2019-08-20 23:28:43 +00:00
Baohe.Wang
7af0ff9f38 TvInputManagerService patch
Fix potential null pointer access at TvInputManagerService.java

Bug: 136411969
2019-08-20 20:58:03 +00:00
Treehugger Robot
2214ede1ec Merge "Add agent startup-attach" 2019-08-20 16:20:23 +00:00
Treehugger Robot
bd8e232e20 Merge "glob pattern is used for AIDL files under frameworks/base" 2019-08-20 16:12:23 +00:00
Anna Trostanetski
c0442d5b80 Merge "Start platform compat service eariler." 2019-08-20 11:00:40 +00:00
Jiyong Park
90625f10f8 glob pattern is used for AIDL files under frameworks/base
This change removes the manullay curated list of AIDL files and replace
them with globs.

In addition, framework-aidl-mappings no longer sets frameworks-defaults
to its src property, but instead uses the several variables like
framework_srcs, framework_aidl_local_include_dirs, etc. to get the
same files/dirs list as the framework.

The variables will eventually be replaced with filegroups when aidl
include paths are better handled (i.e. 'path' property of all filegroups
for a module contributes to the AIDL include paths for all AIDL files in
the module).

Bug: 70046217
Test: m

Merged-In: I59728ed06d66d44bc19bcd8530042c01add5fc2b
(cherry picked from commit 1cc9566ee2)
Change-Id: I59728ed06d66d44bc19bcd8530042c01add5fc2b
2019-08-20 13:26:49 +09:00
Jordan Liu
3878f50107 Merge "Do not notify SS change with invalid subId" 2019-08-19 23:57:24 +00:00
Jordan Liu
d2d614a083 Do not notify SS change with invalid subId
(This is a reupload of ag/8541406.)

If a service state change is reported as a subscription is becoming
invalid (i.e. no longer connected to a phone), the current behavior can
sometimes notify this change to all PhoneStateListeners regardless of
which subId they registered to listen on (namely this happens when the
subscription was attached to the default phone).

This change removes that behavior so that no listeners are notified if
the subscription is invalid.

Test: manually verified on DSDS that when
  1. erasing eSIM when it is default and
  2. removing pSIM when it is default,
  the service state triangle for the other SIM is unaffected
  Also made sure that signal strength is rebroadcast when sub becomes
  valid, so b/138357571 did not show up 5/5 times
Bug: 133140128
Change-Id: I2ba6a971fff4e29ccd2166c381308fcd953f5bc0
Merged-In: I2ba6a971fff4e29ccd2166c381308fcd953f5bc0
2019-08-19 13:24:49 -07:00
Yifan Hong
238a04ef59 Merge "BatteryService: scheduleUpdate asynchronously" 2019-08-19 20:14:15 +00:00
Treehugger Robot
778250f57f Merge changes Ie18bce98,I1c600bc2
* changes:
  Add keylayout for Xbox One USB controller
  Keylayout for xbox controllers
2019-08-19 19:57:35 +00:00
Siarhei Vishniakou
4fef274c01 Add keylayout for Xbox One USB controller
We are currently missing the key layout for the Xbox One USB controller
with the following meta information:
vendor 045e, product 02ea

This layout was copied from product 02d1.

Also fix the mappings of the middle buttons to generate "select - mode -
start", similar to what has already been done for the other xbox
controllers in ag/4836521 and ag/3162575

Bug: 132451971
Bug: 133514907
Bug: 139512030
Test: tested using custom app. CTS tests will be added later.

Change-Id: Ie18bce987b512211d3e91bd1f7334afe11d83cf8
Merged-In: Ie18bce987b512211d3e91bd1f7334afe11d83cf8
2019-08-19 13:21:15 -05:00
Siarhei Vishniakou
9d81ccc929 Keylayout for xbox controllers
Add layout for Xbox elite controller

Test: tested with a custom app
Bug: 132451971
Bug: 139512030
Change-Id: I1c600bc2c41db9d79d7a4e184ef41abe2b5f860e
Merged-In: I1c600bc2c41db9d79d7a4e184ef41abe2b5f860e
2019-08-19 13:18:05 -05:00
atrost
499d4bff66 Start platform compat service eariler.
It's needed by ActivityManager and PackageManager.
Also use a constant in Context for the name.

Test: flashed device with ag/9025572 and ag/9204795 and the platfrom
compat was accessible.
Bug: 137769727

Change-Id: Ie1130a3f0bdd1769fe0755db0089702ea64d9db6
Merged-In: Ie1130a3f0bdd1769fe0755db0089702ea64d9db6
2019-08-19 16:10:47 +00:00
atrost
86895aad82 Add a platform-compat-config to the framework services.
Bug: 138222363
Test: m. the config builds and contains annotated changes.
Change-Id: I35ab9d028bbf23aca38494b66592779fdb4ef01e
2019-08-19 16:51:15 +01:00
Treehugger Robot
8f48cb7e7e Merge "Fix incorrect descriptions under SMS contract" 2019-08-19 14:22:21 +00:00
satayev
d39df1d0ac Merge "Cover framework code in hiddenapi-mappings." 2019-08-19 09:13:55 +00:00
Yifan Hong
7ceb724d0f BatteryService: scheduleUpdate asynchronously
IBatteryPropertiesRegistrar.scheduleUpdate calls IHealth.update()
asynchronously.

BatteryStatsImpl calls scheduleUpdate while holding a lock, which
may lead to deadlocks if the remote process calls back to the
framework.

Fixes: 139503418
Test: monitor HealthScheduleUpdate trace points
Change-Id: I8168d7c4e4a0b1d31343360d2c7f6d36c7aa692a
2019-08-16 13:40:43 -07:00
xshu
683b756b25 avoid generating reserved local MACs
Avoid generating WifiInfo.DEFAULT_MAC_ADDRESS as a randomized MAC
address since it's being used for another purpose.

Bug: 137796328
Test: atest MacAddressTest
Change-Id: Ia7beef0d0af5d7b39845e662cd343d81aef97702
2019-08-16 10:20:22 -07:00
Artur Satayev
005d7350d2 Cover framework code in hiddenapi-mappings.
It was missing most of the source code outside of core/...

Test: m, m hiddenapi-mappings
Change-Id: I9559346d306499c2f9659b73a68962d640fe644d
Merged-In: I9559346d306499c2f9659b73a68962d640fe644d
2019-08-16 16:33:33 +00:00
vichang
4c322503bb Merge "API updated for ICU4J 64.2" 2019-08-16 10:50:08 +00:00
Treehugger Robot
25d4c75c26 Merge "Update wifi interface ip state upon receiving ap disable event" 2019-08-16 05:15:12 +00:00
Hans Boehm
6bf381b5b1 Merge "Move Half implementations to libcore to allow ART optimizations" 2019-08-15 20:35:13 +00:00
Anna Trostanetski
1261967c52 Merge "Move IPlatformCompat.aidl definition to framework.jar" 2019-08-15 19:34:09 +00:00
Jianpeng Li
a70feeca7a Update wifi interface ip state upon receiving ap disable event
When turning on/off SoftAp with high frequency, sometime calling
WifiManager#updateInterfaceIpState with IFACE_IP_MODE_TETHERED
is performed after handling WIFI_AP_STATE_DISABLED event in
WifiServiceImpl while SoftAp is being terminated. This leads to
the issue that SoftAp is unable to start as startSoftAp always
returns "false". This is because mIfaceIpModes in WifiServiceImpl
keeps the mode WifiManager.IFACE_IP_MODE_TETHERED and the CL below
rejects SoftAp start request.

e257c5c9e79e3675375ca20731cfb74df02b1064 @ frameworks/opt/net/wifi
(WifiServiceImpl: Reject startSoftAp when already tethering)

This CL updates the interface ip state upon receiving ap disable
event from Tethering class to set proper state to mIfaceIpModes.

Bug: 134806980
Test: Ran script to turn on/off soft ap frequently
Signed-off-by: Daichi Ueura <daichi.ueura@sony.com>
Change-Id: I2f89214414d93f1aa942fb8a21264a9baae3452a
2019-08-16 04:16:26 +09:00
satayev
46c04b7bb8 Merge "Move telephony/cdma/ classes into appropriate package." 2019-08-15 17:29:37 +00:00
Treehugger Robot
5937562bfb Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.190801.002) into master" 2019-08-15 06:13:48 +00:00
Alex Light
6e917454f2 Add agent startup-attach
Add ability to give 'startup-agents' that are automatically loaded
when a (debuggable) app starts. These agents are any files in the
'code_cache/startup_agents' directory. The agents are started with the
apps data_directory as an argument.

Test: Install debuggable apk (here com.antonioleiva.bandhookkotlin)
  walleye:/ $ run-as com.antonioleiva.bandhookkotlin sh
  walleye:/data/data/com.antonioleiva.bandhookkotlin $ mkdir code_cache/startup_agents
  walleye:/data/data/com.antonioleiva.bandhookkotlin $ cp /data/local/tmp/libtifasts32.so code_cache
  walleye:/data/data/com.antonioleiva.bandhookkotlin $ cp /data/local/tmp/libtifasts64.so code_cache
  walleye:/data/data/com.antonioleiva.bandhookkotlin $ cp /data/local/tmp/libchainagentss32.so code_cache/startup_agents/
  walleye:/data/data/com.antonioleiva.bandhookkotlin $ cp /data/local/tmp/libchainagentss64.so code_cache/startup_agents/
  walleye:/data/data/com.antonioleiva.bandhookkotlin $ echo $PWD/code_cache/libtifasts32.so=log,ClassLoad > chain_agents.txt
  walleye:/data/data/com.antonioleiva.bandhookkotlin $ echo $PWD/code_cache/libtifasts64.so=log,ClassLoad >> chain_agents.txt
  Start bandhookkotlin
  Examine logcat

Bug: 135627501

Change-Id: Ib82b27df90c7964a995288d8b2b3d348a11cdd80
Merged-In: Ib82b27df90c7964a995288d8b2b3d348a11cdd80
2019-08-14 17:15:09 +00:00
atrost
b18da3cad9 Move IPlatformCompat.aidl definition to framework.jar
There are non-app process usecases in framework code that need to have
access to this API.
Created a new package android.compat in frameworks/base/core following
previous definition of android.compat.Compatibility for app processes
(http://cs/android/libcore/luni/src/main/java/android/compat/Compatibility.java).

Bug: 137769727
Test: m
Change-Id: Ifc1b97ad40c2baf65a86169e101acfa72e3aae5f
Merged-In: Ifc1b97ad40c2baf65a86169e101acfa72e3aae5f
2019-08-14 16:35:14 +01:00
Adrian Roos
5f76164a65 Merge "API: Explicitly track incompatibilities with previous API versions" 2019-08-14 14:39:18 +00:00
xueliang.zhong
e008d965ca Move Half implementations to libcore to allow ART optimizations
Move Half FP16 implementations to libcore, to allow ART compiler to
optimize these methods with intrinsic implementations.

For example, on ARM64 with ARMv8.2 FP16 half registers and instructions:
- Half toFloat/toHalf can be implemented with FCVT;
- Half floor/ceil/round can be implmented with FRINT(pna);
- Half max/min can be implmented with FMIN/FMAX.

Such fast Half FP16 intrinsics can help accelerate ColorLong ARGB
encoding/decoding in Android framework.

Change-Id: I6225ebf8aa825b0394ce8f13e12db317f5c6e3fd
2019-08-14 14:07:44 +00:00
Chiachang Wang
55752cf8d4 Merge "Get resource based on subId for multi-SIM" 2019-08-14 10:56:27 +00:00
Artur Satayev
f772c13f9d Move telephony/cdma/ classes into appropriate package.
Not changing the java packages, but rather moving the source location. This allows running metalava on them.

Test: m
Change-Id: I3b46644361239d85818dd885f461dfc94de49dca
2019-08-14 10:48:10 +01:00
Chiachang Wang
5f8ac27d79 Get resource based on subId for multi-SIM
The resource loading is done based on the last SIM to come up
which is not a deterministic design. Thus, update the way to get
the resource based on the subId.

Test: atest FrameworksNetTests
Test: manually test with avoid bad wifi feature supported sim
Bug: 138956509
Change-Id: Ib5b085d97103889600773d269e03b939c29ca47d
2019-08-14 13:56:37 +08:00
Xin Li
1702a9da19 DO NOT MERGE - Merge pie-platform-release (PPRL.190801.002) into master
Bug: 139369544
Change-Id: I835905a51836e7218f0be8c25335b9548ae6b2d3
2019-08-13 16:36:37 -07:00
Brad Ebinger
4204a6017e Merge "Modify RCS UCE APIs to use AIDL Interfaces." 2019-08-13 22:46:18 +00:00