|
@@ -35,31 +35,53 @@ class ClosedInterfaceImpl : ClosedInterface, ProviderInstaller.ProviderInstallLi
|
|
|
override fun onProviderInstallFailed(p0: Int, p1: Intent?) {
|
|
|
}
|
|
|
|
|
|
+ private fun isGPlayServicesAvailable() : Boolean {
|
|
|
+ val api = GoogleApiAvailability.getInstance()
|
|
|
+ val code =
|
|
|
+ NextcloudTalkApplication.sharedApplication?.let {
|
|
|
+ api.isGooglePlayServicesAvailable(
|
|
|
+ it.applicationContext
|
|
|
+ )
|
|
|
+ }
|
|
|
+ return code == ConnectionResult.SUCCESS
|
|
|
+ }
|
|
|
+
|
|
|
override fun setUpPushTokenRegistration() {
|
|
|
+ registerLocalToken()
|
|
|
+ setUpPeriodicLocalTokenRegistration()
|
|
|
+ setUpPeriodicTokenRefreshFromFCM()
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun registerLocalToken(){
|
|
|
val pushRegistrationWork = OneTimeWorkRequest.Builder(PushRegistrationWorker::class.java).build()
|
|
|
WorkManager.getInstance().enqueue(pushRegistrationWork)
|
|
|
+ }
|
|
|
|
|
|
- val periodicPushRegistration = PeriodicWorkRequest.Builder(
|
|
|
- GetFirebasePushTokenWorker::class.java, 15, // TODO: discuss intervall. joas 24h, google 1 month
|
|
|
- TimeUnit.MINUTES
|
|
|
+ private fun setUpPeriodicLocalTokenRegistration () {
|
|
|
+ val periodicTokenRegistration = PeriodicWorkRequest.Builder(
|
|
|
+ PushRegistrationWorker::class.java, 1,
|
|
|
+ TimeUnit.DAYS
|
|
|
)
|
|
|
.build()
|
|
|
|
|
|
WorkManager.getInstance()
|
|
|
.enqueueUniquePeriodicWork(
|
|
|
- "periodicPushRegistration", ExistingPeriodicWorkPolicy.REPLACE,
|
|
|
- periodicPushRegistration
|
|
|
+ "periodicTokenRegistration", ExistingPeriodicWorkPolicy.REPLACE,
|
|
|
+ periodicTokenRegistration
|
|
|
)
|
|
|
}
|
|
|
|
|
|
- private fun isGPlayServicesAvailable() : Boolean {
|
|
|
- val api = GoogleApiAvailability.getInstance()
|
|
|
- val code =
|
|
|
- NextcloudTalkApplication.sharedApplication?.let {
|
|
|
- api.isGooglePlayServicesAvailable(
|
|
|
- it.applicationContext
|
|
|
- )
|
|
|
- }
|
|
|
- return code == ConnectionResult.SUCCESS
|
|
|
+ private fun setUpPeriodicTokenRefreshFromFCM () {
|
|
|
+ val periodicTokenRefreshFromFCM = PeriodicWorkRequest.Builder(
|
|
|
+ GetFirebasePushTokenWorker::class.java, 30,
|
|
|
+ TimeUnit.DAYS
|
|
|
+ )
|
|
|
+ .build()
|
|
|
+
|
|
|
+ WorkManager.getInstance()
|
|
|
+ .enqueueUniquePeriodicWork(
|
|
|
+ "periodicTokenRefreshFromFCM", ExistingPeriodicWorkPolicy.REPLACE,
|
|
|
+ periodicTokenRefreshFromFCM
|
|
|
+ )
|
|
|
}
|
|
|
}
|