From 9d8911751ca141f0560cc72bf378a94ae091ed20 Mon Sep 17 00:00:00 2001
From: neubauerm <michal.neubauer@quanti.cz>
Date: Thu, 14 Sep 2023 11:10:52 +0200
Subject: [PATCH 1/9] fix: PIN-5374 redirect demo account to DEMO env

---
 .../main/java/cz/applifting/humansis/ui/login/LoginFragment.kt  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/src/main/java/cz/applifting/humansis/ui/login/LoginFragment.kt b/app/src/main/java/cz/applifting/humansis/ui/login/LoginFragment.kt
index bd3e4ace..afffe015 100644
--- a/app/src/main/java/cz/applifting/humansis/ui/login/LoginFragment.kt
+++ b/app/src/main/java/cz/applifting/humansis/ui/login/LoginFragment.kt
@@ -67,7 +67,7 @@ class LoginFragment : Fragment(), CoroutineScope, LoginFinishCallback {
             val username = et_username.text.toString()
             btn_login.isEnabled = false
             if (username.equals(BuildConfig.DEMO_ACCOUNT, true)) {
-                changeEnvironment(ApiEnvironment.Stage)
+                changeEnvironment(ApiEnvironment.Demo)
             }
             viewModel.login(username, et_password.text.toString(), this)
         }
-- 
GitLab


From aa4d22b8804816895885c180f49ac5182bbd0172 Mon Sep 17 00:00:00 2001
From: neubauerm <michal.neubauer@quanti.cz>
Date: Thu, 14 Sep 2023 11:11:02 +0200
Subject: [PATCH 2/9] ref: add TODO

---
 .../cz/applifting/humansis/api/interceptor/HeadersInterceptor.kt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/src/main/java/cz/applifting/humansis/api/interceptor/HeadersInterceptor.kt b/app/src/main/java/cz/applifting/humansis/api/interceptor/HeadersInterceptor.kt
index cd412827..2b4cbe95 100644
--- a/app/src/main/java/cz/applifting/humansis/api/interceptor/HeadersInterceptor.kt
+++ b/app/src/main/java/cz/applifting/humansis/api/interceptor/HeadersInterceptor.kt
@@ -63,6 +63,7 @@ class HeadersInterceptor(
                     )
                 }
             } ?: run {
+                // TODO neresit authorization header pri login requestu
                 Log.e(
                     TAG,
                     "Refresh token not available. Not using Authorization token expecting a 401 response error code."
-- 
GitLab


From 31075d18a46f3aa58d5197ade63f66e1d0e9808d Mon Sep 17 00:00:00 2001
From: neubauerm <michal.neubauer@quanti.cz>
Date: Thu, 14 Sep 2023 11:11:55 +0200
Subject: [PATCH 3/9] ref: VERSION 3.12.1

---
 app/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/build.gradle b/app/build.gradle
index a5819a7e..e69e196c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -33,7 +33,7 @@ def VERSION_MAJOR = 3
 // Minor updates are backward compatible, meaning consumers can upgrade freely. Main for non-breaking new functionality.
 def VERSION_MINOR = 12
 // Patch updates are interchangeable, meaning consumers can upgrade or downgrade freely. Mainly for bugfixing.
-def VERSION_PATCH = 0
+def VERSION_PATCH = 1
 
 String APK_NAME = "field-app"
 String VERSION_NAME = "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
-- 
GitLab


From 08333ba1a758df22d6f6009df597eadeec4923a0 Mon Sep 17 00:00:00 2001
From: Michal Neubauer <michal.neubauer@quanti.cz>
Date: Fri, 13 Oct 2023 11:24:33 +0000
Subject: [PATCH 4/9] ref: VERSION 3.13.0

---
 app/build.gradle | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index e69e196c..0d96dcca 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -31,9 +31,9 @@ def gitVersionCode = { boolean isFileName ->
 // Major updates are non-compatible, meaning consumers can not upgrade without changing their software where applicable.
 def VERSION_MAJOR = 3
 // Minor updates are backward compatible, meaning consumers can upgrade freely. Main for non-breaking new functionality.
-def VERSION_MINOR = 12
+def VERSION_MINOR = 13
 // Patch updates are interchangeable, meaning consumers can upgrade or downgrade freely. Mainly for bugfixing.
-def VERSION_PATCH = 1
+def VERSION_PATCH = 3
 
 String APK_NAME = "field-app"
 String VERSION_NAME = "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
-- 
GitLab


From 355d8a0fb4abedbe65e44754cd540b9911dd863b Mon Sep 17 00:00:00 2001
From: Michal Neubauer <michal.neubauer@quanti.cz>
Date: Tue, 17 Oct 2023 08:33:19 +0000
Subject: [PATCH 5/9] REF: VERSION 3.13.0

---
 app/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/build.gradle b/app/build.gradle
index 0d96dcca..e679e08e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -33,7 +33,7 @@ def VERSION_MAJOR = 3
 // Minor updates are backward compatible, meaning consumers can upgrade freely. Main for non-breaking new functionality.
 def VERSION_MINOR = 13
 // Patch updates are interchangeable, meaning consumers can upgrade or downgrade freely. Mainly for bugfixing.
-def VERSION_PATCH = 3
+def VERSION_PATCH = 0
 
 String APK_NAME = "field-app"
 String VERSION_NAME = "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
-- 
GitLab


From d5f25843711b58c020f88518e5f9650709d4f1cb Mon Sep 17 00:00:00 2001
From: neubauerm <michal.neubauer@quanti.cz>
Date: Mon, 23 Oct 2023 16:00:21 +0200
Subject: [PATCH 6/9] feat: PIN-5328 raise target SDK to 34

---
 app/build.gradle                                 |  4 ++--
 .../applifting/humansis/ui/main/MainFragment.kt  | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index e679e08e..615efa64 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -47,14 +47,14 @@ repositories {
 
 android {
 
-    compileSdkVersion 31
+    compileSdk 34
 
     ndkVersion "23.0.7599858"
 
     defaultConfig {
         applicationId "org.humansis.app.user"
         minSdkVersion 21
-        targetSdkVersion 31
+        targetSdkVersion 34
         versionCode gitVersionCode(false)
         versionName VERSION_NAME
         setProperty("archivesBaseName", VERSION_FULL_NAME_FILE)
diff --git a/app/src/main/java/cz/applifting/humansis/ui/main/MainFragment.kt b/app/src/main/java/cz/applifting/humansis/ui/main/MainFragment.kt
index 9937f71e..9bf664e4 100644
--- a/app/src/main/java/cz/applifting/humansis/ui/main/MainFragment.kt
+++ b/app/src/main/java/cz/applifting/humansis/ui/main/MainFragment.kt
@@ -188,33 +188,33 @@ class MainFragment : BaseFragment() {
         // A fix for action with custom layout
         // https://stackoverflow.com/a/35265797
         val item = menu.findItem(action_open_status_dialog)
-        item.actionView.setOnClickListener {
+        item.actionView?.setOnClickListener {
             onOptionsItemSelected(item)
         }
 
-        val pbSyncProgress = item.actionView.findViewById<ProgressBar>(R.id.pb_sync_progress)
-        pbSyncProgress.setBackgroundColor(getBackgroundColor())
-        val ivStatus = item.actionView.findViewById<ImageView>(R.id.iv_status)
+        val pbSyncProgress = item.actionView?.findViewById<ProgressBar>(R.id.pb_sync_progress)
+        pbSyncProgress?.setBackgroundColor(getBackgroundColor())
+        val ivStatus = item.actionView?.findViewById<ImageView>(R.id.iv_status)
 
         sharedViewModel.getNetworkStatus().observe(viewLifecycleOwner) { available ->
             val drawable = if (available) R.drawable.ic_online else R.drawable.ic_offline
-            ivStatus.simpleDrawable(drawable)
+            ivStatus?.simpleDrawable(drawable)
             if (available && requireContext().isWifiConnected()) {
                 viewModel.enqueueSynchronization.call()
             }
         }
 
         sharedViewModel.syncNeededLD.observe(viewLifecycleOwner) {
-            item.actionView.iv_pending_changes.visibility = if (it) View.VISIBLE else View.INVISIBLE
+            item.actionView?.iv_pending_changes?.visibility = if (it) View.VISIBLE else View.INVISIBLE
         }
 
         // show sync in toolbar only on settings screen, because there is no other progress indicator when country is updated
         sharedViewModel.syncState.observe(viewLifecycleOwner) {
-            pbSyncProgress.visible(it.isLoading && mainNavController.currentDestination?.id == R.id.settingsFragment)
+            pbSyncProgress?.visible(it.isLoading && mainNavController.currentDestination?.id == R.id.settingsFragment)
         }
         onDestinationChangedListener =
             NavController.OnDestinationChangedListener { _, destination, _ ->
-                pbSyncProgress.visible(destination.id == R.id.settingsFragment && sharedViewModel.syncState.value?.isLoading == true)
+                pbSyncProgress?.visible(destination.id == R.id.settingsFragment && sharedViewModel.syncState.value?.isLoading == true)
             }
         mainNavController.addOnDestinationChangedListener(onDestinationChangedListener)
 
-- 
GitLab


From cd0384067cefcb74d2f88e4c568b202009c610d3 Mon Sep 17 00:00:00 2001
From: Michal Neubauer <michal.neubauer@quanti.cz>
Date: Tue, 24 Oct 2023 09:28:43 +0000
Subject: [PATCH 7/9] ref: VERSION 3.13.1

---
 app/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/build.gradle b/app/build.gradle
index 615efa64..a0768ab6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -33,7 +33,7 @@ def VERSION_MAJOR = 3
 // Minor updates are backward compatible, meaning consumers can upgrade freely. Main for non-breaking new functionality.
 def VERSION_MINOR = 13
 // Patch updates are interchangeable, meaning consumers can upgrade or downgrade freely. Mainly for bugfixing.
-def VERSION_PATCH = 0
+def VERSION_PATCH = 1
 
 String APK_NAME = "field-app"
 String VERSION_NAME = "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
-- 
GitLab


From 2e84921c3a423dff51705b0bccd013e7f5de714f Mon Sep 17 00:00:00 2001
From: neubauerm <michal.neubauer@quanti.cz>
Date: Tue, 24 Oct 2023 13:03:12 +0200
Subject: [PATCH 8/9] fix: PIN-5328 update kotlin logger

---
 app/build.gradle                              |   8 +-
 .../humansis/misc/SendLogDialogFragment.kt    | 215 ------------------
 .../humansis/ui/login/LoginFragment.kt        |   2 +-
 .../humansis/ui/main/MainFragment.kt          |   2 +-
 .../ui/main/settings/SettingsFragment.kt      |   2 +-
 build.gradle                                  |   3 +-
 6 files changed, 8 insertions(+), 224 deletions(-)
 delete mode 100644 app/src/main/java/cz/applifting/humansis/misc/SendLogDialogFragment.kt

diff --git a/app/build.gradle b/app/build.gradle
index a0768ab6..be0a84d8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -145,7 +145,7 @@ android {
 }
 
 configurations {
-    all {
+    configureEach {
         // exclude old hamcrests (from junit4 etc.) so we can use the newer one without conflicts
         exclude group: "org.hamcrest", module: "hamcrest-core"
         exclude group: "org.hamcrest", module: "hamcrest-library"
@@ -222,7 +222,7 @@ dependencies {
     implementation "android.arch.lifecycle:reactivestreams:1.0.0-beta2"
 
     // Kotlin logger
-    def kotlin_logger_version = '2.2.6'
+    def kotlin_logger_version = '2.2.12'
     implementation "com.github.Qase:KotlinLogger:$kotlin_logger_version"
 
     // ktlint
@@ -242,7 +242,7 @@ dependencies {
 
 }
 
-task ktlint(type: JavaExec, group: "verification") {
+tasks.register('ktlint', JavaExec) {
     description = "Check Kotlin code style."
     main = "com.pinterest.ktlint.Main"
     classpath = configurations.ktlint
@@ -253,7 +253,7 @@ task ktlint(type: JavaExec, group: "verification") {
 }
 check.dependsOn ktlint
 
-task ktlintFormat(type: JavaExec, group: "formatting") {
+tasks.register('ktlintFormat', JavaExec) {
     description = "Fix Kotlin code style deviations."
     main = "com.pinterest.ktlint.Main"
     classpath = configurations.ktlint
diff --git a/app/src/main/java/cz/applifting/humansis/misc/SendLogDialogFragment.kt b/app/src/main/java/cz/applifting/humansis/misc/SendLogDialogFragment.kt
deleted file mode 100644
index 3c579101..00000000
--- a/app/src/main/java/cz/applifting/humansis/misc/SendLogDialogFragment.kt
+++ /dev/null
@@ -1,215 +0,0 @@
-package cz.applifting.humansis.misc
-
-import android.app.AlertDialog
-import android.app.Dialog
-import android.content.Intent
-import android.content.pm.PackageManager
-import android.content.pm.ResolveInfo
-import android.os.Bundle
-import android.widget.Toast
-import androidx.core.view.isVisible
-import androidx.fragment.app.DialogFragment
-import cz.applifting.humansis.R
-import cz.applifting.humansis.databinding.DialogLogsBinding
-import kotlinx.android.synthetic.main.dialog_card_message.view.message
-import kotlinx.android.synthetic.main.dialog_logs.view.*
-import kotlinx.coroutines.*
-import quanti.com.kotlinlog.Log
-import quanti.com.kotlinlog.utils.*
-import java.io.File
-
-/**
- * Created by Trnka Vladislav on 20.06.2017.
- *
- * Dialog that shows user options to save or send logs
- */
-
-class SendLogDialogFragment : DialogFragment() {
-
-    // TODO temporary hotfix, delete after implementing fixed version of kotlinlogger
-
-    companion object {
-        const val MESSAGE = "send_message"
-        const val TITLE = "send_title"
-        const val EMAIL_BUTTON_TEXT = "email_button"
-        const val FILE_BUTTON_TEXT = "file_button"
-        const val SEND_EMAIL_ADDRESSES = "send_address"
-        const val EXTRA_FILES = "extra_files"
-        const val DIALOG_THEME = "dialog_theme"
-        private val TAG = SendLogDialogFragment::class.java.simpleName
-
-        @JvmOverloads
-        @JvmStatic
-        fun newInstance(
-            sendEmailAddress: String,
-            message: String = "Would you like to send logs by email or save them to SD card?",
-            title: String = "Send logs",
-            emailButtonText: String = "Email",
-            fileButtonText: String = "Save",
-            extraFiles: List<File> = arrayListOf(),
-            dialogTheme: Int? = null
-        ) = newInstance(
-            arrayOf(sendEmailAddress),
-            message,
-            title,
-            emailButtonText,
-            fileButtonText,
-            extraFiles,
-            dialogTheme
-        )
-
-        @JvmOverloads
-        @JvmStatic
-        fun newInstance(
-            sendEmailAddress: Array<String>,
-            message: String = "Would you like to send logs by email or save them to SD card?",
-            title: String = "Send logs",
-            emailButtonText: String = "Email",
-            fileButtonText: String = "Save",
-            extraFiles: List<File> = arrayListOf(),
-            dialogTheme: Int? = null
-        ): SendLogDialogFragment {
-            val myFragment = SendLogDialogFragment()
-
-            val args = Bundle()
-            args.putString(MESSAGE, message)
-            args.putString(TITLE, title)
-            args.putString(EMAIL_BUTTON_TEXT, emailButtonText)
-            args.putString(FILE_BUTTON_TEXT, fileButtonText)
-            args.putStringArray(SEND_EMAIL_ADDRESSES, sendEmailAddress)
-            args.putSerializable(EXTRA_FILES, ArrayList(extraFiles))
-            if (dialogTheme != null) {
-                args.putInt(DIALOG_THEME, dialogTheme)
-            }
-
-            myFragment.arguments = args
-
-            return myFragment
-        }
-    }
-
-    private var zipFile: Deferred<File>? = null
-
-    private lateinit var dialogLogsBinding: DialogLogsBinding
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        zipFile = CoroutineScope(Dispatchers.IO).async {
-            val extraFiles = requireArguments().getSerializable(EXTRA_FILES) as ArrayList<File>
-            getZipOfLogs(requireActivity().applicationContext, 48, extraFiles)
-        }
-    }
-
-    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
-        dialogLogsBinding = DialogLogsBinding.inflate(layoutInflater)
-
-        val hasFilePermission = requireActivity().applicationContext.hasFileWritePermission()
-
-        val dialog = AlertDialog.Builder(requireContext(), requireArguments().getInt(DIALOG_THEME))
-            .apply {
-                setView(dialogLogsBinding.root.apply {
-                    this.title.text = requireArguments().getString(TITLE)
-                    this.message.text = requireArguments().getString(MESSAGE)
-                })
-                setPositiveButton(requireArguments().getString(EMAIL_BUTTON_TEXT)) { _, _ -> }
-                if (hasFilePermission) {
-                    setNeutralButton(requireArguments().getString(FILE_BUTTON_TEXT)) { _, _ -> }
-                }
-            }.create()
-
-        dialog.show()
-
-        dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
-            Log.d(TAG, "Positive Button Clicked")
-            showProgress(dialog)
-            shareLogs(dialog)
-        }
-
-        dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setOnClickListener {
-            Log.d(TAG, "Neutral button clicked")
-            showProgress(dialog)
-            saveLogs(dialog)
-        }
-
-        return dialog
-    }
-
-    /**
-     * On button click
-     * Update dialog UI to show progress
-     */
-    private fun showProgress(dialog: AlertDialog) {
-        dialog.setCancelable(false)
-        dialog.getButton(AlertDialog.BUTTON_POSITIVE).isEnabled = false
-        dialog.getButton(AlertDialog.BUTTON_NEUTRAL).isEnabled = false
-        dialogLogsBinding.message.text = requireContext().getString(R.string.preparing_logs)
-        dialogLogsBinding.progressBar.isVisible = true
-    }
-
-    /**
-     * On positive button click
-     * Create zip of all logs and open email client to send
-     */
-    private fun shareLogs(dialog: AlertDialog) = CoroutineScope(Dispatchers.Main).launch {
-
-        val appContext = this@SendLogDialogFragment.requireContext().applicationContext
-
-        val addresses = requireArguments().getStringArray(SEND_EMAIL_ADDRESSES)
-        val subject = getString(R.string.logs_email_subject) + " " + getFormattedFileNameDayNow()
-        val bodyText = getString(R.string.logs_email_text)
-
-        // await non block's current thread
-        val zipFileUri = zipFile?.await()?.getUriForFile(appContext)
-
-        val intent = Intent(Intent.ACTION_SEND).apply {
-            type = "message/rfc822" // email
-            flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
-            putExtra(Intent.EXTRA_EMAIL, addresses)
-            putExtra(Intent.EXTRA_SUBJECT, subject)
-            putExtra(Intent.EXTRA_TEXT, bodyText)
-            putExtra(Intent.EXTRA_STREAM, zipFileUri)
-        }
-
-        val resInfoList: List<ResolveInfo> = requireContext().packageManager
-            .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY)
-        for (resolveInfo in resInfoList) {
-            val packageName = resolveInfo.activityInfo.packageName
-            requireContext().grantUriPermission(
-                packageName,
-                zipFileUri,
-                Intent.FLAG_GRANT_WRITE_URI_PERMISSION or Intent.FLAG_GRANT_READ_URI_PERMISSION
-            )
-        }
-
-        dialog.dismiss()
-
-        try {
-            startActivity(Intent.createChooser(intent, "Send mail..."))
-        } catch (ex: android.content.ActivityNotFoundException) {
-            Toast.makeText(
-                appContext,
-                getString(R.string.logs_email_no_client_installed),
-                Toast.LENGTH_LONG
-            ).show()
-        }
-    }
-
-    /**
-     * On neutral button click
-     * Copy ZIP of all logs to sd card
-     */
-    private fun saveLogs(dialog: AlertDialog) = CoroutineScope(Dispatchers.Main).launch {
-
-        val appContext = this@SendLogDialogFragment.requireContext().applicationContext
-
-        val file = zipFile?.await()?.copyLogsTOSDCard(requireContext())
-
-        dialog.dismiss()
-
-        Toast.makeText(
-            appContext,
-            "File successfully copied" + "\n" + file?.absolutePath,
-            Toast.LENGTH_LONG
-        ).show()
-    }
-}
diff --git a/app/src/main/java/cz/applifting/humansis/ui/login/LoginFragment.kt b/app/src/main/java/cz/applifting/humansis/ui/login/LoginFragment.kt
index afffe015..fc8c2a1d 100644
--- a/app/src/main/java/cz/applifting/humansis/ui/login/LoginFragment.kt
+++ b/app/src/main/java/cz/applifting/humansis/ui/login/LoginFragment.kt
@@ -13,7 +13,6 @@ import androidx.navigation.fragment.findNavController
 import cz.applifting.humansis.BuildConfig
 import cz.applifting.humansis.R
 import cz.applifting.humansis.misc.ApiEnvironment
-import cz.applifting.humansis.misc.SendLogDialogFragment
 import cz.applifting.humansis.ui.App
 import kotlinx.android.synthetic.main.fragment_login.btn_login
 import kotlinx.android.synthetic.main.fragment_login.envTextView
@@ -28,6 +27,7 @@ import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.Job
 import quanti.com.kotlinlog.Log
+import quanti.com.kotlinlog.file.SendLogDialogFragment
 import javax.inject.Inject
 import kotlin.coroutines.CoroutineContext
 
diff --git a/app/src/main/java/cz/applifting/humansis/ui/main/MainFragment.kt b/app/src/main/java/cz/applifting/humansis/ui/main/MainFragment.kt
index 9bf664e4..767ba107 100644
--- a/app/src/main/java/cz/applifting/humansis/ui/main/MainFragment.kt
+++ b/app/src/main/java/cz/applifting/humansis/ui/main/MainFragment.kt
@@ -31,7 +31,6 @@ import cz.applifting.humansis.extensions.simpleDrawable
 import cz.applifting.humansis.extensions.visible
 import cz.applifting.humansis.misc.ApiEnvironment
 import cz.applifting.humansis.misc.HumansisError
-import cz.applifting.humansis.misc.SendLogDialogFragment
 import cz.applifting.humansis.ui.BaseFragment
 import cz.applifting.humansis.ui.HumansisActivity
 import kotlinx.android.synthetic.main.app_bar_main.nav_host_fragment
@@ -41,6 +40,7 @@ import kotlinx.android.synthetic.main.fragment_main.drawer_layout
 import kotlinx.android.synthetic.main.fragment_main.nav_view
 import kotlinx.android.synthetic.main.menu_status_button.view.iv_pending_changes
 import quanti.com.kotlinlog.Log
+import quanti.com.kotlinlog.file.SendLogDialogFragment
 
 /**
  * Created by Petr Kubes <petr.kubes@applifting.cz> on 14, August, 2019
diff --git a/app/src/main/java/cz/applifting/humansis/ui/main/settings/SettingsFragment.kt b/app/src/main/java/cz/applifting/humansis/ui/main/settings/SettingsFragment.kt
index 25647d8b..84657934 100644
--- a/app/src/main/java/cz/applifting/humansis/ui/main/settings/SettingsFragment.kt
+++ b/app/src/main/java/cz/applifting/humansis/ui/main/settings/SettingsFragment.kt
@@ -9,7 +9,6 @@ import androidx.fragment.app.viewModels
 import com.google.android.material.snackbar.Snackbar
 import cz.applifting.humansis.R
 import cz.applifting.humansis.extensions.isNetworkConnected
-import cz.applifting.humansis.misc.SendLogDialogFragment
 import cz.applifting.humansis.model.Country
 import cz.applifting.humansis.ui.App
 import cz.applifting.humansis.ui.BaseFragment
@@ -17,6 +16,7 @@ import cz.applifting.humansis.ui.HumansisActivity
 import kotlinx.android.synthetic.main.fragment_settings.*
 import kotlinx.coroutines.launch
 import quanti.com.kotlinlog.Log
+import quanti.com.kotlinlog.file.SendLogDialogFragment
 
 /**
  * Created by Vaclav Legat <vaclav.legat@applifting.cz>
diff --git a/build.gradle b/build.gradle
index 4a9492d2..2f516481 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,7 +2,6 @@
 
 buildscript {
     ext.kotlin_version = '1.4.31'
-    ext.kotlin_logger_version = '2.2.6'
     ext.nav_version = '2.3.5' // version 2.4.1 depends on kotlin 1.6.0 which is buggy (caused crash when opening BeneficiariesFragment)
     repositories {
         google()
@@ -42,6 +41,6 @@ allprojects {
     }
 }
 
-task clean(type: Delete) {
+tasks.register('clean', Delete) {
     delete rootProject.buildDir
 }
-- 
GitLab


From c10dc75e822407b62201a4fae9642cb4325fa83f Mon Sep 17 00:00:00 2001
From: neubauerm <michal.neubauer@quanti.cz>
Date: Tue, 24 Oct 2023 14:20:19 +0200
Subject: [PATCH 9/9] fix: PIN-5328 update retrofit

---
 app/build.gradle | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index be0a84d8..69977274 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -193,8 +193,8 @@ dependencies {
     implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
 
     // Retrofit
-    implementation "com.squareup.retrofit2:retrofit:2.6.1"
-    implementation "com.squareup.retrofit2:converter-gson:2.6.1"
+    implementation "com.squareup.retrofit2:retrofit:2.9.0"
+    implementation "com.squareup.retrofit2:converter-gson:2.9.0"
 
     // Coroutines
     implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0'
-- 
GitLab