Kaynağa Gözat

2.2 版本代码修改提交

liujiangyao 8 yıl önce
ebeveyn
işleme
75d4425541

+ 196 - 72
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -30,10 +30,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.engine.DiskCacheStrategy;
 import com.bumptech.glide.request.RequestOptions;
+import com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder;
 import com.kfzs.duanduan.BaseCompatFragment;
+import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.kfzs.duanduan.event.BigEvent;
+import com.kfzs.duanduan.proto.IndexBannerOuterClass;
 import com.kfzs.duanduan.react.ReactUtil;
-import com.layoutscroll.layoutscrollcontrols.view.EasyLayoutScroll;
+import com.kfzs.duanduan.utils.dlg.SkipUtils;
+import com.kfzs.duanduan.view.ImageGlarry;
 import com.sheep.gamegroup.di.components.DaggerSmallSheepComponent;
 import com.sheep.gamegroup.di.modules.SmallSheepModule;
 import com.sheep.gamegroup.di.modules.TryMakeMoneyModule;
@@ -41,12 +45,14 @@ import com.sheep.gamegroup.event.ImageHeadChange;
 import com.sheep.gamegroup.event.MoneyChange;
 import com.sheep.gamegroup.event.UserNameChange;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.BulletinEnty;
 import com.sheep.gamegroup.model.entity.MoreDataEntity;
 import com.sheep.gamegroup.model.entity.NewbieTask;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
 import com.sheep.gamegroup.model.entity.RecyleObj;
 import com.sheep.gamegroup.model.entity.RecyleType;
 import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.SlideshowEty;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
@@ -56,7 +62,6 @@ import com.sheep.gamegroup.presenter.SmallSheepPresenter;
 import com.sheep.gamegroup.presenter.TryMakeMoneyContract;
 import com.sheep.gamegroup.presenter.TryMakeMoneyPresenter;
 import com.sheep.gamegroup.util.AppUtil;
-import com.sheep.gamegroup.util.BinaryUtil;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.ImageGlarryDrawable;
 import com.sheep.gamegroup.util.Jump2View;
@@ -72,6 +77,7 @@ import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sunfusheng.marqueeview.MarqueeView;
+import com.umeng.analytics.MobclickAgent;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
@@ -84,6 +90,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
+import java.util.Map;
 
 import javax.inject.Inject;
 
@@ -94,19 +101,17 @@ import butterknife.Unbinder;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.schedulers.Schedulers;
 
-public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContract.View ,TryMakeMoneyContract.View{
+public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContract.View, TryMakeMoneyContract.View {
 
     @BindView(R.id.upview1)
     MarqueeView upview1;
     Unbinder unbinder;
-
-    @Override
-    protected void initView(Bundle savedInstanceState) {
-        setContentView(R.layout.homepage_act_layout);
-        initView();
-        initListener();
-        setBanner();//viewpager
-    }
+    @BindView(R.id.homepage_item_notice_mv)
+    MarqueeView homepageItemNoticeMv;
+    @BindView(R.id.homepage_item_notice_layout)
+    LinearLayout homepageItemNoticeLayout;
+    @BindView(R.id.homepage_item_banner_layout)
+    RelativeLayout homepage_item_banner_layout;
 
     @BindView(R.id.icon_img_iv)
     ImageView iconImgIv;
@@ -156,18 +161,20 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     //recyclerview
     private TryMakeMoneyAdp tryMakeMoneyAdp;
     private int position = 0;
-    private  List<TaskReleaseEty> releaseEtyLists = new ArrayList<>();
+    private List<TaskReleaseEty> releaseEtyLists = new ArrayList<>();
+    private List<SlideshowEty> slideshowEtyLists = new ArrayList<>();
+    private List<BulletinEnty> bulletinEntyLists = new ArrayList<>();
 
     Handler mHanderl = new Handler() {
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
-            switch (msg.what){
+            switch (msg.what) {
                 case 0:
                     refalsh();
                     break;
                 case 1:
-                    tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists),position);
+                    tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists), position);
                     tryMakeMoneyAdp.notifyDataSetChanged();
                     break;
             }
@@ -175,6 +182,13 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         }
     };
 
+    @Override
+    protected void initView(Bundle savedInstanceState) {
+        setContentView(R.layout.homepage_act_layout);
+        initView();
+        initListener();
+    }
+
     public void initView() {
         EventBus.getDefault().register(this);
         activity = getActivity();
@@ -191,15 +205,15 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
     private void refalsh() {
 
-        if(myPrice == null || userEntity ==null){
+        if (myPrice == null || userEntity == null) {
             return;
         }
         myPrice.setText(userEntity.getBalance() + " 元");
         myAllPrice.setText("累计资产 " + userEntity.getTotal_asset() + " 元");
         nameTv.setText(userEntity.getNickname() + "");//绵羊号:123456789
         sheepNumTv.setText("绵羊号:" + userEntity.getInvitation_code());
-        if(BuildConfig.DEBUG || ReactUtil.isSmallDebug()){
-            sheepNumTv.append("  邀请人:"+userEntity.getParent_code());
+        if (BuildConfig.DEBUG || ReactUtil.isSmallDebug()) {
+            sheepNumTv.append("  邀请人:" + userEntity.getParent_code());
         }
         Glide.with(getActivity())
                 .load(userEntity.getAvatar())
@@ -213,24 +227,36 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         scrollView.setOnTouchListener(new View.OnTouchListener() {
             @Override
             public boolean onTouch(View v, MotionEvent event) {
-                switch (event.getAction()){
+                switch (event.getAction()) {
                     case MotionEvent.ACTION_DOWN:
                         if (upview1 != null) {
                             //开始滚动
                             upview1.stopFlipping();
                         }
+                        if (homepageItemNoticeMv != null) {
+                            //开始滚动
+                            homepageItemNoticeMv.stopFlipping();
+                        }
                         break;
                     case MotionEvent.ACTION_UP:
                         if (upview1 != null) {
                             //开始滚动
                             upview1.startFlipping();
                         }
+                        if (homepageItemNoticeMv != null) {
+                            //开始滚动
+                            homepageItemNoticeMv.startFlipping();
+                        }
                         break;
                     default:
                         if (upview1 != null) {
                             //开始滚动
                             upview1.startFlipping();
                         }
+                        if (homepageItemNoticeMv != null) {
+                            //开始滚动
+                            homepageItemNoticeMv.startFlipping();
+                        }
                         break;
                 }
                 return false;
@@ -256,23 +282,28 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             upview1.stopFlipping();
             upview1.startFlipping();
         }
+        if (homepageItemNoticeMv != null) {
+            //停止滚动
+            homepageItemNoticeMv.stopFlipping();
+            homepageItemNoticeMv.startFlipping();
+        }
         pagePresenter.getUserInfo();
 
-        if(views.size() < 1 ){
+        if (views.size() < 1) {
             pagePresenter.getAwardDetail();
         }
 
         initWechatIsOpen();
         recyclerInitData();//任务
         pagePresenter.bulletin(null);//轮播
-        pagePresenter.slideshow(null);
+        pagePresenter.slideshow(null);//公告
 
     }
 
     /**
      * recyclerview
      */
-    private void recyclerInitView(){
+    private void recyclerInitView() {
 
         recyclerview.setLayoutManager(new LinearLayoutManager(activity));
         tryMakeMoneyAdp = new TryMakeMoneyAdp(getActivity());
@@ -281,24 +312,27 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         }
         recyclerview.setAdapter(tryMakeMoneyAdp);
     }
-    private void recyclerInitData(){
+
+    private void recyclerInitData() {
 
 
         position = 0;
         tryMakeMoneyAdp.clear();
+        tryMakeMoneyAdp.addType(1);
         for (int i = 0; i < 2; i++) {
             tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
         }
         tryMakeMoneyAdp.setTaskAcceptedEty(null);
 
         RequestParameEty parameEty = new RequestParameEty();
-        parameEty.setHashMap(CommonUtil.getInstance().setHashMap(1,100,1,
-                1,0,0));
+        parameEty.setHashMap(CommonUtil.getInstance().setHashMap(1, 100, 1,
+                1, 0, 0));
 
         tryMakeMoneyPresenter.releaseTask(parameEty);
     }
 
     private Boolean wechatIsOpen = null;
+
     /**
      * 获取微信挂机是否开启状态
      */
@@ -309,9 +343,9 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        if(BuildConfig.DEBUG)
-                            System.out.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
-                        if(baseMessage.getData() instanceof Boolean)
+                        if (BuildConfig.DEBUG)
+                            System.out.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
+                        if (baseMessage.getData() instanceof Boolean)
                             wechatIsOpen = (Boolean) baseMessage.getData();
                         else
                             wechatIsOpen = false;
@@ -319,8 +353,8 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        if(BuildConfig.DEBUG)
-                            System.out.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                        if (BuildConfig.DEBUG)
+                            System.out.println("baseMessage onError " + JSON.toJSONString(baseMessage));
                     }
                 });
     }
@@ -352,9 +386,9 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 UMConfigUtils.onEvent(UMConfigUtils.Event.TAB_CREDITCARD);
                 break;
             case R.id.lying_layout://躺着赚钱
-                if(wechatIsOpen == null) {
+                if (wechatIsOpen == null) {
                     G.showToast("网络异常,请稍候重试");
-                } else if(wechatIsOpen) {
+                } else if (wechatIsOpen) {
                     Jump2View.getInstance().goLyingView(activity, null);
                     UMConfigUtils.onEvent(UMConfigUtils.Event.SHEEP_TASK_LIE);
                 } else {
@@ -362,7 +396,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 }
                 break;
             case R.id.newbie_task://新手任务
-                if(userEntity == null){
+                if (userEntity == null) {
                     G.showToast("网络错误,请重启重试");
                     return;
                 }
@@ -384,7 +418,9 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 break;
         }
     }
+
     private NewbieTaskRecord newbie_task_record;
+
     @Override
     public void updateData2View(Object o) {
         if (o == null) {
@@ -393,7 +429,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         BaseMessage baseMessage = (BaseMessage) o;
         userEntity = JSON.parseObject(JSONObject.toJSONString(baseMessage.getData()), UserEntity.class);
         //保存用户id信息
-        PreferenceUtils.setPrefString(SheepApp.mContext, UMConfigUtils.LOGIN_OPENID,userEntity.getOpen_id());
+        PreferenceUtils.setPrefString(SheepApp.mContext, UMConfigUtils.LOGIN_OPENID, userEntity.getOpen_id());
         //统计用户登录信息
         UMConfigUtils.onProfileSignIn();
         try {
@@ -410,7 +446,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 .load(AppUtil.getQRLink(userEntity.getShare_link(), 800))
                 .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE))
                 .preload(800, 800);
-        if(userEntity.getIs_new() == 2){//为1时代表老玩家
+        if (userEntity.getIs_new() == 2) {//为1时代表老玩家
             newbie_task.setVisibility(View.GONE);
         } else {
             try {
@@ -418,15 +454,15 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             } catch (DbException e) {
                 e.printStackTrace();
             }
-            if(newbie_task_record == null){
+            if (newbie_task_record == null) {
                 newbie_task_record = new NewbieTaskRecord();
                 newbie_task_record.setUser_id(userEntity.getInvitation_code());
                 MyDbManager.getInstance().saveOrUpdate(newbie_task_record);
             }
             boolean dontShowNewbieTaskDialog = newbie_task_record != null && newbie_task_record.isDontShowNewbieTaskDialog();//默认可以显示对话框
-            if(
-                    //!BuildConfig.DEBUG &&
-                    dontShowNewbieTaskDialog){
+            if (
+                //!BuildConfig.DEBUG &&
+                    dontShowNewbieTaskDialog) {
                 newbie_task.setVisibility(View.VISIBLE);
                 return;
             }
@@ -438,15 +474,15 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                         public void onNext(BaseMessage baseMessage) {
                             newbie_task.setVisibility(View.VISIBLE);
                             List<NewbieTask> newbieTaskList = baseMessage.getDatas(NewbieTask.class);
-                            if(newbieTaskList != null && !newbieTaskList.isEmpty() && newbieTaskList.size() > 1 && !newbieTaskList.get(1).getFinished()){//了解小绵羊任务未完成时
+                            if (newbieTaskList != null && !newbieTaskList.isEmpty() && newbieTaskList.size() > 1 && !newbieTaskList.get(1).getFinished()) {//了解小绵羊任务未完成时
                                 DialogNewbieTaskRegistSuccess.showDialog(getActivity(), newbie_task_record, newbieTaskList.get(0));
-                            } else if(newbieTaskList != null && !newbieTaskList.isEmpty()){
+                            } else if (newbieTaskList != null && !newbieTaskList.isEmpty()) {
                                 newbie_task_record.setDontShowNewbieTaskDialog(true);
                                 MyDbManager.getInstance().saveOrUpdate(newbie_task_record);//设置为不再显示新手对话框
                                 List<NewbieTask> taskList = new ArrayList<>();
                                 NewbieTask task = null;
                                 for (NewbieTask newbieTask : newbieTaskList) {
-                                    if(newbieTask.getFinished()) {//已经完成
+                                    if (newbieTask.getFinished()) {//已经完成
                                         task = newbieTask;
                                     } else {
                                         taskList.add(newbieTask);
@@ -454,7 +490,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                                 }
                                 DialogNewbieTask1.showDialog(getActivity(), taskList, task);
                             } else {
-                                if(BuildConfig.DEBUG)
+                                if (BuildConfig.DEBUG)
                                     G.showToast("测试:服务器数据错误,新手任务数据为空");
                             }
                         }
@@ -462,12 +498,13 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                         @Override
                         public void onError(BaseMessage baseMessage) {
                             newbie_task.setVisibility(View.GONE);
-                            System.out.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                            System.out.println("baseMessage onError " + JSON.toJSONString(baseMessage));
                         }
                     });
         }
         //添加代码请在上面的if else之前,否则出错不要找我 by realicing
     }
+
     @Override
     public void failData2View(Object o) {
         G.showToast("网络错误");
@@ -500,15 +537,15 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     public void returnTaskTaskUpdataView(Object o) {
 
 
-        try{
+        try {
             BaseMessage baseMessage = (BaseMessage) o;
             TaskAcceptedEty taskAcceptedEty = JSONObject.parseObject(JSONObject.toJSONString(baseMessage.getData()), TaskAcceptedEty.class);
-            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RUN_TASK, taskAcceptedEty),position);
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RUN_TASK, taskAcceptedEty), position);
             tryMakeMoneyAdp.addPresenter(tryMakeMoneyPresenter);
             tryMakeMoneyAdp.setTaskAcceptedEty(taskAcceptedEty);
-            position ++;
+            position++;
 //            mhandler.sendEmptyMessage(0);
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
         mHanderl.sendEmptyMessage(1);
@@ -519,7 +556,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
         try {
             BaseMessage baseMessage = (BaseMessage) o;
-            switch (baseMessage.getCode()){
+            switch (baseMessage.getCode()) {
                 case 300://未查询到正在运行的任务
 //                    G.showToast(" 未查询到正在运行的任务!");
                     break;
@@ -527,7 +564,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                     G.showToast(" 网络错误!");
                     break;
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             G.showToast(" 网络错误!");
         }
@@ -538,14 +575,14 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     public void releaseTaskTaskUpdataView(Object o) {
 
         releaseEtyLists.clear();
-        try{
+        try {
             BaseMessage baseMessage = (BaseMessage) o;
             List<TaskReleaseEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskReleaseEty.class);
-            if(releaseEtyList != null){
+            if (releaseEtyList != null) {
                 releaseEtyLists.addAll(releaseEtyList);
             }
 
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
         tryMakeMoneyPresenter.returnTask(null);
@@ -566,11 +603,11 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         });
 
 
-
     }
 
     /**
      * 公告和轮播
+     *
      * @param baseMessage
      */
     @Override
@@ -581,6 +618,20 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     @Override
     public void successSlideshow(BaseMessage baseMessage) {
 
+        try {
+            List<SlideshowEty> slideshowEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), SlideshowEty.class);
+            if (slideshowEtyList != null) {
+                slideshowEtyLists.clear();
+                slideshowEtyLists.addAll(slideshowEtyList);
+
+                bindBanner();
+            }else {
+                homepage_item_banner_layout.setVisibility(View.GONE);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
     @Override
@@ -591,12 +642,25 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     @Override
     public void successbulletin(BaseMessage baseMessage) {
 
+        try {
+            List<BulletinEnty> bulletinEntyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), BulletinEnty.class);
+            if (bulletinEntyList != null) {
+                bulletinEntyLists.clear();
+                bulletinEntyLists.addAll(bulletinEntyList);
+                inviteNotice(bulletinEntyLists);
+            }else {
+                homepageItemNoticeLayout.setVisibility(View.GONE);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
     @Override
     public void onResume() {
         super.onResume();
-        if(pagePresenter != null){
+        if (pagePresenter != null) {
             initData();
         }
 
@@ -609,6 +673,10 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             //停止滚动
             upview1.stopFlipping();
         }
+        if (homepageItemNoticeMv != null) {
+            //停止滚动
+            homepageItemNoticeMv.stopFlipping();
+        }
     }
 
     private void setViews(final List<MoreDataEntity> loginEty) {
@@ -621,15 +689,15 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 //        },60000*2);
 
 
-
     }
-    private  void  invite(final List<MoreDataEntity> loginEty){
+
+    private void invite(final List<MoreDataEntity> loginEty) {
         views.clear();
         upview1.removeAllViews();
-        for (MoreDataEntity entity:loginEty) {
-            StringBuilder  sb=new StringBuilder();
-            sb.append(TimeStamp2Date(entity.getTime())+"   ");
-            sb.append(entity.getName()+"   ");
+        for (MoreDataEntity entity : loginEty) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(TimeStamp2Date(entity.getTime()) + "   ");
+            sb.append(entity.getName() + "   ");
             sb.append(entity.getDesc());
 //            LinearLayout moreView = (LinearLayout) LayoutInflater.from(getActivity()).inflate(R.layout.x_item_view, null);
 //            TextView tv_desc = moreView.findViewById(R.id.tv_desc);
@@ -640,27 +708,23 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             upview1.addView(moreView);
         }
 //        upview1.setEasyViews(views);
-        if(!upview1.isAutoStart()){
+        if (!upview1.isAutoStart()) {
             upview1.stopFlipping();
             upview1.startFlipping();
         }
 
 
-
     }
 
 
-
-
-
-
-    public  String TimeStamp2Date(long  timestampString) {
-        String     formats = "yyyy-MM-dd HH:mm:ss";
+    public String TimeStamp2Date(long timestampString) {
+        String formats = "yyyy-MM-dd HH:mm:ss";
         Long timestamp = timestampString * 1000;
         String date = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
         return date;
     }
-    public static String TimeStamp2Date(long  timestampString, String formats) {
+
+    public static String TimeStamp2Date(long timestampString, String formats) {
         Long timestamp = timestampString * 1000;
         String date = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
         return date;
@@ -704,7 +768,6 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     }
 
 
-
     @Override
     public void onDestroy() {
         super.onDestroy();
@@ -731,7 +794,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         super.onAttach(context);
         try {
             userEntity = MyDbManager.getInstance().dbFindUser();
-            if(userEntity != null){
+            if (userEntity != null) {
                 refalsh();
             }
         } catch (Exception e) {
@@ -743,11 +806,13 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     public void onStart() {
         super.onStart();
     }
+
     /**
      * banner
      */
     private ImageGlarryDrawable mImageGlarry;
-    private void setBanner(){
+
+    private void setBanner() {
         ArrayList<Drawable> imgURL = new ArrayList<>();
         imgURL.add(getResources().getDrawable(R.mipmap.couple_red_packets));
         imgURL.add(getResources().getDrawable(R.mipmap.home_credit_img));
@@ -779,4 +844,63 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             }
         });
     }
+
+    private ImageGlarry mImageGlarryStr;
+    private void bindBanner() {
+        homepage_item_banner_layout.setVisibility(View.VISIBLE);
+        ArrayList<String> imgURL = new ArrayList<>();
+        for (SlideshowEty indexBanner : slideshowEtyLists) {
+            imgURL.add(indexBanner.getUrl());
+        }
+        if (mImageGlarryStr != null) {
+            mImageGlarryStr.init(imgURL.toArray(new String[]{}), ImageView.ScaleType.CENTER_CROP);
+            return;
+        }
+        mImageGlarryStr = new ImageGlarry((Activity) mContext, viewpager_banner, group_banner);
+        mImageGlarryStr.init(imgURL.toArray(new String[]{}), ImageView.ScaleType.CENTER_CROP);
+        mImageGlarryStr.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                SlideshowEty clickedGameObj = slideshowEtyLists.get(position);
+
+                switch (clickedGameObj.getType()) {// 0,类型 1跳转试玩赚钱、2单个任务详情、3信用卡办理、4 H5页面
+                    case 1:
+                        Jump2View.getInstance()
+                                .goTryplayView(activity, null);
+                        break;
+                    case 2:
+                        Jump2View.getInstance()
+                                .goTaskDetailView(activity, clickedGameObj.getExt());
+                        break;
+                    case 3:
+                        Jump2View.getInstance()
+                                .goCreditCardTaskList(activity, 3);
+                        break;
+                    case 4:
+                        Jump2View.getInstance()
+                                .goWebview(activity, clickedGameObj.getExt());
+                        break;
+                }
+            }
+        });
+    }
+
+    /**
+     * 公共
+     */
+    private void inviteNotice(final  List<BulletinEnty> bulletinEntyList) {
+        homepageItemNoticeLayout.setVisibility(View.VISIBLE);
+        List<String> infoList = new ArrayList<>();
+        for(BulletinEnty bulletinEnty: bulletinEntyList){
+            infoList.add(bulletinEnty.getContent()+"");
+        }
+        homepageItemNoticeMv.startWithList(infoList, R.anim.anim_left_in,R.anim.anim_right_out);
+
+        if (!homepageItemNoticeMv.isAutoStart()) {
+            homepageItemNoticeMv.stopFlipping();
+            homepageItemNoticeMv.startFlipping();
+        }
+
+
+    }
 }

+ 19 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskReleaseEty.java

@@ -25,10 +25,29 @@ public class TaskReleaseEty implements Serializable{
     private String unaudited_num;// 0,
     private String update_time;// 0
 
+    private int is_hot;// 0,
+    private int is_recommend;// 0,
+
     private TaskEty task;
 
     private int cancel_duration;
 
+    public int getIs_hot() {
+        return is_hot;
+    }
+
+    public void setIs_hot(int is_hot) {
+        this.is_hot = is_hot;
+    }
+
+    public int getIs_recommend() {
+        return is_recommend;
+    }
+
+    public void setIs_recommend(int is_recommend) {
+        this.is_recommend = is_recommend;
+    }
+
     public int getCancel_duration() {
         return cancel_duration;
     }

+ 3 - 0
app/src/main/java/com/sheep/gamegroup/presenter/TaskDetailContract.java

@@ -10,10 +10,13 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
 public interface TaskDetailContract {
     interface Presenter{
         void taskStatus(JSONObject jsonObject);
+        void taskDesc(int taskid);
     }
 
     interface View{
         void taskStatusSuccess(BaseMessage baseMessage);
         void taskStatusFaile(BaseMessage baseMessage);
+        void taskDescSuccess(BaseMessage baseMessage);
+        void taskDescFaile(BaseMessage baseMessage);
     }
 }

+ 18 - 0
app/src/main/java/com/sheep/gamegroup/presenter/TaskDetailPresenter.java

@@ -45,4 +45,22 @@ public class TaskDetailPresenter implements TaskDetailContract.Presenter {
                     }
                 });
     }
+
+    @Override
+    public void taskDesc(int taskid) {
+        apiService.taskDesc(taskid)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        view.taskDescFaile(baseMessage);
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        view.taskDescSuccess(baseMessage);
+                    }
+                });
+    }
 }

+ 6 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -324,6 +324,11 @@ public class Jump2View {
         intent.putExtra("task_accepted_entity", runTask);
         context.startActivity(intent);
     }
+    public synchronized void goTaskDetailView(Context context, Object o){
+        Intent intent = new Intent(context, TaskDetailAct.class);
+        intent.putExtra("task_id", (Integer) o);
+        context.startActivity(intent);
+    }
 
     /**
      * 跳到已做过任务列表页面
@@ -424,6 +429,7 @@ public class Jump2View {
      */
     public void goWebview(Context context, Object o){
         Intent intent = new Intent(context, WebviewAct.class);
+        intent.putExtra("url", (String) o);
         context.startActivity(intent);
     }
     /**

+ 19 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -36,6 +36,7 @@ import com.sheep.gamegroup.di.modules.TaskDetailModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.entity.UploadResult;
 import com.sheep.gamegroup.presenter.TaskDetailContract;
 import com.sheep.gamegroup.presenter.TaskDetailPresenter;
@@ -98,6 +99,8 @@ public class TaskDetailAct extends BaseActivity implements TaskDetailContract.Vi
     private TaskAcceptedEty task_accepted_entity;
     private DialogShowLoading dialogShowLoading;
 
+    private int taskId = -1;
+
     /**
      * 上传进度
      */
@@ -126,6 +129,7 @@ public class TaskDetailAct extends BaseActivity implements TaskDetailContract.Vi
         activity = this;
         taskEty = (TaskEty) getIntent().getSerializableExtra("task_entity");
         task_accepted_entity = (TaskAcceptedEty) getIntent().getSerializableExtra("task_accepted_entity");
+        taskId = getIntent().getIntExtra("task_id", -1);
         DaggerTaskDetailComponent.builder()
                 .netComponent(SheepApp.get(activity).getNetComponent())
                 .taskDetailModule(new TaskDetailModule(this))
@@ -143,6 +147,10 @@ public class TaskDetailAct extends BaseActivity implements TaskDetailContract.Vi
 
     @Override
     public void initData() {
+        if(taskId != -1){
+            presenter.taskDesc(taskId);
+            return;
+        }
         if(taskEty == null){
             G.showToast("网络异常,请稍候再试");
 //            finish();
@@ -355,6 +363,17 @@ public class TaskDetailAct extends BaseActivity implements TaskDetailContract.Vi
     }
 
     @Override
+    public void taskDescSuccess(BaseMessage baseMessage) {
+        TaskReleaseEty taskReleaseEty = JSONObject.parseObject(JSONObject.toJSONString(baseMessage.getData()), TaskReleaseEty.class);
+
+    }
+
+    @Override
+    public void taskDescFaile(BaseMessage baseMessage) {
+        G.showToast(baseMessage.getMsg()+"");
+    }
+
+    @Override
     public void Success(String msg) {
         String json;
         if (TextUtils.isEmpty(msg)) {

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/TryMakeMoneyact.java

@@ -126,6 +126,7 @@ public class TryMakeMoneyact extends BaseActivity implements TryMakeMoneyContrac
         showProgress(false);
         position = 0;
         tryMakeMoneyAdp.clear();
+        tryMakeMoneyAdp.addType(0);
         for (int i = 0; i < 2; i++) {
             tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
         }

+ 10 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/WebviewAct.java

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.View;
 import android.webkit.WebChromeClient;
 import android.webkit.WebSettings;
@@ -23,6 +24,7 @@ public class WebviewAct extends BaseActivity {
 
     @BindView(R.id.activity_webview)
     SafeWebView activityWebview;
+    private String url;
 
     @Override
     protected int getLayoutId() {
@@ -34,6 +36,7 @@ public class WebviewAct extends BaseActivity {
         TitleBarUtils.getInstance()
                 .setTitleFinish(this)
                 .setTitle(this, "专属福利");
+        url = getIntent().getStringExtra("url");
 
         WebSettings webSettings = activityWebview.getSettings();
 
@@ -47,7 +50,13 @@ public class WebviewAct extends BaseActivity {
         webSettings.setDefaultTextEncodingName("utf-8");
         activityWebview.setWebChromeClient(new chromClient());
 
-        activityWebview.loadUrl("file:///android_asset/sheep_show.html");
+        if(TextUtils.isEmpty(url)){
+            activityWebview.loadUrl("file:///android_asset/sheep_show.html");
+
+        }else {
+            activityWebview.loadUrl(url);
+
+        }
 
         activityWebview.setWebViewClient(new WebViewClient() {
             @Override

+ 29 - 2
app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java

@@ -59,6 +59,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
     @Inject
     TryMakeMoneyPresenter presenter;
     private Context context;
+    private int type = 0;//0:推荐 1:热门 2:预约
 
     public TryMakeMoneyAdp(Context context) {
         super(context);
@@ -106,6 +107,12 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
     public void addPresenter(TryMakeMoneyPresenter presenter){
         this.presenter = presenter;
     }
+    /**
+     * 传入type
+     */
+    public void addType(int type){
+        this.type = type;
+    }
 
     /**
      * 传入正在运行的任务
@@ -146,7 +153,27 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                     viewHolder.itemView.setTag(TAG_ID_TEMP, etyList.get(i).getId());
                 if(i == 0){
                     viewHolder.itemView.findViewById(R.id.item_title_tv).setVisibility(View.VISIBLE);
-                    ((TextView)viewHolder.itemView.findViewById(R.id.item_title_tv)).setText("推荐");
+                    viewHolder.itemView.findViewById(R.id.item_title_iv).setVisibility(View.VISIBLE);
+                    String titleStr = "推荐";
+                    switch (type){
+                        case 0:
+                            titleStr = "推荐";
+                            break;
+                        case 1:
+                            titleStr = "热门任务";
+                            break;
+                        case 2:
+                            titleStr = "即将开始";
+                            break;
+                        default:
+                            titleStr = "推荐";
+                            break;
+                    }
+                    ((TextView)viewHolder.itemView.findViewById(R.id.item_title_tv)).setText(titleStr+"");
+                    Glide.with(context)
+                            .load(new RequestOptions().placeholder(R.mipmap.task_hot_icon))
+                            .into((ImageView) viewHolder.itemView.findViewById(R.id.item_title_iv));
+
                 }else{
                     viewHolder.itemView.findViewById(R.id.item_title_tv).setVisibility(View.GONE);
                 }
@@ -236,7 +263,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 viewHolder.itemView.findViewById(R.id.item_title_tv).setVisibility(View.VISIBLE);
                 ((TextView)viewHolder.itemView.findViewById(R.id.item_title_tv)).setText("进行中");
 
-                viewHolder.itemView.findViewById(R.id.cancel_task_tv).setVisibility(View.VISIBLE);
+                viewHolder.itemView.findViewById(R.id.cancel_task_tv).setVisibility(View.GONE);
 
                 ((TextView)viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(etyList.get(i).getRelease_task().getName()+"");
                 ((TextView)viewHolder.itemView.findViewById(R.id.item_num_tv)).setText("剩余"+ etyList.get(i).getRelease_task().getLast_num()+"份");

+ 9 - 7
app/src/main/res/layout/homepage_act_layout.xml

@@ -22,13 +22,8 @@
             <include
                 layout="@layout/homepage_item_top"/>
 
-            <ImageView
-                android:id="@+id/couple_red_packets_iv"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:padding="@dimen/content_padding_10"
-                android:src="@mipmap/couple_red_packets"
-                android:visibility="gone"/>
+            <include
+                layout="@layout/homepage_item_notice"/>
 
             <include
                 layout="@layout/homepage_item_banner"/>
@@ -68,4 +63,11 @@
             android:textColor="#ffffff"
             android:text="新手任务"/>
     </RelativeLayout>
+    <ImageView
+        android:id="@+id/couple_red_packets_iv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="@dimen/content_padding_10"
+        android:src="@mipmap/couple_red_packets"
+        android:visibility="gone"/>
 </RelativeLayout>

+ 3 - 1
app/src/main/res/layout/homepage_item_banner.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/homepage_item_banner_layout"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:padding="@dimen/content_padding_10">
+    android:padding="@dimen/content_padding_10"
+    android:visibility="gone">
 
 
     <android.support.v4.view.ViewPager

+ 2 - 2
app/src/main/res/layout/homepage_item_currenttime_reward.xml

@@ -17,12 +17,12 @@
             android:id="@+id/item_title_iv"
             android:layout_width="@dimen/content_padding_20"
             android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/icon"
+            android:src="@mipmap/current_time_icon"
             android:layout_marginRight="@dimen/content_padding_small"/>
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="实时奖励"
+            android:text="实时动态"
             android:textSize="@dimen/text_size_15"
             android:textColor="@color/black_191919"/>
     </LinearLayout>

+ 34 - 0
app/src/main/res/layout/homepage_item_notice.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/homepage_item_notice_layout"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@color/white"
+    android:orientation="horizontal"
+    android:gravity="center_vertical"
+    android:padding="@dimen/content_padding_small"
+    android:visibility="gone">
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="绵羊公告"
+        style="@style/txt_style_16_black"/>
+    <ImageView
+        android:layout_width="@dimen/content_padding_20"
+        android:layout_height="@dimen/content_padding_20"
+        android:src="@mipmap/notice_icon"
+        android:layout_marginRight="@dimen/content_padding_small"
+        android:layout_marginLeft="@dimen/content_padding_small"/>
+    <com.sunfusheng.marqueeview.MarqueeView
+        android:id="@+id/homepage_item_notice_mv"
+        android:layout_width="match_parent"
+        android:layout_height="30dp"
+        app:mvAnimDuration="1000"
+        app:mvDirection="bottom_to_top"
+        app:mvInterval="1000"
+        style="@style/txt_style_12"
+        app:mvSingleLine="true"
+        android:layout_gravity="center_vertical"/>
+</LinearLayout>

+ 11 - 0
app/src/main/res/layout/homepage_item_top.xml

@@ -12,12 +12,23 @@
             android:id="@+id/user_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content">
+            <RelativeLayout
+                android:id="@+id/icon_layout"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content">
+
+            </RelativeLayout>
 
             <ImageView
                 android:id="@+id/icon_img_iv"
                 android:layout_width="@dimen/view_size_45"
                 android:layout_height="@dimen/view_size_45"
                 android:src="@drawable/icon"/>
+            <ImageView
+                android:id="@+id/edit_img_iv"
+                android:layout_width="@dimen/view_size_20"
+                android:layout_height="@dimen/view_size_20"
+                android:src="@drawable/icon"/>
 
             <TextView
                 android:id="@+id/name_tv"

+ 1 - 1
app/src/main/res/layout/try_makemoney_item_recommend.xml

@@ -18,7 +18,7 @@
             android:id="@+id/item_title_iv"
             android:layout_width="@dimen/content_padding_20"
             android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/icon"
+            android:src="@mipmap/task_ing_icon"
             android:layout_marginRight="@dimen/content_padding_small"/>
 
         <TextView

+ 1 - 0
app/src/main/res/values/common.xml

@@ -34,6 +34,7 @@
     <dimen name="text_size_10">10sp</dimen>
     <dimen name="text_size_12">12sp</dimen>
     <dimen name="text_size_15">15sp</dimen>
+    <dimen name="text_size_16">16sp</dimen>
     <dimen name="text_size_18">18sp</dimen>
     <dimen name="text_size_20">20sp</dimen>
     <dimen name="text_size_25">25sp</dimen>

+ 5 - 0
app/src/main/res/values/gamegroup_styles.xml

@@ -29,6 +29,11 @@
         <item name="android:textColor">@color/black</item>
     </style>
 
+    <style name="txt_style_16_black">
+        <item name="android:textSize">@dimen/text_size_16</item>
+        <item name="android:textColor">@color/black</item>
+    </style>
+
     <style name="txt_style_12">
         <item name="android:textSize">@dimen/text_size_12</item>
         <item name="android:textColor">@color/black_444444</item>