discord-jadx/app/src/main/java/androidx/viewpager2/widget/CompositeOnPageChangeCallba...

62 lines
2.4 KiB
Java

package androidx.viewpager2.widget;
import androidx.annotation.NonNull;
import androidx.annotation.Px;
import androidx.viewpager2.widget.ViewPager2;
import java.util.ArrayList;
import java.util.ConcurrentModificationException;
import java.util.List;
public final class CompositeOnPageChangeCallback extends ViewPager2.OnPageChangeCallback {
@NonNull
private final List<ViewPager2.OnPageChangeCallback> mCallbacks;
public CompositeOnPageChangeCallback(int i) {
this.mCallbacks = new ArrayList(i);
}
private void throwCallbackListModifiedWhileInUse(ConcurrentModificationException concurrentModificationException) {
throw new IllegalStateException("Adding and removing callbacks during dispatch to callbacks is not supported", concurrentModificationException);
}
public void addOnPageChangeCallback(ViewPager2.OnPageChangeCallback onPageChangeCallback) {
this.mCallbacks.add(onPageChangeCallback);
}
@Override // androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
public void onPageScrollStateChanged(int i) {
try {
for (ViewPager2.OnPageChangeCallback onPageChangeCallback : this.mCallbacks) {
onPageChangeCallback.onPageScrollStateChanged(i);
}
} catch (ConcurrentModificationException e) {
throwCallbackListModifiedWhileInUse(e);
}
}
@Override // androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
public void onPageScrolled(int i, float f, @Px int i2) {
try {
for (ViewPager2.OnPageChangeCallback onPageChangeCallback : this.mCallbacks) {
onPageChangeCallback.onPageScrolled(i, f, i2);
}
} catch (ConcurrentModificationException e) {
throwCallbackListModifiedWhileInUse(e);
}
}
@Override // androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
public void onPageSelected(int i) {
try {
for (ViewPager2.OnPageChangeCallback onPageChangeCallback : this.mCallbacks) {
onPageChangeCallback.onPageSelected(i);
}
} catch (ConcurrentModificationException e) {
throwCallbackListModifiedWhileInUse(e);
}
}
public void removeOnPageChangeCallback(ViewPager2.OnPageChangeCallback onPageChangeCallback) {
this.mCallbacks.remove(onPageChangeCallback);
}
}