protected final <T> Diff<T> acquireDiff(T previousValue, T nextValue) { Diff<T> diff = ComponentsPools.acquireDiff(previousValue, nextValue); return diff; }
protected final <R> Diff<R> acquireDiff(R previousValue, R nextValue) { Diff diff = ComponentsPools.acquireDiff(previousValue, nextValue); return diff; }
protected final <T> Diff<T> acquireDiff(T previousValue, T nextValue) { Diff diff = ComponentsPools.acquireDiff(previousValue, nextValue); return diff; }
@Override public void onInserted(int position, int count) { final List<ComponentContainer> placeholders = new ArrayList<>(count); final List<Diff> dataHolders = new ArrayList<>(count); position += mHeadOffset; for (int i = 0; i < count; i++) { final int index = position + i; final ComponentContainer componentContainer = ComponentContainer.acquire(); componentContainer.mNeedsComputation = true; mPlaceholders.add(index, componentContainer); placeholders.add(componentContainer); final Diff dataHolder = ComponentsPools.acquireDiff(null, null); mDataHolders.add(index, dataHolder); dataHolders.add(dataHolder); } mOperations.add(Operation.acquire(Operation.INSERT, position, -1, placeholders, dataHolders)); }
private void init( List<T> prevData, List<T> nextData, ComponentRenderer<T> componentRenderer, OperationExecutor operationExecutor, int headOffset) { mPrevData = prevData; mOldDataSize = prevData != null ? prevData.size() : 0; mNextData = nextData; mComponentRenderer = componentRenderer; mOperationExecutor = operationExecutor; mHeadOffset = headOffset; mOperations = new ArrayList<>(); mPlaceholders = new ArrayList<>(); mDataHolders = new ArrayList<>(); for (int i = 0; i < mOldDataSize; i++) { mPlaceholders.add(ComponentContainer.acquire()); mDataHolders.add(ComponentsPools.acquireDiff(mPrevData.get(i), null)); } }
return ComponentsPools.acquireDiff( previousData.subList(headTrimmedCount, previousDataSize - tailTrimmedCount), nextData.subList(headTrimmedCount, nextDataSize - tailTrimmedCount)); return ComponentsPools.acquireDiff(previousData, nextData);
prevDataHolders.add(ComponentsPools.acquireDiff(mPrevData.get(i), null)); dataHolders.add(ComponentsPools.acquireDiff(null, model));