Commit Graph

6763 Commits

Author SHA1 Message Date
Dario Freni
c7a4eec435 Merge changes from topic "aosp-apk-in-apex"
* changes:
  DO NOT MERGE: Fixes NPE when preparing app data during init
  Support privileged apps installed in APEX.
  Support non-privileged APKs in APEX.
  Refactors initial directory scan to be dryer
2019-12-03 11:45:55 +00:00
Steven Moreland
4bdfc3c05c Merge "Binder: add markVintfStability" 2019-12-02 16:46:17 +00:00
Mark Chien
e8401aff92 Merge changes from topic "tether_migrate"
* changes:
  [Tether10]Remove UserManagerInternal usage in Tethering
  [Tether07] Migrate Tethering into module
  [Tether07] Clean up build rule for libtetheroffloadjni
2019-11-30 12:17:47 +00:00
markchien
b741c646c6 [Tether10]Remove UserManagerInternal usage in Tethering
To be the unbundled application, tethering can not use UserManagerInternal
method anymore. Replace it by listening user restriction change intent.

Also fix some cleanup from
https://android-review.googlesource.com/c/platform/frameworks/base/+/1131002

Bug: 143195885
Test: -build, flash, boot
      -atest TetheringTests
      -manual test. Add a trigger point to call
       UserManager.setUserRestriction(DISALLOW_CONFIG_TETHERING) from
       Settings. Open hotspot -> restrict tethering from new adding trigger
       point -> hotspot is OFF and Tethering settings are not available.

Change-Id: I4ed08d20f8b7476b8ecd5d018b75806dd2f22cc1
Merged-In: I4ed08d20f8b7476b8ecd5d018b75806dd2f22cc1
2019-11-30 10:06:23 +00:00
markchien
0df2ebc43d [Tether07] Migrate Tethering into module
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.

Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
      -atest TetheringTests
      -atest FrameworksNetTests

Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
Merged-In: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
2019-11-30 10:03:08 +00:00
Treehugger Robot
b578bdbe43 Merge "Adding version code R for development" 2019-11-29 17:10:43 +00:00
Treehugger Robot
82fee58478 Merge "core/Build: ro.system when comparing fingerprint" 2019-11-29 02:36:48 +00:00
Suprabh Shukla
6a509cf4a5 Adding version code R for development
Test: Builds

Bug: 129975435
Change-Id: I26ef76266b2f52746ca08a45f5013c580cecd4fb
Merged-In: I26ef76266b2f52746ca08a45f5013c580cecd4fb
(cherry picked from commit 1d081c503c)
2019-11-28 14:29:12 +00:00
Dario Freni
7d038cd0e9 Support non-privileged APKs in APEX.
This change adds initial support for scanning APEX directories looking
for APK, and make them available to the system as normal system APKs.
For now privileged apps and resource overlay are not supported, and the
support will be added in a later CL.

Scanning features are inherited from the partition in which the
preinstalled version of a given APEX module is located.

Supports both flattened and un-flattened APEX configurations.

Bug: 138429615
Test: Compiled a test apex with the Snake app installed in it. Verified
app is correctly scanned and usable. Tried also installing the apex in
/vendor and /product.
Exempt-From-Owner-Approval: Approved in
https://googleplex-android-review.git.corp.google.com/c/platform/frameworks/base/+/9533445
Merged-In: I8fb91317da0296567403b2b62babbb71e4b48938
Change-Id: I8fb91317da0296567403b2b62babbb71e4b48938
2019-11-28 18:28:00 +08:00
Steven Moreland
d587a555de Binder: add markVintfStability
For the AIDL compiler to call. Without this, the Java framework can't
pass callbacks to HALs.

Bug: 139325468
Test: use vibrator callback from Java
Change-Id: I147d3e3da699ce740f6589264b37f43f8557719b
2019-11-27 18:15:33 -08:00
Neil Fuller
05eeef4188 Merge "Remove dead code from SystemServer" 2019-11-25 13:53:15 +00:00
Treehugger Robot
e4b84f3475 Merge "Deprecate FileUtils.closeQuietly" 2019-11-22 23:52:41 +00:00
Treehugger Robot
b1f69203e7 Merge "Deprecate Looper.prepareMainLooper" 2019-11-22 19:59:44 +00:00
Ytai Ben-Tsvi
a736d1c1ee Add HidlMemoryUtil
Convenience utilities for working with HidlMemory.

Change-Id: I85a46d37de7b89fb48c57f69b1552ca59b802c19
Merged-In: I85a46d37de7b89fb48c57f69b1552ca59b802c19
Bug: 143566068
2019-11-21 15:28:09 -08:00
Ytai Ben-Tsvi
a907efc3bc Add parceling support for HIDL memory in Java
This change adds support for reading/writing a HidlMemory
instance into / out of a HwParcel and HwBlob, in a format that
is compatible with the hidl_memory C++ type.
This paves the way to be able to exchange shared memory blocks
between native and Java via HwBinder, which will be exposed
as adding Java support for the HIDL 'memory' type.

Change-Id: I6cbbf852218c8a631f9014e7caa7a97d17e11889
Bug: 143566068
Merged-In: I6cbbf852218c8a631f9014e7caa7a97d17e11889
2019-11-21 15:19:47 -08:00
Neil Fuller
4b03c07cc7 Remove dead code from SystemServer
Remove dead code from SystemServer that obstensively protects devices
from negative (< 1970) system clock times, but does not.

In reality, SystemServer calls SystemClock.setCurrentTimeMillis(), which
calls through to the AlarmManager.setTime() binder call. When the code
runs the system server hasn't started any services yet, so this would
always fail.

AlarmManager has similar protections in place that do work: if the
device is earlier than a "build time", then the device's clock is forced
forward. That provides the protection that the code being removed from
SystemServer was trying to achieve.

Test: Added logging to SystemClock to prove AlarmManager is null /
manual debugging

Change-Id: I87dca1062829bc1a10202804fa7ee31e0a6f03a3
2019-11-21 17:30:03 +00:00
Daniel Colascione
54543bb423 Merge changes from topic "property-handle"
* changes:
  Add new SystemProperties.Handle interface
  Reimplement android.os.SystemProperties in terms of libc facilities
2019-11-21 04:38:03 +00:00
Treehugger Robot
560c3ebe1e Merge "Deprecate implicit Handler constructors" 2019-11-19 23:28:12 +00:00
Daniel Colascione
6e2cff7fa1 Add new SystemProperties.Handle interface
This new interface allows Java code to look up property values without
paying for the name->prop_info mapping and, in the case of looking up
scalars, without doing any allocation.

Bug: 140788621
Test: added tests
Test: atest FrameworksCoreSystemPropertiesTests
Change-Id: I46d12f62499e9e124fe9add588376d724b364d5d
2019-11-19 13:28:56 -08:00
Daniel Colascione
5e8ba5f05a Reimplement android.os.SystemProperties in terms of libc facilities
A subsequent CL will implement a new prop_info based properties API on
top of this CL.

Test: boots
Test: atest FrameworksCoreSystemPropertiesTests
Bug: 140788621
Change-Id: Id8dd02fff7b1c0815a27ab1dfdde1700447a414c
2019-11-19 13:27:53 -08:00
Hall Liu
1d7a53da98 Merge changes from topic "mainline4"
* changes:
  Add new API for Telecom to send phone state
  Minor style correction to avoid merge conflict
  non-mainline telephony related AIDL refactor/decoupling
2019-11-18 22:31:27 +00:00
Chen Xu
8eb62f9485 non-mainline telephony related AIDL refactor/decoupling
1. decouple IOnSubscriptionChangedListener AIDL from telephonyMainline
2. other refactor. moving APIs which will not be included in
telephony mainline to frameworks/base/core/java/android/telephony.
Moving internal classes like AIDL which will not be included in
telephony mainline to
framework/base/core/java/com/android/internal/telephony

Bug: 140908357
Test: Build & unit test
Change-Id: I9413ef758cceadd251d03f3b5ea1054cc48ef044
Merged-In: I9413ef758cceadd251d03f3b5ea1054cc48ef044
2019-11-15 18:02:40 -08:00
Treehugger Robot
337df70e17 Merge "Remove usage of Telephonymanager getDefault() and from() hidden APIs" 2019-11-16 01:36:08 +00:00
Jayachandran C
16dce22bf5 Remove usage of Telephonymanager getDefault() and from() hidden APIs
This CL changes to use getSystemService(TelephonyManager.class)

Bug: 140768340
Test: Build
Change-Id: I1fcf2c17456f126584df359547f64c07c168aa65
2019-11-15 15:46:43 -08:00
Charles Munger
219e986e29 Deprecate FileUtils.closeQuietly
This API encourages swallowing errors, and the code to implement it is trivial if apps still want to do it themselves.
Guava's reasoning on deprecating their version of this API:
https://github.com/google/guava/issues/1118

Test: No behavior changes
Bug: 144042891
Change-Id: Ic4cfb7366c65d49c355479f420d9ba4fc1b3f053
2019-11-15 21:12:39 +00:00
Charles Munger
0ee2b879b6 Deprecate Looper.prepareMainLooper
Applications don't need to call this method.

Bug: 144042891
Test: No behavior changes
Change-Id: I0aab8619cd9afc6b672ae163fba9d17c797c9f26
2019-11-15 11:14:10 -08:00
Charles Munger
80b1c4dcc8 Deprecate implicit Handler constructors
These have been the cause of bugs in the past, such as b/10150258,
because it's not always obvious or guaranteed that a calling thread will
always have a looper, or that it's actually the looper you want.
Specifying the looper explicitly, even if it's just Looper.myLooper(),
makes the code clearer. Since callback APIs generally should have
Executor variants added, it might be nice to also deprecate the
constructors or options that rely on the calling thread's looper, but
since I don't have an inventory of all those I'm starting with this.

Bug: 144042891
Test: No behavior changes
Change-Id: I0e7ba80d6b89a866ea715c790dd602ef728bf5bd
2019-11-15 10:17:54 -08:00
Howard Chen
c68c069db7 Merge "Use the new gsid interface" 2019-11-15 11:05:16 +00:00
Jayachandran C
d17a4f3cf9 Remove usage of hidden API subscriptionManager.isSubscriptionVisible
This CL uses getGroupUuid() and isOpportunistic() instead to figure
out whether the subscription is visible or not

Bug: 140768340
Test: Manual
Change-Id: Id7215eabe4e6c47a057b747fdbb3027857f2f12c
2019-11-14 16:29:59 -08:00
Artur Satayev
5a525851a8 Add @UnsupportedAppUsage to test apis that are known to be used by apps.
go/testapi-enforcement

Bug: 133832325
Test: m
Change-Id: Ifc8db120640a1554dcbf1722e61e09c7ddc65dd6
Merged-In: Ifc8db120640a1554dcbf1722e61e09c7ddc65dd6
2019-11-13 15:05:56 +00:00
Howard Chen
6ea5beddd9 Use the new gsid interface
This CL supports gsid refactoring aosp/1148898.

Test: adb shell am start-activity \
                -n com.android.dynsystem/com.android.dynsystem.VerificationActivity \
                -a android.os.image.action.START_INSTALL \
                -d file:///storage/emulated/0/Download/system.raw.gz \
                --el KEY_SYSTEM_SIZE $(du -b system.raw|cut -f1) \
                --el KEY_USERDATA_SIZE 8589934592
Change-Id: I0209a1b0750e96623f90f134bb18d37254249fbd
2019-11-12 18:29:18 +08:00
Artur Satayev
fc46be7dbd Add @UnsupportedAppUsage annotations for greylist.
go/cleanup-greylist-txt

These have already been greylisted, however due to bugs/omissions in the tooling have been kept in go/greylist-txt instead of being annotated in the code.

Bug: 137350495
Test: m

Change-Id: Id6c1f5e403a0e66edb1102ee45f3bf19f244fb09
Merged-In: Id6c1f5e403a0e66edb1102ee45f3bf19f244fb09
2019-11-08 16:17:13 +00:00
Artur Satayev
ee9c6e7571 Add @UnsupportedAppUsage annotations for max-p.
See go/UnsupportedAppUsage for more details.

These have already been greylisted, however due to bugs/omissions in the tooling have been kept in go/greylist-txt instead of being annotated in the code.

Bug: 137350495
Test: m
Change-Id: I5aa29a49b193db47aaee4d3a756c17f48cc9f0b1
Merged-In: I5aa29a49b193db47aaee4d3a756c17f48cc9f0b1
2019-11-08 16:17:13 +00:00
Treehugger Robot
c26568d8a7 Merge "Deprecate AsyncTask" 2019-11-07 18:35:05 +00:00
Charles Munger
0a96c3b965 Deprecate AsyncTask
Change-Id: Ie142c281c48bda35f5c8fb01ec8a001e0229fd2e
BUG=144042891
2019-11-06 21:11:37 +00:00
Treehugger Robot
52218ffa3b Merge "Add disclaimer to Debug.getRuntimeStat()" 2019-11-06 11:06:43 +00:00
Chen Xu
7631ff7c48 new telephony annotation class
This is a preparatory work for mainline. since Intdef is hidden, so we
have to move some annotations (applied in SDK/system API) to a separate
annotation class and having other module statically link to it.

TODO: include telephony annotation in framework-non-updatable-sources

Bug: 140908357
Test: Build
Change-Id: I37f8a0624bbf27f264870ee9dbf03d3aaa5cadc1
(cherry picked from commit c9d4ee112e)
Merged-in: I37f8a0624bbf27f264870ee9dbf03d3aaa5cadc1
(cherry picked from commit 4712711d3d91621083bf92f5a1647b92c20a8b81)
2019-11-04 21:26:50 +00:00
Chen Xu
7a79194fcb Merge "new TelephonyRegistryManager" 2019-11-04 18:21:51 +00:00
Martijn Coenen
ef6fe13c77 Merge "Don't hold sProxyLock while retrieving interface descriptors." 2019-11-04 07:51:11 +00:00
Chen Xu
1f1c25e815 new TelephonyRegistryManager
today telephonyRegistry lives in system process
this is intended to persists all telephony listeners when
phone process crash. Telephony today notify system server by
using AIDL APIs directly. Instead, we are exposing a proper API
surface: telephonyRegistryManager where only phone app and
carrier privileged apps are allowed to use APIs in
TelephonyRegistryManger to notify telephony related status update.

Bug: 140908357
Test: Build & Manaul
Change-Id: I1b750751148925b4a7bd94553318907654012fc1
(cherry picked from commit 288b71c8c1)
Merged-in: I1b750751148925b4a7bd94553318907654012fc1
2019-11-01 22:44:36 +00:00
Steven Moreland
2a6f6ed94b Merge "ServiceManagerProxy: implement new method" 2019-10-29 15:45:43 +00:00
Steven Moreland
2cd23b6a59 ServiceManagerProxy: implement new method
This class is hanging around for UnsupportedAppUsage. Adding additional
method to fix compilation, but it should never be called.

Bug: 135686713
Test: compilation fixed
Change-Id: I58022af86a53239990e057936826d0f1214acc6f
2019-10-28 11:17:15 -07:00
Xin Li
d3498e3053 Merge Coral/Flame into AOSP master
Bug: 141248619
Change-Id: Ic0486c8c79d94c9a30efa37676b2f6a94fb7b5fa
Merged-In: Ibe8ff7bdba7a886bd8b91155ae56f087a836981f
2019-10-25 10:27:58 -07:00
Howard Chen
e176c56f6e Use new GsiInstallParams struct
Bug: 139402092
Test: adb shell am start-activity \
            -n com.android.dynsystem/com.android.dynsystem.VerificationActivity \
            -a android.os.image.action.START_INSTALL \
            -d file:///storage/emulated/0/Download/system.raw.gz \
            --el KEY_SYSTEM_SIZE $(du -b system.raw|cut -f1) \
            --el KEY_USERDATA_SIZE 8589934592

Change-Id: I62330ccbe3c863850b545db5e911196d22f518d7
2019-10-24 21:34:43 +00:00
Varun Shah
b53b34487b Use language tags to store Configuration's locale list.
Instead of storing each Locale within a Configuration object's locale
list by its language, country, variant, and script to proto, store the
entire locale list by its language tags representation which accurately
describes each locale.

Bug: 140197723
Test: atest ConfigurationTest
Test: atest UsageStatsDatabaseTest
Test: manually with bad data
Merged-In: I53946ed4e31de0ffe9c84875c391a7dec6f5375a
Change-Id: Idaae690f79a5c680ad0059a52be62160d9dfb5e7
(cherry picked from commit 5e67462971)
2019-10-22 22:52:49 +00:00
Shuo Qian
9208fc5a0a Merge "Emergency number database config updater"
am: ca0f14ec1a

Change-Id: Ice41292677b52fe62fa860960fe62a29e28068dc
2019-10-21 13:22:50 -07:00
Felix
88c1bf0737 core/Build: ro.system when comparing fingerprint
ro.build.fingerprint is dynamically generated by deriveFingerprint(),
but its output does not match ro.{system,vendor}.build.fingerprint.

Fixes:
======
E Build   : Mismatched fingerprints; system reported \
  Sony/aosp_f8331/kagura:10/QP1A.191005.007/eng.builde.20191020.005112:user/test-keys \
  but vendor reported Sony/aosp_f8331/kagura:10/QP1A.191005.007/builder10200050:user/test-keys

Example:
========
ro.system.build.fingerprint = Sony/aosp_f8331/kagura:10/QP1A.191005.007/builder10200050:user/test-keys
ro.build.fingerprint        = Sony/aosp_f8331/kagura:10/QP1A.191005.007/eng.builde.20191020.005112:user/test-keys

The critical difference is that deriveFingerprint() inserts the value of
"ro.build.version.incremental", while the actual fingerprint produced by
build/make/core/Makefile is:
  BUILD_FINGERPRINT := $(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):\
  $(PLATFORM_VERSION)/$(BUILD_ID)/$(BF_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
Where:
  BF_BUILD_NUMBER := $(BUILD_USERNAME)$$($(DATE_FROM_FILE) +%m%d%H%M)

Fix:
====
Use ro.system.build.fingerprint instead, which will match
ro.vendor.build.fingerprint.

Test:
=====
make otapackage, flash, boot, verify no warning message is shown in UI.

Change-Id: Ie5e972047d7983b411004a3f0d67c4636a205162
Signed-off-by: Felix <google@ix5.org>
2019-10-20 15:44:04 +02:00
Shuo Qian
2f349da995 Emergency number database config updater
Test: https://paste.googleplex.com/5345498821033984
Bug: 136027884
Change-Id: I0fbd48fe8ef5e008af714312859b513a22679fcb
Merged-In: I0fbd48fe8ef5e008af714312859b513a22679fcb
(cherry picked from commit 8163b80a7e)
2019-10-17 23:42:06 +00:00
Jon Spivack
fa830219cd Merge "Made libbinder's waitForService accessible in java"
am: 3ef1b5e544

Change-Id: I70972120fcb7dd7cbe664750409bfd00a41e0a62
2019-10-11 18:06:40 -07:00
Jon Spivack
3ef1b5e544 Merge "Made libbinder's waitForService accessible in java" 2019-10-12 00:50:43 +00:00