CallerIdentity object should only wrap around caller-provided and
authenticated (uid, ComponentName, PackageName) tuple. In some
instances the caller does not provide ComponentName or PackageName,
and CallerIdentity should keep track of this instead of trying to
infer the associated ComponentName or PackageName. This is because
there is one-many mapping from uid to package name, so the inference
can be imprecise as well as losing information of what the caller
supplied originally. Instead all the isXX() access control methods
should handle the case that ComponentName or PackageName might
be missing.
Bug: 167960209
Test: atest OrgOwnedProfileOwnerTest
Test: atest MixedDeviceOwnerTest
Test: atest MixedManagedProfileOwnerTest
Test: atest MixedProfileOwnerTest
Test: atest FrameworksServicesTests:DevicePolicyManagerTest
Change-Id: I8d2dfeb2e5137ea06f941855d2e5608998a86912
This fixes an edge case with my Maps navigation notifications where the vertical alignment was obviously wrong.
Bug: 163626038
Test: manual
Change-Id: Id2d336acca20483e578d0070151065988aea9ea8
1. Add a new permission START_FOREGROUND_SERVICES_FROM_BACKGROUND.
2. Add a new bind flag BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND
3. BroadcastOptions.setTemporaryAppWhitelistDuration() is currently
protected with CHANGE_DEVICE_IDLE_TEMP_WHITELIST permission, also open
it for START_ACTIVITIES_FROM_BACKGROUND and
START_FOREGROUND_SERVICES_FROM_BACKGROUND permission.
4. Exempt SYSTEM_ALERT_WINDOW permission.
5. if Context.startForegroundService() or Service.startForeground() is
restricted by BG-FGS-launch restriction, and app's targetSdkVersion is S
and above, throw a IllegalStateException.
Bug: 171305836
Test: atest cts/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java#testFgsBindingFlagFGS
atest cts/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java#testFgsBindingFlagActivity
atest cts/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java#testFgsStartSystemAlertWindow
atest cts/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java#testFgsStartFromBGException
Change-Id: Iff3ed65e174a8406d4d6045cda42bdde6cecf30d
This fixes an awkward edge case where apps omit a title because they depend on the app name to contextualize the text in the notification body.
Bug: 163626038
Test: manual
Change-Id: I452bdfcfd956d195aed575ace3b9f0556bc2d6df
Previously, we never showed a title in the decorations, and
we still don't in the expanded decorations. Rather than
making devleopers deal with the discrepancy, it's easier to
just show the app name for these views. It makes them a
tad less desirable, but we could potentially give developers
a flag to opt into the title in the future.
Bug: 163626038
Bug: 173528244
Bug: 173742646
Test: manual
Change-Id: I8e5fe162c1ccdddcd39ea36f2b28fcc6aefd1f83
We forced all notifications to have an expanded
state, but the Gmail undo notification is totally
broken in that case. This check exempts an obviosuly
bad expanded state from having to exist, fixing
Gmail's undo flow in the process.
Fixes: 173774694
Bug: 163626038
Bug: 173550917
Test: manual
Change-Id: I8973907ceb06ccf06c0a685fc0f2a2d283794fe5
Add a helper method Task#dispatchTaskInfoChangedIfNeeded to avoid
checking for isOrganized() every time we need to dispatch a task info
change.
Bug: 165794880
Test: Window focused state is pushed to WM shell.
Change-Id: I3e1272884f4ca9021c82b0df71ff2f7c5a6fea83
to add how they interact with each other. This seems to be a common
confusion for users. This change adds more context around what the two
flags mean in terms of allowing changes to a PendingIntent and that it
should be fine to use both together.
Bug: 160794467
Test: Green builds
Change-Id: I66f3744ca95252bdfebf8c9711eec7e8bfd059c8
I need to perform a touch while animating in CTS to test ag/13067140,
but current methods all wait for animations to complete, which defeats
the purpose.
Creating new methods that optionally wait for animations to complete.
Test: atest WindowUntrustedTouchTest on child CL
Bug: 172787052
Change-Id: I4832ea2c62531a73098d2817930638ccb5f40765
Bug: 171817112
Test: visual
Expanded hun/shade/ls notif bottom margin looks good
- with and without snooze button
- with and without actions
Change-Id: Ifbd57fcf699c431a51c0713ef54126e72d648614
The system UI visibility has been deprecated. Except disable flags, it
should be converted to the new APIs before being sent to WMS. This CL
renames mSystemUiVisibilitiy to mDisableFLags in WindowState.
Bug: 149813814
Test: atest TaskSnapshotControllerTest TaskSnapshotPersisterLoaderTest
Change-Id: I6730ba664359656ee814c7bc959844d6ed4aaeb9
An existing activity may be relaunched when moving from background
to front if the current configuration is changed and the activity
cannot handle the change.
The relaunch type was reported as a hot start because its process
is alive and the original activity exists. But the relaunch needs to
destroy the original activity and create a new instance, which may
even take longer time than a warm start. So the case should be
separated from hot start.
Also:
- Make WaitResult#launchState is always populated by
ActivityMetricsLogger, so "am start -W" can get consistent
launch type.
- Remove dead code in ActivityRecord#ensureActivityConfiguration
that it already early returns if !attachedToProcess.
Bug: 172528316
Test: atest ActivityMetricsLaunchObserverTests#testLaunchState
Change-Id: I3ef64ce1e23b2f13d42fa2b12bc31c0cdb4652fc
Current tracked changes include bounds, visibility, and
"existence".
bounds and visibility are fairly straightforward, call
collect() before doing operations and it will record the
state. Once the transition is finished, it will compare
that recorded state with the finished state.
"existence" is more complicated. It's the difference
between show/hide vs open/close. Because Task instances
are basically always around, their existence depends on
the circumstances around when/how activities are started.
For that we have to explicitly indicate when a container
is going to change its existence via
collectExistenceChange().
Bug: 169035306
Test: atest TransitionTests
Change-Id: I78d4cda6b726202507b757f93c742d49e51e2d7b
* Fix HUN state's end margins
* Restore previous max height of collapsed state
* Restore previous behavior of hiding the progress
bar if content is greater than ~25dp
* Remove min height which isn't necessary now that
the largeIcon has moved up a line.
* Fix headerless title's padding with the separator.
Bug: 163626038
Test: manual
Change-Id: I1fa1efa76192f081ac801a732812eef7f5bfa536
Connectivity service is going to become a mainline module which
will not able to access hidden APIs. But it needs
BroadcastOptions#setMaxManifestReceiverApiLevel to restrict the
receiving of CONNECTIVITY_ACTION intent. Thus, expose it as a
system API to support the usage.
Bug: 170593746
Test: atest FrameworksNetTests
Test: atest CtsNetApi23TestCases
Test: atest KeyChainTests
Change-Id: Ic45552174c3f9e74141db4495bb99a582000b574
Merged-In: Ic45552174c3f9e74141db4495bb99a582000b574
Connectivity service is going to become a mainline module which
will not able to access hidden APIs. But it needs
BroadcastOptions#setMaxManifestReceiverApiLevel to restrict the
receiving of CONNECTIVITY_ACTION intent. Thus, expose it as a
system API to support the usage.
Bug: 170593746
Test: atest FrameworksNetTests
Test: atest CtsNetApi23TestCases
Test: atest KeyChainTests
Change-Id: Ic45552174c3f9e74141db4495bb99a582000b574