예제 #1
0
 public View newView(Context paramContext, Cursor paramCursor, ViewGroup paramViewGroup)
 {
   View localView = LayoutInflater.from(paramContext).inflate(2130903114, null);
   RelativeLayout localRelativeLayout1 = (RelativeLayout)localView.findViewById(2131361876);
   ViewGroup.LayoutParams localLayoutParams1 = localRelativeLayout1.getLayoutParams();
   localLayoutParams1.height = this.mDimen;
   localLayoutParams1.width = this.mDimen;
   localRelativeLayout1.setLayoutParams(localLayoutParams1);
   RelativeLayout localRelativeLayout2 = (RelativeLayout)localView.findViewById(2131361982);
   ViewGroup.LayoutParams localLayoutParams2 = localRelativeLayout2.getLayoutParams();
   localLayoutParams2.width = this.mDimen;
   localRelativeLayout2.setLayoutParams(localLayoutParams2);
   ImageView localImageView = (ImageView)localView.findViewById(2131361974);
   ViewGroup.LayoutParams localLayoutParams3 = localImageView.getLayoutParams();
   localLayoutParams3.width = this.mDimen;
   localLayoutParams3.height = this.mDimen;
   localImageView.setLayoutParams(localLayoutParams3);
   FeedViewHolder localFeedViewHolder = new FeedViewHolder(localView);
   localFeedViewHolder.videoView = ((SdkVideoView)localView.findViewById(2131361878));
   localFeedViewHolder.listener = new OnListVideoClickListener(this);
   localFeedViewHolder.likers.setMovementMethod(LinkMovementMethod.getInstance());
   localView.findViewById(2131361876).setOnClickListener(localFeedViewHolder.listener);
   localView.setTag(localFeedViewHolder);
   this.mViewHolders.add(new WeakReference(localFeedViewHolder));
   SLog.d("Get view: {}", Integer.valueOf(localFeedViewHolder.videoView.hashCode() % 100));
   return localView;
 }
예제 #2
0
 protected void createSensitiveLisenter(FeedViewHolder paramFeedViewHolder)
 {
   paramFeedViewHolder.imageListener = new VideoSensitiveImageClickListener(this, this.mDismissedWarnings);
   paramFeedViewHolder.sensitiveTextContainer.setOnClickListener(paramFeedViewHolder.imageListener);
   paramFeedViewHolder.sensitiveTextContainer.setClickable(true);
   paramFeedViewHolder.isVideoImageLoaded = true;
 }
예제 #3
0
 public void bindView(View paramView, Context paramContext, Cursor paramCursor)
 {
   int i = paramCursor.getPosition();
   FeedViewHolder localFeedViewHolder = (FeedViewHolder)paramView.getTag();
   localFeedViewHolder.post = bindCursorToPost(paramCursor);
   localFeedViewHolder.position = i;
   this.mPosts.put(i, localFeedViewHolder.post);
   boolean bool = paramCursor.moveToNext();
   VinePost localVinePost = null;
   if (bool)
   {
     localVinePost = bindCursorToPost(paramCursor);
     this.mPosts.put(paramCursor.getPosition(), localVinePost);
     if (paramCursor.moveToNext())
     {
       this.mPosts.put(paramCursor.getPosition(), bindCursorToPost(paramCursor));
       paramCursor.moveToPrevious();
     }
     paramCursor.moveToPrevious();
   }
   if (localFeedViewHolder.post == null)
   {
     CrashUtil.logException(new VineException("Post was null: " + i + " nextPost is: " + localVinePost));
     return;
   }
   bindView(localFeedViewHolder);
 }
예제 #4
0
 private void refreshVideoView(int paramInt, FeedViewHolder paramFeedViewHolder)
 {
   ViewGroup localViewGroup = (ViewGroup)paramFeedViewHolder.videoView.getParent();
   if (this.mVideoAttr == null)
     this.mVideoAttr = paramFeedViewHolder.videoView.getAttributes();
   paramFeedViewHolder.videoView.suspend();
   try
   {
     localViewGroup.removeView(paramFeedViewHolder.videoView);
     paramFeedViewHolder.videoView = new SdkVideoView(this.mContext, this.mVideoAttr);
     paramFeedViewHolder.videoView.setId(2131361878);
     localViewGroup.addView(paramFeedViewHolder.videoView);
     initVideoView(paramInt, paramFeedViewHolder);
     return;
   }
   catch (RuntimeException localRuntimeException)
   {
     while (true)
       try
       {
         localViewGroup.removeView(paramFeedViewHolder.videoView);
       }
       catch (Exception localException)
       {
         CrashUtil.logException(localRuntimeException, "Weird things are happening.", new Object[0]);
       }
   }
 }
예제 #5
0
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    FeedViewHolder feedViewHolder = null;
    if (feedViewHolder == null) {
      convertView =
          LayoutInflater.from(parent.getContext())
              .inflate(R.layout.feed_list_view_item, parent, false);
      feedViewHolder = new FeedViewHolder();

      feedViewHolder.vTitle = (TextView) convertView.findViewById(R.id.feed_title);
      feedViewHolder.vContent = (TextView) convertView.findViewById(R.id.feed_content);

      convertView.setTag(feedViewHolder);
    } else {
      feedViewHolder = (FeedViewHolder) convertView.getTag();
    }

    feedViewHolder.vTitle.setText(getItem(position).getTitle());
    feedViewHolder.vContent.setText(getItem(position).getContent());

    return convertView;
  }
예제 #6
0
 public void play(int paramInt)
 {
   while (true)
   {
     VideoKey localVideoKey;
     try
     {
       SLog.d("play task executing with position {} ", Integer.valueOf(paramInt));
       if (!this.mHasFocus)
         break label334;
       if (this.mPaths.get(paramInt) != null)
       {
         if (preFetch(paramInt + 1))
           preFetch(paramInt + 2);
         SLog.d("{} is in cache or it is already pre-fetched.", Integer.valueOf(paramInt));
         SLog.d("playing file at position {}", Integer.valueOf(paramInt));
         playFile(paramInt);
         return;
       }
       SLog.d("Real fetch for {}.", Integer.valueOf(paramInt));
       VinePost localVinePost = (VinePost)this.mPosts.get(paramInt);
       if (localVinePost == null)
         break label321;
       localVideoKey = getRequestKey(localVinePost, false);
       if (localVideoKey == null)
       {
         onInvalidRequestKey();
         continue;
       }
     }
     finally
     {
     }
     String str = this.mAppController.getVideoFilePath(localVideoKey);
     if (preFetch(paramInt + 1))
       preFetch(paramInt + 2);
     if (str != null)
     {
       this.mPaths.put(paramInt, str);
       SLog.d("playing file at position {}", Integer.valueOf(paramInt));
       playFile(paramInt);
     }
     else
     {
       this.mShouldBePlaying = paramInt;
       this.mUrlReverse.put(localVideoKey, Integer.valueOf(paramInt));
       SLog.d("{} is not in app cache yet.", Integer.valueOf(paramInt));
       pauseCurrentPlayer();
       View localView = getViewAtPosition(paramInt);
       if (localView != null)
       {
         Object localObject2 = localView.getTag();
         if ((localObject2 instanceof FeedViewHolder))
         {
           ((FeedViewHolder)localObject2).videoLoadImage.setVisibility(0);
         }
         else
         {
           CrashUtil.logException(new IllegalStateException("Somehow tag was " + localObject2 + ", view class is '" + localView.getClass().getName() + "'."));
           continue;
           label321: SLog.d("mPosts is {} or the requested position has no post object in it yet, return -1.", this.mPosts);
           continue;
           label334: SLog.d("not playing because not focused.");
         }
       }
     }
   }
 }
예제 #7
0
 protected void onVideoImageObtained(FeedViewHolder paramFeedViewHolder, boolean paramBoolean)
 {
   paramFeedViewHolder.isVideoImageLoaded = paramBoolean;
   playCurrentPosition();
 }
예제 #8
0
 private void bindView(FeedViewHolder paramFeedViewHolder)
 {
   final VinePost localVinePost = paramFeedViewHolder.post;
   int i = paramFeedViewHolder.position;
   if (shouldShowThumbnail(i))
   {
     SLog.d("Should show thumbnail... {} {}.", Integer.valueOf(i), Integer.valueOf(this.mCurrentPlaying));
     paramFeedViewHolder.videoLoadImage.setVisibility(0);
     paramFeedViewHolder.videoView.setVisibility(4);
   }
   bindAvatar(paramFeedViewHolder);
   bindVideoImage(paramFeedViewHolder);
   long l;
   if ((!paramFeedViewHolder.post.isExplicit()) || (this.mDismissedWarnings.contains(Integer.valueOf(i))))
   {
     paramFeedViewHolder.videoImage.setVisibility(0);
     if (localVinePost.repost == null)
       break label406;
     paramFeedViewHolder.revineContainer.setVisibility(0);
     paramFeedViewHolder.revineLine.setVisibility(0);
     l = localVinePost.repost.userId;
     if (l != this.mAppController.getActiveId())
       break label254;
     paramFeedViewHolder.revineLine.setText(this.mContext.getString(2131624262));
   }
   label153: label254: SpannableStringBuilder localSpannableStringBuilder2;
   label406: VineEntity localVineEntity1;
   label584: RelativeLayout localRelativeLayout1;
   label667: RelativeLayout localRelativeLayout2;
   label979: label1110: boolean bool1;
   while (true)
     if (!TextUtils.isEmpty(localVinePost.description))
     {
       paramFeedViewHolder.description.setVisibility(0);
       if ((localVinePost.transientEntities == null) && (localVinePost.entities != null))
       {
         localVinePost.transientEntities = new ArrayList();
         Iterator localIterator2 = localVinePost.entities.iterator();
         while (true)
           if (localIterator2.hasNext())
           {
             VineEntity localVineEntity2 = (VineEntity)localIterator2.next();
             localVinePost.transientEntities.add(localVineEntity2.clone());
             continue;
             paramFeedViewHolder.videoImage.setVisibility(4);
             break;
             if (localVinePost.repost.username != null)
             {
               Context localContext = this.mContext;
               Object[] arrayOfObject2 = new Object[1];
               arrayOfObject2[0] = localVinePost.repost.username;
               String str3 = localContext.getString(2131624261, arrayOfObject2);
               SpannableStringBuilder localSpannableStringBuilder3 = new SpannableStringBuilder(str3);
               StyledClickableSpan localStyledClickableSpan4 = new StyledClickableSpan(8, Long.valueOf(l), this.mSpanClickListener);
               int j = str3.indexOf(localVinePost.repost.username);
               if (j < 0)
                 j = 0;
               int k = localSpannableStringBuilder3.length();
               Util.safeSetSpan(localSpannableStringBuilder3, localStyledClickableSpan4, j, k, 33);
               paramFeedViewHolder.revineLine.setMovementMethod(LinkMovementMethod.getInstance());
               paramFeedViewHolder.revineLine.setText(localSpannableStringBuilder3);
               break label153;
             }
             paramFeedViewHolder.revineLine.setVisibility(8);
             break label153;
             paramFeedViewHolder.revineContainer.setVisibility(8);
             break label153;
           }
       }
       ArrayList localArrayList = localVinePost.transientEntities;
       if (localArrayList != null)
       {
         paramFeedViewHolder.description.setMovementMethod(LinkMovementMethod.getInstance());
         if (localVinePost.descriptionSb == null)
         {
           localVinePost.descriptionSb = new SpannableStringBuilder(localVinePost.description);
           localSpannableStringBuilder2 = localVinePost.descriptionSb;
           try
           {
             Util.adjustEntities(localArrayList, localSpannableStringBuilder2, 0, false);
             Iterator localIterator1 = localArrayList.iterator();
             while (localIterator1.hasNext())
             {
               localVineEntity1 = (VineEntity)localIterator1.next();
               if (!localVineEntity1.isUserType())
                 break label1296;
               StyledClickableSpan localStyledClickableSpan2 = new StyledClickableSpan(1, Long.valueOf(localVineEntity1.id), this.mSpanClickListener);
               localStyledClickableSpan2.setColor(this.mVineGreen);
               Util.safeSetSpan(localSpannableStringBuilder2, localStyledClickableSpan2, localVineEntity1.start, localVineEntity1.end, 33);
             }
           }
           catch (Exception localException)
           {
             CrashUtil.logException(localException);
           }
         }
         else
         {
           paramFeedViewHolder.description.setText(localVinePost.descriptionSb);
           Resources localResources = this.mContext.getResources();
           if ((localVinePost.venueData == null) || (TextUtils.isEmpty(localVinePost.venueData.venueName)))
             break label1380;
           paramFeedViewHolder.location.setText(localVinePost.venueData.venueName.toUpperCase());
           Drawable localDrawable = localResources.getDrawable(VineVenue.iconMap.get(localVinePost.venueData.displayType));
           paramFeedViewHolder.locationIcon.setImageDrawable(localDrawable);
           paramFeedViewHolder.locationContainer.setVisibility(0);
           paramFeedViewHolder.listener.setPosition(i);
           if (paramFeedViewHolder.imageListener != null)
             paramFeedViewHolder.imageListener.setPosition(i);
           String str1 = localVinePost.username;
           if (str1 == null)
           {
             str1 = "";
             CrashUtil.logException(new VineException("Invalid user name for post " + localVinePost.userId));
           }
           SpannableStringBuilder localSpannableStringBuilder1 = new SpannableStringBuilder(str1);
           Util.safeSetSpan(localSpannableStringBuilder1, this.mBoldSpan, 0, str1.length(), 33);
           StyledClickableSpan localStyledClickableSpan1 = new StyledClickableSpan(1, Long.valueOf(localVinePost.userId), this.mSpanClickListener);
           localStyledClickableSpan1.setColor(localResources.getColor(2131296374));
           Util.safeSetSpan(localSpannableStringBuilder1, localStyledClickableSpan1, 0, str1.length(), 33);
           ImageView localImageView = paramFeedViewHolder.userImage;
           View.OnClickListener local4 = new View.OnClickListener()
           {
             public void onClick(View paramAnonymousView)
             {
               ProfileActivity.start(FeedAdapter.this.mContext, localVinePost.userId, FeedAdapter.this.mFollowEventSource);
             }
           };
           localImageView.setOnClickListener(local4);
           paramFeedViewHolder.username.setMovementMethod(LinkMovementMethod.getInstance());
           paramFeedViewHolder.username.setText(localSpannableStringBuilder1);
           paramFeedViewHolder.timestamp.setText(Util.getRelativeTimeString(localResources, localVinePost.created, false));
           ImageButton localImageButton = paramFeedViewHolder.comment;
           View.OnClickListener local5 = new View.OnClickListener()
           {
             public void onClick(View paramAnonymousView)
             {
               FeedAdapter.this.mContext.startActivity(new Intent(FeedAdapter.this.mContext, CommentsActivity.class).putExtra("post_id", localVinePost.postId).putExtra("post_author_id", localVinePost.userId).putExtra("hide_keyboard", false));
             }
           };
           localImageButton.setOnClickListener(local5);
           localRelativeLayout1 = paramFeedViewHolder.likersContainer;
           localRelativeLayout2 = paramFeedViewHolder.commentsContainer;
           RelativeLayout localRelativeLayout3 = paramFeedViewHolder.compactLikesCommentsContainer;
           if (this.mCompactLikesComments)
             break label1429;
           localRelativeLayout3.setVisibility(8);
           if ((localVinePost.likes.items == null) || (localVinePost.likes.items.isEmpty()))
             break label1392;
           localRelativeLayout1.setVisibility(0);
           setStyledLikers(paramFeedViewHolder, localVinePost.likesCount, localVinePost.likes);
           setRevinersCount(paramFeedViewHolder);
           if ((localVinePost.comments.items == null) || (localVinePost.comments.items.isEmpty()))
             break label1419;
           localRelativeLayout2.setVisibility(0);
           setStyledComments(paramFeedViewHolder, localVinePost.comments);
           if (localVinePost.commentsCount <= 5)
             break label1402;
           paramFeedViewHolder.commentType = 2;
           Object[] arrayOfObject1 = new Object[1];
           arrayOfObject1[0] = Util.numberFormat(localResources, -5 + localVinePost.commentsCount);
           String str2 = localResources.getString(2131624382, arrayOfObject1);
           paramFeedViewHolder.olderCommentsContainer.setVisibility(0);
           paramFeedViewHolder.olderComments.setText(str2);
           RelativeLayout localRelativeLayout4 = paramFeedViewHolder.olderCommentsContainer;
           View.OnClickListener local6 = new View.OnClickListener()
           {
             public void onClick(View paramAnonymousView)
             {
               FeedAdapter.this.mContext.startActivity(new Intent(FeedAdapter.this.mContext, CommentsActivity.class).putExtra("post_id", localVinePost.postId).putExtra("post_author_id", localVinePost.userId).putExtra("hide_keyboard", true));
             }
           };
           localRelativeLayout4.setOnClickListener(local6);
           if (!this.mLikeCache.contains(localVinePost.postId))
             break label1449;
           bool1 = this.mLikeCache.isLike(localVinePost.postId);
           localVinePost.setFlagLiked(bool1);
           label1143: if (!bool1)
             break label1488;
           paramFeedViewHolder.liked.setImageResource(2130837714);
         }
       }
     }
   while (true)
   {
     paramFeedViewHolder.liked.setTag(Long.valueOf(localVinePost.postId));
     paramFeedViewHolder.liked.setOnClickListener(this.mViewClickListener);
     paramFeedViewHolder.more.setTag(localVinePost);
     paramFeedViewHolder.more.setOnClickListener(this.mViewClickListener);
     if ((localVinePost.userId != this.mAppController.getActiveId()) && (!localVinePost.isPrivate()))
       break label1501;
     paramFeedViewHolder.revine.setVisibility(8);
     initVideoView(i, paramFeedViewHolder);
     if ((!this.mFirstPlayed) && (i == 0) && (!localVinePost.isExplicit()))
     {
       play(0);
       if ((SLog.sLogsOn) && (this.mStartLoadingTime > 0L))
         SLog.i("Time since started loading to request 0th video to play: {}ms", Long.valueOf(timeSinceStartLoadingTime()));
       this.mFirstPlayed = true;
     }
     return;
     label1296: if (!localVineEntity1.isTagType())
       break;
     StyledClickableSpan localStyledClickableSpan3 = new StyledClickableSpan(4, localVineEntity1.title, this.mSpanClickListener);
     localStyledClickableSpan3.setColor(this.mVineGreen);
     Util.safeSetSpan(localSpannableStringBuilder2, localStyledClickableSpan3, localVineEntity1.start, localVineEntity1.end, 33);
     break;
     paramFeedViewHolder.description.setText(localVinePost.description);
     break label584;
     paramFeedViewHolder.description.setVisibility(8);
     break label584;
     label1380: paramFeedViewHolder.locationContainer.setVisibility(8);
     break label667;
     label1392: localRelativeLayout1.setVisibility(8);
     break label979;
     label1402: paramFeedViewHolder.olderCommentsContainer.setVisibility(8);
     paramFeedViewHolder.commentType = 1;
     break label1110;
     label1419: localRelativeLayout2.setVisibility(8);
     break label1110;
     label1429: setStyledCompactLikesComments(paramFeedViewHolder, localVinePost.likesCount, localVinePost.commentsCount, localVinePost.revinersCount);
     break label1110;
     label1449: bool1 = localVinePost.isLiked();
     if (bool1)
     {
       this.mLikeCache.like(localVinePost.postId);
       break label1143;
     }
     this.mLikeCache.unlike(localVinePost.postId);
     break label1143;
     label1488: paramFeedViewHolder.liked.setImageResource(2130837647);
   }
   label1501: paramFeedViewHolder.revine.setVisibility(0);
   boolean bool2;
   if (this.mRevineCache.contains(localVinePost.postId))
   {
     bool2 = this.mRevineCache.isRevined(localVinePost.postId);
     localVinePost.setFlagRevined(bool2);
     label1542: if (!bool2)
       break label1652;
     paramFeedViewHolder.revine.setImageResource(2130837684);
   }
   while (true)
   {
     paramFeedViewHolder.revine.setTag(localVinePost);
     paramFeedViewHolder.revine.setOnClickListener(this.mViewClickListener);
     break;
     if ((localVinePost.myRepostId > 0L) || (localVinePost.isRevined()));
     for (bool2 = true; ; bool2 = false)
     {
       if (!bool2)
         break label1638;
       this.mRevineCache.putMyRepostId(localVinePost.postId, localVinePost.myRepostId);
       this.mRevineCache.revine(localVinePost.postId);
       break;
     }
     label1638: this.mRevineCache.unRevine(localVinePost.postId);
     break label1542;
     label1652: paramFeedViewHolder.revine.setImageResource(2130837682);
   }
 }