Commit Graph

309172 Commits

Author SHA1 Message Date
songchenxi
825f69a5e6 Add a hidden flag to control Settings UI
This flag is to enable link to permission in location settings UI
Test: A new string value added

Bug: 34400189
Change-Id: Ie2adeba9634a0e2426b28683da09ad1765b25a3d
2017-01-26 09:33:26 -08:00
Calin Juravle
75a6d9c875 Merge "Notify DexManager about new package installs" 2017-01-26 17:31:32 +00:00
Bryan Mawhinney
87b1aac0f0 Test to encourage new settings to be backed up
This test encourages developers who add new settings to
include them in backup / restore by ensuring that either:
- the setting is included in SETTINGS_TO_BACKUP, or
- it is added to a blacklist in the test

Test: run CoreFrameworkTests
Change-Id: If8ed0afda960c0f985a492ccf12ac452c6fa114d
2017-01-26 17:15:56 +00:00
TreeHugger Robot
1838867ee7 Merge "Add separate roaming icon for status bar + QS" 2017-01-26 17:13:03 +00:00
Pavlin Radoslavov
b33bd5bc2e Integration of the AAC codec for A2DP source
Test: A2DP streaming to AAC headsets
Bug: 30958229
Change-Id: I1b530f1c5c495b8231fd68bed788d4567096683d
2017-01-26 09:06:02 -08:00
Jae Seo
523415e814 TIF: Add more fields needed for new content recommendation
Test: build
Bug: 34160270
Change-Id: Ibb40ed39573049ace180ae319cebe96222f84b00
2017-01-26 08:58:50 -08:00
TreeHugger Robot
5841a983e8 Merge "Launch work lock scrim as clear_top not single_top" 2017-01-26 16:41:44 +00:00
Emilian Peev
8f240961cc Camera2: Correct EXIF GPS timestamp
GPS 'Location' expects timestamps in milliseconds
 however the camera metadata uses seconds for it.
 An additional conversion is needed to take care
 of this mismatch.

BUG: 32593275
Change-Id: I636060aac2177ae9818af32d677292f1eb76d97e
2017-01-26 08:39:54 -08:00
Michal Karpinski
f329254053 Merge "Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm" 2017-01-26 15:15:14 +00:00
Michal Karpinski
3ac59620f1 Merge "DO NOT MERGE Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm" into nyc-mr2-dev am: c399e4d964
am: 666e59f911  -s ours

Change-Id: Ie934c7a6e884eb13a23a620c43bab68b989cb454
2017-01-26 15:05:01 +00:00
Jason Monk
0f0de13c37 Add separate roaming icon for status bar + QS
Now data + roaming will be shown at the same time.

Test: runtest systemui
Bug: 31205845
Change-Id: I8fe167a0909c952ad0824e24e178857df2541554
2017-01-26 10:04:32 -05:00
Michal Karpinski
c6f8137e47 DO NOT MERGE Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm am: 1710e5f079
am: 6bf0344e60  -s ours

Change-Id: I36505cd9cd17d1f4c540a39fc0c115c5470d52d0
2017-01-26 15:04:01 +00:00
Thecrazyskull
7664bceec3 KeySetManagerService: prevent NPE
* If pubKeys is null, we cannot check the size of pubKeys

Test: none

Change-Id: I3b4074d8727b084fea98a0e0a5a0afbd96bea41d
2017-01-26 09:03:59 -06:00
Michal Karpinski
666e59f911 Merge "DO NOT MERGE Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm" into nyc-mr2-dev
am: c399e4d964

Change-Id: I9658d27ee9a694c580204f0e041991d754f93130
2017-01-26 14:58:41 +00:00
Michal Karpinski
6bf0344e60 DO NOT MERGE Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm
am: 1710e5f079

Change-Id: I6ffab66a6464f7fbb337d6bcb1431a0a960e25e3
2017-01-26 14:58:36 +00:00
Michal Karpinski
c399e4d964 Merge "DO NOT MERGE Change batch finalization timeout mechanism from Handler#sendMessageDelayed() to a wakeful alarm" into nyc-mr2-dev 2017-01-26 14:52:20 +00:00
Mady Mellor
3b10dcd2ca Update PIP minimize to edge gesture
Updates gesture to match prototype:
- If you fling towards the current edge the PIP is on it is minimized
- Dragging far enough to left or right edge minimizes PIP

Test: manual
Change-Id: I56664e16505b461ad37b181cbb89ee4c6e371aa2
2017-01-26 06:47:08 -08:00
Jason Monk
aa4f7e2a72 Add secondaryContentAlpha
Test: make and visual
Change-Id: I8c6b57c9336699847f28f4a027674c9fbe797b44
2017-01-26 09:43:51 -05:00
Mady Mellor
e7c8aeefb4 Merge "Adjustments to PIP heuristics to snapping along edges of screen" 2017-01-26 14:36:51 +00:00
Geoffrey Pitsch
60eef134af Merge "New constructor for Notification.Builder takes a channelId." 2017-01-26 14:15:16 +00:00
TreeHugger Robot
132dffbc83 Merge "Animate starting work challenge from work lock" 2017-01-26 12:49:27 +00:00
Michal Karpinski
1710e5f079 DO NOT MERGE Change batch finalization timeout mechanism from
Handler#sendMessageDelayed() to a wakeful alarm

Messages sent with Handler#sendMessageDelayed() didn't get delivered
until the device woke up after being idle, which resulted in
potentially very long windows of logs accumulation and highly possible
network log loss from before the device becaming idle.

Bug: 34157435
Test: manual with decreased timeout over a few timeout iterations
Change-Id: I22d9cc743acb1a478d2da5407c5718e7f95e89cb
2017-01-26 12:48:56 +00:00
Michal Karpinski
9a2e4207d7 Change batch finalization timeout mechanism from
Handler#sendMessageDelayed() to a wakeful alarm

Messages sent with Handler#sendMessageDelayed() didn't get delivered
until the device woke up after being idle, which resulted in
potentially very long windows of logs accumulation and highly possible
network log loss from before the device becaming idle.

Bug: 34157435
Test: manual with decreased timeout over a few timeout iterations
Change-Id: I50b29b9f132856a629e28f46c022f21976bd92fb
2017-01-26 12:45:45 +00:00
Erik Kline
d2ec3919cb Switch to listening for all network changes.
This is for use while preferred upstreams are expressed as legacy types.

Test: as follows
    - built (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
    - USB tethering to WiFi and DUN works
Bug: 32163131
Change-Id: I76e7b6c95eb1b54e926096b2791163617bb0a818
2017-01-26 20:50:51 +09:00
ltrochtova
68945f3d11 Merge "Don't offer the BT sharing option to the user if BT is disallowed." am: 2c1e396382 am: c0118ac10e am: 3db1ff462a
am: a0f229263a

Change-Id: Iccc3f7679e2d400f683d43c3d612197fba402f33
2017-01-26 10:04:30 +00:00
ltrochtova
a0f229263a Merge "Don't offer the BT sharing option to the user if BT is disallowed." am: 2c1e396382 am: c0118ac10e
am: 3db1ff462a

Change-Id: I846e7d5b84fb953f93256c8c6d2ca18d37199f1f
2017-01-26 09:58:53 +00:00
ltrochtova
3db1ff462a Merge "Don't offer the BT sharing option to the user if BT is disallowed." am: 2c1e396382
am: c0118ac10e

Change-Id: I2aede50aba4c693f6bc45d2e53a0f4b7d8303c32
2017-01-26 09:53:23 +00:00
Hugo Benichi
88932754ff Captive portals: login activity probes like NetworkMonitor
This patch changes CaptivePortalLoginActivity captive portal test to be
consistent with NetworkMonitor by:
 - using Network.java to open the http connection.
 - adding a UserAgent property to the request header.

Test: manually tested.
Bug: 32369183

(cherry picked from commit cdf3ba48cc)

Change-Id: I559eb0497475daad758ba3b3395225dcd0a27a57
2017-01-26 18:53:03 +09:00
Hugo Benichi
ef78d27703 Logging improvements in CaptivePortalLoginActivity
Logging improvements to help debugging captive portal issues.

Test: manually tested
Bug: 33126342

(cherry picked from commit 87de0c2067)

Change-Id: I52425b849412f6bd5c5ca1f0be7a49cc772497eb
2017-01-26 18:52:59 +09:00
Hugo Benichi
6814bd1afe Captive portal systel log improvements
This patch improves system logging around captive portal detection to
make inspection of bug reports sligthly easier:

- NetworkMonitor now logs by default CMD_CAPTIVE_PORTAL_RECHECK and
  CMD_CAPTIVE_PORTAL_APP_FINISHED. Other system logs are kept off with
  a new VDBG boolean contant,
- NetworkNotificationManager now prints the notification id at
  notification time. This allows to easily correlate show and clear.
- errors in NetworkNotificationManager are logged as Throwable instead
  of through their implicit toString() method.

Test: $ runtest frameworks-net
Bug: 32198726

(cherry picked from commit 8b025bf108)

Change-Id: I1eaab5ea702063dde3e23324d3a1b3dc172c5ac5
2017-01-26 18:52:55 +09:00
Hugo Benichi
3daf708e3c Fix flaky IpPrefixTest.
Test: IpPrefixTest passes
Bug: 32561414

(cherry picked from commit 32c6870403)

Change-Id: I42928da87f7f336900b3a95ebbf28563864da8d4
2017-01-26 18:52:51 +09:00
Hugo Benichi
612f058d48 Removing bogus file added by mistake
This patch deletes a bogus file added by mistake in the change with
commit hash 147aa6d53b.

Test: no code change.
Bug: 32198726

Change-Id: Iffc6b3a5ebd854dc81d537576a4405955abacba7
2017-01-26 18:52:48 +09:00
Hugo Benichi
352147a308 frameworks-test: adding missing @SmallTest
This activates all frameworks-test tests in runs of the continuous
platform tests.

Test: $ runtest frameworks-net passes (expect Tether
Bug: 32561414
(cherry picked from commit fa8a6f6220)

Change-Id: I7b0706a7e3368f971d508388e8ad4afc5de9d646
2017-01-26 18:52:45 +09:00
Hugo Benichi
222ebe48ba Netd events: record connect() success/errno
Test: $ runtest frameworks-net pass
Bug: 32198976

(cherry picked from commit 8b06bcdfd2)

Change-Id: Ib3be06d2678c3fcfe4fa9d7b77f50c6e8812db3d
2017-01-26 18:52:41 +09:00
Lorenzo Colitti
bea525eff8 Add missing dependency.
Change-Id: I5deb8e03eb368ab7003f9376f7b4459d2ef5e934
2017-01-26 18:52:38 +09:00
Tony Mak
094fbe6719 Show notification for always-on app VPN
This is the same notification as the one shown during legacy lockdown
mode, sans the 'reset' button.

The notification is only shown during times when VPN has not yet
established or has failed, for example during boot or after a crash.

Bug: 29123115

(cherry picked from commit 1a405fe300)

Change-Id: I929a05c24df01e21415535a333bb14ac4b790a9d
2017-01-26 18:52:35 +09:00
Stephen Chen
48a1136c8b 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)

Change-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a
2017-01-26 18:52:32 +09:00
Hugo Benichi
a19056c35d NetworkMonitor: send one DNS probe per web probe
This patch changes sligthly the two web probes mechanism for captive
portal detection and network validation so that DNS resolution is always
done for both probes.

In general the target web servers of the two parallel HTTP and HTTPS probes
are now different. This introduces a bias in the latency measurement of
th HTTPS probe since this latency will also include DNS resolution in
general.

Test: manual verification + $ runtest frameworks-net
Bug: 32198726

(cherry picked from commit ab61e7c324)

Change-Id: I3b32ae451f2241849fffe24956758a9f571b1ef1
2017-01-26 18:52:28 +09:00
Hugo Benichi
c328248cdc NetworkMonitor metrics: add first validation information
This patch adds first validation information to:
  - ValidationProbeEvent, by extending the probe_type int field of to
    also include a bit indicating if the probe was part of a first
    validation attempt or not.
  - NetworkMonitorEvent, by defining new contants for the event_type
    field.

Test: $ runtest frameworks-net
      + manually generating events and inspecting the
        output of $ adb shell dumpsys connmetrics list
Bug: b/32198726

(cherry picked from commit 147aa6d53b)

Change-Id: Ie7a62c4f62a13ce52806d3adaa9e627cb246073c
2017-01-26 18:52:25 +09:00
Hugo Benichi
5c2111bc3a APF: also drop any ICMPv6 RSs
Test: new unit test + $ runtest franeworks-net
Bug: 32833400

(cherry picked from commit f98182ef5e)

Change-Id: Ifaf6e778c811c7d865c790a293b1fce3f43cad1c
2017-01-26 18:52:21 +09:00
Hugo Benichi
d49596f479 ConnectivityServiceTest: fix testAvoidBadWifiSettings
This patch introduces an assertEventuallyThat helper function in
ConnectivityServiceTest which given a boolean function retries until the
function returns true or until a maximum retry time is reached.

This function is used to fix flakyness of testAvoidBadWifiSetting where
the Message posted by reevaluate() could reach the Handler's
MessageQueue after waitForIdle takes effect, resulting in the test to
fail.

Instead of fixing the flakyness by introdcing hard sleep times,
assertEventuallyThat is used to reduce the overall test time.

With this change the test has been observed to pass with 100% success
rate over 50000 invocations.

Test: $ runtest frameworks-net
Bug: 32561414

(cherry picked from commit 99c8294ef0)

Change-Id: If41a24989d5f65aeb439f68741f511b5eb53b18d
2017-01-26 18:52:18 +09:00
Hugo Benichi
b038044758 Fix ConnectivityServiceTest testRequestBenchmark
This patch fixes flakyness of testRequestBenchmark by adjusting time
limit for callback registration from 100ms to 180ms, and time limits for
onAvailable and onLost triggers from 30ms to 40ms.

With these timeouts the test succeeds 100% over 5000 iterations.

When using 150ms for registration timeout, running the test 5000 times
fails 2 times.

When using 30ms for onLost timeout, running the test 5000 times fails
1 times.

In addition, this patch also cleans testRequestBenchmark and uses the
more stable SystemClock.elapsedRealtime() for duration measurements.

Test: $ runtest frameworks-net
Bug: 32561414

(cherry picked from commit 38be57b438)

Change-Id: I196ab9ef7f5abe456a783eed65db09279d2ecb8c
2017-01-26 18:52:14 +09:00
Jeff Sharkey
06124cc892 Switch over to new "time.android.com" NTP pool.
Also add logging to measure success/failure details.

Test: builds, boots, and NTP fix obtained
Bug: 32969463

(cherry picked from commit d3f689bf14)

Change-Id: I7da416099ae903fd92beb516251ef4e51673eecf
2017-01-26 18:52:11 +09:00
Stephen Chen
94eab5c526 Define API for metering network stats buckets.
This is a continuation of b/26545374, since now we can also set the
metered bit with NetworkScorer. The tracking of metered state changes
will be implemented in a seperate CL.

Bug: 31015360
Bug: 26545374
Test: N/A

(cherry picked from commit 9ac251d116)

Change-Id: I6a2fcc8577d62daa8823dff9e0128a5cf39ede7b
2017-01-26 18:52:08 +09:00
Felipe Leme
925f48a6ad 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)

Change-Id: Ia9929295ab2396a7ebb133e65d157f98414e4dfa
2017-01-26 18:52:04 +09:00
Felipe Leme
96808e68bf Use @Ignore to explicitly disable a @Test method.
BUG: 30839080
BUG: 31007021

(cherry picked from commit fc7d7a359f)

Change-Id: I35942e60493adebb22871541a34240368c691ee7
2017-01-26 18:52:01 +09:00
Felipe Leme
439ac32c7c 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)

Change-Id: Ie09b2f43cf6ec745e404d5ec98bd0b072d211ea3
2017-01-26 18:51:58 +09:00
Jeremy Joslin
fe1ce2f90c VPN network stat accounting changes.
Properly account for VPN apps that make heavy use of the tun
interface. Prior to this change a VPN app could be incorrectly charged
for more data than it actually used if it sent more traffic through
the tun interface than the underlying interface.

This change excludes VPN app traffic on the tun interface from the
adjustment pool and doesn't redistribute traffic to the VPN app.
Instead all of the redistributed traffic is deducted from the VPN app
which effectively represents any overhead incurred by the VPN app.

BUG: 30557871

(cherry picked from commit 8b436d865c)

Change-Id: I06f01aa8fe5fdc06b2d36cfb9c68feb244c2e5de
2017-01-26 18:51:53 +09:00
Hugo Benichi
d28766c74d ConnectivityThread: use lazy holder idiom
This patch changes the way that the ConnectivityThread is lazily
instantiated by using the "lazy initialization holder class idiom".

The first code point that tries to obtain a reference to the unique
ConnectivityThread instance will trigger the creation of the Singleton
class, which will guarantee a thread-safe initialization of the static
INSTANCE field inside Singleton according to the language specs.

This is the Item #71 of Effective Java.

The unique static instance of ConnectivityThread is not stored directly
inside ConnectivityThread class but is stored in a static nested class.
This is to avoid triggering the creation of that unique instance when
Zygote does class preloading at phone startup. Otherwise this would lead
to Zygote creating a new OS thread during preloading, which is a fatal
error.

Test: frameworks-wifi tests pass
Bug: 26749700
Bug: 28537383
Bug: 32130437

(cherry picked from commit c4fe5d373c)

Change-Id: If13b363889a8e9396273a90c3d9f9421a48aecbc
2017-01-26 18:51:49 +09:00
Hugo Benichi
1e19aefa6f ConnectivityManager: use ConnectivityThread looper
This patch removes the static singleton looper used by
ConnectivityManager and instead uses the common ConnectivityThread.

This allows to removes the static atomic counter used to track
the number of registered NetworkCallback in ConnectivityManager, because
the looper is not turned off anymore when no callbacks are registered.

Also an overloaded version of sendRequestForNetwork is added taking as a
new parameter a Handler. This will allow to overload various callback
and request related API calls with user provided Handlers.

Test: ConnectivityServiceTest passes
Bug: 26749700
Bug: 28537383
Bug: 32130437

(cherry picked from commit 7724cdd8b9)

Change-Id: If956addbf8e7b11b36a4b966de7fca00e8f362c1
2017-01-26 18:51:46 +09:00