Commit Graph

15897 Commits

Author SHA1 Message Date
Treehugger Robot
95b815e26e Merge "Deprecate AliasActivity" 2019-11-15 18:38:35 +00:00
Jayachandran C
c01f4eda35 Remove exposing of ImsManager and RcsMessageManager in system service registery
Since these are hidden it cannot be accessed by system service registery
Removing it for now and can be added later when these becomes SystemApi

Bug: 140768340
Test: Build & basic sanity
Change-Id: Ibb007f0a761bcbd006ebffbb552d0da82b586d03
2019-11-15 18:10:54 +00: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
Artur Satayev
e2ebc1be4b Add --no-test-api-acces to am instrument.
By default instrumented processed have access to @TestApis; however for certain CTS tests we want to disable access to test APIs, where this flag would be used.

Test: manual
Bug: 133832325
Change-Id: Id56ce3079bcea2632d4002edcf120d9d5c9e0a26
Merged-In: Id56ce3079bcea2632d4002edcf120d9d5c9e0a26
2019-11-12 12:52:19 +00:00
Charles Munger
f8f78aeb25 Deprecate AliasActivity
Bug: 144042891
Change-Id: Ie7f32516265dbe64799ec79263d1731817cfbbfb
2019-11-11 16:12:46 -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
James Lin
303c5dc0fb Merge "[RCS] Create AIDL layer for RcsUceAdapter, create RCS UCE controller implementation in Telephony." 2019-11-07 03:26:08 +00:00
Jordan Liu
08a94a2236 Merge "Expose Context.sendOrderedBroadcast with appop" 2019-11-04 19:59:28 +00:00
Chen Xu
7a79194fcb Merge "new TelephonyRegistryManager" 2019-11-04 18:21:51 +00:00
James.cf Lin
2bc9cd4c6c [RCS] Create AIDL layer for RcsUceAdapter, create RCS UCE controller implementation in Telephony.
Bug: 139260938
Test: Manual
Change-Id: I9f70c8fe4167b51fa82bfb68ae9eacc422194309
2019-11-04 21:04:01 +08:00
Jordan Liu
a32e6fcb03 Expose Context.sendOrderedBroadcast with appop
Bug: 143100231
Test: atest ContextTest#testSendOrderedBroadcastWithAppOp
      atest ContextTest#testSendOrderedBroadcastWithAppOp_NotGranted

Change-Id: Ia75d0db11f337769eaf3cf5436e09a7d38b0564c
Merged-In: Ia75d0db11f337769eaf3cf5436e09a7d38b0564c
2019-11-01 16:25:15 -07: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
Neil Fuller
3150e58082 Merge "Make TimeDetectorService more aware of origin"
am: 4ef2551dfa

Change-Id: I27866cf74b779bb0040f4ace384207047ca6838f
2019-10-21 11:53:20 -07:00
Neil Fuller
af3eeaf431 Make TimeDetectorService more aware of origin
Make TimeDetectorService more aware of a time signal's origin by making
the time signal from telephony less generic.

When TimeDetectorService was written it was assumed that the TimeSignal
could be generic and there would just be a String source identifier to
indicate origin.

With multiple SIMs / phones on a device it makes sense to keep track of
the originating phone of the signal so that the time detector service
could implement stickiness if it wanted. This would avoid a device
alternating back and forth between two signals and help with debugging.

As new signals are added, new "suggestXxxxTime()" methods will be added
to TimeDetectorService. That is the point at which the strategy for
ranking different sources can be decided. e.g. should NTP always rank
higher than NITZ?

The main change here is that TimeSignal is renamed to
PhoneTimeSuggestion to indicate it's only for use by signals from
telephony, sourceId has been removed and it has been given a phoneId
instead. Extra free-form metadata (mDebugInfo) has been added to assist
with logging / debugging.

Bug:140712361
Test: atest android.app.timedetector
Test: atest com.android.server.timedetector
Change-Id: I5305c34516e5f4e254309193183f00e054801a46
2019-10-21 08:42:50 +01:00
Neil Fuller
209c74f8b6 Merge "Make TimestampedValue Parcelable"
am: 81a705690b

Change-Id: I68edcf15ec9bef69a26267d9bf0c036e38ce93d4
2019-10-14 11:43:18 -07:00
Treehugger Robot
81a705690b Merge "Make TimestampedValue Parcelable" 2019-10-14 18:33:43 +00:00
Neil Fuller
def77b5cd5 Make TimestampedValue Parcelable
Make TimestampedValue Parcelable for simplicity.

TimetampedValue objects are not generally parcelable, depending on the
type of the value held. Previously, TimestampedValue did not implement
Parcelable to avoid committing to a general contract. Developers
parceling TimestampedValue objects were expected to call
TimestampedValue.writeToParcel() / TimestampedValue.readFromParcel()
explicitly when they knew it was safe to do so. This also meant that
TimestampedValues couldn't be used directly via AIDL.

This change makes TimestampedValue parcelable because it's more
familiar / convenient. Attempts to marshall a TimestampedValue that
contains a non-parcelable value will still throw a RuntimeException.

Bug: 140712361
Test: atest android.util.TimestampedValueTest
Change-Id: I8ca9c72f0433b380ce720cd813f650e743b3ddae
2019-10-10 10:16:41 +01:00
Alex Light
d3337c9051 Merge "Perform agent startup-attach before bind"
am: 7ae1299cdd

Change-Id: I9fc9f0daa019ce8110154d8ede8f269b7d3bfea9
2019-10-09 14:42:15 -07:00
Alex Light
7ae1299cdd Merge "Perform agent startup-attach before bind" 2019-10-09 21:25:48 +00:00
Alex Light
2d0691c7e1 Perform agent startup-attach before bind
We were performing agent startup-attach during bind but this was too
late for some agents, as it occurred after Context was created. Change
implementation to make this occur prior to bind.

Test: atest CtsJvmtiAttachingHostTestCases
Bug: 142010970
Change-Id: I5f75e8b3c508116762b7863d9b47251d0e808ea9
2019-10-08 11:09:53 -07:00
Elliott Hughes
47991c1b07 Merge "Remove a user/userdebug difference."
am: 363a602bd1

Change-Id: I6b3287ca1b534f71abbdd652065a536b0a912a50
2019-10-03 12:14:30 -07:00
Elliott Hughes
e14fa97af9 Remove a user/userdebug difference.
There isn't much users can do to get app developers to care anyway, so
leaving this on just for apps with debuggable="true" should be
sufficient.

Bug: http://b/141754375
Test: treehugger
Change-Id: I3a796f9c4b9358fce499649c3f289e956ee9a97a
2019-10-02 11:40:03 -07:00
atrost
76191fa6b0 Merge "Refactor ChangeReporter and rate limit stats logging."
am: 9a253e12cc

Change-Id: I33b14641d259efea6bf7038da264a3483e71f955
2019-09-26 10:39:31 -07:00
atrost
6624ffa207 Refactor ChangeReporter and rate limit stats logging.
Only log once per change-package-state(resets every app launch if used
from within the app process).

Next: reset every app launch for server usage as well.

Test: using the test app.
Bug: 138374585
Change-Id: I5587f7138cf2cd8d144e88cf294e65c14bb32bfb
2019-09-26 12:59:19 +01:00
atrost
e36b1a142f Implement stats logging for Compatibility API.
Add a new atom and log from both the app process API and the system server API
Bug: 136794938
Bug: 138378110
Test: statsd_testdrive 228

Change-Id: I80f07d0beb30c779c4bce70bebf2bb4ab22f6bfe
Merged-In: I80f07d0beb30c779c4bce70bebf2bb4ab22f6bfe
2019-09-16 14:55:53 +01:00
atrost
1516d5290c Implement stats logging for Compatibility API.
Add a new atom and log from both the app process API and the system server API
Bug: 136794938
Bug: 138378110
Test: statsd_testdrive 228

Change-Id: I80f07d0beb30c779c4bce70bebf2bb4ab22f6bfe
Merged-In: I80f07d0beb30c779c4bce70bebf2bb4ab22f6bfe
2019-09-16 14:54:44 +01:00
Xin Li
d57e959e71 Merge qt-r1-dev-plus-aosp-without-vendor (5817612) into stage-aosp-master
Bug: 135460123
Change-Id: I65906d82b14125c0893d5cde0cfebb73bf9e38ab
Merged-In: I1f2564837c33cd4c6c3db6aac3cbaf8c09707da9
2019-09-10 11:16:29 -07:00
Jiyong Park
bc099b6d59 Revert "Fix: vendor public libraries are accessible via System.loadLibrary"
This reverts commit cfe38cdb1c.

The CL 8f712189dfc02285573337e2b4ab17678011db14 in libcore project avoids
the need for adding the new paths in LoadedApk. With the CL, a classloader
does not give up even when loader.findLibrary() has failed due to some
paths are not added to it. Instead, the classloader converts the given
libname into a filename (e.g. foo -> libfoo.so) then calls dlopen()
with the filename. The classloader reports failure only when the dlopen()
call has failed. Therefore, manually adding these paths to the classloader
is no longer needed and thus removed.

Bug: 109720125
Test: System.loadLibrary("adsprpc") is successful in Pixel (because
libadsprpc.so is in Pixel's vendor public lib list)
Test: atest cts/tests/tests/jni

Merged-In: I1970eba7e732728699042a36b89571915ec81451
(cherry picked from commit 37131e1ee6)
Change-Id: I1970eba7e732728699042a36b89571915ec81451
2019-09-10 12:51:26 +09:00
Jiyong Park
9c7d8b12b4 Revert "Fix: vendor public libraries are accessible via System.loadLibrary"
This reverts commit cfe38cdb1c.

The CL 8f712189dfc02285573337e2b4ab17678011db14 in libcore project avoids
the need for adding the new paths in LoadedApk. With the CL, a classloader
does not give up even when loader.findLibrary() has failed due to some
paths are not added to it. Instead, the classloader converts the given
libname into a filename (e.g. foo -> libfoo.so) then calls dlopen()
with the filename. The classloader reports failure only when the dlopen()
call has failed. Therefore, manually adding these paths to the classloader
is no longer needed and thus removed.

Bug: 109720125
Test: System.loadLibrary("adsprpc") is successful in Pixel (because
libadsprpc.so is in Pixel's vendor public lib list)
Test: atest cts/tests/tests/jni

Merged-In: I1970eba7e732728699042a36b89571915ec81451
(cherry picked from commit 37131e1ee6)
Change-Id: I1970eba7e732728699042a36b89571915ec81451
2019-09-06 14:02:26 +09:00
Martin Stjernholm
ca19446d9a Merge "Update path to the new ART APEX."
am: 0a4cf715f6

Change-Id: I7ab8cd227ce571041293880dfaca4e2ebb68e536
2019-09-02 03:44:58 -07:00
Martin Stjernholm
0a4cf715f6 Merge "Update path to the new ART APEX." 2019-09-02 10:28:30 +00:00
Martin Stjernholm
28f0a76486 Update path to the new ART APEX.
Test: atest CtsJniTestCases
Bug: 135753770
Exempt-From-Owner-Approval: Approved internally
Change-Id: Ica35fc7f6adade19160cbb16adf5647d189ecc45
Merged-In: Ica35fc7f6adade19160cbb16adf5647d189ecc45
2019-08-30 17:47:31 +01:00
Aurimas Liutikas
1da3bde08d Add missing nullability annotations.
To prepare for enabling MissingNullability Metalava check this CL
works on adding missing nullability issues that metalava flags if
we tell it to flag new things since API 29.

This is not a complete CL, mostly addresses public api and
toString/equals for @SystemApi

Exempt-From-Owner-Approval: Large scale nullability clean up
Bug: 124515653
Test: make -j checkapi
Merged-In: I109260842cfc25f06e40694997fcbb4afa02c867
Change-Id: I109260842cfc25f06e40694997fcbb4afa02c867
2019-08-30 00:16:24 +00:00
Aurimas Liutikas
00be951a08 Add missing nullability annotations.
To prepare for enabling MissingNullability Metalava check this CL
works on adding missing nullability issues that metalava flags if
we tell it to flag new things since API 29.

This is not a complete CL, mostly addresses public api and
toString/equals for @SystemApi

Exempt-From-Owner-Approval: Large scale nullability clean up
Bug: 124515653
Test: make -j checkapi
Merged-In: I109260842cfc25f06e40694997fcbb4afa02c867
Change-Id: I109260842cfc25f06e40694997fcbb4afa02c867
2019-08-30 00:14:44 +00:00
Ian Kasprzak
1a5bb83588 [DO NOT MERGE] Cleanup TEST_MAPPING disables from ag/9285495
- Moved exclude filters to existing stanzas
- Removed new stanzas added w/ filters
- Removed un-needed filters because existing "include-filter"
  already excludes failing tests.

Disabling in preparation for merge to aosp-master (Q release).

Disabling the following tests:
FrameworksCoreTests:android.view.textclassifier.TextClassifierTest#testSuggetsConversationActions_deduplicate
CtsAppTestCases:android.app.cts.ServiceTest#testAppZygoteServices
CtsAppTestCases:android.app.cts.SystemFeaturesTest#testLocationFeatures
CtsProviderTestCases:android.provider.cts.MediaStore_Images_ThumbnailsTest

Test: Forrest
Exempt-From-Owner-Approval: Disabling known failing TEST_MAPPING tests
for AOSP push to Q.

Change-Id: I4dc2408c5bc6d421654f871c5d63d402c1d96d91
2019-08-29 10:38:56 -07:00
Raman Tenneti
f997c75d69 [DO NOT MERGE] Disabled the following tests in TEST_MAPPING:
FrameworksCoreTests:android.view.textclassifier.TextClassifierTest#testSuggetsConversationActions_deduplicate
CtsAppTestCases:android.app.cts.ServiceTest#testAppZygoteServices
CtsAppTestCases:android.app.cts.SystemFeaturesTest#testLocationFeatures
CtsProviderTestCases:android.provider.cts.MediaStore_Images_ThumbnailsTest

Disabling in preparation for merge to aosp-master (Q release).

Test: Forrest (atest)
L55600000358896983, L81400000359164936
BUG: 139704630
BUG: 139535570
BUG: 139536812
BUG: 139535125
BUG: 139305203
Change-Id: I9be2efd464fe031a0269fa5a3913ddb4959ba05d
Exempt-From-Owner-Approval: Disabling known failing TEST_MAPPING tests for AOSP push to Q.
2019-08-28 23:48:13 +00:00
Xin Li
f5defc19a0 DO NOT MERGE - Merge build QP1A.190711.020 into stage-aosp-master
Bug: 139893257
Change-Id: I89559c14cbc17c47f9b43754ec44904b19c73dd3
2019-08-26 18:30:47 +00:00
Alex Light
366a542843 Merge "Add agent startup-attach" into stage-aosp-master 2019-08-20 15:39:48 +00:00
Alex Light
25abf4d99a Merge "Add agent startup-attach" into qt-dev-plus-aosp
am: 74f191c782

Change-Id: I45f82e0c1efa8d312971cb84ab51888c4595498f
2019-08-19 13:29:49 -07:00
Alex Light
ca8502a7f5 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

Cherry-picked from commit c0fce111c8b due to merge conflict.

Change-Id: Ib82b27df90c7964a995288d8b2b3d348a11cdd80
Merged-In: Ib82b27df90c7964a995288d8b2b3d348a11cdd80
2019-08-16 16:14:07 +00:00
Alex Light
c4caca112f 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

Cherry-picked from commit c0fce111c8b due to merge conflict.

Change-Id: Ib82b27df90c7964a995288d8b2b3d348a11cdd80
Merged-In: Ib82b27df90c7964a995288d8b2b3d348a11cdd80
2019-08-14 21:28:22 +00:00
Xin Li
80860803a4 DO NOT MERGE - Merge qt-dev-plus-aosp-without-vendor (5713463) into stage-aosp-master
Bug: 134405016
Change-Id: I303c0268e8e454b0f0f460eb286812a50c9add88
2019-08-14 12:04:06 -07: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
Prabir Pradhan
5d138b1d12 Merge "apply empty transaction in startActivitySync" into qt-dev am: f928b661d9
am: 5cd874d792

Change-Id: I430d68da69b2123dcaae8378d024d65ff4405824
2019-08-14 01:53:22 -07:00
Prabir Pradhan
5cd874d792 Merge "apply empty transaction in startActivitySync" into qt-dev
am: f928b661d9

Change-Id: Ic4b27be6729a3a7627a8fc499cd99fdec42cad35
2019-08-14 01:40:41 -07:00
Prabir Pradhan
d8006ca972 Merge "apply empty transaction in startActivitySync" into qt-dev
am: f928b661d9

Change-Id: Ifcb1ebfee97d26c0ceeddc88f39f54ecee4da85f
2019-08-14 01:39:18 -07:00
Prabir Pradhan
ec177f86e1 apply empty transaction in startActivitySync
Force SurfaceFlinger to update synchronously by applying an empty
transaction. Without this, SurfaceFlinger will only update after the
next vsync, which may only happen after the instrumentation already
starts.

Since InputFlinger will only have the proper InputWindowInfo after
SurfaceFlinger updates, waiting for the vsync caused some
instruemntation tests to be flaky.

Bug: 138263890
Test: atest android.view.cts.HoverTest
Change-Id: I5457ab67ac574530dc1aa84549ca11e7e3f0d714
(cherry picked from commit 03dde38efc)
2019-08-14 00:22:41 +00:00
Prabir Pradhan
03dde38efc apply empty transaction in startActivitySync
Force SurfaceFlinger to update synchronously by applying an empty
transaction. Without this, SurfaceFlinger will only update after the
next vsync, which may only happen after the instrumentation already
starts.

Since InputFlinger will only have the proper InputWindowInfo after
SurfaceFlinger updates, waiting for the vsync caused some
instruemntation tests to be flaky.

Bug: 138263890
Test: atest android.view.cts.HoverTest
Change-Id: I5457ab67ac574530dc1aa84549ca11e7e3f0d714
2019-08-07 12:59:01 -07:00
Kevin Hufnagle
0f27f04f9b Merge "docs: Clarified when onRestoreInstanceState() executes" into qt-dev am: c80fe63001
am: ad1de8fbe4

Change-Id: I22a8b72e89aef3063c3f2b40e6d1f58c7155a7e8
2019-08-06 09:23:03 -07:00