diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..2c0dae6da --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,37 @@ +# Contributing to KISS +Contributions are very welcome, feel free to open new issues or PR. + +Project maintainers are @Neamar, @Dorvaryn, @saveman71 and @Pluggi. + +## Translation [![Translation status](https://hosted.weblate.org/widgets/kiss/-/shields-badge.svg)](https://hosted.weblate.org/projects/kiss/strings/) + +Want to help with the translation? Use https://hosted.weblate.org/projects/kiss/strings/ to collaborate on strings translation! + + +## Before contributing... +Keep in mind the goal of KISS is to be fast and small. +So before you add new features, ask yourself what you're trying to achieve and if you can make it with fewer dependencies (for instance, that's why we're not using RecyclerView :() + + +## How does it work? + +Different data types can be aggregated via KISS' simple interface: apps, contacts, settings... + +Each data types uses four classes: + +* A *loader*, which retrieves all available items at startup +* A *provider*, which knows all of its items (e.g. all contacts), and is responsible for filtering those records according to the query +* A *pojo*, which is a [POJO](https://en.wikipedia.org/wiki/Plain_Old_Java_Object) storing simple data for one item (e.g. contact name, display name, phone number, photo) +* A *result*, which ensures the *pojo* is properly displayed in the list + +Controlling the workflow is *SummonActivity*, initializing the UI, dispatching the query to the providers and ordering the results according to their relevance and user search history. + +### Adding new content sources +This is clearly not as easy as it ought to be. + +You need to create a new loader, new provider, new pojo and new result. You also need to ensure `adapter.RecordAdapter.java` creates your own view type (see method `getViewTypeCount` and `getItemViewType`). + +## Creating new Pull Request +Explain your changes, comment your code and make sure the CI is able to compile your code. + +Sadly, there is no test suite yet :( diff --git a/README.md b/README.md index 6d2790b59..620a5b639 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,9 @@ KISS is a *blazingly* fast launcher for android requiring nearly no memory to ru Join the [G+ community](https://plus.google.com/communities/116489528310489783081) to get download instruction for the beta version. +> See [contributing](CONTRIBUTING.md) for details on how to help with this project. + + What is it? ------------ KISS is a fast launcher for your Android. @@ -22,29 +25,6 @@ Get ready to be amazed. Previews --------------------- - |![Preview](https://lh3.googleusercontent.com/1B-Vc9Tqh6bfGCVyKXkYSZycwY9Z4g6NxX3ULAKdCPgi9pmGHoyIelC4nsVbQK8d5l0i) | ![Preview](https://lh3.googleusercontent.com/ADlhgu6JBVOJRn_XS-BbFbw6HtGopVABpBSdBMfANXpGpicFY3jxVLcuBhnJ9QkSshTp) | ![Preview](https://lh3.googleusercontent.com/17JTZKi0wh8ReNTMmhEzoR1Iu_mirK867_H2GbMwDhFf8QwpqhxzccpBLAFo5DbFdg) | |:-------------------:|:------------------------:|:-----------------:| | Recently used first | Search apps, contacts... | Even in settings! | - -Translation [![Translation status](https://hosted.weblate.org/widgets/kiss/-/shields-badge.svg)](https://hosted.weblate.org/projects/kiss/strings/) -------------------- -Want to help with the translation? Use https://hosted.weblate.org/projects/kiss/strings/ to collaborate on strings translation! - - -How does it work? -------------------- -Different data types can be aggregated via KISS' simple interface: apps, contacts, settings... - -Each data types uses four classes: - -* A *loader*, which retrieves all available items at startup -* A *provider*, which knows all of its items (e.g. all contacts), and is responsible for filtering those records according to the query -* A *pojo*, which is a [POJO](https://en.wikipedia.org/wiki/Plain_Old_Java_Object) storing simple data for one item (e.g. contact name, display name, phone number, photo) -* A *result*, which ensures the *pojo* is properly displayed in the list - -Controlling the workflow is *SummonActivity*, initializing the UI, dispatching the query to the providers and ordering the results according to their relevance and user search history. - -### Adding new content sources -This is clearly not as easy as it ought to be. - diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ba4619c3..4d1ebccfb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -57,6 +57,9 @@ android:name="android.hardware.camera.flash" android:required="false" /> + + - + diff --git a/app/src/main/java/fr/neamar/kiss/broadcast/NewAppInstalledHandler.java b/app/src/main/java/fr/neamar/kiss/broadcast/NewAppInstalledHandler.java index f49e74271..15260301d 100644 --- a/app/src/main/java/fr/neamar/kiss/broadcast/NewAppInstalledHandler.java +++ b/app/src/main/java/fr/neamar/kiss/broadcast/NewAppInstalledHandler.java @@ -23,12 +23,18 @@ public void onReceive(Context ctx, Intent intent) { if ("android.intent.action.PACKAGE_ADDED".equals(intent.getAction()) && !intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)) { // Add new package to history String packageName = intent.getData().getSchemeSpecificPart(); - String className = ctx.getPackageManager().getLaunchIntentForPackage(packageName).getComponent().getClassName(); + + Intent launchIntent = ctx.getPackageManager().getLaunchIntentForPackage(packageName); + if (launchIntent == null) {//for some plugin app + return ; + } + + String className = launchIntent.getComponent().getClassName(); if (className != null) { KissApplication.getDataHandler(ctx).addToHistory(ctx, "app://" + packageName + "/" + className); } } - + if ("android.intent.action.PACKAGE_REMOVED".equals(intent.getAction())) { // Removed all installed shortcuts String packageName = intent.getData().getSchemeSpecificPart(); diff --git a/app/src/main/res/values-it/arrays.xml b/app/src/main/res/values-it/arrays.xml index 74fc53a0e..653485a2a 100644 --- a/app/src/main/res/values-it/arrays.xml +++ b/app/src/main/res/values-it/arrays.xml @@ -5,12 +5,14 @@ Tema scuro Tema trasparente Tema semi-trasparente + Tema scuro semi-trasparente light dark transparent semi-transparent + semi-transparent-dark Dalla A alla Z diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 5d7728225..cc12ed87b 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -42,6 +42,9 @@ Chiamata diretta per i numeri di telefono Telefono + Ricerca nei collegamenti installati + Collegamenti + Nome dell\'applicazione Nome del contatto +330 12 34 56 78 @@ -54,6 +57,7 @@ Mostra storia Cancella la storia di KISS Cancella storia + Sei sicuro di voler cancellare la storia? Mostra sempre la tastiera all\'avvio Mostra tastiera Abilità funzionalità superutente se disponibili (per ibernare le applicazioni) @@ -79,6 +83,7 @@ Connessione dati Torcia Sincronizzazione + Rotazione automatica Aggiorna sfondo Ooops… impossibile avviare l\'applicazione. Storia cancellata. @@ -106,7 +111,7 @@ Attivala per dispositivi lenti Impossibile ottenere privilegi da superutente - Ordinamento applicazionie + Ordinamento applicazioni A alla Z oppure Z alla A