discord-jadx/app/src/main/java/androidx/appcompat/widget/ActivityChooserView.java

629 lines
27 KiB
Java

package androidx.appcompat.widget;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.database.DataSetObserver;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import androidx.appcompat.R;
import androidx.appcompat.view.menu.ShowableListMenu;
import androidx.appcompat.widget.ActivityChooserModel;
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
import androidx.core.view.ActionProvider;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public class ActivityChooserView extends ViewGroup implements ActivityChooserModel.ActivityChooserModelClient {
private final View mActivityChooserContent;
private final Drawable mActivityChooserContentBackground;
public final ActivityChooserViewAdapter mAdapter;
private final Callbacks mCallbacks;
private int mDefaultActionButtonContentDescription;
public final FrameLayout mDefaultActivityButton;
private final ImageView mDefaultActivityButtonImage;
public final FrameLayout mExpandActivityOverflowButton;
private final ImageView mExpandActivityOverflowButtonImage;
public int mInitialActivityCount;
private boolean mIsAttachedToWindow;
public boolean mIsSelectingDefaultActivity;
private final int mListPopupMaxWidth;
private ListPopupWindow mListPopupWindow;
public final DataSetObserver mModelDataSetObserver;
public PopupWindow.OnDismissListener mOnDismissListener;
private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener;
public ActionProvider mProvider;
/* renamed from: androidx.appcompat.widget.ActivityChooserView$1 reason: invalid class name */
public class AnonymousClass1 extends DataSetObserver {
public AnonymousClass1() {
}
@Override // android.database.DataSetObserver
public void onChanged() {
super.onChanged();
ActivityChooserView.this.mAdapter.notifyDataSetChanged();
}
@Override // android.database.DataSetObserver
public void onInvalidated() {
super.onInvalidated();
ActivityChooserView.this.mAdapter.notifyDataSetInvalidated();
}
}
/* renamed from: androidx.appcompat.widget.ActivityChooserView$2 reason: invalid class name */
public class AnonymousClass2 implements ViewTreeObserver.OnGlobalLayoutListener {
public AnonymousClass2() {
}
@Override // android.view.ViewTreeObserver.OnGlobalLayoutListener
public void onGlobalLayout() {
if (!ActivityChooserView.this.isShowingPopup()) {
return;
}
if (!ActivityChooserView.this.isShown()) {
ActivityChooserView.this.getListPopupWindow().dismiss();
return;
}
ActivityChooserView.this.getListPopupWindow().show();
ActionProvider actionProvider = ActivityChooserView.this.mProvider;
if (actionProvider != null) {
actionProvider.subUiVisibilityChanged(true);
}
}
}
/* renamed from: androidx.appcompat.widget.ActivityChooserView$3 reason: invalid class name */
public class AnonymousClass3 extends View.AccessibilityDelegate {
public AnonymousClass3() {
}
@Override // android.view.View.AccessibilityDelegate
public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfo accessibilityNodeInfo) {
super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo);
AccessibilityNodeInfoCompat.wrap(accessibilityNodeInfo).setCanOpenPopup(true);
}
}
/* renamed from: androidx.appcompat.widget.ActivityChooserView$4 reason: invalid class name */
public class AnonymousClass4 extends ForwardingListener {
public AnonymousClass4(View view) {
super(view);
}
@Override // androidx.appcompat.widget.ForwardingListener
public ShowableListMenu getPopup() {
return ActivityChooserView.this.getListPopupWindow();
}
@Override // androidx.appcompat.widget.ForwardingListener
public boolean onForwardingStarted() {
ActivityChooserView.this.showPopup();
return true;
}
@Override // androidx.appcompat.widget.ForwardingListener
public boolean onForwardingStopped() {
ActivityChooserView.this.dismissPopup();
return true;
}
}
/* renamed from: androidx.appcompat.widget.ActivityChooserView$5 reason: invalid class name */
public class AnonymousClass5 extends DataSetObserver {
public AnonymousClass5() {
}
@Override // android.database.DataSetObserver
public void onChanged() {
super.onChanged();
ActivityChooserView.this.updateAppearance();
}
}
public class ActivityChooserViewAdapter extends BaseAdapter {
private static final int ITEM_VIEW_TYPE_ACTIVITY = 0;
private static final int ITEM_VIEW_TYPE_COUNT = 3;
private static final int ITEM_VIEW_TYPE_FOOTER = 1;
public static final int MAX_ACTIVITY_COUNT_DEFAULT = 4;
public static final int MAX_ACTIVITY_COUNT_UNLIMITED = Integer.MAX_VALUE;
private ActivityChooserModel mDataModel;
private boolean mHighlightDefaultActivity;
private int mMaxActivityCount = 4;
private boolean mShowDefaultActivity;
private boolean mShowFooterView;
public ActivityChooserViewAdapter() {
}
public int getActivityCount() {
return this.mDataModel.getActivityCount();
}
@Override // android.widget.Adapter
public int getCount() {
int activityCount = this.mDataModel.getActivityCount();
if (!this.mShowDefaultActivity && this.mDataModel.getDefaultActivity() != null) {
activityCount--;
}
int min = Math.min(activityCount, this.mMaxActivityCount);
return this.mShowFooterView ? min + 1 : min;
}
public ActivityChooserModel getDataModel() {
return this.mDataModel;
}
public ResolveInfo getDefaultActivity() {
return this.mDataModel.getDefaultActivity();
}
public int getHistorySize() {
return this.mDataModel.getHistorySize();
}
@Override // android.widget.Adapter
public Object getItem(int i) {
int itemViewType = getItemViewType(i);
if (itemViewType == 0) {
if (!this.mShowDefaultActivity && this.mDataModel.getDefaultActivity() != null) {
i++;
}
return this.mDataModel.getActivity(i);
} else if (itemViewType == 1) {
return null;
} else {
throw new IllegalArgumentException();
}
}
@Override // android.widget.Adapter
public long getItemId(int i) {
return (long) i;
}
@Override // android.widget.BaseAdapter, android.widget.Adapter
public int getItemViewType(int i) {
return (!this.mShowFooterView || i != getCount() - 1) ? 0 : 1;
}
public boolean getShowDefaultActivity() {
return this.mShowDefaultActivity;
}
@Override // android.widget.Adapter
public View getView(int i, View view, ViewGroup viewGroup) {
int itemViewType = getItemViewType(i);
if (itemViewType == 0) {
if (view == null || view.getId() != R.id.list_item) {
view = LayoutInflater.from(ActivityChooserView.this.getContext()).inflate(R.layout.abc_activity_chooser_view_list_item, viewGroup, false);
}
PackageManager packageManager = ActivityChooserView.this.getContext().getPackageManager();
ResolveInfo resolveInfo = (ResolveInfo) getItem(i);
((ImageView) view.findViewById(R.id.icon)).setImageDrawable(resolveInfo.loadIcon(packageManager));
((TextView) view.findViewById(R.id.title)).setText(resolveInfo.loadLabel(packageManager));
if (!this.mShowDefaultActivity || i != 0 || !this.mHighlightDefaultActivity) {
view.setActivated(false);
} else {
view.setActivated(true);
}
return view;
} else if (itemViewType != 1) {
throw new IllegalArgumentException();
} else if (view != null && view.getId() == 1) {
return view;
} else {
View inflate = LayoutInflater.from(ActivityChooserView.this.getContext()).inflate(R.layout.abc_activity_chooser_view_list_item, viewGroup, false);
inflate.setId(1);
((TextView) inflate.findViewById(R.id.title)).setText(ActivityChooserView.this.getContext().getString(R.string.abc_activity_chooser_view_see_all));
return inflate;
}
}
@Override // android.widget.BaseAdapter, android.widget.Adapter
public int getViewTypeCount() {
return 3;
}
public int measureContentWidth() {
int i = this.mMaxActivityCount;
this.mMaxActivityCount = Integer.MAX_VALUE;
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, 0);
int makeMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(0, 0);
int count = getCount();
View view = null;
int i2 = 0;
for (int i3 = 0; i3 < count; i3++) {
view = getView(i3, view, null);
view.measure(makeMeasureSpec, makeMeasureSpec2);
i2 = Math.max(i2, view.getMeasuredWidth());
}
this.mMaxActivityCount = i;
return i2;
}
public void setDataModel(ActivityChooserModel activityChooserModel) {
ActivityChooserModel dataModel = ActivityChooserView.this.mAdapter.getDataModel();
if (dataModel != null && ActivityChooserView.this.isShown()) {
dataModel.unregisterObserver(ActivityChooserView.this.mModelDataSetObserver);
}
this.mDataModel = activityChooserModel;
if (activityChooserModel != null && ActivityChooserView.this.isShown()) {
activityChooserModel.registerObserver(ActivityChooserView.this.mModelDataSetObserver);
}
notifyDataSetChanged();
}
public void setMaxActivityCount(int i) {
if (this.mMaxActivityCount != i) {
this.mMaxActivityCount = i;
notifyDataSetChanged();
}
}
public void setShowDefaultActivity(boolean z2, boolean z3) {
if (this.mShowDefaultActivity != z2 || this.mHighlightDefaultActivity != z3) {
this.mShowDefaultActivity = z2;
this.mHighlightDefaultActivity = z3;
notifyDataSetChanged();
}
}
public void setShowFooterView(boolean z2) {
if (this.mShowFooterView != z2) {
this.mShowFooterView = z2;
notifyDataSetChanged();
}
}
}
public class Callbacks implements AdapterView.OnItemClickListener, View.OnClickListener, View.OnLongClickListener, PopupWindow.OnDismissListener {
public Callbacks() {
}
private void notifyOnDismissListener() {
PopupWindow.OnDismissListener onDismissListener = ActivityChooserView.this.mOnDismissListener;
if (onDismissListener != null) {
onDismissListener.onDismiss();
}
}
@Override // android.view.View.OnClickListener
public void onClick(View view) {
ActivityChooserView activityChooserView = ActivityChooserView.this;
if (view == activityChooserView.mDefaultActivityButton) {
activityChooserView.dismissPopup();
Intent chooseActivity = ActivityChooserView.this.mAdapter.getDataModel().chooseActivity(ActivityChooserView.this.mAdapter.getDataModel().getActivityIndex(ActivityChooserView.this.mAdapter.getDefaultActivity()));
if (chooseActivity != null) {
chooseActivity.addFlags(524288);
ActivityChooserView.this.getContext().startActivity(chooseActivity);
}
} else if (view == activityChooserView.mExpandActivityOverflowButton) {
activityChooserView.mIsSelectingDefaultActivity = false;
activityChooserView.showPopupUnchecked(activityChooserView.mInitialActivityCount);
} else {
throw new IllegalArgumentException();
}
}
@Override // android.widget.PopupWindow.OnDismissListener
public void onDismiss() {
notifyOnDismissListener();
ActionProvider actionProvider = ActivityChooserView.this.mProvider;
if (actionProvider != null) {
actionProvider.subUiVisibilityChanged(false);
}
}
@Override // android.widget.AdapterView.OnItemClickListener
public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
int itemViewType = ((ActivityChooserViewAdapter) adapterView.getAdapter()).getItemViewType(i);
if (itemViewType == 0) {
ActivityChooserView.this.dismissPopup();
ActivityChooserView activityChooserView = ActivityChooserView.this;
if (!activityChooserView.mIsSelectingDefaultActivity) {
if (!activityChooserView.mAdapter.getShowDefaultActivity()) {
i++;
}
Intent chooseActivity = ActivityChooserView.this.mAdapter.getDataModel().chooseActivity(i);
if (chooseActivity != null) {
chooseActivity.addFlags(524288);
ActivityChooserView.this.getContext().startActivity(chooseActivity);
}
} else if (i > 0) {
activityChooserView.mAdapter.getDataModel().setDefaultActivity(i);
}
} else if (itemViewType == 1) {
ActivityChooserView.this.showPopupUnchecked(Integer.MAX_VALUE);
} else {
throw new IllegalArgumentException();
}
}
@Override // android.view.View.OnLongClickListener
public boolean onLongClick(View view) {
ActivityChooserView activityChooserView = ActivityChooserView.this;
if (view == activityChooserView.mDefaultActivityButton) {
if (activityChooserView.mAdapter.getCount() > 0) {
ActivityChooserView activityChooserView2 = ActivityChooserView.this;
activityChooserView2.mIsSelectingDefaultActivity = true;
activityChooserView2.showPopupUnchecked(activityChooserView2.mInitialActivityCount);
}
return true;
}
throw new IllegalArgumentException();
}
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static class InnerLayout extends LinearLayout {
private static final int[] TINT_ATTRS = {16842964};
public InnerLayout(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(context, attributeSet, TINT_ATTRS);
setBackgroundDrawable(obtainStyledAttributes.getDrawable(0));
obtainStyledAttributes.recycle();
}
}
public ActivityChooserView(@NonNull Context context) {
this(context, null);
}
public ActivityChooserView(@NonNull Context context, @Nullable AttributeSet attributeSet) {
this(context, attributeSet, 0);
}
public ActivityChooserView(@NonNull Context context, @Nullable AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
this.mModelDataSetObserver = new AnonymousClass1();
this.mOnGlobalLayoutListener = new AnonymousClass2();
this.mInitialActivityCount = 4;
int[] iArr = R.styleable.ActivityChooserView;
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, iArr, i, 0);
ViewCompat.saveAttributeDataForStyleable(this, context, iArr, attributeSet, obtainStyledAttributes, i, 0);
this.mInitialActivityCount = obtainStyledAttributes.getInt(R.styleable.ActivityChooserView_initialActivityCount, 4);
Drawable drawable = obtainStyledAttributes.getDrawable(R.styleable.ActivityChooserView_expandActivityOverflowButtonDrawable);
obtainStyledAttributes.recycle();
LayoutInflater.from(getContext()).inflate(R.layout.abc_activity_chooser_view, (ViewGroup) this, true);
Callbacks callbacks = new Callbacks();
this.mCallbacks = callbacks;
View findViewById = findViewById(R.id.activity_chooser_view_content);
this.mActivityChooserContent = findViewById;
this.mActivityChooserContentBackground = findViewById.getBackground();
FrameLayout frameLayout = (FrameLayout) findViewById(R.id.default_activity_button);
this.mDefaultActivityButton = frameLayout;
frameLayout.setOnClickListener(callbacks);
frameLayout.setOnLongClickListener(callbacks);
int i2 = R.id.image;
this.mDefaultActivityButtonImage = (ImageView) frameLayout.findViewById(i2);
FrameLayout frameLayout2 = (FrameLayout) findViewById(R.id.expand_activities_button);
frameLayout2.setOnClickListener(callbacks);
frameLayout2.setAccessibilityDelegate(new AnonymousClass3());
frameLayout2.setOnTouchListener(new AnonymousClass4(frameLayout2));
this.mExpandActivityOverflowButton = frameLayout2;
ImageView imageView = (ImageView) frameLayout2.findViewById(i2);
this.mExpandActivityOverflowButtonImage = imageView;
imageView.setImageDrawable(drawable);
ActivityChooserViewAdapter activityChooserViewAdapter = new ActivityChooserViewAdapter();
this.mAdapter = activityChooserViewAdapter;
activityChooserViewAdapter.registerDataSetObserver(new AnonymousClass5());
Resources resources = context.getResources();
this.mListPopupMaxWidth = Math.max(resources.getDisplayMetrics().widthPixels / 2, resources.getDimensionPixelSize(R.dimen.abc_config_prefDialogWidth));
}
public boolean dismissPopup() {
if (!isShowingPopup()) {
return true;
}
getListPopupWindow().dismiss();
ViewTreeObserver viewTreeObserver = getViewTreeObserver();
if (!viewTreeObserver.isAlive()) {
return true;
}
viewTreeObserver.removeGlobalOnLayoutListener(this.mOnGlobalLayoutListener);
return true;
}
public ActivityChooserModel getDataModel() {
return this.mAdapter.getDataModel();
}
public ListPopupWindow getListPopupWindow() {
if (this.mListPopupWindow == null) {
ListPopupWindow listPopupWindow = new ListPopupWindow(getContext());
this.mListPopupWindow = listPopupWindow;
listPopupWindow.setAdapter(this.mAdapter);
this.mListPopupWindow.setAnchorView(this);
this.mListPopupWindow.setModal(true);
this.mListPopupWindow.setOnItemClickListener(this.mCallbacks);
this.mListPopupWindow.setOnDismissListener(this.mCallbacks);
}
return this.mListPopupWindow;
}
public boolean isShowingPopup() {
return getListPopupWindow().isShowing();
}
@Override // android.view.ViewGroup, android.view.View
public void onAttachedToWindow() {
super.onAttachedToWindow();
ActivityChooserModel dataModel = this.mAdapter.getDataModel();
if (dataModel != null) {
dataModel.registerObserver(this.mModelDataSetObserver);
}
this.mIsAttachedToWindow = true;
}
@Override // android.view.ViewGroup, android.view.View
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
ActivityChooserModel dataModel = this.mAdapter.getDataModel();
if (dataModel != null) {
dataModel.unregisterObserver(this.mModelDataSetObserver);
}
ViewTreeObserver viewTreeObserver = getViewTreeObserver();
if (viewTreeObserver.isAlive()) {
viewTreeObserver.removeGlobalOnLayoutListener(this.mOnGlobalLayoutListener);
}
if (isShowingPopup()) {
dismissPopup();
}
this.mIsAttachedToWindow = false;
}
@Override // android.view.ViewGroup, android.view.View
public void onLayout(boolean z2, int i, int i2, int i3, int i4) {
this.mActivityChooserContent.layout(0, 0, i3 - i, i4 - i2);
if (!isShowingPopup()) {
dismissPopup();
}
}
@Override // android.view.View
public void onMeasure(int i, int i2) {
View view = this.mActivityChooserContent;
if (this.mDefaultActivityButton.getVisibility() != 0) {
i2 = View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(i2), BasicMeasure.EXACTLY);
}
measureChild(view, i, i2);
setMeasuredDimension(view.getMeasuredWidth(), view.getMeasuredHeight());
}
@Override // androidx.appcompat.widget.ActivityChooserModel.ActivityChooserModelClient
public void setActivityChooserModel(ActivityChooserModel activityChooserModel) {
this.mAdapter.setDataModel(activityChooserModel);
if (isShowingPopup()) {
dismissPopup();
showPopup();
}
}
public void setDefaultActionButtonContentDescription(int i) {
this.mDefaultActionButtonContentDescription = i;
}
public void setExpandActivityOverflowButtonContentDescription(int i) {
this.mExpandActivityOverflowButtonImage.setContentDescription(getContext().getString(i));
}
public void setExpandActivityOverflowButtonDrawable(Drawable drawable) {
this.mExpandActivityOverflowButtonImage.setImageDrawable(drawable);
}
public void setInitialActivityCount(int i) {
this.mInitialActivityCount = i;
}
public void setOnDismissListener(PopupWindow.OnDismissListener onDismissListener) {
this.mOnDismissListener = onDismissListener;
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public void setProvider(ActionProvider actionProvider) {
this.mProvider = actionProvider;
}
public boolean showPopup() {
if (isShowingPopup() || !this.mIsAttachedToWindow) {
return false;
}
this.mIsSelectingDefaultActivity = false;
showPopupUnchecked(this.mInitialActivityCount);
return true;
}
/* JADX WARNING: Removed duplicated region for block: B:14:0x004d */
/* JADX WARNING: Removed duplicated region for block: B:26:? A[RETURN, SYNTHETIC] */
public void showPopupUnchecked(int i) {
ListPopupWindow listPopupWindow;
if (this.mAdapter.getDataModel() != null) {
getViewTreeObserver().addOnGlobalLayoutListener(this.mOnGlobalLayoutListener);
boolean z2 = this.mDefaultActivityButton.getVisibility() == 0;
int activityCount = this.mAdapter.getActivityCount();
if (i != Integer.MAX_VALUE) {
int i2 = z2 ? 1 : 0;
int i3 = z2 ? 1 : 0;
int i4 = z2 ? 1 : 0;
if (activityCount > i + i2) {
this.mAdapter.setShowFooterView(true);
this.mAdapter.setMaxActivityCount(i - 1);
listPopupWindow = getListPopupWindow();
if (listPopupWindow.isShowing()) {
if (this.mIsSelectingDefaultActivity || !z2) {
this.mAdapter.setShowDefaultActivity(true, z2);
} else {
this.mAdapter.setShowDefaultActivity(false, false);
}
listPopupWindow.setContentWidth(Math.min(this.mAdapter.measureContentWidth(), this.mListPopupMaxWidth));
listPopupWindow.show();
ActionProvider actionProvider = this.mProvider;
if (actionProvider != null) {
actionProvider.subUiVisibilityChanged(true);
}
listPopupWindow.getListView().setContentDescription(getContext().getString(R.string.abc_activitychooserview_choose_application));
listPopupWindow.getListView().setSelector(new ColorDrawable(0));
return;
}
return;
}
}
this.mAdapter.setShowFooterView(false);
this.mAdapter.setMaxActivityCount(i);
listPopupWindow = getListPopupWindow();
if (listPopupWindow.isShowing()) {
}
} else {
throw new IllegalStateException("No data model. Did you call #setDataModel?");
}
}
public void updateAppearance() {
if (this.mAdapter.getCount() > 0) {
this.mExpandActivityOverflowButton.setEnabled(true);
} else {
this.mExpandActivityOverflowButton.setEnabled(false);
}
int activityCount = this.mAdapter.getActivityCount();
int historySize = this.mAdapter.getHistorySize();
if (activityCount == 1 || (activityCount > 1 && historySize > 0)) {
this.mDefaultActivityButton.setVisibility(0);
ResolveInfo defaultActivity = this.mAdapter.getDefaultActivity();
PackageManager packageManager = getContext().getPackageManager();
this.mDefaultActivityButtonImage.setImageDrawable(defaultActivity.loadIcon(packageManager));
if (this.mDefaultActionButtonContentDescription != 0) {
this.mDefaultActivityButton.setContentDescription(getContext().getString(this.mDefaultActionButtonContentDescription, defaultActivity.loadLabel(packageManager)));
}
} else {
this.mDefaultActivityButton.setVisibility(8);
}
if (this.mDefaultActivityButton.getVisibility() == 0) {
this.mActivityChooserContent.setBackgroundDrawable(this.mActivityChooserContentBackground);
} else {
this.mActivityChooserContent.setBackgroundDrawable(null);
}
}
}