This commit is contained in:
Josia Pietsch 2024-07-02 21:21:51 +02:00
parent 0ed2f0d020
commit e85f00d293
Signed by: jrpie
GPG key ID: E70B571D66986A2D
51 changed files with 439 additions and 515 deletions

2
.idea/compiler.xml generated
View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="1.8" />
<bytecodeTargetLevel target="17" />
</component>
</project>

10
.idea/deploymentTargetSelector.xml generated Normal file
View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetSelector">
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates>
</component>
</project>

6
.idea/kotlinc.xml generated Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.6.21" />
</component>
</project>

2
.idea/misc.xml generated
View file

@ -9,7 +9,7 @@
</map>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

263
.idea/other.xml generated Normal file
View file

@ -0,0 +1,263 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="direct_access_persist.xml">
<option name="deviceSelectionList">
<list>
<PersistentDeviceSelectionData>
<option name="api" value="27" />
<option name="brand" value="DOCOMO" />
<option name="codename" value="F01L" />
<option name="id" value="F01L" />
<option name="manufacturer" value="FUJITSU" />
<option name="name" value="F-01L" />
<option name="screenDensity" value="360" />
<option name="screenX" value="720" />
<option name="screenY" value="1280" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="28" />
<option name="brand" value="DOCOMO" />
<option name="codename" value="SH-01L" />
<option name="id" value="SH-01L" />
<option name="manufacturer" value="SHARP" />
<option name="name" value="AQUOS sense2 SH-01L" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1080" />
<option name="screenY" value="2160" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="31" />
<option name="brand" value="samsung" />
<option name="codename" value="a51" />
<option name="id" value="a51" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy A51" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="akita" />
<option name="id" value="akita" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="samsung" />
<option name="codename" value="b0q" />
<option name="id" value="b0q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S22 Ultra" />
<option name="screenDensity" value="600" />
<option name="screenX" value="1440" />
<option name="screenY" value="3088" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="32" />
<option name="brand" value="google" />
<option name="codename" value="bluejay" />
<option name="id" value="bluejay" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 6a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="29" />
<option name="brand" value="samsung" />
<option name="codename" value="crownqlteue" />
<option name="id" value="crownqlteue" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Note9" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2220" />
<option name="screenY" value="1080" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="dm3q" />
<option name="id" value="dm3q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S23 Ultra" />
<option name="screenDensity" value="600" />
<option name="screenX" value="1440" />
<option name="screenY" value="3088" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="felix" />
<option name="id" value="felix" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Fold" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2208" />
<option name="screenY" value="1840" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="felix_camera" />
<option name="id" value="felix_camera" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Fold (Camera-enabled)" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2208" />
<option name="screenY" value="1840" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="samsung" />
<option name="codename" value="gts8uwifi" />
<option name="id" value="gts8uwifi" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Tab S8 Ultra" />
<option name="screenDensity" value="320" />
<option name="screenX" value="1848" />
<option name="screenY" value="2960" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="husky" />
<option name="id" value="husky" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8 Pro" />
<option name="screenDensity" value="390" />
<option name="screenX" value="1008" />
<option name="screenY" value="2244" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="motorola" />
<option name="codename" value="java" />
<option name="id" value="java" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="G20" />
<option name="screenDensity" value="280" />
<option name="screenX" value="720" />
<option name="screenY" value="1600" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="lynx" />
<option name="id" value="lynx" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 7a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="31" />
<option name="brand" value="google" />
<option name="codename" value="oriole" />
<option name="id" value="oriole" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 6" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="panther" />
<option name="id" value="panther" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 7" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="31" />
<option name="brand" value="samsung" />
<option name="codename" value="q2q" />
<option name="id" value="q2q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Z Fold3" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1768" />
<option name="screenY" value="2208" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="q5q" />
<option name="id" value="q5q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Z Fold5" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1812" />
<option name="screenY" value="2176" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="google" />
<option name="codename" value="r11" />
<option name="id" value="r11" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Watch" />
<option name="screenDensity" value="320" />
<option name="screenX" value="384" />
<option name="screenY" value="384" />
<option name="type" value="WEAR_OS" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="google" />
<option name="codename" value="redfin" />
<option name="id" value="redfin" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 5" />
<option name="screenDensity" value="440" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="shiba" />
<option name="id" value="shiba" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="tangorpro" />
<option name="id" value="tangorpro" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Tablet" />
<option name="screenDensity" value="320" />
<option name="screenX" value="1600" />
<option name="screenY" value="2560" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="29" />
<option name="brand" value="samsung" />
<option name="codename" value="x1q" />
<option name="id" value="x1q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S20" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1440" />
<option name="screenY" value="3200" />
</PersistentDeviceSelectionData>
</list>
</option>
</component>
</project>

237
README.md
View file

@ -6,239 +6,38 @@
<!-- ENGLISH README -->
# <a name="en"></a> Launcher :rocket:
# <a name="en"></a> Launcher
**`English` | [`Deutsch`](#de) | [`Français`](#fr) | [`Español`](#es)**
## Concept
_Launcher_ is an android homescreen that lets you start other apps efficiently using swipe gestures and button presses. It is **minimal, efficient and free of distraction**.
Your homescreen only displays the date, time and a wallpaper (if you want one).
This app **costs you nothing**, is **ad-free** and does not collect, receive or share any personal data. It boosts your efficiency, no matter who you are!
So make the best of your time on the phone by downloading this Launcher:
[<img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" title="Download Launcher on Google Play" width="49%">][store-googleplay-badgecampain]
[<img alt="Get on F-Droid" src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" title="Download Launcher from F-droid" width="49%">][store-fdroid]
## Contributing
If _Launcher_ is useful to you, you are very welcome to help developing it! Join our [discord]!
### Testing
The easiest way to help improving this app is downloading it and testing. We need lots of feedback from you: You can either [review Launcher][store-googleplay] on Google Play or [open an issue][newissue] on GitHub.
### GitHub
Even if you can't find time for other contributions (code, feedback), please make sure to star _Launcher_, as it helps other developers and users find the app easier ^^
[![][shield-gh-star]][star]
### Contributing Code
To help developing Launcher, you will need a GitHub account ([create one][joingh]).
1. Create a fork of this repository.<br><br>[![][shield-gh-fork]][fork]
2. Create a new branch called `feature/[feature-name]` or `fix/[what-you-fix]`.
3. Commit your changes, fixes or improvements to the new branch.
4. Open a new pull request to the `master` branch of this repository.
### Sponsor :heart:
As the app is 100% free to the public, fees for distribution et cetera are paid by the developer himself. If _Launcher_ is valuable enough to you, you can also [support the project financially][financial] - **you as a sponsor make open-source possible in the first place!**
This is a fork of [finnmglas' Launcher][original-repo].
There are only some small changes:
* The font has been changed to [Hack][hack-font].
* The search algorithm was modified to prefer
* small improvement of gesture detection.
---
<!-- GERMAN README -->
# <a name="de"></a> Launcher :rocket:
**[`English`](#en) | `Deutsch` | [`Français`](#fr) | [`Español`](#es)**
## Konzept
_Launcher_ ist ein Startbildschirm für Android, der dir hilft, andere Apps durch Wischbewegungen und die Tasten deines Smartphones schnell andere Apps starten lässt. Er ist **minimal, effizient und frei von Ablenkung**.
Dein Startbildschirm zeigt nur Datum, Uhrzeit und ein Hintergrundbild (wenn du willst) an.
Die App **kostet dich nichts**, ist **frei von Werbung** und sammelt keine persönlichen Daten. Launcher hilft dir effizienter zu sein, egal wer du bist!
Mache das Beste aus deiner Zeit am Smartphone indem du diesen Launcher installierst:
[<img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" title="Launcher auf Google Play herunterladen" width="49%">][store-googleplay-badgecampain]
[<img alt="Get on F-Droid" src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" title="Launcher von F-droid herunterladen" width="49%">][store-fdroid-de]
## Mitwirkungen
Wenn _Launcher_ für dich nützlich ist, darfst du gerne auch bei der Entwicklung mithelfen! Schau einfach mal im [Launcher Discord][discord] vorbei (dort sprechen wir Englisch)!
### Testen
Am Einfachsten kannst du mithelfen, indem die die App herunterlädst und sie testest. Wir brauchen viel Feedback von dir: Du kannst entweder [eine Revision][store-googleplay] im Play-Store hinterlassen oder [ein Issue auf GitHub eröffnen][newissue].
### GitHub
Auch wenn du keine Zeit findest um mitzuwirken (Code, Feedback), kannst du _Launcher_ auf GitHub mit einem Stern markieren, da das anderen Entwicklern und Nutzern dabei hilft, diese App leichter zu finden ^^
[![][shield-gh-star]][star]
### Code einsenden
Um bei der Entwicklung von Launcher zu helfen, benötigst du einen GitHub Account ([erstelle einen][joingh]).
1. Erstelle ein fork dieses Repositories.<br><br>[![][shield-gh-fork]][fork]
2. Erstelle einen neuen Branch mit einem Namen wie`feature/[feature-name]` oder `fix/[what-you-fix]`.
3. Commite deine Änderungen, Fixes oder Verbesserungen auf dem neuen Branch.
4. Öffne eine neue Pull Request zum `master` Branch dieses Repositories.
### Finanzielle Unterstützung :heart:
Da diese App 100% gratis für jeden ist, werden Kosten für die Verbreitung, Entwicklung et cetera vom Entwickler übernommen. Wenn _Launcher_ für dich wertvoll ist, kannst du ihn auch [finanziell unterstützen][financial] - **du als Sponsor machst Open-Source erst möglich!**
---
[hack-font]: https://sourcefoundry.org/hack/
[original-repo]: https://github.com/finnmglas/Launcher
<!-- FRENCH README -->
# <a name="fr"></a> Launcher :rocket:
**[`English`](#en) | [`Deutsch`](#de) | `Français` | [`Español`](#es)**
## Concept
_Launcher_ est un écran d'accueil Android qui vous permet de démarrer efficacement d'autres applications en utilisant des gestes de balayage et des pressions sur des boutons. Il est **minimal, efficace et sans distraction**.
Votre écran d'accueil affiche uniquement la date, l'heure et un fond d'écran (si vous en voulez un).
Cette application **ne vous coûte rien**, est **sans publicité** et ne collecte, ne reçoit ni ne partage aucune donnée personnelle. Cela booste votre efficacité, peu importe qui vous êtes!
Alors profitez au mieux de votre temps au téléphone en téléchargeant ce lanceur:
[<img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" title="Télécharger Launcher sur Google Play" width="49%">][store-googleplay-badgecampain]
[<img alt="Get on F-Droid" src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" title="Télécharger Launcher sur F-droid" width="49%">][store-fdroid-fr]
## Contribuant
Si _Launcher_ vous est utile, vous êtes les bienvenus pour contribuer à son développement! Rejoignez le [Launcher Discord][discord] (on y parle anglais)!
### Tester
Le moyen le plus simple d'aider à améliorer cette application est de la télécharger et de la tester. Nous avons besoin de beaucoup de commentaires de votre part: vous pouvez [réviser Launcher][store-googleplay] sur Google Play ou [ouvrir un issue][newissue] sur GitHub.
### GitHub
Même si vous ne trouvez pas de temps pour d'autres contributions (code, réviser), assurez-vous de mettre _Launcher_ en étoile, car cela aide les autres développeurs et utilisateurs à trouver l'application plus facilement ^^
[![][shield-gh-star]][star]
### Code contributeur
Pour aider à développer Launcher, vous aurez besoin d'un compte GitHub ([créer un][joingh]).
1. Créer un fork de ce repo.<br><br>[![][shield-gh-fork]][fork]
2. Créez une nouvelle branche appelée `feature/[feature-name]` or `fix/[what-you-fix]`.
3. Validez vos modifications, corrections ou améliorations dans la nouvelle branche.
4. Ouvrez une nouvelle pull request dans la branche `master` de ce repo.
### Sponsoriser :heart:
Comme l'application est 100% gratuite pour le public, les frais de distribution, etc. sont payés par le développeur lui-même. Si _Launcher_ est assez précieux pour vous, vous pouvez également [soutenir le projet financièrement][financial] - **vous, en tant que sponsor, rendez l'open-source possible en premier lieu!**
---
<!-- SPANISH README -->
# <a name="es"></a> Launcher :rocket:
**[`English`](#en) | [`Deutsch`](#de) | [`Français`](#fr) | `Español`**
## Concepto
_Launcher_ es una pantalla de inicio para android que permite iniciar otras aplicaciones de forma eficiente mediante gestos de deslizar y presionar en la pantalla. Es **minimalista, eficiente y libre de distracciones**.
La pantalla de inicio solo muestra la fecha, hora y un fondo de pantalla (si se desea uno).
Esta aplicación **no cuesta nada**, es **libre de anuncios** y no recopila, recibe o comparte información personal. Mejora tu eficiencia, sin importar quién seas!
Así que haz el mejor uso posible de tu tiempo con tu smartphone descargando este Launcher:
[<img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" title="Download Launcher on Google Play" width="49%">][store-googleplay-badgecampain]
[<img alt="Get on F-Droid" src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" title="Download Launcher from F-droid" width="49%">][store-fdroid]
## Contribuciones
Si _Launcher_ te resulta útil, tu ayuda en su desarrollo será muy bienvenida! Únete a nuestro [discord]!
### Testing
La forma más simple de mejorar la aplicación es descargándola y probándola. Necesitamos mucha ayuda de ti: Puedes [escribir una reseña][store-googleplay] en Google Play o [abrir un issue][newissue] en GitHub.
### GitHub
Incluso si no puedes hacerte un tiempo para otras contribuciones (código, reseñas), por favor asegúrate de darle una estrella a _Launcher_, y así ayudar a que otros desarrolladores y usuarios encuentren la app más fácilmente ^^
[![][shield-gh-star]][star]
### Contribuciones de Código
Para ayudar con el desarrollo de Launcher, necesitarás una cuenta de GitHub ([crea una][joingh]).
1. Crea un fork de este repositorio.<br><br>[![][shield-gh-fork]][fork]
2. Crea una nueva rama llamada `feature/[feature-name]` o `fix/[what-you-fix]`.
3. Commitear tus cambios, soluciones o mejoras a la rama nueva.
4. Abrir una nueva pull request a la rama `master` de este repositorio.
### Patrocinar :heart:
Como la aplicación es 100% gratuita, los costos de distribución et cetera son pagados por el desarrollador. Si _Launcher_ es lo suficientemente valioso para ti, puedes [apoyar el proyecto financieramente][financial] - **tú como patrocinador haces que el software de código abierto sea posible en primer lugar!**
---
<!-- Community -->
[shield-discord]: https://img.shields.io/badge/discord-join%20chat-007ec6.svg?style=flat
[discord]: https://discord.com/invite/jV2AhF8
<!-- Download links / stores -->
[store-googleplay]: https://play.google.com/store/apps/details?id=com.finnmglas.launcher
[store-googleplay-badgecampain]: https://play.google.com/store/apps/details?id=com.finnmglas.launcher&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1
[store-fdroid]: https://f-droid.org/packages/com.finnmglas.launcher/
[store-fdroid-de]: https://f-droid.org/de/packages/com.finnmglas.launcher/
[store-fdroid-fr]: https://f-droid.org/fr/packages/com.finnmglas.launcher/
<!-- Author related and owned media -->
[financial]: https://sponsor.finnmglas.com
<!-- GitHub related -->
[fork]: https://github.com/finnmglas/Launcher/fork
[star]: https://github.com/finnmglas/Launcher/stargazers
[joingh]: https://github.com/join
[newissue]: https://github.com/finnmglas/Launcher/issues/new/choose
[issues]: https://github.com/finnmglas/Launcher/issues
[contributors]: https://github.com/finnmglas/Launcher/graphs/contributors
[theme-examples]: https://github.com/finnmglas/Launcher/blob/master/docs/README.md
[latest-release]: https://github.com/finnmglas/Launcher/releases/latest
[store-googleplay]: https://play.google.com/store/apps/details?id=de.jrpie.android.launcher
[store-googleplay-badgecampain]: https://play.google.com/store/apps/details?id=de.jrpie.android.launcher&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1
[store-fdroid]: https://f-droid.org/packages/de.jrpie.android.launcher/
<!-- Shields and Badges -->
[shield-release]: https://img.shields.io/github/v/release/finnmglas/Launcher?style=flat
[shield-release]: https://img.shields.io/github/v/release/jrpie/Launcher?style=flat
[shield-contribute]: https://img.shields.io/badge/contributions-welcome-007ec6.svg?style=flat
[shield-license]: https://img.shields.io/badge/license-MIT-007ec6?style=flat
[shield-gh-watch]: https://img.shields.io/github/watchers/finnmglas/Launcher?label=Watch&style=social
[shield-gh-star]: https://img.shields.io/github/stars/finnmglas/Launcher?label=Star&style=social
[shield-gh-fork]: https://img.shields.io/github/forks/finnmglas/Launcher?label=Fork&style=social
[shield-gh-watch]: https://img.shields.io/github/watchers/jrpie/Launcher?label=Watch&style=social
[shield-gh-star]: https://img.shields.io/github/stars/jrpie/Launcher?label=Star&style=social
[shield-gh-fork]: https://img.shields.io/github/forks/jrpie/Launcher?label=Fork&style=social
<!-- Helpful resources -->
[license]: https://github.com/finnmglas/Launcher/blob/master/LICENSE
[license]: https://github.com/jrpie/Launcher/blob/master/LICENSE

View file

@ -3,15 +3,15 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
compileSdkVersion 33
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.finnmglas.launcher"
applicationId "de.jrpie.android.launcher"
minSdkVersion 16
targetSdkVersion 29
versionCode 12
versionName "v1.6.0"
targetSdkVersion 33
versionCode 13
versionName "j-alpha-0.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View file

@ -0,0 +1,20 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "de.jrpie.android.launcher",
"variantName": "release",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 12,
"versionName": "v1.6.0",
"outputFile": "app-release.apk"
}
],
"elementType": "File"
}

View file

@ -1,24 +0,0 @@
package com.finnmglas.launcher
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.finnmglas.launcher", appContext.packageName)
}
}

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.finnmglas.launcher">
package="de.jrpie.android.launcher">
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher
package de.jrpie.android.launcher
import android.app.Activity
import android.app.AlertDialog
@ -25,12 +25,12 @@ import android.widget.Button
import android.widget.ImageView
import android.widget.Switch
import android.widget.Toast
import com.finnmglas.launcher.list.ListActivity
import com.finnmglas.launcher.list.apps.AppInfo
import com.finnmglas.launcher.list.apps.AppsRecyclerAdapter
import com.finnmglas.launcher.settings.SettingsActivity
import com.finnmglas.launcher.settings.intendedSettingsPause
import com.finnmglas.launcher.tutorial.TutorialActivity
import de.jrpie.android.launcher.list.ListActivity
import de.jrpie.android.launcher.list.apps.AppInfo
import de.jrpie.android.launcher.list.apps.AppsRecyclerAdapter
import de.jrpie.android.launcher.settings.SettingsActivity
import de.jrpie.android.launcher.settings.intendedSettingsPause
import de.jrpie.android.launcher.tutorial.TutorialActivity
import kotlin.math.roundToInt

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher
package de.jrpie.android.launcher
import android.content.Context
import android.content.Intent
@ -9,13 +9,13 @@ import android.provider.MediaStore
import android.view.*
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.GestureDetectorCompat
import com.finnmglas.launcher.tutorial.TutorialActivity
import de.jrpie.android.launcher.tutorial.TutorialActivity
import kotlinx.android.synthetic.main.home.*
import java.text.SimpleDateFormat
import java.util.*
import kotlin.concurrent.fixedRateTimer
import kotlin.math.abs
import com.finnmglas.launcher.BuildConfig.VERSION_NAME
import de.jrpie.android.launcher.BuildConfig.VERSION_NAME
/**
* [HomeActivity] is the actual application Launcher,
@ -134,7 +134,8 @@ class HomeActivity: UIObject, AppCompatActivity(),
}
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
if (keyCode == KeyEvent.KEYCODE_BACK) { if (settingsIconShown) hideSettingsIcon() }
if (keyCode == KeyEvent.KEYCODE_BACK) {
launch("launcher:choose", this) }
else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP)
launch(volumeUpApp, this,0, 0)
else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
@ -194,34 +195,10 @@ class HomeActivity: UIObject, AppCompatActivity(),
// Tooltip
override fun onSingleTapConfirmed(event: MotionEvent): Boolean {
when(settingsIconShown) {
true -> {
hideSettingsIcon()
}
false -> {showSettingsIcon()}
}
return false
}
private fun showSettingsIcon(){
if(!canReachSettings()) {
home_settings_icon.fadeRotateIn()
home_settings_icon.visibility = View.VISIBLE
settingsIconShown = true
tooltipTimer = fixedRateTimer("tooltipTimer", true, 10000, 1000) {
this@HomeActivity.runOnUiThread { hideSettingsIcon() }
}
}
}
private fun hideSettingsIcon(){
tooltipTimer.cancel()
home_settings_icon.fadeRotateOut()
home_settings_icon.visibility = View.INVISIBLE
settingsIconShown = false
}
override fun onTouchEvent(event: MotionEvent): Boolean {
// Buffer / Debounce the pointer count
@ -237,10 +214,7 @@ class HomeActivity: UIObject, AppCompatActivity(),
}
override fun applyTheme() {
// Start by showing the settings icon
if (!settingsIconShown) showSettingsIcon()
home_settings_icon.setTextColor(vibrantColor)
home_container.setBackgroundColor(dominantColor)
if (launcherPreferences.getString(PREF_WALLPAPER, "") != "") {
@ -262,9 +236,6 @@ class HomeActivity: UIObject, AppCompatActivity(),
}
override fun setOnClicks() {
home_settings_icon.setOnClickListener() {
launch("launcher:settings", this, R.anim.bottom_up)
}
home_upper_view.setOnClickListener() {
when (launcherPreferences.getInt(PREF_DATE_FORMAT, 0)) {

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher
package de.jrpie.android.launcher
import android.app.Activity
import android.view.WindowManager

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.libraries // replace with your package
package de.jrpie.android.launcher.libraries // replace with your package
// On GitHub: https://github.com/finnmglas/fontawesome-android
@ -6,7 +6,7 @@ import android.content.Context
import android.graphics.Typeface
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatTextView
import com.finnmglas.launcher.R
import de.jrpie.android.launcher.R
/** [FontAwesome] is just a type of TextView with special functions:
*

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.list
package de.jrpie.android.launcher.list
import android.app.Activity
import android.content.Intent
@ -7,16 +7,16 @@ import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.viewpager.widget.ViewPager
import com.finnmglas.launcher.*
import com.finnmglas.launcher.settings.intendedSettingsPause
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.settings.intendedSettingsPause
import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.list.*
import android.content.Context
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import com.finnmglas.launcher.list.apps.ListFragmentApps
import com.finnmglas.launcher.list.other.ListFragmentOther
import de.jrpie.android.launcher.list.apps.ListFragmentApps
import de.jrpie.android.launcher.list.other.ListFragmentOther
import kotlinx.android.synthetic.main.home.*
import kotlinx.android.synthetic.main.list_apps.*
@ -129,7 +129,7 @@ class ListSectionsPagerAdapter(private val context: Context, fm: FragmentManager
override fun getItem(position: Int): Fragment {
return when (position){
0 -> ListFragmentApps()
1 -> ListFragmentOther()
1 -> de.jrpie.android.launcher.list.other.ListFragmentOther()
else -> Fragment()
}
}

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.list.apps
package de.jrpie.android.launcher.list.apps
import android.graphics.drawable.Drawable

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.list.apps
package de.jrpie.android.launcher.list.apps
import android.app.Activity
import android.content.Context
@ -14,9 +14,9 @@ import android.widget.ImageView
import android.widget.PopupMenu
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.finnmglas.launcher.*
import com.finnmglas.launcher.libraries.FontAwesome
import com.finnmglas.launcher.list.intendedChoosePause
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.libraries.FontAwesome
import de.jrpie.android.launcher.list.intendedChoosePause
import java.util.*
import kotlin.collections.ArrayList

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.list.apps
package de.jrpie.android.launcher.list.apps
import android.os.Bundle
import android.view.LayoutInflater
@ -6,9 +6,9 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.finnmglas.launcher.*
import com.finnmglas.launcher.list.forApp
import com.finnmglas.launcher.list.intention
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.list.forApp
import de.jrpie.android.launcher.list.intention
import kotlinx.android.synthetic.main.list.*
import kotlinx.android.synthetic.main.list_apps.*

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.list.other
package de.jrpie.android.launcher.list.other
import android.os.Bundle
import android.view.LayoutInflater
@ -6,9 +6,9 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.finnmglas.launcher.R
import com.finnmglas.launcher.dominantColor
import com.finnmglas.launcher.getSavedTheme
import de.jrpie.android.launcher.R
import de.jrpie.android.launcher.dominantColor
import de.jrpie.android.launcher.getSavedTheme
import kotlinx.android.synthetic.main.list_other.*
/**
@ -33,7 +33,7 @@ class ListFragmentOther : Fragment() {
// set up the list / recycler
val viewManager = LinearLayoutManager(context)
val viewAdapter = OtherRecyclerAdapter(activity!!)
val viewAdapter = de.jrpie.android.launcher.list.other.OtherRecyclerAdapter(activity!!)
list_other_rview.apply {
// improve performance (since content changes don't change the layout size)

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.list.other
package de.jrpie.android.launcher.list.other
/**
* Stores information used in [OtherRecyclerAdapter] rows.

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.list.other
package de.jrpie.android.launcher.list.other
import android.app.Activity
import android.content.Intent
@ -8,10 +8,10 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.finnmglas.launcher.R
import com.finnmglas.launcher.REQUEST_CHOOSE_APP
import com.finnmglas.launcher.libraries.*
import com.finnmglas.launcher.list.forApp
import de.jrpie.android.launcher.R
import de.jrpie.android.launcher.REQUEST_CHOOSE_APP
import de.jrpie.android.launcher.libraries.*
import de.jrpie.android.launcher.list.forApp
/**
* The [OtherRecyclerAdapter] will only be displayed in the ListActivity,

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.settings
package de.jrpie.android.launcher.settings
import android.content.Context
import android.content.Intent
@ -6,15 +6,15 @@ import android.os.Bundle
import android.provider.Settings
import androidx.appcompat.app.AppCompatActivity
import androidx.viewpager.widget.ViewPager
import com.finnmglas.launcher.*
import de.jrpie.android.launcher.*
import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.settings.*
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import com.finnmglas.launcher.settings.actions.SettingsFragmentActions
import com.finnmglas.launcher.settings.launcher.SettingsFragmentLauncher
import com.finnmglas.launcher.settings.meta.SettingsFragmentMeta
import de.jrpie.android.launcher.settings.actions.SettingsFragmentActions
import de.jrpie.android.launcher.settings.launcher.SettingsFragmentLauncher
import de.jrpie.android.launcher.settings.meta.SettingsFragmentMeta
var intendedSettingsPause = false // know when to close

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.settings.actions
package de.jrpie.android.launcher.settings.actions
/**
* Stores information used in [ActionsRecyclerAdapter] rows.

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.settings.actions
package de.jrpie.android.launcher.settings.actions
import android.content.ActivityNotFoundException
import android.content.Intent
@ -9,9 +9,9 @@ import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
import com.finnmglas.launcher.*
import com.finnmglas.launcher.list.ListActivity
import com.finnmglas.launcher.settings.intendedSettingsPause
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.list.ListActivity
import de.jrpie.android.launcher.settings.intendedSettingsPause
import kotlinx.android.synthetic.main.settings_actions.*

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.settings.actions
package de.jrpie.android.launcher.settings.actions
import android.os.Bundle
import android.view.LayoutInflater
@ -6,8 +6,8 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.finnmglas.launcher.*
import com.finnmglas.launcher.list.ListActivity
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.list.ListActivity
import kotlinx.android.synthetic.main.settings_actions_recycler.*
import android.app.Activity
import android.content.Intent
@ -15,8 +15,8 @@ import android.widget.Button
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.finnmglas.launcher.libraries.FontAwesome
import com.finnmglas.launcher.settings.intendedSettingsPause
import de.jrpie.android.launcher.libraries.FontAwesome
import de.jrpie.android.launcher.settings.intendedSettingsPause
import java.lang.Exception
/**

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.settings.launcher
package de.jrpie.android.launcher.settings.launcher
import android.Manifest
import android.app.Activity
@ -20,8 +20,8 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.palette.graphics.Palette
import com.finnmglas.launcher.*
import com.finnmglas.launcher.settings.intendedSettingsPause
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.settings.intendedSettingsPause
import kotlinx.android.synthetic.main.settings_launcher.*

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.settings.meta
package de.jrpie.android.launcher.settings.meta
import android.app.AlertDialog
import android.content.ActivityNotFoundException
@ -12,9 +12,9 @@ import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.finnmglas.launcher.*
import com.finnmglas.launcher.tutorial.TutorialActivity
import com.finnmglas.launcher.settings.intendedSettingsPause
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.tutorial.TutorialActivity
import de.jrpie.android.launcher.settings.intendedSettingsPause
import kotlinx.android.synthetic.main.settings_meta.*
/**
@ -66,11 +66,7 @@ class SettingsFragmentMeta : Fragment(), UIObject {
setButtonColor(settings_meta_button_reset_settings, vibrantColor)
setButtonColor(settings_meta_button_report_bug, vibrantColor)
setButtonColor(settings_meta_button_contact, vibrantColor)
setButtonColor(settings_meta_button_discord, vibrantColor)
settings_meta_icon_github.setTextColor(vibrantColor)
settings_meta_icon_store.setTextColor(vibrantColor)
settings_meta_icon_donate.setTextColor(vibrantColor)
setButtonColor(settings_meta_button_fork_contact, vibrantColor)
}
override fun setOnClicks() {
@ -127,26 +123,6 @@ class SettingsFragmentMeta : Fragment(), UIObject {
.show()
}
// Icon onClicks
settings_meta_icon_github.setOnClickListener {
intendedSettingsPause = true
openNewTabWindow(
getString(R.string.settings_meta_link_github),
this.context!!
)
}
// rate app / open store
settings_meta_icon_store.setOnClickListener {
try {
val rateIntent = rateIntentForUrl("market://details")
intendedSettingsPause = true
startActivity(rateIntent)
} catch (e: ActivityNotFoundException) {
val rateIntent = rateIntentForUrl("https://play.google.com/store/apps/details")
intendedSettingsPause = true
startActivity(rateIntent)
}
}
// report a bug
settings_meta_button_report_bug.setOnClickListener {
@ -157,15 +133,6 @@ class SettingsFragmentMeta : Fragment(), UIObject {
)
}
// invite link to the discord server
settings_meta_button_discord.setOnClickListener {
intendedSettingsPause = true
openNewTabWindow(
getString(R.string.settings_meta_discord_url),
context!!
)
}
// contact developer
settings_meta_button_contact.setOnClickListener {
intendedSettingsPause = true
@ -175,13 +142,14 @@ class SettingsFragmentMeta : Fragment(), UIObject {
)
}
// donate
settings_meta_icon_donate.setOnClickListener {
// contact fork developer
settings_meta_button_fork_contact.setOnClickListener {
intendedSettingsPause = true
openNewTabWindow(
getString(R.string.settings_meta_donate_url),
getString(R.string.settings_meta_fork_contact_url),
context!!
)
}
}
}

View file

@ -1,4 +1,4 @@
package com.finnmglas.launcher.tutorial
package de.jrpie.android.launcher.tutorial
import android.content.Context
import android.content.Intent
@ -9,8 +9,8 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import androidx.viewpager.widget.ViewPager
import com.finnmglas.launcher.*
import com.finnmglas.launcher.tutorial.tabs.*
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.tutorial.tabs.*
import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.tutorial.*

View file

@ -1,11 +1,11 @@
package com.finnmglas.launcher.tutorial.tabs
package de.jrpie.android.launcher.tutorial.tabs
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.finnmglas.launcher.*
import de.jrpie.android.launcher.*
import kotlinx.android.synthetic.main.tutorial_concept.*
/**

View file

@ -1,12 +1,12 @@
package com.finnmglas.launcher.tutorial.tabs
package de.jrpie.android.launcher.tutorial.tabs
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.finnmglas.launcher.*
import com.finnmglas.launcher.BuildConfig.VERSION_NAME
import de.jrpie.android.launcher.*
import de.jrpie.android.launcher.BuildConfig.VERSION_NAME
import kotlinx.android.synthetic.main.tutorial_finish.*
/**

View file

@ -1,11 +1,11 @@
package com.finnmglas.launcher.tutorial.tabs
package de.jrpie.android.launcher.tutorial.tabs
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.finnmglas.launcher.*
import de.jrpie.android.launcher.*
import kotlinx.android.synthetic.main.tutorial_setup.*
/**

View file

@ -1,11 +1,11 @@
package com.finnmglas.launcher.tutorial.tabs
package de.jrpie.android.launcher.tutorial.tabs
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.finnmglas.launcher.*
import de.jrpie.android.launcher.*
import kotlinx.android.synthetic.main.tutorial_start.*
/**

View file

@ -1,11 +1,11 @@
package com.finnmglas.launcher.tutorial.tabs
package de.jrpie.android.launcher.tutorial.tabs
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.finnmglas.launcher.*
import de.jrpie.android.launcher.*
import kotlinx.android.synthetic.main.tutorial_usage.*
/**

View file

@ -44,19 +44,4 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.finnmglas.launcher.libraries.FontAwesome
android:id="@+id/home_settings_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fas_settings"
android:textColor="?attr/colorAccent"
android:textSize="36sp"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.95"
custom:type="solid" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -23,7 +23,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/list_settings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -55,7 +55,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/list_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View file

@ -33,7 +33,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/list_apps_row_menu"
android:layout_width="30sp"
android:layout_height="0dp"

View file

@ -7,7 +7,7 @@
android:layout_height="wrap_content"
android:layout_margin="15sp">
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/list_other_row_icon"
android:layout_width="35sp"
android:layout_height="35sp"

View file

@ -33,7 +33,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/settings_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -50,7 +50,7 @@
app:layout_constraintTop_toTopOf="parent"
custom:type="solid" />
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/settings_system"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View file

@ -11,7 +11,7 @@
<fragment
android:id="@+id/settings_actions_rview_fragment"
android:name="com.finnmglas.launcher.settings.actions.SettingsFragmentActionsRecycler"
android:name="de.jrpie.android.launcher.settings.actions.SettingsFragmentActionsRecycler"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="16dp"

View file

@ -32,7 +32,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/settings_actions_row_icon"
android:layout_width="@dimen/app_icon_side"
android:layout_height="@dimen/app_icon_side"
@ -55,7 +55,7 @@
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/settings_actions_row_remove"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View file

@ -36,62 +36,6 @@
android:text="@string/settings_meta_reset"
android:textAllCaps="false" />
<LinearLayout
android:id="@+id/settings_meta_layout_icons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32sp"
android:layout_marginBottom="32sp"
android:gravity="center"
android:orientation="horizontal">
<com.finnmglas.launcher.libraries.FontAwesome
android:id="@+id/settings_meta_icon_store"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_weight="1"
android:gravity="center"
android:includeFontPadding="true"
android:paddingLeft="16sp"
android:paddingRight="16sp"
android:text="@string/fas_store"
android:textColor="?attr/colorAccent"
android:textSize="40sp"
custom:type="solid" />
<com.finnmglas.launcher.libraries.FontAwesome
android:id="@+id/settings_meta_icon_github"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_weight="1"
android:gravity="center"
android:includeFontPadding="true"
android:paddingLeft="16sp"
android:paddingRight="16sp"
android:text="@string/fab_github"
android:textColor="?attr/colorAccent"
android:textSize="40sp"
custom:type="brands" />
<com.finnmglas.launcher.libraries.FontAwesome
android:id="@+id/settings_meta_icon_donate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:includeFontPadding="true"
android:paddingLeft="16sp"
android:paddingRight="16sp"
android:text="@string/fas_heart"
android:textColor="?attr/colorAccent"
android:textSize="40sp"
custom:type="solid" />
</LinearLayout>
<Button
android:id="@+id/settings_meta_button_report_bug"
@ -101,12 +45,6 @@
android:text="@string/settings_meta_report_bug"
android:textAllCaps="false" />
<Button
android:id="@+id/settings_meta_button_discord"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/settings_meta_discord"
android:textAllCaps="false" />
<Button
android:id="@+id/settings_meta_button_contact"
@ -115,4 +53,11 @@
android:text="@string/settings_meta_contact"
android:textAllCaps="false" />
<Button
android:id="@+id/settings_meta_button_fork_contact"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/settings_meta_fork_contact"
android:textAllCaps="false" />
</LinearLayout>

View file

@ -37,7 +37,7 @@
custom:layout_constraintStart_toStartOf="parent"
custom:layout_constraintTop_toTopOf="parent" />
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/tutorial_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View file

@ -36,7 +36,7 @@
<fragment
android:id="@+id/tutorial_setup_actions_rview_fragment"
android:name="com.finnmglas.launcher.settings.actions.SettingsFragmentActionsRecycler"
android:name="de.jrpie.android.launcher.settings.actions.SettingsFragmentActionsRecycler"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="32dp"

View file

@ -11,7 +11,7 @@
android:background="?attr/colorPrimary"
tools:context=".tutorial.tabs.TutorialFragmentStart">
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/tutorial_start_icon_right_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -34,7 +34,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.finnmglas.launcher.libraries.FontAwesome
<de.jrpie.android.launcher.libraries.FontAwesome
android:id="@+id/tutorial_start_icon_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View file

@ -100,7 +100,7 @@
<string name="settings_meta_reset">Zurücksetzen</string>
<string name="settings_meta_reset_confirm">All deine Einstellungen gehen verloren. Weitermachen?</string>
<string name="settings_meta_link_github">https://github.com/finnmglas/Launcher#de</string>
<string name="settings_meta_link_github">https://github.de.jrpie.android.launcher#de</string>
<string name="settings_meta_report_bug">Einen Fehler melden</string>
@ -109,7 +109,6 @@
<string name="settings_meta_contact">Entwickler kontaktieren</string>
<string name="settings_meta_contact_url">https://www.finnmglas.com/de/kontakt/</string>
<string name="settings_meta_donate_url">https://www.finnmglas.com/de/sponsor</string>
<!--
-

View file

@ -124,15 +124,13 @@
<string name="settings_meta_reset">Configuración por defecto</string>
<string name="settings_meta_reset_confirm">Todas sus preferencias se eliminarán. Desea continuar?</string>
<string name="settings_meta_link_github">https://github.com/finnmglas/Launcher#en</string>
<string name="settings_meta_link_github">https://github.de.jrpie.android.launcher#en</string>
<string name="settings_meta_report_bug">Reportar un error</string>
<string name="settings_meta_contact">Contactar al desarrollador</string>
<string name="settings_meta_contact_url">https://www.finnmglas.com/contact/</string>
<string name="settings_meta_donate_url">https://www.finnmglas.com/sponsor</string>
<string name="settings_meta_discord">Unete a nuestro discord!</string>
<!--

View file

@ -100,7 +100,7 @@
<string name="settings_meta_reset">Réinitialiser</string>
<string name="settings_meta_reset_confirm">Vous allez supprimer toutes vos préférences. Continuer?</string>
<string name="settings_meta_link_github">https://github.com/finnmglas/Launcher#fr</string>
<string name="settings_meta_link_github">https://github.de.jrpie.android.launcher#fr</string>
<string name="settings_meta_report_bug">Signaler une erreur</string>
@ -109,7 +109,6 @@
<string name="settings_meta_contact">Contacter le développeur</string>
<string name="settings_meta_contact_url">https://www.finnmglas.com/fr/contact/</string>
<string name="settings_meta_donate_url">https://www.finnmglas.com/fr/sponsor</string>
<!--
-

View file

@ -1,4 +1,4 @@
vim<resources>
<resources>
<!--
-
- General
@ -122,15 +122,17 @@ vim<resources>
<string name="settings_meta_reset">Reset Settings</string>
<string name="settings_meta_reset_confirm">You are going to discard all your preferences. Continue?</string>
<string name="settings_meta_link_github">https://github.com/finnmglas/Launcher#en</string>
<string name="settings_meta_link_github">https://github.com/jrpie/Launcher</string>
<string name="settings_meta_report_bug">Report a bug</string>
<string name="settings_meta_report_bug_link" translatable="false">https://github.com/finnmglas/Launcher/issues/new</string>
<string name="settings_meta_report_bug_link" translatable="false">https://github.com/jrpie/Launcher/issues/new</string>
<string name="settings_meta_contact">Contact the developer</string>
<string name="settings_meta_fork_contact">Contact the developer of the fork</string>
<string name="settings_meta_fork_contact_url">https://jrpie.de/contact/</string>
<string name="settings_meta_contact">Contact the original developer</string>
<string name="settings_meta_contact_url">https://www.finnmglas.com/contact/</string>
<string name="settings_meta_donate_url">https://www.finnmglas.com/sponsor</string>
<string name="settings_meta_discord">Join us on discord!</string>
<string name="settings_meta_discord_url" translatable="false">https://discord.com/invite/jV2AhF8</string>

View file

@ -1,17 +0,0 @@
package com.finnmglas.launcher
import org.junit.Test
import org.junit.Assert.*
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB