package cn.bidaround.youtui_template; import android.app.Activity; import android.content.Intent; import cn.bidaround.ytcore.YtCore; import cn.bidaround.ytcore.data.ShareData; import cn.bidaround.ytcore.data.YtPlatform; /** * 具体的分享内容类 * * @author youtui * @since 14/6/19 */ public class YTShare { private Activity act; public YTShare(Activity act) { this.act = act; } /** * 分享到各个平台 判断平台所处的页面和在页面的位置设置点击分享事件 该方法用于黑色网格样式中 * * @param position * 点击事件所在gridview上位置 * @param pageIndex * 点击事件所在viewpager页面indext * @param ShareData * .shareData */ public void doGridShare(int position, int pageIndex, YtTemplate template, ShareData shareData, int itemAmount, YTBasePopupWindow instance,int height) { YtPlatform platform = template.getPlatform(position, pageIndex, itemAmount); if(platform == null) return; if(!compareLasttime(platform)) return; doShare(template, platform, instance, shareData); } /** * 分享到各个平台 判断平台所处的页面和在页面的位置设置点击分享事件 该方法用于黑色网格样式中 * * @param position * 点击事件所在gridview上位置 * @param pageIndex * 点击事件所在viewpager页面indext * @param ShareData * .shareData */ public void doListShare(int position, YtTemplate template, ShareData shareData, YTBasePopupWindow instance) { YtPlatform platform = template.getPlatform(position); if(platform == null) return; if(!compareLasttime(platform)) return; doShare(template, platform, instance, shareData); } private void doShare(YtTemplate template, YtPlatform platform, YTBasePopupWindow instance, ShareData shareData){ // 截屏分享 if (platform == YtPlatform.PLATFORM_SCREENCAP) shareScreencap(instance, template); // 其他平台分享 else{ ShareData data = template.getData(platform); YtCore.getInstance().share(act, platform, template.getListener(platform), data == null ? shareData : data); } } /** * 截屏分享 */ private void shareScreencap(YTBasePopupWindow instance, YtTemplate template){ if (instance != null) { instance.dismiss(); } TemplateUtil.GetandSaveCurrentImage(act, true); Intent it = new Intent(act, ScreenCapEditActivity.class); it.putExtra("viewType", template.getViewType()); it.putExtra("target_url", template.getData(YtPlatform.PLATFORM_SCREENCAP).getTargetUrl()); act.startActivity(it); } /** * 比较最后一次的点击时间 * @param template * @return true : 有效 ; false : 点击太快,无效 */ private boolean compareLasttime(YtPlatform platform){ return ShareRespUtil.getInstance().compareLastTime(platform.getName()); } }