94 lines
3 KiB
Kotlin
94 lines
3 KiB
Kotlin
|
package io.heckel.ntfy.ui
|
||
|
|
||
|
import android.Manifest
|
||
|
import android.content.ClipData
|
||
|
import android.content.ClipboardManager
|
||
|
import android.content.Context
|
||
|
import android.content.Intent
|
||
|
import android.content.pm.PackageManager
|
||
|
import android.os.Build
|
||
|
import android.os.Bundle
|
||
|
import android.text.TextUtils
|
||
|
import android.widget.Toast
|
||
|
import androidx.annotation.Keep
|
||
|
import androidx.appcompat.app.AppCompatActivity
|
||
|
import androidx.appcompat.app.AppCompatDelegate
|
||
|
import androidx.core.app.ActivityCompat
|
||
|
import androidx.core.content.ContextCompat
|
||
|
import androidx.fragment.app.DialogFragment
|
||
|
import androidx.lifecycle.lifecycleScope
|
||
|
import androidx.preference.*
|
||
|
import androidx.preference.Preference.OnPreferenceClickListener
|
||
|
import com.google.gson.Gson
|
||
|
import io.heckel.ntfy.BuildConfig
|
||
|
import io.heckel.ntfy.R
|
||
|
import io.heckel.ntfy.db.Repository
|
||
|
import io.heckel.ntfy.db.User
|
||
|
import io.heckel.ntfy.log.Log
|
||
|
import io.heckel.ntfy.service.SubscriberService
|
||
|
import io.heckel.ntfy.service.SubscriberServiceManager
|
||
|
import io.heckel.ntfy.util.formatBytes
|
||
|
import io.heckel.ntfy.util.formatDateShort
|
||
|
import io.heckel.ntfy.util.shortUrl
|
||
|
import io.heckel.ntfy.util.toPriorityString
|
||
|
import kotlinx.coroutines.Dispatchers
|
||
|
import kotlinx.coroutines.launch
|
||
|
import okhttp3.OkHttpClient
|
||
|
import okhttp3.Request
|
||
|
import okhttp3.RequestBody.Companion.toRequestBody
|
||
|
import java.util.*
|
||
|
import java.util.concurrent.TimeUnit
|
||
|
|
||
|
/**
|
||
|
* Subscription settings
|
||
|
*/
|
||
|
class DetailSettingsActivity : AppCompatActivity() {
|
||
|
private lateinit var repository: Repository
|
||
|
private lateinit var serviceManager: SubscriberServiceManager
|
||
|
private lateinit var settingsFragment: SettingsFragment
|
||
|
|
||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||
|
super.onCreate(savedInstanceState)
|
||
|
setContentView(R.layout.activity_settings)
|
||
|
|
||
|
Log.d(TAG, "Create $this")
|
||
|
|
||
|
repository = Repository.getInstance(this)
|
||
|
serviceManager = SubscriberServiceManager(this)
|
||
|
|
||
|
if (savedInstanceState == null) {
|
||
|
settingsFragment = SettingsFragment() // Empty constructor!
|
||
|
supportFragmentManager
|
||
|
.beginTransaction()
|
||
|
.replace(R.id.settings_layout, settingsFragment)
|
||
|
.commit()
|
||
|
}
|
||
|
|
||
|
title = getString(R.string.detail_settings_title)
|
||
|
|
||
|
// Show 'Back' button
|
||
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||
|
}
|
||
|
|
||
|
class SettingsFragment : PreferenceFragmentCompat() {
|
||
|
private lateinit var repository: Repository
|
||
|
private lateinit var serviceManager: SubscriberServiceManager
|
||
|
|
||
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||
|
setPreferencesFromResource(R.xml.detail_preferences, rootKey)
|
||
|
|
||
|
// Dependencies (Fragments need a default constructor)
|
||
|
repository = Repository.getInstance(requireActivity())
|
||
|
serviceManager = SubscriberServiceManager(requireActivity())
|
||
|
|
||
|
|
||
|
// xxxxxxxxxxxxxxx
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
companion object {
|
||
|
private const val TAG = "NtfyDetailSettingsActiv"
|
||
|
}
|
||
|
}
|