Move render split to match CFv2 for fairer comparisons.
This commit is contained in:
parent
291a5d57c4
commit
a656d65d1d
1 changed files with 16 additions and 7 deletions
|
@ -190,6 +190,7 @@ import org.thoughtcrime.securesms.util.StorageUtil;
|
|||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.thoughtcrime.securesms.util.TopToastPopup;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
import org.thoughtcrime.securesms.util.ViewExtensionsKt;
|
||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
||||
import org.thoughtcrime.securesms.util.WindowUtil;
|
||||
import org.thoughtcrime.securesms.util.concurrent.ListenableFuture;
|
||||
|
@ -207,6 +208,7 @@ import java.util.Objects;
|
|||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
|
||||
import kotlin.Unit;
|
||||
|
@ -386,8 +388,22 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
|
|||
|
||||
ConversationAdapter adapter = getListAdapter();
|
||||
if (adapter != null) {
|
||||
final AtomicBoolean firstRender = new AtomicBoolean(true);
|
||||
List<ConversationMessage> messages = messageData.getMessages();
|
||||
getListAdapter().submitList(messages, () -> {
|
||||
|
||||
if (firstRender.get()) {
|
||||
firstRender.set(false);
|
||||
ViewExtensionsKt.doAfterNextLayout(list, () -> {
|
||||
startupStopwatch.split("first-render");
|
||||
startupStopwatch.stop(TAG);
|
||||
SignalLocalMetrics.ConversationOpen.onRenderFinished();
|
||||
listener.onFirstRender();
|
||||
SignalTrace.endSection();
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
}
|
||||
|
||||
list.post(() -> {
|
||||
conversationViewModel.onMessagesCommitted(messages);
|
||||
});
|
||||
|
@ -738,13 +754,6 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
|
|||
public void onItemRangeInserted(int positionStart, int itemCount) {
|
||||
adapter.unregisterAdapterDataObserver(this);
|
||||
startupStopwatch.split("data-set");
|
||||
list.post(() -> {
|
||||
startupStopwatch.split("first-render");
|
||||
startupStopwatch.stop(TAG);
|
||||
SignalLocalMetrics.ConversationOpen.onRenderFinished();
|
||||
listener.onFirstRender();
|
||||
SignalTrace.endSection();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue