|
|
@@ -1,398 +0,0 @@
|
|
|
-package com.sheep.gamegroup.view.activity;
|
|
|
-
|
|
|
-import android.app.Activity;
|
|
|
-import android.graphics.drawable.Drawable;
|
|
|
-import android.os.Bundle;
|
|
|
-import android.support.annotation.Nullable;
|
|
|
-import android.support.v7.app.AppCompatActivity;
|
|
|
-import android.support.v7.widget.GridLayoutManager;
|
|
|
-import android.support.v7.widget.LinearLayoutManager;
|
|
|
-import android.support.v7.widget.PagerSnapHelper;
|
|
|
-import android.support.v7.widget.RecyclerView;
|
|
|
-import android.text.TextUtils;
|
|
|
-import android.util.Log;
|
|
|
-import android.util.SparseArray;
|
|
|
-import android.view.View;
|
|
|
-import android.widget.ImageView;
|
|
|
-import android.widget.TextView;
|
|
|
-
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.bumptech.glide.Glide;
|
|
|
-import com.bumptech.glide.load.DataSource;
|
|
|
-import com.bumptech.glide.load.engine.GlideException;
|
|
|
-import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
|
|
-import com.bumptech.glide.request.RequestListener;
|
|
|
-import com.bumptech.glide.request.RequestOptions;
|
|
|
-import com.bumptech.glide.request.target.Target;
|
|
|
-import com.kfzs.appstore.utils.adapter.recyclerview.RecyclerViewAdapter;
|
|
|
-import com.kfzs.duanduan.cardview.CardLinearSnapHelper;
|
|
|
-import com.kfzs.duanduan.cardview.CardScaleHelper;
|
|
|
-import com.sheep.gamegroup.helper.ScalableCardHelper;
|
|
|
-import com.sheep.gamegroup.model.api.ICallBack;
|
|
|
-import com.sheep.gamegroup.model.entity.BaseMessage;
|
|
|
-import com.sheep.gamegroup.model.entity.DialogConfig;
|
|
|
-import com.sheep.gamegroup.model.entity.FriendAndAwardEntity;
|
|
|
-import com.sheep.gamegroup.model.entity.PictureInvitationEntity;
|
|
|
-import com.sheep.gamegroup.model.entity.UserEntity;
|
|
|
-import com.sheep.gamegroup.model.util.SheepSubscriber;
|
|
|
-import com.sheep.gamegroup.util.CommonUtil;
|
|
|
-import com.sheep.gamegroup.util.DataUtil;
|
|
|
-import com.sheep.gamegroup.util.FastJsonUtils;
|
|
|
-import com.sheep.gamegroup.util.GlideImageLoader;
|
|
|
-import com.sheep.gamegroup.util.ListUtil;
|
|
|
-import com.sheep.gamegroup.util.StringUtils;
|
|
|
-import com.sheep.gamegroup.util.ViewHolder;
|
|
|
-import com.sheep.gamegroup.util.ViewUtil;
|
|
|
-import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
|
|
|
-import com.sheep.gamegroup.view.dialog.DialogShare;
|
|
|
-import com.sheep.jiuyan.samllsheep.BuildConfig;
|
|
|
-import com.sheep.jiuyan.samllsheep.R;
|
|
|
-import com.sheep.jiuyan.samllsheep.SheepApp;
|
|
|
-import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
|
|
|
-import com.sheep.jiuyan.samllsheep.utils.G;
|
|
|
-import com.umeng.socialize.ShareAction;
|
|
|
-import com.umeng.socialize.bean.SHARE_MEDIA;
|
|
|
-import com.umeng.socialize.media.UMImage;
|
|
|
-import com.umeng.socialize.media.UMWeb;
|
|
|
-
|
|
|
-import java.io.File;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Locale;
|
|
|
-
|
|
|
-import butterknife.BindView;
|
|
|
-import butterknife.ButterKnife;
|
|
|
-import rx.android.schedulers.AndroidSchedulers;
|
|
|
-import rx.functions.Action1;
|
|
|
-import rx.schedulers.Schedulers;
|
|
|
-
|
|
|
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.LINK_SHARE;
|
|
|
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.QR_COPY;
|
|
|
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.SHARE_TO_QQ;
|
|
|
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.SHARE_TO_WEIXIN_CIRCLE;
|
|
|
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.SHARE_TO_WX;
|
|
|
-import static com.sheep.gamegroup.util.ViewUtil.getNetImgByName;
|
|
|
-
|
|
|
-/**
|
|
|
- * created on:2018/9/4 on 15:09
|
|
|
- * created by: YSL
|
|
|
- * 描述:
|
|
|
- */
|
|
|
-public class InvitationActivity extends AppCompatActivity implements ScalableCardHelper.OnPageChangeListener {
|
|
|
- @BindView(R.id.ask_share_list)
|
|
|
- RecyclerView ask_share_list;
|
|
|
- @BindView(R.id.recyclerView)
|
|
|
- RecyclerView mRecyclerView;
|
|
|
- @BindView(R.id.img_baseactivity_title)
|
|
|
- ImageView ivBack;
|
|
|
-
|
|
|
- GridLayoutManager gridLayoutManager;
|
|
|
- UserEntity userEntity = DataUtil.getInstance().getUserEntity();
|
|
|
- private FriendAndAwardEntity mEntity;
|
|
|
- private List<PictureInvitationEntity> mPictureList = new ArrayList<>();
|
|
|
-
|
|
|
- @Override
|
|
|
-
|
|
|
- protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
|
- super.onCreate(savedInstanceState);
|
|
|
- setContentView(R.layout.activity_invitation);
|
|
|
- ButterKnife.bind(this);
|
|
|
- initView();
|
|
|
- initListener();
|
|
|
- initData();
|
|
|
- getPictureList();
|
|
|
- }
|
|
|
-
|
|
|
- private void initView() {
|
|
|
-// tvTitle.setText("邀请赚钱");
|
|
|
- ivBack.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View view) {
|
|
|
- InvitationActivity.this.finish();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- private RecyclerViewAdapter<PictureInvitationEntity> mRecyclerViewAdapter;
|
|
|
- private void initListener() {
|
|
|
- mRecyclerView.setLayoutManager(new LinearLayoutManager(mRecyclerView.getContext(), LinearLayoutManager.HORIZONTAL, false));
|
|
|
- mRecyclerView.setNestedScrollingEnabled(false);
|
|
|
-
|
|
|
- mRecyclerViewAdapter = new RecyclerViewAdapter<PictureInvitationEntity>(mRecyclerView.getContext(), R.layout.item_image2, mPictureList) {
|
|
|
- @Override
|
|
|
- public void convert(com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder viewHolder, final PictureInvitationEntity item, int i) {
|
|
|
- ImageView image_full = viewHolder.getView(R.id.image_full);
|
|
|
- ImageView image_bottom = viewHolder.getView(R.id.image_bottom);
|
|
|
-// GlideImageLoader.roundedCornersImage1(image_full, item.getPicture(), (int) getResources().getDimension(R.dimen.content_padding_8));
|
|
|
- viewList.put(i, viewHolder.itemView);
|
|
|
- Glide.with(SheepApp.getInstance())
|
|
|
- .load(item.getPicture())
|
|
|
- .listener(new RequestListener<Drawable>() {
|
|
|
- @Override
|
|
|
- public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
|
|
|
- item.setLoaded(false);
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
|
|
|
- item.setLoaded(true);
|
|
|
- return false;
|
|
|
- }
|
|
|
- })
|
|
|
- .apply(new RequestOptions().centerCrop().transform(new RoundedCorners((int) getResources().getDimension(R.dimen.content_padding_8))))
|
|
|
- .into(image_full);
|
|
|
- GlideImageLoader.saveAndSetRqImage(image_bottom, item.getLink(), 800);
|
|
|
- }
|
|
|
-
|
|
|
- };
|
|
|
- mRecyclerView.setAdapter(mRecyclerViewAdapter);
|
|
|
-// CardLinearSnapHelper cardLinearSnapHelper = new CardLinearSnapHelper();
|
|
|
-// cardLinearSnapHelper.attachToRecyclerView(mRecyclerView);
|
|
|
- CardScaleHelper cardLinearSnapHelper = new CardScaleHelper();
|
|
|
- cardLinearSnapHelper.attachToRecyclerView(mRecyclerView);
|
|
|
-// PagerSnapHelper cardLinearSnapHelper = new PagerSnapHelper();
|
|
|
-// cardLinearSnapHelper.attachToRecyclerView(mRecyclerView);
|
|
|
-// ScalableCardHelper cardHelper = new ScalableCardHelper(this);
|
|
|
-// cardHelper.attachToRecyclerView(mRecyclerView);
|
|
|
- }
|
|
|
- private SparseArray<View> viewList = new SparseArray<>();
|
|
|
-
|
|
|
- private void init(final String url, final String description) {
|
|
|
- gridLayoutManager = new GridLayoutManager(this, 5);
|
|
|
- ask_share_list.setLayoutManager(gridLayoutManager);
|
|
|
- final List<String> list = ListUtil.emptyList();
|
|
|
- list.add(DialogShare.FACE_TO_FACE);
|
|
|
- list.add(DialogShare.WX);
|
|
|
- list.add(DialogShare.QQ);
|
|
|
- list.add(DialogShare.WEIXIN_CIRCLE);
|
|
|
- list.add(DialogShare.COPY_SHARE_LINK);
|
|
|
- final List<String> imgList = ListUtil.emptyList();
|
|
|
- imgList.add("share_face_to_face");
|
|
|
- imgList.add("share_wx");
|
|
|
- imgList.add("share_qq");
|
|
|
- imgList.add("share_weixin_circle");
|
|
|
- imgList.add("share_copy_share_link");
|
|
|
- final List<String> nameList = ListUtil.emptyList();
|
|
|
- nameList.add("面对面");
|
|
|
- nameList.add("微信");
|
|
|
- nameList.add("QQ好友");
|
|
|
- nameList.add("朋友圈");
|
|
|
- nameList.add("复制链接");
|
|
|
- AdbCommonRecycler<String> adapter = new AdbCommonRecycler<String>(this, list) {
|
|
|
- @Override
|
|
|
- public int getViewIdByType(int type) {
|
|
|
- return R.layout.ask_to_share_item;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void convert(ViewHolder holder, final String item) {
|
|
|
- View itemView = holder.itemView;
|
|
|
- if (item == null)
|
|
|
- return;
|
|
|
- ImageView ask_to_share_item_img = itemView.findViewById(R.id.ask_to_share_item_img);
|
|
|
- TextView ask_to_share_item_name = itemView.findViewById(R.id.ask_to_share_item_name);
|
|
|
- final int position = holder.getAdapterPosition();
|
|
|
- GlideImageLoader.setImage(ask_to_share_item_img, getNetImgByName(imgList.get(position)));
|
|
|
- ask_to_share_item_name.setText(nameList.get(position));
|
|
|
- itemView.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View view) {
|
|
|
- File file = null;
|
|
|
- switch (position){
|
|
|
- case 1://qq
|
|
|
- case 2://wx
|
|
|
- PictureInvitationEntity picItem = ListUtil.getItem(mPictureList, curPosition);
|
|
|
- if(picItem != null && picItem.isLoaded()) {
|
|
|
- try {
|
|
|
- String fileName = String.format(Locale.CHINA, "share%d%s%d.jpg", position, BuildConfig.FLAVOR, picItem.getPicture().hashCode());
|
|
|
- file = new File(ClassFileHelper.DIR, fileName);
|
|
|
- if (!file.exists()) {
|
|
|
- file = ViewUtil.saveImage(viewList.get(curPosition), ClassFileHelper.DIR, fileName);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- } else {
|
|
|
- G.showToast("图片正在加载中,请稍等");
|
|
|
- return;
|
|
|
- }
|
|
|
- break;
|
|
|
-
|
|
|
- }
|
|
|
- popShare(InvitationActivity.this, url, item, description, file);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- };
|
|
|
- ask_share_list.setAdapter(adapter);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 分享 url type 拼接
|
|
|
- */
|
|
|
- public String jointString(String url, @DialogShare.SHARE_TYPE String type) {
|
|
|
- if (url.contains("&type="))
|
|
|
- return url;
|
|
|
- switch (type) {
|
|
|
- case "qq":
|
|
|
- return url + "&type=2";
|
|
|
- case "wx":
|
|
|
- return url + "&type=1";
|
|
|
- default:
|
|
|
- return url + "&type=4";
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 分享
|
|
|
- *
|
|
|
- * @param activity
|
|
|
- * @param url
|
|
|
- * @param type qq wx all
|
|
|
- * @param description
|
|
|
- */
|
|
|
- public void popShare(Activity activity, final String url, @DialogShare.SHARE_TYPE String type, String description, File file) {
|
|
|
- if (activity == null || TextUtils.isEmpty(type) || TextUtils.isEmpty(url)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- final String realUrl = jointString(url, type);
|
|
|
- SHARE_MEDIA share_media;
|
|
|
- switch (type) {
|
|
|
- case DialogShare.ALL:
|
|
|
- ViewUtil.newInstance().showShare(activity, realUrl, description);
|
|
|
- return;
|
|
|
- case DialogShare.FACE_TO_FACE:
|
|
|
- ViewUtil.showQR(activity, realUrl);
|
|
|
- return;
|
|
|
- case DialogShare.COPY_SHARE_LINK:
|
|
|
- LINK_SHARE.onEvent();
|
|
|
- ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("分享链接").setMsg(realUrl)
|
|
|
- .setMsgMore("他人通过该链接加入小绵羊即可成为你的好友").setMsgMoreColor(R.color.txt_black_9e9c9c)
|
|
|
- .setBtnLeftText("复制链接").setBtnLeftOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View view) {
|
|
|
- QR_COPY.onEvent();
|
|
|
- StringUtils.CopyText(realUrl);
|
|
|
- G.showToast("复制链接成功");
|
|
|
- }
|
|
|
- }));
|
|
|
- return;
|
|
|
- case DialogShare.QQ:
|
|
|
- SHARE_TO_QQ.onEvent();
|
|
|
- share_media = SHARE_MEDIA.QQ;
|
|
|
- break;
|
|
|
- case DialogShare.WX:
|
|
|
- SHARE_TO_WX.onEvent();
|
|
|
- share_media = SHARE_MEDIA.WEIXIN;
|
|
|
- break;
|
|
|
- case DialogShare.WEIXIN_CIRCLE:
|
|
|
- default:
|
|
|
- SHARE_TO_WEIXIN_CIRCLE.onEvent();
|
|
|
- share_media = SHARE_MEDIA.WEIXIN_CIRCLE;
|
|
|
- break;
|
|
|
- }
|
|
|
- UMImage umImage;
|
|
|
- switch (type){
|
|
|
- case DialogShare.QQ:
|
|
|
- case DialogShare.WX:
|
|
|
- umImage = new UMImage(activity, file);
|
|
|
- break;
|
|
|
- default:
|
|
|
- umImage = new UMImage(activity, R.mipmap.icon);
|
|
|
- break;
|
|
|
- }
|
|
|
- UMWeb umWeb = new UMWeb(realUrl);
|
|
|
- umWeb.setTitle(activity.getResources().getString(R.string.app_name));
|
|
|
- umWeb.setThumb(umImage);
|
|
|
- umWeb.setDescription(TextUtils.isEmpty(description) ? activity.getResources().getString(R.string.app_name) : description);
|
|
|
- switch (type){
|
|
|
- case DialogShare.QQ:
|
|
|
- case DialogShare.WX:
|
|
|
- new ShareAction(activity)
|
|
|
- .setPlatform(share_media)
|
|
|
- .withMedia(umImage)
|
|
|
- .setCallback(new CommonUtil.UMShareListener())
|
|
|
- .share();
|
|
|
- break;
|
|
|
- default:
|
|
|
- new ShareAction(activity)
|
|
|
- .setPlatform(share_media)
|
|
|
- .withMedia(umWeb)
|
|
|
- .setCallback(new CommonUtil.UMShareListener())
|
|
|
- .share();
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public void initData() {
|
|
|
- ViewUtil.newInstance().showProgress(this);
|
|
|
- SheepApp.getInstance().getNetComponent().getApiService().FriendCountAndAward()
|
|
|
- .subscribeOn(Schedulers.io())
|
|
|
- .observeOn(AndroidSchedulers.mainThread())
|
|
|
- .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
- @Override
|
|
|
- public void onError(BaseMessage baseMessage) {
|
|
|
- ViewUtil.newInstance().hideProgress(InvitationActivity.this);
|
|
|
- if (BuildConfig.DEBUG)
|
|
|
- G.showToast(baseMessage);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onNext(BaseMessage baseMessage) {
|
|
|
- if (baseMessage != null) {
|
|
|
- mEntity = baseMessage.getData(FriendAndAwardEntity.class);
|
|
|
- ViewUtil.newInstance().hideProgress(InvitationActivity.this);
|
|
|
- getmEntity();
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private void getmEntity() {
|
|
|
- CommonUtil.getInstance().updateUserInfo(new Action1<UserEntity>() {
|
|
|
- @Override
|
|
|
- public void call(UserEntity result) {
|
|
|
- if (result != null) {
|
|
|
- userEntity = result;
|
|
|
- init(userEntity.getShareLink(), mEntity.getShare_desc());
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- private int curPosition = 0;
|
|
|
- @Override
|
|
|
- public void onPageSelected(int position) {
|
|
|
- curPosition = position;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 来获取邀请图片,
|
|
|
- */
|
|
|
- private void getPictureList() {
|
|
|
- SheepApp
|
|
|
- .getInstance()
|
|
|
- .getNetComponent()
|
|
|
- .getApiService()
|
|
|
- .getSharePicture()
|
|
|
- .subscribeOn(Schedulers.io())
|
|
|
- .observeOn(AndroidSchedulers.mainThread())
|
|
|
- .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
- @Override
|
|
|
- public void onNext(BaseMessage baseMessage) {
|
|
|
- mPictureList.addAll(baseMessage.getDataList(PictureInvitationEntity.class));
|
|
|
- mRecyclerViewAdapter.notifyDataSetChanged();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onError(BaseMessage baseMessage) {
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-}
|