@Override
  public boolean onLongClick(View v) {
    boolean handled = true;

    switch (v.getId()) {
      case R.id.theme_top_image:
        v.setOnCreateContextMenuListener(
            new View.OnCreateContextMenuListener() {
              @Override
              public void onCreateContextMenu(
                  ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
                MenuInflater inflater = getActivity().getMenuInflater();
                inflater.inflate(R.menu.background_ctx_menu, menu);
                menu.findItem(R.id.menu_change_background)
                    .setOnMenuItemClickListener(
                        new MenuItem.OnMenuItemClickListener() {
                          @Override
                          public boolean onMenuItemClick(MenuItem item) {
                            UILauncher.launchFragmentInNewActivity(
                                getActivity(), UserBgSelectFragment.class, null);
                            return true;
                          }
                        });
              }
            });
        v.showContextMenu();
        v.setOnCreateContextMenuListener(null);
        break;
      default:
        handled = false;
        break;
    }

    return handled;
  }
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView != null) {
      mListViewHolder = (ActivityEventListViewHolder) convertView.getTag();
    } else {
      convertView = mInflater.inflate(mResourceId, null);
      mListViewHolder = new ActivityEventListViewHolder();
      mListViewHolder.StartTime = (TextView) convertView.findViewById(mValueViewID[1]);
      mListViewHolder.ActivityEventName = (TextView) convertView.findViewById(mValueViewID[0]);
      mListViewHolder.EventDuration = (TextView) convertView.findViewById(mValueViewID[2]);
      mListViewHolder.Stop = (ImageButton) convertView.findViewById(mValueViewID[3]);
      convertView.setTag(mListViewHolder);
    }

    HashMap<String, Object> appInfo = mAppList.get(position);
    final int order = position;
    if (appInfo != null) {
      mListViewHolder.StartTime.setText(String.valueOf(appInfo.get(mKeyString[1])));
      mListViewHolder.ActivityEventName.setText(String.valueOf(appInfo.get(mKeyString[0])));
      mListViewHolder.EventDuration.setText(String.valueOf(appInfo.get(mKeyString[2])));
      mListViewHolder.Stop.setOnClickListener(
          new OnClickListener() {
            public void onClick(View v) {
              if (mListener != null) mListener.onStopButtonClick(order);
            }
          });
    }
    convertView.setOnCreateContextMenuListener(this);
    return convertView;
  }
Example #3
0
 public void unregisterViews() {
   for (View view : mViews.values()) {
     if (view != null) {
       view.setOnCreateContextMenuListener(null);
     }
   }
   mViews.clear();
 }
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub

    ViewHolder holder;
    if (convertView == null) {
      convertView = inflater.inflate(R.layout.message_list_item, null);
      holder = new ViewHolder();
      holder.icon = (ImageView) convertView.findViewById(R.id.recent_userhead);
      holder.name = (TextView) convertView.findViewById(R.id.recent_name);
      holder.date = (TextView) convertView.findViewById(R.id.recent_time);
      holder.msg = (TextView) convertView.findViewById(R.id.recent_msg);
      convertView.setTag(holder);
    } else {
      holder = (ViewHolder) convertView.getTag();
    }

    final KFChatEntity entity = list.get(position);

    KFSLog.d("conv.id " + entity.getId() + " conv.name:" + entity.getName());

    // 首先获取昵称,如果昵称未设置,则显示对方用户名
    if (entity.isSend() == 1) // 自己发送的消息
    {
      holder.name.setText("自己发送的消息");

      // 设置自己的头像
      updateVCardThread(KFSettingsManager.getSettingsManager(context).getUsername(), holder.icon);
    } else { // 收到对方的消息
      String nickname = KFIMInterfaces.getOtherNickname(entity.getName());
      if (nickname == null) {
        nickname = entity.getName();
      }
      holder.name.setText("收到来自:" + nickname + "的消息");

      // 设置对方的头像
      updateVCardThread(entity.getName(), holder.icon);
    }

    holder.name.setTextColor(Color.BLACK);
    holder.date.setText(entity.getDate());
    holder.msg.setText("消息ID:" + entity.getId() + " 消息内容:" + entity.getText());

    convertView.setOnCreateContextMenuListener(
        new OnCreateContextMenuListener() {

          @Override
          public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
            // TODO Auto-generated method stub
            Log.d(TAG, "setOnCreateContextMenuListener");
          }
        });

    return convertView;
  }
Example #5
0
 public ViewHolder(View v) {
   super(v);
   mView = v;
   ivComics = (ImageView) v.findViewById(R.id.ivComics);
   tvPubDate = (TextView) v.findViewById(R.id.tvBashItemPubDate);
   ivFavorite = (ImageView) v.findViewById(R.id.ivFavorite);
   tvText = (TextView) v.findViewById(R.id.tvBashItemText);
   tvTitle = (TextView) v.findViewById(R.id.tvBashItemTitle);
   mContextMenuListener = new ContextMenuListener(getContext(), false);
   v.setOnCreateContextMenuListener(mContextMenuListener);
 }
Example #6
0
 /**
  * Creates a ViewHolder from a View.
  *
  * @param v the view.
  */
 public PhotoViewHolder(View v) {
   super(v);
   vPhoto = (ImageView) v.findViewById(R.id.imageViewPhoto);
   vDate = (TextView) v.findViewById(R.id.textViewDate);
   vDescription = (TextView) v.findViewById(R.id.textViewDescription);
   vVoteThumbsUp = (ImageButton) v.findViewById(R.id.imageButtonThumbsUp);
   vVoteThumbsDown = (ImageButton) v.findViewById(R.id.imageButtonThumbsDown);
   vSetWallpaper = (ImageButton) v.findViewById(R.id.imageButtonWallpaper);
   vEdit = (ImageButton) v.findViewById(R.id.imageButtonEdit);
   vDelete = (ImageButton) v.findViewById(R.id.imageButtonDelete);
   v.setOnCreateContextMenuListener(this);
 }
  public CommentViewHolder(View v, Context context, ICommentableFragment fragment) {
    super(v);
    this.fragment = fragment;
    this.context = context;

    commentAuthor = (TextView) v.findViewById(R.id.user);
    commentTime = (TextView) v.findViewById(R.id.time);

    commentContent = (TextView) v.findViewById(R.id.content);
    commentContent.setMovementMethod(LinkMovementMethod.getInstance());

    commentMarker = v.findViewById(R.id.comment_marker);
    commentIndent = v.findViewById(R.id.comment_indent);
    commentImage = (ImageView) v.findViewById(R.id.author_avatar);

    v.setOnCreateContextMenuListener(this);
  }
  /**
   * Starts showing a context menu for {@code view} based on {@code params}.
   *
   * @param contentViewCore The {@link ContentViewCore} to show the menu to.
   * @param params The {@link ContextMenuParams} that indicate what menu items to show.
   */
  @CalledByNative
  private void showContextMenu(ContentViewCore contentViewCore, ContextMenuParams params) {
    final View view = contentViewCore.getContainerView();

    if (!shouldShowMenu(params)
        || view == null
        || view.getVisibility() != View.VISIBLE
        || view.getParent() == null) {
      return;
    }

    mCurrentContextMenuParams = params;

    view.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
    view.setOnCreateContextMenuListener(this);
    view.showContextMenu();
  }
Example #9
0
 @Override
 public boolean onInterceptTouchEvent(MotionEvent ev) {
   if (isDrawerOpen(Gravity.RIGHT)) {
     for (Long convoId : mViews.keySet()) {
       View view = mViews.get(convoId);
       if (view != null) {
         if (view.isShown()) {
           if (isPointInsideView(ev.getRawX(), ev.getRawY(), view)) {
             return false;
           }
         } else {
           view.setOnCreateContextMenuListener(null);
         }
       }
     }
   }
   try {
     return super.onInterceptTouchEvent(ev); // && shouldIntercept();
   } catch (Exception e) {
     return false;
   }
 }
Example #10
0
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    dbAdapter.open();
    View vi = convertView;
    ViewHolder holder;

    Episode episode = episodes.get(position);
    int type = getItemWatchedType(episode.ID);

    if (convertView == null) {

      holder = new ViewHolder();

      vi = inflater.inflate(R.layout.season_episode_item, null);

      holder.itemRow = (RelativeLayout) vi.findViewById(R.id.episode_row);
      holder.title = (TextView) vi.findViewById(R.id.episode_title);
      holder.image = (ImageView) vi.findViewById(R.id.episode_image);
      holder.episodeSeasonNumber = (TextView) vi.findViewById(R.id.episode_season_number);
      holder.firstAired = (TextView) vi.findViewById(R.id.episode_airdate);
      holder.clock = (ImageView) vi.findViewById(R.id.episode_clock);

      holder.watchedBtn = (CheckBox) vi.findViewById(R.id.season_episode_checkbox);
      holder.watchedBtn.setOnClickListener(this);
      holder.watchedBtn.setTag(position);

      vi.setTag(holder);
      vi.setOnCreateContextMenuListener(this);
      vi.setOnClickListener(this);

    } else {
      holder = (ViewHolder) vi.getTag();
      ((ViewHolder) vi.getTag()).watchedBtn.setTag(position);
    }
    holder.title.setTag(position);
    holder.title.setText(episode.TITLE);

    // Log.d("SeasonAdapter", episode.IMAGE_URL);

    // Season number and episode number i.e. 'S01E10'
    String s =
        episode.SEASON_NUMBER < 10 ? "0" + episode.SEASON_NUMBER : episode.SEASON_NUMBER + "";
    String e =
        episode.EPISODE_NUMBER < 10 ? "0" + episode.EPISODE_NUMBER : episode.EPISODE_NUMBER + "";
    holder.episodeSeasonNumber.setText("S" + s + "E" + e);

    // Reminder Clock
    Calendar currentTime = Calendar.getInstance();
    currentTime.add(Calendar.DAY_OF_MONTH, -1);
    Calendar episodeTime = getDate(episode);
    holder.clock.setImageResource(
        episodeTime == null
            ? R.drawable.clock_null
            : (getDate(episode).after(currentTime) ? R.drawable.clock : R.drawable.clock_null));

    // CheckBox
    holder.watchedBtn.setClickable(dbAdapter.isSeriesFavorited(episode.SERIES_ID));
    switch (type) {
      case TYPE_WATCHED:
        holder.watchedBtn.setChecked(true);
        break;
      case TYPE_NOT_WATCHED:
        holder.watchedBtn.setChecked(false);
        break;
    }

    holder.firstAired.setText(dateFormat(episode.FIRST_AIRED));

    /** Image Stuff */
    String imgUri = ServerUrls.getImageUrl(activity, ServerUrls.fixURL(episode.IMAGE_URL));
    if (!MemoryCacheUtil.findCachedBitmapsForImageUri(imgUri, imageLoader.getMemoryCache())
        .isEmpty()) {

      imageLoader.displayImage(imgUri, holder.image, this.optionsWithoutDelay);

    } else {

      imageLoader.displayImage(imgUri, holder.image, this.optionsWithDelay);
    }

    dbAdapter.close();
    return vi;
  }
Example #11
0
 /** @see Activity#unregisterForContextMenu(View) */
 public void unregisterForContextMenu(View view) {
   view.setOnCreateContextMenuListener(null);
 }
Example #12
0
 /** @see Activity#registerForContextMenu(View) */
 public void registerForContextMenu(View view) {
   view.setOnCreateContextMenuListener(this);
 }
Example #13
0
    public View getView(final int i, View convertView, ViewGroup viewgroup) {
      final ShoppingItem item = items.get(i);
      View view = inflater.inflate(R.layout.item_view, null);

      TextView priceView = (TextView) view.findViewById(R.id.price);
      TextView rankView = (TextView) view.findViewById(R.id.rank);
      TextView quantityView = (TextView) view.findViewById(R.id.quantity);
      TextView ratioView = (TextView) view.findViewById(R.id.ratio);
      CheckBox enabledBox = (CheckBox) view.findViewById(R.id.enabled);

      NumberFormat format = NumberFormat.getCurrencyInstance();
      priceView.setText(format.format(item.getPrice()));
      quantityView.setText(item.getQuantity().toString());
      enabledBox.setChecked(item.isEnabled());

      if (item.isEnabled()) {
        try {
          int rank = ranker.getRank(item);
          if ((rank > 0) && (rank <= rankName.length)) {
            rankView.setText(rankName[rank - 1]);
            if (rank <= 3) {
              rankView.setTextColor(Color.rgb(0, 153, 0)); // dark green
            }
          }
          if (rank > 1) {
            ratioView.setText("+" + numberFormat.format(ranker.getRatioToBestPrice(item) - 1));
          }
        } catch (UncomparableUnitException e) {
          rankView.setText(R.string.uncomparable);
          rankView.setTextColor(Color.RED);
        }
      } else {
        priceView.setEnabled(false);
      }

      enabledBox.setOnCheckedChangeListener(
          new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton button, boolean isChecked) {
              item.setEnabled(isChecked);
              notifyItemUpdated();
            }
          });

      view.setOnClickListener(
          new OnClickListener() {
            @Override
            public void onClick(View paramView) {
              startEditItemActivity(i);
            }
          });

      view.setOnCreateContextMenuListener(
          new OnCreateContextMenuListener() {
            @Override
            public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
              menu.add(Menu.NONE, i, MENU_DELETE, getString(R.string.delete_item));
            }
          });

      return view;
    }
  /** Formats message as a View suitable for a conversation list */
  private View oneMessageToView(ConversationOneMessage oMsg) {
    final String method = "oneMessageToView";
    if (MyLog.isLoggable(this, MyLog.VERBOSE)) {
      MyLog.v(
          this,
          method
              + ": msgId="
              + oMsg.msgId
              + (oMsg.avatarDrawable != null
                  ? ", avatar=" + oMsg.avatarDrawable.getFileName()
                  : ""));
    }
    LayoutInflater inflater = LayoutInflater.from(context);
    int layoutResource = R.layout.message_conversation;
    if (!Activity.class.isAssignableFrom(context.getClass())) {
      MyLog.w(this, "Context should be from an Activity");
    }
    View messageView = inflater.inflate(layoutResource, null);
    messageView.setOnCreateContextMenuListener(contextMenu);

    float displayDensity = context.getResources().getDisplayMetrics().density;
    // See
    // http://stackoverflow.com/questions/2238883/what-is-the-correct-way-to-specify-dimensions-in-dip-from-java-code
    int indent0 = (int) (10 * displayDensity);
    int indentPixels = indent0 * oMsg.indentLevel;

    LinearLayout messageIndented = (LinearLayout) messageView.findViewById(R.id.message_indented);
    if (oMsg.msgId == selectedMessageId && oMsgs.size() > 1) {
      messageIndented.setBackgroundDrawable(
          context.getResources().getDrawable(R.drawable.message_current_background));
    }

    int viewToTheLeftId = 0;
    if (oMsg.indentLevel > 0) {
      View divider = messageView.findViewById(R.id.divider);
      RelativeLayout.LayoutParams layoutParams =
          new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 1);
      layoutParams.leftMargin = indentPixels - 4;
      divider.setLayoutParams(layoutParams);

      if (MyLog.isLoggable(this, MyLog.VERBOSE)) {
        MyLog.v(this, "density=" + displayDensity);
      }
      viewToTheLeftId = 2;
      ImageView indentView =
          new ConversationIndentImageView(context, messageIndented, indentPixels);
      indentView.setId(viewToTheLeftId);
      ((ViewGroup) messageIndented.getParent()).addView(indentView);
    }

    if (MyPreferences.showAvatars()) {
      ImageView avatarView = new ImageView(context);
      int size = Math.round(AvatarDrawable.AVATAR_SIZE_DIP * displayDensity);
      avatarView.setScaleType(ScaleType.FIT_CENTER);
      RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(size, size);
      layoutParams.topMargin = 3;
      if (oMsg.indentLevel > 0) {
        layoutParams.leftMargin = 1;
      }
      if (viewToTheLeftId == 0) {
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
      } else {
        layoutParams.addRule(RelativeLayout.RIGHT_OF, viewToTheLeftId);
      }
      avatarView.setLayoutParams(layoutParams);
      avatarView.setImageDrawable(oMsg.avatarDrawable.getDrawable());
      indentPixels += size;
      ((ViewGroup) messageIndented.getParent()).addView(avatarView);
    }
    messageIndented.setPadding(indentPixels + 6, 2, 6, 2);

    TextView id = (TextView) messageView.findViewById(R.id.id);
    id.setText(Long.toString(oMsg.msgId));
    TextView linkedUserId = (TextView) messageView.findViewById(R.id.linked_user_id);
    linkedUserId.setText(Long.toString(oMsg.linkedUserId));

    TextView author = (TextView) messageView.findViewById(R.id.message_author);
    TextView body = (TextView) messageView.findViewById(R.id.message_body);
    TextView details = (TextView) messageView.findViewById(R.id.message_details);

    author.setText(oMsg.author);

    TextView number = (TextView) messageView.findViewById(R.id.message_number);
    number.setText(Integer.toString(oMsg.historyOrder));

    if (!TextUtils.isEmpty(oMsg.body)) {
      body.setLinksClickable(true);
      body.setMovementMethod(LinkMovementMethod.getInstance());
      body.setFocusable(true);
      body.setFocusableInTouchMode(true);
      Spanned spanned = Html.fromHtml(oMsg.body);
      body.setText(spanned);
      if (!MbMessage.hasUrlSpans(spanned)) {
        Linkify.addLinks(body, Linkify.ALL);
      }
    }

    // Everything else goes to messageDetails
    String messageDetails = RelativeTime.getDifference(context, oMsg.createdDate);
    if (!SharedPreferencesUtil.isEmpty(oMsg.via)) {
      messageDetails +=
          " "
              + String.format(
                  MyContextHolder.get().getLocale(),
                  context.getText(R.string.message_source_from).toString(),
                  oMsg.via);
    }
    if (oMsg.inReplyToMsgId != 0) {
      String inReplyToName = oMsg.inReplyToName;
      if (SharedPreferencesUtil.isEmpty(inReplyToName)) {
        inReplyToName = "...";
      }
      messageDetails +=
          " "
              + String.format(
                  MyContextHolder.get().getLocale(),
                  context.getText(R.string.message_source_in_reply_to).toString(),
                  oMsg.inReplyToName)
              + " ("
              + msgIdToHistoryOrder(oMsg.inReplyToMsgId)
              + ")";
    }
    if (!SharedPreferencesUtil.isEmpty(oMsg.rebloggersString)
        && !oMsg.rebloggersString.equals(oMsg.author)) {
      if (!SharedPreferencesUtil.isEmpty(oMsg.inReplyToName)) {
        messageDetails += ";";
      }
      messageDetails +=
          " "
              + String.format(
                  MyContextHolder.get().getLocale(),
                  context
                      .getText(ma.alternativeTermForResourceId(R.string.reblogged_by))
                      .toString(),
                  oMsg.rebloggersString);
    }
    if (!SharedPreferencesUtil.isEmpty(oMsg.recipientName)) {
      messageDetails +=
          " "
              + String.format(
                  MyContextHolder.get().getLocale(),
                  context.getText(R.string.message_source_to).toString(),
                  oMsg.recipientName);
    }
    if (MyLog.isLoggable(this, MyLog.VERBOSE)) {
      messageDetails = messageDetails + " (i" + oMsg.indentLevel + ",r" + oMsg.replyLevel + ")";
    }
    details.setText(messageDetails);
    ImageView favorited = (ImageView) messageView.findViewById(R.id.message_favorited);
    favorited.setImageResource(
        oMsg.favorited ? android.R.drawable.star_on : android.R.drawable.star_off);
    return messageView;
  }