I will use the newly created LauncherAppWidgetProviderInfoTest in a follow-up CL to add tests for the newly added widget sizing APIs.
Test: Automatic: Ran all robolectric tests in launcher3,
Manual: Added a widget, edited the widget, removed the widget
Bug: 179807199
Change-Id: I540b2dbe284c6eb5aa2466a1d13a9581ee59425b
- Remove smallestScreenSize so Launcher activity restarts when screen size changes to pick up new smallestSize dependent values e.g. R.bool.allow_rotation
Bug: 180803696
Test: Ensure rotation preference is respected when switching between large and small screen
Change-Id: I58f856a97effa8e35236d013300181c5d332b25a
mLiveTileRestartListener is originally used to render the animation to launch the app that's the live tile app (for example, settings is the live tile app and we can launch settings from notification shade).
However, we don't want this callback to be triggered when the recents animation is finished / live tile is ended because the default animation in that case won't be skipped.
The other scenario that we don't want the animation to be rendered here is when the restarted app is not the live tile app. This can be repro'ed in this scenario - launch any app and go to live tile; launch settings; swipe up from settings; launch the previous live tile app. In this case, we rely on the mLaunchOtherTaskHandler take care of the rendering of this animation.
Fixes: 181372992
Test: manual
Change-Id: I41b63ce5163f1ac136bf8b5909907a3f84d937d8
Launcher tries to set the window transform on the recents animation
leash when it's settled on end target, which might conflict with
SwipePipToHomeAnimator and causes flash/flick at the end of the
transition. Simply skip the window transform since
SwipePipToHomeAnimator is the one solely responsible for updating the
leash in this case.
Bug: 179720719
Test: repeatedly enter PiP from ApiDemos with autoEnterPip enabled
Change-Id: Ia98675c21e3bd898cd11cf6ed97f6eaadcb11a42
This allows delegates to include additional data in log dumps.
Bug: 181351828
Test: Checked that data was found in a bug report and
adb shell dumpsys activity com.google.android.apps.nexuslauncher
Change-Id: I7a63430202ff899ac885a544c558e1248d2ce829
LAUNCHER_ALLAPPS_SWITCHED_TO_MAIN_TAB is logged when transistioning from AllApps search results view to all apps view.
Bug: 178562918
Test: Manual
Change-Id: Ie02e23ae9eaabad719ad2a1fc8f08a9e4c36936f
1. Show widget previews in their expected cell sizes.
2. Update the bottom picker to use a table layout rather than
a horizontal scrollbar.
3. Move the title and cell size description to the bottom of
the preview.
Test: Run AddConfigWidgetTest
Manually open full and bottom widgets picker and observe
widget previews.
Video: https://drive.google.com/file/d/1K8A8hK5B4FgPTsX3cb-Yt4a_VjI0pk-w/view?usp=sharing
Bug: 179797520
Change-Id: I938612cb2e2477ce4a3a2d6c8891a0a36fc0978c
Test: Turn system dev option off, check pref is gone in home settings
Turn system dev option on, check pref is visible in home settings
Change-Id: I71d90aa5840571e908228552e498ab3a82a3352d
A header container view will contain
1. A horizontal bar: for indicating the popup view can be dragged
to dismiss:
2. A title view: a title of the widgets full sheet popup view.
3. A search bar: for widgets / shortcut search. Since we will be
making the fallback search algorithm available in AOSP, the
search bar will now live in the Launcher3 codebase.
4. Recommended widgets (coming soon...)
This CL also added a scroll effect which gradually collapses the
title view when the user scrolls down the recycler view. The title
view will gradually restore its height when the user scroll to the
top of the recycler view.
Test: Manually test widgets pickers in work profile and non work
profile setup. Verified the fast scroll bar works well in
both setup.
With searchbar: https://drive.google.com/file/d/19grUHL_LspLhMD_5p6-i0CiMW1FpflmD/view?usp=sharing
Without searchbar: https://drive.google.com/file/d/1KRPgEAESHUhJDo1UJsQN80JO1c9Y8Nhl/view?usp=sharing
Bug: 179797520
Change-Id: If0016e3b3c693414897140e7912531ed9bd5deef
This will help us avoid leaks, etc.
Also changes ENABLE_SMARTSPACE_ENHANCED back to a DeviceFlag
Bug: 181194850
Bug: 181077020
Test: atest NexusLauncherOutOfProcTests:com.android.launcher3.memory.MemoryTests -- --abi armeabi-v7a
Change-Id: I6f54af3e6b6302a073b8b7d448ff72b05a803d8f
Presumably, we currently have flakes when immediately
after orientation change, we check for the presence of certain
views, and they are still not present.
Test: presubmit
Bug: 181057446
Change-Id: I6dbcb757a47c19728d4096283da6710f6dd5aa02
Adjusts layouts to accommodate more rounded dialogs, includes adding a
new rounded triangle drawable that can be clipped by a rounded rect.
Bug: 179922117
Test: checked all instances and RTL
Change-Id: I4c2f0ead0fd56eba14ffd9b82f0c100f7d92ef5b
* Added isScalable, minCellWidth, minCellHeight, and borderSpacing attrs
When isScalable is true, we use set workspace cell values to
minCellWidth/minCellHeight and then scale the cell values to
fit the available space. This allows us to have consistent
aspect ratios when two devices match the display/grid options.
This is different from the dynamic grid, which calculates
cell values based on iconSize/textSize/etc and then allows
the cell width to be as wide as space allows.
I adjusted some variables so that they will auto adjust
based on another value, indepenent from whether the
grid isScalable or not. An example of this is the folder
label text, where it's always set to be 1.14x of whatever
the workspace icon text size is. This is so we don't need
to add a bunch of more variables to DisplayOption/GridOption.
Bug: 175329686
Test: - switching between device profiles,
- testing folder open/close
- testing in multiwindow
- testing in landscape
Change-Id: Ia469ae0d65b518469ef264b726db46f4a3210056
TODO: open up the RemoteViews(ApplicationInfo) API so that Launcher
can inflate a layout from a work profile app.
Test: Before this CL, install tasks app in work profile. Observed
crash when tapping Tasks header in the widgets picker.
After this CL, no crash observed when tapping Tasks header in
the widgets picker.
Bug: 181061277
Change-Id: I16c2b9aec5f4cabf15da35fea09f68c10797f5fa
Makes sure the launcher:
1 - Send the list of actual sizes the widget in all situations.
2 - Gives the current size to the framework on inflation.
Also needed to guard the new border changes introduced in
http://ag/13532637 with the corresponding flag.
Change-Id: I2a33e9501b921f2fc393684e8ce91ee077626bf7
Test: By hand using a local widget.
Bug: 179025145