public void onScrollStateChanged(AbsListView abslistview, int i)
 {
     if (i == 1 && !IcsListPopupWindow.access$5(IcsListPopupWindow.this) && IcsListPopupWindow.access$2(IcsListPopupWindow.this).getContentView() != null)
     {
         IcsListPopupWindow.access$3(IcsListPopupWindow.this).removeCallbacks(IcsListPopupWindow.access$4(IcsListPopupWindow.this));
         IcsListPopupWindow.access$4(IcsListPopupWindow.this).run();
     }
 }
コード例 #2
0
 /**
  * Gets the list popup window which is lazily initialized.
  *
  * @return The popup.
  */
 private IcsListPopupWindow getListPopupWindow() {
   if (mListPopupWindow == null) {
     mListPopupWindow = new IcsListPopupWindow(getContext());
     mListPopupWindow.setAdapter(mAdapter);
     mListPopupWindow.setAnchorView(ActivityChooserView.this);
     mListPopupWindow.setModal(true);
     mListPopupWindow.setOnItemClickListener(mCallbacks);
     mListPopupWindow.setOnDismissListener(mCallbacks);
   }
   return mListPopupWindow;
 }
コード例 #3
0
  /**
   * Shows the popup no matter if it was already showing.
   *
   * @param maxActivityCount The max number of activities to display.
   */
  private void showPopupUnchecked(int maxActivityCount) {
    if (mAdapter.getDataModel() == null) {
      throw new IllegalStateException("No data model. Did you call #setDataModel?");
    }

    getViewTreeObserver().addOnGlobalLayoutListener(mOnGlobalLayoutListener);

    final boolean defaultActivityButtonShown = mDefaultActivityButton.getVisibility() == VISIBLE;

    final int activityCount = mAdapter.getActivityCount();
    final int maxActivityCountOffset = defaultActivityButtonShown ? 1 : 0;
    if (maxActivityCount != ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_UNLIMITED
        && activityCount > maxActivityCount + maxActivityCountOffset) {
      mAdapter.setShowFooterView(true);
      mAdapter.setMaxActivityCount(maxActivityCount - 1);
    } else {
      mAdapter.setShowFooterView(false);
      mAdapter.setMaxActivityCount(maxActivityCount);
    }

    IcsListPopupWindow popupWindow = getListPopupWindow();
    if (!popupWindow.isShowing()) {
      if (mIsSelectingDefaultActivity || !defaultActivityButtonShown) {
        mAdapter.setShowDefaultActivity(true, defaultActivityButtonShown);
      } else {
        mAdapter.setShowDefaultActivity(false, false);
      }
      final int contentWidth = Math.min(mAdapter.measureContentWidth(), mListPopupMaxWidth);
      popupWindow.setContentWidth(contentWidth);
      popupWindow.show();
      if (mProvider != null) {
        mProvider.subUiVisibilityChanged(true);
      }
      popupWindow
          .getListView()
          .setContentDescription(
              mContext.getString(R.string.abs__activitychooserview_choose_application));
    }
  }