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)
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)
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
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
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
(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
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
Add layout for Xbox elite controller
Test: tested with a custom app
Bug: 132451971
Bug: 139512030
Change-Id: I1c600bc2c41db9d79d7a4e184ef41abe2b5f860e
Merged-In: I1c600bc2c41db9d79d7a4e184ef41abe2b5f860e
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
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
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
It was missing most of the source code outside of core/...
Test: m, m hiddenapi-mappings
Change-Id: I9559346d306499c2f9659b73a68962d640fe644d
Merged-In: I9559346d306499c2f9659b73a68962d640fe644d
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
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
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
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
Not changing the java packages, but rather moving the source location. This allows running metalava on them.
Test: m
Change-Id: I3b46644361239d85818dd885f461dfc94de49dca
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