refactor
This commit is contained in:
parent
3c5283e32a
commit
4ee646687a
|
@ -15,7 +15,6 @@ import android.os.Build
|
|||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.provider.MediaStore
|
||||
import android.provider.Settings
|
||||
import android.text.Editable
|
||||
import android.text.SpannableString
|
||||
import android.text.TextWatcher
|
||||
|
@ -363,12 +362,12 @@ class ActAccountSetting
|
|||
btnNotificationSoundReset = findViewById(R.id.btnNotificationSoundReset)
|
||||
btnNotificationSoundEdit.setOnClickListener(this)
|
||||
btnNotificationSoundReset.setOnClickListener(this)
|
||||
|
||||
|
||||
btnNotificationStyleEdit = findViewById(R.id.btnNotificationStyleEdit)
|
||||
btnNotificationStyleEditReply = findViewById(R.id.btnNotificationStyleEditReply)
|
||||
btnNotificationStyleEdit.setOnClickListener(this)
|
||||
btnNotificationStyleEditReply.setOnClickListener(this)
|
||||
vg(btnNotificationStyleEditReply,Pref.bpSeparateReplyNotificationGroup(pref) )
|
||||
vg(btnNotificationStyleEditReply, Pref.bpSeparateReplyNotificationGroup(pref))
|
||||
|
||||
name_invalidator = NetworkEmojiInvalidator(handler, etDisplayName)
|
||||
note_invalidator = NetworkEmojiInvalidator(handler, etNote)
|
||||
|
@ -607,20 +606,19 @@ class ActAccountSetting
|
|||
|
||||
R.id.btnFields -> sendFields()
|
||||
|
||||
R.id.btnNotificationStyleEdit -> if(Build.VERSION.SDK_INT >= 26) {
|
||||
val channel = NotificationHelper.createNotificationChannel(this, account,NotificationHelper.TRACKING_NAME_DEFAULT)
|
||||
val intent = Intent("android.settings.CHANNEL_NOTIFICATION_SETTINGS")
|
||||
intent.putExtra(Settings.EXTRA_CHANNEL_ID, channel.id)
|
||||
intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName)
|
||||
startActivity(intent)
|
||||
}
|
||||
R.id.btnNotificationStyleEditReply -> if(Build.VERSION.SDK_INT >= 26) {
|
||||
val channel = NotificationHelper.createNotificationChannel(this, account,NotificationHelper.TRACKING_NAME_REPLY)
|
||||
val intent = Intent("android.settings.CHANNEL_NOTIFICATION_SETTINGS")
|
||||
intent.putExtra(Settings.EXTRA_CHANNEL_ID, channel.id)
|
||||
intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName)
|
||||
startActivity(intent)
|
||||
}
|
||||
R.id.btnNotificationStyleEdit ->
|
||||
NotificationHelper.openNotificationChannelSetting(
|
||||
this,
|
||||
account,
|
||||
NotificationHelper.TRACKING_NAME_DEFAULT
|
||||
)
|
||||
|
||||
R.id.btnNotificationStyleEditReply ->
|
||||
NotificationHelper.openNotificationChannelSetting(
|
||||
this,
|
||||
account,
|
||||
NotificationHelper.TRACKING_NAME_REPLY
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,9 @@ import android.annotation.TargetApi
|
|||
import android.app.NotificationChannel
|
||||
import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
|
||||
import jp.juggler.subwaytooter.R
|
||||
import jp.juggler.subwaytooter.table.SavedAccount
|
||||
|
@ -17,7 +20,11 @@ object NotificationHelper {
|
|||
internal const val TRACKING_NAME_REPLY = "reply"
|
||||
|
||||
@TargetApi(26)
|
||||
fun createNotificationChannel(context : Context, account : SavedAccount,trackingName:String) =when(trackingName) {
|
||||
fun createNotificationChannel(
|
||||
context : Context,
|
||||
account : SavedAccount,
|
||||
trackingName : String
|
||||
) = when(trackingName) {
|
||||
"" -> createNotificationChannel(
|
||||
context,
|
||||
account.acct, // id
|
||||
|
@ -26,7 +33,7 @@ object NotificationHelper {
|
|||
NotificationManager.IMPORTANCE_DEFAULT // : NotificationManager.IMPORTANCE_LOW;
|
||||
)
|
||||
|
||||
else-> createNotificationChannel(
|
||||
else -> createNotificationChannel(
|
||||
context,
|
||||
"${account.acct}/$trackingName", // id
|
||||
"${account.acct}/$trackingName", // name
|
||||
|
@ -42,9 +49,10 @@ object NotificationHelper {
|
|||
, description : String? // The user-visible description of the channel.
|
||||
, importance : Int
|
||||
) : NotificationChannel {
|
||||
val notification_manager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager?
|
||||
?: throw NotImplementedError("missing NotificationManager system service")
|
||||
|
||||
val notification_manager =
|
||||
context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager?
|
||||
?: throw NotImplementedError("missing NotificationManager system service")
|
||||
|
||||
var channel : NotificationChannel? = null
|
||||
try {
|
||||
channel = notification_manager.getNotificationChannel(channel_id)
|
||||
|
@ -62,4 +70,18 @@ object NotificationHelper {
|
|||
return channel
|
||||
|
||||
}
|
||||
|
||||
fun openNotificationChannelSetting(
|
||||
context : Context,
|
||||
account : SavedAccount,
|
||||
trackingName : String
|
||||
) {
|
||||
if(Build.VERSION.SDK_INT >= 26) {
|
||||
val channel = createNotificationChannel(context, account, trackingName)
|
||||
val intent = Intent("android.settings.CHANNEL_NOTIFICATION_SETTINGS")
|
||||
intent.putExtra(Settings.EXTRA_CHANNEL_ID, channel.id)
|
||||
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.packageName)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue