Upgrade several AndroidX Libraries.

AppCompat 1.2.0 to 1.5.1
Lifecycle 2.3.1 to 2.5.1
Navigation 2.3.5 to 2.5.2
Fragment 1.3.5 to 1.5.2
Annotations 1.2.0 to 1.4.0
Window 1.0.0-alpha09 to 1.0.0
AAPT2 to 7.0.4
Fragment-Testing 1.3.5 to 1.5.2 (matching Fragment)
This commit is contained in:
Alex Hart
2022-09-13 11:16:01 -03:00
committed by Greyson Parrelli
parent 9331e9ce89
commit 26bebb9811
86 changed files with 1398 additions and 362 deletions

View File

@@ -359,7 +359,7 @@ public class Camera1Fragment extends LoggingFragment implements CameraFragment,
private void initializeViewFinderAndControlsPositioning() {
CardView cameraCard = requireView().findViewById(R.id.camera_preview_parent);
View controls = requireView().findViewById(R.id.camera_controls_container);
CameraDisplay cameraDisplay = CameraDisplay.getDisplay(requireView());
CameraDisplay cameraDisplay = CameraDisplay.getDisplay(requireActivity());
if (!cameraDisplay.getRoundViewFinderCorners()) {
cameraCard.setRadius(0f);

View File

@@ -18,7 +18,7 @@ import androidx.appcompat.widget.SearchView;
import androidx.appcompat.widget.Toolbar;
import androidx.constraintlayout.widget.Group;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProviders;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -59,8 +59,9 @@ public class CameraContactSelectionFragment extends LoggingFragment implements C
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
this.contactViewModel = ViewModelProviders.of(requireActivity(), new CameraContactSelectionViewModel.Factory(new CameraContactsRepository(requireContext())))
.get(CameraContactSelectionViewModel.class);
CameraContactSelectionViewModel.Factory factory = new CameraContactSelectionViewModel.Factory(new CameraContactsRepository(requireContext()));
this.contactViewModel = new ViewModelProvider(requireActivity(), factory).get(CameraContactSelectionViewModel.class);
}
@Override

View File

@@ -1,10 +1,10 @@
package org.thoughtcrime.securesms.mediasend
import android.app.Activity
import android.content.res.Resources
import android.view.View
import androidx.annotation.Dimension
import androidx.annotation.Px
import androidx.window.WindowManager
import androidx.window.layout.WindowMetricsCalculator
import org.signal.core.util.dp
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.stories.Stories
@@ -110,9 +110,9 @@ enum class CameraDisplay(
}
@JvmStatic
fun getDisplay(view: View): CameraDisplay {
val windowManager = WindowManager(view.context)
val windowMetrics = windowManager.getCurrentWindowMetrics()
fun getDisplay(activity: Activity): CameraDisplay {
val windowMetricsCalculator = WindowMetricsCalculator.getOrCreate()
val windowMetrics = windowMetricsCalculator.computeCurrentWindowMetrics(activity)
val width = windowMetrics.bounds.width()
val height = windowMetrics.bounds.height()
val aspectRatio = width.toFloat() / height

View File

@@ -281,7 +281,7 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment {
private void initializeViewFinderAndControlsPositioning() {
CardView cameraCard = requireView().findViewById(R.id.camerax_camera_parent);
View controls = requireView().findViewById(R.id.camerax_controls_container);
CameraDisplay cameraDisplay = CameraDisplay.getDisplay(requireView());
CameraDisplay cameraDisplay = CameraDisplay.getDisplay(requireActivity());
if (!cameraDisplay.getRoundViewFinderCorners()) {
cameraCard.setRadius(0f);

View File

@@ -97,7 +97,7 @@ class MediaSelectionActivity :
viewModel = ViewModelProvider(this, factory)[MediaSelectionViewModel::class.java]
val textStoryToggle: ConstraintLayout = findViewById(R.id.switch_widget)
val cameraDisplay = CameraDisplay.getDisplay(textStoryToggle)
val cameraDisplay = CameraDisplay.getDisplay(this)
textStoryToggle.updateLayoutParams<FrameLayout.LayoutParams> {
bottomMargin = cameraDisplay.getToggleBottomMargin()

View File

@@ -25,7 +25,6 @@ import org.thoughtcrime.securesms.mms.SentMediaQuality
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.scribbles.ImageEditorFragment
import org.thoughtcrime.securesms.stories.Stories
import org.thoughtcrime.securesms.util.SingleLiveEvent
import org.thoughtcrime.securesms.util.Util
import org.thoughtcrime.securesms.util.livedata.Store
import java.util.Collections
@@ -60,7 +59,7 @@ class MediaSelectionViewModel(
private val internalHudCommands = PublishSubject.create<HudCommand>()
val mediaErrors: SingleLiveEvent<MediaValidator.FilterError> = SingleLiveEvent()
val mediaErrors: PublishSubject<MediaValidator.FilterError> = PublishSubject.create()
val hudCommands: Observable<HudCommand> = internalHudCommands
private val disposables = CompositeDisposable()
@@ -154,7 +153,7 @@ class MediaSelectionViewModel(
}
if (filterResult.filterError != null) {
mediaErrors.postValue(filterResult.filterError)
mediaErrors.onNext(filterResult.filterError)
}
}
)
@@ -230,7 +229,7 @@ class MediaSelectionViewModel(
}
if (newMediaList.isEmpty() && !suppressEmptyError) {
mediaErrors.postValue(MediaValidator.FilterError.NoItems())
mediaErrors.onNext(MediaValidator.FilterError.NoItems())
}
selectedMediaSubject.onNext(newMediaList)

View File

@@ -9,6 +9,7 @@ import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.ItemTouchHelper
import app.cash.exhaustive.Exhaustive
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.mediasend.Media
import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionNavigator
@@ -17,6 +18,7 @@ import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionViewModel
import org.thoughtcrime.securesms.mediasend.v2.MediaValidator
import org.thoughtcrime.securesms.mediasend.v2.review.MediaSelectionItemTouchHelper
import org.thoughtcrime.securesms.permissions.Permissions
import org.thoughtcrime.securesms.util.LifecycleDisposable
private const val MEDIA_GALLERY_TAG = "MEDIA_GALLERY"
@@ -24,6 +26,8 @@ class MediaSelectionGalleryFragment : Fragment(R.layout.fragment_container), Med
private lateinit var mediaGalleryFragment: MediaGalleryFragment
private val lifecycleDisposable = LifecycleDisposable()
private val navigator = MediaSelectionNavigator(
toCamera = R.id.action_mediaGalleryFragment_to_mediaCaptureFragment
)
@@ -52,7 +56,10 @@ class MediaSelectionGalleryFragment : Fragment(R.layout.fragment_container), Med
)
}
sharedViewModel.mediaErrors.observe(viewLifecycleOwner, this::handleError)
lifecycleDisposable.bindTo(viewLifecycleOwner)
lifecycleDisposable += sharedViewModel.mediaErrors
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::handleError)
}
private fun handleError(error: MediaValidator.FilterError) {

View File

@@ -23,6 +23,7 @@ import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
import app.cash.exhaustive.Exhaustive
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.contacts.paged.ContactSearchKey
import org.thoughtcrime.securesms.conversation.MessageSendType
@@ -238,7 +239,10 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
computeViewStateAndAnimate(state)
}
sharedViewModel.mediaErrors.observe(viewLifecycleOwner, this::handleMediaValidatorFilterError)
disposables.bindTo(viewLifecycleOwner)
disposables += sharedViewModel.mediaErrors
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::handleMediaValidatorFilterError)
requireActivity().onBackPressedDispatcher.addCallback(
viewLifecycleOwner,

View File

@@ -10,7 +10,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.ViewModelProviders;
import androidx.lifecycle.ViewModelProvider;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@@ -63,7 +63,7 @@ public final class QualitySelectorBottomSheetDialog extends BottomSheetDialogFra
standard.setOnClickListener(listener);
high.setOnClickListener(listener);
viewModel = ViewModelProviders.of(requireActivity()).get(MediaSelectionViewModel.class);
viewModel = new ViewModelProvider(requireActivity()).get(MediaSelectionViewModel.class);
viewModel.getState().observe(getViewLifecycleOwner(), this::updateQuality);
}

View File

@@ -181,7 +181,7 @@ class TextStoryPostCreationFragment : Fragment(R.layout.stories_text_post_creati
}
private fun initializeScenePositioning() {
val cameraDisplay = CameraDisplay.getDisplay(requireView())
val cameraDisplay = CameraDisplay.getDisplay(requireActivity())
if (!cameraDisplay.roundViewFinderCorners) {
binding.storyTextPostCard.radius = 0f