202 lines
7.1 KiB
Java
202 lines
7.1 KiB
Java
package com.discord.utilities.simple_pager;
|
|
|
|
import android.content.Context;
|
|
import android.util.AttributeSet;
|
|
import android.view.MotionEvent;
|
|
import android.view.View;
|
|
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.fragment.app.FragmentManager;
|
|
import androidx.fragment.app.FragmentPagerAdapter;
|
|
import androidx.viewpager.widget.PagerAdapter;
|
|
import androidx.viewpager.widget.ViewPager;
|
|
import com.google.android.material.tabs.TabLayout;
|
|
import d0.t.j;
|
|
import d0.t.u;
|
|
import d0.z.d.m;
|
|
import java.util.List;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
/* compiled from: SimplePager.kt */
|
|
public final class SimplePager extends ViewPager {
|
|
private boolean isScrollingEnabled;
|
|
private boolean keepAllPagesLoaded;
|
|
private boolean preserveSelectedPage;
|
|
private boolean wrapHeight;
|
|
|
|
/* compiled from: SimplePager.kt */
|
|
public static final class Adapter extends FragmentPagerAdapter {
|
|
private final List<Item> items;
|
|
|
|
/* compiled from: SimplePager.kt */
|
|
public static final class Item {
|
|
private final Function0<Fragment> creator;
|
|
private final String title;
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r3v0, resolved type: kotlin.jvm.functions.Function0<? extends androidx.fragment.app.Fragment> */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public Item(String str, Function0<? extends Fragment> function0) {
|
|
m.checkNotNullParameter(str, "title");
|
|
m.checkNotNullParameter(function0, "creator");
|
|
this.title = str;
|
|
this.creator = function0;
|
|
}
|
|
|
|
public final Function0<Fragment> getCreator$utils_release() {
|
|
return this.creator;
|
|
}
|
|
|
|
public final String getTitle$utils_release() {
|
|
return this.title;
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public Adapter(FragmentManager fragmentManager, Item... itemArr) {
|
|
super(fragmentManager, 1);
|
|
m.checkNotNullParameter(fragmentManager, "fm");
|
|
m.checkNotNullParameter(itemArr, "items");
|
|
this.items = j.asList(itemArr);
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.PagerAdapter
|
|
public int getCount() {
|
|
return this.items.size();
|
|
}
|
|
|
|
@Override // androidx.fragment.app.FragmentPagerAdapter
|
|
public Fragment getItem(int i) {
|
|
Function0<Fragment> creator$utils_release;
|
|
Fragment invoke;
|
|
Item item = (Item) u.getOrNull(this.items, i);
|
|
if (item != null && (creator$utils_release = item.getCreator$utils_release()) != null && (invoke = creator$utils_release.mo1invoke()) != null) {
|
|
return invoke;
|
|
}
|
|
throw new IllegalArgumentException("Invalid position: " + i + '.');
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.PagerAdapter
|
|
public CharSequence getPageTitle(int i) {
|
|
String title$utils_release;
|
|
Item item = (Item) u.getOrNull(this.items, i);
|
|
return (item == null || (title$utils_release = item.getTitle$utils_release()) == null) ? super.getPageTitle(i) : title$utils_release;
|
|
}
|
|
}
|
|
|
|
public SimplePager(Context context) {
|
|
this(context, null, 2, null);
|
|
}
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public SimplePager(Context context, AttributeSet attributeSet) {
|
|
super(context, attributeSet);
|
|
m.checkNotNullParameter(context, "context");
|
|
this.preserveSelectedPage = true;
|
|
this.keepAllPagesLoaded = true;
|
|
this.isScrollingEnabled = true;
|
|
}
|
|
|
|
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
|
|
public /* synthetic */ SimplePager(Context context, AttributeSet attributeSet, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this(context, (i & 2) != 0 ? null : attributeSet);
|
|
}
|
|
|
|
public static /* synthetic */ void getKeepAllPagesLoaded$annotations() {
|
|
}
|
|
|
|
public static /* synthetic */ void getPreserveSelectedPage$annotations() {
|
|
}
|
|
|
|
public final boolean getKeepAllPagesLoaded() {
|
|
return this.keepAllPagesLoaded;
|
|
}
|
|
|
|
public final boolean getPreserveSelectedPage() {
|
|
return this.preserveSelectedPage;
|
|
}
|
|
|
|
public final boolean getWrapHeight() {
|
|
return this.wrapHeight;
|
|
}
|
|
|
|
public final boolean isScrollingEnabled() {
|
|
return this.isScrollingEnabled;
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.ViewPager, android.view.ViewGroup
|
|
public boolean onInterceptTouchEvent(MotionEvent motionEvent) {
|
|
m.checkNotNullParameter(motionEvent, "event");
|
|
return this.isScrollingEnabled && super.onInterceptTouchEvent(motionEvent);
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.ViewPager, android.view.View
|
|
public void onMeasure(int i, int i2) {
|
|
if (!this.wrapHeight) {
|
|
super.onMeasure(i, i2);
|
|
return;
|
|
}
|
|
int childCount = getChildCount();
|
|
int i3 = 0;
|
|
for (int i4 = 0; i4 < childCount; i4++) {
|
|
View childAt = getChildAt(i4);
|
|
childAt.measure(i, View.MeasureSpec.makeMeasureSpec(0, 0));
|
|
m.checkNotNullExpressionValue(childAt, "child");
|
|
int measuredHeight = childAt.getMeasuredHeight();
|
|
if (measuredHeight > i3) {
|
|
i3 = measuredHeight;
|
|
}
|
|
}
|
|
if (i3 != 0) {
|
|
i2 = View.MeasureSpec.makeMeasureSpec(i3, BasicMeasure.EXACTLY);
|
|
}
|
|
super.onMeasure(i, i2);
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.ViewPager, android.view.View
|
|
public boolean onTouchEvent(MotionEvent motionEvent) {
|
|
m.checkNotNullParameter(motionEvent, "event");
|
|
return this.isScrollingEnabled && super.onTouchEvent(motionEvent);
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.ViewPager
|
|
public void setAdapter(PagerAdapter pagerAdapter) {
|
|
int currentItem = getCurrentItem();
|
|
super.setAdapter(pagerAdapter);
|
|
int i = 0;
|
|
if (this.preserveSelectedPage) {
|
|
if (getChildCount() > currentItem) {
|
|
setCurrentItem(currentItem, true);
|
|
} else {
|
|
setCurrentItem(0);
|
|
}
|
|
}
|
|
if (this.keepAllPagesLoaded) {
|
|
if (pagerAdapter != null) {
|
|
i = pagerAdapter.getCount();
|
|
}
|
|
setOffscreenPageLimit(i);
|
|
}
|
|
}
|
|
|
|
public final void setKeepAllPagesLoaded(boolean z2) {
|
|
this.keepAllPagesLoaded = z2;
|
|
}
|
|
|
|
public final void setPreserveSelectedPage(boolean z2) {
|
|
this.preserveSelectedPage = z2;
|
|
}
|
|
|
|
public final void setScrollingEnabled(boolean z2) {
|
|
this.isScrollingEnabled = z2;
|
|
}
|
|
|
|
public final void setTabLayout(TabLayout tabLayout) {
|
|
if (tabLayout != null) {
|
|
tabLayout.setupWithViewPager(this);
|
|
}
|
|
}
|
|
|
|
public final void setWrapHeight(boolean z2) {
|
|
this.wrapHeight = z2;
|
|
}
|
|
}
|