Fix ANR by upgrading Firebase Messaging.

This commit is contained in:
Cody Henthorne
2021-06-16 19:53:17 -04:00
parent fa26fb6b8b
commit 3c6bed90db
4 changed files with 53 additions and 52 deletions

View File

@@ -1,7 +1,8 @@
package org.thoughtcrime.securesms.components.settings.app.privacy.advanced
import android.content.Context
import com.google.firebase.iid.FirebaseInstanceId
import com.google.android.gms.tasks.Tasks
import com.google.firebase.installations.FirebaseInstallations
import org.signal.core.util.concurrent.SignalExecutors
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.database.DatabaseFactory
@@ -14,6 +15,7 @@ import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.whispersystems.libsignal.util.guava.Optional
import org.whispersystems.signalservice.api.push.exceptions.AuthorizationFailedException
import java.io.IOException
import java.util.concurrent.ExecutionException
private val TAG = Log.tag(AdvancedPrivacySettingsRepository::class.java)
@@ -29,12 +31,18 @@ class AdvancedPrivacySettingsRepository(private val context: Context) {
Log.w(TAG, e)
}
if (!TextSecurePreferences.isFcmDisabled(context)) {
FirebaseInstanceId.getInstance().deleteInstanceId()
Tasks.await(FirebaseInstallations.getInstance().delete())
}
DisablePushMessagesResult.SUCCESS
} catch (ioe: IOException) {
Log.w(TAG, ioe)
DisablePushMessagesResult.NETWORK_ERROR
} catch (e: InterruptedException) {
Log.w(TAG, "Interrupted while deleting", e)
DisablePushMessagesResult.NETWORK_ERROR
} catch (e: ExecutionException) {
Log.w(TAG, "Error deleting", e.cause)
DisablePushMessagesResult.NETWORK_ERROR
}
consumer(result)