kopia lustrzana https://github.com/ryukoposting/Signal-Android
Add stopwatches for a few possible pain points in MediaGallery.
rodzic
9aa517ad99
commit
fd01ee2a87
|
@ -24,6 +24,7 @@ import org.signal.core.util.logging.Log;
|
|||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.mms.PartAuthority;
|
||||
import org.thoughtcrime.securesms.util.MediaUtil;
|
||||
import org.thoughtcrime.securesms.util.Stopwatch;
|
||||
import org.thoughtcrime.securesms.util.StorageUtil;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
|
@ -201,14 +202,20 @@ public class MediaRepository {
|
|||
|
||||
@WorkerThread
|
||||
private @NonNull List<Media> getMediaInBucket(@NonNull Context context, @NonNull String bucketId) {
|
||||
Stopwatch stopwatch = new Stopwatch("getMediaInBucket");
|
||||
|
||||
List<Media> images = getMediaInBucket(context, bucketId, Images.Media.EXTERNAL_CONTENT_URI, true);
|
||||
List<Media> videos = getMediaInBucket(context, bucketId, Video.Media.EXTERNAL_CONTENT_URI, false);
|
||||
List<Media> media = new ArrayList<>(images.size() + videos.size());
|
||||
|
||||
stopwatch.split("post fetch");
|
||||
|
||||
media.addAll(images);
|
||||
media.addAll(videos);
|
||||
Collections.sort(media, (o1, o2) -> Long.compare(o2.getDate(), o1.getDate()));
|
||||
stopwatch.split("post sort");
|
||||
|
||||
stopwatch.stop(TAG);
|
||||
return media;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import org.thoughtcrime.securesms.mediasend.Media
|
|||
import org.thoughtcrime.securesms.mediasend.MediaRepository
|
||||
import org.thoughtcrime.securesms.mediasend.v2.MediaCountIndicatorButton
|
||||
import org.thoughtcrime.securesms.util.MappingAdapter
|
||||
import org.thoughtcrime.securesms.util.Stopwatch
|
||||
import org.thoughtcrime.securesms.util.ViewUtil
|
||||
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil
|
||||
import org.thoughtcrime.securesms.util.visible
|
||||
|
@ -115,7 +116,11 @@ class MediaGalleryFragment : Fragment(R.layout.v2_media_gallery_fragment) {
|
|||
viewStateLiveData.observe(viewLifecycleOwner) { state ->
|
||||
bottomBarGroup.visible = state.selectedMedia.isNotEmpty()
|
||||
countButton.setCount(state.selectedMedia.size)
|
||||
|
||||
val stopwatch = Stopwatch("mediaSubmit")
|
||||
selectedAdapter.submitList(state.selectedMedia.map { MediaGallerySelectedItem.Model(it) }) {
|
||||
stopwatch.split("after-submit")
|
||||
stopwatch.stop("MediaGalleryFragment")
|
||||
if (state.selectedMedia.isNotEmpty()) {
|
||||
selectedRecycler.smoothScrollToPosition(state.selectedMedia.size - 1)
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue