VectorPreferences can be injected.
This commit is contained in:
parent
ad8cb22863
commit
ff6aa1147c
@ -41,6 +41,7 @@ import javax.inject.Inject
|
|||||||
class UnifiedPushHelper @Inject constructor(
|
class UnifiedPushHelper @Inject constructor(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val stringProvider: StringProvider,
|
private val stringProvider: StringProvider,
|
||||||
|
private val vectorPreferences: VectorPreferences,
|
||||||
private val matrix: Matrix,
|
private val matrix: Matrix,
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
@ -105,14 +106,12 @@ class UnifiedPushHelper @Inject constructor(
|
|||||||
fun reRegister(
|
fun reRegister(
|
||||||
activity: FragmentActivity,
|
activity: FragmentActivity,
|
||||||
pushersManager: PushersManager,
|
pushersManager: PushersManager,
|
||||||
vectorPreferences: VectorPreferences,
|
|
||||||
onDoneRunnable: Runnable? = null
|
onDoneRunnable: Runnable? = null
|
||||||
) {
|
) {
|
||||||
gRegister(
|
gRegister(
|
||||||
activity,
|
activity,
|
||||||
force = true,
|
force = true,
|
||||||
pushersManager = pushersManager,
|
pushersManager = pushersManager,
|
||||||
vectorPreferences = vectorPreferences,
|
|
||||||
onDoneRunnable = onDoneRunnable
|
onDoneRunnable = onDoneRunnable
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -121,7 +120,6 @@ class UnifiedPushHelper @Inject constructor(
|
|||||||
activity: FragmentActivity,
|
activity: FragmentActivity,
|
||||||
force: Boolean = false,
|
force: Boolean = false,
|
||||||
pushersManager: PushersManager? = null,
|
pushersManager: PushersManager? = null,
|
||||||
vectorPreferences: VectorPreferences? = null,
|
|
||||||
onDoneRunnable: Runnable? = null
|
onDoneRunnable: Runnable? = null
|
||||||
) {
|
) {
|
||||||
if (!BuildConfig.ALLOW_EXTERNAL_UNIFIEDPUSH_DISTRIB) {
|
if (!BuildConfig.ALLOW_EXTERNAL_UNIFIEDPUSH_DISTRIB) {
|
||||||
@ -132,7 +130,7 @@ class UnifiedPushHelper @Inject constructor(
|
|||||||
}
|
}
|
||||||
if (force) {
|
if (force) {
|
||||||
// Un-register first
|
// Un-register first
|
||||||
unregister(pushersManager, vectorPreferences)
|
unregister(pushersManager)
|
||||||
}
|
}
|
||||||
if (up.getDistributor(context).isNotEmpty()) {
|
if (up.getDistributor(context).isNotEmpty()) {
|
||||||
up.registerApp(context)
|
up.registerApp(context)
|
||||||
@ -186,12 +184,9 @@ class UnifiedPushHelper @Inject constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun unregister(
|
fun unregister(pushersManager: PushersManager? = null) {
|
||||||
pushersManager: PushersManager? = null,
|
|
||||||
vectorPreferences: VectorPreferences? = null
|
|
||||||
) {
|
|
||||||
val mode = BackgroundSyncMode.FDROID_BACKGROUND_SYNC_MODE_FOR_REALTIME
|
val mode = BackgroundSyncMode.FDROID_BACKGROUND_SYNC_MODE_FOR_REALTIME
|
||||||
vectorPreferences?.setFdroidSyncBackgroundMode(mode)
|
vectorPreferences.setFdroidSyncBackgroundMode(mode)
|
||||||
runBlocking {
|
runBlocking {
|
||||||
try {
|
try {
|
||||||
pushersManager?.unregisterPusher(getEndpointOrToken().orEmpty())
|
pushersManager?.unregisterPusher(getEndpointOrToken().orEmpty())
|
||||||
|
@ -102,10 +102,7 @@ class VectorSettingsNotificationPreferenceFragment @Inject constructor(
|
|||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
unifiedPushHelper.register(requireActivity())
|
unifiedPushHelper.register(requireActivity())
|
||||||
} else {
|
} else {
|
||||||
unifiedPushHelper.unregister(
|
unifiedPushHelper.unregister(pushersManager)
|
||||||
pushersManager,
|
|
||||||
vectorPreferences
|
|
||||||
)
|
|
||||||
session.pushersService().refreshPushers()
|
session.pushersService().refreshPushers()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -154,8 +151,7 @@ class VectorSettingsNotificationPreferenceFragment @Inject constructor(
|
|||||||
it.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
it.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||||
unifiedPushHelper.reRegister(
|
unifiedPushHelper.reRegister(
|
||||||
requireActivity(),
|
requireActivity(),
|
||||||
pushersManager,
|
pushersManager
|
||||||
vectorPreferences
|
|
||||||
) {
|
) {
|
||||||
session.pushersService().refreshPushers()
|
session.pushersService().refreshPushers()
|
||||||
refreshBackgroundSyncPrefs()
|
refreshBackgroundSyncPrefs()
|
||||||
|
@ -27,7 +27,6 @@ import im.vector.app.core.di.ActiveSessionHolder
|
|||||||
import im.vector.app.core.pushers.PushersManager
|
import im.vector.app.core.pushers.PushersManager
|
||||||
import im.vector.app.core.pushers.UnifiedPushHelper
|
import im.vector.app.core.pushers.UnifiedPushHelper
|
||||||
import im.vector.app.core.resources.StringProvider
|
import im.vector.app.core.resources.StringProvider
|
||||||
import im.vector.app.features.settings.VectorPreferences
|
|
||||||
import org.matrix.android.sdk.api.session.pushers.PusherState
|
import org.matrix.android.sdk.api.session.pushers.PusherState
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ -35,7 +34,6 @@ class TestEndpointAsTokenRegistration @Inject constructor(
|
|||||||
private val context: FragmentActivity,
|
private val context: FragmentActivity,
|
||||||
private val stringProvider: StringProvider,
|
private val stringProvider: StringProvider,
|
||||||
private val pushersManager: PushersManager,
|
private val pushersManager: PushersManager,
|
||||||
private val vectorPreferences: VectorPreferences,
|
|
||||||
private val activeSessionHolder: ActiveSessionHolder,
|
private val activeSessionHolder: ActiveSessionHolder,
|
||||||
private val unifiedPushHelper: UnifiedPushHelper,
|
private val unifiedPushHelper: UnifiedPushHelper,
|
||||||
) : TroubleshootTest(R.string.settings_troubleshoot_test_endpoint_registration_title) {
|
) : TroubleshootTest(R.string.settings_troubleshoot_test_endpoint_registration_title) {
|
||||||
@ -62,8 +60,7 @@ class TestEndpointAsTokenRegistration @Inject constructor(
|
|||||||
override fun doFix() {
|
override fun doFix() {
|
||||||
unifiedPushHelper.reRegister(
|
unifiedPushHelper.reRegister(
|
||||||
context,
|
context,
|
||||||
pushersManager,
|
pushersManager
|
||||||
vectorPreferences
|
|
||||||
)
|
)
|
||||||
val workId = pushersManager.enqueueRegisterPusherWithFcmKey(endpoint)
|
val workId = pushersManager.enqueueRegisterPusherWithFcmKey(endpoint)
|
||||||
WorkManager.getInstance(context).getWorkInfoByIdLiveData(workId).observe(context, Observer { workInfo ->
|
WorkManager.getInstance(context).getWorkInfoByIdLiveData(workId).observe(context, Observer { workInfo ->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user