Commit Graph

84498 Commits

Author SHA1 Message Date
Bernie Innocenti
ea89cf2c6e Add junyulai@ as owner of the core networking dirs
Also removed emeritus accounts ek@ and silberst@ from various places.
A cleanup using 'include' would probably be in order...

Test: N/A
Change-Id: I575e60dd5e600e42d9571ce8e8d7661d30e99bfe
2019-03-08 13:04:05 +00:00
Treehugger Robot
1b9adbfdd1 Merge "Use public APIs instead of Conscrypt ones" 2019-02-27 09:01:03 +00:00
Irina Dumitrescu
5155a2d7e4 Add @NonNull annotation to set proxy on VPN parameter.
Test: manual
Bug: 124883120
Change-Id: Ifb4bd98a69a006220b1a824033395fc6f12ea6ce
2019-02-27 01:06:00 +00:00
Adam Vartanian
19254043ae Use public APIs instead of Conscrypt ones
Use the equivalent public APIs on SSLContext instead of reaching into
OpenSSLContextImpl, except for the one place where a
Conscrypt-specific API is needed.

Bug: 123738844
Bug: 119752589
Test: cts -m CtsLibcoreTestCases
Test: atest android.net.SSLCertificateSocketFactoryTest
Change-Id: I61aebac4ad713b8ce53a47e72def0c537b4ab1c9
2019-02-26 09:28:35 +00:00
Treehugger Robot
a0e4349794 Merge "Add more test case and some clean up" 2019-02-26 06:20:24 +00:00
Chiachang Wang
95489ca49e Add more test case and some clean up
Bug: 120452078
Test: atest NetworkStackTests
Change-Id: Ifb981ccdaa7818bf2bebec98e91979007222910b
2019-02-26 11:32:18 +08:00
Treehugger Robot
c5ea003bbb Merge "Fixes for touchpad capture" 2019-02-23 01:27:07 +00:00
Tyler Gunn
016982ae2f Merge "Change data types on CallIdentification API." 2019-02-22 21:13:28 +00:00
Tyler Gunn
b3bdb7c36c Change data types on CallIdentification API.
Per API council feedback update the call identification name, details,
description and app name to use CharSequence.

Test: Update apis, run tests.
Bug: 123241094
Merged-In: I42df17506535c1dd598ffd61a44cb0d0440b8159
Change-Id: I42df17506535c1dd598ffd61a44cb0d0440b8159
2019-02-22 11:18:05 -08:00
Neil Fuller
ee15067180 Merge "Update RulesManagerService after APEX files" 2019-02-22 18:32:13 +00:00
Neil Fuller
a1ae02519d Update RulesManagerService after APEX files
Context
=======

The "time zone updates via APK" feature was implemented in O-MR1 to enable
devices to take time zone updates via an APK update and without needing
an OTA. RulesManagerService is an important part of the time zone updates via
APK feature. When RulesManagerService was implemented things were simple; there
was a copy of time zone data in /system. A new (optional) copy was introduced
in /data that could be managed / updated by the RulesManagerService.
Since there were only two copies the /system copy was referred to as the
"system" data.

With the introduction of the runtime APEX and time zone data APEX things
have become more complicated. Android devices can have time zone data in
several places:

1 The copy in /system/usr/share/zoneinfo/ is partially complete and remains
  for legacy usecases, e.g. binaries that "know" about the /system path and
  cannot be updated, or binaries which run before /apex paths are mounted.

2 The copy in /apex/com.android.runtime/ is a complete set of time zone
  data that can be used by libraries on the device.

3 The copy in /apex/com.android.tzdata/ is the "overlay" copy for use when
  the time zone data APEX can be updated. For devices that can take APEX
  updates it will be present and is expected to start with the same version as
  present in /apex/com.android.runtime. Note: Nothing in the code *requires*
  this copy to be present but it is expected to be present in most cases.

RulesManagerService is being kept around for devices that may not have the
capability of updating their APEX files but which still want to update time
zone data without taking an OTA. It is assumed that RulesManagerService will
*only* be turned on in these situations and *not* when the time zone
data in /apex/com.android.tzdata/ might actually be updated independently of
the copy in /apex/com.android.runtime/.

The RulesManagerService therefore adds the fourth copy of the data that *could*
be present:

4 The copy /data/misc/zoneinfo/ managed by RulesManagerService.

Important libraries / binaries on device know about all 4 copies and
prioritize them in order 4, 3, 2, 1. i.e. the libraries will use the
first copy of data found in that order.

In scenarios where RulesManagerService is disabled, 4 will not be present
and therefore 3 will be used (or 2 if 3 is also not present).

In scenarios where RulesManagersService is enabled, 4 is present iff an
APK update has been received. It is assumed that *if* /apex/com.android.tzdata/
is present, it contains the same version of tz data as in
/apex/com.android.runtime/, will never be updated, and can therefore
be ignored by RulesManagerService.

The changes
===========

This commit and others in the same topic do the following:

1) Change RulesManagerService references to "system" data to "base" data in a
   valiant attempt to limit confusion until it can be removed.
2) Switch RulesManagerService over from using the data in
   /system/usr/share/zoneinfo/ as base data to the data in
   /apex/com.android.runtime/.  As part of this change, the RulesManagerService
   can now use the tz_version file to identify the version of tzdb in "base"
   rather than reading the header of the tzdata file, so that is done
   here too.
3) Update imports neccessary to meet pre-upload check requirements.

Note: tzdatacheck, an independent binary that manages time zone data
after OTA, was updated to use /apex/com.android.runtime/ instead of
/system/usr/share/zoneinfo/ in commit c6a2737e0861472d1726ed472708d7762ab1e802.

Bug: 119293618
Bug: 113373927
Test: atest FrameworksCoreTests:android.app.timezone
Test: atest FrameworksServicesTests:com.android.server.timezone
Test: CTS: run cts-dev -m CtsLibcoreTestCases -t libcore.libcore.timezone.ZoneInfoDBTest
Test: CTS: run cts-dev -m CtsLibcoreTestCases -t libcore.libcore.icu.TimeZoneIntegrationTest
Change-Id: Idabe245c7ad337938c202b1796ce9d89ec68bbd6
2019-02-22 15:43:39 +00:00
Nandana Dutt
2badc1e434 Merge "Add a new error code for disallowing concurrent bugreports" 2019-02-22 08:43:48 +00:00
Sooraj Sasindran
9f0115bb6e Merge "Allow UiAutomation to adopt the shell permission indentity" 2019-02-22 00:41:29 +00:00
Svet Ganov
c2841ec7fe Allow UiAutomation to adopt the shell permission indentity
For testing we often need to run shell commands. This can be done
today via running a shell command from an instrumentation test
started from the shell. However, this requires adding shell commands
which are not in the API contract, involve boilerplate code, require
string parsing, etc.

This change allows an instrumentation started from the shell to
adopt the shell UID permission state. As a result one can call APIs
protected by permissions normal apps cannot get by are granted to
the shell. This enables adding dedicated test APIs protected by
signatures permissions  granted to the shell.

Test: cts-tradefed run cts-dev -m CtsUiAutomationTestCases
          -t android.app.uiautomation.cts.UiAutomationTest#testAdoptShellPermissions

bug:80415658

Merged-In: I4bfd4b475225125512abf80ea98cd8fcacb6a1be
Change-Id: I4bfd4b475225125512abf80ea98cd8fcacb6a1be
2019-02-21 19:59:14 +00:00
Treehugger Robot
c1e55147c9 Merge "Add feature flag for Dynamic Android" 2019-02-21 17:32:25 +00:00
Nandana Dutt
cfb3d4856e Add a new error code for disallowing concurrent bugreports
BUG:123571915
Test: manual
Change-Id: I8787137c3cfeb33aacfa439f6eab1a668977e572
2019-02-21 16:17:54 +00:00
Paul Duffin
5d70cdf262 Update backwards compatibility support for android.test.base
Previously, the plan was for android.test.base to be removed from the
bootclasspath in P, i.e. in the same release as org.apache.http.legacy.
Any apps that targeted < P were to have the android.test.base library
added to their app classpath in order to maintain backwards
compatibility.

Unfortunately, it was not possible to remove android.test.base from P
and instead it is being removed from Q. This update prepares for that
by updating the backwards compatibility support and its tests to add
the android.test.base library to apps that target < Q.

The affected code is only used at runtime when
REMOVE_ATB_FROM_BCP=true.

Bug: 73711752
Test: atest FrameworksCoreTests with and without REMOVE_ATB_FROM_BCP=true
Change-Id: I76b40dad14193cd174114a351b1350c18d647bed
2019-02-21 10:42:12 +00:00
Howard Chen
0d958bbf1d Add feature flag for Dynamic Android
Bug: 119647479
Test: flashall and check the option exists.

Merged-In: I46efd27a6880dde4bc69aa457a6f3b0fdd9ce5cd
Change-Id: I46efd27a6880dde4bc69aa457a6f3b0fdd9ce5cd
2019-02-21 15:05:20 +08:00
Chris Wailes
b13bfc5682 Updated Zygote IPC related comments.
Bug: 124637285
Test: None; comment only changes
Change-Id: Ie567715a1ee08cdf65e3135aa75e3bd95ef5ab0d
2019-02-20 11:19:54 -08:00
Raman Tenneti
31a61f6348 Fix merge problems with cherry-picking "Add notification settings to backup&restore" change into pi-dev
On 9/28 CL https://googleplex-android-review.git.corp.google.com/5116913 was checked into pi-dev. Merge was bad(couple of lines were lost during merge).

  https://b.corp.google.com/issues/35655737#comment34

Adding LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS and LOCK_SCREEN_SHOW_NOTIFICATIONS to SETTINGS_TO_BACKUP array. This fixes apct/framework/presubmit test failure.

Bug: 35655737
Bug: 118674794
Test: presubmit unit tests
Change-Id: I2e9cc95e8827e72ef3c09910d4d3e089bde375e5
Merged-In: I421c7487955ee339f88e3957c973375d0f87e2ff
(cherry picked from commit 33a11bd0e3)
2019-02-19 22:17:12 +00:00
Nathaniel R. Lewis
e1a3606ee6 Fixes for touchpad capture
When touchpad capture is enabled, events still are received via
onGenericMotionEvent. As pointer capture sends events via
onCapturedPointerEvent, this patch changes the callback used by
captured touchpads to also be onCapturedPointerEvent.

Make events from a captured touchpad cause the device to leave touch
mode. Captured mice cause the device to exit touch mode through
the virtual dpad which is mapped to it due to being
derived from SOURCE_CLASS_TRACKBALL.

Test: Write an app that starts pointer capture on a device with a
      touchpad. Events from touchpad should be received via
      onCapturedPointerEvent.

Test: Using the captured touchpad in the first test should cause the
      view to be focusable even when not in touch mode.

Change-Id: If6fa94c66f1d9395a13fd5f31f642567256dd818
2019-02-19 13:44:44 -08:00
Treehugger Robot
c0c27fbf49 Merge "Fix the bad link due to typo" 2019-02-16 01:56:30 +00:00
TreeHugger Robot
727bc71336 Merge "Fix the incorrect javadoc links" into stage-aosp-master 2019-02-16 00:53:47 +00:00
Remi NGUYEN VAN
2d7e53ca90 Merge "Fix framework and NetworkStack classes conflicts"
am: 3f23efdd13

Change-Id: I8c207040c42a3d02b8383e13a4f839c250788f58
2019-02-15 16:38:52 -08:00
Remi NGUYEN VAN
3f23efdd13 Merge "Fix framework and NetworkStack classes conflicts" 2019-02-16 00:22:29 +00:00
Stanley Tng
dcdfaf3d6b Fix the bad link due to typo
Replaces the link with the new API name, createInsecureL2capChannel.

Bug: 70683224
Test: Compile
Change-Id: I9580d90722f8b0c0146a902bb5fcace4ef58d421
Merged-In: Ia06e1fffd814671289a1caebd5962aedc18a28d7
2019-02-16 00:12:18 +00:00
Nan Zhang
944f18371b Fix the incorrect javadoc links
A lot of unresolved link errors showing up after go/ag/5172152.

Test: m -j docs with -lerror enabled
Bug: b/116163454
Change-Id: I74d1f75e0f00015410a63e13103c28a9c84b4fe0
2019-02-15 14:39:24 -08:00
Remi NGUYEN VAN
51490ad0fa Merge "Move NetworkStack to services.net"
am: 762f9f0c24

Change-Id: Iab45985aedb8069ad50fd2913ef6e828989cdd0d
2019-02-15 03:01:11 -08:00
Remi NGUYEN VAN
762f9f0c24 Merge "Move NetworkStack to services.net" 2019-02-15 10:52:03 +00:00
Remi NGUYEN VAN
1b57e8e9db Fix framework and NetworkStack classes conflicts
Classes that are used in framework.jar cannot be linked in NetworkStack,
as the framework takes precedence in the classpath. This prevents the
networkstack from using these classes due to the hidden API usage
detection.

Do the following:
 - jarjar any shared source file between framework and NetworkStack, so
   the version in the NetworkStack uses a different package.
 - Move any shared class not used in the NetworkStack to services.net

The CL  uses jarjar on the app copy and not the framework classes, as
the framework cannot be updated without an OTA, and non-network stack
specific classes should not be renamed because of the network stack.

Test: atest FrameworksNetTests NetworkStackTests
Test: flashed svelte build, WiFi works
Bug: 124033493
Change-Id: I85d888b756adc28c36638913632bfdfdbf0e0486
2019-02-15 17:30:07 +09:00
Remi NGUYEN VAN
8a4908c1ab Merge "Remove NetworkMonitor dependency on ICaptivePortal"
am: bfe928d593

Change-Id: Ia0d06e1aa931cdc1c6dd4008e804a6a44ae2304f
2019-02-15 00:26:34 -08:00
Remi NGUYEN VAN
bfe928d593 Merge "Remove NetworkMonitor dependency on ICaptivePortal" 2019-02-15 08:09:29 +00:00
Remi NGUYEN VAN
ddd14b357d Merge "Remove deps from framework on netd interfaces"
am: d36e3df7b0

Change-Id: I341533244d9c7cd2c1cf8315f0806695310ba03c
2019-02-14 19:29:49 -08:00
Remi NGUYEN VAN
5db454c28d Move NetworkStack to services.net
NetworkStack is only used in services.net or clients of services.net. It
cannot stay in framework.jar because it needs to depend on AIDL
interfaces, which would conflict with app implementations if they were
in framework.jar.

Test: atest FrameworksNetTests NetworkStackTests
Bug: 124033493
Change-Id: Ib1d08a3669983640119d008db7e2990fa798724f
Merged-In: I501b125a388c1100c2182bde4670944c2f0d7a02
2019-02-15 12:20:17 +09:00
Remi NGUYEN VAN
cfff01e2db Remove NetworkMonitor dependency on ICaptivePortal
ICaptivePortal is used in the framework and cannot be used as a
dependency in NetworkMonitor, as the framework class takes precedence
when linking.
Also fix NetworkMonitorTest that was not verifying the right
startCaptivePortalApp call.

Test: atest FrameworksNetTests NetworkStackTests
Bug: 124033493
Change-Id: I8e7bb79e50650ae182a2e4277fb49abf5fb6d910
Merged-In: Ib6a89e54312628662b130fbeec18d11e139f09fa
2019-02-15 12:20:03 +09:00
Remi NGUYEN VAN
d36e3df7b0 Merge "Remove deps from framework on netd interfaces" 2019-02-15 03:11:31 +00:00
Xin Li
07ec9dbec5 Merge "DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master 2019-02-14 22:11:32 +00:00
Benedict Wong
ffd15698c3 Merge "Add Test Network and Transport types"
am: 0dddb902ae

Change-Id: I1cf33485adb9f4c442de42060697efe71bb45264
2019-02-14 10:49:48 -08:00
Benedict Wong
0dddb902ae Merge "Add Test Network and Transport types" 2019-02-14 18:37:04 +00:00
Xin Li
0e71b4f19b DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into
stage-aosp-master

Bug: 124234733
Change-Id: Ic4f67fde0835da0b1c363906cccef0d244e38393
2019-02-14 09:48:06 -08:00
Remi NGUYEN VAN
dacee147b4 Remove deps from framework on netd interfaces
If included in framework.jar, the interfaces conflict with any app that
needs to depend on them, including the NetworkStack.

Bug: 124033493
Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I2db9f87b7154130726d4700b241d55b041635d98
Merged-In: I0ecae20d514bf888f3a80331f19369ceb1c52aa3
2019-02-14 17:26:59 +09:00
Jordan Liu
aa20ef0836 Merge "Add UNINITIALIZED and rename INVALID"
am: b8493ac5eb

Change-Id: Idd2ef2a91aab0e28743762ea4860b49a02e8389b
2019-02-13 16:30:26 -08:00
Jordan Liu
b8493ac5eb Merge "Add UNINITIALIZED and rename INVALID" 2019-02-14 00:14:11 +00:00
Tianjie Xu
361d379280 Merge "Improved wipe reason information for RecoverySystem"
am: c8f5981028

Change-Id: I4da95142ea12593e00ab0d0a44f8e9a0c021596b
2019-02-13 11:43:46 -08:00
Tianjie Xu
c8f5981028 Merge "Improved wipe reason information for RecoverySystem" 2019-02-13 19:18:01 +00:00
Jordan Liu
1f85a3ddf3 Add UNINITIALIZED and rename INVALID
UNINITIALIZED_CARD_ID is for before the card ID is ready.
INVALID_CARD_ID is renamed to UNSUPPORTED_CARD_ID and it is used if the
card ID is known to be unsupported.

Bug: 122978614
Test: atest UiccControllerTest
Change-Id: Ia2315d9b38ef35b30d9b96b6436c08fa4404e4df
Merged-In: Ia2315d9b38ef35b30d9b96b6436c08fa4404e4df
2019-02-13 09:54:30 -08:00
Blake Kragten
e66ad835f2 Merge "Modem power monitor"
am: 366318b9c3

Change-Id: I85d2b97c40df223106d9a4047b3898d0db3c733e
2019-02-13 09:33:27 -08:00
Blake Kragten
4d3a9f2b3c Modem power monitor
This is an AOSP carry over for the frameworks base CL. This change is needed here to allow telephony changes to be added to AOSP with no issues.

Adding monitored power rail as a new cellular battery stats component. This will be used to better determine actual power usage of the modem rather than relying on battery reduction rates.

If the device does not support rail power monitoring then this value
will always remain at 0.

Test: adb shell dumpsys activity service TelephonyDebugService --metrics
Results Examples:
	Energy consumed by modem (mAh): 2.41

Change-Id: If85af2f2e1b255661e189c5375ecc5825be84c58
2019-02-13 16:02:03 +00:00
Hans Boehm
e0203aa6ec Merge "Adjust AsyncTask.THREAD_POOL_EXECUTOR config"
am: 2b56c4cf48

Change-Id: I0a8554c58710b162df57cbf2ca8dcb7591666ef9
2019-02-12 21:30:19 -08:00
Hans Boehm
2b56c4cf48 Merge "Adjust AsyncTask.THREAD_POOL_EXECUTOR config" 2019-02-13 05:14:43 +00:00