Commit Graph

997 Commits

Author SHA1 Message Date
Neil Fuller
68f666693a Add (disabled) time zone update system server impl
This commit builds on top of prior API commits. It
adds code to the system server, but in a disabled way.

The system server is responsible for monitoring two
(configured) package names: one for the "updater app"
(provided by the platform) and one for the "data app"
(provided by the OEM). When either package changes
the updater app is triggered via a privileged
intent.

The updater is then required to communicate with the
data app and report back to the system server.

Unit tests are included for the major components.

To run:
make -j30 FrameworksServicesTests
adb install -r -g "out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk"
adb shell am instrument -e package com.android.server.timezone -w com.android.frameworks.servicestests \
    "com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"

Test: See above.
Bug: 31008728
Merged-In: I8f82cdcc2b574778a7e0d0184270f305b69ee17b
Change-Id: I8f82cdcc2b574778a7e0d0184270f305b69ee17b
2017-05-04 19:46:47 +01:00
Calin Juravle
8a4afd3dad Merge changes from topic 'dex'
am: f665781c74

Change-Id: I31c202a56d8f92634cc1d5d84106e27cb8c23bfd
2017-03-29 01:27:37 +00:00
Calin Juravle
b3e74b2f90 Add missing return in DexManager
Harmless issue but which can spam the logs.

Test: mostly manual since the check is buried deep inside and cannot be
verified accurately. I added another test to DexManager to stress that
code path and then checked the logs.

Bug: 36117123

(cherry picked from commit 2dfc1b3e12)

Merged-In: I1a878a200f3f726dfaa85f1bed1398acc8dce979
Change-Id: Ib2c034add2e8229b90eb4aaa0067d42d26798670
2017-03-28 13:37:15 -07:00
Calin Juravle
24ff75fb08 Update package use info when the app data is updated
- clear usesByOtherApps flag when the package is updated
- delete secondary dex usage data when the app data is destroyed

Test: runtest -x .../PackageDexUsageTests.java
      runtest -x .../DexManagerTests.java
Bug: 32871170
Bug: 35381405

(cherry picked from commit 99dd37b3c5)

Merged-In: I3a249b9e8680e745fa678c7ce61b4ae764078fb9
Change-Id: Ia8416e7232cda3e42a8dccd51cb152a237e0f317
2017-03-28 13:37:15 -07:00
Paul Duffin
17e5a2d851 Merge "Refactor code incompatible with Mockito 2.7.13"
am: 2a3a4f81f9

Change-Id: I259dc2116f1ba7d409729d739404dca501f4a5e8
2017-03-10 20:43:07 +00:00
Paul Duffin
26e81d2a47 Refactor code incompatible with Mockito 2.7.13
Bug: 32912773
Test: make checkbuild
Merged-In: I96e3da967fad731fc8f39bde9db95f50ab7353fb
Change-Id: I445b32432eea8a1ccb2060a73460a882a9ebe76f
2017-03-10 14:19:18 +00:00
Calin Juravle
110e897eaa [PM] Clean up logic for secondary dex oat files
am: e69fba3f7f

Change-Id: I223b27221acf25e628003dde0f63cffe66779753
2017-03-03 00:05:07 +00:00
Calin Juravle
468be64cf2 Compile secondary dex files in DexManager
am: 7218363a92

Change-Id: I53e7864b097cf9cff702e9185bb1c9091d97fe63
2017-03-03 00:03:17 +00:00
Calin Juravle
27ea592098 Notify DexManager about new package installs
am: fcd672fca3

Change-Id: I63514deebef293d52f7811023b0915cf655514f6
2017-03-03 00:01:03 +00:00
Calin Juravle
e69fba3f7f [PM] Clean up logic for secondary dex oat files
Add logic in DexManager to reconcile secondary dex records with the
actual files on disk. If secondary dex files are moved or removed then
DexManager will remove the generated oat files during the call to
reconcileSecondaryOdex() and update its internal state.

Add 'adb shell cmd package reconcile-secondary-dex packageName' which
will force DexManager to sync its data with the actual secondary dex
files.

Test: devices bots
      runtest -x .../PackageDexUsageTests.java
      runtest -x .../DexManagerTests.java
      adb shell cmd package reconcile-secondary-dex
com.android.google.gms (after artificially/temporarily renaming some
dex files)

Bug: 32871170

(cherry picked from commit c22c30ed1c)

Change-Id: Ied9fcbfe367ed3a8250a9ba8d202518b264c64e8

Merged-In: Id2d72dc89995f89cf1ddf79ae4e992afd3f3c127
2017-03-02 13:12:21 -08:00
Calin Juravle
7218363a92 Compile secondary dex files in DexManager
Add logic for secondary dex compilation in DexManager. Also, extend the
`cmd package compile` command with '--secondary-dex' option which will
compile all used secondary dex files for the given package.

Test: flash & boot,
      cmd package compile --secondary-dex -f -m speed
com.google.android.gms
Bug: 32871170

(cherry picked from commit c22c30ed1c)

Change-Id: I3cf26edbfb5e9f3683e608bb2a596e1ab5682bd4

Merged-In: Ia2b95cb70d26c4ead5cb650047641b0881ca84ae
2017-03-02 13:11:52 -08:00
Calin Juravle
fcd672fca3 Notify DexManager about new package installs
This will update the internal cache so that the secondary dex files of
the new package can be found when loaded.

Test: runtest -x .../DexManagerTests.java

Bug: 32871170

(cherry picked from commit 0d4b8f8b0c)

Change-Id: I34008f6d262f19e88a346a36b83e4093b4129105

Merged-In: I0cb7158af249feeb01cf578a7544dda978eede9d
2017-03-02 13:11:28 -08:00
Jeremy Joslin
3465cd9e30 Merge "Check for REQUEST_NETWORK_SCORES instead of BROADCAST_NETWORK_PRIVILEGED." am: b5b00857eb am: 0af25e62c9
am: 5418f151cc

Change-Id: I74ce97c93e640a601e811b571f37fe1fed114391
2017-01-20 02:35:50 +00:00
Jeremy Joslin
5418f151cc Merge "Check for REQUEST_NETWORK_SCORES instead of BROADCAST_NETWORK_PRIVILEGED." am: b5b00857eb
am: 0af25e62c9

Change-Id: Ied883055a0b85a1df53491a88f6bd7eac594c5f5
2017-01-20 02:21:00 +00:00
Jeremy Joslin
0af25e62c9 Merge "Check for REQUEST_NETWORK_SCORES instead of BROADCAST_NETWORK_PRIVILEGED."
am: b5b00857eb

Change-Id: I54a69f11284efb07ee6be58650d7a246540010dc
2017-01-20 02:11:47 +00:00
Jeremy Joslin
261b5c4c49 Merge "Pass more data through the recommendation request." am: 00514f1dc0 am: ddfbe07e96
am: ec630d0bf0

Change-Id: I20ce25072262a7aef36b9fdaa317210283ca495f
2017-01-20 02:07:53 +00:00
Jeremy Joslin
ec630d0bf0 Merge "Pass more data through the recommendation request." am: 00514f1dc0
am: ddfbe07e96

Change-Id: Ib831f420dd6ca976f9ce72476028b18ea61e2211
2017-01-20 02:02:03 +00:00
Treehugger Robot
b5b00857eb Merge "Check for REQUEST_NETWORK_SCORES instead of BROADCAST_NETWORK_PRIVILEGED." 2017-01-20 02:00:42 +00:00
Jeremy Joslin
ddfbe07e96 Merge "Pass more data through the recommendation request."
am: 00514f1dc0

Change-Id: I97e11e876bcb7ccdb55a333b31f9970ae5edd001
2017-01-20 01:52:38 +00:00
Jeremy Joslin
c4982553b9 Check for REQUEST_NETWORK_SCORES instead of BROADCAST_NETWORK_PRIVILEGED.
Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
BUG: 33752149
Change-Id: I559e8f47c5edb491ea7cd0d03010736c81fcee9b
Merged-In: If261cf25c227eeeb4155e43afd9354e6ff8df3b4
2017-01-19 16:21:25 -08:00
Jeremy Joslin
122957b0b0 Pass more data through the recommendation request.
Expanding the API so it can accept the WiFi config of the currently
connected network (if any) and the set of connectable WiFi
configurations. Also renamed currentRecommendedWifiConfig to
defaultWifiConfig so the name was more representative of the
parameter's purpose and added more documentation throughout.

Test: adb shell am instrument -e class android.net.RecommendationRequestTest -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Test: adb shell am instrument -w com.android.networkrecommendation.tests/android.support.test.runner.AndroidJUnitRunner
Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
Bug: 34387385
Change-Id: Ib8c3cab8f92b5c9da806070d32412f688690f82f
Merged-In: I1089b70303b0396def7e6bf3737fdc67e40c9dcd
2017-01-19 16:14:21 -08:00
Jeremy Joslin
9971919b64 New setting for recommendation request timeout. am: 44e2b84b27 am: 820ad03ba8
am: 00ccf31dbd

Change-Id: If14705a0e4c41dbd40ae90b46b37e5ad2b6e5c4b
2017-01-19 23:23:20 +00:00
Jeremy Joslin
6a4faba753 Implemented the async recommendation request call. am: bc1308a3be am: 08031e0d0e
am: 61a4bd412d

Change-Id: I53549134c264ff5d282d1e6d5138581c9f5bcb5b
2017-01-19 23:22:20 +00:00
Jeremy Joslin
00ccf31dbd New setting for recommendation request timeout. am: 44e2b84b27
am: 820ad03ba8

Change-Id: Ib4999e09073c74bb4594ce2e744032d3349dce94
2017-01-19 23:13:19 +00:00
Jeremy Joslin
61a4bd412d Implemented the async recommendation request call. am: bc1308a3be
am: 08031e0d0e

Change-Id: Idc136d72820fbf7c1d747068d87c505ec7e3cc5c
2017-01-19 23:12:24 +00:00
Jeremy Joslin
820ad03ba8 New setting for recommendation request timeout.
am: 44e2b84b27

Change-Id: I8fd6e0c75d22d0f83db414a389c4d8caaf745469
2017-01-19 23:05:02 +00:00
Jeremy Joslin
08031e0d0e Implemented the async recommendation request call.
am: bc1308a3be

Change-Id: I8cd3365a053527c8f4da6c35b1c646281eda74be
2017-01-19 23:03:56 +00:00
Jeremy Joslin
44e2b84b27 New setting for recommendation request timeout.
Added a new global setting, NETWORK_RECOMMENDATION_REQUEST_TIMEOUT_MS,
to control the maximum amount of time a recommendation request can
take.

Updated the NetworkScoreService to monitor the value and to update
its cached copy on observed changes.

Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
Bug: 34060959
Change-Id: I6ff80178440794e4a5da39ee7b5164621316e7bd
Merged-In: I7650ee024e53dbc856cf20d7520a6eb252c73bdf
2017-01-19 13:18:22 -08:00
Jeremy Joslin
bc1308a3be Implemented the async recommendation request call.
Implemented requestAsyncRecommendation() by introducing a Handler
implementation to handle requests that time out and a OneTimeCallback
class to prevent multiple callbacks from being sent back for the same
request.

Change-Id: I03875cf1d789cbc92aa4c6b500c6b519bff8e165
Merged-In: Ida2ff860d78d86185ab9ab22232b5b6dc1e4b310
Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
BUG:33784158
2017-01-19 13:18:21 -08:00
Tamas Berghammer
b4050d8042 Merge "DO NOT MERGE: Revert "Update package names to work with the proto3 compiler"" into nyc-mr1-dev-plus-aosp 2017-01-18 19:59:59 +00:00
Tamas Berghammer
24d8553316 DO NOT MERGE: Revert "Update package names to work with the proto3 compiler"
This reverts commit cbd3f0c59a.

Change-Id: I6e8d193fa22e0e7e30b214c13ae0480d3c9b0dc6
2017-01-18 19:33:22 +00:00
Tamas Berghammer
3db5d42f90 Merge "Update package names to work with the proto3 compiler" into nyc-mr1-dev-plus-aosp 2017-01-18 12:58:01 +00:00
Lorenzo Colitti
d9409d3b60 DO NOT MERGE: Add missing dependency.
(cherry picked from commit 744b02069d)

Change-Id: I3030cc7a718e99ab129fc14174b6d917b9b8e7fb
2017-01-18 19:08:46 +09:00
Stephen Chen
c926b7399a DO NOT MERGE: Implement metered tracking for NetworkStats summary queries.
Dependent on ag/1550196 where API is defined.

Bug: 31015360
Bug: 26545374
Test: runtest --path
frameworks/base/core/tests/coretests/src/android/net/NetworkStatsTest.java,
other test classes.

(cherry picked from commit 2514787897)

(cherry picked from commit 963e8ddf6d)

Change-Id: I79e401fc4159264a075febba82bd8c295b8e677f
2017-01-18 19:08:41 +09:00
Felipe Leme
d445c55538 DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.
Test: m -j32 FrameworksServicesTests && adb install -r -g ${ANDROID_PRODUCT_OUT}/data/app/FrameworksServicesTests/FrameworksServicesTests.apk && adb shell am instrument -e class "com.android.server.net.NetworkStatsServiceTest" -w "com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"

BUG: 30943463

(cherry picked from commit b8f946dc4b)

(cherry picked from commit e4c029918f)

Change-Id: I93cdfc8753dcded141732c0587783d1fa2085f5a
2017-01-18 19:08:29 +09:00
Felipe Leme
c97d8b7464 DO NOT MERGE: Use @Ignore to explicitly disable a @Test method.
BUG: 30839080
BUG: 31007021

(cherry picked from commit fc7d7a359f)

(cherry picked from commit 2026ca147b)

Change-Id: I45efc93b40e526467c97d0735289db1404ccd22d
2017-01-18 19:08:27 +09:00
Felipe Leme
fe46a2f868 DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4.
Most tests were failing because due to a null NetworkCapabilities.
Example:

1) testNetworkStatsWifi(com.android.server.net.NetworkStatsServiceTest)
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.net.NetworkCapabilities.hasCapability(int)' on a null object reference
	at
	com.android.server.net.NetworkStatsService.updateIfacesLocked(NetworkStatsService.java:983)

BUG: 30839080

(cherry picked from commit 574f370c6d)

(cherry picked from commit 77cba4bdf6)

Change-Id: I6eee96178ade6adfc1406e06d5376206ca2420e5
2017-01-18 19:08:25 +09:00
Lorenzo Colitti
2fbc934cd9 DO NOT MERGE: Move the connectivity tests to frameworks/base/tests/net.
This will give us a good place to put all the networking tests.

Fix: 31479480
Test: adb  shell am instrument -w -e notClass com.android.server.connectivity.tethering.TetherInterfaceStateMachineTest 'com.android.frameworks.tests.net/android.support.test.runner.AndroidJUnitRunner'  # PASS

(cherry picked from commit ecc986d430)

Change-Id: I4c417c2ba0747d2085169e47ae4a99e93c4d8814
2017-01-18 19:08:05 +09:00
Lorenzo Colitti
073e5e94ad DO NOT MERGE: De-guava BroadcastInterceptingContext and move it to testutils.
Removing the static dependency on guava reduces test compile time
by about 20 seconds on a Z840, thus substantially speeding up the
compile/test cycle.

Make FutureIntent public instead of package-private because it is
used directly by NetworkPolicyManagementServiceTest, which as of
this CL is now in a different package.

(cherry picked from commit 281a17c958)

Test: runtest frameworks-services -c com.android.server.ConnectivityServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.NetworkPolicyManagerServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.net.NetworkStatsServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.NetworkManagementServiceTest  # Already failing.
Bug: 31479480

(cherry picked from commit 3c295b59f5)

Change-Id: I8a95d4618dced81f173d2b38b9c1dfe3860b348a
2017-01-18 19:08:02 +09:00
Lorenzo Colitti
9997f1489a DO NOT MERGE: Move FakeSettingsProvider to a common location.
(cherry picked from commit 7df1a82802)

Test: runtest frameworks-util -c com.android.internal.util.test.FakeSettingsProviderTest
Test: runtest frameworks-services -c com.android.server.ConnectivityServiceTest
Test: runtest frameworks-services -c com.android.server.retaildemo.PreloadAppsInstallerTest
Test: runtest frameworks-services -c com.android.server.retaildemo.RetailDemoModeServiceTest
Bug: 31479480

(cherry picked from commit b8df76e413)

Change-Id: Ib82b162f354b8cbb521bc0783556f3225b4d12ac
2017-01-18 19:08:00 +09:00
Hugo Benichi
86e2765777 DO NOT MERGE: ConnectivityServiceTest: mark flaky test as such
This patch extracts into its own independent test a test sub-block looking
for a race condition when not waiting on handlers to become idle:
there is no way to prevent the race from not happening when looking for
it this way. This makes the test flakky.

This new independent test is tagged with @FlakkyTest(tolerance = 3).

Test: ConnectivityServiceTest passes, with higher probability.
Bug: 31479480

(cherry picked from commit c8c1027762)

Change-Id: I32632bb763585c23f1de5bb1811a384a35bf9f64
2017-01-18 19:07:59 +09:00
Hugo Benichi
17586f7f1f DO NOT MERGE: Add fuzzing tests to ApfFilter RA processing
Test: added new unit tests

(cherry picked from commit 8acea76a2b)

Change-Id: I4e6633984075d87c4e22466bc881629436359f7f
2017-01-18 19:07:57 +09:00
Erik Kline
e9e251fcfb DO NOT MERGE: Support timeouts for requestNetwork() invocations.
(cherry-pick of 06c3ef1367)
(cherry picked from commit 57faba9ec7)

Bug: 21414325

(cherry picked from commit 3841a48d0a)

Change-Id: I640c43315a071ecbf881e5ce898164915e0b787f
2017-01-18 19:07:33 +09:00
Jeff Sharkey
a199722ed6 Merge "Only measure each UID once in InstallerTest." am: 32aac7b9c9 am: 7b6d21b37e
am: 5092952317

Change-Id: Ib352977f7f01e97bc3afefb743f3ccb7725cbaec
2017-01-18 01:30:24 +00:00
Jeff Sharkey
5092952317 Merge "Only measure each UID once in InstallerTest." am: 32aac7b9c9
am: 7b6d21b37e

Change-Id: I99a0c70e339a75da752be5dfb141b6835ca83cb3
2017-01-18 01:23:49 +00:00
Jeff Sharkey
7b6d21b37e Merge "Only measure each UID once in InstallerTest."
am: 32aac7b9c9

Change-Id: Ie4b85e22fe74d8d07424edeacfc285a3cbd67dd0
2017-01-18 01:18:51 +00:00
Jeff Sharkey
dd0edac92f Only measure each UID once in InstallerTest.
Test: builds, boots
Bug: 34341727
Change-Id: Ic8250b7383f52adf30139ceed02469a9d278dc18
2017-01-17 15:25:35 -07:00
Erik Kline
545049be25 Move tests added in n-mr2 into new aosp location. am: e446acf954 am: 88f3295464
am: 4e9ffd6e91

Change-Id: I3b4f9303c5d4495e4b8556b1db6d5cad5543a10c
2017-01-17 05:19:56 +00:00
Erik Kline
4e9ffd6e91 Move tests added in n-mr2 into new aosp location. am: e446acf954
am: 88f3295464

Change-Id: Iaf574661aa658df1285f69bfad62285bd531206a
2017-01-17 05:08:24 +00:00
Erik Kline
88f3295464 Move tests added in n-mr2 into new aosp location.
am: e446acf954

Change-Id: I69c76aaf4c8d03ce4b33d9c16c47f2c83141e255
2017-01-17 05:01:49 +00:00