OSDN Git Service
Paul Duffin [Wed, 14 Feb 2018 10:36:16 +0000 (10:36 +0000)]
Build android.test.base/legacy against SDK
android.test.legacy is now build against SDK, thus available to apps
build with SDK.
In doing so, android.test.mock.stubs had to be built with SDK (because
it is used by android.test.legacy). However, this wasn't trivial.
The problem was that some classes in test-mock implemented abstract
methods of platform classes. Even though they are marked as @hide,
doclava automatically emit them to the stub file because otherwise the
class in the stub file does not implement some abstract methods from its
parent class, which in turn makes the stub file non-compilable.
This CL solves the problem by introducing an adapter class in between
the class in test-mock and the class in the framework. The adapter class
implements abstract methods which are @hide and having reference to
types that aren't available to SDK. The abstract methods are removed
from the original class. Then doclava does not emit the abstract
methods.
Also by @hide'ing the adapter classes, they are not compiled when
building the stub library.
Bug:
30188076
Bug:
73339598
Test: m -j android.test.base
Test: m -j android.test.legacy
Test: m -j android.test.mock.stubs
are successful and do not show link-check warning
Merged-In: I8e432950e693ee3c6f0240852e62da6133d31571
Change-Id: I8e432950e693ee3c6f0240852e62da6133d31571
Paul Duffin [Tue, 19 Dec 2017 15:11:47 +0000 (15:11 +0000)]
Fix visibility issues with android.test.mock.stubs
This ensures that the API definitions for the android.test.mock package
matches the definitions in the api/current.txt file.
Bug:
30188076
Test: make update-api
(cherry-picked from commit
bd97e3dd4e5d395f336114016b000ef3cfb26053)
Merged-In: Id325b8cf2f189117ac4cfe7634095ab710eee004
Change-Id: Id325b8cf2f189117ac4cfe7634095ab710eee004
Treehugger Robot [Sat, 17 Feb 2018 04:49:23 +0000 (04:49 +0000)]
Merge "Add @Nullable to return values in Uri"
Treehugger Robot [Sat, 17 Feb 2018 01:39:54 +0000 (01:39 +0000)]
Merge "Add Zygote.startChildZygote() to fork a new process that itself is a zygote."
Brad Ebinger [Fri, 16 Feb 2018 20:35:45 +0000 (20:35 +0000)]
Merge "MSIM support for hidden IMS capability and registration query APIs."
Treehugger Robot [Fri, 16 Feb 2018 20:02:26 +0000 (20:02 +0000)]
Merge "[DO NOT MERGE] Fix some mouse + list-item selection/scrolling issues"
Treehugger Robot [Fri, 16 Feb 2018 19:54:26 +0000 (19:54 +0000)]
Merge "[DO NOT MERGE] Fix context menu position for RTL"
Robert Sesek [Mon, 12 Feb 2018 23:46:01 +0000 (18:46 -0500)]
Add Zygote.startChildZygote() to fork a new process that itself is a zygote.
This adds a new --start-child-zygote argument that instructs the main
zygote to create a new child process that will also be a zygote. The
system_server generates a random name in the abstract socket namespace
for it and the child-zygote to communicate over, and that is passed as
an argument to the new process.
A child-zygote bypasses the normal post-fork-child of the zygote process
in order to preserve itself as a zygote. This means not starting the
Binder threadpool nor launching into ActivityThread. Instead, a
child-zygote calls into its own main function. The main function runs a
ZygoteServer select loop, listening on the socket name specified by the
system_server when it was forked.
Unlike the system zygotes, a child-zygote can be killed without bringing
down the system. Killing a child-zygote will not terminate its child
processes, which will be reparented to init for reaping when they
eventually exit.
Bug:
63749735
Test: m (with multi-project commits landed)
Change-Id: I3e7ebbdba498f8fec1d84cdf927dc43a92be4b68
Benedict Wong [Fri, 16 Feb 2018 18:32:05 +0000 (18:32 +0000)]
Merge "Correct bug in IpSecTransformTest"
Treehugger Robot [Fri, 16 Feb 2018 16:05:19 +0000 (16:05 +0000)]
Merge "Framework: Disable [MissingOverride] for platformprotos"
Treehugger Robot [Fri, 16 Feb 2018 15:20:23 +0000 (15:20 +0000)]
Merge "BluetoothTile: Avoid NPE during boot up phase"
Treehugger Robot [Fri, 16 Feb 2018 11:50:20 +0000 (11:50 +0000)]
Merge "Hidden API blacklisting killswitch."
Mathew Inwood [Thu, 15 Feb 2018 10:28:06 +0000 (10:28 +0000)]
Hidden API blacklisting killswitch.
Just support "*" for now, meaning disable all API blacklisting for all
apps.
Test: Manually verified by:
- installing test app that accesses hidden API
- manually blacklist the API
- $ adb shell settings put global hidden_api_blacklist_exemptions \\*
This is a cherry pick of change I9a41a104742c9aaaf3a753e7b0f3a1106e37d4d3
from internal master.
Merged-In: I9a41a104742c9aaaf3a753e7b0f3a1106e37d4d3
Change-Id: Ibb2a1d054c1b099fc6093e37f24b2ed421a2313c
Treehugger Robot [Fri, 16 Feb 2018 03:19:35 +0000 (03:19 +0000)]
Merge "Add missing'}' in javadoc of public API method"
Benedict Wong [Fri, 16 Feb 2018 02:47:49 +0000 (18:47 -0800)]
Correct bug in IpSecTransformTest
testCreateTransformsWithSameConfigEqual used assertFalse rather than
assertTrue
Bug:
69385347
Test: Passing on walleye
Change-Id: I8caa26e184e8bfc3e8acc9061d85c22d27ebf448
Calin Juravle [Fri, 16 Feb 2018 02:25:48 +0000 (02:25 +0000)]
Merge "Pass the compilation reason to dexopt"
Treehugger Robot [Fri, 16 Feb 2018 01:47:27 +0000 (01:47 +0000)]
Merge "Fix LTE Timing Advance Doc String"
Treehugger Robot [Fri, 16 Feb 2018 01:34:43 +0000 (01:34 +0000)]
Merge "NfcTile: Avoid NPE during boot up phase"
Andreas Gampe [Thu, 15 Feb 2018 23:12:38 +0000 (15:12 -0800)]
Framework: Disable [MissingOverride] for platformprotos
Bug:
72714520
Test: m javac-check-platformprotos RUN_ERROR_PRONE=true
Merged-In: I00f5a588fa74621d4c35dc4e39b54536815ad476
Change-Id: I00f5a588fa74621d4c35dc4e39b54536815ad476
Dan Zhang [Fri, 16 Feb 2018 01:17:02 +0000 (01:17 +0000)]
Merge "Fix HdmiCecLocalDevice concurrent access"
Treehugger Robot [Fri, 16 Feb 2018 00:33:37 +0000 (00:33 +0000)]
Merge "DndTile: Avoid NPE during boot phase"
Treehugger Robot [Thu, 15 Feb 2018 23:56:55 +0000 (23:56 +0000)]
Merge "Un-hide Connection-side RTT APIs for Dialer"
Scott Kennedy [Thu, 15 Feb 2018 23:36:40 +0000 (15:36 -0800)]
Add @Nullable to return values in Uri
This makes it much easier to add null-safety when calling this from Kotlin.
Test: refactoring CL. Existing unit tests still pass.
Change-Id: I55c33ad4ff1306afd80c1a5562c54dfcb6068b0b
Hall Liu [Mon, 4 Dec 2017 22:19:30 +0000 (14:19 -0800)]
Un-hide Connection-side RTT APIs for Dialer
Bug:
63934808
Test: builds
Change-Id: I59a892fb0e314810e92dd9ad7d0c2f4610055045
Merged-In: I59a892fb0e314810e92dd9ad7d0c2f461005504
Nathan Harold [Thu, 15 Feb 2018 21:06:16 +0000 (13:06 -0800)]
Fix LTE Timing Advance Doc String
The Doc string for LTE timing advance incorrectly
lists the range based on the maximum size of an
incremental TA command rather than the cumulative
timing advance. The spec reference is correct, but
the range was wrong.
Bug:
66751464
Test: compilation (docstring only change)
Change-Id: I0242cae7af40a7d9ed5ae9a2a509592076e5b6a3
Hall Liu [Thu, 15 Feb 2018 21:01:10 +0000 (21:01 +0000)]
Merge "Add setting and logging for RTT"
Calin Juravle [Mon, 12 Feb 2018 20:00:44 +0000 (12:00 -0800)]
Pass the compilation reason to dexopt
Record the compilation reason in the oat files to enable better
performance monitoring.
Test: DexoptOptionsTest
manual
Bug:
73102540
Change-Id: Ifa487d4bc33dcd06f12af6bdd1d9a9c5f4562f4b
Xiangyu/Malcolm Chen [Thu, 15 Feb 2018 19:01:59 +0000 (19:01 +0000)]
Merge "Add NetworkRegistrationState into SS's list."
Hall Liu [Tue, 30 Jan 2018 01:22:02 +0000 (17:22 -0800)]
Add setting and logging for RTT
Add a system setting to store preferred RTT mode for calls. Add logging
for RTT in Telecom base classes.
Bug:
63934808
Test: manual
Change-Id: Ie26fac800931604379bbe7b8abfed7caa8c0236d
Merged-In: Ie26fac800931604379bbe7b8abfed7caa8c0236d
Brad Ebinger [Thu, 15 Feb 2018 17:23:31 +0000 (17:23 +0000)]
Merge "Add new owners files for Telephony/Telecom frameworks files."
Treehugger Robot [Thu, 15 Feb 2018 16:17:06 +0000 (16:17 +0000)]
Merge changes from topic "cp_calin_framework_2017"
* changes:
Allow public profile compilation for primary apks
[framework] Pass .dm files to dexopt at install time
Extend the ArtManager profiling API to cover boot image profiling
[framework] Extend profile operations to take the profile name
Accept UserHandle.USER_ALL during profile preparation
[framework] Prepare profile for app code paths
Perform a non strict matching of .dm files when computing the size
Support installation of DexMetadata files (.dm)
Rename snapshotProfile to createProfileSnapshot for consistency
Implement ArtManager#snapshotProfile API
Add SystemApis to expose runtime profile information
Log SHA256 of secondary dex files during reconcile.
David Brazdil [Thu, 15 Feb 2018 11:55:15 +0000 (11:55 +0000)]
Merge "Update hidden API toast message"
Chalard Jean [Thu, 15 Feb 2018 11:25:36 +0000 (11:25 +0000)]
Merge changes I3d68dbf8,I6ea524bb,I978d9119
* changes:
Deprecate CONNECTIVITY_ACTION.
Publish FOREGROUND and add NOT_SUSPENDED capabilities.
Send null UIDs to apps instead of single-uid lists.
Lorenzo Colitti [Thu, 15 Feb 2018 10:03:26 +0000 (10:03 +0000)]
Merge changes Icd56662d,I0ece820f
* changes:
Restrict OWNERS in android.net.*
Add OWNERS to the libandroid_net library.
David Brazdil [Wed, 14 Feb 2018 22:36:34 +0000 (22:36 +0000)]
Update hidden API toast message
Change the toast message shown by an Activity when VMRuntime reports
that the app has used a private API.
(a) fix a typo: compatiblity -> compatibility
(b) change guidance from "please consult log" to "go to <url> for
more info" where devs can learn how to proceed if their app does
have compatibility issues.
Bug:
64382372
Test: make, visual
Change-Id: Idbe32a724438bb7b0826d0b4e11ef505015cb321
Lorenzo Colitti [Thu, 15 Feb 2018 07:43:44 +0000 (16:43 +0900)]
Restrict OWNERS in android.net.*
Test: None
Change-Id: Icd56662dcbc86b49015d094fd8ae2ade235aa475
Lorenzo Colitti [Thu, 15 Feb 2018 06:51:58 +0000 (15:51 +0900)]
Add OWNERS to the libandroid_net library.
Test: None
Change-Id: I0ece820fc0de786a81df9f922135acdf92f1d136
Treehugger Robot [Thu, 15 Feb 2018 04:14:43 +0000 (04:14 +0000)]
Merge "Hearing Aid profile"
Tyler Gunn [Wed, 14 Feb 2018 22:37:17 +0000 (14:37 -0800)]
Add new owners files for Telephony/Telecom frameworks files.
Test: N/A
Bug:
73373651
Change-Id: Ia0e19018d6cd72923f9f20b372d303fa532409b0
Malcolm Chen [Tue, 13 Feb 2018 23:42:58 +0000 (15:42 -0800)]
Add NetworkRegistrationState into SS's list.
Add hidden API to add NetworkRegistrationState into SS's
NetworkRegistrationState list.
Bug:
73305596
Test: unittest
Change-Id: Ief7f22632c1f3400c01663d13b990dc9b0d59e2e
Jakub Pawlowski [Wed, 22 Nov 2017 19:02:34 +0000 (11:02 -0800)]
Hearing Aid profile
This is implementation of Hearing Aid Profile that will in future
be connected to Bluetooth Manager - see TODOs in BluetoothHearingAid.java
Bug:
69623109
Test: compilation. Manual test with HA.
Change-Id: I79643ea1e14e9df7f5771169359c964a60c56618
Benedict Wong [Wed, 14 Feb 2018 19:37:53 +0000 (19:37 +0000)]
Merge "Copy IpSecConfig when IpSecTransforms are created"
Chen Xu [Wed, 14 Feb 2018 18:54:06 +0000 (18:54 +0000)]
Merge "add a current table in CarrierIdProvider"
Brad Ebinger [Fri, 9 Feb 2018 00:06:31 +0000 (16:06 -0800)]
MSIM support for hidden IMS capability and registration query APIs.
Modifies TelephonyManager APIs to better support MSIM devices
and adds a method to query MMTEL IMS Registration technology.
Test: Manual, telephony unit tests.
Bug:
35128252
Merged-In: Ie37185bd3477635094a0db998918ba5ad59842be
Change-Id: Ie37185bd3477635094a0db998918ba5ad59842be
Calin Juravle [Thu, 1 Feb 2018 17:23:13 +0000 (17:23 +0000)]
Allow public profile compilation for primary apks
It is ok to perform a "public" compilation with
profiles comming from dex metdata files.
(cherry picked from commit
ff3e4a1b2fb082e8146d00a41f702d0b00d9cab0)
Test: adb install foo.apk foo.dm
Bug:
30934496
Merged-In: I1d15e3281ccc61b19a2aafe3c885285a83ff6115
Change-Id: I1d15e3281ccc61b19a2aafe3c885285a83ff6115
Calin Juravle [Thu, 1 Feb 2018 17:20:51 +0000 (17:20 +0000)]
[framework] Pass .dm files to dexopt at install time
(cherry picked from commit
cc65194e8e5a284e915176200a846ec75c037d95)
Test: DexoptOptionsTest
adb install foo.apk foo.dm
Bug:
30934496
Merged-In: If7e705a0efc0954a385ec3bfe7a93921c0d83351
Change-Id: If7e705a0efc0954a385ec3bfe7a93921c0d83351
Calin Juravle [Mon, 22 Jan 2018 05:39:18 +0000 (21:39 -0800)]
Extend the ArtManager profiling API to cover boot image profiling
The boot image profile is available only on userdebug and eng builds and
combines the boot classpath and system server classpath.
Also, update ArtManager API to use Executors instead of Handlers.
(cherry picked from commit
fcbb74a4296fd808e1058ecebd91fac56582e799)
Test: gts GtsAndroidRuntimeManagerHostTestCases
Bug:
30934496
Merged-In: Ie501947a659d644acbde04fb46157dd0c7944e81
Change-Id: Ie501947a659d644acbde04fb46157dd0c7944e81
Calin Juravle [Sat, 20 Jan 2018 04:32:47 +0000 (20:32 -0800)]
[framework] Extend profile operations to take the profile name
Extend the installd profile interface to take the profile name as
argument. This shifts the responsibility for choosing the names of
profiles for primary apks completely to PackageManager. Each of the
application code paths will get an unique profile name based on their
split name.
All the profile operations will now work on a specific profile name rather
than assuming a default global name.
Also, move dumpProfiles and clearProfiles functionality to the
ArtManagerService so that we can re-use profileName computations easier.
(cherry picked from commit
6ae39fc2e5b4692d092a042816939fd0a5f3e3b8)
Test: manual (dexopt apps, merge profiles, clear profiles)
gts GtsAndroidRuntimeManagerHostTestCases
Bug:
30934496
Merged-In: Ie65d45eed7de0844edf4b7af918d7eaa74ec1f2c
Change-Id: Ie65d45eed7de0844edf4b7af918d7eaa74ec1f2c
Calin Juravle [Wed, 24 Jan 2018 22:43:24 +0000 (14:43 -0800)]
Accept UserHandle.USER_ALL during profile preparation
(cherry picked from commit
5bbe26ee01bc9785487fe5e748e624b6fc5bd3a4)
Test: adb install foo.apk
Bug:
72453027
Merged-In: I840d70d47a256c8853bbe1b9b023f51bdd5ddf6b
Change-Id: I840d70d47a256c8853bbe1b9b023f51bdd5ddf6b
Calin Juravle [Thu, 18 Jan 2018 23:17:29 +0000 (15:17 -0800)]
[framework] Prepare profile for app code paths
This CL is an intermediate step to enable the use of profiles shipped in
the dex metadata files.
The preparation consist of:
- creating the current profile
- merging the profile from the dex metadata file (if present) into the
reference profile
and happens:
- after the application data directory is created, to capture system
apps.
- post-install (right before we dexopt), to capture any new code paths
(cherry picked from commit
3621be71d0fe8a349ca468aca99a53a17f6575b3)
Test: manual (install apps and splits, take OTA)
Bug:
30934496
Merged-In: Id36474ab629ad3ffafd24381d30e3d88ac02d576
Change-Id: Id36474ab629ad3ffafd24381d30e3d88ac02d576
Calin Juravle [Mon, 22 Jan 2018 20:50:01 +0000 (12:50 -0800)]
Perform a non strict matching of .dm files when computing the size
'adb shell pm install' creates the PackageLite structure without
validating or renaming the input files to '.apk'.
Be more permissive in DexMetadataHeler when computing the size of the
package to allow for this scenario.
(cherry picked from commit
10b27eb2ccbb8992895827c0fb21e2d3f9c727db)
Test: atest
core/tests/coretests/src/android/content/pm/dex/DexMetadataHelperTest.java
Bug:
72267410
Merged-In: Ica446b0822be71826d02d01ada015a43d8133c68
Change-Id: Ica446b0822be71826d02d01ada015a43d8133c68
Calin Juravle [Tue, 12 Dec 2017 02:26:13 +0000 (18:26 -0800)]
Support installation of DexMetadata files (.dm)
Add support in the package installer to install dex metadata files
alongside the application apks (base or splits).
During installation or update the dex metadata files will need to have a
matching apk file. The matching is done by checking the file extension
(e.g. base.apk -> base.dm, split_a.apk -> split.dm).
On disk, the metadata files are placed next to the apks.
The .dm files will be used during install-time optimizations and passed
verbatim to dex2oat.
Test: adb shell am instrument -w \
1) adb shell am instrument -w \
-e class android.content.pm.DexMetadataHelperTest
com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
2) adb install-multiple CtsClassloaderSplitApp.apk
CtsClassloaderSplitApp.dm CtsClassloaderSplitAppFeatureA.apk
CtsClassloaderSplitAppFeatureA.dm CtsClassloaderSplitAppFeatureB.apk
3) gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases
(cherry picked from commit
3fc56c30000d9b88c2145d4297a97ec5061d60d1)
Bug:
30934496
Merged-In: I86f0a8307705ff3d6a5a85c2fcaae085dd62d4af
Change-Id: I86f0a8307705ff3d6a5a85c2fcaae085dd62d4af
Calin Juravle [Tue, 5 Dec 2017 20:33:32 +0000 (12:33 -0800)]
Rename snapshotProfile to createProfileSnapshot for consistency
(cherry picked from commit
388cd5fffe7564ae364776d7f557e3a301387840)
Test: build
Bug:
30934496
Merged-In: I602262d22509b279383ff2a71e38c8bae059498a
Change-Id: I602262d22509b279383ff2a71e38c8bae059498a
Calin Juravle [Thu, 30 Nov 2017 02:26:55 +0000 (18:26 -0800)]
Implement ArtManager#snapshotProfile API
Complete the implementation of ArtManager#snapshotProfile. The snapshot is
performed by calling the installer and then return to the caller via the
specified callback.
(cherry picked from commit
fd9f8ae973122a50f336e38c386ecbc0095d8adc)
Bug:
30934496
Test: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases
Merged-In: I87131487846d91d79a56041445420376b61ca8e7
Change-Id: I87131487846d91d79a56041445420376b61ca8e7
Calin Juravle [Wed, 8 Nov 2017 02:49:43 +0000 (18:49 -0800)]
Add SystemApis to expose runtime profile information
The API allows a system apps which acquired
{@code android.permission.READ_RUNTIME_PROFILE} to snapshot the runtime
profiles of installed packages.
The API is implemented in a new service class (AndroidRuntimeManager)
accessible from the context using
context().getPackageManager().getAndroidRuntimeManager().
The main functionality is exposed as a one way call into the
AndroidRuntimeManager with the result being posted on a callback. The
profile is available to the caller as a read-only ParcelFileDescriptor.
This CL only adds the API interfaces and validation. It does not fully
implement the functionality.
oneway void snapshotRuntimeProfile(in String packageName,
in String codePath, in ISnapshotRuntimeProfileCallback callback)
(cherry picked from commit
45f8b29ce0ca9f80c586850c4be3a1e552bc6c2f)
Bug:
30934496
Test: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases
Merged-In: Iaa6be4715840f24508acba3162ea9c1ab725bd38
Change-Id: Iaa6be4715840f24508acba3162ea9c1ab725bd38
Alan Stokes [Mon, 16 Oct 2017 11:31:44 +0000 (12:31 +0100)]
Log SHA256 of secondary dex files during reconcile.
(cherry picked from commit
a0023604ddaeef34049f1a245be7c42a66a7d0e8)
Bug:
63927552
Test: Exercised manually. Added unit test for DexManager.
Merged-In: Ic8e9ea4da8eb5c22fbe088a59a406e36bc2eb6fa
Change-Id: Ic8e9ea4da8eb5c22fbe088a59a406e36bc2eb6fa
Treehugger Robot [Wed, 14 Feb 2018 15:02:22 +0000 (15:02 +0000)]
Merge "Fix link-type check warning on PMTest_Java* test apps"
Nicolas Geoffray [Wed, 14 Feb 2018 11:41:02 +0000 (11:41 +0000)]
Merge "Refactor runtime hidden API flag from negative to positive"
David Brazdil [Tue, 13 Feb 2018 17:04:26 +0000 (17:04 +0000)]
Refactor runtime hidden API flag from negative to positive
There are only two situations in which we want to enable hidden API
access flag checks. Turning the flag from DISABLE_ to ENABLE_
simplifies logic in ART and reduces the number places where the flag
had to be passed down to ART.
Bug:
64382372
Test: boot device, install and run apps, check log messages
(cherry picked from commit
f7e31c0a2b69e97662e2bdeb7e5b5c6d0a7f995c)
Change-Id: Ib2f70696d98c6e1500d1d419d6acf0a8d0487213
Martijn Coenen [Wed, 14 Feb 2018 09:17:32 +0000 (09:17 +0000)]
Merge "add swapPss of native process to totalSwapPss"
fionaxu [Mon, 29 Jan 2018 22:08:12 +0000 (14:08 -0800)]
add a current table in CarrierIdProvider
restructure CarrierIdProvider into two tables
1. All - a private table which stores a complete mapping of all carriers
2. Current - a public table only stores the carrier identification of the
current active subs. require no permission to query.
expose the content url to public so that apps could be
notified on carrier identity change either on background or foreground.
Bug:
72571475
Test: runtest --path CarrierIdProviderTest.java
Test: Manual
Change-Id: If2a20288e63d25343f5bb582b35564d769a4e13b
(cherry picked from commit
3d00d698d7d6c10628076cca8df30adb50c52563)
Merged-in: If2a20288e63d25343f5bb582b35564d769a4e13b
Jiyong Park [Wed, 14 Feb 2018 07:26:04 +0000 (16:26 +0900)]
Fix link-type check warning on PMTest_Java* test apps
The test apps are built with SDK, but are using native libraries built
without SDK (libpmtest(32|64|dual)). This has been causing link-type check
warning, which will be errors soon.
Fixing the warning by building the native libraries with SDK.
Bug:
69899800
Test: mma -j under
frameworks/base/core/tests/hosttests/test-apps/SharedUid is successful
and does not show any link-type check warning
Change-Id: I660edb9accd8965ddd471f88f2b47f6b7285b83f
Chalard Jean [Fri, 9 Feb 2018 20:33:50 +0000 (05:33 +0900)]
Deprecate CONNECTIVITY_ACTION.
That was its destiny.
Use NetworkCallbacks instead.
Test: runtest frameworks-net, but this is only doc changes
Change-Id: I3d68dbf817de92c66d899a7cc4519c5639e4c049
Chalard Jean [Tue, 30 Jan 2018 13:41:41 +0000 (22:41 +0900)]
Publish FOREGROUND and add NOT_SUSPENDED capabilities.
NOT_SUSPENDED and FOREGROUND are capabilities that need to
be public so as to reach feature parity with what information
can be gotten through the use of CONNECTIVITY_ACTION and
synchronous calls to ConnectivityManager. This change makes
them public, and wires up the NOT_SUSPENDED capability.
This deprecates in effect the old onSuspended and onResumed
callbacks, but these have never been public.
This also converts the onAvailable path from a multiple
binder call design to a simpler, single binder call. This
is only for internal convenience
Test: runtest frameworks-net
Test: cts
Test: also manual testing
Change-Id: I6ea524bb361ecef0569ea2f9006c1e516378bc25
Chalard Jean [Fri, 26 Jan 2018 10:24:40 +0000 (19:24 +0900)]
Send null UIDs to apps instead of single-uid lists.
Prior to this change ConnectivityManager used to patch in the UID
of the requesting app inside the NetworkCapabilities sent to it.
The rationale was that the app may not know what other apps may
use the network, so the view it should have of the network should
always say the network only applies to that app.
But this has an unfortunate side effect : apps can't match the
received network against a default NetworkCapabilities. Ostensibly
this only applies to the system because all involved calls are
@hide, but still : system code would get some NetworkCapabilities,
for example using networkCapabilitiesForType, and then try to
match the capabilities of an available network using
satisfiedByNetworkCapabilities. Because the passed network is
declared to only apply to one's own UID and the UIDs of the
NetworkCapabilities are set to null meaning "I need this network
to apply to all UIDs", the answer will be "false".
While this is WAI in a sense, it is very counter-intuitive that
code trying to match a network would be required to patch in its
own UIDs.
There are three ways of fixing this :
1. Require all apps to do the above. It's correct, but it's
cumbersome and counterintuitive. Multiple places in existing
code needs to be fixed, Tethering is an example.
2. Write the UIDs of the caller in any NetworkCapabilities object
that is created. This is not very practical, because it imposes
the converse requirement on all NetworkAgents, which would then
have to clear the UIDs before they send the capabilities to
ConnectivityService. All NetworkAgents need to be fixed.
3. Instead of sending an object with a list of one UID to apps,
send a null list. The drawback is that the networks nominally
look to apps like they apply to all apps. I argue this does
not matter ; what matters is that the UID lists do not leak.
Clients just see a null list of UIDs (and third party can't
even access them without using reflection). No other changes
are required besides this two-line patch.
This patch implements 3. I believe it is the saner approach, with
both the most intuitive behavior and the best backward compatibility
characteristics, as well as the easiest change.
This does not encroach on the future plans to make the actual
UID list available to apps with NETWORK_SETTINGS.
Test: runtest frameworks-net
Change-Id: I978d91197668119e051c24e1d04aafe1644a41cf
Treehugger Robot [Wed, 14 Feb 2018 03:35:37 +0000 (03:35 +0000)]
Merge "Refactor ZygoteProcess to deal in LocalSocketAddress."
Treehugger Robot [Tue, 13 Feb 2018 23:27:33 +0000 (23:27 +0000)]
Merge "Rename Conference#setConnectionElapsedTime to clarity."
Benedict Wong [Wed, 7 Feb 2018 04:43:21 +0000 (20:43 -0800)]
Copy IpSecConfig when IpSecTransforms are created
This change prevents IpSecTransforms from being inadvertently modified
by changes to the IpSecConfig. Specifically, once the transform is
created, it takes a copy of the config, rather than a reference.
Bug:
69385347
Test: New tests added, and all test passing
Change-Id: I89b8660c175ca20aa70352dcda893434ff7fd42b
Holly Jiuyu Sun [Tue, 13 Feb 2018 22:56:08 +0000 (22:56 +0000)]
Merge "Public EuiccManager APIs."
Treehugger Robot [Tue, 13 Feb 2018 21:27:39 +0000 (21:27 +0000)]
Merge "Add death recipient to TelephonyRegistry."
Holly Jiuyu Sun [Wed, 13 Dec 2017 04:17:09 +0000 (20:17 -0800)]
Public EuiccManager APIs.
Public EuiccManager and other related necessary files.
Mark EuiccCardManager and other related necessary files as @SystemApi.
Solve lint errors and warnings.
Bug:
35851809
Test: test on phone
Change-Id: I8a2c78804cae56b679d311d613edca5be4bc2522
Merged-In: I68853e134e1e31fa9b91a83af6c491a2a8cca971
Treehugger Robot [Tue, 13 Feb 2018 19:32:01 +0000 (19:32 +0000)]
Merge "Add interfact to get phone ID from UiccSlotInfo"
Qingxi Li [Wed, 31 Jan 2018 21:54:34 +0000 (13:54 -0800)]
Add interfact to get phone ID from UiccSlotInfo
Bug:
72753162
Test: TreeHugger
Merged-In: I7733a5f60cf4535339fe9b44e99178304ccbb2c0
Change-Id: I7733a5f60cf4535339fe9b44e99178304ccbb2c0
Robert Sesek [Fri, 26 Jan 2018 19:26:53 +0000 (14:26 -0500)]
Refactor ZygoteProcess to deal in LocalSocketAddress.
Currently ZygoteProcess only uses String names in the RESERVED socket
namespace. This CL reworks the class to use LocalSocketAddress, so that
other socket namespaces can be used to communicate with zygotes.
Bug:
63749735
Test: m (no functional change)
Merged-In: I4146f684bfcd78b16500829d02ff54590a8b48f5
Change-Id: I0113a7189530c2e57c48058df542057e855bae42
Malcolm Chen [Tue, 13 Feb 2018 03:15:59 +0000 (19:15 -0800)]
Add death recipient to TelephonyRegistry.
Add death recipient to TelephonyRegistry so that all binders that
connect to TelephonyRegistry will be cleaned when they are died.
Test: manual
Bug:
73107019
Change-Id: Ib44f72b769272cef9f36f7b49097091a93bcc70e
hansson [Tue, 13 Feb 2018 14:42:03 +0000 (14:42 +0000)]
Merge "fix misleading FATAL EXCEPTION IN SYSTEM PROCESS log"
yuanhuihui [Sat, 18 Mar 2017 11:34:31 +0000 (19:34 +0800)]
fix misleading FATAL EXCEPTION IN SYSTEM PROCESS log
There will be the following situations about mApplicationObject:
1) fork app process will invoke ActivityThread.main(),
then set mApplicationObject.
2) fork system_server, don't set mApplicationObject value.
3) using app_process fork process except zygote, will inovke RuntimeInit,
don't set mApplicationObject value。
For example using command as below:
app_process /system/bin com.android.commands.am.Am "$@",
if this process throw uncaught exception,will output FATAL EXCEPTION IN SYSTEM PROCESS log,
it's not in system process but in normal process。
so should add condition: Process.SYSTEM_UID == Process.myUid()
BUG:
72759350
Test: manual
Change-Id: Ie8d769e4149cd9b938577058de871c4f8db9efe5
Signed-off-by: yuanhuihui <yuanhuihui@xiaomi.com>
Treehugger Robot [Tue, 13 Feb 2018 07:09:36 +0000 (07:09 +0000)]
Merge "Updates to Telecom API docs for clarity."
Tyler Gunn [Thu, 8 Feb 2018 19:28:33 +0000 (11:28 -0800)]
Updates to Telecom API docs for clarity.
- Update Connection onAnswer/onReject docs to make it more clear for
a self-managed connectionservice that these methods could be called by
the framework or by a car mode in call service.
- Update the Connection onShowIncomingCallUI method to take into account
the new concurrent calling capabilities in P.
Test: Docs only change
Bug:
73112552
Change-Id: Icb47aa15d03d4bfc05380948e30686317124301e
Treehugger Robot [Mon, 12 Feb 2018 22:44:39 +0000 (22:44 +0000)]
Merge "Don't put android.os.Parcelable in framework.aidl"
Jack Yu [Mon, 12 Feb 2018 22:39:00 +0000 (22:39 +0000)]
Merge "Added owners"
Tyler Gunn [Thu, 1 Feb 2018 16:58:38 +0000 (08:58 -0800)]
Rename Conference#setConnectionElapsedTime to clarity.
Change name of conference connection elapsed time method to make it more
clear what it is for. Updated documentation of this method and its
companion to make it more clear what they are for.
Test: Compile - this is a docs and naming change only.
Bug:
70639525
Change-Id: I02662cb0331cba0d1fe2d4353438a68f334f9192
Jack Yu [Mon, 12 Feb 2018 20:07:34 +0000 (12:07 -0800)]
Added owners
Test: Build
Change-Id: I95104f646bc054e4ad9a6807d6e3df69f1e00d75
Jordan Liu [Mon, 12 Feb 2018 18:17:24 +0000 (18:17 +0000)]
Merge "Overload setTelephonyProperty without phone ID"
hansson [Mon, 12 Feb 2018 10:48:30 +0000 (10:48 +0000)]
Merge "CtsShim: build tweaks for 64-bit only builds."
Ganesh Mahendran [Mon, 12 Feb 2018 07:36:03 +0000 (15:36 +0800)]
add swapPss of native process to totalSwapPss
Currently swapPss of native process is not counted into totalSwapPss.
This change fixes this.
Change-Id: Ia2d9261f91e969ceef0519ffec8c8ab5dbcb2a5e
Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
Treehugger Robot [Sat, 10 Feb 2018 02:05:12 +0000 (02:05 +0000)]
Merge "Use proper string formatting for the "Active device" string"
Tyler Gunn [Sat, 10 Feb 2018 00:00:04 +0000 (00:00 +0000)]
Merge "Add InCallService docs to state prerequisites for be being a dialer app."
nharold [Fri, 9 Feb 2018 23:36:59 +0000 (23:36 +0000)]
Merge "Require NETWORK_STACK Permission for IpSec Tunnel Mode"
Pavlin Radoslavov [Tue, 6 Feb 2018 20:21:34 +0000 (12:21 -0800)]
Use proper string formatting for the "Active device" string
* The hard-coded "active" / "active(media)" / "active(phone)" strings
are removed and replaced with proper XML-based string formatting.
* Added the appropriate strings for Bluetooth Audio Active Device status:
"bluetooth_audio_active_device_summaries". For now those strings are
marked as translatable="false" until the actual UI is finalized.
* Updated all "bluetooth_connected*" strings to include the new
"active_device" component.
* Added unit tests for the new "active" strings.
Also, updated existing unit tests to check the getConnectionSummary()
strings by comparing against strings embedded within the unit tests.
Bug:
72317067
Test: Unit tests added: make RunSettingsLibRoboTests -j40
Manual: two headsets and switching the active device
Change-Id: Ide639b5dfb45c1db8114155240f193249aeaf3be
(cherry picked from commit
e6e080ff5cb9c7c56003695c1b787981e0114599)
Tyler Gunn [Fri, 9 Feb 2018 22:10:50 +0000 (22:10 +0000)]
Merge "Add Connection Event for supplementary service notifications."
Adam Lesinski [Fri, 9 Feb 2018 20:48:28 +0000 (20:48 +0000)]
Merge "Remove redundant final modifiers from api"
Colin Cross [Fri, 9 Feb 2018 19:24:14 +0000 (11:24 -0800)]
Don't put android.os.Parcelable in framework.aidl
Parcelable shouldn't be in the list of parcelables in framework.aidl.
Remove it to fix warning when running aidl:
framework.aidl:287 attempt to redefine built in class android.os.Parcelable
Also make the dependency on sdk_parcelables not be order-only so
framework.aidl gets rebuilt when sdk_parcelables changes.
Bug:
73135791
Test: ParcelableDetectorTest
Test: out/target/common/obj/framework.aidl does not contain android.os.Parcelable
Change-Id: If5222879be9ec1e5fa08810adc624ec526ddc0ec
Tyler Gunn [Fri, 2 Feb 2018 21:18:02 +0000 (13:18 -0800)]
Add InCallService docs to state prerequisites for be being a dialer app.
The InCallService documentation does not clearly state that an app which
wants to become the default dialer app also needs to handle the DIAL
intent. This change updates the documentation to make this clear.
Test: Built documentation and verified its contents.
Bug:
72857373
Change-Id: I738a8475df37035a0a7f4ad1639df76d967f81dc
Treehugger Robot [Fri, 9 Feb 2018 19:24:03 +0000 (19:24 +0000)]
Merge "Watchdog: Print annotated stack trace, if possible"
Tyler Gunn [Fri, 9 Feb 2018 18:49:08 +0000 (18:49 +0000)]
Merge "Pass calling package for invocations of endCall API."
Andreas Gampe [Fri, 26 Jan 2018 19:39:46 +0000 (11:39 -0800)]
Watchdog: Print annotated stack trace, if possible
Use VMStack.getAnnotatedStackTrace() to print an annotated stack.
Aids in diagnostics of watchdog aborts.
Bug:
70538431
Test: m
Test: art/test/testrunner/testrunner.py -b --host -t 168
Test: runtest -c com.android.server.WatchdogDiagnosticsTest frameworks-services
Test: manual - insert a deadlock into ActivityManagerService
Change-Id: I5bd43920edb8b569240432b6f299e56cabf5ef2a
Treehugger Robot [Fri, 9 Feb 2018 03:50:05 +0000 (03:50 +0000)]
Merge "Modify javadoc for onWindowShown"
Tyler Gunn [Wed, 20 Dec 2017 23:59:15 +0000 (15:59 -0800)]
Add Connection Event for supplementary service notifications.
These are passed up to the UI with an optional charsequence message which
the UI can choose to display to the user.
Test: Manual, added new unit tests
Bug:
65534165
Change-Id: Icdf2738ac4dfd3a65e9eacac2caa4d4a44348ab4
Nathan Harold [Sat, 3 Feb 2018 02:34:25 +0000 (18:34 -0800)]
Require NETWORK_STACK Permission for IpSec Tunnel Mode
At least until further permissions are agreed upon,
the NETWORK_STACK permission is sufficient to ensure
that access to the tunnel mode APIs is secure, and
this permission will always be a sufficient condition.
Thus, adding NETWORK_STACK.
Bug:
66955045
Test: compilation
Change-Id: I2dc36896a52d2e71fad55041507d68ca91191ffc