am skip reason: Change-Id Ida940a2e1bb832cf5c3d147297e7ed65fa6921d5 with SHA-1 6af66b01c7 is in history
Change-Id: I8b62651e320ce1dd6a4adf75564e0deb92b0cea2
am skip reason: Change-Id Ida940a2e1bb832cf5c3d147297e7ed65fa6921d5 with SHA-1 6af66b01c7 is in history
Change-Id: I24a2eb5fc85482edad8f49d06f963ea6cdd43102
am skip reason: Change-Id Ida940a2e1bb832cf5c3d147297e7ed65fa6921d5 with SHA-1 ad91de5185 is in history
Change-Id: I6f55d9c052778a1a0c03de7f1f87739fff00d875
am skip reason: Change-Id Ida940a2e1bb832cf5c3d147297e7ed65fa6921d5 with SHA-1 ad91de5185 is in history
Change-Id: If361783d0077d823fdf75fee247de2f0271d1065
- Add call to unregister for remote animations from the system
when the launcher activity is destroyed to prevent a lingering
reference from the system to the old activity. But separately,
to not have to wait for the system to GC before clearing the
binder ref, we also wrap all runner implementations so that
they can be cleaned up after a GC in our process only.
Bug: 139137636
Change-Id: Ib6276cac80b446440ec101fe00eae6ca41fdf32c
There is some unknown to me logic in Launcher that sometimes duplicates
the long-press event . This causes flakes whenTAPL expects one long
press, but the actual sequence is 2 events.
That duplication logic seems to be related to race conditions is is hard
to repro. For now, just removing long-press verification. I'll start
with more deterministic events.
Bug: 147806932
Change-Id: I03841131bf8cae88011824f660f2c7b1906592f4
1. Create feature flag for new backup & restore flow.
2. For each restore session (install reason is restore),
if its creation time is newer than the one we have in
SharedPreference, we update the entry and restores
favorite table from backup.
3. The restore operation is debounced so that when
multiple restore session is created within a small
amount of time, only the last invocation will get
executed.
Bug: 141472083
Change-Id: I7b5b63ec28741ba2b02ccfd13f591c961362ba36
Test:
1. apply on master, build & flash on physical device.
2. factory reset the device.
3. go through SuW, perform restore, exit without
adding work profile.
4. settings -> account -> add work profile account.
5. finish work profile setup, verify work profiles
is restored as well.
StatsLogCompat is not needed because we can autogenerate StatsLog write
calls that are public. This CL switches uses of StatsLogCompat to using
SysUiStatsLog from SystemUI.
Bug: 145952197
Test: m
Test: fastboot flashall
Test: adb shell cmd stats print-logs && adb logcat "*:S statsd:*" and
inspect LAUNCHER_EVENT logging
Change-Id: Ib4f90a79f436cdd7e058fdb7027c09a5a59cc4f9
Getting events is an expensive operation involving reading logcat. We
did this al least twice even if the number of events was already
sufficient. Fixing this.
Change-Id: I5bfb57e3b573c4fc3f0327512327750dbb35af2f
(see go/play-launcher-plan-launcher-implementation)
1. When Launcher launches for the first time, creates a backup
of the workspace before sanitizing db entries.
2. Creates a new path in LauncherProvider that triggers workspace
restore using last stable db entry of the same grid size.
3. When restore from backup created this way, the table will be
sanitized afterward.
Test:
1. apply on master, build & refresh on physical device
2. factory reset, go through SuW and perform restore
3. exit SuW without signing into Work Profile
4. run following commands in console
adb root
adb remount
adb pull
/data/data/com.google.android.apps.nexuslauncher/databases/launcher.db
sqlite3 ./launcher.db
.tables
SELECT * FROM favorites_bakup;
Bug: 141472083
Change-Id: I8032866a97eb333946d4f62352595d180364126b
sanitization.
Bug: 147114476
Change-Id: I34459267cfacb168ec520856e90e5da0b83728f0
Test:
1. follow the verification step in ag/9891836
2. add the following line in Launcher#onResume
LauncherSettings.Settings.call(getContentResolver(),
LauncherSettings.Settings.METHOD_RESTORE_BACKUP_TABLE);
3. build & flash on the device
4. verify sanitizeDb success without error message
As mentioned in go/partitions-in-r, we plan to forbid hidden API in
product partition.
So this app should be moved to /system_ext because it uses hidden API.
It is not permanent, so they can be moved back to /product due to
needs if there isn't hidden usage anymore.
Bug: 137908189
Test: m
Test: check whether device boots successfully
Exempt-From-Owner-Approval: cherry-pick from internal
Change-Id: Ida940a2e1bb832cf5c3d147297e7ed65fa6921d5
Merged-In: Ida940a2e1bb832cf5c3d147297e7ed65fa6921d5
Investigation of TAPL failures, especially flakes is complex, partially
because it’s hard to tell whether it’s Launcher who is wrong or the
system.
We need to introduce a framework that looks at Launcher interaction with
the system and reports when interactions deviate from the expected
course, and who made the first wrong step.
This is first, proof-of-concept CL.
It analyzes long-press events. We had multiple cases when long-presses
didn’t happen or happened unexpectedly.
Launcher registers the events, TAPL retrieves and compares against the
sequence of expected regular expressions. This diagnostic is used when
something fails and at the end of public methods.
Change-Id: I07aa3a027267c03422c99c73ccd8808445c55fe8
When first doing quick switch, RecentsView might be empty but tasks subsequently
load. In that case, we can update our animators to have the correct scale etc.
Test: From home, toggle dark theme or RTL from quick setting tiles,
then quick switch; ensure RecentsView comes in scaled up.
Bug: 126596417
Change-Id: I28d79455431b1da634372d6f31182406aa24cd06
I suspect that when the test starts, launcher package may be
com.google.android.setupwizard
Bug: 145935261
Change-Id: Ibf5e9785cd73762cbf2cdc8569482d77db782897
- Fix the shelf tracking distance since there's no shelf.
- Pullback against a swipe up from an app later
Bug: 143361609
Change-Id: I296fb9bcb20d7d45931006f20512f0dc4a54212b