From 7d5786ea936fd85d61cbdb57a753d832f40c1203 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Wed, 4 Oct 2023 22:21:20 -0400 Subject: [PATCH] Add a core-util-jvm module. This is basically a location where we can put common utils that can also be imported by libsignal-service (which is java-only, no android dependency). --- .../securesms/ApplicationContext.java | 4 +- .../securesms/AvatarPreviewActivity.java | 1 - .../thoughtcrime/securesms/BaseActivity.java | 2 - .../securesms/DeviceActivity.java | 2 - .../securesms/PassphrasePromptActivity.java | 1 - .../securesms/WebRtcCallActivity.java | 2 +- .../securesms/components/FromTextView.java | 3 - .../components/KeyboardAwareLinearLayout.java | 1 - .../components/RecentPhotoViewRail.java | 1 - .../securesms/components/TooltipPopup.java | 1 - .../components/ZoomingImageView.java | 5 - .../components/webrtc/WebRtcCallView.java | 4 - .../securesms/contactshare/ContactUtil.java | 1 - .../conversation/ConversationItem.java | 2 - .../ConversationItemBodyBubble.java | 1 - .../conversation/ConversationRepository.java | 10 - .../ConversationListFragment.java | 1 - .../ConversationListItem.java | 1 - .../crypto/storage/TextSecurePreKeyStore.java | 1 - .../groups/GroupsV2ProcessingLock.java | 1 - .../impl/CellServiceConstraintObserver.java | 1 - .../securesms/jobs/CleanPreKeysJob.java | 1 - .../jobs/ConversationShortcutUpdateJob.java | 1 - .../jobs/EmojiSearchIndexDownloadJob.java | 1 - .../securesms/jobs/FcmRefreshJob.java | 1 - .../securesms/jobs/MarkerJob.java | 1 - .../jobs/MultiDeviceBlockedUpdateJob.java | 1 - .../jobs/MultiDeviceKeysUpdateJob.java | 1 - .../MultiDeviceProfileContentUpdateJob.java | 1 - .../jobs/MultiDeviceProfileKeyUpdateJob.java | 1 - .../jobs/MultiDeviceStickerPackSyncJob.java | 1 - .../MultiDeviceStorageSyncRequestJob.java | 1 - .../securesms/jobs/ProfileUploadJob.java | 1 - .../securesms/jobs/RemoteDeleteSendJob.java | 1 - .../securesms/jobs/RetrieveProfileJob.java | 1 - .../securesms/jobs/RotateCertificateJob.java | 1 - .../jobs/ServiceOutageDetectionJob.java | 1 - .../jobs/StorageAccountRestoreJob.java | 1 - .../securesms/jobs/StorageForcePushJob.java | 1 - .../jobs/SubscriptionKeepAliveJob.java | 1 - .../securesms/jobs/UpdateApkJob.java | 1 - .../securesms/logging/PersistentLogger.kt | 10 +- .../securesms/mediasend/MediaRepository.java | 1 - .../mediasend/camerax/CameraXUtil.java | 1 - .../securesms/megaphone/Megaphones.java | 1 - .../megaphone/PinsForAllSchedule.java | 2 - .../securesms/migrations/MigrationJob.java | 1 - .../PniAccountInitializationMigrationJob.java | 1 - .../mms/IncomingLollipopMmsConnection.java | 2 - .../securesms/mms/MediaConstraints.java | 2 - .../mms/OutgoingLollipopMmsConnection.java | 1 - .../notifications/MarkReadReceiver.java | 1 - .../confirm/ConfirmPaymentFragment.java | 1 - .../create/CreatePaymentViewModel.java | 1 - .../BackupsPreferenceFragment.java | 2 - .../manage/ManageProfileFragment.java | 1 - .../securesms/ratelimit/RateLimitUtil.java | 1 - .../reactions/ReactionsConversationView.java | 1 - .../securesms/recipients/RecipientId.java | 1 - .../securesms/recipients/RecipientUtil.java | 1 - .../registration/PushChallengeRequest.java | 1 - .../RegistrationNavigationActivity.java | 1 - .../BaseRegistrationLockFragment.java | 1 - .../fragments/RestoreBackupFragment.java | 1 - .../fragments/WelcomeFragment.java | 1 - .../service/GenericForegroundService.java | 1 - .../service/PendingRetryReceiptManager.java | 1 - .../service/UpdateApkRefreshListener.java | 1 - .../webrtc/DeviceAwareActionProcessor.java | 1 - .../service/webrtc/GroupActionProcessor.java | 1 - .../webrtc/GroupPreJoinActionProcessor.java | 1 - .../IncomingGroupCallActionProcessor.java | 2 - .../service/webrtc/WebRtcActionProcessor.java | 1 - .../storage/AccountRecordProcessor.java | 1 - .../storage/ContactRecordProcessor.java | 2 - .../securesms/storage/StorageSyncHelper.java | 1 - .../securesms/util/AlarmSleepTimer.java | 2 - .../securesms/util/DynamicTheme.java | 1 - .../securesms/util/FullscreenHelper.java | 3 - .../securesms/util/SaveAttachmentTask.java | 1 - .../org/thoughtcrime/securesms/util/Util.java | 1 - .../util/adapter/mapping/LayoutFactory.java | 2 - .../securesms/video/VideoPlayer.java | 1 - .../VideoThumbnailsExtractor.java | 1 - .../webrtc/audio/IncomingRinger.java | 1 - .../groups/v2/ProfileKeySetTest.java | 1 - .../storage/StorageSyncHelperTest.java | 1 - build.gradle | 8 +- core-util-jvm/.gitignore | 1 + core-util-jvm/build.gradle.kts | 21 ++ .../java/org/signal/core/util/Bitmask.java | 5 + .../org/signal/core/util/ByteExtensions.kt | 0 .../org/signal/core/util/DoubleExtensions.kt | 0 .../org/signal/core/util/FloatExtensions.kt | 0 .../main/java/org/signal/core/util/Hex.java | 18 +- .../signal/core/util/OptionalExtensions.kt | 5 + .../java/org/signal/core/util/SetUtil.java | 5 + .../java/org/signal/core/util/Stopwatch.kt | 5 + .../core/util/logging/CompoundLogger.kt | 48 ++++ .../java/org/signal/core/util/logging/Log.kt | 168 +++++++++++++ .../signal/core/util/logging/NoopLogger.kt | 18 ++ .../org/signal/core/util/logging/Scrubber.kt | 17 +- .../org/signal/core/util/logging/LogTest.java | 14 +- .../signal/core/util/logging/ScrubberTest.kt | 5 + core-util/build.gradle | 2 + .../java/org/signal/core/util/ColorUtil.java | 43 ---- .../core/util/GraphemeClusterLimitFilter.java | 1 + .../core/util/logging/AndroidLogger.java | 2 + .../core/util/logging/CompoundLogger.java | 128 ---------- .../org/signal/core/util/logging/Log.java | 229 ------------------ .../signal/core/util/logging/NoopLogger.java | 24 -- .../DeviceToDeviceTransferService.java | 1 - .../donations/ResponseFieldLoggerTest.kt | 10 +- .../java/org/signal/lint/LogDetectorTest.java | 4 +- settings.gradle | 1 + 115 files changed, 323 insertions(+), 591 deletions(-) create mode 100644 core-util-jvm/.gitignore create mode 100644 core-util-jvm/build.gradle.kts rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/Bitmask.java (97%) rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/ByteExtensions.kt (100%) rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/DoubleExtensions.kt (100%) rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/FloatExtensions.kt (100%) rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/Hex.java (83%) rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/OptionalExtensions.kt (81%) rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/SetUtil.java (90%) rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/Stopwatch.kt (95%) create mode 100644 core-util-jvm/src/main/java/org/signal/core/util/logging/CompoundLogger.kt create mode 100644 core-util-jvm/src/main/java/org/signal/core/util/logging/Log.kt create mode 100644 core-util-jvm/src/main/java/org/signal/core/util/logging/NoopLogger.kt rename {core-util => core-util-jvm}/src/main/java/org/signal/core/util/logging/Scrubber.kt (90%) rename {core-util => core-util-jvm}/src/test/java/org/signal/core/util/logging/LogTest.java (65%) rename {core-util => core-util-jvm}/src/test/java/org/signal/core/util/logging/ScrubberTest.kt (98%) delete mode 100644 core-util/src/main/java/org/signal/core/util/ColorUtil.java delete mode 100644 core-util/src/main/java/org/signal/core/util/logging/CompoundLogger.java delete mode 100644 core-util/src/main/java/org/signal/core/util/logging/Log.java delete mode 100644 core-util/src/main/java/org/signal/core/util/logging/NoopLogger.java diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index 0e1e20afda..214fddc6fe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -90,8 +90,6 @@ import org.thoughtcrime.securesms.util.AppForegroundObserver; import org.thoughtcrime.securesms.util.AppStartup; import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.FeatureFlags; -import org.thoughtcrime.securesms.util.PowerManagerCompat; -import org.thoughtcrime.securesms.util.ServiceUtil; import org.thoughtcrime.securesms.util.SignalLocalMetrics; import org.thoughtcrime.securesms.util.SignalUncaughtExceptionHandler; import org.thoughtcrime.securesms.util.TextSecurePreferences; @@ -288,7 +286,7 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr @VisibleForTesting protected void initializeLogging() { - org.signal.core.util.logging.Log.initialize(FeatureFlags::internalUser, new AndroidLogger(), new PersistentLogger(this)); + Log.initialize(FeatureFlags::internalUser, new AndroidLogger(), new PersistentLogger(this)); SignalProtocolLoggerProvider.setProvider(new CustomSignalProtocolLogger()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java index 3d98d8fb07..afa78fd214 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java @@ -6,7 +6,6 @@ import android.content.Intent; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; -import android.os.Build; import android.os.Bundle; import android.transition.TransitionInflater; import android.view.View; diff --git a/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java b/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java index 0efd4db83b..9598fb1dbc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java @@ -5,7 +5,6 @@ import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.view.View; -import android.view.WindowManager; import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; @@ -18,7 +17,6 @@ import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.util.AppStartup; import org.thoughtcrime.securesms.util.ConfigurationUtil; -import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.WindowUtil; import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper; diff --git a/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java b/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java index ca0ed109bf..1f9408bd2c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java @@ -5,13 +5,11 @@ import android.annotation.SuppressLint; import android.content.Context; import android.net.Uri; import android.os.AsyncTask; -import android.os.Build; import android.os.Bundle; import android.os.Vibrator; import android.text.TextUtils; import android.transition.TransitionInflater; import android.view.Menu; -import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.Button; diff --git a/app/src/main/java/org/thoughtcrime/securesms/PassphrasePromptActivity.java b/app/src/main/java/org/thoughtcrime/securesms/PassphrasePromptActivity.java index 5b09bc613c..ef74eb153d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/PassphrasePromptActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/PassphrasePromptActivity.java @@ -21,7 +21,6 @@ import android.app.KeyguardManager; import android.content.Context; import android.content.Intent; import android.graphics.PorterDuff; -import android.os.Build; import android.os.Bundle; import android.text.Editable; import android.text.InputType; diff --git a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java index 7fcf3b65bf..77670ca61a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java @@ -53,8 +53,8 @@ import org.greenrobot.eventbus.ThreadMode; import org.signal.core.util.ThreadUtil; import org.signal.core.util.concurrent.LifecycleDisposable; import org.signal.core.util.concurrent.SignalExecutors; -import org.signal.core.util.logging.Log; import org.signal.libsignal.protocol.IdentityKey; +import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.components.TooltipPopup; import org.thoughtcrime.securesms.components.sensors.DeviceOrientationMonitor; import org.thoughtcrime.securesms.components.webrtc.CallLinkInfoSheet; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java b/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java index 2901fe7dc2..92b26ce15a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java @@ -5,13 +5,11 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import android.graphics.drawable.Drawable; import android.text.SpannableStringBuilder; -import android.text.style.CharacterStyle; import android.util.AttributeSet; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; -import org.signal.core.util.BreakIteratorCompat; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.emoji.SimpleEmojiTextView; @@ -20,7 +18,6 @@ import org.thoughtcrime.securesms.util.ContextUtil; import org.thoughtcrime.securesms.util.SpanUtil; import org.thoughtcrime.securesms.util.ViewUtil; -import java.util.Iterator; import java.util.Objects; public class FromTextView extends SimpleEmojiTextView { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/KeyboardAwareLinearLayout.java b/app/src/main/java/org/thoughtcrime/securesms/components/KeyboardAwareLinearLayout.java index eec0615cbb..60210d8c44 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/KeyboardAwareLinearLayout.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/KeyboardAwareLinearLayout.java @@ -37,7 +37,6 @@ import org.thoughtcrime.securesms.util.ViewUtil; import java.lang.reflect.Field; import java.util.HashSet; import java.util.Set; -import java.util.concurrent.TimeUnit; /** * LinearLayout that, when a view container, will report back when it thinks a soft keyboard diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/RecentPhotoViewRail.java b/app/src/main/java/org/thoughtcrime/securesms/components/RecentPhotoViewRail.java index ff7d20f174..d336d57529 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/RecentPhotoViewRail.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/RecentPhotoViewRail.java @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.components; -import android.annotation.TargetApi; import android.content.ContentUris; import android.content.Context; import android.database.Cursor; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/TooltipPopup.java b/app/src/main/java/org/thoughtcrime/securesms/components/TooltipPopup.java index 54661ddef8..40e12f056d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/TooltipPopup.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/TooltipPopup.java @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.components; import android.content.Context; import android.graphics.PorterDuff; -import android.os.Build; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/ZoomingImageView.java b/app/src/main/java/org/thoughtcrime/securesms/components/ZoomingImageView.java index cec05d19c5..4025a8c872 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/ZoomingImageView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/ZoomingImageView.java @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.components; import android.annotation.SuppressLint; import android.content.Context; -import android.graphics.drawable.Drawable; import android.net.Uri; import android.util.AttributeSet; import android.view.MotionEvent; @@ -10,13 +9,9 @@ import android.view.View; import android.widget.FrameLayout; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.exifinterface.media.ExifInterface; -import com.bumptech.glide.load.DataSource; import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.load.engine.GlideException; -import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.target.Target; import com.davemorrissey.labs.subscaleview.ImageSource; import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java index 701fa76b4c..dd1060be18 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java @@ -6,7 +6,6 @@ import android.graphics.ColorMatrixColorFilter; import android.graphics.Point; import android.graphics.Rect; import android.os.Build; -import android.os.Looper; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; @@ -26,7 +25,6 @@ import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintSet; import androidx.constraintlayout.widget.Guideline; import androidx.core.util.Consumer; -import androidx.core.util.Preconditions; import androidx.core.view.ViewKt; import androidx.core.view.WindowInsetsCompat; import androidx.recyclerview.widget.DefaultItemAnimator; @@ -74,8 +72,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import kotlin.concurrent.ThreadsKt; - public class WebRtcCallView extends ConstraintLayout { private static final String TAG = Log.tag(WebRtcCallView.class); diff --git a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactUtil.java b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactUtil.java index 39e3f6fb31..0fc5751441 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactUtil.java @@ -11,7 +11,6 @@ import androidx.annotation.MainThread; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; -import androidx.appcompat.app.AlertDialog; import com.annimon.stream.Stream; import com.google.android.material.dialog.MaterialAlertDialogBuilder; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java index 76c320895e..b048453ea7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -58,8 +58,6 @@ import androidx.appcompat.app.AlertDialog; import androidx.core.content.ContextCompat; import androidx.lifecycle.LifecycleOwner; import androidx.media3.common.MediaItem; -import androidx.recyclerview.widget.ConcatAdapter; -import androidx.recyclerview.widget.ConversationLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.google.android.material.dialog.MaterialAlertDialogBuilder; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItemBodyBubble.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItemBodyBubble.java index 416a3f1b4c..4443f823c7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItemBodyBubble.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItemBodyBubble.java @@ -12,7 +12,6 @@ import androidx.annotation.Nullable; import com.annimon.stream.Collectors; import com.annimon.stream.Stream; -import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.components.Outliner; import org.thoughtcrime.securesms.util.Projection; import org.thoughtcrime.securesms.util.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationRepository.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationRepository.java index 0a22c67510..fcbef81bb2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationRepository.java @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.conversation; import android.content.Context; -import android.os.Build; import androidx.annotation.NonNull; import androidx.annotation.WorkerThread; @@ -9,10 +8,7 @@ import androidx.annotation.WorkerThread; import org.signal.core.util.StreamUtil; import org.signal.core.util.concurrent.SignalExecutors; import org.signal.core.util.logging.Log; -import org.thoughtcrime.securesms.contacts.sync.ContactDiscovery; -import org.thoughtcrime.securesms.database.DatabaseObserver; import org.thoughtcrime.securesms.database.MessageTable; -import org.thoughtcrime.securesms.database.RecipientTable; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.database.ThreadTable; import org.thoughtcrime.securesms.database.model.GroupRecord; @@ -23,13 +19,8 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.mms.PartAuthority; import org.thoughtcrime.securesms.mms.TextSlide; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.recipients.RecipientUtil; -import org.thoughtcrime.securesms.util.BubbleUtil; -import org.thoughtcrime.securesms.util.ConversationUtil; import org.thoughtcrime.securesms.util.MessageRecordUtil; -import org.thoughtcrime.securesms.util.TextSecurePreferences; -import org.thoughtcrime.securesms.util.Util; import org.whispersystems.signalservice.api.push.ServiceId; import java.io.IOException; @@ -40,7 +31,6 @@ import java.util.Optional; import java.util.stream.Collectors; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; -import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Single; import io.reactivex.rxjava3.schedulers.Schedulers; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index b33a6744f0..135768e9fb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -137,7 +137,6 @@ import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.events.ReminderUpdateEvent; import org.thoughtcrime.securesms.exporter.flow.SmsExportDialogs; import org.thoughtcrime.securesms.groups.SelectionLimits; -import org.thoughtcrime.securesms.jobs.MessageFetchJob; import org.thoughtcrime.securesms.jobs.ServiceOutageDetectionJob; import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.lock.v2.CreateSvrPinActivity; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java index e258ac2e63..cf5c7e11fe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java @@ -61,7 +61,6 @@ import org.thoughtcrime.securesms.components.FromTextView; import org.thoughtcrime.securesms.components.TypingIndicatorView; import org.thoughtcrime.securesms.components.emoji.EmojiStrings; import org.thoughtcrime.securesms.components.emoji.EmojiTextView; -import org.thoughtcrime.securesms.components.emoji.SimpleEmojiTextView; import org.thoughtcrime.securesms.contacts.paged.ContactSearchData; import org.thoughtcrime.securesms.conversation.MessageStyler; import org.thoughtcrime.securesms.conversationlist.model.ConversationSet; diff --git a/app/src/main/java/org/thoughtcrime/securesms/crypto/storage/TextSecurePreKeyStore.java b/app/src/main/java/org/thoughtcrime/securesms/crypto/storage/TextSecurePreKeyStore.java index 05c1f54f3a..a32579b403 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/crypto/storage/TextSecurePreKeyStore.java +++ b/app/src/main/java/org/thoughtcrime/securesms/crypto/storage/TextSecurePreKeyStore.java @@ -5,7 +5,6 @@ import androidx.annotation.NonNull; import org.signal.core.util.logging.Log; import org.signal.libsignal.protocol.InvalidKeyIdException; import org.signal.libsignal.protocol.state.PreKeyRecord; -import org.signal.libsignal.protocol.state.PreKeyStore; import org.signal.libsignal.protocol.state.SignedPreKeyRecord; import org.signal.libsignal.protocol.state.SignedPreKeyStore; import org.thoughtcrime.securesms.crypto.ReentrantSessionLock; diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupsV2ProcessingLock.java b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupsV2ProcessingLock.java index b7dc727e22..47a1138a32 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupsV2ProcessingLock.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupsV2ProcessingLock.java @@ -10,7 +10,6 @@ import org.thoughtcrime.securesms.util.FeatureFlags; import java.io.Closeable; import java.util.concurrent.TimeUnit; -import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public final class GroupsV2ProcessingLock { diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobmanager/impl/CellServiceConstraintObserver.java b/app/src/main/java/org/thoughtcrime/securesms/jobmanager/impl/CellServiceConstraintObserver.java index 6ec6e20695..ffa6655228 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobmanager/impl/CellServiceConstraintObserver.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobmanager/impl/CellServiceConstraintObserver.java @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.jobmanager.impl; import android.app.Application; -import android.content.Context; import android.os.Build; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/CleanPreKeysJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/CleanPreKeysJob.java index 61c6c1be93..88175b2079 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/CleanPreKeysJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/CleanPreKeysJob.java @@ -8,7 +8,6 @@ import org.signal.libsignal.protocol.state.SignalProtocolStore; import org.thoughtcrime.securesms.crypto.PreKeyUtil; import org.thoughtcrime.securesms.crypto.storage.PreKeyMetadataStore; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.keyvalue.SignalStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ConversationShortcutUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/ConversationShortcutUpdateJob.java index afd1391f97..831bb45188 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ConversationShortcutUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ConversationShortcutUpdateJob.java @@ -8,7 +8,6 @@ import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.database.ThreadTable; import org.thoughtcrime.securesms.database.model.ThreadRecord; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.transport.RetryLaterException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/EmojiSearchIndexDownloadJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/EmojiSearchIndexDownloadJob.java index 2c8b2d7981..43b139a00a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/EmojiSearchIndexDownloadJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/EmojiSearchIndexDownloadJob.java @@ -9,7 +9,6 @@ import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.database.model.EmojiSearchData; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.keyvalue.EmojiValues; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/FcmRefreshJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/FcmRefreshJob.java index 65204bb2ec..42ab61358f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/FcmRefreshJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/FcmRefreshJob.java @@ -35,7 +35,6 @@ import org.thoughtcrime.securesms.PlayServicesProblemActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.gcm.FcmUtil; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.keyvalue.SignalStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MarkerJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MarkerJob.java index 5199174bf1..dbe4313356 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MarkerJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MarkerJob.java @@ -4,7 +4,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceBlockedUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceBlockedUpdateJob.java index 9b46aba06e..217117f881 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceBlockedUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceBlockedUpdateJob.java @@ -9,7 +9,6 @@ import org.thoughtcrime.securesms.database.RecipientTable; import org.thoughtcrime.securesms.database.RecipientTable.RecipientReader; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.net.NotPushRegisteredException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceKeysUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceKeysUpdateJob.java index b6cb4832f1..0d05c4def8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceKeysUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceKeysUpdateJob.java @@ -7,7 +7,6 @@ import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.keyvalue.SignalStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileContentUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileContentUpdateJob.java index 8d73a55b72..174420b76f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileContentUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileContentUpdateJob.java @@ -6,7 +6,6 @@ import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.net.NotPushRegisteredException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileKeyUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileKeyUpdateJob.java index d799dd75ec..20fee51b76 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileKeyUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileKeyUpdateJob.java @@ -9,7 +9,6 @@ import org.signal.libsignal.zkgroup.profiles.ProfileKey; import org.thoughtcrime.securesms.crypto.ProfileKeyUtil; import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.net.NotPushRegisteredException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackSyncJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackSyncJob.java index f8ae8395a6..4779d431af 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackSyncJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackSyncJob.java @@ -9,7 +9,6 @@ import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.database.StickerTable.StickerPackRecordReader; import org.thoughtcrime.securesms.database.model.StickerPackRecord; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.net.NotPushRegisteredException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStorageSyncRequestJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStorageSyncRequestJob.java index 8689dc9e96..cce2ad1267 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStorageSyncRequestJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStorageSyncRequestJob.java @@ -6,7 +6,6 @@ import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.crypto.UnidentifiedAccessUtil; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.net.NotPushRegisteredException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ProfileUploadJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/ProfileUploadJob.java index e45e67469c..c6e6e0994f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ProfileUploadJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ProfileUploadJob.java @@ -5,7 +5,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.keyvalue.SignalStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java index 37fd266425..3110804339 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java @@ -37,7 +37,6 @@ import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedExcept import java.io.IOException; import java.util.List; import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; public class RemoteDeleteSendJob extends BaseJob { diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java index 2e55e3c54e..057fffe3fd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java @@ -41,7 +41,6 @@ import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.recipients.RecipientUtil; import org.thoughtcrime.securesms.transport.RetryLaterException; import org.thoughtcrime.securesms.util.Base64; -import org.thoughtcrime.securesms.util.FeatureFlags; import org.thoughtcrime.securesms.util.IdentityUtil; import org.thoughtcrime.securesms.util.ProfileUtil; import org.thoughtcrime.securesms.util.Util; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RotateCertificateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RotateCertificateJob.java index b135e8395c..1c26fdd064 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RotateCertificateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RotateCertificateJob.java @@ -5,7 +5,6 @@ import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.keyvalue.CertificateType; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ServiceOutageDetectionJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/ServiceOutageDetectionJob.java index 81405cf6c6..be8fa35e0c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ServiceOutageDetectionJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ServiceOutageDetectionJob.java @@ -7,7 +7,6 @@ import org.greenrobot.eventbus.EventBus; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.BuildConfig; import org.thoughtcrime.securesms.events.ReminderUpdateEvent; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.transport.RetryLaterException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageAccountRestoreJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageAccountRestoreJob.java index 1905bc2c46..3efb1dc0bd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageAccountRestoreJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageAccountRestoreJob.java @@ -6,7 +6,6 @@ import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.JobManager; import org.thoughtcrime.securesms.jobmanager.JobTracker; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageForcePushJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageForcePushJob.java index c22c0cedd2..7f757694e3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageForcePushJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageForcePushJob.java @@ -11,7 +11,6 @@ import org.thoughtcrime.securesms.database.RecipientTable; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.database.UnknownStorageIdTable; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.keyvalue.SignalStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionKeepAliveJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionKeepAliveJob.java index 2a92798523..5c807f8982 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionKeepAliveJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/SubscriptionKeepAliveJob.java @@ -6,7 +6,6 @@ import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.keyvalue.SignalStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/UpdateApkJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/UpdateApkJob.java index d9b52a7657..1f2c25da78 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/UpdateApkJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/UpdateApkJob.java @@ -16,7 +16,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.BuildConfig; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.service.UpdateApkReadyListener; diff --git a/app/src/main/java/org/thoughtcrime/securesms/logging/PersistentLogger.kt b/app/src/main/java/org/thoughtcrime/securesms/logging/PersistentLogger.kt index 69eaa94ab9..af8265f23a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/logging/PersistentLogger.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/logging/PersistentLogger.kt @@ -47,23 +47,23 @@ class PersistentLogger( }.start() } - override fun v(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) { + override fun v(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { write(LOG_V, tag, message, t, keepLonger) } - override fun d(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) { + override fun d(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { write(LOG_D, tag, message, t, keepLonger) } - override fun i(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) { + override fun i(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { write(LOG_I, tag, message, t, keepLonger) } - override fun w(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) { + override fun w(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { write(LOG_W, tag, message, t, keepLonger) } - override fun e(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) { + override fun e(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { write(LOG_E, tag, message, t, keepLonger) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaRepository.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaRepository.java index d2809085b6..7c3ef97284 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaRepository.java @@ -1,6 +1,5 @@ package org.thoughtcrime.securesms.mediasend; -import android.annotation.TargetApi; import android.content.ContentUris; import android.content.Context; import android.database.Cursor; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXUtil.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXUtil.java index c0657b6c9c..d8066859b7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/camerax/CameraXUtil.java @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.mediasend.camerax; import android.annotation.SuppressLint; -import android.annotation.TargetApi; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; diff --git a/app/src/main/java/org/thoughtcrime/securesms/megaphone/Megaphones.java b/app/src/main/java/org/thoughtcrime/securesms/megaphone/Megaphones.java index 8143d6f3a0..df5e011a43 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/megaphone/Megaphones.java +++ b/app/src/main/java/org/thoughtcrime/securesms/megaphone/Megaphones.java @@ -4,7 +4,6 @@ import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.os.Build; -import android.provider.Settings; import androidx.annotation.NonNull; import androidx.annotation.Nullable; diff --git a/app/src/main/java/org/thoughtcrime/securesms/megaphone/PinsForAllSchedule.java b/app/src/main/java/org/thoughtcrime/securesms/megaphone/PinsForAllSchedule.java index b8b75e480a..d342034742 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/megaphone/PinsForAllSchedule.java +++ b/app/src/main/java/org/thoughtcrime/securesms/megaphone/PinsForAllSchedule.java @@ -3,9 +3,7 @@ package org.thoughtcrime.securesms.megaphone; import androidx.annotation.VisibleForTesting; import org.signal.core.util.logging.Log; -import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.keyvalue.SignalStore; -import org.thoughtcrime.securesms.util.TextSecurePreferences; import java.util.Locale; import java.util.concurrent.TimeUnit; diff --git a/app/src/main/java/org/thoughtcrime/securesms/migrations/MigrationJob.java b/app/src/main/java/org/thoughtcrime/securesms/migrations/MigrationJob.java index 941f164e84..1331b24194 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/migrations/MigrationJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/migrations/MigrationJob.java @@ -4,7 +4,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.JobLogger; import org.thoughtcrime.securesms.jobmanager.impl.BackoffUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/migrations/PniAccountInitializationMigrationJob.java b/app/src/main/java/org/thoughtcrime/securesms/migrations/PniAccountInitializationMigrationJob.java index fa933b61c0..309047050c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/migrations/PniAccountInitializationMigrationJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/migrations/PniAccountInitializationMigrationJob.java @@ -5,7 +5,6 @@ import androidx.annotation.Nullable; import org.signal.core.util.logging.Log; import org.signal.libsignal.protocol.state.PreKeyRecord; -import org.signal.libsignal.protocol.state.SignalProtocolStore; import org.signal.libsignal.protocol.state.SignedPreKeyRecord; import org.thoughtcrime.securesms.crypto.PreKeyUtil; import org.thoughtcrime.securesms.crypto.storage.PreKeyMetadataStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java index 645cac286b..e3fed1b4ca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java @@ -16,11 +16,9 @@ */ package org.thoughtcrime.securesms.mms; -import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; import android.os.Build.VERSION; -import android.os.Build.VERSION_CODES; import android.os.Bundle; import android.telephony.SmsManager; import android.text.TextUtils; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/MediaConstraints.java b/app/src/main/java/org/thoughtcrime/securesms/mms/MediaConstraints.java index 7748a39aa7..a39e0df4e0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/MediaConstraints.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/MediaConstraints.java @@ -17,8 +17,6 @@ import org.thoughtcrime.securesms.util.BitmapUtil; import org.thoughtcrime.securesms.util.FeatureFlags; import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.MemoryFileDescriptor; -import org.whispersystems.signalservice.api.crypto.AttachmentCipherOutputStream; -import org.whispersystems.signalservice.internal.crypto.PaddingInputStream; import java.io.IOException; import java.io.InputStream; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingLollipopMmsConnection.java b/app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingLollipopMmsConnection.java index 8ba7ce58e5..dfe17e0d12 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingLollipopMmsConnection.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingLollipopMmsConnection.java @@ -20,7 +20,6 @@ import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; import android.os.Build.VERSION; -import android.os.Build.VERSION_CODES; import android.os.Bundle; import android.telephony.SmsManager; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java index 288fecddb5..2c13a4c7ce 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/MarkReadReceiver.java @@ -10,7 +10,6 @@ import androidx.annotation.NonNull; import com.annimon.stream.Collectors; import com.annimon.stream.Stream; -import org.signal.core.util.Stopwatch; import org.signal.core.util.concurrent.SignalExecutors; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.database.MessageTable.ExpirationInfo; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentFragment.java index 8271867dbc..ded35a5b1b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentFragment.java @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.payments.confirm; import android.app.Activity; -import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentViewModel.java index c127ce5b34..21d919baee 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentViewModel.java @@ -26,7 +26,6 @@ import org.thoughtcrime.securesms.util.livedata.LiveDataUtil; import org.thoughtcrime.securesms.util.livedata.Store; import org.whispersystems.signalservice.api.payments.FormatterOptions; import org.whispersystems.signalservice.api.payments.Money; -import org.whispersystems.signalservice.api.util.OptionalUtil; import java.io.IOException; import java.math.BigDecimal; diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/BackupsPreferenceFragment.java b/app/src/main/java/org/thoughtcrime/securesms/preferences/BackupsPreferenceFragment.java index 590193f078..42e24eadf5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/BackupsPreferenceFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/BackupsPreferenceFragment.java @@ -2,14 +2,12 @@ package org.thoughtcrime.securesms.preferences; import android.Manifest; import android.app.Activity; -import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.text.format.DateFormat; import android.text.method.LinkMovementMethod; -import android.util.TimeUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileFragment.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileFragment.java index d940c91a11..3b9e2cde9b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileFragment.java @@ -41,7 +41,6 @@ import org.thoughtcrime.securesms.profiles.manage.ManageProfileViewModel.AvatarS import org.thoughtcrime.securesms.recipients.Recipient; import org.signal.core.util.concurrent.LifecycleDisposable; import org.thoughtcrime.securesms.util.NameUtil; -import org.thoughtcrime.securesms.util.UsernameUtil; import org.thoughtcrime.securesms.util.livedata.LiveDataUtil; import org.thoughtcrime.securesms.util.navigation.SafeNavigation; import org.thoughtcrime.securesms.util.views.SimpleProgressDialog; diff --git a/app/src/main/java/org/thoughtcrime/securesms/ratelimit/RateLimitUtil.java b/app/src/main/java/org/thoughtcrime/securesms/ratelimit/RateLimitUtil.java index 56699fd56c..a0d9a0963b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ratelimit/RateLimitUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ratelimit/RateLimitUtil.java @@ -8,7 +8,6 @@ import androidx.annotation.WorkerThread; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobmanager.JsonJobData; import org.thoughtcrime.securesms.jobs.PushGroupSendJob; import org.thoughtcrime.securesms.jobs.IndividualSendJob; diff --git a/app/src/main/java/org/thoughtcrime/securesms/reactions/ReactionsConversationView.java b/app/src/main/java/org/thoughtcrime/securesms/reactions/ReactionsConversationView.java index 1ff0195582..a19c8d056f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/reactions/ReactionsConversationView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/reactions/ReactionsConversationView.java @@ -15,7 +15,6 @@ import androidx.core.content.ContextCompat; import com.annimon.stream.Stream; -import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.emoji.EmojiImageView; import org.thoughtcrime.securesms.components.emoji.EmojiUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientId.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientId.java index f36e200a46..4cd64d391b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientId.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientId.java @@ -19,7 +19,6 @@ import org.thoughtcrime.securesms.util.DelimiterUtil; import org.thoughtcrime.securesms.util.Util; import org.whispersystems.signalservice.api.push.ServiceId; import org.whispersystems.signalservice.api.push.SignalServiceAddress; -import org.whispersystems.signalservice.api.util.UuidUtil; import java.util.ArrayList; import java.util.Collection; diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java index 19418a198d..4d79f034d5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java @@ -21,7 +21,6 @@ import org.thoughtcrime.securesms.groups.GroupChangeException; import org.thoughtcrime.securesms.groups.GroupChangeFailedException; import org.thoughtcrime.securesms.groups.GroupManager; import org.thoughtcrime.securesms.jobs.MultiDeviceBlockedUpdateJob; -import org.thoughtcrime.securesms.jobs.MultiDeviceMessageRequestResponseJob; import org.thoughtcrime.securesms.jobs.RefreshOwnProfileJob; import org.thoughtcrime.securesms.jobs.RotateProfileKeyJob; import org.thoughtcrime.securesms.keyvalue.SignalStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/PushChallengeRequest.java b/app/src/main/java/org/thoughtcrime/securesms/registration/PushChallengeRequest.java index 25a90f35f9..13dc4ad293 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/PushChallengeRequest.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/PushChallengeRequest.java @@ -7,7 +7,6 @@ import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import org.signal.core.util.logging.Log; -import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.whispersystems.signalservice.api.SignalServiceAccountManager; import java.io.IOException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java index 8794ab4d7a..abce53ae7f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java @@ -7,7 +7,6 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.app.AppCompatDelegate; import androidx.lifecycle.ViewModelProvider; import org.signal.core.util.logging.Log; diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/BaseRegistrationLockFragment.java b/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/BaseRegistrationLockFragment.java index ffc5ef0a2c..027a4d3420 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/BaseRegistrationLockFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/BaseRegistrationLockFragment.java @@ -10,7 +10,6 @@ import android.widget.TextView; import android.widget.Toast; import androidx.annotation.CallSuper; -import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/RestoreBackupFragment.java b/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/RestoreBackupFragment.java index 7ee3ac6de9..ab2cef3a39 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/RestoreBackupFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/RestoreBackupFragment.java @@ -50,7 +50,6 @@ import org.thoughtcrime.securesms.crypto.AttachmentSecretProvider; import org.thoughtcrime.securesms.database.NoExternalStorageException; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.jobmanager.impl.DataRestoreConstraint; -import org.thoughtcrime.securesms.jobmanager.impl.DataRestoreConstraintObserver; import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.notifications.NotificationChannels; import org.thoughtcrime.securesms.registration.viewmodel.RegistrationViewModel; diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/WelcomeFragment.java b/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/WelcomeFragment.java index 7c7bf4c63a..2659e40c8b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/WelcomeFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/WelcomeFragment.java @@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.registration.fragments; import android.Manifest; import android.annotation.SuppressLint; import android.content.Context; -import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/GenericForegroundService.java b/app/src/main/java/org/thoughtcrime/securesms/service/GenericForegroundService.java index b98ae716b7..425e147058 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/GenericForegroundService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/GenericForegroundService.java @@ -12,7 +12,6 @@ import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; -import androidx.core.content.ContextCompat; import org.signal.core.util.PendingIntentFlags; import org.signal.core.util.logging.Log; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/PendingRetryReceiptManager.java b/app/src/main/java/org/thoughtcrime/securesms/service/PendingRetryReceiptManager.java index 003fbdaabc..2a664e6bcb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/PendingRetryReceiptManager.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/PendingRetryReceiptManager.java @@ -16,7 +16,6 @@ import org.thoughtcrime.securesms.database.PendingRetryReceiptCache; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.database.model.PendingRetryReceiptModel; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.util.FeatureFlags; import java.util.concurrent.TimeUnit; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/UpdateApkRefreshListener.java b/app/src/main/java/org/thoughtcrime/securesms/service/UpdateApkRefreshListener.java index c456de19a9..ac7f9291f9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/UpdateApkRefreshListener.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/UpdateApkRefreshListener.java @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.service; import android.content.Context; -import android.content.Intent; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.BuildConfig; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/DeviceAwareActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/DeviceAwareActionProcessor.java index d17c5b4328..e419d2f0fb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/DeviceAwareActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/DeviceAwareActionProcessor.java @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.service.webrtc; import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.components.webrtc.BroadcastVideoSink; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupActionProcessor.java index f8a2732a55..08f92877b5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupActionProcessor.java @@ -24,7 +24,6 @@ import org.webrtc.PeerConnection; import org.webrtc.VideoTrack; import org.whispersystems.signalservice.api.messages.calls.OfferMessage; import org.whispersystems.signalservice.api.push.ServiceId.ACI; -import org.whispersystems.signalservice.api.push.ServiceId; import java.util.ArrayList; import java.util.Collection; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java index d68cc77ed2..3e60ebebc9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java @@ -21,7 +21,6 @@ import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceStateBuilder import org.thoughtcrime.securesms.util.NetworkUtil; import org.whispersystems.signalservice.api.messages.calls.OfferMessage; import org.whispersystems.signalservice.api.push.ServiceId.ACI; -import org.whispersystems.signalservice.api.push.ServiceId; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java index 46eced2865..4befdbdc40 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java @@ -25,10 +25,8 @@ import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceState; import org.thoughtcrime.securesms.util.NetworkUtil; import org.thoughtcrime.securesms.webrtc.locks.LockManager; import org.whispersystems.signalservice.api.push.ServiceId.ACI; -import org.whispersystems.signalservice.api.push.ServiceId; import java.util.Optional; -import java.util.UUID; import static org.thoughtcrime.securesms.webrtc.CallNotificationBuilder.TYPE_INCOMING_CONNECTING; import static org.thoughtcrime.securesms.webrtc.CallNotificationBuilder.TYPE_INCOMING_RINGING; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java index 4769241434..ad5a9c585d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java @@ -61,7 +61,6 @@ import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.Set; -import java.util.UUID; import static org.thoughtcrime.securesms.service.webrtc.WebRtcData.AnswerMetadata; import static org.thoughtcrime.securesms.service.webrtc.WebRtcData.HangupMetadata; diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/AccountRecordProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/storage/AccountRecordProcessor.java index 601320ca12..815e5ef319 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/AccountRecordProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/AccountRecordProcessor.java @@ -9,7 +9,6 @@ import org.signal.core.util.StringUtil; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.util.FeatureFlags; import org.whispersystems.signalservice.api.storage.SignalAccountRecord; import org.whispersystems.signalservice.api.storage.SignalAccountRecord.PinnedConversation; import org.whispersystems.signalservice.api.util.OptionalUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/ContactRecordProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/storage/ContactRecordProcessor.java index 82d9d35eb5..26959339b4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/ContactRecordProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/ContactRecordProcessor.java @@ -11,10 +11,8 @@ import org.thoughtcrime.securesms.jobs.RetrieveProfileJob; import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; -import org.thoughtcrime.securesms.util.FeatureFlags; import org.whispersystems.signalservice.api.push.ServiceId.ACI; import org.whispersystems.signalservice.api.push.ServiceId.PNI; -import org.whispersystems.signalservice.api.push.ServiceId; import org.whispersystems.signalservice.api.storage.SignalContactRecord; import org.whispersystems.signalservice.api.util.OptionalUtil; import org.whispersystems.signalservice.internal.storage.protos.ContactRecord.IdentityState; diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java index d6a0f1b33b..d408c5c478 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java @@ -23,7 +23,6 @@ import org.thoughtcrime.securesms.payments.Entropy; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.subscription.Subscriber; import org.thoughtcrime.securesms.util.Base64; -import org.thoughtcrime.securesms.util.FeatureFlags; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.Util; import org.whispersystems.signalservice.api.push.UsernameLinkComponents; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/AlarmSleepTimer.java b/app/src/main/java/org/thoughtcrime/securesms/util/AlarmSleepTimer.java index a50140358d..733a10674e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/AlarmSleepTimer.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/AlarmSleepTimer.java @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.util; import android.app.AlarmManager; import android.app.PendingIntent; -import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -11,7 +10,6 @@ import android.os.Build; import android.os.SystemClock; import androidx.core.app.AlarmManagerCompat; -import androidx.core.content.ContextCompat; import org.signal.core.util.PendingIntentFlags; import org.signal.core.util.logging.Log; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java index 0daf7c0341..c88e9450d6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java @@ -11,7 +11,6 @@ import androidx.appcompat.app.AppCompatDelegate; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.keyvalue.SettingsValues; import org.thoughtcrime.securesms.keyvalue.SettingsValues.Theme; import org.thoughtcrime.securesms.keyvalue.SignalStore; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java b/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java index 33454e2e8f..6110d6af07 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java @@ -12,9 +12,6 @@ import androidx.core.graphics.Insets; import androidx.core.view.DisplayCutoutCompat; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; -import androidx.core.view.WindowInsetsControllerCompat; - -import org.signal.core.util.logging.Log; /** * Encapsulates logic to properly show/hide system UI/chrome in a full screen setting. Also diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/SaveAttachmentTask.java b/app/src/main/java/org/thoughtcrime/securesms/util/SaveAttachmentTask.java index 873ac7ecb9..57a34d813d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/SaveAttachmentTask.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/SaveAttachmentTask.java @@ -10,7 +10,6 @@ import android.net.Uri; import android.os.Build; import android.os.Environment; import android.provider.MediaStore; -import android.text.TextUtils; import android.webkit.MimeTypeMap; import android.widget.Toast; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/Util.java b/app/src/main/java/org/thoughtcrime/securesms/util/Util.java index 2e15b73aa4..acc8ede8f1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/Util.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/Util.java @@ -17,7 +17,6 @@ package org.thoughtcrime.securesms.util; import android.annotation.SuppressLint; -import android.annotation.TargetApi; import android.app.ActivityManager; import android.content.ClipData; import android.content.ClipboardManager; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/LayoutFactory.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/LayoutFactory.java index 731c32fb38..438bb89e1c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/LayoutFactory.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/LayoutFactory.java @@ -7,8 +7,6 @@ import android.view.ViewGroup; import androidx.annotation.LayoutRes; import androidx.annotation.NonNull; -import org.signal.core.util.logging.Log; - import java.util.function.Function; diff --git a/app/src/main/java/org/thoughtcrime/securesms/video/VideoPlayer.java b/app/src/main/java/org/thoughtcrime/securesms/video/VideoPlayer.java index a0c4fcd05b..a422531476 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/video/VideoPlayer.java +++ b/app/src/main/java/org/thoughtcrime/securesms/video/VideoPlayer.java @@ -39,7 +39,6 @@ import androidx.media3.exoplayer.source.DefaultMediaSourceFactory; import androidx.media3.exoplayer.source.MediaSource; import androidx.media3.ui.AspectRatioFrameLayout; import androidx.media3.ui.LegacyPlayerControlView; -import androidx.media3.ui.PlayerControlView; import androidx.media3.ui.PlayerView; import org.signal.core.util.logging.Log; diff --git a/app/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsExtractor.java b/app/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsExtractor.java index 8f7309d69e..a5187cea80 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsExtractor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/video/videoconverter/VideoThumbnailsExtractor.java @@ -12,7 +12,6 @@ import androidx.annotation.RequiresApi; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.media.MediaInput; -import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/IncomingRinger.java b/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/IncomingRinger.java index bf2bb59154..03ca589696 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/IncomingRinger.java +++ b/app/src/main/java/org/thoughtcrime/securesms/webrtc/audio/IncomingRinger.java @@ -8,7 +8,6 @@ import android.media.MediaPlayer; import android.net.Uri; import android.os.Build; import android.os.Vibrator; -import android.provider.Settings; import androidx.annotation.NonNull; import androidx.annotation.Nullable; diff --git a/app/src/test/java/org/thoughtcrime/securesms/groups/v2/ProfileKeySetTest.java b/app/src/test/java/org/thoughtcrime/securesms/groups/v2/ProfileKeySetTest.java index 1367d4abde..9d21f52597 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/groups/v2/ProfileKeySetTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/groups/v2/ProfileKeySetTest.java @@ -6,7 +6,6 @@ import org.signal.libsignal.zkgroup.profiles.ProfileKey; import org.thoughtcrime.securesms.crypto.ProfileKeyUtil; import org.thoughtcrime.securesms.testutil.LogRecorder; import org.whispersystems.signalservice.api.push.ServiceId.ACI; -import org.whispersystems.signalservice.api.push.ServiceId; import java.util.Collections; import java.util.UUID; diff --git a/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java b/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java index 3b4fb873af..d2aa7a6af5 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java @@ -13,7 +13,6 @@ import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.storage.StorageSyncHelper.IdDifferenceResult; import org.thoughtcrime.securesms.util.FeatureFlags; -import org.whispersystems.signalservice.api.push.ServiceId; import org.whispersystems.signalservice.api.push.ServiceId.ACI; import org.whispersystems.signalservice.api.storage.SignalAccountRecord; import org.whispersystems.signalservice.api.storage.SignalContactRecord; diff --git a/build.gradle b/build.gradle index 497cd3b363..b2e5b9fc88 100644 --- a/build.gradle +++ b/build.gradle @@ -65,7 +65,9 @@ subprojects { } } - if (project.name != "Signal-Android" && project.name != "libsignal-service" && project.name != "lintchecks" && !project.name.endsWith("-app") && project.name != "benchmark") { + def skipQa = [ 'Signal-Android', 'libsignal-service', 'lintchecks', 'benchmark', 'core-util-jvm', 'logging' ] as Set + + if (!skipQa.contains(project.name) && !project.name.endsWith("-app")) { task qa { group 'Verification' description 'Quality Assurance. Run before pushing' @@ -93,7 +95,9 @@ task qa { ':libsignal-service:test', ':libsignal-service:ktlintCheck', ':Signal-Android:assemblePlayProdRelease', - ':Signal-Android:compilePlayProdInstrumentationAndroidTestSources' + ':Signal-Android:compilePlayProdInstrumentationAndroidTestSources', + ':core-util-jvm:test', + ':core-util-jvm:ktlintCheck' } task clean(type: Delete) { diff --git a/core-util-jvm/.gitignore b/core-util-jvm/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/core-util-jvm/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/core-util-jvm/build.gradle.kts b/core-util-jvm/build.gradle.kts new file mode 100644 index 0000000000..566f1e1e0a --- /dev/null +++ b/core-util-jvm/build.gradle.kts @@ -0,0 +1,21 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +val signalJavaVersion: JavaVersion by rootProject.extra + +plugins { + id("java-library") + id("org.jetbrains.kotlin.jvm") + id("ktlint") +} + +java { + sourceCompatibility = signalJavaVersion + targetCompatibility = signalJavaVersion +} + +dependencies { + testImplementation(testLibs.junit.junit) +} diff --git a/core-util/src/main/java/org/signal/core/util/Bitmask.java b/core-util-jvm/src/main/java/org/signal/core/util/Bitmask.java similarity index 97% rename from core-util/src/main/java/org/signal/core/util/Bitmask.java rename to core-util-jvm/src/main/java/org/signal/core/util/Bitmask.java index 8e82e74b69..9a1e391c0c 100644 --- a/core-util/src/main/java/org/signal/core/util/Bitmask.java +++ b/core-util-jvm/src/main/java/org/signal/core/util/Bitmask.java @@ -1,3 +1,8 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + package org.signal.core.util; import java.util.Locale; diff --git a/core-util/src/main/java/org/signal/core/util/ByteExtensions.kt b/core-util-jvm/src/main/java/org/signal/core/util/ByteExtensions.kt similarity index 100% rename from core-util/src/main/java/org/signal/core/util/ByteExtensions.kt rename to core-util-jvm/src/main/java/org/signal/core/util/ByteExtensions.kt diff --git a/core-util/src/main/java/org/signal/core/util/DoubleExtensions.kt b/core-util-jvm/src/main/java/org/signal/core/util/DoubleExtensions.kt similarity index 100% rename from core-util/src/main/java/org/signal/core/util/DoubleExtensions.kt rename to core-util-jvm/src/main/java/org/signal/core/util/DoubleExtensions.kt diff --git a/core-util/src/main/java/org/signal/core/util/FloatExtensions.kt b/core-util-jvm/src/main/java/org/signal/core/util/FloatExtensions.kt similarity index 100% rename from core-util/src/main/java/org/signal/core/util/FloatExtensions.kt rename to core-util-jvm/src/main/java/org/signal/core/util/FloatExtensions.kt diff --git a/core-util/src/main/java/org/signal/core/util/Hex.java b/core-util-jvm/src/main/java/org/signal/core/util/Hex.java similarity index 83% rename from core-util/src/main/java/org/signal/core/util/Hex.java rename to core-util-jvm/src/main/java/org/signal/core/util/Hex.java index bf2265bd56..b26029116f 100644 --- a/core-util/src/main/java/org/signal/core/util/Hex.java +++ b/core-util-jvm/src/main/java/org/signal/core/util/Hex.java @@ -1,18 +1,6 @@ -/** - * Copyright (C) 2011 Whisper Systems - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only */ package org.signal.core.util; diff --git a/core-util/src/main/java/org/signal/core/util/OptionalExtensions.kt b/core-util-jvm/src/main/java/org/signal/core/util/OptionalExtensions.kt similarity index 81% rename from core-util/src/main/java/org/signal/core/util/OptionalExtensions.kt rename to core-util-jvm/src/main/java/org/signal/core/util/OptionalExtensions.kt index 997eb08f76..9f4cf286ff 100644 --- a/core-util/src/main/java/org/signal/core/util/OptionalExtensions.kt +++ b/core-util-jvm/src/main/java/org/signal/core/util/OptionalExtensions.kt @@ -1,3 +1,8 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + package org.signal.core.util import java.util.Optional diff --git a/core-util/src/main/java/org/signal/core/util/SetUtil.java b/core-util-jvm/src/main/java/org/signal/core/util/SetUtil.java similarity index 90% rename from core-util/src/main/java/org/signal/core/util/SetUtil.java rename to core-util-jvm/src/main/java/org/signal/core/util/SetUtil.java index 6ec1ef04e2..404a65f09a 100644 --- a/core-util/src/main/java/org/signal/core/util/SetUtil.java +++ b/core-util-jvm/src/main/java/org/signal/core/util/SetUtil.java @@ -1,3 +1,8 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + package org.signal.core.util; import java.util.Arrays; diff --git a/core-util/src/main/java/org/signal/core/util/Stopwatch.kt b/core-util-jvm/src/main/java/org/signal/core/util/Stopwatch.kt similarity index 95% rename from core-util/src/main/java/org/signal/core/util/Stopwatch.kt rename to core-util-jvm/src/main/java/org/signal/core/util/Stopwatch.kt index 0f4d2b3f8c..670fe90e43 100644 --- a/core-util/src/main/java/org/signal/core/util/Stopwatch.kt +++ b/core-util-jvm/src/main/java/org/signal/core/util/Stopwatch.kt @@ -1,3 +1,8 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + package org.signal.core.util import org.signal.core.util.logging.Log diff --git a/core-util-jvm/src/main/java/org/signal/core/util/logging/CompoundLogger.kt b/core-util-jvm/src/main/java/org/signal/core/util/logging/CompoundLogger.kt new file mode 100644 index 0000000000..1d61bbe557 --- /dev/null +++ b/core-util-jvm/src/main/java/org/signal/core/util/logging/CompoundLogger.kt @@ -0,0 +1,48 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.signal.core.util.logging + +/** + * A way to treat N loggers as one. Wraps a bunch of other loggers and forwards the method calls to + * all of them. + */ +internal class CompoundLogger(private val loggers: List) : Log.Logger() { + override fun v(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { + for (logger in loggers) { + logger.v(tag, message, t, keepLonger) + } + } + + override fun d(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { + for (logger in loggers) { + logger.d(tag, message, t, keepLonger) + } + } + + override fun i(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { + for (logger in loggers) { + logger.i(tag, message, t, keepLonger) + } + } + + override fun w(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { + for (logger in loggers) { + logger.w(tag, message, t, keepLonger) + } + } + + override fun e(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { + for (logger in loggers) { + logger.e(tag, message, t, keepLonger) + } + } + + override fun flush() { + for (logger in loggers) { + logger.flush() + } + } +} diff --git a/core-util-jvm/src/main/java/org/signal/core/util/logging/Log.kt b/core-util-jvm/src/main/java/org/signal/core/util/logging/Log.kt new file mode 100644 index 0000000000..dd957ac75b --- /dev/null +++ b/core-util-jvm/src/main/java/org/signal/core/util/logging/Log.kt @@ -0,0 +1,168 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.signal.core.util.logging + +object Log { + private val NOOP_LOGGER: Logger = NoopLogger() + private var internalCheck: InternalCheck? = null + private var logger: Logger = NoopLogger() + + /** + * @param internalCheck A checker that will indicate if this is an internal user + * @param loggers A list of loggers that will be given every log statement. + */ + @JvmStatic + fun initialize(internalCheck: InternalCheck?, vararg loggers: Logger) { + Log.internalCheck = internalCheck + logger = CompoundLogger(loggers.toList()) + } + + @JvmStatic + fun initialize(vararg loggers: Logger) { + initialize({ false }, *loggers) + } + + @JvmStatic + fun v(tag: String, message: String) = v(tag, message, null) + + @JvmStatic + fun v(tag: String, t: Throwable?) = v(tag, null, t) + + @JvmStatic + fun v(tag: String, message: String?, t: Throwable?) = v(tag, message, t, false) + + @JvmStatic + fun v(tag: String, message: String?, keepLonger: Boolean) = v(tag, message, null, keepLonger) + + @JvmStatic + fun v(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = logger.v(tag, message, t, keepLonger) + + @JvmStatic + fun d(tag: String, message: String) = d(tag, message, null) + + @JvmStatic + fun d(tag: String, t: Throwable?) = d(tag, null, t) + + @JvmStatic + fun d(tag: String, message: String?, t: Throwable? = null) = d(tag, message, t, false) + + @JvmStatic + fun d(tag: String, message: String?, keepLonger: Boolean) = d(tag, message, null, keepLonger) + + @JvmStatic + fun d(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = logger.d(tag, message, t, keepLonger) + + @JvmStatic + fun i(tag: String, message: String) = i(tag, message, null) + + @JvmStatic + fun i(tag: String, t: Throwable?) = i(tag, null, t) + + @JvmStatic + fun i(tag: String, message: String?, t: Throwable? = null) = i(tag, message, t, false) + + @JvmStatic + fun i(tag: String, message: String?, keepLonger: Boolean) = i(tag, message, null, keepLonger) + + @JvmStatic + fun i(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = logger.i(tag, message, t, keepLonger) + + @JvmStatic + fun w(tag: String, message: String) = w(tag, message, null) + + @JvmStatic + fun w(tag: String, t: Throwable?) = w(tag, null, t) + + @JvmStatic + fun w(tag: String, message: String?, t: Throwable? = null) = w(tag, message, t, false) + + @JvmStatic + fun w(tag: String, message: String?, keepLonger: Boolean) = logger.w(tag, message, keepLonger) + + @JvmStatic + fun w(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) { + logger.w(tag, message, t, keepLonger) + } + + @JvmStatic + fun e(tag: String, message: String) = e(tag, message, null) + + @JvmStatic + fun e(tag: String, t: Throwable?) = e(tag, null, t) + + @JvmStatic + fun e(tag: String, message: String?, t: Throwable? = null) = e(tag, message, t, false) + + @JvmStatic + fun e(tag: String, message: String?, keepLonger: Boolean) = e(tag, message, null, keepLonger) + + @JvmStatic + fun e(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = logger.e(tag, message, t, keepLonger) + + @JvmStatic + fun tag(clazz: Class<*>): String { + val simpleName = clazz.simpleName + + return if (simpleName.length > 23) { + simpleName.substring(0, 23) + } else { + simpleName + } + } + + /** + * Important: This is not something that can be used to log PII. Instead, it's intended use is for + * logs that might be too verbose or otherwise unnecessary for public users. + * + * @return The normal logger if this is an internal user, or a no-op logger if it isn't. + */ + @JvmStatic + fun internal(): Logger { + return if (internalCheck!!.isInternal()) { + logger + } else { + NOOP_LOGGER + } + } + + @JvmStatic + fun blockUntilAllWritesFinished() { + logger.flush() + } + + abstract class Logger { + abstract fun v(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) + abstract fun d(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) + abstract fun i(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) + abstract fun w(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) + abstract fun e(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) + abstract fun flush() + + fun v(tag: String, message: String?) = v(tag, message, null) + fun v(tag: String, message: String?, t: Throwable?) = v(tag, message, t, false) + fun v(tag: String, message: String?, keepLonger: Boolean) = v(tag, message, null, keepLonger) + + fun d(tag: String, message: String?) = d(tag, message, null) + fun d(tag: String, message: String?, t: Throwable?) = d(tag, message, t, false) + fun d(tag: String, message: String?, keepLonger: Boolean) = d(tag, message, null, keepLonger) + + fun i(tag: String, message: String?) = i(tag, message, null) + fun i(tag: String, message: String?, t: Throwable?) = i(tag, message, t, false) + fun i(tag: String, message: String?, keepLonger: Boolean) = i(tag, message, null, keepLonger) + + fun w(tag: String, message: String?) = w(tag, message, null) + fun w(tag: String, message: String?, t: Throwable?) = w(tag, message, t, false) + fun w(tag: String, message: String?, keepLonger: Boolean) = w(tag, message, null, keepLonger) + + fun e(tag: String, message: String?) = e(tag, message, null) + fun e(tag: String, message: String?, t: Throwable?) = e(tag, message, t, false) + fun e(tag: String, message: String?, keepLonger: Boolean) = e(tag, message, null, keepLonger) + } + + fun interface InternalCheck { + fun isInternal(): Boolean + } +} diff --git a/core-util-jvm/src/main/java/org/signal/core/util/logging/NoopLogger.kt b/core-util-jvm/src/main/java/org/signal/core/util/logging/NoopLogger.kt new file mode 100644 index 0000000000..bd7abd950b --- /dev/null +++ b/core-util-jvm/src/main/java/org/signal/core/util/logging/NoopLogger.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.signal.core.util.logging + +/** + * A logger that does nothing. + */ +internal class NoopLogger : Log.Logger() { + override fun v(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun d(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun i(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun w(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun e(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun flush() = Unit +} diff --git a/core-util/src/main/java/org/signal/core/util/logging/Scrubber.kt b/core-util-jvm/src/main/java/org/signal/core/util/logging/Scrubber.kt similarity index 90% rename from core-util/src/main/java/org/signal/core/util/logging/Scrubber.kt rename to core-util-jvm/src/main/java/org/signal/core/util/logging/Scrubber.kt index c408135e56..5179280733 100644 --- a/core-util/src/main/java/org/signal/core/util/logging/Scrubber.kt +++ b/core-util-jvm/src/main/java/org/signal/core/util/logging/Scrubber.kt @@ -1,19 +1,8 @@ /* - * Copyright (C) 2014 Open Whisper Systems - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only */ + package org.signal.core.util.logging import java.util.regex.Matcher diff --git a/core-util/src/test/java/org/signal/core/util/logging/LogTest.java b/core-util-jvm/src/test/java/org/signal/core/util/logging/LogTest.java similarity index 65% rename from core-util/src/test/java/org/signal/core/util/logging/LogTest.java rename to core-util-jvm/src/test/java/org/signal/core/util/logging/LogTest.java index 7e70a9ef7a..0bb4880a43 100644 --- a/core-util/src/test/java/org/signal/core/util/logging/LogTest.java +++ b/core-util-jvm/src/test/java/org/signal/core/util/logging/LogTest.java @@ -1,5 +1,11 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + package org.signal.core.util.logging; +import org.junit.Assert; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -14,15 +20,15 @@ public final class LogTest { @Test public void tag_23_character_class_name() { String tag = Log.tag(TwentyThreeCharacters23.class); - assertEquals("TwentyThreeCharacters23", tag); - assertEquals(23, tag.length()); + Assert.assertEquals("TwentyThreeCharacters23", tag); + Assert.assertEquals(23, tag.length()); } @Test public void tag_24_character_class_name() { - assertEquals(24, TwentyFour24Characters24.class.getSimpleName().length()); + Assert.assertEquals(24, TwentyFour24Characters24.class.getSimpleName().length()); String tag = Log.tag(TwentyFour24Characters24.class); - assertEquals("TwentyFour24Characters2", tag); + Assert.assertEquals("TwentyFour24Characters2", tag); assertEquals(23, Log.tag(TwentyThreeCharacters23.class).length()); } diff --git a/core-util/src/test/java/org/signal/core/util/logging/ScrubberTest.kt b/core-util-jvm/src/test/java/org/signal/core/util/logging/ScrubberTest.kt similarity index 98% rename from core-util/src/test/java/org/signal/core/util/logging/ScrubberTest.kt rename to core-util-jvm/src/test/java/org/signal/core/util/logging/ScrubberTest.kt index 8d91f3af20..fa550aad9f 100644 --- a/core-util/src/test/java/org/signal/core/util/logging/ScrubberTest.kt +++ b/core-util-jvm/src/test/java/org/signal/core/util/logging/ScrubberTest.kt @@ -1,3 +1,8 @@ +/* + * Copyright 2023 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + package org.signal.core.util.logging import org.junit.Assert diff --git a/core-util/build.gradle b/core-util/build.gradle index 16faf75e25..286409c2a4 100644 --- a/core-util/build.gradle +++ b/core-util/build.gradle @@ -9,6 +9,8 @@ android { } dependencies { + api(project(':core-util-jvm')) + implementation libs.androidx.sqlite testImplementation testLibs.junit.junit diff --git a/core-util/src/main/java/org/signal/core/util/ColorUtil.java b/core-util/src/main/java/org/signal/core/util/ColorUtil.java deleted file mode 100644 index bd063cd186..0000000000 --- a/core-util/src/main/java/org/signal/core/util/ColorUtil.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.signal.core.util; - -import androidx.annotation.ColorInt; -import androidx.annotation.FloatRange; - -public final class ColorUtil { - - private ColorUtil() {} - - public static int blendARGB(@ColorInt int color1, - @ColorInt int color2, - @FloatRange(from = 0.0, to = 1.0) float ratio) - { - final float inverseRatio = 1 - ratio; - - float a = alpha(color1) * inverseRatio + alpha(color2) * ratio; - float r = red(color1) * inverseRatio + red(color2) * ratio; - float g = green(color1) * inverseRatio + green(color2) * ratio; - float b = blue(color1) * inverseRatio + blue(color2) * ratio; - - return argb((int) a, (int) r, (int) g, (int) b); - } - - private static int alpha(int color) { - return color >>> 24; - } - - private static int red(int color) { - return (color >> 16) & 0xFF; - } - - private static int green(int color) { - return (color >> 8) & 0xFF; - } - - private static int blue(int color) { - return color & 0xFF; - } - - private static int argb(int alpha, int red, int green, int blue) { - return (alpha << 24) | (red << 16) | (green << 8) | blue; - } -} diff --git a/core-util/src/main/java/org/signal/core/util/GraphemeClusterLimitFilter.java b/core-util/src/main/java/org/signal/core/util/GraphemeClusterLimitFilter.java index 37dafeec35..e460fbeff3 100644 --- a/core-util/src/main/java/org/signal/core/util/GraphemeClusterLimitFilter.java +++ b/core-util/src/main/java/org/signal/core/util/GraphemeClusterLimitFilter.java @@ -5,6 +5,7 @@ import android.text.Spanned; import org.signal.core.util.logging.Log; + /** * This filter will constrain edits not to make the number of character breaks of the text * greater than the specified maximum. diff --git a/core-util/src/main/java/org/signal/core/util/logging/AndroidLogger.java b/core-util/src/main/java/org/signal/core/util/logging/AndroidLogger.java index 0f729c9283..c83c41af48 100644 --- a/core-util/src/main/java/org/signal/core/util/logging/AndroidLogger.java +++ b/core-util/src/main/java/org/signal/core/util/logging/AndroidLogger.java @@ -2,6 +2,8 @@ package org.signal.core.util.logging; import android.annotation.SuppressLint; +import org.signal.core.util.logging.Log; + @SuppressLint("LogNotSignal") public final class AndroidLogger extends Log.Logger { diff --git a/core-util/src/main/java/org/signal/core/util/logging/CompoundLogger.java b/core-util/src/main/java/org/signal/core/util/logging/CompoundLogger.java deleted file mode 100644 index cb13255e94..0000000000 --- a/core-util/src/main/java/org/signal/core/util/logging/CompoundLogger.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.signal.core.util.logging; - -import androidx.annotation.NonNull; - -/** - * A way to treat N loggers as one. Wraps a bunch of other loggers and forwards the method calls to - * all of them. - */ -class CompoundLogger extends Log.Logger { - - private final Log.Logger[] loggers; - - CompoundLogger(@NonNull Log.Logger... loggers) { - this.loggers = loggers; - } - - @Override - public void v(String tag, String message, Throwable t, boolean keepLonger) { - for (Log.Logger logger : loggers) { - logger.v(tag, message, t, keepLonger); - } - } - - @Override - public void d(String tag, String message, Throwable t, boolean keepLonger) { - for (Log.Logger logger : loggers) { - logger.d(tag, message, t, keepLonger); - } - } - - @Override - public void i(String tag, String message, Throwable t, boolean keepLonger) { - for (Log.Logger logger : loggers) { - logger.i(tag, message, t, keepLonger); - } - } - - @Override - public void w(String tag, String message, Throwable t, boolean keepLonger) { - for (Log.Logger logger : loggers) { - logger.w(tag, message, t, keepLonger); - } - } - - @Override - public void e(String tag, String message, Throwable t, boolean keepLonger) { - for (Log.Logger logger : loggers) { - logger.e(tag, message, t, keepLonger); - } - } - - @Override - public void v(String tag, String message, Throwable t) { - for (Log.Logger logger :loggers) { - logger.v(tag, message, t); - } - } - - @Override - public void d(String tag, String message, Throwable t) { - for (Log.Logger logger :loggers) { - logger.d(tag, message, t); - } - } - - @Override - public void i(String tag, String message, Throwable t) { - for (Log.Logger logger :loggers) { - logger.i(tag, message, t); - } - } - - @Override - public void w(String tag, String message, Throwable t) { - for (Log.Logger logger :loggers) { - logger.w(tag, message, t); - } - } - - @Override - public void e(String tag, String message, Throwable t) { - for (Log.Logger logger :loggers) { - logger.e(tag, message, t); - } - } - - @Override - public void v(String tag, String message) { - for (Log.Logger logger :loggers) { - logger.v(tag, message); - } - } - - @Override - public void d(String tag, String message) { - for (Log.Logger logger :loggers) { - logger.d(tag, message); - } - } - - @Override - public void i(String tag, String message) { - for (Log.Logger logger :loggers) { - logger.i(tag, message); - } - } - - @Override - public void w(String tag, String message) { - for (Log.Logger logger :loggers) { - logger.w(tag, message); - } - } - - @Override - public void e(String tag, String message) { - for (Log.Logger logger :loggers) { - logger.e(tag, message); - } - } - - @Override - public void flush() { - for (Log.Logger logger : loggers) { - logger.flush(); - } - } -} diff --git a/core-util/src/main/java/org/signal/core/util/logging/Log.java b/core-util/src/main/java/org/signal/core/util/logging/Log.java deleted file mode 100644 index 9d306dc57a..0000000000 --- a/core-util/src/main/java/org/signal/core/util/logging/Log.java +++ /dev/null @@ -1,229 +0,0 @@ -package org.signal.core.util.logging; - -import android.annotation.SuppressLint; - -import androidx.annotation.MainThread; -import androidx.annotation.NonNull; - -@SuppressLint("LogNotSignal") -public final class Log { - - private static final Logger NOOP_LOGGER = new NoopLogger(); - - private static InternalCheck internalCheck; - private static Logger logger = new AndroidLogger(); - - /** - * @param internalCheck A checker that will indicate if this is an internal user - * @param loggers A list of loggers that will be given every log statement. - */ - @MainThread - public static void initialize(@NonNull InternalCheck internalCheck, Logger... loggers) { - Log.internalCheck = internalCheck; - Log.logger = new CompoundLogger(loggers); - } - - public static void initialize(Logger... loggers) { - initialize(() -> false, loggers); - } - - public static void v(String tag, String message) { - v(tag, message, null); - } - - public static void d(String tag, String message) { - d(tag, message, null); - } - - public static void i(String tag, String message) { - i(tag, message, null); - } - - public static void w(String tag, String message) { - w(tag, message, null); - } - - public static void e(String tag, String message) { - e(tag, message, null); - } - - public static void v(String tag, Throwable t) { - v(tag, null, t); - } - - public static void d(String tag, Throwable t) { - d(tag, null, t); - } - - public static void i(String tag, Throwable t) { - i(tag, null, t); - } - - public static void w(String tag, Throwable t) { - w(tag, null, t); - } - - public static void e(String tag, Throwable t) { - e(tag, null, t); - } - - public static void v(String tag, String message, Throwable t) { - logger.v(tag, message, t); - } - - public static void d(String tag, String message, Throwable t) { - logger.d(tag, message, t); - } - - public static void i(String tag, String message, Throwable t) { - logger.i(tag, message, t); - } - - public static void w(String tag, String message, Throwable t) { - logger.w(tag, message, t); - } - - public static void e(String tag, String message, Throwable t) { - logger.e(tag, message, t); - } - - public static void v(String tag, String message, boolean keepLonger) { - logger.v(tag, message, keepLonger); - } - - public static void d(String tag, String message, boolean keepLonger) { - logger.d(tag, message, keepLonger); - } - - public static void i(String tag, String message, boolean keepLonger) { - logger.i(tag, message, keepLonger); - } - - public static void w(String tag, String message, boolean keepLonger) { - logger.w(tag, message, keepLonger); - } - - public static void e(String tag, String message, boolean keepLonger) { - logger.e(tag, message, keepLonger); - } - - public static void v(String tag, String message, Throwable t, boolean keepLonger) { - logger.v(tag, message, t, keepLonger); - } - - public static void d(String tag, String message, Throwable t, boolean keepLonger) { - logger.d(tag, message, t, keepLonger); - } - - public static void i(String tag, String message, Throwable t, boolean keepLonger) { - logger.i(tag, message, t, keepLonger); - } - - public static void w(String tag, String message, Throwable t, boolean keepLonger) { - logger.w(tag, message, t, keepLonger); - } - - public static void e(String tag, String message, Throwable t, boolean keepLonger) { - logger.e(tag, message, t, keepLonger); - } - - public static @NonNull String tag(Class clazz) { - String simpleName = clazz.getSimpleName(); - if (simpleName.length() > 23) { - return simpleName.substring(0, 23); - } - return simpleName; - } - - /** - * Important: This is not something that can be used to log PII. Instead, it's intended use is for - * logs that might be too verbose or otherwise unnecessary for public users. - * - * @return The normal logger if this is an internal user, or a no-op logger if it isn't. - */ - public static Logger internal() { - if (internalCheck.isInternal()) { - return logger; - } else { - return NOOP_LOGGER; - } - } - - public static void blockUntilAllWritesFinished() { - logger.flush(); - } - - public static abstract class Logger { - - public abstract void v(String tag, String message, Throwable t, boolean keepLonger); - public abstract void d(String tag, String message, Throwable t, boolean keepLonger); - public abstract void i(String tag, String message, Throwable t, boolean keepLonger); - public abstract void w(String tag, String message, Throwable t, boolean keepLonger); - public abstract void e(String tag, String message, Throwable t, boolean keepLonger); - public abstract void flush(); - - public void v(String tag, String message, boolean keepLonger) { - v(tag, message, null, keepLonger); - } - - public void d(String tag, String message, boolean keepLonger) { - d(tag, message, null, keepLonger); - } - - public void i(String tag, String message, boolean keepLonger) { - i(tag, message, null, keepLonger); - } - - public void w(String tag, String message, boolean keepLonger) { - w(tag, message, null, keepLonger); - } - - public void e(String tag, String message, boolean keepLonger) { - e(tag, message, null, keepLonger); - } - - public void v(String tag, String message, Throwable t) { - v(tag, message, t, false); - } - - public void d(String tag, String message, Throwable t) { - d(tag, message, t, false); - } - - public void i(String tag, String message, Throwable t) { - i(tag, message, t, false); - } - - public void w(String tag, String message, Throwable t) { - w(tag, message, t, false); - } - - public void e(String tag, String message, Throwable t) { - e(tag, message, t, false); - } - - public void v(String tag, String message) { - v(tag, message, null); - } - - public void d(String tag, String message) { - d(tag, message, null); - } - - public void i(String tag, String message) { - i(tag, message, null); - } - - public void w(String tag, String message) { - w(tag, message, null); - } - - public void e(String tag, String message) { - e(tag, message, null); - } - } - - public interface InternalCheck { - boolean isInternal(); - } -} diff --git a/core-util/src/main/java/org/signal/core/util/logging/NoopLogger.java b/core-util/src/main/java/org/signal/core/util/logging/NoopLogger.java deleted file mode 100644 index 827b401ae5..0000000000 --- a/core-util/src/main/java/org/signal/core/util/logging/NoopLogger.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.signal.core.util.logging; - -/** - * A logger that does nothing. - */ -class NoopLogger extends Log.Logger { - @Override - public void v(String tag, String message, Throwable t, boolean keepLonger) { } - - @Override - public void d(String tag, String message, Throwable t, boolean keepLonger) { } - - @Override - public void i(String tag, String message, Throwable t, boolean keepLonger) { } - - @Override - public void w(String tag, String message, Throwable t, boolean keepLonger) { } - - @Override - public void e(String tag, String message, Throwable t, boolean keepLonger) { } - - @Override - public void flush() { } -} diff --git a/device-transfer/lib/src/main/java/org/signal/devicetransfer/DeviceToDeviceTransferService.java b/device-transfer/lib/src/main/java/org/signal/devicetransfer/DeviceToDeviceTransferService.java index cbe2a76bbc..447f808b2a 100644 --- a/device-transfer/lib/src/main/java/org/signal/devicetransfer/DeviceToDeviceTransferService.java +++ b/device-transfer/lib/src/main/java/org/signal/devicetransfer/DeviceToDeviceTransferService.java @@ -21,7 +21,6 @@ import org.greenrobot.eventbus.ThreadMode; import org.signal.core.util.ThreadUtil; import org.signal.core.util.logging.Log; -import java.io.Serializable; import java.util.Objects; import java.util.concurrent.TimeUnit; diff --git a/donations/lib/src/test/java/org/signal/donations/ResponseFieldLoggerTest.kt b/donations/lib/src/test/java/org/signal/donations/ResponseFieldLoggerTest.kt index 718dec68d3..b5a8dd4838 100644 --- a/donations/lib/src/test/java/org/signal/donations/ResponseFieldLoggerTest.kt +++ b/donations/lib/src/test/java/org/signal/donations/ResponseFieldLoggerTest.kt @@ -11,11 +11,11 @@ class ResponseFieldLoggerTest { @Before fun setUp() { Log.initialize(object : Logger() { - override fun v(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) = Unit - override fun d(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) = Unit - override fun i(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) = Unit - override fun w(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) = println(message) - override fun e(tag: String?, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun v(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun d(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun i(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit + override fun w(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = println(message) + override fun e(tag: String, message: String?, t: Throwable?, keepLonger: Boolean) = Unit override fun flush() = Unit }) } diff --git a/lintchecks/src/test/java/org/signal/lint/LogDetectorTest.java b/lintchecks/src/test/java/org/signal/lint/LogDetectorTest.java index 63a977a88e..a1911ab70b 100644 --- a/lintchecks/src/test/java/org/signal/lint/LogDetectorTest.java +++ b/lintchecks/src/test/java/org/signal/lint/LogDetectorTest.java @@ -121,7 +121,7 @@ public final class LogDetectorTest { lint() .files(appLogStub, java("package foo;\n" + - "import org.signal.core.util.logging.Log;\n" + + "import org.signal.log.Log;\n" + "public class Example {\n" + " private static final String TAG = Log.tag(Example.class);\n" + " public void log() {\n" + @@ -178,7 +178,7 @@ public final class LogDetectorTest { lint() .files(appLogStub, java("package foo;\n" + - "import org.signal.core.util.logging.Log;\n" + + "import org.signal.log.Log;\n" + "public class Example {\n" + " public void log() {\n" + " Log.d(\"TAG\", \"msg\");\n" + diff --git a/settings.gradle b/settings.gradle index f38742db02..5d7b3896fe 100644 --- a/settings.gradle +++ b/settings.gradle @@ -59,6 +59,7 @@ include ':microbenchmark' include ':video-app' include ':glide-webp' include ':glide-webp-app' +include ':core-util-jvm' project(':app').name = 'Signal-Android' project(':paging').projectDir = file('paging/lib')