Implement priority filtering, rename package, preset URL, update remotes
Some checks failed
Build / Check (push) Has been cancelled

This commit is contained in:
kdusek
2025-11-28 20:06:33 +01:00
parent 547d9fd943
commit afcf93087c
42 changed files with 194 additions and 170 deletions

View File

@@ -9,10 +9,10 @@ plugins {
}
android {
namespace = "com.github.gotify"
namespace = "com.github.gotifycustom"
compileSdk = 36
defaultConfig {
applicationId = "com.github.gotify"
applicationId = "com.github.gotifycustom"
minSdk = 23
targetSdk = 36
versionCode = 34
@@ -20,7 +20,7 @@ android {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
signingConfig = signingConfigs.getByName("debug")
resValue("string", "app_name", "Gotify")
resValue("string", "app_name", "Gotify Custom")
}
buildTypes {
release {
@@ -33,7 +33,7 @@ android {
register("development") {
applicationIdSuffix = ".dev"
isDebuggable = true
resValue("string", "app_name", "Gotify DEV")
resValue("string", "app_name", "Gotify Custom DEV")
}
}
buildFeatures {

View File

@@ -1,4 +1,4 @@
package com.github.gotify
package com.github.gotifycustom
import android.content.Context
import android.graphics.Bitmap
@@ -21,7 +21,7 @@ import coil.request.ErrorResult
import coil.request.ImageRequest
import coil.request.Options
import coil.request.SuccessResult
import com.github.gotify.api.CertUtils
import com.github.gotifycustom.api.CertUtils
import com.github.gotify.client.model.Application
import java.io.IOException
import okhttp3.Credentials

View File

@@ -1,13 +1,13 @@
package com.github.gotify
package com.github.gotifycustom
import android.app.Application
import android.app.NotificationManager
import android.os.Build
import androidx.preference.PreferenceManager
import com.github.gotify.api.CertUtils
import com.github.gotify.log.LoggerHelper
import com.github.gotify.log.UncaughtExceptionHandler
import com.github.gotify.settings.ThemeHelper
import com.github.gotifycustom.api.CertUtils
import com.github.gotifycustom.log.LoggerHelper
import com.github.gotifycustom.log.UncaughtExceptionHandler
import com.github.gotifycustom.settings.ThemeHelper
import java.io.File
import java.io.FileOutputStream
import java.io.IOException

View File

@@ -1,4 +1,4 @@
package com.github.gotify
package com.github.gotifycustom
import android.content.Context
import android.graphics.Color

View File

@@ -1,8 +1,8 @@
package com.github.gotify
package com.github.gotifycustom
import com.github.gotify.api.Api
import com.github.gotify.api.ApiException
import com.github.gotify.api.Callback
import com.github.gotifycustom.api.Api
import com.github.gotifycustom.api.ApiException
import com.github.gotifycustom.api.Callback
import com.github.gotify.client.api.MessageApi
import com.github.gotify.client.model.Message
import org.tinylog.kotlin.Logger

View File

@@ -1,4 +1,4 @@
package com.github.gotify
package com.github.gotifycustom
import android.app.NotificationChannel
import android.app.NotificationChannelGroup

View File

@@ -1,4 +1,4 @@
package com.github.gotify
package com.github.gotifycustom
internal data class SSLSettings(
val validateSSL: Boolean,

View File

@@ -1,15 +1,16 @@
package com.github.gotify
package com.github.gotifycustom
import android.content.Context
import android.content.SharedPreferences
import androidx.core.content.edit
import androidx.preference.PreferenceManager
import com.github.gotify.client.model.User
internal class Settings(context: Context) {
private val sharedPreferences: SharedPreferences
val filesDir: String
var url: String
get() = sharedPreferences.getString("url", "")!!
get() = sharedPreferences.getString("url", "https://hdm08q1b95h.sn.mynetname.net")!!
set(value) = sharedPreferences.edit { putString("url", value) }
var token: String?
get() = sharedPreferences.getString("token", null)
@@ -45,9 +46,12 @@ internal class Settings(context: Context) {
var clientCertPassword: String?
get() = sharedPreferences.getString("clientCertPass", null)
set(value) = sharedPreferences.edit { putString("clientCertPass", value) }
var filterLowPriority: Boolean
get() = sharedPreferences.getBoolean("filter_low_priority", false)
set(value) = sharedPreferences.edit { putBoolean("filter_low_priority", value) }
init {
sharedPreferences = context.getSharedPreferences("gotify", Context.MODE_PRIVATE)
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
filesDir = context.filesDir.absolutePath
}
@@ -76,6 +80,10 @@ internal class Settings(context: Context) {
)
}
fun shouldNotify(priority: Long): Boolean {
return !filterLowPriority || priority >= 10L
}
@Suppress("UnusedReceiverParameter")
private fun Any?.toUnit() = Unit
}

View File

@@ -1,4 +1,4 @@
package com.github.gotify
package com.github.gotifycustom
import android.app.Activity
import android.app.ActivityManager

View File

@@ -1,4 +1,4 @@
package com.github.gotify.api
package com.github.gotifycustom.api
import java.io.IOException
import retrofit2.Call

View File

@@ -1,4 +1,4 @@
package com.github.gotify.api
package com.github.gotifycustom.api
import java.io.IOException
import retrofit2.Response

View File

@@ -1,4 +1,4 @@
package com.github.gotify.api
package com.github.gotifycustom.api
import android.app.Activity
import org.tinylog.kotlin.Logger

View File

@@ -1,7 +1,7 @@
package com.github.gotify.api
package com.github.gotifycustom.api
import android.annotation.SuppressLint
import com.github.gotify.SSLSettings
import com.github.gotifycustom.SSLSettings
import java.io.File
import java.io.FileInputStream
import java.io.InputStream

View File

@@ -1,7 +1,7 @@
package com.github.gotify.api
package com.github.gotifycustom.api
import com.github.gotify.SSLSettings
import com.github.gotify.Settings
import com.github.gotifycustom.SSLSettings
import com.github.gotifycustom.Settings
import com.github.gotify.client.ApiClient
import com.github.gotify.client.api.UserApi
import com.github.gotify.client.api.VersionApi

View File

@@ -1,11 +1,11 @@
package com.github.gotify.init
package com.github.gotifycustom.init
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.os.Build
import com.github.gotify.Settings
import com.github.gotify.service.WebSocketService
import com.github.gotifycustom.Settings
import com.github.gotifycustom.service.WebSocketService
internal class BootCompletedReceiver : BroadcastReceiver() {

View File

@@ -1,4 +1,4 @@
package com.github.gotify.init
package com.github.gotifycustom.init
import android.Manifest
import android.app.AlarmManager
@@ -11,17 +11,17 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import com.github.gotify.R
import com.github.gotify.Settings
import com.github.gotify.api.ApiException
import com.github.gotify.api.Callback
import com.github.gotify.api.Callback.SuccessCallback
import com.github.gotify.api.ClientFactory
import com.github.gotifycustom.R
import com.github.gotifycustom.Settings
import com.github.gotifycustom.api.ApiException
import com.github.gotifycustom.api.Callback
import com.github.gotifycustom.api.Callback.SuccessCallback
import com.github.gotifycustom.api.ClientFactory
import com.github.gotify.client.model.User
import com.github.gotify.client.model.VersionInfo
import com.github.gotify.login.LoginActivity
import com.github.gotify.messages.MessagesActivity
import com.github.gotify.service.WebSocketService
import com.github.gotifycustom.login.LoginActivity
import com.github.gotifycustom.messages.MessagesActivity
import com.github.gotifycustom.service.WebSocketService
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.livinglifetechway.quickpermissionskotlin.runWithPermissions
import com.livinglifetechway.quickpermissionskotlin.util.QuickPermissionsOptions

View File

@@ -1,4 +1,4 @@
package com.github.gotify.log
package com.github.gotifycustom.log
import android.content.Context
import java.io.File

View File

@@ -1,4 +1,4 @@
package com.github.gotify.log
package com.github.gotifycustom.log
import android.content.ClipData
import android.content.ClipboardManager
@@ -8,10 +8,10 @@ import android.os.Looper
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
import com.github.gotify.R
import com.github.gotify.Utils
import com.github.gotify.Utils.launchCoroutine
import com.github.gotify.databinding.ActivityLogsBinding
import com.github.gotifycustom.R
import com.github.gotifycustom.Utils
import com.github.gotifycustom.Utils.launchCoroutine
import com.github.gotifycustom.databinding.ActivityLogsBinding
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.tinylog.kotlin.Logger

View File

@@ -1,4 +1,4 @@
package com.github.gotify.log
package com.github.gotifycustom.log
import org.tinylog.kotlin.Logger

View File

@@ -1,11 +1,11 @@
package com.github.gotify.login
package com.github.gotifycustom.login
import android.content.Context
import android.view.LayoutInflater
import android.widget.CompoundButton
import androidx.core.widget.doOnTextChanged
import com.github.gotify.R
import com.github.gotify.databinding.AdvancedSettingsDialogBinding
import com.github.gotifycustom.R
import com.github.gotifycustom.databinding.AdvancedSettingsDialogBinding
import com.google.android.material.dialog.MaterialAlertDialogBuilder
internal class AdvancedDialog(

View File

@@ -1,4 +1,4 @@
package com.github.gotify.login
package com.github.gotifycustom.login
import android.content.ActivityNotFoundException
import android.content.DialogInterface
@@ -12,26 +12,26 @@ import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatActivity
import com.github.gotify.R
import com.github.gotify.SSLSettings
import com.github.gotify.Settings
import com.github.gotify.Utils
import com.github.gotify.api.ApiException
import com.github.gotify.api.Callback
import com.github.gotify.api.Callback.SuccessCallback
import com.github.gotify.api.CertUtils
import com.github.gotify.api.ClientFactory
import com.github.gotifycustom.R
import com.github.gotifycustom.SSLSettings
import com.github.gotifycustom.Settings
import com.github.gotifycustom.Utils
import com.github.gotifycustom.api.ApiException
import com.github.gotifycustom.api.Callback
import com.github.gotifycustom.api.Callback.SuccessCallback
import com.github.gotifycustom.api.CertUtils
import com.github.gotifycustom.api.ClientFactory
import com.github.gotify.client.ApiClient
import com.github.gotify.client.api.ClientApi
import com.github.gotify.client.api.UserApi
import com.github.gotify.client.model.Client
import com.github.gotify.client.model.ClientParams
import com.github.gotify.client.model.VersionInfo
import com.github.gotify.databinding.ActivityLoginBinding
import com.github.gotify.databinding.ClientNameDialogBinding
import com.github.gotify.init.InitializationActivity
import com.github.gotify.log.LogsActivity
import com.github.gotify.log.UncaughtExceptionHandler
import com.github.gotifycustom.databinding.ActivityLoginBinding
import com.github.gotifycustom.databinding.ClientNameDialogBinding
import com.github.gotifycustom.init.InitializationActivity
import com.github.gotifycustom.log.LogsActivity
import com.github.gotifycustom.log.UncaughtExceptionHandler
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.textfield.TextInputEditText
import java.io.File
@@ -106,6 +106,8 @@ internal class LoginActivity : AppCompatActivity() {
override fun onPostCreate(savedInstanceState: Bundle?) {
super.onPostCreate(savedInstanceState)
binding.gotifyUrlEditext.setText(settings.url)
binding.gotifyUrlEditext.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {}

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages
package com.github.gotifycustom.messages
import com.github.gotify.client.model.Message

View File

@@ -1,10 +1,10 @@
package com.github.gotify.messages
package com.github.gotifycustom.messages
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.core.net.toUri
import com.github.gotify.databinding.ActivityDialogIntentUrlBinding
import com.github.gotifycustom.databinding.ActivityDialogIntentUrlBinding
internal class IntentUrlDialogActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages
package com.github.gotifycustom.messages
import android.content.ClipData
import android.content.ClipboardManager
@@ -20,14 +20,14 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.viewbinding.ViewBinding
import coil.ImageLoader
import coil.load
import com.github.gotify.MarkwonFactory
import com.github.gotify.R
import com.github.gotify.Settings
import com.github.gotify.Utils
import com.github.gotifycustom.MarkwonFactory
import com.github.gotifycustom.R
import com.github.gotifycustom.Settings
import com.github.gotifycustom.Utils
import com.github.gotify.client.model.Message
import com.github.gotify.databinding.MessageItemBinding
import com.github.gotify.databinding.MessageItemCompactBinding
import com.github.gotify.messages.provider.MessageWithImage
import com.github.gotifycustom.databinding.MessageItemBinding
import com.github.gotifycustom.databinding.MessageItemCompactBinding
import com.github.gotifycustom.messages.provider.MessageWithImage
import io.noties.markwon.Markwon
import java.text.DateFormat
import java.util.Date

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages
package com.github.gotifycustom.messages
import android.annotation.SuppressLint
import android.app.NotificationManager
@@ -32,31 +32,31 @@ import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import coil.request.ImageRequest
import com.github.gotify.BuildConfig
import com.github.gotify.CoilInstance
import com.github.gotify.MissedMessageUtil
import com.github.gotify.R
import com.github.gotify.Utils
import com.github.gotify.Utils.launchCoroutine
import com.github.gotify.api.Api
import com.github.gotify.api.ApiException
import com.github.gotify.api.Callback
import com.github.gotify.api.ClientFactory
import com.github.gotifycustom.BuildConfig
import com.github.gotifycustom.CoilInstance
import com.github.gotifycustom.MissedMessageUtil
import com.github.gotifycustom.R
import com.github.gotifycustom.Utils
import com.github.gotifycustom.Utils.launchCoroutine
import com.github.gotifycustom.api.Api
import com.github.gotifycustom.api.ApiException
import com.github.gotifycustom.api.Callback
import com.github.gotifycustom.api.ClientFactory
import com.github.gotify.client.api.ApplicationApi
import com.github.gotify.client.api.ClientApi
import com.github.gotify.client.api.MessageApi
import com.github.gotify.client.model.Application
import com.github.gotify.client.model.Client
import com.github.gotify.client.model.Message
import com.github.gotify.databinding.ActivityMessagesBinding
import com.github.gotify.init.InitializationActivity
import com.github.gotify.log.LogsActivity
import com.github.gotify.login.LoginActivity
import com.github.gotify.messages.provider.MessageState
import com.github.gotify.messages.provider.MessageWithImage
import com.github.gotify.service.WebSocketService
import com.github.gotify.settings.SettingsActivity
import com.github.gotify.sharing.ShareActivity
import com.github.gotifycustom.databinding.ActivityMessagesBinding
import com.github.gotifycustom.init.InitializationActivity
import com.github.gotifycustom.log.LogsActivity
import com.github.gotifycustom.login.LoginActivity
import com.github.gotifycustom.messages.provider.MessageState
import com.github.gotifycustom.messages.provider.MessageWithImage
import com.github.gotifycustom.service.WebSocketService
import com.github.gotifycustom.settings.SettingsActivity
import com.github.gotifycustom.sharing.ShareActivity
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.navigation.NavigationView
import com.google.android.material.snackbar.BaseTransientBottomBar.BaseCallback

View File

@@ -1,14 +1,14 @@
package com.github.gotify.messages
package com.github.gotifycustom.messages
import android.app.Activity
import androidx.lifecycle.ViewModel
import coil.target.Target
import com.github.gotify.Settings
import com.github.gotify.api.ClientFactory
import com.github.gotifycustom.Settings
import com.github.gotifycustom.api.ClientFactory
import com.github.gotify.client.api.MessageApi
import com.github.gotify.messages.provider.ApplicationHolder
import com.github.gotify.messages.provider.MessageFacade
import com.github.gotify.messages.provider.MessageState
import com.github.gotifycustom.messages.provider.ApplicationHolder
import com.github.gotifycustom.messages.provider.MessageFacade
import com.github.gotifycustom.messages.provider.MessageState
internal class MessagesModel(parentView: Activity) : ViewModel() {
val settings = Settings(parentView)

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages
package com.github.gotifycustom.messages
import android.app.Activity
import androidx.lifecycle.ViewModel

View File

@@ -1,8 +1,8 @@
package com.github.gotify.messages.provider
package com.github.gotifycustom.messages.provider
import android.app.Activity
import com.github.gotify.Utils
import com.github.gotify.api.Callback
import com.github.gotifycustom.Utils
import com.github.gotifycustom.api.Callback
import com.github.gotify.client.ApiClient
import com.github.gotify.client.api.ApplicationApi
import com.github.gotify.client.model.Application

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages.provider
package com.github.gotifycustom.messages.provider
import com.github.gotify.client.model.Message

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages.provider
package com.github.gotifycustom.messages.provider
import com.github.gotify.client.api.MessageApi
import com.github.gotify.client.model.Message

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages.provider
package com.github.gotifycustom.messages.provider
import com.github.gotify.client.model.Application
import com.github.gotify.client.model.Message

View File

@@ -1,8 +1,8 @@
package com.github.gotify.messages.provider
package com.github.gotifycustom.messages.provider
import com.github.gotify.api.Api
import com.github.gotify.api.ApiException
import com.github.gotify.api.Callback
import com.github.gotifycustom.api.Api
import com.github.gotifycustom.api.ApiException
import com.github.gotifycustom.api.Callback
import com.github.gotify.client.api.MessageApi
import com.github.gotify.client.model.Message
import com.github.gotify.client.model.PagedMessages

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages.provider
package com.github.gotifycustom.messages.provider
import com.github.gotify.client.model.Message

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages.provider
package com.github.gotifycustom.messages.provider
import com.github.gotify.client.model.Message
import com.github.gotify.client.model.PagedMessages

View File

@@ -1,4 +1,4 @@
package com.github.gotify.messages.provider
package com.github.gotifycustom.messages.provider
import com.github.gotify.client.model.Message

View File

@@ -1,13 +1,13 @@
package com.github.gotify.service
package com.github.gotifycustom.service
import android.app.AlarmManager
import android.app.AlarmManager.OnAlarmListener
import android.os.Build
import android.os.Handler
import android.os.Looper
import com.github.gotify.SSLSettings
import com.github.gotify.Utils
import com.github.gotify.api.CertUtils
import com.github.gotifycustom.SSLSettings
import com.github.gotifycustom.Utils
import com.github.gotifycustom.api.CertUtils
import com.github.gotify.client.model.Message
import java.util.Calendar
import java.util.concurrent.TimeUnit

View File

@@ -1,4 +1,4 @@
package com.github.gotify.service
package com.github.gotifycustom.service
import android.app.AlarmManager
import android.app.Notification
@@ -18,25 +18,25 @@ import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import androidx.preference.PreferenceManager
import com.github.gotify.BuildConfig
import com.github.gotify.CoilInstance
import com.github.gotify.MarkwonFactory
import com.github.gotify.MissedMessageUtil
import com.github.gotify.NotificationSupport
import com.github.gotify.R
import com.github.gotify.Settings
import com.github.gotify.Utils
import com.github.gotify.api.Callback
import com.github.gotify.api.ClientFactory
import com.github.gotifycustom.BuildConfig
import com.github.gotifycustom.CoilInstance
import com.github.gotifycustom.MarkwonFactory
import com.github.gotifycustom.MissedMessageUtil
import com.github.gotifycustom.NotificationSupport
import com.github.gotifycustom.R
import com.github.gotifycustom.Settings
import com.github.gotifycustom.Utils
import com.github.gotifycustom.api.Callback
import com.github.gotifycustom.api.ClientFactory
import com.github.gotify.client.api.ApplicationApi
import com.github.gotify.client.api.MessageApi
import com.github.gotify.client.model.Application
import com.github.gotify.client.model.Message
import com.github.gotify.log.LoggerHelper
import com.github.gotify.log.UncaughtExceptionHandler
import com.github.gotify.messages.Extras
import com.github.gotify.messages.IntentUrlDialogActivity
import com.github.gotify.messages.MessagesActivity
import com.github.gotifycustom.log.LoggerHelper
import com.github.gotifycustom.log.UncaughtExceptionHandler
import com.github.gotifycustom.messages.Extras
import com.github.gotifycustom.messages.IntentUrlDialogActivity
import com.github.gotifycustom.messages.MessagesActivity
import io.noties.markwon.Markwon
import java.util.concurrent.ConcurrentHashMap
import java.util.concurrent.atomic.AtomicLong
@@ -223,14 +223,16 @@ internal class WebSocketService : Service() {
}
broadcast(message)
}
val size = messages.size
showNotification(
NotificationSupport.ID.GROUPED,
getString(R.string.missed_messages),
getString(R.string.grouped_message, size),
highestPriority,
null
)
if (settings.shouldNotify(highestPriority)) {
val size = messages.size
showNotification(
NotificationSupport.ID.GROUPED,
getString(R.string.missed_messages),
getString(R.string.grouped_message, size),
highestPriority,
null
)
}
}
private fun onMessage(message: Message) {
@@ -238,14 +240,16 @@ internal class WebSocketService : Service() {
lastReceivedMessage.set(message.id)
}
broadcast(message)
showNotification(
message.id,
message.title,
message.message,
message.priority,
message.extras,
message.appid
)
if (settings.shouldNotify(message.priority)) {
showNotification(
message.id,
message.title,
message.message,
message.priority,
message.extras,
message.appid
)
}
}
private fun broadcast(message: Message) {

View File

@@ -1,4 +1,4 @@
package com.github.gotify.settings
package com.github.gotifycustom.settings
import android.app.Dialog
import android.content.DialogInterface
@@ -18,9 +18,9 @@ import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager
import androidx.preference.SwitchPreferenceCompat
import com.github.gotify.R
import com.github.gotify.Utils
import com.github.gotify.databinding.SettingsActivityBinding
import com.github.gotifycustom.R
import com.github.gotifycustom.Utils
import com.github.gotifycustom.databinding.SettingsActivityBinding
import com.google.android.material.dialog.MaterialAlertDialogBuilder
internal class SettingsActivity :

View File

@@ -1,9 +1,9 @@
package com.github.gotify.settings
package com.github.gotifycustom.settings
import android.content.Context
import android.os.Build
import androidx.appcompat.app.AppCompatDelegate
import com.github.gotify.R
import com.github.gotifycustom.R
internal object ThemeHelper {
fun setTheme(context: Context, newTheme: String) {

View File

@@ -1,4 +1,4 @@
package com.github.gotify.sharing
package com.github.gotifycustom.sharing
import android.content.Intent
import android.os.Bundle
@@ -8,17 +8,17 @@ import android.widget.ArrayAdapter
import android.widget.Spinner
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.github.gotify.R
import com.github.gotify.Settings
import com.github.gotify.Utils.launchCoroutine
import com.github.gotify.api.Api
import com.github.gotify.api.ApiException
import com.github.gotify.api.ClientFactory
import com.github.gotifycustom.R
import com.github.gotifycustom.Settings
import com.github.gotifycustom.Utils.launchCoroutine
import com.github.gotifycustom.api.Api
import com.github.gotifycustom.api.ApiException
import com.github.gotifycustom.api.ClientFactory
import com.github.gotify.client.api.MessageApi
import com.github.gotify.client.model.Application
import com.github.gotify.client.model.Message
import com.github.gotify.databinding.ActivityShareBinding
import com.github.gotify.messages.provider.ApplicationHolder
import com.github.gotifycustom.databinding.ActivityShareBinding
import com.github.gotifycustom.messages.provider.ApplicationHolder
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.tinylog.kotlin.Logger

View File

@@ -99,6 +99,9 @@
<string name="setting_prompt_onreceive_intent">Confirm onReceive intents</string>
<string name="setting_key_prompt_onreceive_intent">prompt_onreceive_intent</string>
<string name="setting_summary_prompt_onreceive_intent">If enabled, a dialog is shown before onReceive.intentUrl is executed.</string>
<string name="setting_key_filter_low_priority">filter_low_priority</string>
<string name="setting_filter_low_priority">Filter low priority notifications</string>
<string name="setting_summary_filter_low_priority">Only show notifications for critical messages (priority 10+)</string>
<string name="push_message">Push message</string>
<string name="appListDescription">App:</string>
<string name="priorityDescription">Priority:</string>

View File

@@ -49,6 +49,13 @@
android:title="@string/setting_prompt_onreceive_intent"
android:defaultValue="@bool/prompt_onreceive_intent"
android:summary="@string/setting_summary_prompt_onreceive_intent" />
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="@string/setting_key_filter_low_priority"
android:title="@string/setting_filter_low_priority"
android:summary="@string/setting_summary_filter_low_priority"
app:singleLineTitle="false" />
</PreferenceCategory>
</PreferenceScreen>