|
|
@@ -1,435 +1,56 @@
|
|
|
package com.sheep.gamegroup.view.activity;
|
|
|
|
|
|
import android.app.Activity;
|
|
|
-import android.support.v4.view.ViewPager;
|
|
|
-import android.support.v4.widget.NestedScrollView;
|
|
|
-import android.support.v7.widget.LinearLayoutManager;
|
|
|
-import android.support.v7.widget.RecyclerView;
|
|
|
-import android.text.TextUtils;
|
|
|
-import android.util.SparseArray;
|
|
|
-import android.view.Gravity;
|
|
|
-import android.view.LayoutInflater;
|
|
|
-import android.view.MotionEvent;
|
|
|
-import android.view.View;
|
|
|
-import android.webkit.WebView;
|
|
|
-import android.widget.ImageView;
|
|
|
-import android.widget.LinearLayout;
|
|
|
-import android.widget.RelativeLayout;
|
|
|
-import android.widget.TextView;
|
|
|
+import android.os.Bundle;
|
|
|
+import android.support.v4.app.Fragment;
|
|
|
+import android.support.v4.app.FragmentTransaction;
|
|
|
|
|
|
-import com.kfzs.duanduan.fragment.FgtFriendExtractPage;
|
|
|
-import com.kfzs.duanduan.fragment.PagerAdapter;
|
|
|
+import com.kfzs.duanduan.fragment.FgtAskgetmoney;
|
|
|
import com.sheep.gamegroup.absBase.BaseUMActivity;
|
|
|
-import com.sheep.gamegroup.di.components.DaggerAskGetMoneyComponent;
|
|
|
-import com.sheep.gamegroup.di.modules.AskGetMoneyModule;
|
|
|
-import com.sheep.gamegroup.model.entity.AskAward;
|
|
|
-import com.sheep.gamegroup.model.entity.AskTop;
|
|
|
-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.UserEntity;
|
|
|
-import com.sheep.gamegroup.model.util.SheepSubscriber;
|
|
|
-import com.sheep.gamegroup.presenter.AskGetMoneyContract;
|
|
|
-import com.sheep.gamegroup.presenter.AskGetMoneyPresenter;
|
|
|
-import com.sheep.gamegroup.util.CommonUtil;
|
|
|
-import com.sheep.gamegroup.util.DataUtil;
|
|
|
-import com.sheep.gamegroup.util.ListUtil;
|
|
|
-import com.sheep.gamegroup.util.ViewHolder;
|
|
|
-import com.sheep.gamegroup.util.ViewUtil;
|
|
|
-import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
|
|
|
-import com.sheep.jiuyan.samllsheep.BuildConfig;
|
|
|
import com.sheep.jiuyan.samllsheep.R;
|
|
|
-import com.sheep.jiuyan.samllsheep.SheepApp;
|
|
|
-import com.sheep.jiuyan.samllsheep.utils.G;
|
|
|
-import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
|
|
|
-import com.sunfusheng.marqueeview.MarqueeView;
|
|
|
-import com.umeng.socialize.UMShareListener;
|
|
|
-import com.umeng.socialize.bean.SHARE_MEDIA;
|
|
|
-
|
|
|
-import java.util.List;
|
|
|
-import java.util.Locale;
|
|
|
-
|
|
|
-import javax.inject.Inject;
|
|
|
-
|
|
|
-import butterknife.BindView;
|
|
|
-import rx.android.schedulers.AndroidSchedulers;
|
|
|
-import rx.functions.Action1;
|
|
|
-import rx.schedulers.Schedulers;
|
|
|
|
|
|
/**
|
|
|
* Created by Administrator on 2018/3/19.
|
|
|
*/
|
|
|
|
|
|
-public class AskGetMoneyAct extends BaseUMActivity implements AskGetMoneyContract.View {
|
|
|
-
|
|
|
+public class AskGetMoneyAct extends BaseUMActivity{
|
|
|
|
|
|
- @Inject
|
|
|
- AskGetMoneyPresenter mPresenter;
|
|
|
- @BindView(R.id.tv_size)
|
|
|
- TextView tvSize;
|
|
|
- @BindView(R.id.tv_money)
|
|
|
- TextView tvMoney;
|
|
|
- @BindView(R.id.friend_extract_vp)
|
|
|
- ViewPager friend_extract_vp;
|
|
|
- @BindView(R.id.friend_extract_page_tv)
|
|
|
- TextView friend_extract_page_tv;
|
|
|
- @BindView(R.id.friend_extract_last_page_tv)
|
|
|
- TextView friend_extract_last_page_tv;
|
|
|
- @BindView(R.id.friend_extract_next_page_tv)
|
|
|
- TextView friend_extract_next_page_tv;
|
|
|
- @BindView(R.id.ask_bg)
|
|
|
- WebView ask_bg;
|
|
|
- @BindView(R.id.ask_top_1)
|
|
|
- View ask_top_1;
|
|
|
- @BindView(R.id.ask_top_2)
|
|
|
- View ask_top_2;
|
|
|
- @BindView(R.id.ask_top5_not_you)
|
|
|
- TextView ask_top5_not_you;
|
|
|
- @BindView(R.id.ask_top5_list)
|
|
|
- RecyclerView ask_top5_list;
|
|
|
- @BindView(R.id.ask_award_info)
|
|
|
- MarqueeView ask_award_info;
|
|
|
- @BindView(R.id.ask_scroll_view)
|
|
|
- NestedScrollView scrollView;
|
|
|
- @BindView(R.id.empty_view)
|
|
|
- View empty_view;
|
|
|
|
|
|
- private FriendAndAwardEntity mEntity;
|
|
|
+ Activity activity;
|
|
|
|
|
|
@Override
|
|
|
protected int getLayoutId() {
|
|
|
- return R.layout.x_ask_getmoney_act_layout;
|
|
|
+ return R.layout.personalcenter_act_layout;
|
|
|
}
|
|
|
|
|
|
- private Activity activity;
|
|
|
-
|
|
|
@Override
|
|
|
public void initView() {
|
|
|
activity = this;
|
|
|
- TitleBarUtils.getInstance()
|
|
|
- .setTitle(this, "邀请赚钱")
|
|
|
- .setTitleFinish(this);
|
|
|
- DaggerAskGetMoneyComponent.builder().askGetMoneyModule(new AskGetMoneyModule(this))
|
|
|
- .netComponent(SheepApp.get(this).getNetComponent())
|
|
|
- .build()
|
|
|
- .inject(this);
|
|
|
- initFriendExtractList();
|
|
|
- initAskTop5View();
|
|
|
- String content = "<!DOCTYPEhtml>\n" +
|
|
|
- "<html>\n" +
|
|
|
- " <head>\n" +
|
|
|
- " <title>HTML字符串</title>\n" +
|
|
|
- " <metahttp-equivmetahttp-equiv=\"content-type\" content=\"text/html;charset=utf-8\">\n" +
|
|
|
- " <meta name=\"viewport\" content=\"width=" + G.WIDTH + ", user-scalable=no\">\n" +
|
|
|
- " <style type=\"text/css\">\n" +
|
|
|
- " body {\n" +
|
|
|
- " margin: 0;\n" +
|
|
|
- " padding: 0;\n" +
|
|
|
- " }\n" +
|
|
|
- " img {\n" +
|
|
|
- " padding: 0;\n" +
|
|
|
- " margin: 0;\n" +
|
|
|
- " }\n" +
|
|
|
- " </style>\n" +
|
|
|
- " </head>\n" +
|
|
|
- " <body>\n" +
|
|
|
- " <img src=\"http://cdngame.kuaifazs.com/ask_bg2.png\" width=\"100%\">\n" +
|
|
|
- " </body>\n" +
|
|
|
- "</html>";
|
|
|
- ask_bg.getSettings().setDefaultTextEncodingName("UTF-8");
|
|
|
- ask_bg.loadData(content, "text/html", "UTF-8");
|
|
|
-// 16,18,19
|
|
|
- LinearLayout.LayoutParams layoutParams1 = (LinearLayout.LayoutParams) ask_top_1.getLayoutParams();
|
|
|
- layoutParams1.height = G.WIDTH * 690 / 625;
|
|
|
- ask_top_1.setLayoutParams(layoutParams1);
|
|
|
- LinearLayout.LayoutParams layoutParams2 = (LinearLayout.LayoutParams) ask_top_2.getLayoutParams();
|
|
|
- layoutParams2.height = G.WIDTH * 112 / 625;
|
|
|
- ask_top_2.setLayoutParams(layoutParams2);
|
|
|
- ask_top5_not_you.setVisibility(View.INVISIBLE);
|
|
|
- }
|
|
|
-
|
|
|
- private List<AskTop> list = ListUtil.emptyList();
|
|
|
- private AdbCommonRecycler<AskTop> adapter;
|
|
|
-
|
|
|
- private void initAskTop5View() {
|
|
|
- list.add(null);
|
|
|
- ask_top5_list.setLayoutManager(new LinearLayoutManager(activity));
|
|
|
- //ask_top5_list 解决滑动不流畅问题
|
|
|
- ask_top5_list.setHasFixedSize(true);
|
|
|
- ask_top5_list.setNestedScrollingEnabled(false);
|
|
|
- adapter = new AdbCommonRecycler<AskTop>(activity, list) {
|
|
|
-
|
|
|
- @Override
|
|
|
- public int getItemViewType(int position) {
|
|
|
- return position;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public int getViewIdByType(int type) {
|
|
|
- switch (type) {
|
|
|
- case 0:
|
|
|
- return R.layout.x_ask_top5_title;
|
|
|
- default:
|
|
|
- return R.layout.x_ask_top5_item;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void convert(ViewHolder holder, final AskTop item) {
|
|
|
- View itemView = holder.itemView;
|
|
|
- int position = holder.getAdapterPosition();
|
|
|
- if (position == 0) {
|
|
|
- return;
|
|
|
- }
|
|
|
- TextView x_ask_top5_item_user = itemView.findViewById(R.id.x_ask_top5_item_user);
|
|
|
- TextView x_ask_top5_item_money = itemView.findViewById(R.id.x_ask_top5_item_money);
|
|
|
- TextView x_ask_top5_item_award = itemView.findViewById(R.id.x_ask_top5_item_award);
|
|
|
- ImageView ask_top5_item_iv = itemView.findViewById(R.id.ask_top5_item_iv);
|
|
|
-
|
|
|
- if (item == null) {//空数据占位置
|
|
|
- itemView.setVisibility(View.INVISIBLE);
|
|
|
- return;
|
|
|
- }
|
|
|
- ViewUtil.setText(x_ask_top5_item_user, String.format(Locale.CHINA, "昵称\n%s", item.getNickname()));
|
|
|
- ViewUtil.setText(x_ask_top5_item_money, String.format(Locale.CHINA, "%d", item.getSum_friend()));
|
|
|
- ViewUtil.setText(x_ask_top5_item_award, item.getPrize());
|
|
|
- switch (position) {
|
|
|
- case 1:
|
|
|
- ask_top5_item_iv.setImageResource(R.mipmap.ask_top_1);
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- ask_top5_item_iv.setImageResource(R.mipmap.ask_top_2);
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- ask_top5_item_iv.setImageResource(R.mipmap.ask_top_3);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- };
|
|
|
- ask_top5_list.setAdapter(adapter);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void initListener() {
|
|
|
- scrollView.setOnTouchListener(new View.OnTouchListener() {
|
|
|
- @Override
|
|
|
- public boolean onTouch(View v, MotionEvent event) {
|
|
|
- switch (event.getAction()) {
|
|
|
- case MotionEvent.ACTION_DOWN:
|
|
|
- if (ask_award_info != null) {
|
|
|
- //开始滚动
|
|
|
- ask_award_info.stopFlipping();
|
|
|
- }
|
|
|
- break;
|
|
|
- case MotionEvent.ACTION_UP:
|
|
|
- default:
|
|
|
- if (ask_award_info != null) {
|
|
|
- //开始滚动
|
|
|
- ask_award_info.startFlipping();
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- private UserEntity userEntity;
|
|
|
-
|
|
|
- @Override
|
|
|
- public void initData() {
|
|
|
- showProgress();
|
|
|
- mPresenter.getTask(null);
|
|
|
- CommonUtil.getInstance().updateUserInfo(new Action1<UserEntity>() {
|
|
|
- @Override
|
|
|
- public void call(UserEntity result) {
|
|
|
- if (result != null)
|
|
|
- userEntity = result;
|
|
|
- }
|
|
|
- });
|
|
|
- initAskTop5();
|
|
|
- }
|
|
|
-
|
|
|
- private void initAskTop5() {
|
|
|
- SheepApp.getInstance().getNetComponent().getApiService().getInvitationTop(5)
|
|
|
- .subscribeOn(Schedulers.io())
|
|
|
- .observeOn(AndroidSchedulers.mainThread())
|
|
|
- .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
- @Override
|
|
|
- public void onNext(BaseMessage baseMessage) {
|
|
|
- List<AskTop> newList = baseMessage.getDataList(AskTop.class);
|
|
|
- if (ListUtil.isEmpty(newList)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- list.addAll(newList);
|
|
|
- notifyDataSetChanged();
|
|
|
- String userId = DataUtil.getInstance().getUserId();
|
|
|
- boolean hasMe = false;
|
|
|
- for (AskTop item : newList) {
|
|
|
- if (TextUtils.equals(userId, item.getUser_id())) {
|
|
|
- hasMe = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- ask_top5_not_you.setVisibility(hasMe ? View.INVISIBLE : View.VISIBLE);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onError(BaseMessage baseMessage) {
|
|
|
- notifyDataSetChanged();
|
|
|
- ask_top5_not_you.setVisibility(View.VISIBLE);
|
|
|
- }
|
|
|
- });
|
|
|
- SheepApp.getInstance().getNetComponent().getApiService().getInvitationTopRecord()
|
|
|
- .subscribeOn(Schedulers.io())
|
|
|
- .observeOn(AndroidSchedulers.mainThread())
|
|
|
- .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
- @Override
|
|
|
- public void onNext(BaseMessage baseMessage) {
|
|
|
- List<AskAward> newList = baseMessage.getDataList(AskAward.class);
|
|
|
- for (AskAward item : newList) {
|
|
|
- TextView moreView = (TextView) LayoutInflater.from(activity).inflate(R.layout.x_ask_award_item, null);
|
|
|
- moreView.setText(String.format(Locale.CHINA, "%s领取了%s", item.getNickname(), item.getPrize()));
|
|
|
- ask_award_info.addView(moreView);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onError(BaseMessage baseMessage) {
|
|
|
-
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
|
|
|
- private void notifyDataSetChanged() {
|
|
|
- CommonUtil.getInstance().updateEmptyView(empty_view, list.size() == 1, true);
|
|
|
- while (list.size() < 5) {
|
|
|
- list.add(null);
|
|
|
+ FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
|
|
+ Bundle bundle = new Bundle();
|
|
|
+ Fragment fragment = getSupportFragmentManager().findFragmentByTag("tag");
|
|
|
+ if(fragment == null){
|
|
|
+ fragment = new FgtAskgetmoney();
|
|
|
+ fragment.setArguments(bundle);
|
|
|
+ transaction.add(R.id.frame_container, fragment, "tag");
|
|
|
+ transaction.commitAllowingStateLoss();
|
|
|
+ }else {
|
|
|
+ fragment.setArguments(bundle);
|
|
|
+ transaction.replace(R.id.frame_container, fragment);
|
|
|
+ transaction.commitAllowingStateLoss();
|
|
|
}
|
|
|
- adapter.notifyDataSetChanged();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public void NetSuccess(int code, String msg, String s) {
|
|
|
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void NetError(int code, String errorMsg) {
|
|
|
- hideProgress();
|
|
|
- G.showToast(errorMsg);
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void showTask(FriendAndAwardEntity entity) {
|
|
|
- hideProgress();
|
|
|
- mEntity = entity;
|
|
|
- this.runOnUiThread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- tvSize.setText(mEntity.getFriend_count() + "");
|
|
|
- tvMoney.setText(mEntity.getAward());
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private SparseArray<FgtFriendExtractPage> mTestFragments;
|
|
|
- private int totalPage = 0;
|
|
|
- public void setFriendExtractCount(int count, int page, int size) {
|
|
|
- totalPage = ListUtil.getTotalPage(count, 5);
|
|
|
- friend_extract_page_tv.setText(String.format(Locale.CHINA, "%d/%d", curPage, totalPage));
|
|
|
- checkAddPage(page, size);
|
|
|
- }
|
|
|
-
|
|
|
- private void checkAddPage(int page, int size) {
|
|
|
- if (curPage + 2 > page && size == FgtFriendExtractPage.per_page) {//已经到最后一页面,且数据是满的,可以添加一页面
|
|
|
- int nextPage = page + 1;
|
|
|
- if (mTestFragments.get(nextPage) == null) {
|
|
|
-// if(BuildConfig.DEBUG) G.showToast("添加新的一页:" + nextPage);
|
|
|
- mTestFragments.put(nextPage, FgtFriendExtractPage.newInstance(nextPage));
|
|
|
- mPagerAdapter.notifyDataSetChanged();
|
|
|
- } else {
|
|
|
-// if(BuildConfig.DEBUG) G.showToast("不用添加新的一页:" + nextPage);
|
|
|
- }
|
|
|
- }
|
|
|
- if (size > FgtFriendExtractPage.per_page) {
|
|
|
- if (BuildConfig.DEBUG) G.showToast("页面" + page + "的数据为:" + size);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private int curPage = 1;
|
|
|
- private PagerAdapter mPagerAdapter;
|
|
|
-
|
|
|
- private void initFriendExtractList() {
|
|
|
- mTestFragments = new SparseArray<>();
|
|
|
- mTestFragments.put(1, FgtFriendExtractPage.newInstance(1));
|
|
|
- mPagerAdapter = new PagerAdapter(getSupportFragmentManager(), mTestFragments);
|
|
|
- friend_extract_vp.setAdapter(mPagerAdapter);
|
|
|
- friend_extract_vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
|
|
- @Override
|
|
|
- public void onPageScrolled(int i, float v, int i1) {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onPageSelected(int i) {
|
|
|
- curPage = i + 1;
|
|
|
- friend_extract_page_tv.setText(String.format(Locale.CHINA, "%d/%d", curPage, totalPage));
|
|
|
- checkAddPage(curPage, mTestFragments.get(curPage).getList().size());
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onPageScrollStateChanged(int i) {
|
|
|
+ public void initListener() {
|
|
|
|
|
|
- }
|
|
|
- });
|
|
|
- friend_extract_last_page_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View view) {
|
|
|
- friend_extract_vp.setCurrentItem(curPage - 2);
|
|
|
- }
|
|
|
- });
|
|
|
- friend_extract_next_page_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View view) {
|
|
|
- friend_extract_vp.setCurrentItem(curPage);
|
|
|
- }
|
|
|
- });
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- protected void onStop() {
|
|
|
- super.onStop();
|
|
|
-
|
|
|
- if (ask_award_info != null) {
|
|
|
- //停止滚动
|
|
|
- ask_award_info.stopFlipping();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //显示分享对话框
|
|
|
- public void showShareView(View view) {
|
|
|
- String url = userEntity.getShareLink();
|
|
|
- String description = mEntity.getShare_desc();
|
|
|
- ViewUtil.showShareDialog(activity, url, description);
|
|
|
- }
|
|
|
+ public void initData() {
|
|
|
|
|
|
- //显示邀请好友排行榜top5的规则的对话框
|
|
|
- public void showAstTop5Tip(View view) {
|
|
|
- ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("活动说明")
|
|
|
- .setMsg(".每天实时更新排行数据。\n" +
|
|
|
- ".根据当月已赚赏金(定向货币除外)和邀请人数进行排行\n" +
|
|
|
- ".每个月前5名可获取排行奖励。\n" +
|
|
|
- ".每个月月底最后一天24:00可公布结果,获奖的用户需通过“小绵羊领头羊”公众号发送获奖截图证明及收货信息,核对信息真实后,会第一时间发放!\n" +
|
|
|
- ".本活动最终解释权归成都橙风有量科技有限公司所有!")
|
|
|
- .setMsgGravity(Gravity.START)
|
|
|
- .setTheme(DialogConfig.THEME_PURPLE)
|
|
|
- .setBtnLeftText("我知道了"));
|
|
|
}
|
|
|
}
|