1) Looking for the specific display when add a toast window.
2) Modify the enqueueToast interface to support the toast with
specific dispaly Id.
2.1 Toast get the specific display id from context.
2.1 Toast use the new interface with display id to communicate with
the Notification manager servcie.
3) Support to add/remove toast window token according to the displayId.
Bug: 80001975
Test: atest WindowManagerSmokeTest ActivityManagerMultiDisplayTests
Test: atest android.widget.cts.ToastTest
Test: manual, use ActivityView & launch a toast testing app in virtual
display
1. Make a toast.
2. Verify the toast if show on the virtual display
Change-Id: I3a95c291af647ed9c6e966b2a90924097df19b6a
- This will be included in bugreports, but only for running processes.
Bug: 111939259
Test: dumpsys dbinfo (when device locked and unlocked)
Change-Id: If743b2c3340eac7e6bc873ac655ac352a46fb7dc
For packages:
android.app.usage
android.app.trust
android.app.timezonedetector
android.app.timezone
android.app.timedetector
android.app.job
android.app.backup
android.app.assist
android.app.admin
android.app
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Change-Id: I618c5dc4462ae990d9df45c3e9ed3f092cc5138c
Allow the notification assistant to block or silence
incoming notifications, or demote notifications after they
are posted
Also temporarily silence everything by default
Plus: bonus refactoring of the cancel notification runnable so I could
write just one of those tests :)
Bug: 111475013
Test: manual, runtest systemui-notification
Change-Id: Ifa04a21919f60d06080cd63e7d7747180b641308
To clarify documentation for use in lock screen.
Test: not applicable
Bug: 110247271
Fixes: 110247271
Change-Id: I256a6f4bc01f0f117cb082b541863d7af3ba95cd
For example, when an app uses one activity to enter username, another for
password.
Bug: 112051762
Test: atest MultiScreenLoginTest # new API
Test: atest CtsAutoFillServiceTestCases # to make sure it doesn't break anything
Test: m -j update-api
Change-Id: Ia95888901ab72f75938efb87103cd76f5ec8ce09
{@docroot} is relative to the root dir, not the host.
Updated the destination and anchor text to reflect the new OTA guide.
Bug: 111521364
Test: make ds-docs and inspect generated HTML
Change-Id: I937f47338e8c18637947944467803c1764938754
- Atomically remove all the visible tasks so that SysUI doesn't need to
remove each task individually.
Bug: 80471073
Test: atest FrameworksServicesTests:RecentTasksTest#testRemoveAllVisibleTasks
Change-Id: I23a6e152e94d5462948ab40adc9d7baf593847e1
This behavior existed since autofill was introduced on O and most likely
won't be fixed on Q, so there's no point on warning. In fact, the warning is
often a red herring for other issues, not to mention a big logcat spammer.
Bug: 35708678
Test: manual verification looking at logcat
Change-Id: I40be4ce25abc5b097ea67e5cb34bb9c4237f0826
(cherry picked from commit 385ee5393d)
This is the first CL of key-value backup refactor.
* Method execute() that executed the state machine states is now empty
and run() is created with the initial version of the linear task. It's
basically composed of begin + loop + end. Although it still has the notion
of state, it's more restricted than before (with private methods returning
the next state). This is intentional to avoid making this CL too heavy to
review and to avoid too much behavioral changes here. In the next CLs I
intend to remove BackupState.
* Introduction of RemoteCall, which encapsulates an outbound call that
leaves the system_server, with time-out and cancellation built-in.
Agent calls are now triggered using this. As a result there is no more
operationComplete() method either.
* Cancellation now is cleaner. We don't need a step lock anymore, only a
(volatile) boolean that is checked in every queue iteration. If asked
to cancel during an ongoing agent call we rely on RemoteCall.cancel()
to return control of the task thread to us. We wait for the cancel
acknowledgement to preserve the contract of no more transport calls.
* PFTBT instantiation moved from the constructor to the run() method,
which makes more sense.
* No need for mFinished, mBackupData == null bookkeeping since time-outs,
cancellation and legitimate agent responses won't step into one another
anymore.
* Ternary (mQueue.isEmpty) ? BackupState.FINAL : BackupState.RUNNING_QUEUE gone
because we check this in the beginning of invokeNextAgent() and now we
don't pay the state-machine tick price associated with the handler.
* PerformBackupTask call sites now call static method start(), that
spins up a new dedicated thread for the task. This new thread is
assigned the same (process) priority as the backup thread
(THREAD_PRIORITY_BACKGROUND).
Work left for future CLs:
* RemoteCall spins up a new thread for kicking off the call, this is for
system agents that are executed inline. Old PBT also executed in the same
thread (backup handler thread), so maintaining this to keep this CL at
a reasonable size.
Test: atest PerformBackupTaskTest
Test: atest RunFrameworksServicesRoboTests
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/backup
Test: atest CtsBackupTestCases
Test: atest CtsBackupHostTestCases
Test: atest GtsBackupTestCases
Test: atest GtsBackupHostTestCases
Test: adb shell bmgr backupnow <kv_packages>
Test: 1. adb shell bmgr backup <p1> <p2>
2. adb shell bmgr run
A) 3. Cancel while sending <p1> data to transport
4. Verify <p1> is backed-up and not pending
Verify <p2> is not backed-up and is pending
B) 3. Cancel while waiting for <p1> agent
4. Verify <p1> is not backed-up and is pending
Verify <p2> is not backed-up and is pending
Change-Id: Ia456c4e807de95d662c9e923245be07e8996f58a
In P we introduced a private concept of AOD wallpapers, in Q
we're making it a public surface.
Bug: 111395593
Test: make
Change-Id: I4c406386f0ee15dc8734a24b040482b6cb807126
Also:
- Post handling of scheduling GC from WM to AM side.
- Removed access on package manager through mAm reference.
Bug: 80414790
Test: Existing tests pass
Change-Id: Ia76c57411fc332ea099adb6ef7975e012b4d744c
- For each task info returned for the visible task list, also dump some
vars to make it easier to debug
Bug: 111272828
Test: adb shell dumpsys activity recents
Change-Id: Ie754cebd00ba07917054b9e5e3a69e0f72a072aa
This includes changes to:
1) Allow app crash at most twice during resizing w/o interrupting
resizing process -- this is also necessary to support relaunching pre-N
app when user force maximizing/restoring pre-N apps.
2) Add crash tag to indicate that a crash happens during resizing.
This is one of starter tasks to improve large display UX, and a
spiritual cherry pick of a6364ef4af9e7e78934859f0ae2ea48e678a09c2 and
19bda6841f321ba780577265c90b0d4b7a066b1f.
Bug: 111840655
Test: go/wm-smoke
Change-Id: Ief9e1ee9cefbfd5cfd5047158f2bb1a12b19ed6f
Add more detailed conditional logs to transaction executor on the
client side for easier debugging. This will print out transaction
callbacks and final state requests, as well as target activity
names.
Test: Manual
Change-Id: I14ab1a34985975bfd8c1f90b9c5945e354f79446
This splits the
- review permissions
- individually control permissions
- consent to manage wireleess (wifi + bluetooth)
properties.
Almost all code cares only for the first and it is now always true.
Hence a lot of code can be simplified.
Bug: 110431654
Test: atest PermissionsHostTest
started pre-M app
Change-Id: I733cd476ccd0bf5eaa59e9a9506db34f57c6baee
Allows for other services like window manager to call uri grants without
holding AM service lock.
Bug: 80414790
Test: Existing tests pass.
Change-Id: Ie5b4ddb19a2cedff09332dbeb56bcd9292fd18ac
When updating media actions to not have actions,
they weren't properly removed.
Change-Id: Ie946679d27c8b9bfee4005bdd9429f7afd9febf7
Fixes: 111681308
Test: install attached app and update from 5 to 0 actions
Right now this test is focused in the parcelization of a big object, due to an
upcoming refactoring on the Autofill parcelization that does not use
ensureData() to load the structure (which in turn requires calls from
system server to the app).
Bug: 35708678
Test: atest app.assist.AssistStructureTest
Change-Id: I9e1c52b19cd1d82869fa8f48113cc7dd7b00a38c
- Remove overlapping logic for building both recent/running task infos
- Deprecate unused members of recent/running task infos
- Skip creating unnecessary recent task info when creating AppTaskImpl
Bug: 111078814
Test: Build and open Overview (ensure it still works)
Test: atest CtsAppTestCases:ActivityManagerRecentTaskInfoTest
Test: atest CtsAppTestCases:ActivityManagerRunningTaskInfoTest
Change-Id: Iaf1731002196bb89319de141a05ab92a7dcb2928
When the caller attempts to generate a key via DevicePolicyManager
(using DevicePolicyManager.generateKeyPair), and specifies that
StrongBox should be used, throw the right exception indicating
StrongBox unavailability - the same one that is thrown if the same
parameters were passed to the KeyStore's key generation method.
This is achieved by catching the StrongBoxUnavailableException in
KeyChain, returning an error code indicating this particular failure
to the DevicePolicyManagerService, which then propagates it by
throwing a service-specific exception with a value indicating
StrongBox unavailability.
The DevicePolicyManager then raises StrongBoxUnavailableException.
Prior to this change the exception propagated from KeyChain would be
a generic failure so the caller would simply get a null result.
Bug: 110882855
Bug: 111183576
Bug: 111322478
Test: atest CtsDevicePolicyManagerTestCases:com.android.cts.devicepolicy.MixedDeviceOwnerTest#testKeyManagement
Change-Id: I9abe3f449b48eb5a960fafbc15c59b9b4ce7a966
This CL enables always on top to be restored/deferred when
stacks switch between freeform and fullscreen.
Bug: 110494387
Test: ActivityStackTests
Test: DisplayContentTests
Test: go/wm-smoke
Change-Id: Iccb9824f845dea4925fac5d5dcb5eeaab2acdfcd
Add 2 additional attirubte |isFocused| and |lastActivityTime| in
ActivityManager.RunningAppProcessInfo and pass them to Chrome via IPC
so Chrome can better prioritize ARC processes.
Bug: 29576205
Test: Ensure new process information is passed to Chrome.
Keeping the code in memory of the currently set home app is
important for latency as we don't have any kind of starting
window/splash screen when pressing the home app to hide any latency.
Memory impact:
Pinning dex/vdex:
In practical scenarios, this should be < 500kb.
The home app is usually profile-speed compiled, for which the
resulting dex/vdex files are about 2 mb. However, during regular
use, at least 1.5 MB of it is referenced in memory. This makes
sense: By definition profile-speed only compiles the things that
is usually frequently executed during regular execution.
Pinning apk:
With Launcher 3 in practical scenarios this should be about 3.7 MB,
as the APK is about 5.7 MB but 2 MB are usually referenced in any
case.
Bug: 111132016
Bug: 78585335
Test: Inspect "adb shell dumpsys pinner" after boot.
Test: Check for pinned files after updating camera/home.
Test: Check for pinned files after user switch with different
default apps.
Test: Check for pinned files after bg-dexopt.
Test: Check for pinned files after bg-dexopt + kill pid.
Change-Id: I6cdbc06d089efeb1c72a51216879ba0573502009
The API of creating a stack on certain display was intended
to create a container that can launch activities within.
Since activities now can be launched to any display by
specifying display id. This is no longer necessary.
Bug: 111363427
Test: atest ActivityManagerPinnedStackTests#testEnterPipWithResumeWhilePausingActivityNoStop
Change-Id: I89635d4e744672b79f5a60a8019f2ff93413e1df