package com.wangdaye.mysplash.photo.view.holder; import android.os.Build; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; import com.wangdaye.mysplash.Mysplash; import com.wangdaye.mysplash.R; import com.wangdaye.mysplash.common._basic.MysplashActivity; import com.wangdaye.mysplash.common.data.entity.unsplash.Photo; import com.wangdaye.mysplash.common.ui.adapter.PhotoInfoAdapter; import com.wangdaye.mysplash.common.ui.widget.CircleImageView; import com.wangdaye.mysplash.common.ui.widget.freedomSizeView.FreedomTouchView; import com.wangdaye.mysplash.common.utils.DisplayUtils; import com.wangdaye.mysplash.common.utils.ShareUtils; import com.wangdaye.mysplash.common.utils.helper.ImageHelper; import com.wangdaye.mysplash.common.utils.helper.IntentHelper; import com.wangdaye.mysplash.photo.view.activity.PhotoActivity; import com.wangdaye.mysplash.user.view.activity.UserActivity; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; /** * Touch holder. * */ public class TouchLandscapeHolder extends PhotoInfoAdapter.ViewHolder { private PhotoActivity activity; @BindView(R.id.item_photo_touch_landscape_touch) FreedomTouchView touchView; @BindView(R.id.item_photo_touch_landscape_avatar) CircleImageView avatar; @BindView(R.id.item_photo_touch_landscape_title) TextView title; @BindView(R.id.item_photo_touch_landscape_subtitle) TextView subtitle; @BindView(R.id.item_photo_touch_landscape_menuBtn) ImageButton menuBtn; private Photo photo; public static final int TYPE_TOUCH_LANDSCAPE = 8; public TouchLandscapeHolder(PhotoActivity a, View itemView) { super(itemView); ButterKnife.bind(this, itemView); this.activity = a; DisplayUtils.setTypeface(activity, subtitle); } @Override protected void onBindView(MysplashActivity a, Photo photo) { this.photo = photo; touchView.setSize(photo.width, photo.height); touchView.setShowShadow(true); ImageHelper.loadAvatar(a, avatar, photo.user, null); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { avatar.setTransitionName(photo.user.username + "-2"); } title.setText(a.getString(R.string.by) + " " + photo.user.name); subtitle.setText(a.getString(R.string.on) + " " + photo.created_at.split("T")[0]); } @Override protected void onRecycled() { ImageHelper.releaseImageView(avatar); } @OnClick(R.id.item_photo_touch_landscape_touch) void clickItem() { IntentHelper.startPreviewActivity( Mysplash.getInstance().getTopActivity(), photo, true); } @OnClick(R.id.item_photo_touch_landscape_avatar) void clickAvatar() { IntentHelper.startUserActivity( Mysplash.getInstance().getTopActivity(), avatar, photo.user, UserActivity.PAGE_PHOTO); } @OnClick(R.id.item_photo_touch_landscape_shareBtn) void share() { ShareUtils.sharePhoto(photo); } @OnClick(R.id.item_photo_touch_landscape_menuBtn) void checkMenu() { activity.showPopup(activity, menuBtn, null, 0); } }