Some checks failed
Trigger F-Droid repository rebuild / trigger (release) Has been cancelled
Typing on a physical keyboard while the home screen is shown now opens the search page and inserts the typed character, so the launcher can be used without touching the screen. It works for any printable key, appends the characters in order even when the user types faster than the launcher can recompose, and the search bar can still be tapped to edit the query with the on-screen keyboard as usual. While the search is driven by the keyboard, the search bar's text field is left unfocused on purpose: a focused text field would make the system show the on-screen keyboard, which is not wanted when there is a physical keyboard. The handler therefore inserts and deletes characters itself, including backspace and enter (to launch the best match). The behaviour is controlled by a new "Search on typing" preference in Settings -> Search, which is enabled by default. Implementation notes: - The key events are intercepted in SharedLauncherActivity.dispatchKeyEvent, which is the only place that sees hardware key events while no view has focus. The scaffold installs the handler while it is shown. - Key events are not forwarded to the search bar's text field, so the characters are inserted into the search view model directly. - SearchBar keeps a TextFieldValue instead of a String so that the cursor moves to the end of the text when the value is changed from the outside. Without this the next typed character ended up in front of the text.
300 lines
4.9 KiB
Plaintext
300 lines
4.9 KiB
Plaintext
|
|
# Created by https://www.toptal.com/developers/gitignore/api/androidstudio,android,gradle,linux,macos,windows
|
|
# Edit at https://www.toptal.com/developers/gitignore?templates=androidstudio,android,gradle,linux,macos,windows
|
|
|
|
### Android ###
|
|
# Built application files
|
|
*.apk
|
|
*.aar
|
|
*.ap_
|
|
*.aab
|
|
*.dm
|
|
|
|
# Files for the ART/Dalvik VM
|
|
*.dex
|
|
|
|
# Java class files
|
|
*.class
|
|
|
|
# Generated files
|
|
bin/
|
|
gen/
|
|
out/
|
|
# Uncomment the following line in case you need and you don't have the release build type files in your app
|
|
# release/
|
|
|
|
# Gradle files
|
|
.gradle/
|
|
build/
|
|
|
|
# Local configuration file (sdk path, etc)
|
|
local.properties
|
|
|
|
# Proguard folder generated by Eclipse
|
|
proguard/
|
|
|
|
# Log Files
|
|
*.log
|
|
|
|
# Android Studio Navigation editor temp files
|
|
.navigation/
|
|
|
|
# Android Studio captures folder
|
|
captures/
|
|
|
|
# IntelliJ
|
|
*.iml
|
|
.idea/workspace.xml
|
|
.idea/tasks.xml
|
|
.idea/gradle.xml
|
|
.idea/assetWizardSettings.xml
|
|
.idea/dictionaries
|
|
.idea/libraries
|
|
.idea/jarRepositories.xml
|
|
# Android Studio 3 in .gitignore file.
|
|
.idea/caches
|
|
.idea/modules.xml
|
|
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
|
|
.idea/navEditor.xml
|
|
.idea/copilot.*.xml
|
|
|
|
# Keystore files
|
|
# Uncomment the following lines if you do not want to check your keystore files in.
|
|
#*.jks
|
|
#*.keystore
|
|
|
|
# External native build folder generated in Android Studio 2.2 and later
|
|
.externalNativeBuild
|
|
.cxx/
|
|
|
|
# Google Services (e.g. APIs or Firebase)
|
|
# google-services.json
|
|
|
|
# Freeline
|
|
freeline.py
|
|
freeline/
|
|
freeline_project_description.json
|
|
|
|
# fastlane
|
|
fastlane/report.xml
|
|
fastlane/Preview.html
|
|
fastlane/screenshots
|
|
fastlane/test_output
|
|
fastlane/readme.md
|
|
|
|
# Version control
|
|
vcs.xml
|
|
|
|
# lint
|
|
lint/intermediates/
|
|
lint/generated/
|
|
lint/outputs/
|
|
lint/tmp/
|
|
# lint/reports/
|
|
|
|
# Android Profiling
|
|
*.hprof
|
|
|
|
### Android Patch ###
|
|
gen-external-apklibs
|
|
output.json
|
|
|
|
# Replacement of .externalNativeBuild directories introduced
|
|
# with Android Studio 3.5.
|
|
|
|
### Linux ###
|
|
*~
|
|
|
|
# temporary files which can be created if a process still has a handle open of a deleted file
|
|
.fuse_hidden*
|
|
|
|
# KDE directory preferences
|
|
.directory
|
|
|
|
# Linux trash folder which might appear on any partition or disk
|
|
.Trash-*
|
|
|
|
# .nfs files are created when an open file is removed but is still being accessed
|
|
.nfs*
|
|
|
|
### macOS ###
|
|
# General
|
|
.DS_Store
|
|
.AppleDouble
|
|
.LSOverride
|
|
|
|
# Icon must end with two \r
|
|
Icon
|
|
|
|
|
|
# Thumbnails
|
|
._*
|
|
|
|
# Files that might appear in the root of a volume
|
|
.DocumentRevisions-V100
|
|
.fseventsd
|
|
.Spotlight-V100
|
|
.TemporaryItems
|
|
.Trashes
|
|
.VolumeIcon.icns
|
|
.com.apple.timemachine.donotpresent
|
|
|
|
# Directories potentially created on remote AFP share
|
|
.AppleDB
|
|
.AppleDesktop
|
|
Network Trash Folder
|
|
Temporary Items
|
|
.apdisk
|
|
|
|
### Windows ###
|
|
# Windows thumbnail cache files
|
|
Thumbs.db
|
|
Thumbs.db:encryptable
|
|
ehthumbs.db
|
|
ehthumbs_vista.db
|
|
|
|
# Dump file
|
|
*.stackdump
|
|
|
|
# Folder config file
|
|
[Dd]esktop.ini
|
|
|
|
# Recycle Bin used on file shares
|
|
$RECYCLE.BIN/
|
|
|
|
# Windows Installer files
|
|
*.cab
|
|
*.msi
|
|
*.msix
|
|
*.msm
|
|
*.msp
|
|
|
|
# Windows shortcuts
|
|
*.lnk
|
|
|
|
### Gradle ###
|
|
.gradle
|
|
|
|
# Ignore Gradle GUI config
|
|
gradle-app.setting
|
|
|
|
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
|
!gradle-wrapper.jar
|
|
|
|
# Cache of project
|
|
.gradletasknamecache
|
|
|
|
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
|
|
# gradle/wrapper/gradle-wrapper.properties
|
|
|
|
### Gradle Patch ###
|
|
**/build/
|
|
|
|
# Eclipse Gradle plugin generated files
|
|
# Eclipse Core
|
|
.project
|
|
# JDT-specific (Eclipse Java Development Tools)
|
|
.classpath
|
|
|
|
### AndroidStudio ###
|
|
# Covers files to be ignored for android development using Android Studio.
|
|
|
|
# Built application files
|
|
|
|
# Files for the ART/Dalvik VM
|
|
|
|
# Java class files
|
|
|
|
# Generated files
|
|
|
|
# Gradle files
|
|
|
|
# Signing files
|
|
.signing/
|
|
|
|
# Local configuration file (sdk path, etc)
|
|
|
|
# Proguard folder generated by Eclipse
|
|
|
|
# Log Files
|
|
|
|
# Android Studio
|
|
/*/build/
|
|
/*/local.properties
|
|
/*/out
|
|
/*/*/build
|
|
/*/*/production
|
|
*.ipr
|
|
*.swp
|
|
|
|
# Keystore files
|
|
*.jks
|
|
*.keystore
|
|
|
|
# Google Services (e.g. APIs or Firebase)
|
|
# google-services.json
|
|
|
|
# Android Patch
|
|
|
|
# External native build folder generated in Android Studio 2.2 and later
|
|
|
|
# NDK
|
|
obj/
|
|
|
|
# IntelliJ IDEA
|
|
*.iws
|
|
/out/
|
|
|
|
# User-specific configurations
|
|
.idea
|
|
|
|
# OS-specific files
|
|
.DS_Store?
|
|
|
|
# Legacy Eclipse project files
|
|
.cproject
|
|
.settings/
|
|
|
|
# Mobile Tools for Java (J2ME)
|
|
.mtj.tmp/
|
|
|
|
# Package Files #
|
|
*.war
|
|
*.ear
|
|
|
|
# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
|
|
hs_err_pid*
|
|
|
|
## Plugin-specific files:
|
|
|
|
# mpeltonen/sbt-idea plugin
|
|
.idea_modules/
|
|
|
|
# JIRA plugin
|
|
atlassian-ide-plugin.xml
|
|
|
|
# Mongo Explorer plugin
|
|
.idea/mongoSettings.xml
|
|
|
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
com_crashlytics_export_strings.xml
|
|
crashlytics.properties
|
|
crashlytics-build.properties
|
|
fabric.properties
|
|
|
|
### AndroidStudio Patch ###
|
|
|
|
!/gradle/wrapper/gradle-wrapper.jar
|
|
|
|
# End of https://www.toptal.com/developers/gitignore/api/androidstudio,android,gradle,linux,macos,windows
|
|
|
|
*/**/output-metadata.json
|
|
.idea/deploymentTargetDropDown.xml
|
|
.idea/deploymentTargetSelector.xml
|
|
.idea/copilot
|
|
.idea/other.xml
|
|
.idea/studiobot.xml
|
|
|
|
.kotlin
|
|
keystore.properties
|