Commit Graph

811 Commits

Author SHA1 Message Date
Markus Fisch
c95c2e4fbd Add missing runtime check for LauncherApps 2026-03-01 21:44:48 +01:00
Markus Fisch
a83498623c Advance version number to 1.25.0 1.25.0 2026-02-28 00:32:37 +01:00
Markus Fisch
98e299cf87 Add an option to swap menus when circling the pie 2026-02-28 00:26:13 +01:00
Markus Fisch
c57ab4c909 Refactor local radius symbol
To avoid clashing with the `radius` field of the class.
2026-02-26 11:47:13 +01:00
Markus Fisch
4c6fcdf80c Only replace menu ArrayList for secondary menu
Instead of the whole `CanvasPieMenu` instance, which can
be the same for the primary and secondary menu.

Should there be a need to have two separate `CanvasPieMenu`
instances, we can always rollback this change.
2026-02-25 22:39:34 +01:00
Markus Fisch
f796248536 Enlarge grabbed icon centrally again
Moving it up makes the icon jump between grabbing and
moving it into the menu.
2026-02-24 23:24:13 +01:00
Markus Fisch
eeb07aa1cd Add an edit pie menu item to the context menu
To just enter the pie menu editor without making any changes.
2026-02-24 23:19:15 +01:00
Markus Fisch
52ee12d652 Remove changing settings icon to pen icon
Because in context menu mode, when split pie is enabled,
there's no obvious way to enter settings anymore.

The pie editor can still be entered by adding an app to
the pie.
2026-02-24 23:03:26 +01:00
Markus Fisch
f4bc6b3889 Add a note about non-responsiveness
To the Troubleshooting section.
2026-02-24 00:27:37 +01:00
Markus Fisch
5ec3331077 Redraw on window focus to fix post-unlock freeze
On some devices, when the screen is unlocked after another app
has controlled the display (e.g. Assistant, Tasker, incoming
call), the home activity resumes normally through the full
onRestart/onStart/onResume lifecycle but WindowManager never
issues a draw command to its Surface. The ViewRootImpl considers
the surface valid and skips the redraw, leaving the UI frozen
while input (and haptic feedback) still works.

Overriding onWindowFocusChanged and forcing an invalidate on the
decor view when focus is gained schedules a re-traversal via
Choreographer, which is sufficient to unfreeze the UI without
reloading AppPieView. The forceRelaunch option is kept as a
fallback for cases where the focus notification itself is missing.

This is a known Android bug affecting all third-party launchers,
tracked at issuetracker.google.com/issues/353538494 and still
open as of early 2025.
2026-02-24 00:21:31 +01:00
Markus Fisch
4cbcb5f5d5 Revert making force relaunch default to true
Merged by mistake with eb61d7.

This option only addresses the symptom and has undesirable
side effects, such as `HomeActivity`, including `AppPieView`,
having to be completely reloaded for every `onResume()`.

I still haven't found out why `HomeActivity` is sometimes,
on some devices, not correctly resumed.
2026-02-23 23:46:45 +01:00
Markus Fisch
0868b3733c Refactor main/alt to primary/secondary menu
Better names.
2026-02-23 23:35:49 +01:00
Markus Fisch
5bd9795dc5 Advance version number to 1.24.2 1.24.2 2026-02-17 21:56:08 +01:00
Markus Fisch
04c8f6a44a Fix filtering when there is no private profile 2026-02-17 21:50:40 +01:00
Markus Fisch
53064874bc Advance version number to 1.24.1 1.24.1 2026-02-17 12:40:30 +01:00
Markus Fisch
c0b154cc93 Use indexIntentsApps when indexProfilesApps fails
Fallback to `PackageManager.queryIntentActivities()` when
`LauncherApps.getActivityList()` throws for some reason,
what apparently can happen on some Android versions.
2026-02-17 12:36:50 +01:00
Markus Fisch
a16a1ed830 Catch exceptions from getActivityList()
Apparently, `LaucherApps.getActivityList()` can throw
exceptions for private profiles on some versions of
Android.
2026-02-17 12:36:50 +01:00
Markus Fisch
a0eb7f5bc5 Check that profile list isn't empty
Instead of checking it for null, which it never is there.
2026-02-17 12:36:50 +01:00
Markus Fisch
eb61d7deaa Fix private space apps not showing
Use `UserManager.getUserProfiles()` instead of
`LauncherApps.getProfiles()` to get the list of user profiles
as the latter one excludes private space in some Android
distributions.
2026-02-17 12:36:18 +01:00
Markus Fisch
4ac44b14bc Use a dedicated class to transfer tap flags 2026-02-15 21:58:12 +01:00
Markus Fisch
ea6d4c59f8 Make fields for lower/upper pie menu final
Because they can be.
2026-02-15 21:43:10 +01:00
Markus Fisch
5c66bc0b7b Simplify checking if app belongs to wanted profile 2026-02-15 21:42:07 +01:00
Markus Fisch
942dfb8b34 Add appendix to storage classes
For clarity.
2026-02-15 21:26:27 +01:00
Markus Fisch
2ad5078f4a Advance version number to 1.24.0 1.24.0 2026-02-15 20:04:29 +01:00
Markus Fisch
038b2c0ab5 Add a four finger option to open app drawer
When two fingers aren't enough of a hurdle.
2026-02-15 20:02:46 +01:00
Markus Fisch
a6b7836bb1 Add opening app drawer with a two finger tap
So people that want to reduce their screen time by making
non-essential apps a bit harder to reach have an option to
do so.

Addresses this PR:
https://github.com/markusfisch/PieLauncher/pull/193
2026-02-15 20:02:46 +01:00
Markus Fisch
eb7691701a Add option for pie in the upper half of the screen
When enabled use a separate pie menu for the upper (or left,
for landscape configurations) half of the screen.
2026-02-15 20:02:46 +01:00
Markus Fisch
6251499b7c Update tools version 2026-02-15 20:02:46 +01:00
Markus Fisch
b8c597b059 Add support for private space
Just type `.` to unlock and access it.

Note that you need to enable private space in your system
settings first.
2026-02-15 20:02:46 +01:00
Markus Fisch
9a74eb9903 Update tools version and gradle wrapper 2026-02-15 20:02:40 +01:00
Markus Fisch
38dc723ad5 Separate pie menu from apps
So we can have other pie menu in the same context.
2026-02-06 18:09:47 +01:00
Markus Fisch
326718c25a Remove ripple effect from pie menu and app listing
Since the pie menu has it's own feedback animation now.
2026-01-10 21:35:13 +01:00
Markus Fisch
b95171bedd Add missing F-Droid changelogs 2025-12-20 20:36:51 +01:00
Markus Fisch
674573a745 Remove line feeds from dutch translation 2025-12-20 20:36:27 +01:00
Markus Fisch
7f09c11d6a Advance version number to 1.23.9 1.23.9 2025-12-20 20:32:31 +01:00
Markus Fisch
47261dbf85 Set the default darken background option to heavy
Probably the better default option.
2025-12-20 20:28:58 +01:00
Markus Fisch
96adcdb013 Keep scroll position at app updates 2025-12-20 19:51:22 +01:00
Markus Fisch
a3a3620c8f Add an option to make the home button configurable 2025-12-18 22:02:06 +01:00
Markus Fisch
32ba19d368 Use hamming matches when list is empty
It's probably better to show bad matches instead of nothing.
2025-12-19 16:35:01 +01:00
Markus Fisch
d201925d77 Make hamming distance threshold length-dependent
To give better results for (too) short queries.
2025-12-19 16:34:53 +01:00
Markus Fisch
9499174c38 Sort hamming matches by distance 2025-12-18 21:35:51 +01:00
Markus Fisch
38ec627bbc Refactor lastIndex to endIndex
Because `lastIndex` sounds too much like the last one
in chronological order.
2025-12-18 20:19:06 +01:00
Markus Fisch
9e11aad1a6 Refactor drawEditablePie to calculateEditablePie
Because there's nothing drawn, just calculated.
2025-12-18 20:17:08 +01:00
Markus Fisch
8b57536710 Register PackageEventReceiver on all SDKs
As a backup to the LauncherApps callback, which can sometimes
fail, apparently.
2025-12-11 21:28:57 +01:00
Markus Fisch
159c1d239d Update tools version 2025-12-11 20:43:10 +01:00
Markus Fisch
d8ea2657ef Revert delaying icon selection
Yes, it prevents premature selection, but also feels harder
to use.

This reverts commit a888815e44.
2025-12-04 23:49:46 +01:00
Markus Fisch
b12f6c0a81 Initialize blurMenu with false
`blurMenu` gets set from `highRefreshRate` anyway, but the
default should be `false`, as having a high refresh rate is
a feature.
2025-12-04 23:34:32 +01:00
Markus Fisch
73c9743472 Remove unnecessary blurIfTrue() function
Unnecessary since it's possible to set different radii.
2025-12-04 23:32:50 +01:00
Markus Fisch
2a639631d8 Fix drawing scrolled list with render node
The render node needs to have the full list size because
the view may already be scrolled.
2025-12-04 23:03:02 +01:00
Markus Fisch
ecfccd38a6 Remove unused import 2025-12-04 22:35:34 +01:00