Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: markusfisch/PieLauncher
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.14.1
Choose a base ref
...
head repository: markusfisch/PieLauncher
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 5,944 additions and 1,275 deletions.
  1. +0 −1 .gitignore
  2. +159 −0 CHANGELOG.md
  3. +20 −0 CONTRIBUTING.md
  4. +30 −12 README.md
  5. +5 −5 app/build.gradle
  6. +8 −1 app/src/main/AndroidManifest.xml
  7. +181 −0 app/src/main/java/de/markusfisch/android/pielauncher/activity/HiddenAppsActivity.java
  8. +202 −34 app/src/main/java/de/markusfisch/android/pielauncher/activity/HomeActivity.java
  9. +295 −0 app/src/main/java/de/markusfisch/android/pielauncher/activity/PickIconActivity.java
  10. +576 −0 app/src/main/java/de/markusfisch/android/pielauncher/activity/PreferencesActivity.java
  11. +0 −220 app/src/main/java/de/markusfisch/android/pielauncher/activity/SettingsActivity.java
  12. +65 −0 app/src/main/java/de/markusfisch/android/pielauncher/adapter/HiddenAppsAdapter.java
  13. +54 −0 app/src/main/java/de/markusfisch/android/pielauncher/adapter/PickIconAdapter.java
  14. +35 −13 app/src/main/java/de/markusfisch/android/pielauncher/app/PieLauncherApp.java
  15. +340 −257 app/src/main/java/de/markusfisch/android/pielauncher/content/AppMenu.java
  16. +1 −0 app/src/main/java/de/markusfisch/android/pielauncher/content/LauncherItemKey.java
  17. +29 −0 app/src/main/java/de/markusfisch/android/pielauncher/graphics/BackgroundBlur.java
  18. +6 −6 app/src/main/java/de/markusfisch/android/pielauncher/graphics/CanvasPieMenu.java
  19. +34 −3 app/src/main/java/de/markusfisch/android/pielauncher/graphics/Converter.java
  20. +260 −0 app/src/main/java/de/markusfisch/android/pielauncher/graphics/IconPack.java
  21. +42 −30 app/src/main/java/de/markusfisch/android/pielauncher/graphics/PieMenu.java
  22. +77 −10 app/src/main/java/de/markusfisch/android/pielauncher/graphics/Ripple.java
  23. +30 −0 app/src/main/java/de/markusfisch/android/pielauncher/graphics/ToolbarBackground.java
  24. +88 −0 app/src/main/java/de/markusfisch/android/pielauncher/io/HiddenApps.java
  25. +108 −0 app/src/main/java/de/markusfisch/android/pielauncher/io/IconMappings.java
  26. +62 −0 app/src/main/java/de/markusfisch/android/pielauncher/io/Menu.java
  27. +21 −32 app/src/main/java/de/markusfisch/android/pielauncher/os/DefaultLauncher.java
  28. +317 −11 app/src/main/java/de/markusfisch/android/pielauncher/preference/Preferences.java
  29. +47 −0 app/src/main/java/de/markusfisch/android/pielauncher/preference/SystemSettings.java
  30. +50 −0 app/src/main/java/de/markusfisch/android/pielauncher/receiver/ConfigurationChangedReceiver.java
  31. +0 −20 app/src/main/java/de/markusfisch/android/pielauncher/receiver/LocaleEventReceiver.java
  32. +1 −1 app/src/main/java/de/markusfisch/android/pielauncher/receiver/ManagedProfileEventReceiver.java
  33. +3 −2 app/src/main/java/de/markusfisch/android/pielauncher/receiver/PackageEventReceiver.java
  34. +10 −2 app/src/main/java/de/markusfisch/android/pielauncher/view/SoftKeyboard.java
  35. +121 −25 app/src/main/java/de/markusfisch/android/pielauncher/view/SystemBars.java
  36. +44 −0 app/src/main/java/de/markusfisch/android/pielauncher/widget/ActionButton.java
  37. +1,104 −322 app/src/main/java/de/markusfisch/android/pielauncher/widget/AppPieView.java
  38. +18 −0 app/src/main/java/de/markusfisch/android/pielauncher/widget/Dialog.java
  39. +16 −0 app/src/main/java/de/markusfisch/android/pielauncher/widget/OptionsDialog.java
  40. +12 −16 app/src/main/java/de/markusfisch/android/pielauncher/widget/PreferenceView.java
  41. +60 −0 app/src/main/java/de/markusfisch/android/pielauncher/widget/ScrollWithListenerView.java
  42. +8 −0 app/src/main/res/drawable/bottom_border.xml
  43. +2 −2 app/src/main/res/drawable/ic_add.xml
  44. +2 −3 app/src/main/res/drawable/ic_details.xml
  45. +2 −2 app/src/main/res/drawable/ic_done.xml
  46. +3 −0 app/src/main/res/drawable/ic_drawer.xml
  47. +3 −0 app/src/main/res/drawable/ic_edit.xml
  48. +3 −0 app/src/main/res/drawable/ic_hide.xml
  49. +3 −0 app/src/main/res/drawable/ic_icon_scale_large.xml
  50. +3 −0 app/src/main/res/drawable/ic_icon_scale_small.xml
  51. +3 −0 app/src/main/res/drawable/ic_more.xml
  52. +2 −2 app/src/main/res/drawable/ic_preferences.xml
  53. +3 −0 app/src/main/res/drawable/ic_radius_large.xml
  54. +3 −0 app/src/main/res/drawable/ic_radius_medium.xml
  55. +3 −0 app/src/main/res/drawable/ic_radius_small.xml
  56. +2 −3 app/src/main/res/drawable/ic_remove.xml
  57. +3 −0 app/src/main/res/drawable/ic_restore.xml
  58. +3 −0 app/src/main/res/drawable/ic_search.xml
  59. +3 −0 app/src/main/res/drawable/ic_twist_0.xml
  60. +3 −0 app/src/main/res/drawable/ic_twist_180.xml
  61. +3 −0 app/src/main/res/drawable/ic_twist_270.xml
  62. +3 −0 app/src/main/res/drawable/ic_twist_90.xml
  63. +43 −0 app/src/main/res/layout/activity_hidden_apps.xml
  64. +14 −1 app/src/main/res/layout/activity_home.xml
  65. +84 −0 app/src/main/res/layout/activity_pick_icon.xml
  66. +143 −0 app/src/main/res/layout/activity_preferences.xml
  67. +0 −54 app/src/main/res/layout/activity_settings.xml
  68. +26 −0 app/src/main/res/layout/item_hidden_app.xml
  69. +6 −0 app/src/main/res/layout/item_icon.xml
  70. +5 −0 app/src/main/res/menu/home.xml
  71. +101 −0 app/src/main/res/values-de/strings.xml
  72. +95 −12 app/src/main/res/values-fr/strings.xml
  73. +101 −0 app/src/main/res/values-nl/strings.xml
  74. +101 −0 app/src/main/res/values-ru/strings.xml
  75. +101 −0 app/src/main/res/values-sv/strings.xml
  76. +101 −0 app/src/main/res/values-uk/strings.xml
  77. +1 −0 app/src/main/res/values-v13/styles.xml
  78. +1 −0 app/src/main/res/values-v21/styles.xml
  79. +11 −0 app/src/main/res/values-v31/styles.xml
  80. +95 −12 app/src/main/res/values-zh-rCN/strings.xml
  81. +4 −0 app/src/main/res/values/colors.xml
  82. +3 −0 app/src/main/res/values/dimens.xml
  83. +0 −10 app/src/main/res/values/settings.xml
  84. +95 −12 app/src/main/res/values/strings.xml
  85. +15 −3 app/src/main/res/values/styles.xml
  86. +7 −5 build.gradle
  87. +4 −0 fastlane/metadata/android/en-US/changelogs/23.txt
  88. +2 −0 fastlane/metadata/android/en-US/changelogs/24.txt
  89. +8 −0 fastlane/metadata/android/en-US/changelogs/25.txt
  90. +2 −0 fastlane/metadata/android/en-US/changelogs/26.txt
  91. +6 −0 fastlane/metadata/android/en-US/changelogs/27.txt
  92. +2 −0 fastlane/metadata/android/en-US/changelogs/28.txt
  93. +4 −0 fastlane/metadata/android/en-US/changelogs/29.txt
  94. +3 −0 fastlane/metadata/android/en-US/changelogs/30.txt
  95. +2 −0 fastlane/metadata/android/en-US/changelogs/32.txt
  96. +3 −0 fastlane/metadata/android/en-US/changelogs/33.txt
  97. +3 −0 fastlane/metadata/android/en-US/changelogs/34.txt
  98. +9 −0 fastlane/metadata/android/en-US/changelogs/35.txt
  99. +4 −0 fastlane/metadata/android/en-US/changelogs/36.txt
  100. +3 −0 fastlane/metadata/android/en-US/changelogs/37.txt
  101. +4 −0 fastlane/metadata/android/en-US/changelogs/38.txt
  102. +5 −0 fastlane/metadata/android/en-US/changelogs/39.txt
  103. +2 −0 fastlane/metadata/android/en-US/changelogs/40.txt
  104. +6 −0 fastlane/metadata/android/en-US/changelogs/41.txt
  105. +2 −0 fastlane/metadata/android/en-US/changelogs/42.txt
  106. +5 −0 fastlane/metadata/android/en-US/changelogs/43.txt
  107. +5 −0 fastlane/metadata/android/en-US/changelogs/44.txt
  108. +3 −0 fastlane/metadata/android/en-US/changelogs/45.txt
  109. +5 −0 fastlane/metadata/android/en-US/changelogs/46.txt
  110. +3 −0 fastlane/metadata/android/en-US/changelogs/47.txt
  111. +7 −0 fastlane/metadata/android/en-US/changelogs/48.txt
  112. +3 −0 fastlane/metadata/android/en-US/changelogs/49.txt
  113. +5 −0 fastlane/metadata/android/en-US/changelogs/50.txt
  114. +10 −0 fastlane/metadata/android/en-US/changelogs/51.txt
  115. +5 −0 fastlane/metadata/android/en-US/changelogs/52.txt
  116. +3 −0 fastlane/metadata/android/en-US/changelogs/53.txt
  117. +10 −0 fastlane/metadata/android/ru/full_description.txt
  118. +1 −0 fastlane/metadata/android/ru/short_description.txt
  119. +1 −0 fastlane/metadata/android/ru/title.txt
  120. +10 −0 fastlane/metadata/android/uk/full_description.txt
  121. +1 −0 fastlane/metadata/android/uk/short_description.txt
  122. +1 −0 fastlane/metadata/android/uk/title.txt
  123. +2 −0 gradle.properties
  124. +1 −1 gradle/wrapper/gradle-wrapper.properties
  125. +0 −58 svg/ic_add.svg
  126. +0 −58 svg/ic_done.svg
  127. +4 −0 svg/ic_drawer.svg
  128. +5 −0 svg/ic_icon_scale_large.svg
  129. +5 −0 svg/ic_icon_scale_small.svg
  130. +0 −5 svg/ic_info.svg
  131. +0 −4 svg/ic_preferences.svg
  132. +4 −0 svg/ic_radius_large.svg
  133. +4 −0 svg/ic_radius_medium.svg
  134. +4 −0 svg/ic_radius_small.svg
  135. +0 −5 svg/ic_remove.svg
  136. +4 −0 svg/ic_twist_0.svg
  137. +4 −0 svg/ic_twist_180.svg
  138. +4 −0 svg/ic_twist_270.svg
  139. +4 −0 svg/ic_twist_90.svg
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -5,6 +5,5 @@
.DS_Store
build
local.properties
gradle.properties
infer-out
.aside
159 changes: 159 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,164 @@
# Change Log

## 1.23.2
* Update app drawer after excluding/including pie icons
* Update Dutch translation

## 1.23.1
* Add a menu to start or uninstall hidden apps
* Add an option to exclude pie icons from app drawer
* Revert restarting home screen by default
* Optimize vector drawables

## 1.23.0
* Improve dragging down app drawer
* Add pie appearance/disapearance animation
* Add an option to ignore side touches
* Add an option to disable haptic feedback for launch
* Save icon mappings for each selected icon pack
* Support multi-window mode
* Improve haptic feedback
* Allow starting hidden apps
* Make restarting home screen the default setting

## 1.22.0
* Add options to hide status and/or navigation bar
* Add an option to disable haptic feedback
* Update Dutch translation
* Update Russian translation

## 1.21.1
* Add an option to prevent home screen reuse
* Fix immersive mode on devices with a notch

## 1.21.0
* Add long press/double tap options to open app list
* Add an option to enable immersive mode
* Add an option to invert dialog colors
* Improve animations
* Make empty taps close the app drawer
* Update Ukrainian translation

## 1.20.1
* Improve usability in gesture navigation mode
* Update dutch translation

## 1.20.0
* Add an option to always open the app drawer when no app was lauched
* Update icon colors from Material You color changes
* Update Ukrainian translation
* Fix display error after an icon has been changed

## 1.19.4
* Improve handling interactions during animations
* Add Dutch translation

## 1.19.3
* Improve keyboard configuration
* Improve dismissing app drawer
* Update swedish translation
* Fix dragging icons in pie editor

## 1.19.2
* Add an option to open the app list with its own icon in the pie menu
* Improve fade animations
* Animate pulling down the app list to close it
* By default, app names are only displayed when searching

## 1.19.1
* Fix app search

## 1.19.0
* Make pie menu orientation adjustable
* Add a preference to search by package name
* Make app listing slide in
* Turn pie menu with a second finger
* Add swedish translation

## 1.18.5
* Add a preference to show/hide app names

## 1.18.4
* Add a button to remove all icon mappings
* Follow system settings for animations
* Update Ukrainian translation
* Update Russian translation

## 1.18.3
* Fix icon mappings
* Update Chinese translation
* Update Russian translation

## 1.18.2
* Improve preference labels
* Add a preference to blur the background (if supported)

## 1.18.1
* Add an option to lock the menu
* Add drop target to hide an app
* Fix auto-launching perfect matches
* Update Russian translation

## 1.18.0
* Support for Icon Packs
* Hide apps from the launcher
* Add a preference to control long press time
* Improve touch feedback
* Fix handling large icons
* Fix make default launcher button
* Make ".." open the preferences and ",," the pie editor
* Add Russian translation

## 1.17.5
* Improve tap detection
* Improve preferences screen

## 1.17.4
* Use space to move keyboard selection
* Delay touch feedback in app drawer

## 1.17.3
* Improve touch feedback in app drawer

## 1.17.1
* Improve animations
* Fix back navigation

## 1.17.0
* Animate drop zones in pie editor
* Improve touch detection
* Add Ukrainian translation

## 1.16.1
* Fix restoring display keyboard preference

## 1.16.0
* Add a settings button next to the search input
* Add auto-rotation to orientation options
* Add options menu for phones with hardware menu button
* Improve pie editor layout on small screens
* Improve order of settings

## 1.15.1
* Add an option to ignore touches at the top/bottom

## 1.15.0
* Make search strictness configurable
* Optionally auto launch perfect matches
* Optionally darken background in pie mode
* Launch first app by double-pressing space
* Show tips when dragging an icon on a drop target
* Add German translation
* Update Chinese translation

## 1.14.3
* Improve app indexing

## 1.14.2
* Perform haptic feedback when pie choice changes
* Improve welcome screen
* Fix initialization after boot

## 1.14.1
* Improve settings
* Fix search action for some keyboards
20 changes: 20 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Contribution Guidelines

Please try to keep things in good shape and comply to what's there.

This project follows Android [best practices][android_best_practices]
so please have a look if you've never heard of them.

The code is formatted according to Android Studio's standard, with the
exception of indent being tabs instead of spaces.

Use the feature branch workflow to add new features and make sure
to squash when merging into master:

$ git merge cool_feature --squash

Then write a [good commit message][commit_messages] to keep the history
meaningful and useful. One feature, one commit.

[android_best_practices]: https://developer.android.com/distribute/best-practices/develop/
[commit_messages]: https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#_commit_guidelines
42 changes: 30 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -5,11 +5,29 @@ Android home screen launcher that uses a dynamic
instead of tables of icons.

Once you get used to it, you can launch your most frequently used apps
using muscle memory without even looking at the screen.
using [muscle memory](https://en.wikipedia.org/wiki/Muscle_memory) without
even looking at the screen.

Apps you don't use regularly are quickly available with just one tap and
by typing the first one or two letters of the app name.

If you find this app useful and wish to support its continued development,
you can [buy me a coffee](https://www.buymeacoffee.com/markusfisch) or
send some Bitcoin decimals to `bc1q2guk2rpll587aymrfadkdtpq32448x5khk5j8z`.

<a href="https://www.buymeacoffee.com/markusfisch" target="_blank"><img
src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png"
alt="Buy Me A Coffee"
style="height: 60px !important;width: 217px !important;"/></a>&nbsp;<a
href="https://liberapay.com/markusfisch/" target="_blank"><img
src="https://liberapay.com/assets/widgets/donate.svg"
alt="Liberapay"
style="height: 60px !important"/></a>&nbsp;<a
href="https://ko-fi.com/markusfisch" target="_blank"><img
src="https://storage.ko-fi.com/cdn/brandasset/kofi_s_tag_dark.png"
alt="Ko-fi"
style="height: 60px !important"/></a>

## Video

[![Demo Video](http://img.youtube.com/vi/zg0h3s_yua8/0.jpg)](http://www.youtube.com/watch?v=zg0h3s_yua8)
@@ -21,7 +39,7 @@ by typing the first one or two letters of the app name.
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/screencap-search.png"
alt="Screenshot Search" width="160"/>

## Download
## Get it

<a href="https://f-droid.org/de/packages/de.markusfisch.android.pielauncher/"><img
src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
@@ -40,10 +58,10 @@ Tap and hold to open the pie menu. Then swipe to choose an app to start.

### How to open the app list

Just tap to open the list. Then type the name of an app you want to start.
Usually one or two letters are enough even if you mistyped a letter.
If the app in the top left is the one you want, you can also hit the
Search key on your keyboard to start it.
Tap once to open the list. Then type the name of an app you want to start.
Usually, one or two letters are enough, even if you mistyped a letter.
If the app in the top left is the one you want, you can hit the Search
key on your keyboard to start it.

![How to open the app list](svg/guide_open_list.svg)

@@ -56,7 +74,7 @@ Swipe down to close the app list.
### How to edit the pie menu

Long press an app in the listing of apps to enter the editor for the pie menu.
Use 4, 6 or 8 icons in the pie menu to make the most out of it.
Use 4, 6, or 8 icons in the pie menu to make the most out of it.

![How to edit the pie menu](svg/guide_edit_pie.svg)

@@ -69,9 +87,9 @@ All 3rd party launchers suffer from this bug. See:

* [Homescreen interaction delay with gesture navigation?](https://www.reddit.com/r/GooglePixel/comments/dp5x1i/homescreen_interaction_delay_with_gesture/)
* [What is up with home gesture animations with 3rd party launchers.](https://www.reddit.com/r/GooglePixel/comments/ecvbiv/what_is_up_with_home_gesture_animations_with_3rd/)
* [Nove Launcher Tweet](https://twitter.com/Nova_Launcher/status/1169295641538940930)
* [Nova Launcher Tweet](https://twitter.com/Nova_Launcher/status/1169295641538940930)

A possible workaround is to use the back gesture instead of the home
A possible workaround is to **use the back gesture** instead of the home
gesture wherever possible (this may not be desirable in a browser app,
as it also closes the open tab).

@@ -80,16 +98,16 @@ The back gesture works immediately and without any delay.
### The soft keyboard takes too long to appear

This is an issue of your keyboard app that may do too much work.
Unfortunately, GBoard is not the best choice on all devices.
Unfortunately, GBoard is not the best choice for all devices.

I recommend using a lighter alternative like
[OpenBoard](https://f-droid.org/de/packages/org.dslul.openboard.inputmethod.latin/)
which is fast even on low end devices.
which is fast even on low-end devices.

### Home returns to the default launcher

Please set Pie Launcher as your default home screen launcher.

You can either do this manually from your phones Settings → Apps → Default
You can either do this manually from your phone's Settings → Apps → Default
apps. Or from the settings within Pie Launcher (enter the editor and tap on
the settings icon) where there should be an item "Make default launcher".
10 changes: 5 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -2,14 +2,14 @@ apply plugin: 'com.android.application'

android {
namespace 'de.markusfisch.android.pielauncher'
compileSdkVersion sdk_version
compileSdk sdk_version

defaultConfig {
minSdkVersion 9
targetSdkVersion sdk_version
minSdk 9
targetSdk sdk_version

versionCode 22
versionName '1.14.1'
versionCode 54
versionName '1.23.2'
}

signingConfigs {
9 changes: 8 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -16,6 +16,7 @@
android:name=".app.PieLauncherApp"
android:allowBackup="true"
android:supportsRtl="true"
android:resizeableActivity="true"
android:theme="@style/HomeTheme"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher">
@@ -46,7 +47,13 @@
android:resource="@drawable/ic_launcher"/>
</activity>
<activity
android:name=".activity.SettingsActivity"
android:name=".activity.PreferencesActivity"
android:exported="true"/>
<activity
android:name=".activity.PickIconActivity"
android:exported="true"/>
<activity
android:name=".activity.HiddenAppsActivity"
android:exported="true"/>
</application>
</manifest>
Loading