Commit Graph

6444 Commits

Author SHA1 Message Date
TreeHugger Robot
634dff01cb Merge "Fix flaky UdpEncapsulationSocket test" into qt-dev 2019-04-09 09:15:02 +00:00
Lorenzo Colitti
f0d45503bc Fix flaky UdpEncapsulationSocket test
This commit reduces the flakiness of the
testOpenAndCloseUdpEncapsulationSocket by retrying up to three times.
Unfortunately, testing port-selected socket creation is racy against
other applications. This helps to handle the same race condition as done
in IpSecService#bindToRandomPort

Bug: 128024100
Test: 200x runs of testOpenAndCloseUdpEncapsulationSocket
Change-Id: I7e036ce821019dbac6c50899bd0894e89d2fe82a
Merged-In: Idf040a67e53d9b9ec6e6c647ce24f8ada501d355
Merged-In: Iad9aea4b42cd8b31a5a2659bb9cb54dd1c64e8b7
(cherry picked from commit 614ab3dd4e)
2019-04-09 06:44:32 +00:00
Lorenzo Colitti
b878dff849 Disable InetDiagSocketTest in a better way.
Test: treehugger
Bug: 124354087
Bug: 128024100
Change-Id: I3048625a2507e70402ce376e7208f58cdf5ddfba
Merged-In: I3d8cebec00dde7d0b61469f36887cd5afface043
Merged-In: I1fcb9ca292777fb017e9108a3e12cffba87e1985
(cherry picked from commit 2373c8a129)
2019-04-09 06:40:07 +00:00
Lorenzo Colitti
db54f46641 Temporarily disable InetDiagSocketTest.
This test is too flaky to run in presubmits.

Bug: 124354087
Test: atest InetDiagSocketTest
Change-Id: I90bc52a6f5b92d634862e3464634dfdbd3cada6a
Merged-In: Ic580b9261e0d556ec10f92ddffd8f2766e25f424
Merged-In: Ide5ac3f5316c4671b17fb9486ac56fc5feaf7b08
(cherry picked from commit fdc03bab0b)
2019-04-09 06:38:08 +00:00
Remi NGUYEN VAN
e945aa8ba1 Merge "Add common tests for FrameworksBaseTests and CTS" into qt-dev 2019-04-09 05:16:29 +00:00
TreeHugger Robot
15777f204d Merge changes Ic4eb56fc,I7ba66213,I4b4dba44 into qt-dev
* changes:
  WifiScannerTest: More unit tests
  WifiScannerTest: Add unit tests
  WifiManagerTest: Add unit tests
2019-04-08 17:08:54 +00:00
Zimuzo
7c6c28f18b Allow different explicit health and package expiry timeouts
We have always evaluated the explicit health check results on package
expiry. Since I29e2d619a5296716c29893ab3aa2f35f69bfb4d7 we now receive
explicit health check timeouts from ExtServices. This cl doesn't yet
use the timeout but it treats explicit health check timeouts as
different events from package expiry. This is in preparation to use
the timeouts from the cl mentioned above.

Improved readability: Logging, comments, variable and function names

Bug: 120598832
Test: atest PackageWatchdogTest
Change-Id: I8030dae1fef5b8fee42095c1eaf16861cc33ac59
2019-04-08 11:33:14 +01:00
Roshan Pius
e602db5fb9 WifiScannerTest: More unit tests
Bug: 130035791
Test: ./frameworks/base/wifi/tests/runtests.sh
Change-Id: Ic4eb56fc3ba6bffd3df529432d17af0ba35b6333
2019-04-05 15:16:56 -07:00
Remi NGUYEN VAN
7aea73b882 Add common tests for FrameworksBaseTests and CTS
The common package covers tests that should be included both in CTS and
unit tests.

Test: atest FrameworksBaseTests
Bug: 129199908
Change-Id: Ic78ff947250871fa773252c924f1dee9395c6074
(cherry picked from commit 054e3e0f5e)
2019-04-05 05:52:03 +00:00
Zimuzo
cb148b2ce0 Refactor PackageWatchdog explicit health checks
Improvements:

1. Queuing PackageWatchdog requests to startObserving packages:
When observing packages with the watchdog, we needed to get
the packages supporting explicit health checks so we can decide if a
package should be passing or not. This prevents us from receiving
requests to monitor packages during early boot, before third party
packages are ready. In this change we don't depend on ExtServices to
be up to startObserving, we initially treat all package as failing a
health check and lazily syncRequests to request or cancel explicit
health checks based on the currently observed packages. When we receive
onSupportedPackages, we mark the packages that don't support health
checks as passing.

2. Lazy binding to the explicit health check service:
We were always bound to the explicit health check
service regardless of whether we are expecting requests or not, we need
to be able to bind and unbind dynamically to improve device resource
usage. In this change, we bind as soon as we make a request and are
expecting results, we unbind otherwise.

3. Fixed Races:
There were a couple of potential races that could lead to exceptions
that could bring the system server down, e.g when the service is
transitioning between disconnected and connected state (maybe it
crashed) or when ExtServices is being upated and is down or early
boot requests when third party apps are not ready. This change fixes such.

4. Logging:
We improved the logging wording and order and made it more consistent

Bug: 120598832
Test: Manual tests. Stress tested behavior by killing extservices and
making requests simultaneously

function killproc {
    while true
    do
        local pid=$(adb shell pidof $1)
        if [[ ! -z $pid ]]
        then
            echo $pid
            adb shell kill $pid
        fi
    done;
}

adb install-multi-package -i com.android.shell --enable-rollback \
NetworkStack.apk ModuleMetadataGoogle.apk

Also switched between enabled and disabled states to verify packages
are handled correctly. Will automate these tests in later cl

atest PackageWatchdogTest
Change-Id: Iafaef553e95d107f700109f9a8328950a5e2bf71
2019-04-04 23:26:49 +00:00
TreeHugger Robot
259c73c007 Merge "Move NetworkStatsFactory into service directory" 2019-04-03 23:44:26 +00:00
Chenbo Feng
061cec7755 Move NetworkStatsFactory into service directory
In order to notify netd to swap eBPF maps before pulling the
networkStats from eBPF maps, NetworkStatsFactory need to use the
NetdServices to issue binder calls. So it need to be moved from
framework/base/core to framework/base/service since object in
framework/base/core cannot get any system services. This change is also
necessary for setting up a lock inside NetworkStatsFactory to prevent
racing between two netstats caller since the lock need to be hold before
netd trigger the map swap.

Also fix the compile problem caused by moving the NetworkStatsFactory
and the related tests. Rename the packages and the jni functions to a
more proper name.

Bug: 124764595
Bug: 128900919
Test: NetworkStatsFactoryTest
      android.app.usage.cts.NetworkUsageStatsTest
      android.net.cts.TrafficStatsTest

Change-Id: Ifcfe4df81caf8ede2e4e66a76552cb3200378fa8
2019-04-03 14:28:41 -07:00
Chalard Jean
da0e27e7e4 Merge "Straighten AIDL interface for the memory store" 2019-04-03 19:58:46 +00:00
Chenbo Feng
4fe8600cb3 Merge "Clean up permissions when uids are no longer used" am: 7754d368f4 am: ecb28c1948
am: 16ee7a1be4

Change-Id: I7773132d11d6225eac91ab2fee1043159c295d83
2019-04-03 11:03:32 -07:00
Chenbo Feng
16ee7a1be4 Merge "Clean up permissions when uids are no longer used" am: 7754d368f4
am: ecb28c1948

Change-Id: I256ca6f16ea1fcd240a1b7cd2b3199d4504e6c33
2019-04-03 10:50:39 -07:00
Treehugger Robot
7754d368f4 Merge "Clean up permissions when uids are no longer used" 2019-04-03 17:15:48 +00:00
Mark Chien
ed194a33e0 Merge "Some cleanups for Tethering" am: 31b33b6f41 am: 5dff3c98c5
am: 9d4a2a27e6

Change-Id: I0f5c8f33f13dfa2366992a2b2e0ada7667b90e2f
2019-04-03 03:54:42 -07:00
Mark Chien
9d4a2a27e6 Merge "Some cleanups for Tethering" am: 31b33b6f41
am: 5dff3c98c5

Change-Id: I0e00187f9a5eee9e55f961ce0458c9b91af19fb7
2019-04-03 03:45:05 -07:00
Mark Chien
31b33b6f41 Merge "Some cleanups for Tethering" 2019-04-03 10:16:25 +00:00
Chenbo Feng
6cb1a0adcc Merge "Add tests for PermissionMonitor" am: a84cdf4fc6 am: b9ee567881
am: 18758e9f90

Change-Id: Ifcb29bfded1b1675231c397ed886506a70267279
2019-04-03 02:19:30 -07:00
Chenbo Feng
18758e9f90 Merge "Add tests for PermissionMonitor" am: a84cdf4fc6
am: b9ee567881

Change-Id: I9be22991bd590a7aee4d0a4b2908e0023870d0b6
2019-04-03 02:05:07 -07:00
Chalard Jean
943e7405f2 Straighten AIDL interface for the memory store
Some names were still wrong somehow, and the wrappers were
missing.

Test: NetworkStack & FrameworkNetTests
Change-Id: I475bd011ad9bc714a07021a9dfd85c4876f8e9ad
2019-04-03 15:18:08 +09:00
Treehugger Robot
a84cdf4fc6 Merge "Add tests for PermissionMonitor" 2019-04-03 06:12:12 +00:00
markchien
9f246bd9e3 Some cleanups for Tethering
Bug: 126481523
Test: -build, flash, boot
      -FrameworksNetTests

Change-Id: I904646efa87eb5434124c7828aca4ab09c5dc38e
2019-04-03 13:56:00 +08:00
Paul Hu
d3c115b26a Merge "Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library" am: 3db9cfe660 am: 2d20cd2378
am: 4bf4e79766

Change-Id: Iccf60b710df5895d8d269b6c918a8b2f252e93a6
2019-04-02 21:19:14 -07:00
Paul Hu
4bf4e79766 Merge "Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library" am: 3db9cfe660
am: 2d20cd2378

Change-Id: I5a5fd9f900bb1d7217364812d9d0e5477179bfc9
2019-04-02 20:45:17 -07:00
Chenbo Feng
a6817cd532 Clean up permissions when uids are no longer used
The kernel eBPF maps have a blacklist to store all the uids that doesn't
have internet permission. When an app is unintalled from the device and
it is the last package on device that uses that uid, make sure we
cleaned the uid from the map and do not add no longer used uids into the
eBPF map. This action helps reduce the number of entries stored in the
map and reduce the chance of overflow the eBPF map.

Bug: 128944261
Test: PermissionMonitorTest
Change-Id: I10dd0113d00d6cf9ca39902d9721f2591d387d4a
2019-04-02 20:31:57 -07:00
Chenbo Feng
436fe58cce Add tests for PermissionMonitor
Add more tests to PermissionMonitor to verify the functionality related
to INTERNET permission and UPDATE_DEVIE_STATS permission. Modified some
of the class design of PermissionMonitor so that it is easier to test
the new functionalities.

Bug: 111560570
Test: PermissionMonitorTest

Change-Id: Ic5585f337db5de48e2f87bf4f01ed7d85c349827
2019-04-02 20:31:49 -07:00
TreeHugger Robot
452d42f517 Merge "Pick the primary color as the best color to use." 2019-04-02 20:53:39 +00:00
Robert Snoeberger
a6684f6713 Pick the primary color as the best color to use.
Previously, the best color was picked by checking the colors
against the blacklist. The logic was for picking the best color
was broken When the blacklist was removed for
b/124180048.

Fixes: b129762944
Test: New test points added to TonalTest.java
Change-Id: Ie51806735910bb40e5e66d7baf545ea213e4a01e
2019-04-02 15:15:38 -04:00
paulhu
b0f53b84cc Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library
These two classes were added to @SystemApi because they are used
both by NetworkMonitor and CaptivePortalLogin. However it turns
out they are not needed in the framework, so having them as a
library sounds better.

Change-Id: Iadf77ec5952b6da8812dc6d006a39bd4e93d2bd9
Fix: 129433264
Test: atest NetworkStackTests FrameworksNetTests
2019-04-02 17:55:42 +08:00
Richard Uhler
1241da4193 Merge "Block getAvailableRollbacks on the handler thread." 2019-04-02 09:07:17 +00:00
Paul Hu
1d5f6d3b9e Merge "Address leftover comments on 923337 and 930217." am: 1e97aab6f4 am: 55a22b5d17
am: 1d7b92b9d5

Change-Id: I75eadb66c81d72c768e77feddd383d60f8accd65
2019-04-02 01:29:08 -07:00
Paul Hu
1d7b92b9d5 Merge "Address leftover comments on 923337 and 930217." am: 1e97aab6f4
am: 55a22b5d17

Change-Id: Ibbc8dd7bb869f76515c9f57793db02953dd07804
2019-04-02 01:14:24 -07:00
Paul Hu
1e97aab6f4 Merge "Address leftover comments on 923337 and 930217." 2019-04-02 07:39:04 +00:00
Paul Hu
c533a42c80 Merge "Fix IpPrefixTest#testContainsInetAddress fail." am: 66a133858b am: 9872066d02
am: c13f50f5af

Change-Id: I9e74dc9bf30a53ce78395e502a52891ba488f4b1
2019-04-01 19:24:38 -07:00
Paul Hu
c13f50f5af Merge "Fix IpPrefixTest#testContainsInetAddress fail." am: 66a133858b
am: 9872066d02

Change-Id: I257b51a4f0be974eacf8a6c0f12b5d5aacdc7a5f
2019-04-01 18:59:35 -07:00
paulhu
4fcdc7ed05 Fix IpPrefixTest#testContainsInetAddress fail.
The argument of IpPreFix#contains() has been marked as @NonNull.
So the IpPrefixTest#testContainsInetAddress should not test
contains() method wiht null object.

Bug: None
Test: atest FrameworksNetTests
      atest IpPrefixTest#testContainsInetAddress

Change-Id: I2f6bee19514dc47702f64d2a2bbf02d8b7b1b407
2019-04-02 00:49:00 +08:00
Zimuzo Ezeozue
3cae85005f Merge changes from topic "explicit"
* changes:
  Notify PacakgeWatchdog when apps are ready
  Add explicit health check to PackageWatchdog
2019-04-01 16:41:57 +00:00
TreeHugger Robot
2a80a980e9 Merge "WindowInsets: populate system gesture and tappable element insets" 2019-04-01 16:23:22 +00:00
Zimuzo
caa435ef51 Add explicit health check to PackageWatchdog
PackageWatchdog now uses the ExplicitHealthCheckController introduced
in Ia030671c99699bd8d8273f32a97a1d3b7b015d3b when observing packages.

Bug: 120598832
Test: Manually tested that after an APEX update, the network stack
does not pass the explicit health check until WiFi is connected
successfully. If Wi-Fi is never connected and the network stack
monitoring duration is exceeded, the update is rolled back.

Change-Id: I75d3cc909cabb4a4eb34df1d5022d1afc629dac3
2019-04-01 14:02:56 +00:00
Adrian Roos
11dfd279a3 WindowInsets: populate system gesture and tappable element insets
Also fixes an infinite recursion when invoking
TestableContext.(un)registerComponentCallbacks().

Test: atest WindowInsetsPolicyTest
Bug: 126511573
Change-Id: I5c9f40054493a83746bce6124d72412e8eb8a0d1
2019-04-01 15:46:13 +02:00
Xiao Ma
60a54acbbf Merge "Add DHCP address lease expiry in IpMemoryStore." am: 17ea70c6d3 am: 23f6cd281a
am: 8e6c80f238

Change-Id: Ib09ee6a702fb25a682d4782a8822237ebb9a0dfb
2019-04-01 06:35:34 -07:00
Xiao Ma
8e6c80f238 Merge "Add DHCP address lease expiry in IpMemoryStore." am: 17ea70c6d3
am: 23f6cd281a

Change-Id: I690d6c1602292731f27b3f2d0a1a36cf95849d2e
2019-04-01 06:27:18 -07:00
Xiao Ma
17ea70c6d3 Merge "Add DHCP address lease expiry in IpMemoryStore." 2019-04-01 12:59:20 +00:00
paulhu
3d67f53b02 Address leftover comments on 923337 and 930217.
- Restrict unprivileged apps to use
  NetworkRequest.Builder#setSignalStrength.

- Remove the "throws NullPointerException" in
  CaptivePortalProbeSpec constructor.

- Remove the null check in LinkProperties.

- Add annotataion into all ConnectivityManager.NetworkCallback
  methods.

Change-Id: Id275cac1d6a30d7515cd7b113394f5e8a0179314
Fix: 129097486
Test: atest FrameworksNetTests
2019-04-01 16:24:10 +08:00
Remi NGUYEN VAN
b93bfa1d69 Merge "Fix race when starting NetworkMonitor" am: 78454f3c46 am: f75ba075e4
am: 940cbf970a

Change-Id: I595ecdbf0b8e91fec4287c3476239a1e6c9c80a7
2019-03-31 21:35:25 -07:00
Remi NGUYEN VAN
940cbf970a Merge "Fix race when starting NetworkMonitor" am: 78454f3c46
am: f75ba075e4

Change-Id: I049ea18e6c5c42a1b31d93541aa3846b14b7ab08
2019-03-31 21:25:12 -07:00
Remi NGUYEN VAN
78454f3c46 Merge "Fix race when starting NetworkMonitor" 2019-04-01 03:54:03 +00:00
Remi NGUYEN VAN
3962f678c3 Fix race when starting NetworkMonitor
NetworkMonitor obtained LinkProperties and NetworkCapabilities via
synchronous calls to ConnectivityManager after receiving an asynchronous
notification, which is prone to races: the network could be gone before
the LinkProperties/NetworkCapabilities can be fetched.

Fix the race by passing LinkProperties/NetworkCapabilities directly to
NetworkMonitor in the asynchronous notifications.

Test: atest FrameworksNetTests NetworkStackTests
Test: booted, WiFi works
Bug: 129375892
Change-Id: I200ac7ca6ff79590b11c9be705f650c92fd3cb63
2019-04-01 11:33:10 +09:00