diff --git a/app/build.gradle b/app/build.gradle index f8fa9e2c2f..21e2521ece 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -31,7 +31,7 @@ configurations.all { exclude module: "commons-logging" } -def canonicalVersionCode = 377 +def canonicalVersionCode = 378 def canonicalVersionName = "1.19.0" def postFixSize = 10 @@ -263,7 +263,7 @@ dependencies { implementation 'androidx.fragment:fragment-ktx:1.5.3' implementation "androidx.core:core-ktx:$coreVersion" implementation "androidx.work:work-runtime-ktx:2.7.1" - playImplementation ("com.google.firebase:firebase-messaging:18.0.0") { + playImplementation ("com.google.firebase:firebase-messaging:24.0.0") { exclude group: 'com.google.firebase', module: 'firebase-core' exclude group: 'com.google.firebase', module: 'firebase-analytics' exclude group: 'com.google.firebase', module: 'firebase-measurement-connector' @@ -393,7 +393,6 @@ dependencies { implementation "androidx.camera:camera-lifecycle:1.3.2" implementation "androidx.camera:camera-view:1.3.2" - implementation 'com.google.firebase:firebase-core:21.1.1' implementation "com.google.mlkit:barcode-scanning:17.2.0" } diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestsAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestsAdapter.kt index 3040bb774f..07f3f02c66 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestsAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestsAdapter.kt @@ -1,13 +1,14 @@ package org.thoughtcrime.securesms.messagerequests import android.content.Context -import android.content.res.ColorStateList import android.database.Cursor +import android.os.Build import android.text.SpannableString import android.text.style.ForegroundColorSpan import android.view.ContextThemeWrapper import android.view.ViewGroup import android.widget.PopupMenu +import androidx.core.graphics.drawable.DrawableCompat import androidx.recyclerview.widget.RecyclerView import network.loki.messenger.R import org.session.libsession.utilities.ThemeUtil @@ -63,10 +64,17 @@ class MessageRequestsAdapter( val s = SpannableString(item.title) val danger = ThemeUtil.getThemedColor(context, R.attr.danger) s.setSpan(ForegroundColorSpan(danger), 0, s.length, 0) - item.iconTintList = ColorStateList.valueOf(danger) + item.icon?.let { + DrawableCompat.setTint( + it, + danger + ) + } item.title = s } - popupMenu.setForceShowIcon(true) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + popupMenu.setForceShowIcon(true) + } popupMenu.show() } diff --git a/app/src/play/kotlin/org/thoughtcrime/securesms/notifications/FirebaseTokenFetcher.kt b/app/src/play/kotlin/org/thoughtcrime/securesms/notifications/FirebaseTokenFetcher.kt index d40f160d0b..22c258ddcf 100644 --- a/app/src/play/kotlin/org/thoughtcrime/securesms/notifications/FirebaseTokenFetcher.kt +++ b/app/src/play/kotlin/org/thoughtcrime/securesms/notifications/FirebaseTokenFetcher.kt @@ -1,19 +1,19 @@ package org.thoughtcrime.securesms.notifications -import com.google.android.gms.tasks.Tasks -import com.google.firebase.iid.FirebaseInstanceId +import com.google.firebase.messaging.FirebaseMessaging + import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.isActive +import kotlinx.coroutines.tasks.await import kotlinx.coroutines.withContext import javax.inject.Inject import javax.inject.Singleton @Singleton class FirebaseTokenFetcher @Inject constructor(): TokenFetcher { + val TAG = "FirebaseTF" + override suspend fun fetch() = withContext(Dispatchers.IO) { - FirebaseInstanceId.getInstance().instanceId - .also(Tasks::await) - .takeIf { isActive } // don't 'complete' task if we were canceled - ?.run { result?.token ?: throw exception!! } + FirebaseMessaging.getInstance().token.await().takeIf { isActive } ?: throw Exception("Firebase token is null") } -} +} \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/messaging/jobs/RetrieveProfileAvatarJob.kt b/libsession/src/main/java/org/session/libsession/messaging/jobs/RetrieveProfileAvatarJob.kt index 54efa1c80b..dfbc413472 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/jobs/RetrieveProfileAvatarJob.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/jobs/RetrieveProfileAvatarJob.kt @@ -39,7 +39,7 @@ class RetrieveProfileAvatarJob(private val profileAvatar: String?, val recipient override suspend fun execute(dispatcherName: String) { val delegate = delegate ?: return Log.w(TAG, "RetrieveProfileAvatarJob has no delegate method to work with!") - if (profileAvatar in errorUrls) return delegate.handleJobFailed(this, dispatcherName, Exception("Profile URL 404'd this app instance")) + if (profileAvatar != null && profileAvatar in errorUrls) return delegate.handleJobFailed(this, dispatcherName, Exception("Profile URL 404'd this app instance")) val context = MessagingModuleConfiguration.shared.context val storage = MessagingModuleConfiguration.shared.storage val recipient = Recipient.from(context, recipientAddress, true)