content: 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.appcompat.R;
  import androidx.appcompat.view.menu.ShowableListMenu;
  import androidx.appcompat.widget.ActivityChooserModel;
  import androidx.constraintlayout.core.widgets.analyzer.BasicMeasure;
  import androidx.core.view.ActionProvider;
  import androidx.core.view.ViewCompat;
  import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
  
  public class ActivityChooserView extends ViewGroup implements ActivityChooserModel.ActivityChooserModelClient {
      private final View mActivityChooserContent;
      private final Drawable mActivityChooserContentBackground;
      final ActivityChooserViewAdapter mAdapter;
      private final Callbacks mCallbacks;
      private int mDefaultActionButtonContentDescription;
      final FrameLayout mDefaultActivityButton;
      private final ImageView mDefaultActivityButtonImage;
      final FrameLayout mExpandActivityOverflowButton;
      private final ImageView mExpandActivityOverflowButtonImage;
      int mInitialActivityCount;
      private boolean mIsAttachedToWindow;
      boolean mIsSelectingDefaultActivity;
      private final int mListPopupMaxWidth;
      private ListPopupWindow mListPopupWindow;
      final DataSetObserver mModelDataSetObserver;
      PopupWindow.OnDismissListener mOnDismissListener;
      private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener;
      ActionProvider mProvider;
  
      private 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;
  
          ActivityChooserViewAdapter() {
          }
  
          public int getActivityCount() {
              return this.mDataModel.getActivityCount();
          }
  
          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();
          }
  
          public Object getItem(int position) {
              switch (getItemViewType(position)) {
                  case 0:
                      if (!this.mShowDefaultActivity && this.mDataModel.getDefaultActivity() != null) {
                          position++;
                      }
                      return this.mDataModel.getActivity(position);
                  case 1:
                      return null;
                  default:
                      throw new IllegalArgumentException();
              }
          }
  
          public long getItemId(int position) {
              return (long) position;
          }
  
          public int getItemViewType(int position) {
              return (!this.mShowFooterView || position != getCount() - 1) ? 0 : 1;
          }
  
          public boolean getShowDefaultActivity() {
              return this.mShowDefaultActivity;
          }
  
          public View getView(int position, View convertView, ViewGroup parent) {
              switch (getItemViewType(position)) {
                  case 0:
                      if (convertView == null || convertView.getId() != R.id.list_item) {
                          convertView = LayoutInflater.from(ActivityChooserView.this.getContext()).inflate(R.layout.abc_activity_chooser_view_list_item, parent, false);
                      }
                      PackageManager packageManager = ActivityChooserView.this.getContext().getPackageManager();
                      ResolveInfo resolveInfo = (ResolveInfo) getItem(position);
                      ((ImageView) convertView.findViewById(R.id.icon)).setImageDrawable(resolveInfo.loadIcon(packageManager));
                      ((TextView) convertView.findViewById(R.id.title)).setText(resolveInfo.loadLabel(packageManager));
                      if (!this.mShowDefaultActivity || position != 0 || !this.mHighlightDefaultActivity) {
                          convertView.setActivated(false);
                      } else {
                          convertView.setActivated(true);
                      }
                      return convertView;
                  case 1:
                      if (convertView != null && convertView.getId() == 1) {
                          return convertView;
                      }
                      View convertView2 = LayoutInflater.from(ActivityChooserView.this.getContext()).inflate(R.layout.abc_activity_chooser_view_list_item, parent, false);
                      convertView2.setId(1);
                      ((TextView) convertView2.findViewById(R.id.title)).setText(ActivityChooserView.this.getContext().getString(R.string.abc_activity_chooser_view_see_all));
                      return convertView2;
                  default:
                      throw new IllegalArgumentException();
              }
          }
  
          public int getViewTypeCount() {
              return 3;
          }
  
          public int measureContentWidth() {
              int i = this.mMaxActivityCount;
              this.mMaxActivityCount = Integer.MAX_VALUE;
              int i2 = 0;
              View view = null;
              int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, 0);
              int makeMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(0, 0);
              int count = getCount();
              for (int i3 = 0; i3 < count; i3++) {
                  view = getView(i3, view, (ViewGroup) null);
                  view.measure(makeMeasureSpec, makeMeasureSpec2);
                  i2 = Math.max(i2, view.getMeasuredWidth());
              }
              this.mMaxActivityCount = i;
              return i2;
          }
  
          public void setDataModel(ActivityChooserModel dataModel) {
              ActivityChooserModel dataModel2 = ActivityChooserView.this.mAdapter.getDataModel();
              if (dataModel2 != null && ActivityChooserView.this.isShown()) {
                  dataModel2.unregisterObserver(ActivityChooserView.this.mModelDataSetObserver);
              }
              this.mDataModel = dataModel;
              if (dataModel != null && ActivityChooserView.this.isShown()) {
                  dataModel.registerObserver(ActivityChooserView.this.mModelDataSetObserver);
              }
              notifyDataSetChanged();
          }
  
          public void setMaxActivityCount(int maxActivityCount) {
              if (this.mMaxActivityCount != maxActivityCount) {
                  this.mMaxActivityCount = maxActivityCount;
                  notifyDataSetChanged();
              }
          }
  
          public void setShowDefaultActivity(boolean showDefaultActivity, boolean highlightDefaultActivity) {
              if (this.mShowDefaultActivity != showDefaultActivity || this.mHighlightDefaultActivity != highlightDefaultActivity) {
                  this.mShowDefaultActivity = showDefaultActivity;
                  this.mHighlightDefaultActivity = highlightDefaultActivity;
                  notifyDataSetChanged();
              }
          }
  
          public void setShowFooterView(boolean showFooterView) {
              if (this.mShowFooterView != showFooterView) {
                  this.mShowFooterView = showFooterView;
                  notifyDataSetChanged();
              }
          }
      }
  
      private class Callbacks implements AdapterView.OnItemClickListener, View.OnClickListener, View.OnLongClickListener, PopupWindow.OnDismissListener {
          Callbacks() {
          }
  
          private void notifyOnDismissListener() {
              if (ActivityChooserView.this.mOnDismissListener != null) {
                  ActivityChooserView.this.mOnDismissListener.onDismiss();
              }
          }
  
          public void onClick(View view) {
              if (view == ActivityChooserView.this.mDefaultActivityButton) {
                  ActivityChooserView.this.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.this.mExpandActivityOverflowButton) {
                  ActivityChooserView.this.mIsSelectingDefaultActivity = false;
                  ActivityChooserView activityChooserView = ActivityChooserView.this;
                  activityChooserView.showPopupUnchecked(activityChooserView.mInitialActivityCount);
              } else {
                  throw new IllegalArgumentException();
              }
          }
  
          public void onDismiss() {
              notifyOnDismissListener();
              if (ActivityChooserView.this.mProvider != null) {
                  ActivityChooserView.this.mProvider.subUiVisibilityChanged(false);
              }
          }
  
          public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
              switch (((ActivityChooserViewAdapter) adapterView.getAdapter()).getItemViewType(position)) {
                  case 0:
                      ActivityChooserView.this.dismissPopup();
                      if (!ActivityChooserView.this.mIsSelectingDefaultActivity) {
                          Intent chooseActivity = ActivityChooserView.this.mAdapter.getDataModel().chooseActivity(ActivityChooserView.this.mAdapter.getShowDefaultActivity() ? position : position + 1);
                          if (chooseActivity != null) {
                              chooseActivity.addFlags(524288);
                              ActivityChooserView.this.getContext().startActivity(chooseActivity);
                              return;
                          }
                          return;
                      } else if (position > 0) {
                          ActivityChooserView.this.mAdapter.getDataModel().setDefaultActivity(position);
                          return;
                      } else {
                          return;
                      }
                  case 1:
                      ActivityChooserView.this.showPopupUnchecked(Integer.MAX_VALUE);
                      return;
                  default:
                      throw new IllegalArgumentException();
              }
          }
  
          public boolean onLongClick(View view) {
              if (view == ActivityChooserView.this.mDefaultActivityButton) {
                  if (ActivityChooserView.this.mAdapter.getCount() > 0) {
                      ActivityChooserView.this.mIsSelectingDefaultActivity = true;
                      ActivityChooserView activityChooserView = ActivityChooserView.this;
                      activityChooserView.showPopupUnchecked(activityChooserView.mInitialActivityCount);
                  }
                  return true;
              }
              throw new IllegalArgumentException();
          }
      }
  
      public static class InnerLayout extends LinearLayout {
          private static final int[] TINT_ATTRS = {16842964};
  
          public InnerLayout(Context context, AttributeSet attrs) {
              super(context, attrs);
              TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(context, attrs, TINT_ATTRS);
              setBackgroundDrawable(obtainStyledAttributes.getDrawable(0));
              obtainStyledAttributes.recycle();
          }
      }
  
      public ActivityChooserView(Context context) {
          this(context, (AttributeSet) null);
      }
  
      public ActivityChooserView(Context context, AttributeSet attrs) {
          this(context, attrs, 0);
      }
  
      public ActivityChooserView(Context context, AttributeSet attrs, int defStyle) {
          super(context, attrs, defStyle);
          this.mModelDataSetObserver = new DataSetObserver() {
              public void onChanged() {
                  super.onChanged();
                  ActivityChooserView.this.mAdapter.notifyDataSetChanged();
              }
  
              public void onInvalidated() {
                  super.onInvalidated();
                  ActivityChooserView.this.mAdapter.notifyDataSetInvalidated();
              }
          };
          this.mOnGlobalLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() {
              public void onGlobalLayout() {
                  if (!ActivityChooserView.this.isShowingPopup()) {
                      return;
                  }
                  if (!ActivityChooserView.this.isShown()) {
                      ActivityChooserView.this.getListPopupWindow().dismiss();
                      return;
                  }
                  ActivityChooserView.this.getListPopupWindow().show();
                  if (ActivityChooserView.this.mProvider != null) {
                      ActivityChooserView.this.mProvider.subUiVisibilityChanged(true);
                  }
              }
          };
          this.mInitialActivityCount = 4;
          TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attrs, R.styleable.ActivityChooserView, defStyle, 0);
          ViewCompat.saveAttributeDataForStyleable(this, context, R.styleable.ActivityChooserView, attrs, obtainStyledAttributes, defStyle, 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, 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);
          this.mDefaultActivityButtonImage = (ImageView) frameLayout.findViewById(R.id.image);
          FrameLayout frameLayout2 = (FrameLayout) findViewById(R.id.expand_activities_button);
          frameLayout2.setOnClickListener(callbacks);
          frameLayout2.setAccessibilityDelegate(new View.AccessibilityDelegate() {
              public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
                  super.onInitializeAccessibilityNodeInfo(host, info);
                  AccessibilityNodeInfoCompat.wrap(info).setCanOpenPopup(true);
              }
          });
          frameLayout2.setOnTouchListener(new ForwardingListener(frameLayout2) {
              public ShowableListMenu getPopup() {
                  return ActivityChooserView.this.getListPopupWindow();
              }
  
              /* access modifiers changed from: protected */
              public boolean onForwardingStarted() {
                  ActivityChooserView.this.showPopup();
                  return true;
              }
  
              /* access modifiers changed from: protected */
              public boolean onForwardingStopped() {
                  ActivityChooserView.this.dismissPopup();
                  return true;
              }
          });
          this.mExpandActivityOverflowButton = frameLayout2;
          ImageView imageView = (ImageView) frameLayout2.findViewById(R.id.image);
          this.mExpandActivityOverflowButtonImage = imageView;
          imageView.setImageDrawable(drawable);
          ActivityChooserViewAdapter activityChooserViewAdapter = new ActivityChooserViewAdapter();
          this.mAdapter = activityChooserViewAdapter;
          activityChooserViewAdapter.registerDataSetObserver(new DataSetObserver() {
              public void onChanged() {
                  super.onChanged();
                  ActivityChooserView.this.updateAppearance();
              }
          });
          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();
      }
  
      /* access modifiers changed from: package-private */
      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();
      }
  
      /* access modifiers changed from: protected */
      public void onAttachedToWindow() {
          super.onAttachedToWindow();
          ActivityChooserModel dataModel = this.mAdapter.getDataModel();
          if (dataModel != null) {
              dataModel.registerObserver(this.mModelDataSetObserver);
          }
          this.mIsAttachedToWindow = true;
      }
  
      /* access modifiers changed from: protected */
      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;
      }
  
      /* access modifiers changed from: protected */
      public void onLayout(boolean changed, int left, int top, int right, int bottom) {
          this.mActivityChooserContent.layout(0, 0, right - left, bottom - top);
          if (!isShowingPopup()) {
              dismissPopup();
          }
      }
  
      /* access modifiers changed from: protected */
      public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
          View view = this.mActivityChooserContent;
          if (this.mDefaultActivityButton.getVisibility() != 0) {
              heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(heightMeasureSpec), BasicMeasure.EXACTLY);
          }
          measureChild(view, widthMeasureSpec, heightMeasureSpec);
          setMeasuredDimension(view.getMeasuredWidth(), view.getMeasuredHeight());
      }
  
      public void setActivityChooserModel(ActivityChooserModel dataModel) {
          this.mAdapter.setDataModel(dataModel);
          if (isShowingPopup()) {
              dismissPopup();
              showPopup();
          }
      }
  
      public void setDefaultActionButtonContentDescription(int resourceId) {
          this.mDefaultActionButtonContentDescription = resourceId;
      }
  
      public void setExpandActivityOverflowButtonContentDescription(int resourceId) {
          this.mExpandActivityOverflowButtonImage.setContentDescription(getContext().getString(resourceId));
      }
  
      public void setExpandActivityOverflowButtonDrawable(Drawable drawable) {
          this.mExpandActivityOverflowButtonImage.setImageDrawable(drawable);
      }
  
      public void setInitialActivityCount(int itemCount) {
          this.mInitialActivityCount = itemCount;
      }
  
      public void setOnDismissListener(PopupWindow.OnDismissListener listener) {
          this.mOnDismissListener = listener;
      }
  
      public void setProvider(ActionProvider provider) {
          this.mProvider = provider;
      }
  
      public boolean showPopup() {
          if (isShowingPopup() || !this.mIsAttachedToWindow) {
              return false;
          }
          this.mIsSelectingDefaultActivity = false;
          showPopupUnchecked(this.mInitialActivityCount);
          return true;
      }
  
      /* access modifiers changed from: package-private */
      public void showPopupUnchecked(int maxActivityCount) {
          if (this.mAdapter.getDataModel() != null) {
              getViewTreeObserver().addOnGlobalLayoutListener(this.mOnGlobalLayoutListener);
              boolean z = this.mDefaultActivityButton.getVisibility() == 0;
              int activityCount = this.mAdapter.getActivityCount();
              int i = z ? 1 : 0;
              if (maxActivityCount == Integer.MAX_VALUE || activityCount <= maxActivityCount + i) {
                  this.mAdapter.setShowFooterView(false);
                  this.mAdapter.setMaxActivityCount(maxActivityCount);
              } else {
                  this.mAdapter.setShowFooterView(true);
                  this.mAdapter.setMaxActivityCount(maxActivityCount - 1);
              }
              ListPopupWindow listPopupWindow = getListPopupWindow();
              if (!listPopupWindow.isShowing()) {
                  if (this.mIsSelectingDefaultActivity || !z) {
                      this.mAdapter.setShowDefaultActivity(true, z);
                  } 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;
          }
          throw new IllegalStateException("No data model. Did you call #setDataModel?");
      }
  
      /* access modifiers changed from: package-private */
      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) {
                  CharSequence loadLabel = defaultActivity.loadLabel(packageManager);
                  this.mDefaultActivityButton.setContentDescription(getContext().getString(this.mDefaultActionButtonContentDescription, new Object[]{loadLabel}));
              }
          } else {
              this.mDefaultActivityButton.setVisibility(8);
          }
          if (this.mDefaultActivityButton.getVisibility() == 0) {
              this.mActivityChooserContent.setBackgroundDrawable(this.mActivityChooserContentBackground);
          } else {
              this.mActivityChooserContent.setBackgroundDrawable((Drawable) null);
          }
      }
  }
  