Skip to content

Commit

Permalink
Merge branch 'release/2.3.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
sgrimault committed Jul 14, 2022
2 parents ef05745 + fad6856 commit 15807c9
Show file tree
Hide file tree
Showing 29 changed files with 596 additions and 362 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
/keystore.properties
/.idea/caches
/.idea/libraries
/.idea/misc.xml
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
Expand Down
1 change: 0 additions & 1 deletion .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 0 additions & 14 deletions .idea/misc.xml

This file was deleted.

99 changes: 99 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,104 @@
# Changelog

## [2.3.0](https://github.com/PnX-SI/gn_mobile_occtax/releases/tag/2.3.0) (2022-07-14, release)

### 🚀 Nouveautés

* Possibilité d'ajouter directement un marqueur via un "toucher long" sur la carte (https://github.com/PnX-SI/gn_mobile_occtax/issues/14).
* La rotation de la carte est bloquée par défaut (https://github.com/PnX-SI/gn_mobile_occtax/issues/139).
Son paramétrage reste accessible par configuration (cf. [README.md](https://github.com/PnX-SI/gn_mobile_maps/blob/develop/maps/README.md#parameters-description) du module).
* Le commentaire du relevé est présent également à l'étape 1 du relevé, sous le choix de la date (https://github.com/PnX-SI/gn_mobile_occtax/issues/140).
* Refonte ergonomique des champs de saisie "Min" et "Max" (https://github.com/PnX-SI/gn_mobile_occtax/issues/114).
* Mise en place des boîtes de dialogue de confirmation pour la suppression des éléments saisis (https://github.com/PnX-SI/gn_mobile_occtax/issues/77)

### 🐛 Corrections

* Suppression de la double vérification de la validité du cookie de session et du token de session (https://github.com/PnX-SI/gn_mobile_occtax/issues/163).
L'application reste "connectée" par défaut tant qu'elle ne reçoit pas en retour d'appel d'API une
erreur 401.
* Libellé du champ date plus clair quand seule la date de début du relevé est configurée (https://github.com/PnX-SI/gn_mobile_occtax/issues/165).
* Ajustement d'ordre cosmétique sur le commentaire présenté à l'étape 1 du relevé (https://github.com/PnX-SI/gn_mobile_occtax/issues/140).

### ⚠️ Notes de version

* Code de version : 3070
* L'application est officiellement compatible avec les terminaux tournant sur Android 8.0 au minimum.

## [2.3.0-rc4](https://github.com/PnX-SI/gn_mobile_occtax/releases/tag/2.3.0-rc4) (2022-07-13, pre-release)

### 🐛 Corrections

* Légère refonte ergonomique du formulaire sur le dénombrement (https://github.com/PnX-SI/gn_mobile_occtax/issues/114).
* Le champ de saisie "Max" suit la valeur du champ de saisie "Min" si ces deux valeurs sont identiques.

### ⚠️ Notes de version

* Code de version : 3061

## [2.3.0-rc3](https://github.com/PnX-SI/gn_mobile_occtax/releases/tag/2.3.0-rc3) (2022-07-04, pre-release)

### 🚀 Nouveautés

* Légère refonte ergonomique du formulaire sur le dénombrement (https://github.com/PnX-SI/gn_mobile_occtax/issues/114).

### 🐛 Corrections

* Le champ de saisie "Max" prend la valeur du champ de saisie "Min" si ce dernier est directement
modifié par l'utilisateur (https://github.com/PnX-SI/gn_mobile_occtax/issues/114).

### ⚠️ Notes de version

* Code de version : 3049

## [2.3.0-rc2](https://github.com/PnX-SI/gn_mobile_occtax/releases/tag/2.3.0-rc2) (2022-06-29, pre-release)

### 🚀 Nouveautés

* Refonte ergonomique des champs de saisie "Min" et "Max" (https://github.com/PnX-SI/gn_mobile_occtax/issues/114).

### 🐛 Corrections

* Possibilité de déplacer directement un marqueur existant via un "toucher long" sur la carte (https://github.com/PnX-SI/gn_mobile_occtax/issues/14).
* Ajustement d'ordre cosmétique sur le commentaire présenté à l'étape 1 du relevé (https://github.com/PnX-SI/gn_mobile_occtax/issues/140).

### ⚠️ Notes de version

* Code de version : 3041

## [2.3.0-rc1](https://github.com/PnX-SI/gn_mobile_occtax/releases/tag/2.3.0-rc1) (2022-06-25, pre-release)

### 🚀 Nouveautés

* Le commentaire du relevé est présent également à l'étape 1 du relevé, sous le choix de la date (https://github.com/PnX-SI/gn_mobile_occtax/issues/140).

### 🐛 Corrections

* Possibilité d'ajouter directement un marqueur via un "toucher long" sur la carte (https://github.com/PnX-SI/gn_mobile_occtax/issues/14).

### ⚠️ Notes de version

* Code de version : 3037

## [2.3.0-rc0](https://github.com/PnX-SI/gn_mobile_occtax/releases/tag/2.3.0-rc0) (2022-06-21, pre-release)

### 🚀 Nouveautés

* La rotation de la carte est bloquée par défaut (https://github.com/PnX-SI/gn_mobile_occtax/issues/139).
Son paramétrage reste accessible par configuration (cf. [README.md](https://github.com/PnX-SI/gn_mobile_maps/blob/develop/maps/README.md#parameters-description) du module).
* Possibilité d'ajouter directement un marqueur via un "toucher long" sur la carte (https://github.com/PnX-SI/gn_mobile_occtax/issues/14).

### 🐛 Corrections

* Suppression de la double vérification de la validité du cookie de session et du token de session (https://github.com/PnX-SI/gn_mobile_occtax/issues/163).
L'application reste "connectée" par défaut tant qu'elle ne reçoit pas en retour d'appel d'API une
erreur 401.
* Libellé du champ date plus clair quand seule la date de début du relevé est configurée (https://github.com/PnX-SI/gn_mobile_occtax/issues/165).

### ⚠️ Notes de version

* Code de version : 3025
* L'application est officiellement compatible avec les terminaux tournant sur Android 8.0 au minimum.

## [2.2.0](https://github.com/PnX-SI/gn_mobile_occtax/releases/tag/2.2.0) (2022-05-31, release)

### 🚀 Nouveautés
Expand Down
10 changes: 4 additions & 6 deletions docs/installation-fr.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,7 @@ Il est nécessaire de gérer les fichiers de configuration, l'installation et la

L'application *_Occtax-mobile_* se chargera alors de récupérer automatiquement sur le serveur GeoNature la dernière version du fichier de configuration des applications et détectera les éventuelles mises à jour disponibles pour l'application.

Pour cela, chargez l'APK de l'application *_Occtax-mobile_* ainsi que son fichier de configuration dans le fichier `settings.json` dans le dossier `$HOME/geonature/backend/static/mobile` du serveur GeoNature.

Au préalable, Il faut créer un dossier par application, car les fichiers de configuration de chaque application ont le même nom (`settings.json`),
Pour cela, chargez l'APK de l'application *_Occtax-mobile_* ainsi que son fichier de configuration `settings.json` dans le dossier `$HOME/geonature/backend/static/mobile/occtax` du serveur GeoNature.

Dans les commandes ci-dessous, remplacez `x.y.y` par le numéro (tag) de la version (release) utilisée.

Expand All @@ -60,7 +58,7 @@ cd $HOME/geonature/backend/static/mobile
mkdir occtax
----

​Télécharger la version de *_Occtax-mobile_* souhaitée :
Télécharger la version de *_Occtax-mobile_* souhaitée :

[source,shell]
----
Expand All @@ -72,9 +70,9 @@ Créer le fichier de settings `settings.json` en suivant https://github.com/PnX-

Renseigner ensuite la table `gn_commons.t_mobile_apps` de la base de données.

Pour trouver la valeur à renseigner dans le champs `version_code`, reportez-vous aux fichiers suivants en sélectionnant le tag de version où la branche que vous utilisez :
Pour trouver la valeur à renseigner dans le champs `version_code`, celui-ci est mentionné dans les releases, ou reportez-vous au fichier suivant en sélectionnant le tag de version où la branche que vous utilisez :

https://github.com/PnX-SI/gn_mobile_occtax/blob/master/occtax/version.properties
https://github.com/PnX-SI/gn_mobile_occtax/blob/master/occtax/build.gradle#L24

Ou avec l'outil `aapt` (`apt-get install aapt` pour l'installer), exécutez la commande `aapt dump badging applicationfile.apk | grep -Po "(?<=\sversion(Code|Name)'='')([0-9.]+)"`.

Expand Down
22 changes: 0 additions & 22 deletions gn_mobile_occtax.iml

This file was deleted.

6 changes: 4 additions & 2 deletions occtax/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ plugins {
id 'kotlin-kapt'
}

version = "2.2.0"

android {
compileSdkVersion 31

Expand All @@ -21,8 +23,8 @@ android {
applicationId "fr.geonature.occtax2"
minSdkVersion 26
targetSdkVersion 31
versionCode 3020
versionName "2.2.0"
versionCode 3070
versionName "2.3.0"
buildConfigField "String", "BUILD_DATE", "\"" + new Date().getTime() + "\""
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
archivesBaseName = project.name + "-" + versionName
Expand Down
6 changes: 0 additions & 6 deletions occtax/src/main/java/fr/geonature/occtax/MainApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import androidx.core.app.NotificationManagerCompat
import androidx.hilt.work.HiltWorkerFactory
import androidx.work.Configuration
import dagger.hilt.android.HiltAndroidApp
import fr.geonature.datasync.auth.worker.CheckAuthLoginWorker
import fr.geonature.datasync.packageinfo.worker.CheckInputsToSynchronizeWorker
import fr.geonature.mountpoint.model.MountPoint
import fr.geonature.mountpoint.util.FileUtils
Expand Down Expand Up @@ -45,7 +44,6 @@ class MainApplication : Application(), Configuration.Provider {
configureCheckInputsToSynchronizeChannel(notificationManager)
configureSynchronizeDataChannel(notificationManager)

checkAuthLogin()
checkInputsToSynchronize()
}

Expand Down Expand Up @@ -76,10 +74,6 @@ class MainApplication : Application(), Configuration.Provider {
Logger.info { "logs directory: '$directoryForLogs'" }
}

private fun checkAuthLogin() {
CheckAuthLoginWorker.enqueueUniquePeriodicWork(this)
}

private fun checkInputsToSynchronize() {
CheckInputsToSynchronizeWorker.enqueueUniquePeriodicWork(
this,
Expand Down
27 changes: 19 additions & 8 deletions occtax/src/main/java/fr/geonature/occtax/ui/home/HomeActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import android.content.Intent
import android.database.Cursor
import android.os.Bundle
import android.os.VibrationEffect
import android.os.Vibrator
import android.view.Menu
import android.view.MenuItem
Expand Down Expand Up @@ -210,18 +211,28 @@ class HomeActivity : AppCompatActivity() {
position: Int,
item: Input
) {
inputViewModel.deleteInput(item)

ContextCompat.getSystemService(
this@HomeActivity,
Vibrator::class.java
)?.vibrate(100)
)?.vibrate(
VibrationEffect.createOneShot(
100,
VibrationEffect.DEFAULT_AMPLITUDE
)
)

makeSnackbar(getString(R.string.home_snackbar_input_deleted))
?.setAction(R.string.home_snackbar_input_undo) {
inputViewModel.restoreDeletedInput()
AlertDialog.Builder(this@HomeActivity)
.setTitle(R.string.alert_dialog_input_delete_title)
.setPositiveButton(
R.string.alert_dialog_ok
) { dialog, _ ->
inputViewModel.deleteInput(item)
dialog.dismiss()
}
?.show()
.setNegativeButton(
R.string.alert_dialog_cancel
) { dialog, _ -> dialog.dismiss() }
.show()
}

override fun showEmptyTextView(show: Boolean) {
Expand Down Expand Up @@ -450,7 +461,7 @@ class HomeActivity : AppCompatActivity() {
HomeActivity::class.java,
MainApplication.CHANNEL_DATA_SYNCHRONIZATION
)

loadAppSettings()
}
onFailure(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package fr.geonature.occtax.ui.input.counting
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.os.VibrationEffect
import android.os.Vibrator
import android.view.LayoutInflater
import android.view.View
Expand All @@ -12,14 +13,13 @@ import android.widget.TextView
import android.widget.Toast
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat.getSystemService
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
import com.google.android.material.snackbar.Snackbar
import fr.geonature.commons.data.entity.Taxonomy
import fr.geonature.commons.input.AbstractInput
import fr.geonature.commons.ui.adapter.AbstractListItemRecyclerViewAdapter
Expand All @@ -45,7 +45,6 @@ class CountingFragment : Fragment(),

private var input: Input? = null
private var adapter: CountingRecyclerViewAdapter? = null
private var contentView: CoordinatorLayout? = null
private var recyclerView: RecyclerView? = null
private var emptyTextView: TextView? = null
private var fab: ExtendedFloatingActionButton? = null
Expand Down Expand Up @@ -84,7 +83,6 @@ class CountingFragment : Fragment(),
savedInstanceState
)

contentView = view.findViewById(android.R.id.content)
recyclerView = view.findViewById(android.R.id.list)

emptyTextView = view.findViewById(android.R.id.empty)
Expand All @@ -109,35 +107,31 @@ class CountingFragment : Fragment(),
position: Int,
item: CountingMetadata
) {
adapter?.remove(item)
(input?.getCurrentSelectedInputTaxon() as InputTaxon?)?.deleteCountingMetadata(item.index)
(activity as AbstractPagerFragmentActivity?)?.validateCurrentPage()

context?.run {
@Suppress("DEPRECATION")
getSystemService(
this,
Vibrator::class.java
)?.vibrate(100)
}

contentView?.also {
Snackbar.make(
it,
R.string.counting_snackbar_counting_deleted,
Snackbar.LENGTH_LONG
)?.vibrate(
VibrationEffect.createOneShot(
100,
VibrationEffect.DEFAULT_AMPLITUDE
)
)
.setAction(
R.string.counting_snackbar_counting_undo
) {
adapter?.add(
item,
position
)
(input?.getCurrentSelectedInputTaxon() as InputTaxon?)?.addCountingMetadata(
item
)

AlertDialog.Builder(this)
.setTitle(R.string.alert_dialog_counting_delete_title)
.setPositiveButton(
R.string.alert_dialog_ok
) { dialog, _ ->
adapter?.remove(item)
(input?.getCurrentSelectedInputTaxon() as InputTaxon?)?.deleteCountingMetadata(item.index)
(activity as AbstractPagerFragmentActivity?)?.validateCurrentPage()

dialog.dismiss()
}
.setNegativeButton(
R.string.alert_dialog_cancel
) { dialog, _ -> dialog.dismiss() }
.show()
}
}
Expand Down
Loading

0 comments on commit 15807c9

Please sign in to comment.