From 0b315220ee8f01d6a757dc4a8cdb597be09d78a8 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 31 Mar 2025 09:01:34 -0400 Subject: [PATCH] Quiet excessive warnings. --- app/build.gradle.kts | 3 +++ .../mediasend/v2/MediaSelectionActivity.kt | 19 +++++++--------- .../profiles/manage/EditProfileFragment.kt | 9 ++++++-- .../viewmodel/SvrAuthCredentialSet.kt | 4 ++++ .../service/webrtc/AndroidTelecomUtil.kt | 3 +++ build-logic/plugins/build.gradle.kts | 3 +++ .../src/main/java/signal-library.gradle.kts | 1 + .../main/java/signal-sample-app.gradle.kts | 1 + .../signal/core/util/ActivityExtensions.kt | 22 +++++++++++++++++++ libsignal-service/build.gradle.kts | 1 + 10 files changed, 53 insertions(+), 13 deletions(-) create mode 100644 core-util/src/main/java/org/signal/core/util/ActivityExtensions.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index de0b03e936..b9565a7393 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -91,6 +91,7 @@ android { kotlinOptions { jvmTarget = signalKotlinJvmTarget freeCompilerArgs = listOf("-Xjvm-default=all") + suppressWarnings = true } keystores["debug"]?.let { properties -> @@ -413,6 +414,8 @@ android { abortOnError = true baseline = file("lint-baseline.xml") checkReleaseBuilds = false + ignoreWarnings = true + quiet = true disable += "LintError" } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt index c05bf5f755..2635f9c038 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt @@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.mediasend.v2 import android.animation.ValueAnimator import android.content.Context import android.content.Intent -import android.content.pm.ActivityInfo import android.graphics.Color import android.os.Bundle import android.view.KeyEvent @@ -17,15 +16,17 @@ import androidx.constraintlayout.widget.ConstraintSet import androidx.core.content.ContextCompat import androidx.core.view.updateLayoutParams import androidx.lifecycle.ViewModelProvider -import androidx.navigation.Navigation +import androidx.navigation.findNavController import androidx.navigation.fragment.NavHostFragment import androidx.transition.AutoTransition import androidx.transition.TransitionManager import com.google.android.material.animation.ArgbEvaluatorCompat import org.signal.core.util.BreakIteratorCompat +import org.signal.core.util.OVERRIDE_TRANSITION_CLOSE_COMPAT import org.signal.core.util.getParcelableArrayListExtraCompat import org.signal.core.util.getParcelableExtraCompat import org.signal.core.util.logging.Log +import org.signal.core.util.overrideActivityTransitionCompat import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.emoji.EmojiEventListener @@ -91,10 +92,6 @@ class MediaSelectionActivity : override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) { setContentView(R.layout.media_selection_activity) - if (false) { - requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED - } - FullscreenHelper.showSystemUI(window) WindowUtil.setNavigationBarColor(this, 0x01000000) WindowUtil.setStatusBarColor(window, Color.TRANSPARENT) @@ -252,7 +249,7 @@ class MediaSelectionActivity : ) finish() - overridePendingTransition(R.anim.stationary, R.anim.camera_slide_to_bottom) + overrideActivityTransitionCompat(OVERRIDE_TRANSITION_CLOSE_COMPAT, R.anim.stationary, R.anim.camera_slide_to_bottom) } override fun onSentWithoutResult() { @@ -260,7 +257,7 @@ class MediaSelectionActivity : setResult(RESULT_OK, intent) finish() - overridePendingTransition(R.anim.stationary, R.anim.camera_slide_to_bottom) + overrideActivityTransitionCompat(OVERRIDE_TRANSITION_CLOSE_COMPAT, R.anim.stationary, R.anim.camera_slide_to_bottom) } override fun onSendError(error: Throwable) { @@ -276,7 +273,7 @@ class MediaSelectionActivity : Log.w(TAG, "Failed to send message.", error) finish() - overridePendingTransition(R.anim.stationary, R.anim.camera_slide_to_bottom) + overrideActivityTransitionCompat(OVERRIDE_TRANSITION_CLOSE_COMPAT, R.anim.stationary, R.anim.camera_slide_to_bottom) } } @@ -285,7 +282,7 @@ class MediaSelectionActivity : setResult(RESULT_CANCELED) finish() - overridePendingTransition(R.anim.stationary, R.anim.camera_slide_to_bottom) + overrideActivityTransitionCompat(OVERRIDE_TRANSITION_CLOSE_COMPAT, R.anim.stationary, R.anim.camera_slide_to_bottom) } override fun onPopFromReview() { @@ -336,7 +333,7 @@ class MediaSelectionActivity : private inner class OnBackPressed : OnBackPressedCallback(true) { override fun handleOnBackPressed() { - val navController = Navigation.findNavController(this@MediaSelectionActivity, R.id.fragment_container) + val navController = this@MediaSelectionActivity.findNavController(R.id.fragment_container) if (shareToTextStory && navController.currentDestination?.id == R.id.textStoryPostCreationFragment) { finish() diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditProfileFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditProfileFragment.kt index 9beee642da..d7e21e39a8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditProfileFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditProfileFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.thoughtcrime.securesms.profiles.manage import android.content.DialogInterface @@ -20,6 +22,7 @@ import com.bumptech.glide.Glide import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.snackbar.Snackbar import org.signal.core.util.concurrent.LifecycleDisposable +import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.AvatarPreviewActivity import org.thoughtcrime.securesms.LoggingFragment import org.thoughtcrime.securesms.R @@ -57,7 +60,9 @@ class EditProfileFragment : LoggingFragment() { private lateinit var binding: EditProfileFragmentBinding private lateinit var disposables: LifecycleDisposable - private val DISABLED_ALPHA = 0.4f + companion object { + private const val DISABLED_ALPHA = 0.4f + } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { binding = EditProfileFragmentBinding.inflate(inflater, container, false) @@ -128,7 +133,7 @@ class EditProfileFragment : LoggingFragment() { } else if (bundle.getBoolean(AvatarPickerFragment.SELECT_AVATAR_CLEAR)) { viewModel.onAvatarSelected(requireContext(), null) } else { - val result = bundle.getParcelable(AvatarPickerFragment.SELECT_AVATAR_MEDIA) + val result = bundle.getParcelableCompat(AvatarPickerFragment.SELECT_AVATAR_MEDIA, Media::class.java) viewModel.onAvatarSelected(requireContext(), result) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/viewmodel/SvrAuthCredentialSet.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/viewmodel/SvrAuthCredentialSet.kt index fda7aab653..fb6a59096e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/viewmodel/SvrAuthCredentialSet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/viewmodel/SvrAuthCredentialSet.kt @@ -6,6 +6,7 @@ package org.thoughtcrime.securesms.registration.viewmodel import android.os.Parcelable +import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize import org.whispersystems.signalservice.api.svr.Svr3Credentials import org.whispersystems.signalservice.internal.push.AuthCredentials @@ -23,7 +24,10 @@ data class SvrAuthCredentialSet( ParcelableSvr3AuthCredentials.createOrNull(svr3Credentials) ) + @IgnoredOnParcel val svr2: AuthCredentials? = svr2Credentials?.credentials() + + @IgnoredOnParcel val svr3: Svr3Credentials? = svr3Credentials?.credentials() @Parcelize diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/AndroidTelecomUtil.kt b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/AndroidTelecomUtil.kt index aa120ddd12..69e51147c5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/AndroidTelecomUtil.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/AndroidTelecomUtil.kt @@ -161,6 +161,7 @@ object AndroidTelecomUtil { return true } + @Suppress("DEPRECATION") fun selectAudioDevice(recipientId: RecipientId, device: SignalAudioManager.AudioDevice) { if (telecomSupported) { val connection: AndroidCallConnection? = connections[recipientId] @@ -176,6 +177,7 @@ object AndroidTelecomUtil { } } + @Suppress("DEPRECATION") fun getSelectedAudioDevice(recipientId: RecipientId): SignalAudioManager.AudioDevice { if (telecomSupported) { val connection: AndroidCallConnection? = connections[recipientId] @@ -199,6 +201,7 @@ object AndroidTelecomUtil { } } +@Suppress("DEPRECATION") @RequiresApi(26) private fun Connection.setAudioRouteIfDifferent(newRoute: Int) { if (callAudioState.route != newRoute) { diff --git a/build-logic/plugins/build.gradle.kts b/build-logic/plugins/build.gradle.kts index 67f93ac08a..1bb7570aa9 100644 --- a/build-logic/plugins/build.gradle.kts +++ b/build-logic/plugins/build.gradle.kts @@ -18,6 +18,9 @@ kotlin { jvmToolchain { languageVersion.set(JavaLanguageVersion.of(signalKotlinJvmTarget)) } + compilerOptions { + suppressWarnings = true + } } dependencies { diff --git a/build-logic/plugins/src/main/java/signal-library.gradle.kts b/build-logic/plugins/src/main/java/signal-library.gradle.kts index 0d06dd69c8..b4a3080a68 100644 --- a/build-logic/plugins/src/main/java/signal-library.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-library.gradle.kts @@ -39,6 +39,7 @@ android { kotlinOptions { jvmTarget = signalKotlinJvmTarget + suppressWarnings = true } lint { diff --git a/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts b/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts index 24100ce670..b70094b7d4 100644 --- a/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts @@ -45,6 +45,7 @@ android { kotlinOptions { jvmTarget = signalKotlinJvmTarget + suppressWarnings = true } buildFeatures { diff --git a/core-util/src/main/java/org/signal/core/util/ActivityExtensions.kt b/core-util/src/main/java/org/signal/core/util/ActivityExtensions.kt new file mode 100644 index 0000000000..7847a63cd1 --- /dev/null +++ b/core-util/src/main/java/org/signal/core/util/ActivityExtensions.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2025 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.signal.core.util + +import android.app.Activity +import android.os.Build +import androidx.annotation.AnimRes + +val Activity.OVERRIDE_TRANSITION_OPEN_COMPAT: Int get() = 0 +val Activity.OVERRIDE_TRANSITION_CLOSE_COMPAT: Int get() = 1 + +fun Activity.overrideActivityTransitionCompat(overrideType: Int, @AnimRes enterAnim: Int, @AnimRes exitAnim: Int) { + if (Build.VERSION.SDK_INT >= 34) { + overrideActivityTransition(overrideType, enterAnim, exitAnim) + } else { + @Suppress("DEPRECATION") + overridePendingTransition(enterAnim, exitAnim) + } +} diff --git a/libsignal-service/build.gradle.kts b/libsignal-service/build.gradle.kts index 51ba2a5805..c8b8d7bbfc 100644 --- a/libsignal-service/build.gradle.kts +++ b/libsignal-service/build.gradle.kts @@ -36,6 +36,7 @@ tasks.withType().configureEach { compilerOptions { jvmTarget = JvmTarget.fromTarget(signalKotlinJvmTarget) freeCompilerArgs = listOf("-Xjvm-default=all") + suppressWarnings = true } } }