This patch introduces a new settings value to specify more than one url
for the fallback http probe in addition to the existing settings value.
If more than one url exists, a network will rotate urls for the fallback
probe one by one everytime the fallback probe is sent.
Test: built, flashed, tested manually with various portal networks.
Bug: 36532213
Merged-In: I3c010bfee5b99db03a500776fbf47959a29d0578
(cherry picked from commit eef918a66c984ac7bb1f541665f4dc9bb88ea7ac)
Change-Id: If4d9a091c3a04a33895032d9b0d05c1dc66968e7
* changes:
Fixing missing movement bounds notification to SystemUI.
Fixing animating bounds regression.
Tightening up rotation behavior for PIP (2/3)
Tightening up rotation behavior for PIP (1/3)
- When WM updates from a configuration change, ensure that we update the
pinned stack controller even if there is currently no pinned stack.
- Also finish the menu activity once an activity is unpinned.
Bug: 36879891
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: I789945c1783693cf4b4e3d6663548c8669784001
This patch groups connect() events per netId. It adds netid and
transport information to serialized ConnectStatistics events.
Test: updated NetdEventListenerServiceTest
updated IpConnectivityMetricsTest
$ runtest frameworks-net passes
Bug: 34901696
Change-Id: Id0d536ff723ded5c26eafe0bb138ba75ba2856c5
Merged-In: I4769496383943e714a1d350c298e093c2ed57477
(cherry picked from commit dfc2cc5857199345e08f07977b79b20292f964a2)
This patch changes how DnsEvents are logged in IpConnectivityMetrics.
The following changes are made:
- DnsEventBatch are not logged after 100 queries on the same network
- this allows to merge DnsEvent and DnsEventBatch into one class
- DnsEventBatch are not logged after a network disconnect
- this allows to remove the NetworkCallback
- DnsEvent are now logged similarly to ConnectStats when statistics are
flushed, in a direct call from IpConnectivityMetrics into
NetdEventListenerService, in a direct call from IpConnectivityMetrics
into NetdEventListenerService.
- this allows to remove the Parcelable implementation of DnsEvent
- transports information is added to DnsEvent.
Test: - simplified NetdEventListenerServiceTest covering dns logging
- updated IpConnectivityEventBuilderTest
- updated IpConnectivityMetricsTest
- $ runtest frameworks-net passes
- manually verified $ adb shell dumpsys connmetrics list proto
Bug: 34901696
Change-Id: I4fcd0ad7a7b85d587647f471a90c1e53a18fc95a
Merged-In: Ia4b33fd4212741152662a2adbb0533bd1b4902ee
(cherry picked from commit 0699cf98042a64e41ee076c464eb115a6579be08)
- Prior to ag/1954388, we used getAnimatingBounds() to get the final target
bounds if animating or the current otherwise, but since we needed the
target bounds to calculate the window scale even after the animation
completes, the clearing of mBoundsAnimationTarget was removed.
This inadvertently broke the check in getAnimatingBounds() from ever
returning the current bounds (as it's never empty)! This CL fixes the
issue, and renames the related methods to better reflect what they are
doing going forward.
This caused a regression when calculating and notifying SysUI of the
movement bounds, which was never the current bounds, but the default
bounds. Leading the IME change to trigger the PIP to move down.
Bug: 37242422
Test: android.server.cts.ActivityManagerPinnedStackTests
Test: Source hint rect animation still works
Change-Id: I532b0928ebfeaf95e9754a0254306af6fbb35833
- Change BoundsAnimationController to be more consistent:
1) Ensure that on animation end is always called even when cancelled to
ensure animation start/end parity in the callbacks
2) Ensure that setPinnedStackSize() is only called between start/end
3) Prevent calling setPinnedStackSize() to the final bounds if the
animation is cancelled
- With that, we add a flag to cancel the current bounds animation when a
rotation happens while the bounds are animating. In addition, we also
add a check from AM to WM before applying the resize during the animation
in the case where WM sends the bounds to AM, but AM lock is held while
updating the exact stack bounds (once that finishes the old stale bounds
would have been applied)
- In addition, we can then move the handling of the of the rotation to the
config change update in WM, if we handle it before the other checks.
Bug: 36879891
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: I62c6df8b349971cc82a7898ae8b26834723faec5
- Defer getting the default bounds until after the task has been reparented
to the pinned stack
- Also move pinned stack-related methods into pinned stack window
controller and listener
Bug: 36879891
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: Ib2bd81ad9e2a3829b556177010f39c7512ba35bf
This patch also
- partially reverts commit f927f0c52e7df5b057e7d28888c3cfed164d241a
that exposed a getTransports method on NetworkCapabilities.
- moves enumerateBits to BitUtils (as unpackBits), and adds the
reverse packBit method.
Bug: 34901696
Test: manually looked at $ adb shell dumpsys connmetrics list
Change-Id: I1650daf8fc9c1b6e0d986d2285f81e888be8847f
Merged-In: Id04f9080e7f75608deeb49306aec34941e71794c
(cherry picked from commit df456e13a1127e3c8594b1d22ea4a9b3dca67a4b)
AccountManagerService sends an intent with the action when account of any type is removed or renamed.
Test: manual, APCT.
Bug: 37280078
Change-Id: I53b1bb9d6cde1edba5c37ecf3e4e13d748b19005
- Also don't crash if we get a deferred call to resize the pinned stack
that no longer exists.
Bug: 36049843
Test: Try to pinch and expand pip
Change-Id: I64c42e47c466c641464c4f22a20bded2209e29eb
When the accessibility volume is enabled, its value wasn't persisted
when changed because it was still using the persisting name from
its alias (music).
When enabled, notiify the volume controller that a11y volume has
changed so the UI also reflects the new value, now updated from
the persisted settings.
Do not persist volumes for streams that don't have a setting name.
Test: enable Talkback, set a11y volume at a different level than media \
then disable Talkback. Reboot and enable Talkback, verify a11y is \
restored.
Bug: 36286073
Change-Id: Ic6c30364e164b856fc10fbf6b22c09a7b5561be1
This is just an internal API in the platform, not (yet?) available
in the SDK. But it will be useful for system services that want to
clean up state if a pending intent that has been registered with them
is canceled (either explicitly by the app, through the app being
uninstalled, etc).
Also improve the activity manager's dump of pending intents to
organize them by package, making it much easier to read (now that
we have so many active pending intents these days).
Test: ran and booted. no CTS, since no API.
Change-Id: Iad029cfedcd77e87357eca7da1b6ae94451dd981
Prior CL didn't lock properly and would still fail if a
notification was both enqueued and posted at the same time.
Test: runtest systemui-notification
Change-Id: I1bdd779ecb872f1a02ffc38b6007239eb522b521
Fixes: 36550043
Previously, the window container was being removed whenever we were
removing the task in a destroy mode. However, this caused issues
where an activity may still be present in the task record, leading to
a subequent change to limit this to tasks with overlays. This led to
the situation where the window container would not be destroyed when
it was supposed to, such as moving an activity to recents, but
otherwise destroying.
This changelist addresses the issue by always removing the window
container from tasks when removed from their parent stack in a
destroy mode and empty. In the recents flow, this will fire and
cleanup when the activity is destroyed.
Change-Id: I87548d6ff8e4d77b6294504d7cc78370cd5d31fa
Fixes: 37301159
Test: bit FrameworksServicesTests:com.android.server.am.ActivityStackTests
This better accomodates those apps that play their own sounds.
Since most apps don't play their own sounds, update the documentation
on notificationchannel to add guidance about when they should add a
sound.
Fixes: 37237013
Test: runtest systemui-notification
Change-Id: If00b15b1b44da66d24dacb2895e9a6c0a06d1890
- When the change to finish activities was made in ag/2067154, it exposed
an issue in pinned stacks where we would resume the next top activity
once the top activity finished pausing. Normally, the pinned stack is
not focusable, but since it has an alwaysFocusable menu activity it
becomes the focused stack and falls into this case.
Instead of finding the next top activity, we need to find the next top
focusable activity to resume, and fall through to focusing the top
activity in the next focusable stack if there is none.
Bug: 37199067
Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testNoResumeAfterTaskOverlayFinishes
Change-Id: Ib79826ff38bb3beb38a40183ddc6819e5040bb27
See accompanying frameworks/native commit
"SurfaceFlinger: Add parent-less relative layering" for a full explanation.
Test: Manual of bug repro steps. Plus tests for new SurfaceControl functionality included in frameworks/native.
Bug: 36693738
Change-Id: Ic54598117c1f44a206d33f03d0cc463fbef43fcc
This patch changes how url configuration values for captive portal
detection are read: instead of re-reading the settings at every probe
detection, the settings are read once when the NetworkMonitor associated
to a network is created.
If the settings are updated, the new values are picked up by new
networks, but not by existing networks. Since captive portal detection
is most important when joining WiFi networks, the newest available
settings values will still be used.
This change prepares introducing further changes for rotating probe
urls. Especially it helps making the detection strategy stateful with
respect to the lifecycle of a single NetworkMonitor.
Test: built, flashed, tested manually with various portal networks
Bug: 36532213
Merged-In: I71cc8bb8b996462f27f50798d67bceee5ffb898d
(cherry picked from commit b03272c9b5d1b5c71ae591f0e38b1d139d11f19f)
Change-Id: I33ac2b52fea6099969c3fec9b60ba0131f9d672d