Просмотр исходного кода

Merge remote-tracking branch 'origin/sheep2.0' into sheep2.0

zengjiebin лет назад: 8
Родитель
Сommit
d6e7715ea3
45 измененных файлов с 1664 добавлено и 101 удалено
  1. 2 0
      app/src/main/AndroidManifest.xml
  2. 193 2
      app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java
  3. 63 2
      app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java
  4. 6 5
      app/src/main/java/com/kfzs/duanduan/react/MainTab.java
  5. 4 4
      app/src/main/java/com/kfzs/duanduan/react/TabsHelper.java
  6. 31 0
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  7. 33 0
      app/src/main/java/com/sheep/gamegroup/model/entity/FeedbackEntity.java
  8. 100 0
      app/src/main/java/com/sheep/gamegroup/model/entity/HomeListEntity.java
  9. 19 12
      app/src/main/java/com/sheep/gamegroup/model/entity/RechargeQEntity.java
  10. 100 0
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskChild.java
  11. 10 0
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java
  12. 3 1
      app/src/main/java/com/sheep/gamegroup/presenter/RechargeQContract.java
  13. 18 53
      app/src/main/java/com/sheep/gamegroup/presenter/RechargeQPresenter.java
  14. 4 0
      app/src/main/java/com/sheep/gamegroup/presenter/SmallSheepContract.java
  15. 18 0
      app/src/main/java/com/sheep/gamegroup/presenter/SmallSheepPresenter.java
  16. 76 0
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  17. 20 0
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  18. 58 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActMainGame.java
  19. 2 0
      app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java
  20. 96 0
      app/src/main/java/com/sheep/gamegroup/view/activity/FeedbackAct.java
  21. 40 14
      app/src/main/java/com/sheep/gamegroup/view/activity/RechargeQAct.java
  22. 23 0
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java
  23. 2 2
      app/src/main/java/com/sheep/gamegroup/view/activity/WebviewAct.java
  24. 88 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdpHomeListGrideview.java
  25. 91 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdpHomeListListview.java
  26. 90 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdpTaskDetailChildListview.java
  27. 2 2
      app/src/main/java/com/sheep/gamegroup/view/adapter/RechargeQAdapter.java
  28. BIN
      app/src/main/res/drawable-xhdpi/tab_personalcenter.png
  29. BIN
      app/src/main/res/drawable-xhdpi/tab_personalcenter_click.png
  30. 8 0
      app/src/main/res/drawable/drawable_selector_personalcenter.xml
  31. 6 0
      app/src/main/res/drawable/sp_edt_backgroud_gray_1dp.xml
  32. 101 0
      app/src/main/res/layout/act_feedback_layout.xml
  33. 40 0
      app/src/main/res/layout/adp_homelist_gridview.xml
  34. 48 0
      app/src/main/res/layout/adp_homelist_listview.xml
  35. 41 0
      app/src/main/res/layout/adp_taskdetail_child_listview.xml
  36. 12 3
      app/src/main/res/layout/homepage_act_layout.xml
  37. 29 0
      app/src/main/res/layout/homepage_item_gridview_listview.xml
  38. 3 1
      app/src/main/res/layout/rechargeq_layout.xml
  39. 9 0
      app/src/main/res/layout/task_detail_layout.xml
  40. 146 0
      app/src/main/res/layout/x_recommend_dialog.xml
  41. 1 0
      app/src/main/res/values/common.xml
  42. 8 0
      app/src/main/res/values/dd_styles.xml
  43. 2 0
      app/src/main/res/values/gamegroup_color.xml
  44. 10 0
      app/src/main/res/values/gamegroup_styles.xml
  45. 8 0
      app/src/main/res/values/strings.xml

+ 2 - 0
app/src/main/AndroidManifest.xml

@@ -294,6 +294,8 @@
         <activity android:name="com.sheep.gamegroup.view.activity.TaskDetailAddQQAct" android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActWeb" android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActMyMoney" android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.FeedbackAct" android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.ActMainGame" android:screenOrientation="portrait"/>
         <!--友盟start-->
 
 

+ 193 - 2
app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java

@@ -1,28 +1,57 @@
 package com.kfzs.duanduan.fragment;
 
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Intent;
+import android.net.Uri;
 import android.os.Bundle;
+import android.os.Environment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSONObject;
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.FutureTarget;
+import com.bumptech.glide.request.RequestOptions;
+import com.bumptech.glide.request.target.Target;
 import com.kfzs.duanduan.BaseCompatFragment;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.FriendAndAwardEntity;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.entity.WebviewEntity;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.AppUtil;
+import com.sheep.gamegroup.util.FastJsonUtils;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.MyDbManager;
+import com.sheep.gamegroup.util.StringUtils;
 import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.view.activity.AskGetMoneyAct;
 import com.sheep.gamegroup.view.activity.PersonalCenterAct;
 import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
 import org.xutils.ex.DbException;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.concurrent.ExecutionException;
+
 import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnClick;
 import butterknife.Unbinder;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
 
 /**
  * 个人中心
@@ -49,7 +78,7 @@ public class FgtPersonalCenter extends BaseCompatFragment {
     }
 
     private void initData() {
-
+        getShardData();
         try {
             userEntitys = MyDbManager.getInstance().dbFindUser();
         } catch (DbException e) {
@@ -101,16 +130,178 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                         .goWebview(
                                 getActivity(),
                                 new WebviewEntity(
-                                        0,
+                                        1,
                                         "关于我们"));
                 break;
             case R.id.feedbook_layout://意见反馈
+                Jump2View.getInstance()
+                        .goFeedbackAct(
+                                getActivity());
                 break;
             case R.id.recommend_friend_layout://推荐给好友
+                if(Ety!= null){
+                    shardFriend(getActivity(),Ety.getShare_link());
+                }
                 break;
             case R.id.tv_submit://注销
                 ((PersonalCenterAct)getActivity()).loginOut();
                 break;
         }
     }
+
+
+    /**
+     * 分享对话框
+     * @param activity
+     * @param link
+     */
+    private void shardFriend(final Activity activity, final String link) {
+        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
+        View view = View.inflate(activity, R.layout.x_recommend_dialog, null);
+        builder.setView(view);
+
+        final AlertDialog dialog = builder.create();
+        ImageView iv = view.findViewById(R.id.iv_close);
+        TextView withdrawal = view.findViewById(R.id.withdrawal);
+        TextView tv_link = view.findViewById(R.id.tv_link);
+        TextView save_pic = view.findViewById(R.id.save_pic);
+        ImageView iv_qr = view.findViewById(R.id.iv_qr);
+        ImageView iv_qr_small = view.findViewById(R.id.iv_qr_small);
+
+        tv_link.setText(link);
+
+        Glide.with(activity)
+                .load(AppUtil.getQRLink(link, 800))
+                .apply(new RequestOptions().override(800, 800))
+                .into(iv_qr);
+        Glide.with(activity)
+                .load("http://cdngame.kuaifazs.com/icon.png")
+                .apply(new RequestOptions().override(G.WIDTH/5))
+                .into(iv_qr_small);
+        dialog.show();
+        Window window = dialog.getWindow();
+        if(window != null) {
+            android.view.WindowManager.LayoutParams p = window.getAttributes();
+            p.height = WindowManager.LayoutParams.WRAP_CONTENT;
+//            p.height = G.WIDTH;
+            p.width = G.WIDTH;
+            dialog.getWindow().setAttributes(p);     //设置生效
+        }
+        iv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dialog.dismiss();
+            }
+        });
+
+        withdrawal.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                StringUtils.CopyText(activity,Ety.getShare_link());
+                showToast("复制链接成功");
+            }
+        });
+
+        save_pic.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                new Thread(new Runnable() {
+                    @Override
+                    public void run() {
+                        String imagePath =  Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + new Date().toString() +".png";
+                        String path =   getImagePath(AppUtil.getQRLink(link, 800));
+                        /**
+                         * 拷贝到指定路径
+                         */
+                        copyFile(path, imagePath);
+                        Intent intentBroadcast = new Intent(
+                                Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
+                        File file = new File(imagePath);
+                        intentBroadcast.setData(Uri.fromFile(file));
+                        activity.sendBroadcast(intentBroadcast);
+                    }
+                }).start();
+                showToast("已保存");
+            }
+        });
+
+    }
+
+    FriendAndAwardEntity Ety;
+
+    /**
+     * 获取分享数据
+     */
+    private void  getShardData(){
+        SheepApp.get(getActivity()).getNetComponent().getApiService().FriendCountAndAward()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        showToast(baseMessage.getMsg());
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        if(baseMessage!=null){
+                            Ety = FastJsonUtils.toBean( JSONObject.toJSONString(baseMessage.getData()),FriendAndAwardEntity.class);
+                        }else{
+                            showToast("数据解析出错");
+                        }
+
+                    }
+                });
+
+    }
+
+
+    /**
+     * 获取Glide显示图片的缓存路径
+     * @param imgUrl
+     * @return
+     */
+    private String getImagePath(String imgUrl) {
+        String path = null;
+        FutureTarget<File> future = Glide.with(this)
+                .load(imgUrl)
+                .downloadOnly(Target.SIZE_ORIGINAL,Target.SIZE_ORIGINAL);
+        try {
+            File cacheFile = future.get();
+            path = cacheFile.getAbsolutePath();
+        } catch (InterruptedException | ExecutionException e) {
+            e.printStackTrace();
+        }
+        return path;
+    }
+
+    /**
+     * 保存图片
+     * @param oldPath
+     * @param newPath
+     */
+    public void copyFile(String oldPath, String newPath) {
+        try {
+            int bytesum = 0;
+            int byteread = 0;
+            File oldfile = new File(oldPath);
+            if (oldfile.exists()) { //文件存在时
+                InputStream inStream = new FileInputStream(oldPath); //读入原文件
+                FileOutputStream fs = new FileOutputStream(newPath);
+                byte[] buffer = new byte[1024];
+                while ( (byteread = inStream.read(buffer)) != -1) {
+                    bytesum += byteread; //字节数 文件大小
+                    fs.write(buffer, 0, byteread);
+                }
+                inStream.close();
+            }
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+
+        }
+
+    }
+
 }

+ 63 - 2
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -41,6 +41,7 @@ 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.HomeListEntity;
 import com.sheep.gamegroup.model.entity.MoreDataEntity;
 import com.sheep.gamegroup.model.entity.NewbieTask;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
@@ -63,9 +64,13 @@ import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.ImageGlarryDrawable;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.MyDbManager;
+import com.sheep.gamegroup.util.MyGridview;
+import com.sheep.gamegroup.util.MyListview;
 import com.sheep.gamegroup.util.PreferenceUtils;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.view.adapter.AdpHomeListGrideview;
+import com.sheep.gamegroup.view.adapter.AdpHomeListListview;
 import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTask1;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTaskList;
@@ -146,6 +151,12 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     RecyclerView recyclerview;
     @BindView(R.id.recharge)
     TextView recharge;
+    @BindView(R.id.home_list_gridview_gv)
+    MyGridview home_list_gridview_gv;
+    @BindView(R.id.home_list_gridview_listview)
+    MyListview home_list_gridview_listview;
+    @BindView(R.id.home_list_gridview_layout)
+    LinearLayout home_list_gridview_layout;
 
     @Inject
     SmallSheepPresenter pagePresenter;
@@ -162,6 +173,12 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     private List<SlideshowEty> slideshowEtyLists = new ArrayList<>();
     private List<BulletinEnty> bulletinEntyLists = new ArrayList<>();
 
+    private List<HomeListEntity> homeListEntitys = new ArrayList<>();
+    private List<HomeListEntity> homeListEntitysGridview = new ArrayList<>();
+    private List<HomeListEntity> homeListEntitysListview = new ArrayList<>();
+    private AdpHomeListGrideview adpHomeListGrideview;
+    private AdpHomeListListview adpHomeListListview;
+
     Handler mHanderl = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -203,6 +220,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 .build()
                 .inject(this);
         recyclerInitView();
+
     }
 
 
@@ -302,6 +320,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         recyclerInitData();//任务
         pagePresenter.bulletin(null);//轮播
         pagePresenter.slideshow(null);//公告
+        pagePresenter.homeList();//首页list
 
     }
 
@@ -316,6 +335,11 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
         }
         recyclerview.setAdapter(tryMakeMoneyAdp);
+
+        adpHomeListListview = new AdpHomeListListview(homeListEntitysListview, getActivity());
+        adpHomeListGrideview = new AdpHomeListGrideview(homeListEntitysGridview, getActivity());
+        home_list_gridview_listview.setAdapter(adpHomeListListview);
+        home_list_gridview_gv.setAdapter(adpHomeListGrideview);
     }
 
     private void recyclerInitData() {
@@ -373,7 +397,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 break;
             case R.id.lying_layout://跳转到游戏页面
                 Jump2View.getInstance()
-                        .goHomePageView(activity, 1);
+                        .goMainGame(activity);
 
                 break;
             case R.id.newbie_task://新手任务
@@ -417,7 +441,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             case R.id.recharge:
             case R.id.q_dec_tv:
 //                G.showToast("Q币充值");
-                Jump2View.getInstance().goRechargeQAct(activity,null);
+                Jump2View.getInstance().goRechargeAct(activity,null);
                 break;
             case R.id.lying_iv://躺着赚钱
             case R.id.lying_dec_tv:
@@ -670,6 +694,43 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     }
 
     @Override
+    public void successhomeList(BaseMessage baseMessage) {
+        try{
+            List<HomeListEntity> homeListEntity = JSONArray.parseArray(
+                    JSONArray.toJSONString(baseMessage.getData()),
+                    HomeListEntity.class
+            );
+            if(homeListEntity != null && homeListEntity.size()> 0){
+                home_list_gridview_layout.setVisibility(View.VISIBLE);
+                homeListEntitys.clear();
+                homeListEntitysGridview.clear();
+                homeListEntitysListview.clear();
+                homeListEntitys.addAll(homeListEntity);
+                for (int i=0;i<homeListEntitys.size();i++){
+                    if(i<4){
+                        homeListEntitysGridview.add(homeListEntitys.get(i));
+                    }else {
+                        homeListEntitysListview.add(homeListEntitys.get(i));
+                    }
+                }
+                adpHomeListGrideview.notifyDataSetChanged();
+                adpHomeListListview.notifyDataSetChanged();
+            }else {
+                home_list_gridview_layout.setVisibility(View.GONE);
+
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void failhomeList(BaseMessage baseMessage) {
+        home_list_gridview_layout.setVisibility(View.GONE);
+
+    }
+
+    @Override
     public void onResume() {
         super.onResume();
         if (pagePresenter != null) {

+ 6 - 5
app/src/main/java/com/kfzs/duanduan/react/MainTab.java

@@ -5,6 +5,7 @@ import android.support.v4.app.Fragment;
 import com.kfzs.duanduan.ActMain;
 import com.kfzs.duanduan.fragment.FgtMainCategory;
 import com.kfzs.duanduan.fragment.FgtMainGame;
+import com.kfzs.duanduan.fragment.FgtPersonalCenter;
 import com.kfzs.duanduan.fragment.FgtSmallSheep;
 import com.sheep.jiuyan.samllsheep.R;
 
@@ -24,7 +25,7 @@ public enum MainTab {
             return R.drawable.drawable_selector_task;
         }
     },
-    FgtMainGame(R.string.tab_viewpager_gamestore) {
+    /*FgtMainGame(R.string.tab_viewpager_gamestore) {
         @Override
         public Fragment getFragment() {
             return new FgtMainGame();
@@ -45,18 +46,18 @@ public enum MainTab {
         public int getDrawableId() {
             return R.drawable.drawable_selector_class;
         }
-    }/*,
+    },*/
     FgtPersonnalCenter(R.string.personal_center) {
         @Override
         public Fragment getFragment() {
-            return new FgtMainCategory();
+            return new FgtPersonalCenter();
         }
 
         @Override
         public int getDrawableId() {
-            return R.drawable.drawable_selector_class;
+            return R.drawable.drawable_selector_personalcenter;
         }
-    }*/
+    }
 //    ,
     //    Bp(R.string.tab_viewpager_borrowplay) {
 //        @Override

+ 4 - 4
app/src/main/java/com/kfzs/duanduan/react/TabsHelper.java

@@ -128,11 +128,11 @@ public class TabsHelper {
      * @param position
      */
     private void checkWhichPage(int position){
-        if(position == MainTab.FgtMainGame.ordinal()) {
+        /*if(position == MainTab.FgtMainGame.ordinal()) {
             UMConfigUtils.onEvent(UMConfigUtils.Event.TAB_GAME);
         }else if(position == MainTab.FgtMainCategory.ordinal()) {
             UMConfigUtils.onEvent(UMConfigUtils.Event.TAB_CATEGORY);
-        }else if(position == MainTab.FgtSmallSheep.ordinal()) {
+        }else */if(position == MainTab.FgtSmallSheep.ordinal()) {
             UMConfigUtils.onEvent(UMConfigUtils.Event.TAB_SHEEP);
 //        }else if(position == MainTab.Bp.ordinal()) {
 //            UMConfigUtils.onEvent(UMConfigUtils.Event.TAB_JIEZHEWAN);
@@ -144,7 +144,7 @@ public class TabsHelper {
     private void checkViewState(int position) {
         int top;
         int bottom;
-       if(position == MainTab.FgtMainGame.ordinal()) {
+       /*if(position == MainTab.FgtMainGame.ordinal()) {
            top = activity.getResources().getDimensionPixelSize(R.dimen.app_nav_toolbar_height);
            bottom = 0;
            layout_main_activity_toolbar.setVisibility(View.VISIBLE);
@@ -156,7 +156,7 @@ public class TabsHelper {
            top = activity.getResources().getDimensionPixelSize(R.dimen.app_nav_toolbar_height);
            bottom = activity.getResources().getDimensionPixelSize(R.dimen.bottom_height);
            layout_main_activity_toolbar.setVisibility(View.VISIBLE);
-       } else {
+       } else*/ {
             top = 0;
             bottom = activity.getResources().getDimensionPixelSize(R.dimen.bottom_height);
             layout_main_activity_toolbar.setVisibility(View.GONE);

+ 31 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -333,12 +333,31 @@ public interface ApiService {
 
     /******div***/
 
+    /**
+     * 获取下发充值类型
+     * @param page
+     * @return
+     */
     @GET("app/recharge/pay_way")
     Observable<BaseMessage> getRechargePayway(@Query("type") String page);
 
+    /**
+     * 充值
+     * @param jsonObject
+     * @return
+     */
     @POST("app/recharge/recharge_balance")
     Observable<BaseMessage> getRechargeBalance(@Body JSONObject jsonObject);
 
+
+    /**
+     * 绵羊币充值
+     * @param parame
+     * @return
+     */
+    @POST("app/***/")
+    Observable<BaseMessage> goRechargeQ(@Body JSONObject parame);
+
     /******div***/
 
     /**
@@ -346,4 +365,16 @@ public interface ApiService {
      */
     @GET("app/about_us")
     Observable<BaseMessage> aboutUs();
+
+    /**
+     * 首页list
+     */
+    @GET("app/home_list")
+    Observable<BaseMessage> homeList();
+
+    /**
+     * 关于我们
+     */
+    @POST("app/feedback")
+    Observable<BaseMessage> feedback(@Body JSONObject jsonObject);
 }

+ 33 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/FeedbackEntity.java

@@ -0,0 +1,33 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * 意见反馈
+ * Created by ljy on 2018/5/10.
+ */
+
+public class FeedbackEntity {
+    private String Email;//      string `orm:"column(email);size(255);null" description:"邮箱"`
+    private String Content;//   string `orm:"column(content);size(1024);null" description:"反馈的内容"`
+
+    public FeedbackEntity(String email, String content) {
+        Email = email;
+        Content = content;
+    }
+
+    public String getEmail() {
+
+        return Email;
+    }
+
+    public void setEmail(String email) {
+        Email = email;
+    }
+
+    public String getContent() {
+        return Content;
+    }
+
+    public void setContent(String content) {
+        Content = content;
+    }
+}

+ 100 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/HomeListEntity.java

@@ -0,0 +1,100 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * 首页list
+ * Created by ljy on 2018/5/10.
+ */
+
+public class HomeListEntity {
+private String CreateTime;//	integer ($int64)创建时间,时间戳
+private String Desc;//	string描述
+private String Icon;//	string图标地址
+private String Id;//	integer ($int64)
+private String Jump;//	string跳转(h5填跳转地址,原生:1试玩赚钱,2邀请赚钱,3躺着赚钱,4办卡赚钱)
+private String Order;//	integer ($int64)排序,默认99,越小越靠前
+private String Title;//	string标题
+private int Type;//	integer ($int64)类型(0不跳转,1h5,2原生)
+private String UpdateTime;//	integer ($int64)更新时间
+    private String Url;//	integer ($int64)更新时间
+
+    public String getUrl() {
+        return Url;
+    }
+
+    public void setUrl(String Url) {
+        this.Url = Url;
+    }
+
+
+    public String getCreateTime() {
+        return CreateTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        CreateTime = createTime;
+    }
+
+    public String getDesc() {
+        return Desc;
+    }
+
+    public void setDesc(String desc) {
+        Desc = desc;
+    }
+
+    public String getIcon() {
+        return Icon;
+    }
+
+    public void setIcon(String icon) {
+        Icon = icon;
+    }
+
+    public String getId() {
+        return Id;
+    }
+
+    public void setId(String id) {
+        Id = id;
+    }
+
+    public String getJump() {
+        return Jump;
+    }
+
+    public void setJump(String jump) {
+        Jump = jump;
+    }
+
+    public String getOrder() {
+        return Order;
+    }
+
+    public void setOrder(String order) {
+        Order = order;
+    }
+
+    public String getTitle() {
+        return Title;
+    }
+
+    public void setTitle(String title) {
+        Title = title;
+    }
+
+    public int getType() {
+        return Type;
+    }
+
+    public void setType(int type) {
+        Type = type;
+    }
+
+    public String getUpdateTime() {
+        return UpdateTime;
+    }
+
+    public void setUpdateTime(String updateTime) {
+        UpdateTime = updateTime;
+    }
+}

+ 19 - 12
app/src/main/java/com/sheep/gamegroup/model/entity/RechargeQEntity.java

@@ -6,17 +6,16 @@ package com.sheep.gamegroup.model.entity;
 
 public class RechargeQEntity {
 
-    public RechargeQEntity(boolean selectState, String value) {
-        this.selectState = selectState;
-        this.value = value;
-    }
+    private boolean selectState;
+    private String text;
+    private String price;
 
-    public RechargeQEntity() {
+    public RechargeQEntity(boolean selectState, String price,String text) {
+        this.selectState = selectState;
+        this.price = price;
+        this.text = text;
     }
 
-    private boolean selectState;
-    private String value;
-
     public boolean isSelectState() {
         return selectState;
     }
@@ -25,11 +24,19 @@ public class RechargeQEntity {
         this.selectState = selectState;
     }
 
-    public String getValue() {
-        return value == null? "": value;
+    public String getText() {
+        return text;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    public String getPrice() {
+        return price;
     }
 
-    public void setValue(String value) {
-        this.value = value;
+    public void setPrice(String price) {
+        this.price = price;
     }
 }

+ 100 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskChild.java

@@ -0,0 +1,100 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by ljy on 2018/5/10.
+ */
+
+public class TaskChild implements Serializable {
+    private String BeginTime;//1525147200,
+    private String Order;//1,
+    private String EndTime;//1530115200,
+    private String Desc;//"<p>阿斯顿发射的发</p>",
+    private String Amount;//1,
+    private String Id;//8,
+    private String task_id;//161,
+    private String Time;//0,
+    private String Name;//"212312311111111",
+    private int TaskType;//0 即将开始  1 进行中  2 已完成
+
+    public String getBeginTime() {
+        return BeginTime;
+    }
+
+    public void setBeginTime(String beginTime) {
+        BeginTime = beginTime;
+    }
+
+    public String getOrder() {
+        return Order;
+    }
+
+    public void setOrder(String order) {
+        Order = order;
+    }
+
+    public String getEndTime() {
+        return EndTime;
+    }
+
+    public void setEndTime(String endTime) {
+        EndTime = endTime;
+    }
+
+    public String getDesc() {
+        return Desc;
+    }
+
+    public void setDesc(String desc) {
+        Desc = desc;
+    }
+
+    public String getAmount() {
+        return Amount;
+    }
+
+    public void setAmount(String amount) {
+        Amount = amount;
+    }
+
+    public String getId() {
+        return Id;
+    }
+
+    public void setId(String id) {
+        Id = id;
+    }
+
+    public String getTask_id() {
+        return task_id;
+    }
+
+    public void setTask_id(String task_id) {
+        this.task_id = task_id;
+    }
+
+    public String getTime() {
+        return Time;
+    }
+
+    public void setTime(String time) {
+        Time = time;
+    }
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+
+    public int getTaskType() {
+        return TaskType;
+    }
+
+    public void setTaskType(int taskType) {
+        TaskType = taskType;
+    }
+}

+ 10 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -3,6 +3,7 @@ package com.sheep.gamegroup.model.entity;
 import com.alibaba.fastjson.JSONObject;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * 任务
@@ -28,6 +29,15 @@ public class TaskEty implements Serializable{
     private String bonus;// 0,
     private String desc;// 任务详情介绍
     private String ext;// 对应的信用卡配置的id
+    private List<TaskChild> child;
+
+    public List<TaskChild> getChild() {
+        return child;
+    }
+
+    public void setChild(List<TaskChild> child) {
+        this.child = child;
+    }
 
     public int getAcceptedTaskId() {
         return acceptedTaskId;

+ 3 - 1
app/src/main/java/com/sheep/gamegroup/presenter/RechargeQContract.java

@@ -11,11 +11,13 @@ public interface RechargeQContract {
 
     interface Presenter{
 
-
+        void goRechargeQ(JSONObject jsonObject);
 
     }
 
     interface View{
+        void succRechargeQ(BaseMessage o);
+        void failRechargeQ(BaseMessage o);
 
     }
 }

+ 18 - 53
app/src/main/java/com/sheep/gamegroup/presenter/RechargeQPresenter.java

@@ -26,57 +26,22 @@ public class RechargeQPresenter implements RechargeQContract.Presenter {
         this.apiService = apiService;
     }
 
-//    @Override
-//    public void goWithdrawal(JSONObject jsonObject) {
-//        apiService.goWithdrawal(jsonObject)
-//                .subscribeOn(Schedulers.io())
-//                .observeOn(AndroidSchedulers.mainThread())
-//                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
-//                    @Override
-//                    public void onError(BaseMessage baseMessage) {
-//                        view.failData(baseMessage);
-//                    }
-//
-//                    @Override
-//                    public void onNext(BaseMessage baseMessage) {
-//                        view.updateView(baseMessage);
-//                    }
-//                });
-//    }
-//
-//    @Override
-//    public void getCanWithdrawAmount() {
-//        apiService.getCanWithdrawAmount()
-//                .subscribeOn(Schedulers.io())
-//                .observeOn(AndroidSchedulers.mainThread())
-//                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
-//                    @Override
-//                    public void onError(BaseMessage baseMessage) {
-//                        view.failBalanceData(baseMessage);
-//                    }
-//
-//                    @Override
-//                    public void onNext(BaseMessage baseMessage) {
-//                        view.updateBalanceView(baseMessage);
-//                    }
-//                });
-//    }
-//
-//    @Override
-//    public void getWithdrawAmountOption() {
-//        apiService.getWithdrawAmountOption()
-//                .subscribeOn(Schedulers.io())
-//                .observeOn(AndroidSchedulers.mainThread())
-//                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
-//                    @Override
-//                    public void onError(BaseMessage baseMessage) {
-//                        view.failWithdrawAmountOptionData(baseMessage);
-//                    }
-//
-//                    @Override
-//                    public void onNext(BaseMessage baseMessage) {
-//                        view.updateWithdrawAmountOptionView(baseMessage);
-//                    }
-//                });
-//    }
+    @Override
+    public void goRechargeQ(JSONObject jsonObject) {
+        apiService.goRechargeQ(jsonObject)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        view.failRechargeQ(baseMessage);
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        view.succRechargeQ(baseMessage);
+                    }
+                });
+    }
+
 }

+ 4 - 0
app/src/main/java/com/sheep/gamegroup/presenter/SmallSheepContract.java

@@ -18,6 +18,8 @@ public interface SmallSheepContract {
 
         void  getAwardDetail();
 
+        void  homeList();
+
         void  slideshow(Object o);
         void  bulletin(Object o);
     }
@@ -33,6 +35,8 @@ public interface SmallSheepContract {
         void failbulletin(BaseMessage baseMessage);
         void successbulletin(BaseMessage baseMessage);
 
+        void successhomeList(BaseMessage baseMessage);
+        void failhomeList(BaseMessage baseMessage);
 
     }
 }

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

@@ -82,6 +82,24 @@ public class SmallSheepPresenter implements SmallSheepContract.Persenter {
     }
 
     @Override
+    public void homeList() {
+        apiService.homeList()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        view.failhomeList(baseMessage);
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        view.successhomeList(baseMessage);
+                    }
+                });
+    }
+
+    @Override
     public void slideshow(Object o) {
         apiService.slideshow(1)
                 .subscribeOn(Schedulers.io())

+ 76 - 0
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -7,6 +7,7 @@ import android.graphics.drawable.GradientDrawable;
 import android.text.Html;
 import android.text.TextUtils;
 import android.view.ViewTreeObserver;
+import android.widget.Switch;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSONObject;
@@ -14,9 +15,12 @@ import com.arialyy.aria.core.Aria;
 import com.arialyy.aria.core.download.DownloadTarget;
 import com.arialyy.aria.core.inf.IEntity;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
+import com.sheep.gamegroup.model.entity.HomeListEntity;
+import com.sheep.gamegroup.model.entity.WebviewEntity;
 import com.sheep.gamegroup.model.entity.WithdrawalEty;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
+import com.sheep.jiuyan.samllsheep.utils.G;
 
 import java.io.File;
 import java.lang.reflect.Field;
@@ -295,4 +299,76 @@ public class CommonUtil {
             e.printStackTrace();
         }
     }
+
+    /**
+     * 首页,homelist 跳转 逻辑
+     */
+    public void goWhere(Context context, HomeListEntity entity){
+        if(entity == null){
+            return;
+        }
+        try {
+            switch (entity.getType()){
+                case 0://不跳转
+                default:
+
+                    break;
+                case 1://h5
+                    Jump2View.getInstance()
+                            .goWebview(context,
+                                    new WebviewEntity(0,
+                                            entity.getUrl(),
+                                            entity.getTitle()));
+                    break;
+                case 2://原生
+                    goNative(context, entity);
+                    break;
+                case 3://特殊h5
+                    goNative(context, entity);
+                    break;
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+    /**
+     *
+     */
+    public void goNative(Context context, HomeListEntity entity){
+
+        switch(Integer.valueOf(entity.getJump())){
+            case 1://试玩赚钱
+
+                Jump2View.getInstance().goTryplayView(context, null);
+                break;
+            case 2://2邀请赚钱,
+                Jump2View.getInstance().goAskGetMoney(context, null);
+                break;
+            case 3://3躺着赚钱,
+                Jump2View.getInstance().tryGoLyingView(context, null);
+
+                break;
+            case 4://4办卡赚钱
+                Jump2View.getInstance().goCreditCardTaskList(context, null);
+                break;
+            case 5://5玩转游戏
+                Jump2View.getInstance()
+                        .goMainGame(context);
+                break;
+            case 6://6充值q币
+//                G.showToast("敬请期待!");
+                Jump2View.getInstance().goRechargeQAct(context,null);
+                break;
+            case 7://微信辅助
+//                G.showToast("敬请期待!");
+
+                Jump2View.getInstance().goWeb(context,
+                        entity.getUrl(), "微信二维码辅助好友注册任务");
+                break;
+            default:
+
+                break;
+
+        }
+    }
 }

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

@@ -26,6 +26,7 @@ import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
 import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
 import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
 import com.sheep.gamegroup.view.activity.ActGuideOnHook;
+import com.sheep.gamegroup.view.activity.ActMainGame;
 import com.sheep.gamegroup.view.activity.ActMyMoney;
 import com.sheep.gamegroup.view.activity.ActNewbieTaskList;
 import com.sheep.gamegroup.view.activity.ActNotice;
@@ -40,6 +41,7 @@ import com.sheep.gamegroup.view.activity.CommitWxAct;
 import com.sheep.gamegroup.view.activity.CommitWxCodeAct;
 import com.sheep.gamegroup.view.activity.DialogActivity;
 import com.sheep.gamegroup.view.activity.DialogToastAct;
+import com.sheep.gamegroup.view.activity.FeedbackAct;
 import com.sheep.gamegroup.view.activity.LieMakeMoneyAct;
 import com.sheep.gamegroup.view.activity.LoginAct;
 import com.sheep.gamegroup.view.activity.PersionInfoAct;
@@ -703,4 +705,22 @@ public class Jump2View {
         intent.putExtra("time", time);
         context.startActivity(intent);
     }
+
+    /**
+     * 意见反馈
+     * @param context
+     */
+    public void goFeedbackAct(Context context) {
+        Intent intent = new Intent(context, FeedbackAct.class);
+        context.startActivity(intent);
+    }
+
+    /**
+     * 游戏列表界面
+     * @param context
+     */
+    public void goMainGame(Context context) {
+        Intent intent = new Intent(context, ActMainGame.class);
+        context.startActivity(intent);
+    }
 }

+ 58 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActMainGame.java

@@ -0,0 +1,58 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentTransaction;
+
+import com.kfzs.duanduan.fragment.FgtMainGame;
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+/**
+ * Created by ljy on 2018/5/10.
+ */
+
+public class ActMainGame extends BaseActivity {
+
+    Activity activity;
+    @Override
+    protected int getLayoutId() {
+        return R.layout.personalcenter_act_layout;
+    }
+
+    @Override
+    public void initView() {
+
+        activity = this;
+
+        TitleBarUtils
+                .getInstance()
+                .setTitle(this, "玩转游戏")
+                .setTitleFinish(this);
+        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
+        Bundle bundle = new Bundle();
+        Fragment fragment = getSupportFragmentManager().findFragmentByTag("tag");
+        if(fragment == null){
+            fragment = new FgtMainGame();
+            fragment.setArguments(bundle);
+            transaction.add(R.id.frame_container, fragment, "tag");
+            transaction.commit();
+        }else {
+            fragment.setArguments(bundle);
+            transaction.replace(R.id.frame_container, fragment);
+            transaction.commit();
+        }
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+
+    }
+}

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java

@@ -150,6 +150,8 @@ public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener, A
     }
 
 
+
+
     @Override
     public void onStart(SHARE_MEDIA share_media) {
 

+ 96 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/FeedbackAct.java

@@ -0,0 +1,96 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.os.Bundle;
+import android.support.design.widget.TextInputEditText;
+
+import com.alibaba.fastjson.JSONObject;
+import com.googlecode.protobuf.format.util.TextUtils;
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+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 butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * 意见反馈
+ * Created by ljy on 2018/5/10.
+ */
+
+public class FeedbackAct extends BaseActivity {
+    @BindView(R.id.feedbook_et)
+    TextInputEditText feedbookEt;
+    @BindView(R.id.feedbook_email_et)
+    TextInputEditText feedbookEmailEt;
+
+    private String Content;
+    private String Email;
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_feedback_layout;
+    }
+
+    @Override
+    public void initView() {
+
+        TitleBarUtils.getInstance()
+                .setTitle(this, "意见反馈")
+                .setTitleFinish(this);
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // TODO: add setContentView(...) invocation
+        ButterKnife.bind(this);
+    }
+
+    @OnClick(R.id.tv_submit)
+    public void onViewClicked() {
+        Content = feedbookEt.getText() +"";
+        Email = feedbookEmailEt.getText() +"";
+        if(android.text.TextUtils.isEmpty(Content)){
+            G.showToast(getResources().getString(R.string.feedback_notice_input_advice));
+            return;
+        }
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("Content", Content);
+        jsonObject.put("Email", Email+"");
+        SheepApp.get(this)
+                .getNetComponent()
+                .getApiService()
+                .feedback(jsonObject)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(this) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage.getMsg() +"");
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        G.showToast(baseMessage.getMsg() +"");
+                        finish();
+                    }
+                });
+    }
+}

+ 40 - 14
app/src/main/java/com/sheep/gamegroup/view/activity/RechargeQAct.java

@@ -4,6 +4,7 @@ import android.app.Activity;
 import android.graphics.Color;
 import android.text.SpannableString;
 import android.text.Spanned;
+import android.text.TextUtils;
 import android.text.style.ForegroundColorSpan;
 import android.view.View;
 import android.widget.AdapterView;
@@ -13,6 +14,7 @@ import android.widget.TextView;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.di.components.DaggerRechargeQComponent;
 import com.sheep.gamegroup.di.modules.RechargeQModule;
+import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.RechargeQEntity;
 import com.sheep.gamegroup.presenter.RechargeQContract;
 import com.sheep.gamegroup.presenter.RechargeQPresenter;
@@ -21,6 +23,7 @@ import com.sheep.gamegroup.util.MyGridview;
 import com.sheep.gamegroup.view.adapter.RechargeQAdapter;
 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 java.util.ArrayList;
@@ -54,12 +57,13 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
     EditText etQq;
     @BindView(R.id.rechargeq_sure)
     TextView rechargeqSure;
-
     private List<RechargeQEntity> wlLists = new ArrayList<>();
-
     private RechargeQAdapter adapter;
     private int select;
 
+    String text_qq;//充值QQ号
+    String text_QBNumber;//充值金额
+
     @Override
     protected int getLayoutId() {
         return R.layout.rechargeq_layout;
@@ -86,6 +90,7 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 select = position;
+                RechargeQEntity rechargeQEntity = (RechargeQEntity) parent.getItemAtPosition(position);
                 for (int i = 0; i < wlLists.size(); i++) {
                     if (position == i) {
                         wlLists.get(i).setSelectState(true);
@@ -95,24 +100,22 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
                     }
                     adapter.notifyDataSetChanged();
                 }
+                text_QBNumber = rechargeQEntity.getPrice();
+                tvMybNumber.setText(String.format(getString(R.string.rechargeq_amount),rechargeQEntity.getPrice()));
             }
         });
 
         tvZk.setText(getSpannableString());
-//        showProgress();
-//        presenter.getCanWithdrawAmount();
-//        presenter.getWithdrawAmountOption();
+
     }
 
     private void tests(){
-        wlLists.add(new RechargeQEntity(true,"1"));
-        wlLists.add(new RechargeQEntity(false,"1"));
-        wlLists.add(new RechargeQEntity(false,"1"));
-        wlLists.add(new RechargeQEntity(false,"1"));
-        wlLists.add(new RechargeQEntity(false,"1"));
-        wlLists.add(new RechargeQEntity(false,"1"));
-        wlLists.add(new RechargeQEntity(false,"1"));
-        wlLists.add(new RechargeQEntity(false,"1"));
+        wlLists.add(new RechargeQEntity(true,"9.5","10QB"));
+        wlLists.add(new RechargeQEntity(true,"19","20QB"));
+        wlLists.add(new RechargeQEntity(true,"47.5","50QB"));
+        wlLists.add(new RechargeQEntity(true,"95","100QB"));
+        wlLists.add(new RechargeQEntity(true,"190","200QB"));
+        wlLists.add(new RechargeQEntity(true,"475","500QB"));
     }
 
     @Override
@@ -133,12 +136,35 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
                 Jump2View.getInstance().goRechargeAct(activity,null);
                 break;
             case R.id.rechargeq_sure:
+                if(TextUtils.isEmpty(text_QBNumber)){
+                    text_QBNumber = etQbNumber.getText().toString().trim();
+                }
+                if(TextUtils.isEmpty(text_QBNumber)){
+                    G.showToast("请选择充值QB数量");
+                    return;
+                }
+                text_qq = etQq.getText().toString().trim();
+                if(TextUtils.isEmpty(text_qq)){
+                    G.showToast("请输入QQ号");
+                    return;
+                }
+
+         showProgress();
+         presenter.goRechargeQ(null);
                 break;
         }
     }
 
+    @Override
+    public void succRechargeQ(BaseMessage o) {
+        hideProgress();
+    }
 
-
+    @Override
+    public void failRechargeQ(BaseMessage o) {
+        hideProgress();
+        G.showToast(o.getMsg());
+    }
 
     private SpannableString getSpannableString(){
         SpannableString spannableString = new SpannableString("(使用绵羊币充值享95折优惠)");

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

@@ -34,6 +34,7 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.DialogEntity;
 import com.sheep.gamegroup.model.entity.Ext;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskChild;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.util.EntityUtils;
@@ -43,8 +44,10 @@ import com.sheep.gamegroup.presenter.TaskDetailPresenter;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DeviceUtil;
 import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.MyListview;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.view.adapter.AdpTaskDetailChildListview;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.gamegroup.absBase.AbsChooseImageActivity;
@@ -56,6 +59,8 @@ import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 import org.greenrobot.eventbus.EventBus;
 
 import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
 
 import javax.inject.Inject;
 
@@ -94,6 +99,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     TextView btnUpImag;
     @BindView(R.id.bottom_btn_layout)
     LinearLayout bottom_btn_layout;
+    @BindView(R.id.detail_task_listview)
+    MyListview detail_task_listview;
     private Activity activity;
     @Inject
     TaskDetailPresenter presenter;
@@ -109,6 +116,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     private int type;//-1:开始任务 1:下载 2:安装 3:打开  10:打开H5
     private boolean isDownLoad = false;//是否下载
 
+    private AdpTaskDetailChildListview adpTaskDetailChildListview;
+    private List<TaskChild> taskChildList = new ArrayList<>();
+
 
     @Override
     protected int getLayoutId() {
@@ -131,6 +141,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 .setTitleFinish(activity);
         Aria.download(this).register();
         mDownloadTaskService = new DownloadTaskService(this);
+        adpTaskDetailChildListview = new AdpTaskDetailChildListview(taskChildList, activity);
+        detail_task_listview.setAdapter(adpTaskDetailChildListview);
+        adpTaskDetailChildListview.notifyDataSetChanged();
     }
 
     @Override
@@ -218,6 +231,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 
     private void initWigget(){
         taskEty = taskReleaseEty.getTask();
+        taskChildList.addAll(taskEty.getChild());
         downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(taskEty);
         webText.setWebChromeClient(new WebChromeClient(){
 
@@ -294,6 +308,15 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 //            btnTaskItem.setText("信用卡注册");
 //        }
 
+        //
+        if(taskChildList != null && taskChildList.size() > 0){
+            detail_task_listview.setVisibility(View.VISIBLE);
+            adpTaskDetailChildListview.notifyDataSetChanged();
+        }else {
+
+            detail_task_listview.setVisibility(View.GONE);
+        }
+
         taskSchedule();
     }
 

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

@@ -120,8 +120,8 @@ public class WebviewAct extends BaseActivity {
                         .getNetComponent()
                         .getApiService()
                         .aboutUs()
-                        .observeOn(Schedulers.io())
-                        .subscribeOn(AndroidSchedulers.mainThread())
+                        .subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
                         .subscribe(new SheepSubscriber<BaseMessage>(this) {
                             @Override
                             public void onError(BaseMessage baseMessage) {

+ 88 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpHomeListGrideview.java

@@ -0,0 +1,88 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AbsListView;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.sheep.gamegroup.model.entity.HomeListEntity;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/5/10.
+ */
+
+public class AdpHomeListGrideview extends BaseAdapter {
+    private List<HomeListEntity> homeListEntity;
+    private Context context;
+
+    public AdpHomeListGrideview(List<HomeListEntity> homeListEntity, Context context) {
+        this.homeListEntity = homeListEntity;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return homeListEntity.size();
+    }
+
+    @Override
+    public HomeListEntity getItem(int position) {
+        return homeListEntity.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder holder = null;
+        if(holder == null){
+            holder = new ViewHolder();
+            convertView = LayoutInflater.from(context).inflate(R.layout.adp_homelist_gridview, null);
+            holder.gridview_item_name_tv = convertView.findViewById(R.id.gridview_item_name_tv);
+            holder.gridview_item_detail_tv = convertView.findViewById(R.id.gridview_item_detail_tv);
+            holder.gridview_item_icon_iv = convertView.findViewById(R.id.gridview_item_icon_iv);
+            // 获取屏幕宽度
+            int W = G.WIDTH <G.HEIGHT ? G.WIDTH : G.HEIGHT;
+            int cricleRadius = W / 2  -50;
+            int h = cricleRadius  / 2;
+            convertView.setLayoutParams(new AbsListView.LayoutParams(cricleRadius, h));
+            convertView.setTag(holder);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+        final HomeListEntity entity = getItem(position);
+        holder.gridview_item_name_tv.setText(entity.getTitle()+"");
+        holder.gridview_item_detail_tv.setText(entity.getDesc()+"");
+        Glide.with(context)
+                .load(entity.getIcon())
+                .apply(new RequestOptions().dontAnimate())
+                .into(holder.gridview_item_icon_iv);
+        convertView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                CommonUtil.getInstance()
+                        .goWhere(context, entity);
+            }
+        });
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView gridview_item_name_tv, gridview_item_detail_tv;
+        ImageView gridview_item_icon_iv;
+    }
+}

+ 91 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpHomeListListview.java

@@ -0,0 +1,91 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.sheep.gamegroup.model.entity.HomeListEntity;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/5/10.
+ */
+
+public class AdpHomeListListview extends BaseAdapter {
+    private List<HomeListEntity> homeListEntity;
+    private Context context;
+
+    public AdpHomeListListview(List<HomeListEntity> homeListEntity, Context context) {
+        this.homeListEntity = homeListEntity;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return homeListEntity.size();
+    }
+
+    @Override
+    public HomeListEntity getItem(int position) {
+        return homeListEntity.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder holder = null;
+        if(holder == null){
+            holder = new ViewHolder();
+            convertView = LayoutInflater.from(context).inflate(R.layout.adp_homelist_listview,null);
+
+            holder.q_iv = convertView.findViewById(R.id.q_iv);
+            holder.q_name_tv = convertView.findViewById(R.id.q_name_tv);
+            holder.q_dec_tv = convertView.findViewById(R.id.q_dec_tv);
+            holder.line_ly_q_view = convertView.findViewById(R.id.line_ly_q_view);
+            convertView.setTag(holder);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+        final HomeListEntity entity = getItem(position);
+        Glide.with(context)
+                .load(entity.getIcon())
+                .apply(new RequestOptions().dontAnimate())
+                .into(holder.q_iv);
+        holder.q_name_tv.setText(entity.getTitle()+"");
+        holder.q_dec_tv.setText(entity.getDesc()+"");
+
+        if(position == getCount()-1){
+            holder.line_ly_q_view.setVisibility(View.GONE);
+        }else {
+            holder.line_ly_q_view.setVisibility(View.VISIBLE);
+        }
+
+        convertView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                CommonUtil.getInstance()
+                        .goWhere(context, entity);
+            }
+        });
+        return convertView;
+    }
+
+    class ViewHolder{
+        ImageView q_iv;
+        TextView q_name_tv, q_dec_tv;
+        View line_ly_q_view;
+    }
+}

+ 90 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpTaskDetailChildListview.java

@@ -0,0 +1,90 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.sheep.gamegroup.model.entity.TaskChild;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/5/10.
+ */
+
+public class AdpTaskDetailChildListview extends BaseAdapter {
+    private List<TaskChild> taskChildList;
+    private Context context;
+
+    public AdpTaskDetailChildListview(List<TaskChild> taskChildList, Context context) {
+        this.taskChildList = taskChildList;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return taskChildList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return taskChildList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder holder = null;
+        if(holder == null){
+            holder = new ViewHolder();
+            convertView = LayoutInflater.from(context).inflate(R.layout.adp_taskdetail_child_listview, null);
+            holder.item_name_tv = convertView.findViewById(R.id.item_name_tv);
+            holder.item_detail_tv = convertView.findViewById(R.id.item_detail_tv);
+            holder.detail_task_tv = convertView.findViewById(R.id.detail_task_tv);
+            convertView.setTag(holder);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+        TaskChild taskChild = (TaskChild) getItem(position);
+        if(taskChild == null){
+            return convertView;
+        }
+        holder.item_name_tv.setText(taskChild.getName()+"");
+        holder.item_detail_tv.setText(taskChild.getAmount()+"元");
+        switch (taskChild.getTaskType()){
+            case 0://0 即将开始  1 进行中  2 已完成
+            default:
+                holder.detail_task_tv.setText("即将开始 ");
+                CommonUtil.getInstance()
+                        .setViewBackground(holder.detail_task_tv, "#929292");
+                break;
+            case 1:
+
+                holder.detail_task_tv.setText("进行中");
+                CommonUtil.getInstance()
+                        .setViewBackground(holder.detail_task_tv, "##fd2d54");
+                break;
+            case 2:
+
+                holder.detail_task_tv.setText("已完成");
+                CommonUtil.getInstance()
+                        .setViewBackground(holder.detail_task_tv, "#FF2EF77B");
+                break;
+        }
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView item_name_tv, item_detail_tv, detail_task_tv;
+    }
+}

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

@@ -74,8 +74,8 @@ public class RechargeQAdapter extends BaseAdapter {
             holder.item_tv_y.setTextColor(ContextCompat.getColor(context,R.color.blue_end));
         }
 
-//        holder.item_tv_qb.setText("100QB");
-//        holder.item_tv_y.setText(priceShow.getValue() +"元");
+        holder.item_tv_qb.setText(priceShow.getText());
+        holder.item_tv_y.setText(priceShow.getPrice() +"元");
 
         return convertView;
     }

BIN
app/src/main/res/drawable-xhdpi/tab_personalcenter.png


BIN
app/src/main/res/drawable-xhdpi/tab_personalcenter_click.png


+ 8 - 0
app/src/main/res/drawable/drawable_selector_personalcenter.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/tab_personalcenter_click" android:state_activated="true"/>
+    <item android:drawable="@drawable/tab_personalcenter_click" android:state_pressed="true"/>
+    <item android:drawable="@drawable/tab_personalcenter"/>
+
+</selector>

+ 6 - 0
app/src/main/res/drawable/sp_edt_backgroud_gray_1dp.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/gray_F2F2F2" />
+    <corners android:radius="4dp" />
+</shape>

+ 101 - 0
app/src/main/res/layout/act_feedback_layout.xml

@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:background="@color/bg_gray">
+
+    <include
+        layout="@layout/title"/>
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:scrollbars="none">
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:padding="@dimen/common_margin_10">
+
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+                android:padding="@dimen/common_margin_10">
+                <TextView
+                    android:id="@+id/feedbook_notice_top_tv"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/feedback_notice_hellow"
+                    style="@style/txt_style_15_black"/>
+                <TextView
+                    android:id="@+id/feedbook_notice_end_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/feedback_notice_end"
+                    style="@style/txt_style_15_black"
+                    android:layout_below="@+id/feedbook_notice_top_tv"
+                    android:layout_alignParentRight="true"
+                    android:layout_marginTop="@dimen/content_padding_15"/>
+
+                <android.support.design.widget.TextInputEditText
+                    android:id="@+id/feedbook_et"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:minHeight="@dimen/view_size_130"
+                    android:cursorVisible="true"
+                    android:layout_below="@+id/feedbook_notice_end_tv"
+                    android:layout_marginTop="@dimen/content_padding"
+                    android:hint="@string/feedback_notice_input_advice"
+                    android:gravity="top"
+                    android:text=""
+                    style="@style/edt_style_gray"
+                    android:layout_marginBottom="@dimen/content_padding_20"/>
+                <LinearLayout
+                    android:id="@+id/feedbook_email_layout"
+                    android:layout_below="@+id/feedbook_et"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:gravity="center_vertical">
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        style="@style/txt_style_15_black"
+                        android:text="@string/contact_qq_email"
+                        android:layout_gravity="center_vertical"/>
+
+                    <android.support.design.widget.TextInputEditText
+                        android:id="@+id/feedbook_email_et"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:cursorVisible="false"
+                        android:hint="@string/feedback_notice_input_email_address"
+                        android:gravity="top"
+                        android:text=""
+                        android:lines="2"
+                        android:inputType="textEmailAddress"
+                        style="@style/edt_style_gray"
+                        android:layout_gravity="center_vertical"/>
+                </LinearLayout>
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    style="@style/nomal_txt_style"
+                    android:text="@string/input_notice_feedback"
+                    android:layout_below="@+id/feedbook_email_layout"
+                    android:layout_marginBottom="@dimen/content_padding_10"
+                    android:layout_marginTop="@dimen/content_padding_10"/>
+            </RelativeLayout>
+            <TextView
+                android:id="@+id/tv_submit"
+                style="@style/style_button_no_margin"
+                android:layout_marginTop="@dimen/view_size_30"
+                android:text="提交建议" />
+
+        </LinearLayout>
+    </ScrollView>
+
+</LinearLayout>

+ 40 - 0
app/src/main/res/layout/adp_homelist_gridview.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal"
+    android:gravity="center"
+    android:layout_gravity="center_vertical"
+    android:padding="@dimen/content_padding_10"
+    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+    android:layout_marginRight="@dimen/content_padding_small"
+    android:layout_marginBottom="@dimen/content_padding_15">
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:layout_gravity="center_vertical"
+            android:layout_marginRight="@dimen/content_padding_small">
+
+            <TextView
+                android:id="@+id/gridview_item_name_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="试玩赚钱"
+                style="@style/nomal_txt_style"/>
+            <TextView
+                android:id="@+id/gridview_item_detail_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="下载应用领现金"
+                style="@style/nomal_txt_style_11"/>
+        </LinearLayout>
+        <ImageView
+            android:id="@+id/gridview_item_icon_iv"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:maxHeight="@dimen/view_size_73"
+            android:maxWidth="@dimen/view_size_73"
+            android:src="@mipmap/home_try_play_circle_bg"
+            android:adjustViewBounds="true"/>
+</LinearLayout>

+ 48 - 0
app/src/main/res/layout/adp_homelist_listview.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/lying_qb_layout"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+    android:padding="@dimen/content_padding_10"
+    android:layout_margin="@dimen/content_padding">
+
+    <ImageView
+        android:id="@+id/q_iv"
+        android:layout_width="@dimen/view_size_55"
+        android:layout_height="@dimen/view_size_55"
+        android:src="@mipmap/home_q_circle_bg"
+        app:layout_constraintBottom_toTopOf="@+id/line_ly_q_view"
+        android:padding="@dimen/content_padding_small"
+        android:layout_marginRight="@dimen/content_padding_small"/>
+
+    <TextView
+        android:id="@+id/q_name_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="充值Q币"
+        app:layout_constraintTop_toTopOf="@+id/q_iv"
+        app:layout_constraintBottom_toBottomOf="@+id/q_iv"
+        app:layout_constraintLeft_toRightOf="@+id/q_iv"
+        style="@style/txt_style_16_black"/>
+
+    <TextView
+        android:id="@+id/q_dec_tv"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:text="平台绵羊币,充值更便宜"
+        app:layout_constraintTop_toTopOf="@+id/q_iv"
+        app:layout_constraintBottom_toBottomOf="@+id/q_iv"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintLeft_toRightOf="@+id/q_name_tv"
+        android:gravity="right"/>
+
+    <View
+        android:id="@+id/line_ly_q_view"
+        android:layout_width="match_parent"
+        android:layout_height="1sp"
+        android:background="@color/bg_gray"
+        app:layout_constraintBottom_toBottomOf="parent"/>
+
+</android.support.constraint.ConstraintLayout>

+ 41 - 0
app/src/main/res/layout/adp_taskdetail_child_listview.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal"
+    android:gravity="center"
+    android:layout_gravity="center_vertical"
+    android:padding="@dimen/content_padding_10"
+    android:layout_marginRight="@dimen/content_padding_small">
+
+    <TextView
+        android:id="@+id/item_name_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="·第一天签到任务"
+        android:layout_centerVertical="true"
+        style="@style/nomal_txt_style"/>
+    <TextView
+        android:id="@+id/item_detail_tv"
+        android:layout_width="0dp"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:text="1.5元"
+        android:textColor="@color/txt_red"
+        android:textSize="@dimen/text_size_15"
+        android:layout_marginLeft="@dimen/content_padding_small"/>
+    <TextView
+        android:id="@+id/detail_task_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="任务截图"
+        android:minWidth="@dimen/view_size_73"
+        android:textColor="@color/white"
+        android:textSize="@dimen/text_size_12"
+        android:gravity="center"
+        android:padding="@dimen/content_padding_3"
+        android:layout_alignParentRight="true"
+        android:layout_below="@+id/item_layout"
+        android:background="@drawable/sp_rectangle_bg_gray_radius"
+        android:layout_alignParentBottom="true"/>
+</LinearLayout>

+ 12 - 3
app/src/main/res/layout/homepage_act_layout.xml

@@ -28,7 +28,11 @@
             <include
                 layout="@layout/homepage_item_banner"/>
             <include
-                layout="@layout/homepage_item_4module"/>
+                layout="@layout/homepage_item_4module"
+                android:visibility="gone"/>
+            <include
+                layout="@layout/homepage_item_gridview_listview"
+                android:visibility="visible"/>
             <ImageView
                 android:id="@+id/homepage_wxfz"
                 android:layout_width="match_parent"
@@ -36,10 +40,15 @@
                 android:layout_marginTop="@dimen/content_padding_10"
                 android:scaleType="fitXY"
                 android:adjustViewBounds="true"
-                android:src="@drawable/homepage_wxfz"/>
+                android:src="@drawable/homepage_wxfz"
+                android:visibility="gone"/>
 
             <include
-                layout="@layout/homepage_item_liy_q"/>
+                layout="@layout/homepage_item_liy_q"
+                android:visibility="gone"/>
+            <include
+                layout="@layout/homepage_item_gridview_listview"
+                android:visibility="gone"/>
             <include
                 layout="@layout/homepage_item_currenttime_reward"/>
 

+ 29 - 0
app/src/main/res/layout/homepage_item_gridview_listview.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/home_list_gridview_layout"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:background="@color/bg_gray"
+    android:paddingLeft="@dimen/content_padding_10"
+    android:paddingTop="@dimen/content_padding_10"
+    android:paddingRight="@dimen/content_padding_10">
+
+    <com.sheep.gamegroup.util.MyGridview
+        android:id="@+id/home_list_gridview_gv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_horizontal"
+        android:scrollbars="none"
+        android:numColumns="2"
+        android:listSelector="@color/transparent"/>
+
+    <com.sheep.gamegroup.util.MyListview
+        android:id="@+id/home_list_gridview_listview"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:scrollbars="none"
+        android:divider="@null"
+        android:listSelector="@color/transparent"/>
+
+</LinearLayout>

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

@@ -94,7 +94,7 @@
 
                         <TextView
                             android:id="@+id/tv_myb_number"
-                            android:layout_width="wrap_content"
+                            android:layout_width="155dp"
                             android:layout_height="wrap_content"
                             android:text="当前绵羊币金额:150元"
                             android:textColor="@color/black_444444"
@@ -135,6 +135,8 @@
                         android:layout_height="40dp"
                         android:background="@null"
                         android:hint="请输入QQ号"
+                        android:inputType="number"
+                        android:maxLength="11"
                         android:textColor="@color/black_444444"
                         android:textColorHint="@color/disenable_color"
                         android:textSize="@dimen/text_size_3" />

+ 9 - 0
app/src/main/res/layout/task_detail_layout.xml

@@ -92,6 +92,15 @@
                         android:layout_alignParentBottom="true"/>
                 </RelativeLayout>
 
+                <com.sheep.gamegroup.util.MyListview
+                    android:id="@+id/detail_task_listview"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:scrollbars="none"
+                    android:divider="@null"
+                    android:listSelector="@color/transparent"
+                    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"/>
+
                 <LinearLayout
                     android:id="@+id/detail_item_layout_2"
                     android:layout_width="match_parent"

+ 146 - 0
app/src/main/res/layout/x_recommend_dialog.xml

@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/white"
+    android:orientation="vertical">
+
+
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="40dp">
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:layout_gravity="center"
+            android:gravity="center"
+            android:background="@color/blue_end"
+            android:text="推荐给好友"
+            android:textColor="@color/white"
+            android:textSize="@dimen/text_size_16" />
+        <ImageView
+            android:id="@+id/iv_close"
+            android:layout_width="30dp"
+            android:layout_height="30dp"
+            android:layout_gravity="right"
+            android:layout_centerVertical="true"
+            android:layout_alignParentRight="true"
+            android:layout_marginRight="@dimen/content_padding_10"
+            android:src="@mipmap/try_dialog_x" />
+    </RelativeLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="20dp"
+        android:layout_marginLeft="20dp"
+        android:layout_marginRight="20dp"
+        android:layout_marginTop="@dimen/text_size_5"
+        android:orientation="vertical">
+
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="left"
+            android:layout_marginLeft="20dp"
+            android:layout_marginRight="20dp"
+            android:layout_marginTop="@dimen/content_padding_small"
+            android:layout_marginBottom="@dimen/content_padding_small"
+            android:text="请小绵羊下载链接发给好友"
+            android:textColor="@color/txt_black_cc444444"
+            android:textSize="@dimen/text_size_15" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:layout_marginLeft="20dp"
+            android:layout_marginRight="20dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:id="@+id/tv_link"
+                android:layout_width="0.0dp"
+                android:layout_height="30dp"
+                android:layout_weight="1"
+                android:gravity="left|center_vertical"
+                android:lines="1"
+                android:maxLines="1"
+                android:singleLine="true"
+                android:paddingLeft="@dimen/content_padding_10"
+                android:paddingRight="@dimen/content_padding_10"
+                android:textColor="@color/txt_black_cc444444"
+                android:textSize="@dimen/text_size_15"
+                android:background="@drawable/recharge_bg_angle_blue_normal"
+                />
+
+            <TextView
+                android:id="@+id/withdrawal"
+                style="@style/style_button"
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/content_padding_30"
+                android:textSize="@dimen/text_size_12"
+                android:layout_marginBottom="5dp"
+                android:layout_marginLeft="10dp"
+                android:layout_marginTop="5dp"
+                android:text="复制链接" />
+        </LinearLayout>
+
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="5dp"
+            android:text="通过链接加入小绵羊即为你的好友下线,好友完成任务你可以额外获得20%的提成奖励哦!"
+            android:textColor="@color/txt_black_cc444444"
+            android:layout_marginRight="@dimen/content_padding_20"
+            android:layout_marginLeft="@dimen/content_padding_20"
+            android:textSize="@dimen/text_size_12" />
+
+
+        <RelativeLayout
+            android:layout_width="wrap_content"
+            android:layout_height="180dp"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginLeft="@dimen/content_padding_20"
+            android:layout_marginRight="@dimen/content_padding_20"
+            android:layout_marginTop="5dp"
+            >
+
+            <ImageView
+                android:id="@+id/iv_qr"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerInParent="true"
+                android:src="@drawable/loading" />
+
+            <ImageView
+                android:id="@+id/iv_qr_small"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerInParent="true" />
+
+        </RelativeLayout>
+
+        <TextView
+            android:id="@+id/save_pic"
+            style="@style/style_button"
+            android:layout_marginBottom="20dp"
+            android:layout_marginLeft="100dp"
+            android:layout_marginRight="100dp"
+            android:layout_marginTop="20dp"
+            android:text="保存二维码至手机" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="10dp"
+            android:text="邀请好友下载小绵羊App,开启赚钱之路"
+            android:textColor="@color/txt_black_cc444444"
+            android:textSize="13sp" />
+    </LinearLayout>
+</LinearLayout>

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

@@ -66,6 +66,7 @@
     <dimen name="view_size_30">30dp</dimen>
     <dimen name="view_size_35">35dp</dimen>
     <dimen name="view_size_45">45dp</dimen>
+    <dimen name="view_size_55">55dp</dimen>
     <dimen name="view_size_60">60dp</dimen>
     <dimen name="view_size_73">73dp</dimen>
     <dimen name="view_size_80">80dp</dimen>

+ 8 - 0
app/src/main/res/values/dd_styles.xml

@@ -31,6 +31,14 @@
         <item name="android:layout_margin">@dimen/content_padding_15</item>
         <item name="android:textSize">@dimen/text_size_15</item>
     </style>
+    <style name="style_button_no_margin" parent="button">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">40dp</item>
+        <item name="android:gravity">center</item>
+        <item name="android:background">@drawable/selector_button_full_main</item>
+        <item name="android:textColor">@color/btn_color_main</item>
+        <item name="android:textSize">@dimen/text_size_15</item>
+    </style>
     <style name="style_button_small" parent="button">
         <item name="android:layout_width">70dp</item>
         <item name="android:layout_height">30dp</item>

+ 2 - 0
app/src/main/res/values/gamegroup_color.xml

@@ -35,5 +35,7 @@
     <color name="white_DEDEDE">#DEDEDE</color>
     <color name="white_ededed">#ededed</color>
     <color name="white_FFF7F7F7">#FFF7F7F7</color>
+    <color name="green_FF2EF77B">#FF2EF77B</color>
+    <color name="gray_F2F2F2">#F2F2F2</color>
 
 </resources>

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

@@ -63,6 +63,16 @@
         <item name="android:background">@drawable/sp_edt_background_common</item>
     </style>
 
+    <style name="edt_style_gray">
+        <item name="android:textSize">14sp</item>
+        <item name="android:paddingTop">6dp</item>
+        <item name="android:paddingBottom">6dp</item>
+        <item name="android:paddingLeft">8dp</item>
+        <item name="android:paddingRight">8dp</item>
+        <item name="android:textColorHint">@color/txt_gray_929292</item>
+        <item name="android:background">@drawable/sp_edt_backgroud_gray_1dp</item>
+    </style>
+
     <style name="txt_big_noheight_style">
         <item name="android:text">无敌大航海</item>
         <item name="android:textSize">@dimen/text_size_5</item>

+ 8 - 0
app/src/main/res/values/strings.xml

@@ -19,4 +19,12 @@
     <string name="agent_extract">代理提成:%s元</string>
     <string name="recharge_amount">充值金额:%s元</string>
     <string name="available_amount">可提现金额:%s元</string>
+    <string name="rechargeq_amount">当前绵羊币金额:%s元</string>
+
+    <string name="feedback_notice_hellow">致亲爱的您,\n &#160;&#160;&#160;&#160;&#160;我们会重视您提出的每一个建议。您的批评与意见是我们产品前进的动力,感谢您对小绵羊APP的支持!</string>
+    <string name="feedback_notice_end">小绵羊项目组全体人员</string>
+    <string name="feedback_notice_input_advice">请输入您的建议...</string>
+    <string name="feedback_notice_input_email_address">请输入您的邮箱地址</string>
+    <string name="contact_qq_email">联系QQ/邮箱</string>
+    <string name="input_notice_feedback">请留下您的联系方式,我们会不定期地给予优质建议提供丰厚奖励哦!</string>
 </resources>