@Override
 public void removeCustomTile(StatusBarPanelCustomTile customTile) {
   if (mCustomTileListenerService != null) {
     mCustomTileListenerService.removeCustomTile(
         customTile.getPackage(), customTile.getTag(), customTile.getId());
   }
 }
Ejemplo n.º 2
0
  private void handleShowDetailImpl(Record r, boolean show, int x, int y) {
    if ((mDetailRecord != null) == show) return; // already in right state
    DetailAdapter detailAdapter = null;
    AnimatorListener listener = null;
    if (show) {
      detailAdapter = r.detailAdapter;
      r.detailView = detailAdapter.createDetailView(mContext, r.detailView, mDetailContent);
      if (r.detailView == null) throw new IllegalStateException("Must return detail view");

      final Intent settingsIntent = detailAdapter.getSettingsIntent();
      mDetailSettingsButton.setVisibility(settingsIntent != null ? VISIBLE : GONE);
      mDetailSettingsButton.setOnClickListener(
          new OnClickListener() {
            @Override
            public void onClick(View v) {
              mHost.startSettingsActivity(settingsIntent);
            }
          });

      // Do not display remove tile button for dynamic tiles
      final StatusBarPanelCustomTile customTile = detailAdapter.getCustomTile();
      mDetailRemoveButton.setVisibility(
          customTile != null
                  && !(customTile.getPackage().equals(mContext.getPackageName())
                      || customTile.getUid() == Process.SYSTEM_UID)
              ? VISIBLE
              : GONE);
      mDetailRemoveButton.setOnClickListener(
          new OnClickListener() {
            @Override
            public void onClick(View v) {
              mHost.collapsePanels();
              mHost.removeCustomTile(customTile);
            }
          });

      mDetailContent.removeAllViews();
      mDetail.bringToFront();
      mDetailContent.addView(r.detailView);
      setDetailRecord(r);
      listener = mHideGridContentWhenDone;
    } else {
      mClosingDetail = true;
      setGridContentVisibility(true);
      listener = mTeardownDetailWhenDone;
      fireScanStateChanged(false);
    }
    sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
    fireShowingDetail(show ? detailAdapter : null);
    mClipper.animateCircularClip(x, y, show, listener);
  }