Move away KEY_OPERATING_CHANNEL

This commit is contained in:
Mygod
2019-02-01 16:46:00 +08:00
parent 9352f10e6c
commit 6a7a16a0c7
3 changed files with 11 additions and 10 deletions

View File

@@ -23,8 +23,6 @@ import java.util.*
class App : Application() {
companion object {
const val KEY_OPERATING_CHANNEL = "service.repeater.oc"
@SuppressLint("StaticFieldLeak")
lateinit var app: App
}
@@ -80,10 +78,6 @@ class App : Application() {
.build()
}
val operatingChannel: Int get() {
val result = pref.getString(KEY_OPERATING_CHANNEL, null)?.toIntOrNull() ?: 0
return if (result in 1..165) result else 0
}
val masquerade get() = pref.getBoolean("service.masquerade", true)
val dhcpWorkaround get() = pref.getBoolean("service.dhcpWorkaround", false)

View File

@@ -36,6 +36,8 @@ import java.lang.reflect.InvocationTargetException
class RepeaterService : Service(), WifiP2pManager.ChannelListener, SharedPreferences.OnSharedPreferenceChangeListener {
companion object {
private const val TAG = "RepeaterService"
const val KEY_OPERATING_CHANNEL = "service.repeater.oc"
/**
* This is only a "ServiceConnection" to system service and its impact on system is minimal.
*/
@@ -49,6 +51,11 @@ class RepeaterService : Service(), WifiP2pManager.ChannelListener, SharedPrefere
}
val supported get() = p2pManager != null
var persistentSupported = false
val operatingChannel: Int get() {
val result = app.pref.getString(KEY_OPERATING_CHANNEL, null)?.toIntOrNull() ?: 0
return if (result in 1..165) result else 0
}
}
enum class Status {
@@ -156,7 +163,7 @@ class RepeaterService : Service(), WifiP2pManager.ChannelListener, SharedPrefere
override fun onBind(intent: Intent) = binder
private fun setOperatingChannel(oc: Int = app.operatingChannel) = try {
private fun setOperatingChannel(oc: Int = operatingChannel) = try {
val channel = channel
if (channel == null) SmartSnackbar.make(R.string.repeater_failure_disconnected).show()
// we don't care about listening channel
@@ -186,7 +193,7 @@ class RepeaterService : Service(), WifiP2pManager.ChannelListener, SharedPrefere
}
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
if (key == App.KEY_OPERATING_CHANNEL) setOperatingChannel()
if (key == KEY_OPERATING_CHANNEL) setOperatingChannel()
}
private fun onPersistentGroupsChanged() {

View File

@@ -61,10 +61,10 @@ class RepeaterManager(private val parent: TetheringFragment) : Manager(), Servic
}
var oc: CharSequence
@Bindable get() {
val oc = app.operatingChannel
val oc = RepeaterService.operatingChannel
return if (oc in 1..165) oc.toString() else ""
}
set(value) = app.pref.edit().putString(App.KEY_OPERATING_CHANNEL, value.toString()).apply()
set(value) = app.pref.edit().putString(RepeaterService.KEY_OPERATING_CHANNEL, value.toString()).apply()
fun onStatusChanged() {
notifyPropertyChanged(BR.switchEnabled)