diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/SharedContactView.java b/app/src/main/java/org/thoughtcrime/securesms/components/SharedContactView.java index 964ea55a65..4dad70e374 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/SharedContactView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/SharedContactView.java @@ -5,7 +5,6 @@ import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.net.Uri; -import android.os.Build; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; @@ -69,7 +68,7 @@ public class SharedContactView extends LinearLayout implements RecipientForeverO initialize(attrs); } - @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) + @RequiresApi(api = 21) public SharedContactView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); initialize(attrs); diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/SignalProgressDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/components/SignalProgressDialog.kt index 1ebafb0bf0..a5bcd756d7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/SignalProgressDialog.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/SignalProgressDialog.kt @@ -37,7 +37,7 @@ class SignalProgressDialog private constructor( var progress: Int get() = progressBar.progress - set(value) = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + set(value) = if (Build.VERSION.SDK_INT >= 24) { progressBar.setProgress(value, true) } else { progressBar.setProgress(value) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/SystemEmojiDrawable.kt b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/SystemEmojiDrawable.kt index 3186562d4b..3e05fba70a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/SystemEmojiDrawable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/SystemEmojiDrawable.kt @@ -48,7 +48,7 @@ class SystemEmojiDrawable(emoji: CharSequence) : Drawable() { companion object { private val textPaint: TextPaint = TextPaint() - private fun getStaticLayout(emoji: CharSequence): StaticLayout = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + private fun getStaticLayout(emoji: CharSequence): StaticLayout = if (Build.VERSION.SDK_INT >= 23) { StaticLayout.Builder.obtain(emoji, 0, emoji.length, textPaint, Int.MAX_VALUE).build() } else { @Suppress("DEPRECATION") diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/registration/VerificationPinKeyboard.java b/app/src/main/java/org/thoughtcrime/securesms/components/registration/VerificationPinKeyboard.java index f9b72eb034..624e0bc473 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/registration/VerificationPinKeyboard.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/registration/VerificationPinKeyboard.java @@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.components.registration; import android.content.Context; import android.graphics.PorterDuff; -import android.os.Build; import android.util.AttributeSet; import android.view.View; import android.view.animation.Animation; @@ -49,7 +48,7 @@ public class VerificationPinKeyboard extends FrameLayout { initialize(); } - @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) + @RequiresApi(api = 21) public VerificationPinKeyboard(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); initialize(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/transfercontrols/TransferControlView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/transfercontrols/TransferControlView.kt index 768b75d6c1..366b81deea 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/transfercontrols/TransferControlView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/transfercontrols/TransferControlView.kt @@ -493,7 +493,7 @@ class TransferControlView @JvmOverloads constructor(context: Context, attrs: Att } private fun applyFocusableAndClickable(currentState: TransferControlViewState, activeViews: List, inactiveViews: List) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (Build.VERSION.SDK_INT >= 26) { val focusIntDef = if (currentState.isFocusable) View.FOCUSABLE else View.NOT_FOCUSABLE activeViews.forEach { it.focusable = focusIntDef } inactiveViews.forEach { it.focusable = View.NOT_FOCUSABLE } diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/avatars/ContactPhotoLocalUriFetcher.java b/app/src/main/java/org/thoughtcrime/securesms/contacts/avatars/ContactPhotoLocalUriFetcher.java index 2edd57b528..fe4deb84c0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/avatars/ContactPhotoLocalUriFetcher.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/avatars/ContactPhotoLocalUriFetcher.java @@ -9,7 +9,6 @@ import android.content.ContentResolver; import android.content.Context; import android.net.Uri; import android.os.Build.VERSION; -import android.os.Build.VERSION_CODES; import android.provider.ContactsContract; import com.bumptech.glide.load.data.StreamLocalUriFetcher; @@ -31,7 +30,7 @@ class ContactPhotoLocalUriFetcher extends StreamLocalUriFetcher { protected InputStream loadResource(Uri uri, ContentResolver contentResolver) throws FileNotFoundException { - if (VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH) { + if (VERSION.SDK_INT >= 14) { return ContactsContract.Contacts.openContactPhotoInputStream(contentResolver, uri, true); } else { return ContactsContract.Contacts.openContactPhotoInputStream(contentResolver, uri); diff --git a/app/src/main/java/org/thoughtcrime/securesms/crypto/KeyStoreHelper.java b/app/src/main/java/org/thoughtcrime/securesms/crypto/KeyStoreHelper.java index 669dca58c7..2870946a76 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/crypto/KeyStoreHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/crypto/KeyStoreHelper.java @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.crypto; -import android.os.Build; import android.security.keystore.KeyGenParameterSpec; import android.security.keystore.KeyProperties; import android.util.Base64; @@ -110,13 +109,13 @@ public final class KeyStoreHelper { return result.get(); } - @RequiresApi(Build.VERSION_CODES.M) + @RequiresApi(23) private static SecretKey getOrCreateKeyStoreEntry() { if (hasKeyStoreEntry()) return getKeyStoreEntry(); else return createKeyStoreEntry(); } - @RequiresApi(Build.VERSION_CODES.M) + @RequiresApi(23) private static SecretKey createKeyStoreEntry() { try { KeyGenerator keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, ANDROID_KEY_STORE); @@ -133,7 +132,7 @@ public final class KeyStoreHelper { } } - @RequiresApi(Build.VERSION_CODES.M) + @RequiresApi(23) private static SecretKey getKeyStoreEntry() { KeyStore keyStore = getKeyStore(); @@ -171,7 +170,7 @@ public final class KeyStoreHelper { } } - @RequiresApi(Build.VERSION_CODES.M) + @RequiresApi(23) private static boolean hasKeyStoreEntry() { try { KeyStore ks = KeyStore.getInstance(ANDROID_KEY_STORE); diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/views/SimpleProgressDialog.java b/app/src/main/java/org/thoughtcrime/securesms/util/views/SimpleProgressDialog.java index b051316a46..7d0b476b70 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/views/SimpleProgressDialog.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/views/SimpleProgressDialog.java @@ -10,6 +10,8 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.lifecycle.Lifecycle; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.signal.core.util.ThreadUtil; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; @@ -29,7 +31,7 @@ public final class SimpleProgressDialog { @MainThread public static @NonNull AlertDialog show(@NonNull Context context) { - AlertDialog dialog = new AlertDialog.Builder(context) + AlertDialog dialog = new MaterialAlertDialogBuilder(context) .setView(R.layout.progress_dialog) .setCancelable(false) .create(); diff --git a/app/src/quickstart/java/org/thoughtcrime/securesms/QuickstartRestoreActivity.kt b/app/src/quickstart/java/org/thoughtcrime/securesms/QuickstartRestoreActivity.kt index 37e2b359a1..92328e5314 100644 --- a/app/src/quickstart/java/org/thoughtcrime/securesms/QuickstartRestoreActivity.kt +++ b/app/src/quickstart/java/org/thoughtcrime/securesms/QuickstartRestoreActivity.kt @@ -125,7 +125,7 @@ class QuickstartRestoreActivity : BaseActivity() { } private fun hasStorageAccess(): Boolean { - return Build.VERSION.SDK_INT < Build.VERSION_CODES.R || Environment.isExternalStorageManager() + return Build.VERSION.SDK_INT < 30 || Environment.isExternalStorageManager() } private fun startRestore() { diff --git a/core/models-jvm/src/main/java/org/signal/core/models/ServiceId.kt b/core/models-jvm/src/main/java/org/signal/core/models/ServiceId.kt index 709140230d..af7685f3e1 100644 --- a/core/models-jvm/src/main/java/org/signal/core/models/ServiceId.kt +++ b/core/models-jvm/src/main/java/org/signal/core/models/ServiceId.kt @@ -8,9 +8,9 @@ package org.signal.core.models import okio.ByteString import okio.ByteString.Companion.toByteString import org.signal.core.util.UuidUtil +import org.signal.core.util.logging.Log import org.signal.core.util.toByteArray import org.signal.libsignal.protocol.SignalProtocolAddress -import org.signal.libsignal.protocol.logging.Log import java.util.UUID /** diff --git a/core/network/src/main/java/org/signal/network/util/JsonUtil.java b/core/network/src/main/java/org/signal/network/util/JsonUtil.java index b85d897b18..a251043fb9 100644 --- a/core/network/src/main/java/org/signal/network/util/JsonUtil.java +++ b/core/network/src/main/java/org/signal/network/util/JsonUtil.java @@ -22,7 +22,7 @@ import com.fasterxml.jackson.module.kotlin.KotlinModule; import org.signal.core.util.Base64; import org.signal.libsignal.protocol.IdentityKey; import org.signal.libsignal.protocol.InvalidKeyException; -import org.signal.libsignal.protocol.logging.Log; +import org.signal.core.util.logging.Log; import org.signal.core.models.MasterKey; import org.signal.core.models.ServiceId; import org.signal.core.models.ServiceId.ACI; diff --git a/core/ui/src/main/java/org/signal/core/ui/compose/ActivityComponents.kt b/core/ui/src/main/java/org/signal/core/ui/compose/ActivityComponents.kt index d3a237fa3a..50514956ad 100644 --- a/core/ui/src/main/java/org/signal/core/ui/compose/ActivityComponents.kt +++ b/core/ui/src/main/java/org/signal/core/ui/compose/ActivityComponents.kt @@ -25,7 +25,7 @@ import androidx.core.util.Consumer */ @Composable fun rememberIsInPipMode(): Boolean { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (Build.VERSION.SDK_INT >= 26) { val activity = LocalActivity.current as AppCompatActivity var pipMode: Boolean by remember { mutableStateOf(activity.isInPictureInPictureMode) } DisposableEffect(activity) { diff --git a/demo/apng/src/main/java/org/signal/apng/ui/theme/Theme.kt b/demo/apng/src/main/java/org/signal/apng/ui/theme/Theme.kt index ba383c0822..1bf76c5bd4 100644 --- a/demo/apng/src/main/java/org/signal/apng/ui/theme/Theme.kt +++ b/demo/apng/src/main/java/org/signal/apng/ui/theme/Theme.kt @@ -50,7 +50,7 @@ fun SignalTheme( content: @Composable () -> Unit ) { val colorScheme = when { - dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + dynamicColor && Build.VERSION.SDK_INT >= 31 -> { val context = LocalContext.current if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) } diff --git a/demo/camera/src/main/java/org/signal/camera/demo/screens/gallery/GalleryScreenViewModel.kt b/demo/camera/src/main/java/org/signal/camera/demo/screens/gallery/GalleryScreenViewModel.kt index 6ebd608442..0bad03caaf 100644 --- a/demo/camera/src/main/java/org/signal/camera/demo/screens/gallery/GalleryScreenViewModel.kt +++ b/demo/camera/src/main/java/org/signal/camera/demo/screens/gallery/GalleryScreenViewModel.kt @@ -1,7 +1,6 @@ package org.signal.camera.demo.screens.gallery import android.content.Context -import android.util.Log import androidx.compose.runtime.MutableState import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf @@ -10,6 +9,7 @@ import androidx.lifecycle.viewModelScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import org.signal.core.util.logging.Log import java.io.File private const val TAG = "GalleryScreenViewModel" diff --git a/demo/camera/src/main/java/org/signal/camera/demo/screens/main/MainScreenViewModel.kt b/demo/camera/src/main/java/org/signal/camera/demo/screens/main/MainScreenViewModel.kt index 2eb82e29da..4618e7cea4 100644 --- a/demo/camera/src/main/java/org/signal/camera/demo/screens/main/MainScreenViewModel.kt +++ b/demo/camera/src/main/java/org/signal/camera/demo/screens/main/MainScreenViewModel.kt @@ -3,7 +3,6 @@ package org.signal.camera.demo.screens.main import android.content.Context import android.graphics.Bitmap import android.os.ParcelFileDescriptor -import android.util.Log import androidx.compose.runtime.MutableState import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf @@ -14,6 +13,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import org.signal.camera.VideoCaptureResult import org.signal.camera.VideoOutput +import org.signal.core.util.logging.Log import java.io.File import java.text.SimpleDateFormat import java.util.Locale diff --git a/demo/camera/src/main/java/org/signal/camera/demo/ui/theme/Theme.kt b/demo/camera/src/main/java/org/signal/camera/demo/ui/theme/Theme.kt index 0b0540a29e..141612ddb1 100644 --- a/demo/camera/src/main/java/org/signal/camera/demo/ui/theme/Theme.kt +++ b/demo/camera/src/main/java/org/signal/camera/demo/ui/theme/Theme.kt @@ -40,7 +40,7 @@ fun CameraXTestTheme( content: @Composable () -> Unit ) { val colorScheme = when { - dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + dynamicColor && Build.VERSION.SDK_INT >= 31 -> { val context = LocalContext.current if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) } diff --git a/demo/device-transfer/src/main/AndroidManifest.xml b/demo/device-transfer/src/main/AndroidManifest.xml index c5e51b3272..e3c309a22e 100644 --- a/demo/device-transfer/src/main/AndroidManifest.xml +++ b/demo/device-transfer/src/main/AndroidManifest.xml @@ -5,6 +5,7 @@ { - Log.d("ALAN", String.format("Undo/Redo available: %s, %s", undoAvailable ? "Y" : "N", redoAvailable ? "Y" : "N")); + Log.d(TAG, String.format("Undo/Redo available: %s, %s", undoAvailable ? "Y" : "N", redoAvailable ? "Y" : "N")); if (menu == null) return; MenuItem undo = menu.findItem(R.id.action_undo); MenuItem redo = menu.findItem(R.id.action_redo); @@ -81,12 +81,12 @@ public final class MainActivity extends AppCompatActivity { EditorModel model = null; if (savedInstanceState != null) { model = savedInstanceState.getParcelable("MODEL"); - Log.d("ALAN", "Restoring instance " + (model != null ? model.hashCode() : 0)); + Log.d(TAG, "Restoring instance " + (model != null ? model.hashCode() : 0)); } if (model == null) { model = initialModel(); - Log.d("ALAN", "New instance created " + model.hashCode()); + Log.d(TAG, "New instance created " + model.hashCode()); } imageEditorView.setModel(model); @@ -94,17 +94,17 @@ public final class MainActivity extends AppCompatActivity { imageEditorView.setTapListener(new ImageEditorView.TapListener() { @Override public void onEntityDown(@Nullable EditorElement editorElement) { - Log.d("ALAN", "Entity down " + editorElement); + Log.d(TAG, "Entity down " + editorElement); } @Override public void onEntitySingleTap(@Nullable EditorElement editorElement) { - Log.d("ALAN", "Entity single tapped " + editorElement); + Log.d(TAG, "Entity single tapped " + editorElement); } @Override public void onEntityDoubleTap(@NonNull EditorElement editorElement) { - Log.d("ALAN", "Entity double tapped " + editorElement); + Log.d(TAG, "Entity double tapped " + editorElement); if (editorElement.getRenderer() instanceof MultiLineTextRenderer) { imageEditorView.startTextEditing(editorElement); } else { diff --git a/demo/image-editor/src/main/java/org/signal/imageeditor/app/renderers/UrlRenderer.java b/demo/image-editor/src/main/java/org/signal/imageeditor/app/renderers/UrlRenderer.java index 67b82228d1..286d4b77dd 100644 --- a/demo/image-editor/src/main/java/org/signal/imageeditor/app/renderers/UrlRenderer.java +++ b/demo/image-editor/src/main/java/org/signal/imageeditor/app/renderers/UrlRenderer.java @@ -6,7 +6,7 @@ import android.graphics.Paint; import android.graphics.Point; import android.graphics.RectF; import android.os.Parcel; -import android.util.Log; +import org.signal.core.util.logging.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; diff --git a/demo/spinner/src/main/java/org/signal/spinnertest/MainActivity.kt b/demo/spinner/src/main/java/org/signal/spinnertest/MainActivity.kt index fae095d729..3e242a0ae3 100644 --- a/demo/spinner/src/main/java/org/signal/spinnertest/MainActivity.kt +++ b/demo/spinner/src/main/java/org/signal/spinnertest/MainActivity.kt @@ -14,6 +14,8 @@ import org.signal.spinner.SpinnerLogger import java.util.UUID import kotlin.random.Random +private const val TAG = "MyTag" + class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -39,18 +41,18 @@ class MainActivity : AppCompatActivity() { override fun run() { while (true) { when (Random.nextInt(0, 5)) { - 0 -> Log.v("MyTag", "Message: ${System.currentTimeMillis()}") - 1 -> Log.d("MyTag", "Message: ${System.currentTimeMillis()}") - 2 -> Log.i("MyTag", "Message: ${System.currentTimeMillis()}") - 3 -> Log.w("MyTag", "Message: ${System.currentTimeMillis()}") - 4 -> Log.e("MyTag", "Message: ${System.currentTimeMillis()}") + 0 -> Log.v(TAG, "Message: ${System.currentTimeMillis()}") + 1 -> Log.d(TAG, "Message: ${System.currentTimeMillis()}") + 2 -> Log.i(TAG, "Message: ${System.currentTimeMillis()}") + 3 -> Log.w(TAG, "Message: ${System.currentTimeMillis()}") + 4 -> Log.e(TAG, "Message: ${System.currentTimeMillis()}") } ThreadUtil.sleep(Random.nextLong(0, 200)) } } }.start() - findViewById