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); } } }