Explorar el Código

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

# Conflicts:
#	app/app.iml
zengjiebin hace 8 años
padre
commit
81f57d677d
Se han modificado 78 ficheros con 2386 adiciones y 272 borrados
  1. 0 8
      .idea/gradle.xml
  2. 39 29
      app/src/main/AndroidManifest.xml
  3. 13 0
      app/src/main/java/com/sheep/gamegroup/IBase/IBasePresenter.java
  4. 12 0
      app/src/main/java/com/sheep/gamegroup/IBase/IBaseView.java
  5. 22 0
      app/src/main/java/com/sheep/gamegroup/absBase/BaseUMActivity.java
  6. 16 0
      app/src/main/java/com/sheep/gamegroup/di/components/TaskListComponent.java
  7. 16 0
      app/src/main/java/com/sheep/gamegroup/di/components/WithdrawalListComponent.java
  8. 22 0
      app/src/main/java/com/sheep/gamegroup/di/modules/TaskListModule.java
  9. 22 0
      app/src/main/java/com/sheep/gamegroup/di/modules/WishdrawalListModule.java
  10. 35 12
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  11. 72 0
      app/src/main/java/com/sheep/gamegroup/model/entity/RecyleObj.java
  12. 14 0
      app/src/main/java/com/sheep/gamegroup/model/entity/RecyleType.java
  13. 3 1
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskAcceptedEty.java
  14. 12 1
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java
  15. 3 1
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskReleaseEty.java
  16. 143 0
      app/src/main/java/com/sheep/gamegroup/model/entity/WithdrawalEty.java
  17. 2 1
      app/src/main/java/com/sheep/gamegroup/model/util/AddPuplicParameIntercept.java
  18. 23 0
      app/src/main/java/com/sheep/gamegroup/presenter/AskGetMoneyContract.java
  19. 57 0
      app/src/main/java/com/sheep/gamegroup/presenter/AskGetMoneyPresenter.java
  20. 4 2
      app/src/main/java/com/sheep/gamegroup/presenter/LoginContract.java
  21. 30 0
      app/src/main/java/com/sheep/gamegroup/presenter/LoginPresenter.java
  22. 1 1
      app/src/main/java/com/sheep/gamegroup/presenter/PhonePresenter.java
  23. 17 0
      app/src/main/java/com/sheep/gamegroup/presenter/TaskListContract.java
  24. 25 0
      app/src/main/java/com/sheep/gamegroup/presenter/TaskListPresenter.java
  25. 2 0
      app/src/main/java/com/sheep/gamegroup/presenter/TryMakeMoneyContract.java
  26. 2 2
      app/src/main/java/com/sheep/gamegroup/presenter/TryMakeMoneyPresenter.java
  27. 17 0
      app/src/main/java/com/sheep/gamegroup/presenter/WithdrawalListContract.java
  28. 56 0
      app/src/main/java/com/sheep/gamegroup/presenter/WithdrawalListPresenter.java
  29. 0 18
      app/src/main/java/com/sheep/gamegroup/presenter/WithdrawalPresenter.java
  30. 43 0
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  31. 8 0
      app/src/main/java/com/sheep/gamegroup/util/ConnectAddress.java
  32. 110 0
      app/src/main/java/com/sheep/gamegroup/util/FastJsonUtils.java
  33. 37 1
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  34. 11 0
      app/src/main/java/com/sheep/gamegroup/util/ResposeCode.java
  35. 7 0
      app/src/main/java/com/sheep/gamegroup/util/TimeUtil.java
  36. 241 0
      app/src/main/java/com/sheep/gamegroup/util/ViewHolder.java
  37. 14 0
      app/src/main/java/com/sheep/gamegroup/util/XXTEA.java
  38. 13 4
      app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java
  39. 110 0
      app/src/main/java/com/sheep/gamegroup/view/activity/DialogActivity.java
  40. 70 65
      app/src/main/java/com/sheep/gamegroup/view/activity/LoginAct.java
  41. 2 2
      app/src/main/java/com/sheep/gamegroup/view/activity/PersonalCenterAct.java
  42. 1 1
      app/src/main/java/com/sheep/gamegroup/view/activity/PhoneAct.java
  43. 96 0
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskListAct.java
  44. 75 1
      app/src/main/java/com/sheep/gamegroup/view/activity/TryMakeMoneyact.java
  45. 97 0
      app/src/main/java/com/sheep/gamegroup/view/activity/WithdrawalListAct.java
  46. 77 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdbCommonRecycler.java
  47. 79 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/TaskListItemAdp.java
  48. 152 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java
  49. 76 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/WithdrawalListAdp.java
  50. 7 0
      app/src/main/java/com/sheep/gamegroup/view/customview/SProgress.java
  51. 2 4
      app/src/main/java/com/sheep/jiuyan/samllsheep/BaseApplication.java
  52. 10 1
      app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseActivity.java
  53. 6 9
      app/src/main/res/layout/dowanload_item_dialog.xml
  54. 48 51
      app/src/main/res/layout/down_item.xml
  55. 114 0
      app/src/main/res/layout/download_item_dialog.xml
  56. 5 4
      app/src/main/res/layout/homepage_act_layout.xml
  57. 53 8
      app/src/main/res/layout/login_act_layout.xml
  58. 55 0
      app/src/main/res/layout/task_list_item.xml
  59. 1 1
      app/src/main/res/layout/title.xml
  60. 3 2
      app/src/main/res/layout/try_makemoney_act_layout.xml
  61. 6 6
      app/src/main/res/layout/try_makemoney_item.xml
  62. 25 0
      app/src/main/res/layout/try_mkmy_release_task_list.xml
  63. 1 1
      app/src/main/res/layout/withdrawal_item.xml
  64. BIN
      app/src/main/res/mipmap-xhdpi/try_dialog_bg.png
  65. BIN
      app/src/main/res/mipmap-xhdpi/try_dialog_x.png
  66. BIN
      app/src/main/res/mipmap-xhdpi/x_ic_login_qq.png
  67. BIN
      app/src/main/res/mipmap-xhdpi/x_ic_login_wx.png
  68. BIN
      app/src/main/res/mipmap-xxhdpi/try_dialog_bg.png
  69. BIN
      app/src/main/res/mipmap-xxhdpi/try_dialog_x.png
  70. BIN
      app/src/main/res/mipmap-xxhdpi/x_ic_login_qq.png
  71. BIN
      app/src/main/res/mipmap-xxhdpi/x_ic_login_wx.png
  72. 3 0
      app/src/main/res/values/common.xml
  73. 14 0
      app/src/main/res/values/gamegroup_styles.xml
  74. BIN
      datashare/acpg-graph/acpg-cli-1.12.0.jar
  75. BIN
      datashare/acpg/acpg-cli-1.12.0.jar
  76. 14 15
      datashare/datashare.iml
  77. 1 0
      view/build.gradle
  78. 19 20
      view/view.iml

+ 0 - 8
.idea/gradle.xml

@@ -5,14 +5,6 @@
       <GradleProjectSettings>
         <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
-        <option name="modules">
-          <set>
-            <option value="$PROJECT_DIR$" />
-            <option value="$PROJECT_DIR$/app" />
-            <option value="$PROJECT_DIR$/datashare" />
-            <option value="$PROJECT_DIR$/view" />
-          </set>
-        </option>
         <option name="resolveModulePerSourceSet" value="false" />
       </GradleProjectSettings>
     </option>

+ 39 - 29
app/src/main/AndroidManifest.xml

@@ -14,15 +14,11 @@
     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
     <uses-permission android:name="android.permission.GET_TASKS"/>
     <uses-permission android:name="android.permission.READ_LOGS"/>
-
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
     <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
-
-
     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
-
     <!--必须的权限配置-->
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.INTERNET" />
@@ -178,18 +174,11 @@
             android:name=".page.SplashActivity"
             android:screenOrientation="portrait">
 
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-
-                <category android:name="android.intent.category.LAUNCHER"/>
-            </intent-filter>
         </activity>
         <activity
             android:name="com.sheep.gamegroup.view.activity.AskRewardAct"
             android:screenOrientation="portrait">
-
         </activity>
-
         <activity
             android:name="com.sheep.gamegroup.view.activity.FriendAndRewardAct"
             android:screenOrientation="portrait">
@@ -202,7 +191,13 @@
         </activity>
 
         <!--2.0-->
-        <activity android:name="com.sheep.gamegroup.view.activity.LoginAct"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.LoginAct">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.LAUNCHER"/>
+            </intent-filter>
+            </activity>
+
         <activity android:name="com.sheep.gamegroup.view.activity.PhoneAct"/>
         <activity android:name="com.sheep.gamegroup.view.activity.PersonalCenterAct"/>
         <activity android:name="com.sheep.gamegroup.view.activity.WithdrawalAct"/>
@@ -211,6 +206,10 @@
         <activity android:name="com.sheep.gamegroup.view.activity.TryMakeMoneyact"/>
         <activity android:name="com.sheep.gamegroup.view.activity.HomePageAct"/>
         <activity android:name="com.sheep.gamegroup.view.activity.BindDataAct"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.DialogActivity"
+            android:theme="@style/MyDialogActivityTheme"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.TaskListAct"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.WithdrawalListAct"/>
 
         <service android:name=".service.TopService"
                  android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
@@ -224,22 +223,6 @@
                 />
         </service>
 
-        <!--友盟start-->
-        <meta-data
-            android:name="DUANDUAN_GRAPH"
-            android:value="${DUANDUAN_GRAPH}" />
-
-        <meta-data
-            android:name="DUANDUAN_DATASHARE"
-            android:value="${DUANDUAN_DATASHARE}" />
-
-        <meta-data
-            android:name="UMENG_CHANNEL"
-            android:value="${UMENG_CHANNEL_VALUE}" />
-        <meta-data
-            android:name="UMENG_APPKEY"
-            android:value="${UMENG_APPKEY}"/>
-        <!--友盟end-->
 
         <!--半袋米首页-->
         <activity
@@ -398,10 +381,37 @@
                 <action android:name="android.intent.action.PACKAGE_ADDED" />
                 <action android:name="android.intent.action.PACKAGE_REMOVED" />
                 <action android:name="android.intent.action.PACKAGE_REPLACED" />
-
                 <data android:scheme="package" />
             </intent-filter>
         </receiver>
+
+        <activity
+            android:name="com.tencent.tauth.AuthActivity"
+            android:launchMode="singleTask"
+            android:noHistory="true" >
+
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <data android:scheme="tencent101461115" />
+            </intent-filter>
+
+        </activity>
+
+        <activity
+            android:name="com.tencent.connect.common.AssistActivity"
+            android:screenOrientation="portrait"
+            android:theme="@android:style/Theme.Translucent.NoTitleBar"
+            android:configChanges="orientation|keyboardHidden|screenSize"/>
+
+
+        <!--友盟start-->
+        <meta-data
+            android:name="UMENG_APPKEY"
+            android:value="5ab0a1da8f4a9d742900035f"></meta-data>
+        <meta-data android:value="xxx" android:name="UMENG_CHANNEL"/>
+
     </application>
 
 

+ 13 - 0
app/src/main/java/com/sheep/gamegroup/IBase/IBasePresenter.java

@@ -0,0 +1,13 @@
+package com.sheep.gamegroup.IBase;
+
+import java.util.HashMap;
+
+/**
+ * Created by Administrator on 2018/3/21.
+ */
+
+public interface IBasePresenter {
+
+    void getTask(HashMap<String,Object> map);
+
+}

+ 12 - 0
app/src/main/java/com/sheep/gamegroup/IBase/IBaseView.java

@@ -0,0 +1,12 @@
+package com.sheep.gamegroup.IBase;
+
+/**
+ * Created by Administrator on 2018/3/21.
+ */
+
+public interface IBaseView {
+
+    void  NetSuccess(int code,String msg);
+    void  NetError(int code ,String  errorMsg);
+
+}

+ 22 - 0
app/src/main/java/com/sheep/gamegroup/absBase/BaseUMActivity.java

@@ -0,0 +1,22 @@
+package com.sheep.gamegroup.absBase;
+
+import android.content.Intent;
+
+import com.sheep.jiuyan.samllsheep.base.BaseActivity;
+import com.umeng.socialize.UMShareAPI;
+
+/**
+ * Created by Administrator on 2018/3/21.
+ */
+
+public  abstract  class BaseUMActivity extends BaseActivity {
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
+
+
+    }
+
+}

+ 16 - 0
app/src/main/java/com/sheep/gamegroup/di/components/TaskListComponent.java

@@ -0,0 +1,16 @@
+package com.sheep.gamegroup.di.components;
+
+import com.sheep.gamegroup.di.modules.TaskListModule;
+import com.sheep.gamegroup.di.scopes.UserScope;
+import com.sheep.gamegroup.view.activity.TaskListAct;
+
+import dagger.Component;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+@UserScope
+@Component(modules = TaskListModule.class, dependencies = NetComponent.class)
+public interface TaskListComponent {
+    void inject(TaskListAct taskListAct);
+}

+ 16 - 0
app/src/main/java/com/sheep/gamegroup/di/components/WithdrawalListComponent.java

@@ -0,0 +1,16 @@
+package com.sheep.gamegroup.di.components;
+
+import com.sheep.gamegroup.di.modules.WishdrawalListModule;
+import com.sheep.gamegroup.di.scopes.UserScope;
+import com.sheep.gamegroup.view.activity.WithdrawalListAct;
+
+import dagger.Component;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+@UserScope
+@Component(modules = WishdrawalListModule.class, dependencies = NetComponent.class)
+public interface WithdrawalListComponent {
+    void inject(WithdrawalListAct withdrawalListAct);
+}

+ 22 - 0
app/src/main/java/com/sheep/gamegroup/di/modules/TaskListModule.java

@@ -0,0 +1,22 @@
+package com.sheep.gamegroup.di.modules;
+
+import com.sheep.gamegroup.presenter.TaskListContract;
+
+import dagger.Module;
+import dagger.Provides;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+@Module
+public class TaskListModule {
+    private TaskListContract.View view;
+
+    public TaskListModule(TaskListContract.View view) {
+        this.view = view;
+    }
+    @Provides
+    public TaskListContract.View provideView(){
+        return view;
+    }
+}

+ 22 - 0
app/src/main/java/com/sheep/gamegroup/di/modules/WishdrawalListModule.java

@@ -0,0 +1,22 @@
+package com.sheep.gamegroup.di.modules;
+
+import com.sheep.gamegroup.presenter.WithdrawalListContract;
+
+import dagger.Module;
+import dagger.Provides;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+@Module
+public class WishdrawalListModule {
+    private WithdrawalListContract.View view;
+
+    public WishdrawalListModule(WithdrawalListContract.View view) {
+        this.view = view;
+    }
+    @Provides
+    public WithdrawalListContract.View provideView(){
+        return view;
+    }
+}

+ 35 - 12
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -21,6 +21,8 @@ import retrofit2.http.QueryMap;
 import retrofit2.http.Streaming;
 import rx.Observable;
 
+import static com.sheep.gamegroup.util.ConnectAddress.*;
+
 /**
  * 暂时没接口
  * Created by ljy on 2018/3/8.
@@ -40,37 +42,37 @@ public interface ApiService {
      * @return
      */
     @Streaming
-    @POST(ConnectAddress.V1+"app/auth/sms_for_login/")
+    @POST(V1+"app/auth/sms_for_login/")
     Observable<BaseMessage> getCaptcha(@Body JSONObject jsonObject);
 
-    @POST(ConnectAddress.V1+"app/auth/login_by_sms/")
+    @POST(V1+"app/auth/login_by_sms/")
     Observable<BaseMessage> loginByCaptcha(@Body com.alibaba.fastjson.JSONObject jsonObject);
 
     /**
      * 获取用户信息
      */
-    @GET(ConnectAddress.V1+"app/user/get_info/")
+    @GET(V1+"app/user/get_info/")
     Observable<BaseMessage> getInfo();
 
     /**
      * 绑定手机号
      */
-    @PUT(ConnectAddress.V1+"app/user/bind_mobile/")
+    @PUT(V1+"app/user/bind_mobile/")
     Observable<BaseMessage> bindMobile(@Query("mobile") String mobile, @Query("sec_code") String sec_code);
     /**
      * 绑定真实姓名
      */
-    @PUT(ConnectAddress.V1+"app/user/bind_real_name/")
+    @PUT(V1+"app/user/bind_real_name/")
     Observable<BaseMessage> bindRealname(@Query("real_name") String real_name);
     /**
      * 绑定身份证号
      */
-    @PUT(ConnectAddress.V1+"app/user/bind_id_number/")
+    @PUT(V1+"app/user/bind_id_number/")
     Observable<BaseMessage> bindIdNumber(@Query("id_number") String id_number);
     /**
      * 绑定银行卡
      */
-    @PUT(ConnectAddress.V1+"app/user/bind_bank_card/")
+    @PUT(V1+"app/user/bind_bank_card/")
     Observable<BaseMessage> bindBankCard(@Query("bank_card") String bank_card);
 
     /**
@@ -79,31 +81,52 @@ public interface ApiService {
      * type "体现渠道 1:微信 2:支付宝 3:手机充值"
      * now only 1:微信
      */
-    @POST(ConnectAddress.V1 + "app/withdraw/")
+    @POST(V1 + "app/withdraw/")
     Observable<BaseMessage> goWithdrawal(@Body JSONObject parame);
 
     /**
      * 提现绑定微信号
      */
-    @GET(ConnectAddress.V1 + "app/user/bind_wx/")
+    @GET(V1 + "app/user/bind_wx/")
     Observable<BaseMessage> bindWeixin(@Query("code") String code);
 
     /**
      * 获取已接受任务
      */
-    @GET(ConnectAddress.V1 + "app/accepted_task/")
+    @GET(V1 + "app/accepted_task/")
     Observable<BaseMessage> acceptedTask(@Query("page") int page, @Query("per_page") int per_page);
 
     /**
      * 获取自己正在运行的任务
      */
-    @GET(ConnectAddress.V1 + "/app/accepted_task/run_task/")
+    @GET(V1 + "/app/accepted_task/run_task/")
     Observable<BaseMessage> returnTask();
 
     /**
      * 获取正在运行的任务
      */
-    @GET(ConnectAddress.V1 + "/app/release_task/")
+    @GET(V1 + "/app/release_task/")
     Observable<BaseMessage> releaseTask();
 
+
+    /**
+     * 获取正在运行的任务
+     */
+    @GET(V1+"/app/auth/login_by_we_chat")
+    Observable<BaseMessage> LoginByWX(@Body JSONObject jsonObject);
+
+
+
+    /**
+     * 邀请赚钱
+     */
+    @GET(V1+"/app/auth/login_by_we_chat")
+    Observable<BaseMessage> askMakeMoney(@Body String jsonObject);
+    /**
+     * 用户提现记录
+     */
+    @GET(V1 + "app/withdraw/")
+    Observable<BaseMessage> goWithdrawal(@Query("page") int page, @Query("per_page") int per_page, @Query("start_time ") String start_time , @Query("end_time ") String end_time );
+
+
 }

+ 72 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RecyleObj.java

@@ -0,0 +1,72 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by ljy on 2018/3/20.
+ */
+
+public class RecyleObj  implements Serializable {
+
+    private RecyleType recyleType;
+
+    private int index;
+
+    private Object dataObj;
+
+    public int getIndex() {
+        return index;
+    }
+
+    public void setIndex(int index) {
+        this.index = index;
+    }
+
+    public Object getDataObj() {
+        return dataObj;
+    }
+
+    public <T> T getDataObjT() {
+        return (T) dataObj;
+    }
+
+    public <T> T getDataObjT(T classz) {
+        return (T) dataObj;
+    }
+
+    public void setDataObj(Object dataObj) {
+        this.dataObj = dataObj;
+    }
+
+    public RecyleType getRecyleType() {
+        return recyleType;
+    }
+
+    public void setRecyleType(RecyleType recyleType) {
+        this.recyleType = recyleType;
+    }
+
+
+    /**
+     * 生成指定RecyleView的类
+     *
+     * @param recyleType
+     * @param dataObj
+     * @return
+     */
+    public static RecyleObj make(RecyleType recyleType, Object dataObj) {
+        RecyleObj recyleObj = new RecyleObj();
+        recyleObj.setRecyleType(recyleType);
+        recyleObj.setDataObj(dataObj);
+        return recyleObj;
+    }
+
+    public static RecyleObj make(RecyleType recyleType, Object dataObj, int position) {
+        RecyleObj recyleObj = new RecyleObj();
+        recyleObj.setRecyleType(recyleType);
+        recyleObj.setDataObj(dataObj);
+        recyleObj.setIndex(position);
+        return recyleObj;
+    }
+
+}

+ 14 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RecyleType.java

@@ -0,0 +1,14 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by ljy on 2018/3/20.
+ */
+
+public enum RecyleType  implements Serializable {
+
+    NONE,//无用占位
+    RELEASE_TASK,//获取已发布的
+    RUN_TASK,//获取我正在运行的任务
+}

+ 3 - 1
app/src/main/java/com/sheep/gamegroup/model/entity/TaskAcceptedEty.java

@@ -1,11 +1,13 @@
 package com.sheep.gamegroup.model.entity;
 
+import java.io.Serializable;
+
 /**
  * 已接受任务
  * Created by ljy on 2018/3/20.
  */
 
-public class TaskAcceptedEty {
+public class TaskAcceptedEty implements Serializable{
     private String create_time;// 0,
     private String device_id;// "string",
     private String id;// 0,

+ 12 - 1
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -1,11 +1,13 @@
 package com.sheep.gamegroup.model.entity;
 
+import java.io.Serializable;
+
 /**
  * 任务
  * Created by ljy on 2018/3/20.
  */
 
-public class TaskEty {
+public class TaskEty implements Serializable{
     private String boot_address;//private String string",
     private String create_time;// 0,
     private String download_link;//private String string",
@@ -17,6 +19,15 @@ public class TaskEty {
     private String task_name;//private String string",
     private String task_type;// 0,
     private String update_time;// 0
+    private String icon;
+
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
 
     public String getBoot_address() {
         return boot_address;

+ 3 - 1
app/src/main/java/com/sheep/gamegroup/model/entity/TaskReleaseEty.java

@@ -1,11 +1,13 @@
 package com.sheep.gamegroup.model.entity;
 
+import java.io.Serializable;
+
 /**
  * 获取已经发布任务
  * Created by ljy on 2018/3/20.
  */
 
-public class TaskReleaseEty {
+public class TaskReleaseEty implements Serializable{
     private String bonus;// 0,
     private String create_time;// 0,
     private String deadline;// 0,

+ 143 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/WithdrawalEty.java

@@ -0,0 +1,143 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+
+public class WithdrawalEty {
+    private String amount;// 0,
+    private String create_time;// 0,
+    private String desc;// "string",
+    private String id;// 0,
+    private String order_no;// "string",
+    private String pay_status;// 0,
+    private String risk_status;// 0,
+    private String status;// 0,
+    private String surplus_amount;// 0,
+    private String total_amount;// 0,
+    private String type;// 0,
+    private String update_time;// 0,
+    private String user_id;// 0,
+    private String wx_resp_content;// "string"
+    private UserEntity user;
+
+    public String getAmount() {
+        return amount;
+    }
+
+    public void setAmount(String amount) {
+        this.amount = amount;
+    }
+
+    public String getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(String create_time) {
+        this.create_time = create_time;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getOrder_no() {
+        return order_no;
+    }
+
+    public void setOrder_no(String order_no) {
+        this.order_no = order_no;
+    }
+
+    public String getPay_status() {
+        return pay_status;
+    }
+
+    public void setPay_status(String pay_status) {
+        this.pay_status = pay_status;
+    }
+
+    public String getRisk_status() {
+        return risk_status;
+    }
+
+    public void setRisk_status(String risk_status) {
+        this.risk_status = risk_status;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getSurplus_amount() {
+        return surplus_amount;
+    }
+
+    public void setSurplus_amount(String surplus_amount) {
+        this.surplus_amount = surplus_amount;
+    }
+
+    public String getTotal_amount() {
+        return total_amount;
+    }
+
+    public void setTotal_amount(String total_amount) {
+        this.total_amount = total_amount;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getUpdate_time() {
+        return update_time;
+    }
+
+    public void setUpdate_time(String update_time) {
+        this.update_time = update_time;
+    }
+
+    public String getUser_id() {
+        return user_id;
+    }
+
+    public void setUser_id(String user_id) {
+        this.user_id = user_id;
+    }
+
+    public String getWx_resp_content() {
+        return wx_resp_content;
+    }
+
+    public void setWx_resp_content(String wx_resp_content) {
+        this.wx_resp_content = wx_resp_content;
+    }
+
+    public UserEntity getUser() {
+        return user;
+    }
+
+    public void setUser(UserEntity user) {
+        this.user = user;
+    }
+}

+ 2 - 1
app/src/main/java/com/sheep/gamegroup/model/util/AddPuplicParameIntercept.java

@@ -36,7 +36,8 @@ public class AddPuplicParameIntercept implements Interceptor {
     private Request addParam(Request oldRequest) {
         HttpUrl.Builder b = oldRequest.url()
                 .newBuilder()
-                .setEncodedQueryParameter("test","test")
+                .setQueryParameter("test3","test3")
+                .addQueryParameter("test","test")
                 .setEncodedQueryParameter("test2","test2");
         Request r = oldRequest.newBuilder()
                 .addHeader("Authorization", SpUtils.getOpenId(SheepApp.mContext)+"")//header 会覆盖以前的  header

+ 23 - 0
app/src/main/java/com/sheep/gamegroup/presenter/AskGetMoneyContract.java

@@ -0,0 +1,23 @@
+package com.sheep.gamegroup.presenter;
+
+import com.sheep.gamegroup.IBase.IBasePresenter;
+import com.sheep.gamegroup.IBase.IBaseView;
+
+/**
+ * Created by Administrator on 2018/3/21.
+ */
+
+public interface AskGetMoneyContract {
+
+
+    interface Presenter extends IBasePresenter{
+
+
+
+    }
+    interface View extends IBaseView{
+
+    }
+
+
+}

+ 57 - 0
app/src/main/java/com/sheep/gamegroup/presenter/AskGetMoneyPresenter.java

@@ -0,0 +1,57 @@
+package com.sheep.gamegroup.presenter;
+
+import com.sheep.gamegroup.IBase.IBasePresenter;
+import com.sheep.gamegroup.IBase.IBaseView;
+import com.sheep.gamegroup.model.api.ApiService;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.util.FastJsonUtils;
+import com.sheep.gamegroup.util.ResposeCode;
+import com.sheep.gamegroup.util.XXTEA;
+
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+
+import rx.Observer;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by Administrator on 2018/3/21.
+ */
+
+public class AskGetMoneyPresenter implements AskGetMoneyContract.Presenter {
+    private AskGetMoneyContract.View view;
+    private ApiService apiService;
+    public  AskGetMoneyPresenter(AskGetMoneyContract.View view, ApiService apiService){
+         this.view=view;
+         this.apiService=apiService;
+
+    }
+
+    @Override
+    public void getTask(HashMap<String, Object> map) {
+
+            apiService.askMakeMoney( FastJsonUtils.collectToString(map)).subscribeOn(Schedulers.io())
+                    .subscribe(new Observer<BaseMessage>() {
+                        @Override
+                        public void onCompleted() {
+
+                        }
+                        @Override
+                        public void onError(Throwable throwable) {
+                            view.NetError(ResposeCode.ERROR_NETWORK,throwable.getMessage().toString());
+                        }
+
+                        @Override
+                        public void onNext(BaseMessage baseMessage) {
+
+
+
+                        }
+                    });
+
+    }
+
+
+
+
+}

+ 4 - 2
app/src/main/java/com/sheep/gamegroup/presenter/LoginContract.java

@@ -1,5 +1,7 @@
 package com.sheep.gamegroup.presenter;
 
+import com.sheep.gamegroup.IBase.IBaseView;
+
 /**
  * Created by Administrator on 2018/3/10.
  */
@@ -7,10 +9,10 @@ package com.sheep.gamegroup.presenter;
 public interface LoginContract {
 
     interface Presenter{
-
+        void logByAuther(String openid);
     }
 
-    interface View{
+    interface View extends IBaseView{
 
     }
 }

+ 30 - 0
app/src/main/java/com/sheep/gamegroup/presenter/LoginPresenter.java

@@ -1,9 +1,15 @@
 package com.sheep.gamegroup.presenter;
 
+import android.widget.Toast;
+
 import com.sheep.gamegroup.model.api.ApiService;
+import com.sheep.gamegroup.model.entity.BaseMessage;
 
 import javax.inject.Inject;
 
+import rx.Observer;
+import rx.schedulers.Schedulers;
+
 /**
  * Created by Administrator on 2018/3/10.
  */
@@ -17,4 +23,28 @@ public class LoginPresenter implements LoginContract.Presenter {
         this.view = view;
         this.apiService = apiService;
     }
+
+
+
+    @Override
+    public void logByAuther(String openid) {
+        //        apiService.LoginByWX().subscribeOn(Schedulers.io())
+//                .subscribe(new Observer<BaseMessage>() {
+//                    @Override
+//                    public void onCompleted() {
+//
+//                    }
+//
+//                    @Override
+//                    public void onError(Throwable throwable) {
+//                        view.NetError(-1,throwable.getMessage().toString());
+//                    }
+//
+//                    @Override
+//                    public void onNext(BaseMessage baseMessage) {
+//
+//
+//                    }
+//                });
+    }
 }

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

@@ -36,6 +36,7 @@ public class PhonePresenter implements PhoneContract.Presenter {
     public PhonePresenter(PhoneContract.View view, ApiService apiService) {
         this.view = view;
         this.apiService = apiService;
+
     }
 
     @Override
@@ -46,7 +47,6 @@ public class PhonePresenter implements PhoneContract.Presenter {
             Log.e("hash-map", map.toString());
             com.alibaba.fastjson.JSONObject j = new com.alibaba.fastjson.JSONObject();
             j.put("account", telphone);
-//        String encry = XXTEA.Encrypt(j.toString(),XXTEA.KEY);
             String encry = XXTEA.bytes2HexStr(XXTEA.Encrypt(j.toString(), XXTEA.KEY).getBytes("utf-8"));
             Log.e("encry----", com.alibaba.fastjson.JSONObject.toJSONString(encry));
             apiService.getCaptcha(j)

+ 17 - 0
app/src/main/java/com/sheep/gamegroup/presenter/TaskListContract.java

@@ -0,0 +1,17 @@
+package com.sheep.gamegroup.presenter;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+
+public interface TaskListContract {
+
+    interface Presenter{
+        void acceptedTask(int page, int pre_page);
+    }
+    interface View{
+
+        void updataView(Object o);
+        void failView(Object o);
+    }
+}

+ 25 - 0
app/src/main/java/com/sheep/gamegroup/presenter/TaskListPresenter.java

@@ -0,0 +1,25 @@
+package com.sheep.gamegroup.presenter;
+
+import com.sheep.gamegroup.model.api.ApiService;
+
+import javax.inject.Inject;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+
+public class TaskListPresenter implements TaskListContract.Presenter {
+    private TaskListContract.View view;
+    private ApiService apiService;
+
+    @Inject
+    public TaskListPresenter(TaskListContract.View view, ApiService apiService) {
+        this.view = view;
+        this.apiService = apiService;
+    }
+
+    @Override
+    public void acceptedTask(int page, int pre_page) {
+
+    }
+}

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/presenter/TryMakeMoneyContract.java

@@ -23,5 +23,7 @@ public interface TryMakeMoneyContract {
 
         void returnTaskTaskUpdataView(Object o);
         void failReturnTask2View(Object o);
+        void releaseTaskTaskUpdataView(Object o);
+        void failReleaseTask2View(Object o);
     }
 }

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/presenter/TryMakeMoneyPresenter.java

@@ -63,7 +63,7 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
 
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        view.updateData2View(baseMessage);
+                        view.returnTaskTaskUpdataView(baseMessage);
 
                     }
                 });
@@ -82,7 +82,7 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
 
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        view.updateData2View(baseMessage);
+                        view.releaseTaskTaskUpdataView(baseMessage);
 
                     }
                 });

+ 17 - 0
app/src/main/java/com/sheep/gamegroup/presenter/WithdrawalListContract.java

@@ -0,0 +1,17 @@
+package com.sheep.gamegroup.presenter;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+
+public interface WithdrawalListContract {
+    interface Presenter{
+        void goWithdrawal(int page, int per_page, String start_time, String end_time);
+    }
+    interface View{
+
+        void updataView(Object o);
+        void failView(Object o);
+
+    }
+}

+ 56 - 0
app/src/main/java/com/sheep/gamegroup/presenter/WithdrawalListPresenter.java

@@ -0,0 +1,56 @@
+package com.sheep.gamegroup.presenter;
+
+import com.alibaba.fastjson.JSONObject;
+import com.sheep.gamegroup.model.api.ApiService;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.util.ExceptionHandle;
+import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+
+import javax.inject.Inject;
+
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+
+public class WithdrawalListPresenter implements WithdrawalListContract.Presenter {
+
+    private WithdrawalListContract.View view;
+    private ApiService apiService;
+
+    @Inject
+    public WithdrawalListPresenter(WithdrawalListContract.View view, ApiService apiService) {
+        this.view = view;
+        this.apiService = apiService;
+    }
+
+    @Override
+    public void goWithdrawal(int page, int per_page, String start_time, String end_time) {
+
+        apiService.goWithdrawal(page, per_page, start_time, end_time)
+                .subscribeOn(Schedulers.io())
+                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(ExceptionHandle.ResponeThrowable throwable) {
+                        int statusCode = throwable.code;
+                        switch (statusCode){
+                            case ExceptionHandle.ERROR.BAD_REQUEST_ERROR://400
+                            default:
+                                try {
+                                    view.failView(JSONObject.parseObject(throwable.message, BaseMessage.class));
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                }
+                                break;
+                        }
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        view.updataView(baseMessage);
+                    }
+                });
+    }
+}

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

@@ -53,23 +53,5 @@ public class WithdrawalPresenter implements WithdrawalContract.Presenter {
                         view.updateView(baseMessage);
                     }
                 });
-        apiService.goWithdrawal(jsonObject)
-                .subscribeOn(Schedulers.io())
-                .subscribe(new Observer<BaseMessage>() {
-                    @Override
-                    public void onCompleted() {
-
-                    }
-
-                    @Override
-                    public void onError(Throwable throwable) {
-                        view.failData(throwable.getMessage());
-                    }
-
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        view.updateView(baseMessage);
-                    }
-                });
     }
 }

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

@@ -0,0 +1,43 @@
+package com.sheep.gamegroup.util;
+
+/**
+ * 一些公用的class
+ * Created by ljy on 2018/3/21.
+ */
+
+public class CommonUtil {
+    private static CommonUtil commonUtil;
+
+    public static CommonUtil getInstance(){
+        if(commonUtil == null){
+            commonUtil = new CommonUtil();
+        }
+        return commonUtil;
+    }
+
+    /**
+     * 返回提现审核结果
+     * 审核状态 0未审核 1系统审核通过 2系统审核不通过等待人工审核 3人工审核不通过 4人工审核通过
+     */
+    public String returnAuditResult(int type){
+        String result = "未审核";
+        switch (type){
+            case 0:
+                result = "系统审核通过";
+                break;
+            case 1:
+                result = "未审核";
+                break;
+            case 2:
+                result = "等待人工审核";
+                break;
+            case 3:
+                result = "人工审核不通过";
+                break;
+            case 4:
+                result = "人工审核通过";
+                break;
+        }
+        return result;
+    }
+}

+ 8 - 0
app/src/main/java/com/sheep/gamegroup/util/ConnectAddress.java

@@ -16,4 +16,12 @@ public class ConnectAddress {
      * 接口地址
      */
     public static final String APP_URL = BASE_HTTP;
+
+    private  static String   getAddress(){
+
+        return BASE_HTTP+V1;
+    }
+
+
+
 }

+ 110 - 0
app/src/main/java/com/sheep/gamegroup/util/FastJsonUtils.java

@@ -0,0 +1,110 @@
+package com.sheep.gamegroup.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer;
+import com.alibaba.fastjson.serializer.SerializeConfig;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+
+import org.xutils.common.util.KeyValue;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * fastjson工具类
+ * @version:1.0.0
+ */
+public class FastJsonUtils{
+
+    private static final SerializeConfig config;
+
+    static {
+        config = new SerializeConfig();
+        config.put(java.util.Date.class, new JSONLibDataFormatSerializer()); // 使用和json-lib兼容的日期输出格式
+        config.put(java.sql.Date.class, new JSONLibDataFormatSerializer()); // 使用和json-lib兼容的日期输出格式
+    }
+
+    private static final SerializerFeature[] features = {SerializerFeature.WriteMapNullValue, // 输出空置字段
+            SerializerFeature.WriteNullListAsEmpty, // list字段如果为null,输出为[],而不是null
+            SerializerFeature.WriteNullNumberAsZero, // 数值字段如果为null,输出为0,而不是null
+            SerializerFeature.WriteNullBooleanAsFalse, // Boolean字段如果为null,输出为false,而不是null
+            SerializerFeature.WriteNullStringAsEmpty // 字符类型字段如果为null,输出为"",而不是null
+    };
+
+
+    public static String toJSONString(Object object) {
+        return JSON.toJSONString(object, config, features);
+    }
+
+    public static String toJSONNoFeatures(Object object) {
+        return JSON.toJSONString(object, config);
+    }
+
+
+
+    public static Object toBean(String text) {
+        return JSON.parse(text);
+    }
+
+    public static <T> T toBean(String text, Class<T> clazz) {
+        return JSON.parseObject(text, clazz);
+    }
+
+    // 转换为数组
+    public static <T> Object[] toArray(String text) {
+        return toArray(text, null);
+    }
+
+    // 转换为数组
+    public static <T> Object[] toArray(String text, Class<T> clazz) {
+        return JSON.parseArray(text, clazz).toArray();
+    }
+
+    // 转换为List
+    public static <T> List<T> toList(String text, Class<T> clazz) {
+        return JSON.parseArray(text, clazz);
+    }
+
+    /**
+     * 将javabean转化为序列化的json字符串
+     * @param keyvalue
+     * @return
+     */
+    public static Object beanToJson(KeyValue keyvalue) {
+        String textJson = JSON.toJSONString(keyvalue);
+        Object objectJson  = JSON.parse(textJson);
+        return objectJson;
+    }
+
+    /**
+     * 将string转化为序列化的json字符串
+     * @param
+     * @return
+     */
+    public static Object textToJson(String text) {
+        Object objectJson  = JSON.parse(text);
+        return objectJson;
+    }
+
+    /**
+     * json字符串转化为map
+     * @param s
+     * @return
+     */
+    public static Map stringToCollect(String s) {
+        Map m = JSONObject.parseObject(s);
+        return m;
+    }
+
+    /**
+     * 将map转化为string
+     * @param m
+     * @return
+     */
+    public static String collectToString(Map m) {
+        String s = JSONObject.toJSONString(m);
+        return s;
+    }
+
+}

+ 37 - 1
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -2,16 +2,21 @@ package com.sheep.gamegroup.util;
 
 import android.content.Context;
 import android.content.Intent;
+import android.os.Bundle;
 
+import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.view.activity.AuthenticationAct;
 import com.sheep.gamegroup.view.activity.BindDataAct;
 import com.sheep.gamegroup.view.activity.BindOrChangeWeixinAct;
+import com.sheep.gamegroup.view.activity.DialogActivity;
 import com.sheep.gamegroup.view.activity.HomePageAct;
 import com.sheep.gamegroup.view.activity.LoginAct;
 import com.sheep.gamegroup.view.activity.PersonalCenterAct;
 import com.sheep.gamegroup.view.activity.PhoneAct;
+import com.sheep.gamegroup.view.activity.TaskListAct;
 import com.sheep.gamegroup.view.activity.TryMakeMoneyact;
 import com.sheep.gamegroup.view.activity.WithdrawalAct;
+import com.sheep.gamegroup.view.activity.WithdrawalListAct;
 import com.sheep.gamegroup.view.activity.WithdrawalResultAct;
 
 import javax.inject.Inject;
@@ -146,10 +151,41 @@ public class Jump2View {
      * @param context
      * @param o
      */
-    public void goBindDataView(Context context, Object o){
+    public void goBindDataView(Context context, Object o) {
         Intent intent = new Intent(context, BindDataAct.class);
         intent.putExtra("stype", o.toString());
         context.startActivity(intent);
     }
 
+    /**
+     * 跳出弹框页面
+     * @param context
+     * @param o
+     */
+    public void goDialogActivityView(Context context, TaskEty o){
+        Intent intent = new Intent(context, DialogActivity.class);
+        intent.putExtra("task_entity", o);
+        context.startActivity(intent);}
+
+    /**
+     * 跳到已做过任务列表页面
+     * @param context
+     * @param o
+     */
+    public void goTaskList2View(Context context, TaskEty o){
+        Intent intent = new Intent(context, TaskListAct.class);
+        intent.putExtra("task_entity", o);
+        context.startActivity(intent);}
+
+    /**
+     * 跳到已提现的列表
+     * @param context
+     * @param o
+     */
+    public void goWithdrawallistView(Context context, TaskEty o){
+        Intent intent = new Intent(context, WithdrawalListAct.class);
+        intent.putExtra("task_entity", o);
+        context.startActivity(intent);
+    }
+
 }

+ 11 - 0
app/src/main/java/com/sheep/gamegroup/util/ResposeCode.java

@@ -0,0 +1,11 @@
+package com.sheep.gamegroup.util;
+
+/**
+ * Created by Administrator on 2018/3/21.
+ */
+
+public  final class ResposeCode {
+    public  static final    int  ERROR_NETWORK =-1;
+    public  static final  int  ERROR_PARAMETER=-2;
+
+}

+ 7 - 0
app/src/main/java/com/sheep/gamegroup/util/TimeUtil.java

@@ -9,6 +9,9 @@ import java.util.Locale;
  * Created by ljy on 2018/3/8.
  */
 public class TimeUtil {
+
+    public static String FORMAT = "yyyy/MM/dd HH:mm";
+
     public static long getCurrentSeconds(){
         long ls = System.currentTimeMillis()/1000;
         return ls;
@@ -47,4 +50,8 @@ public class TimeUtil {
         String str = new SimpleDateFormat(formate, Locale.ENGLISH).format(new Date());
         return str;
     }
+    public static String getDate(String formate, long paramLong){
+        String str = new SimpleDateFormat(formate, Locale.ENGLISH).format(new Date());
+        return str;
+    }
 }

+ 241 - 0
app/src/main/java/com/sheep/gamegroup/util/ViewHolder.java

@@ -0,0 +1,241 @@
+package com.sheep.gamegroup.util;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+import android.text.util.Linkify;
+import android.util.SparseArray;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.animation.AlphaAnimation;
+import android.widget.Checkable;
+import android.widget.ImageView;
+import android.widget.ProgressBar;
+import android.widget.RatingBar;
+import android.widget.TextView;
+
+/**
+ * Created by ljy on 2018/3/20.
+ */
+
+public class ViewHolder extends android.support.v7.widget.RecyclerView.ViewHolder {
+    private SparseArray<View> mViews;
+    private int mPosition;
+    private View mConvertView;
+    private Context mContext;
+    private int mLayoutId;
+
+    public ViewHolder(Context context, View itemView, ViewGroup parent, int position) {
+        super(itemView);
+        this.mContext = context;
+        this.mConvertView = itemView;
+        this.mPosition = position;
+        this.mViews = new SparseArray();
+        this.mConvertView.setTag(this);
+    }
+
+    public static ViewHolder get(Context context, View convertView, ViewGroup parent, int layoutId, int position) {
+        if(convertView == null) {
+            View itemView = LayoutInflater.from(context).inflate(layoutId, parent, false);
+            ViewHolder holder = new ViewHolder(context, itemView, parent, position);
+            holder.mLayoutId = layoutId;
+            return holder;
+        } else {
+            ViewHolder holder = (ViewHolder)convertView.getTag();
+            holder.mPosition = position;
+            return holder;
+        }
+    }
+
+    public <T extends View> T getView(int viewId) {
+        View view = (View)this.mViews.get(viewId);
+        if(view == null) {
+            view = this.mConvertView.findViewById(viewId);
+            this.mViews.put(viewId, view);
+        }
+
+        return (T) view;
+    }
+
+    public <T extends View> T getView(int viewId, Class<T> t) {
+        View view = (View)this.mViews.get(viewId);
+        if(view == null) {
+            view = this.mConvertView.findViewById(viewId);
+            this.mViews.put(viewId, view);
+        }
+
+        return (T) view;
+    }
+
+    public View getConvertView() {
+        return this.mConvertView;
+    }
+
+    public ViewHolder setText(int viewId, String text) {
+        TextView tv = (TextView)this.getView(viewId);
+        tv.setText(text);
+        return this;
+    }
+
+    public ViewHolder setImageResource(int viewId, int resId) {
+        ImageView view = (ImageView)this.getView(viewId);
+        view.setImageResource(resId);
+        return this;
+    }
+
+    public ViewHolder setImageBitmap(int viewId, Bitmap bitmap) {
+        ImageView view = (ImageView)this.getView(viewId);
+        view.setImageBitmap(bitmap);
+        return this;
+    }
+
+    public ViewHolder setImageDrawable(int viewId, Drawable drawable) {
+        ImageView view = (ImageView)this.getView(viewId);
+        view.setImageDrawable(drawable);
+        return this;
+    }
+
+    public ViewHolder setBackgroundColor(int viewId, int color) {
+        View view = this.getView(viewId);
+        view.setBackgroundColor(color);
+        return this;
+    }
+
+    public ViewHolder setBackgroundRes(int viewId, int backgroundRes) {
+        View view = this.getView(viewId);
+        view.setBackgroundResource(backgroundRes);
+        return this;
+    }
+
+    public ViewHolder setTextColor(int viewId, int textColor) {
+        TextView view = (TextView)this.getView(viewId);
+        view.setTextColor(textColor);
+        return this;
+    }
+
+    public ViewHolder setTextColorRes(int viewId, int textColorRes) {
+        TextView view = (TextView)this.getView(viewId);
+        view.setTextColor(this.mContext.getResources().getColor(textColorRes));
+        return this;
+    }
+
+    @SuppressLint({"NewApi"})
+    public ViewHolder setAlpha(int viewId, float value) {
+        if(Build.VERSION.SDK_INT >= 11) {
+            this.getView(viewId).setAlpha(value);
+        } else {
+            AlphaAnimation alpha = new AlphaAnimation(value, value);
+            alpha.setDuration(0L);
+            alpha.setFillAfter(true);
+            this.getView(viewId).startAnimation(alpha);
+        }
+
+        return this;
+    }
+
+    public ViewHolder setVisible(int viewId, boolean visible) {
+        View view = this.getView(viewId);
+        view.setVisibility(visible?View.VISIBLE:View.GONE);
+        return this;
+    }
+
+    public ViewHolder linkify(int viewId) {
+        TextView view = (TextView)this.getView(viewId);
+        Linkify.addLinks(view, Linkify.ALL);
+        return this;
+    }
+
+    public ViewHolder setTypeface(Typeface typeface, int... viewIds) {
+        int[] var3 = viewIds;
+        int var4 = viewIds.length;
+
+        for(int var5 = 0; var5 < var4; ++var5) {
+            int viewId = var3[var5];
+            TextView view = (TextView)this.getView(viewId);
+            view.setTypeface(typeface);
+            view.setPaintFlags(view.getPaintFlags() | 128);
+        }
+
+        return this;
+    }
+
+    public ViewHolder setProgress(int viewId, int progress) {
+        ProgressBar view = (ProgressBar)this.getView(viewId);
+        view.setProgress(progress);
+        return this;
+    }
+
+    public ViewHolder setProgress(int viewId, int progress, int max) {
+        ProgressBar view = (ProgressBar)this.getView(viewId);
+        view.setMax(max);
+        view.setProgress(progress);
+        return this;
+    }
+
+    public ViewHolder setMax(int viewId, int max) {
+        ProgressBar view = (ProgressBar)this.getView(viewId);
+        view.setMax(max);
+        return this;
+    }
+
+    public ViewHolder setRating(int viewId, float rating) {
+        RatingBar view = (RatingBar)this.getView(viewId);
+        view.setRating(rating);
+        return this;
+    }
+
+    public ViewHolder setRating(int viewId, float rating, int max) {
+        RatingBar view = (RatingBar)this.getView(viewId);
+        view.setMax(max);
+        view.setRating(rating);
+        return this;
+    }
+
+    public ViewHolder setTag(int viewId, Object tag) {
+        View view = this.getView(viewId);
+        view.setTag(tag);
+        return this;
+    }
+
+    public ViewHolder setTag(int viewId, int key, Object tag) {
+        View view = this.getView(viewId);
+        view.setTag(key, tag);
+        return this;
+    }
+
+    public ViewHolder setChecked(int viewId, boolean checked) {
+        Checkable view = (Checkable)this.getView(viewId);
+        view.setChecked(checked);
+        return this;
+    }
+
+    public ViewHolder setOnClickListener(int viewId, View.OnClickListener listener) {
+        View view = this.getView(viewId);
+        view.setOnClickListener(listener);
+        return this;
+    }
+
+    public ViewHolder setOnTouchListener(int viewId, View.OnTouchListener listener) {
+        View view = this.getView(viewId);
+        view.setOnTouchListener(listener);
+        return this;
+    }
+
+    public ViewHolder setOnLongClickListener(int viewId, View.OnLongClickListener listener) {
+        View view = this.getView(viewId);
+        view.setOnLongClickListener(listener);
+        return this;
+    }
+
+    public void updatePosition(int position) {
+        this.mPosition = position;
+    }
+
+    public int getLayoutId() {
+        return this.mLayoutId;
+    }
+}

+ 14 - 0
app/src/main/java/com/sheep/gamegroup/util/XXTEA.java

@@ -1,11 +1,13 @@
 package com.sheep.gamegroup.util;
 
+import java.io.UnsupportedEncodingException;
 import java.math.BigInteger;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * XXTEA 加密算法
@@ -211,4 +213,16 @@ public class XXTEA {
 
         return result;
     }
+
+    /**
+     * 将map转换成加密的字符串
+     * @param map
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    public  static String  mapToHashString (Map map) throws UnsupportedEncodingException {
+        return XXTEA.bytes2HexStr(XXTEA.Encrypt(FastJsonUtils.collectToString(map), XXTEA.KEY).getBytes("utf-8"))    ;
+    }
+
+
 }

+ 13 - 4
app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java

@@ -1,25 +1,24 @@
 package com.sheep.gamegroup.view.activity;
 
-import android.os.Bundle;
 import android.view.View;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import com.sheep.gamegroup.absBase.BaseUMActivity;
+import com.sheep.gamegroup.presenter.AskGetMoneyContract;
 import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.base.BaseActivity;
 import com.umeng.socialize.ShareAction;
 import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 
 import butterknife.BindView;
-import butterknife.ButterKnife;
 import butterknife.OnClick;
 
 /**
  * Created by Administrator on 2018/3/19.
  */
 
-public class AskGetMoneyAct extends BaseActivity  implements UMShareListener {
+public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener,AskGetMoneyContract.View {
 
 
     @BindView(R.id.tv_size)
@@ -129,4 +128,14 @@ public class AskGetMoneyAct extends BaseActivity  implements UMShareListener {
     public void onCancel(SHARE_MEDIA share_media) {
 
     }
+
+    @Override
+    public void NetSuccess(int code, String msg) {
+
+    }
+
+    @Override
+    public void NetError(int code, String errorMsg) {
+
+    }
 }

+ 110 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/DialogActivity.java

@@ -0,0 +1,110 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.os.Build;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.annotation.RequiresApi;
+import android.view.View;
+import android.webkit.WebChromeClient;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.view.customview.SProgress;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.download.DownloadManager;
+import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+
+/**
+ * 弹框activity
+ * Created by ljy on 2018/3/20.
+ */
+
+public class DialogActivity extends Activity {
+
+    @BindView(R.id.dialog_item_icon_iv)
+    ImageView dialogItemIconIv;
+    @BindView(R.id.dialog_item_name_tv)
+    TextView dialogItemNameTv;
+    @BindView(R.id.dialog_item_size_tv)
+    TextView dialogItemSizeTv;
+    @BindView(R.id.start_stask_sprogress)
+    SProgress startStaskSprogress;
+    @BindView(R.id.doalog_item_get_rewards_tv)
+    TextView doalogItemGetRewardsTv;
+    @BindView(R.id.webview)
+    WebView webview;
+    private TaskEty task_entity;
+
+    private DownloadManager downloadManager;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.download_item_dialog);
+        ButterKnife.bind(this);
+        initView();
+        initData();
+    }
+
+    private void initData() {
+        downloadManager = DownloadManager.getInstance();
+        webview.loadUrl(task_entity.getBoot_address());
+        Glide.with(this)
+                .load(task_entity.getIcon())
+                .placeholder(R.mipmap.ic_launcher)
+                .dontAnimate()
+                .into(dialogItemIconIv);
+        dialogItemNameTv.setText(task_entity.getTask_name());
+        dialogItemSizeTv.setText( "11M");
+        if (PackageUtil.isAppInstalled(SheepApp.mContext, task_entity.getPackage_names())) {
+            startStaskSprogress.setProgress(100);
+        } else {
+            startStaskSprogress.setProgress(0);
+        }
+
+    }
+
+    private void initView() {
+        task_entity = (TaskEty) getIntent().getSerializableExtra("task_entity");
+        if (task_entity == null) {
+            finish();
+            return;
+        }
+
+        webview.setWebChromeClient(new WebChromeClient() {
+
+        });
+        webview.getSettings().setJavaScriptEnabled(true);
+        webview.setWebViewClient(new WebViewClient() {
+            @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
+                view.loadUrl(request.getUrl().toString());
+                return true;
+            }
+        });
+
+    }
+
+    @OnClick({R.id.doalog_item_get_rewards_tv, R.id.dialog_item_x})
+    public void onViewClicked(View view) {
+        switch (view.getId()) {
+            case R.id.doalog_item_get_rewards_tv:
+                break;
+            case R.id.dialog_item_x:
+                finish();
+                break;
+        }
+    }
+}

+ 70 - 65
app/src/main/java/com/sheep/gamegroup/view/activity/LoginAct.java

@@ -3,32 +3,29 @@ package com.sheep.gamegroup.view.activity;
 import android.Manifest;
 import android.app.Activity;
 import android.content.Intent;
-import android.content.res.Resources;
 import android.os.Build;
 import android.os.Bundle;
 import android.support.v4.app.ActivityCompat;
 import android.view.View;
+import android.widget.ImageView;
 import android.widget.TextView;
-import android.widget.Toast;
 
+import com.sheep.gamegroup.absBase.BaseUMActivity;
 import com.sheep.gamegroup.di.components.DaggerLoginComponent;
-import com.sheep.gamegroup.di.components.LoginComponent;
 import com.sheep.gamegroup.di.modules.LoginModule;
 import com.sheep.gamegroup.presenter.LoginContract;
+import com.sheep.gamegroup.presenter.LoginPresenter;
 import com.sheep.gamegroup.util.ActivityManager;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.base.BaseActivity;
-import com.sheep.jiuyan.samllsheep.page.MainActivity;
-import com.sheep.jiuyan.samllsheep.wxapi.WXEntryActivity;
 import com.umeng.socialize.UMAuthListener;
 import com.umeng.socialize.UMShareAPI;
 import com.umeng.socialize.bean.SHARE_MEDIA;
-import com.umeng.socialize.utils.SocializeUtils;
-import com.uuzuche.lib_zxing.decoding.Intents;
 
 import java.util.Map;
 
+import javax.inject.Inject;
+
 import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnClick;
@@ -37,12 +34,16 @@ import butterknife.OnClick;
  * Created by ljy on 2018/3/8.
  */
 
-public class LoginAct extends BaseActivity implements LoginContract.View{
-    Activity activity;
-    @BindView(R.id.weixin_login_tv)
-    TextView weixinLoginTv;
+public class LoginAct extends BaseUMActivity implements LoginContract.View {
+
+    @Inject
+    LoginPresenter mPresenter;
     @BindView(R.id.tel_login_tv)
     TextView telLoginTv;
+    @BindView(R.id.iv_wx)
+    ImageView ivWx;
+    @BindView(R.id.iv_qq)
+    ImageView ivQq;
 
     @Override
     protected int getLayoutId() {
@@ -51,21 +52,20 @@ public class LoginAct extends BaseActivity implements LoginContract.View{
 
     @Override
     public void initView() {
-        ActivityManager.getInstance().pushActivity(this);
-        activity = this;
+
         DaggerLoginComponent.builder()
                 .netComponent(SheepApp.get(this).getNetComponent())
                 .loginModule(new LoginModule(this))
                 .build()
-        .inject(this);
-        setTvBg(R.id.weixin_login_tv);
+                .inject(this);
+
     }
 
 
-    private  void  requestPremiss(){
-        if(Build.VERSION.SDK_INT>=23){
-            String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CALL_PHONE,Manifest.permission.READ_LOGS,Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.SET_DEBUG_APP,Manifest.permission.SYSTEM_ALERT_WINDOW,Manifest.permission.GET_ACCOUNTS,Manifest.permission.WRITE_APN_SETTINGS};
-            ActivityCompat.requestPermissions(this,mPermissionList,123);
+    private void requestPremiss() {
+        if (Build.VERSION.SDK_INT >= 23) {
+            String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CALL_PHONE, Manifest.permission.READ_LOGS, Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.SET_DEBUG_APP, Manifest.permission.SYSTEM_ALERT_WINDOW, Manifest.permission.GET_ACCOUNTS, Manifest.permission.WRITE_APN_SETTINGS};
+            ActivityCompat.requestPermissions(this, mPermissionList, 123);
         }
     }
 
@@ -77,7 +77,6 @@ public class LoginAct extends BaseActivity implements LoginContract.View{
     }
 
 
-
     @Override
     public void initListener() {
 
@@ -89,87 +88,93 @@ public class LoginAct extends BaseActivity implements LoginContract.View{
     }
 
 
-    @OnClick({R.id.weixin_login_tv, R.id.tel_login_tv})
-    public void onViewClicked(View view) {
-
-        setTvBg(view.getId());
-        switch (view.getId()) {
-            case R.id.weixin_login_tv:
-                goWeixin();
-                break;
-            case R.id.tel_login_tv:
-                goTelLogin();
-                break;
-        }
-    }
-
-
-
 
     private void goTelLogin() {
-        Intent intent = new Intent(activity, PhoneAct.class);
+        Intent intent = new Intent(this, PhoneAct.class);
         startActivity(intent);
-//        finish();
+        finish();
     }
 
     private void goWeixin() {
         UMShareAPI.get(this).doOauthVerify(this, SHARE_MEDIA.WEIXIN, new UMAuthListener() {
             @Override
             public void onStart(SHARE_MEDIA platform) {
-
             }
 
             @Override
             public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
-
+                mPresenter.logByAuther(data.get("openid"));
             }
 
             @Override
             public void onError(SHARE_MEDIA platform, int action, Throwable t) {
-
+                showToast("微信授权失败");
             }
 
             @Override
             public void onCancel(SHARE_MEDIA platform, int action) {
+                showToast("微信授权取消");
 
+            }
+        });
+
+    }
 
 
+    private  void  loginQQ(){
+        UMShareAPI.get(this).doOauthVerify(this, SHARE_MEDIA.QQ, new UMAuthListener() {
+            @Override
+            public void onStart(SHARE_MEDIA platform) {
+
+            }
+
+            @Override
+            public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
+                mPresenter.logByAuther(data.get("openid"));
+            }
+
+            @Override
+            public void onError(SHARE_MEDIA platform, int action, Throwable t) {
+                showToast("微信授权失败");
+            }
+
+            @Override
+            public void onCancel(SHARE_MEDIA platform, int action) {
+                showToast("微信授权取消");
+
             }
         });
 
+
+
     }
+
+
     @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
+    public void NetSuccess(int code, String msg) {
+        showToast(msg);
+    }
 
+    @Override
+    public void NetError(int code, String errorMsg) {
+        showToast(errorMsg);
 
 
     }
 
-    /**
-     * 设置按钮背景
-     */
-    private void setTvBg(int select){
-        switch (select){
-            case R.id.weixin_login_tv:
-                weixinLoginTv.setBackgroundResource(R.drawable.sp_bg_transparency_line_white);
-                weixinLoginTv.setTextColor(getResources().getColor(R.color.white));
-                telLoginTv.setBackgroundColor(getResources().getColor(R.color.transparent));
-                telLoginTv.setTextColor(getResources().getColor(R.color.grgray));
-                break;
+
+    @OnClick({R.id.tel_login_tv, R.id.iv_wx, R.id.iv_qq})
+    public void onViewClicked(View view) {
+        switch (view.getId()) {
             case R.id.tel_login_tv:
-                telLoginTv.setBackgroundResource(R.drawable.sp_bg_transparency_line_white);
-                telLoginTv.setTextColor(getResources().getColor(R.color.white));
-                weixinLoginTv.setBackgroundColor(getResources().getColor(R.color.transparent));
-                weixinLoginTv.setTextColor(getResources().getColor(R.color.grgray));
+                goTelLogin();
                 break;
-            default:
-                weixinLoginTv.setBackgroundResource(R.drawable.sp_bg_transparency_line_white);
-                weixinLoginTv.setTextColor(getResources().getColor(R.color.white));
-                telLoginTv.setBackgroundColor(getResources().getColor(R.color.transparent));
-                telLoginTv.setTextColor(getResources().getColor(R.color.grgray));
+            case R.id.iv_wx:
+                goWeixin();
+                break;
+            case R.id.iv_qq:
+                loginQQ();
                 break;
         }
-
     }
 }

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

@@ -108,9 +108,9 @@ public class PersonalCenterAct extends BaseActivity implements PersonalCenterCon
                 break;
             case R.id.account_safe_layout:
                 break;
-            case R.id.account_task_layout:
+            case R.id.account_task_layout://任务记录
                 break;
-            case R.id.account_detail_layout:
+            case R.id.account_detail_layout://提现明细
                 break;
         }
     }

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

@@ -206,7 +206,7 @@ public class PhoneAct extends BaseActivity implements PhoneContract.View {
         BaseMessage baseMessage = (BaseMessage) o;
 //        JSONObject a = JSON.parseObject(o.toString());
         Log.e("------data",baseMessage.getData()+"");
-        LoginEntity loginEty = JSON.parseObject(baseMessage.getData().toString(), LoginEntity.class);
+        LoginEntity loginEty = JSONObject.parseObject(JSONObject.toJSONString(baseMessage.getData()), LoginEntity.class);
         SpUtils.login(activity, loginEty.getToken());
         try {
             MyDbManager.getInstance().saveOrUpdateUser(loginEty.getUser());

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

@@ -0,0 +1,96 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.widget.ListView;
+
+import com.alibaba.fastjson.JSONArray;
+import com.sheep.gamegroup.di.components.DaggerTaskListComponent;
+import com.sheep.gamegroup.di.modules.TaskListModule;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.RecyleObj;
+import com.sheep.gamegroup.model.entity.RecyleType;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
+import com.sheep.gamegroup.presenter.TaskListContract;
+import com.sheep.gamegroup.presenter.TaskListPresenter;
+import com.sheep.gamegroup.view.adapter.TaskListItemAdp;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.base.BaseActivity;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+/**
+ * 任务列表
+ * Created by ljy on 2018/3/21.
+ */
+
+public class TaskListAct extends BaseActivity implements TaskListContract.View{
+    @BindView(R.id.withdrawal_listview)
+    ListView withdrawalListview;
+
+    @Inject
+    TaskListPresenter presenter;
+    private Activity activity;
+    private TaskListItemAdp adp;
+    private List<TaskAcceptedEty> etyList = new ArrayList<>();
+
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.withdrawal_list;
+    }
+
+    @Override
+    public void initView() {
+        ButterKnife.bind(this);
+        activity = this;
+        DaggerTaskListComponent.builder()
+                .netComponent(SheepApp.get(this).getNetComponent())
+                .taskListModule(new TaskListModule(this))
+                .build()
+                .inject(this);
+        TitleBarUtils.getInstance()
+                .setTitle(this, "任务记录")
+                .setTitleFinish(this);
+        adp = new TaskListItemAdp(activity , etyList);
+
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void updataView(Object o) {
+        hideProgress();
+        try{
+            BaseMessage baseMessage = (BaseMessage) o;
+            List<TaskAcceptedEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskAcceptedEty.class);
+            etyList.clear();
+            etyList.addAll(releaseEtyList);
+            adp.notifyDataSetChanged();
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void failView(Object o) {
+
+    }
+}

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

@@ -2,21 +2,33 @@ package com.sheep.gamegroup.view.activity;
 
 import android.app.Activity;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
 import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.di.components.DaggerTryMakeMoneyComponent;
 import com.sheep.gamegroup.di.modules.TryMakeMoneyModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+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.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.presenter.TryMakeMoneyContract;
 import com.sheep.gamegroup.presenter.TryMakeMoneyPresenter;
 import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseActivity;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
+import java.util.List;
+
 import javax.inject.Inject;
 
 import butterknife.BindView;
@@ -35,6 +47,16 @@ public class TryMakeMoneyact extends BaseActivity implements TryMakeMoneyContrac
     @Inject
     TryMakeMoneyPresenter presenter;
     private Activity activity;
+    private TryMakeMoneyAdp tryMakeMoneyAdp;
+
+    Handler mhandler = new Handler(){
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+
+            tryMakeMoneyAdp.notifyDataSetChanged();
+        }
+    };
 
     @Override
     protected int getLayoutId() {
@@ -50,6 +72,12 @@ public class TryMakeMoneyact extends BaseActivity implements TryMakeMoneyContrac
                 .tryMakeMoneyModule(new TryMakeMoneyModule(this))
                 .build()
                 .inject(this);
+        recyclerview.setLayoutManager(new LinearLayoutManager(activity));
+        tryMakeMoneyAdp = new TryMakeMoneyAdp(this);
+        for (int i = 0; i < 2; i++) {
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        recyclerview.setAdapter(tryMakeMoneyAdp);
     }
 
     @Override
@@ -61,12 +89,26 @@ public class TryMakeMoneyact extends BaseActivity implements TryMakeMoneyContrac
                 refresh.setRefreshing(false);
             }
         });
+        recyclerview.setOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+                super.onScrollStateChanged(recyclerView, newState);
+                int topRowVerticalPosition =
+                        (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop();
+                refresh.setEnabled(topRowVerticalPosition >= 0);
+            }
+
+            @Override
+            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+                super.onScrolled(recyclerView, dx, dy);
+            }
+        });
     }
 
     @Override
     public void initData() {
 
-        presenter.acceptedTask(new RequestParameEty(1, 10));
+        presenter.returnTask(null);
         presenter.releaseTask(null);
     }
 
@@ -107,6 +149,15 @@ public class TryMakeMoneyact extends BaseActivity implements TryMakeMoneyContrac
     @Override
     public void returnTaskTaskUpdataView(Object o) {
 
+        hideProgress();
+        try{
+            BaseMessage baseMessage = (BaseMessage) o;
+            TaskAcceptedEty taskAcceptedEty = JSONObject.parseObject(JSONObject.toJSONString(baseMessage.getData()), TaskAcceptedEty.class);
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RUN_TASK, taskAcceptedEty));
+            mhandler.sendEmptyMessage(0);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
     }
 
     @Override
@@ -127,4 +178,27 @@ public class TryMakeMoneyact extends BaseActivity implements TryMakeMoneyContrac
             G.showToast(" 网络错误!");
         }
     }
+
+    /**
+     *  获取已经发布任务
+     * @param o
+     */
+    @Override
+    public void releaseTaskTaskUpdataView(Object o) {
+        hideProgress();
+        try{
+            BaseMessage baseMessage = (BaseMessage) o;
+            List<TaskReleaseEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskReleaseEty.class);
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyList));
+            mhandler.sendEmptyMessage(0);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void failReleaseTask2View(Object o) {
+
+        hideProgress();
+    }
 }

+ 97 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/WithdrawalListAct.java

@@ -0,0 +1,97 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.widget.ListView;
+
+import com.alibaba.fastjson.JSONArray;
+import com.sheep.gamegroup.di.components.DaggerWithdrawalListComponent;
+import com.sheep.gamegroup.di.modules.WishdrawalListModule;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.WithdrawalEty;
+import com.sheep.gamegroup.presenter.WithdrawalListContract;
+import com.sheep.gamegroup.presenter.WithdrawalListPresenter;
+import com.sheep.gamegroup.view.adapter.WithdrawalListAdp;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.base.BaseActivity;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+/**
+ * 提现记录记录
+ * Created by ljy on 2018/3/21.
+ */
+
+public class WithdrawalListAct extends BaseActivity implements WithdrawalListContract.View{
+    @BindView(R.id.withdrawal_listview)
+    ListView withdrawalListview;
+
+    @Inject
+    WithdrawalListPresenter presenter;
+
+    private List<WithdrawalEty> etyList = new ArrayList<>();
+    private WithdrawalListAdp adp;
+    private Activity activity;
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.withdrawal_list;
+    }
+
+    @Override
+    public void initView() {
+        ButterKnife.bind(this);
+        activity = this;
+        DaggerWithdrawalListComponent.builder()
+                .netComponent(SheepApp.get(this).getNetComponent())
+                .wishdrawalListModule(new WishdrawalListModule(this))
+                .build()
+                .inject(this);
+        TitleBarUtils.getInstance()
+                .setTitle(this, "提现明细")
+                .setTitleFinish(this);
+        adp = new WithdrawalListAdp(activity, etyList);
+        withdrawalListview.setAdapter(adp);
+        adp.notifyDataSetChanged();
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+        presenter.goWithdrawal(0,10, 0+"",System.currentTimeMillis()+"");
+
+    }
+
+    @Override
+    public void updataView(Object o) {
+
+        hideProgress();
+        try{
+            BaseMessage baseMessage = (BaseMessage) o;
+            List<WithdrawalEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), WithdrawalEty.class);
+            etyList.clear();
+            etyList.addAll(releaseEtyList);
+            adp.notifyDataSetChanged();
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void failView(Object o) {
+
+    }
+}

+ 77 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdbCommonRecycler.java

@@ -0,0 +1,77 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.ViewGroup;
+
+import com.sheep.gamegroup.util.ViewHolder;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/3/20.
+ */
+
+public abstract class AdbCommonRecycler<T> extends RecyclerView.Adapter<ViewHolder> {
+    Context context;
+    List<T> listDatas = new ArrayList<T>();
+
+    public AdbCommonRecycler(Context context) {
+        this.context = context;
+    }
+    public Context getContext(){
+        return context;
+    }
+
+    public List<T> getListDatas(){
+        return listDatas;
+    }
+    public void addAll(List<T> listDatas){
+        this.listDatas.addAll(listDatas);
+    }
+    public void add(T t){
+        this.listDatas.add(t);
+    }
+
+    public void add(T t, int position){
+        this.listDatas.set(position, t);
+    }
+
+    public void clear(){
+        this.listDatas.clear();
+    }
+
+    public abstract int getViewIdByType(int type);
+
+    public abstract void convert(ViewHolder holder, T t);
+
+    @Override
+    public void onBindViewHolder(ViewHolder holder, int position, List<Object> payloads) {
+        super.onBindViewHolder(holder, position, payloads);
+        if (payloads.isEmpty()) {
+            onBindViewHolder(holder, position);
+        }else {
+            holder.updatePosition(position);
+            convert(holder, listDatas.get(position));
+        }
+    }
+
+    @Override
+    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
+        ViewHolder viewHolder = ViewHolder.get(context, null, viewGroup,
+                getViewIdByType(i), -1);
+        return viewHolder;
+    }
+
+    @Override
+    public void onBindViewHolder(ViewHolder viewHolder, int i) {
+        viewHolder.updatePosition(i);
+        convert(viewHolder, listDatas.get(i));
+    }
+
+    @Override
+    public int getItemCount() {
+        return listDatas.size();
+    }
+}

+ 79 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskListItemAdp.java

@@ -0,0 +1,79 @@
+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.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.util.TimeUtil;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+
+public class TaskListItemAdp extends BaseAdapter {
+    private Context context;
+    private List<TaskAcceptedEty> etyList;
+
+    public TaskListItemAdp(Context context, List<TaskAcceptedEty> etyList) {
+        this.context = context;
+        this.etyList = etyList;
+    }
+
+    @Override
+    public int getCount() {
+        return etyList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return etyList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+
+    @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.task_list_item, null);
+            holder.name_tv = convertView.findViewById(R.id.name_tv);
+            holder.date_tv = convertView.findViewById(R.id.date_tv);
+            holder.price_tv = convertView.findViewById(R.id.price_tv);
+            holder.icon_iv = convertView.findViewById(R.id.icon_iv);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+
+        TaskAcceptedEty ety = (TaskAcceptedEty) getItem(position);
+        holder.name_tv.setText(ety.getRelease_task().getTask().getTask_name()+"");
+        try {
+            holder.date_tv.setText(TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(ety.getRelease_task().getTask().getUpdate_time()))+"");
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        holder.price_tv.setText("+" + ety.getRelease_task().getBonus()+"元");
+        Glide.with(context)
+                .load(ety.getRelease_task().getTask().getIcon())
+                .placeholder(R.mipmap.ic_launcher)
+                .into(holder.icon_iv);
+        return convertView;
+    }
+
+    class ViewHolder{
+        ImageView icon_iv;
+        TextView name_tv, date_tv, price_tv;
+    }
+}

+ 152 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java

@@ -0,0 +1,152 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.support.design.widget.AppBarLayout;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.StaggeredGridLayoutManager;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.sheep.gamegroup.model.entity.RecyleObj;
+import com.sheep.gamegroup.model.entity.RecyleType;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ViewHolder;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/3/20.
+ */
+
+public class TryMakeMoneyAdp extends AdbCommonRecycler<RecyleObj> {
+    private final static int TAG_ID_TEMP = R.id.view_tag_1;
+
+    public TryMakeMoneyAdp(Context context) {
+        super(context);
+        this.context = context;
+    }
+
+    @Override
+    public int getViewIdByType(int type) {
+        int resId = R.layout.empty;
+        RecyleType recyleType = RecyleType.values()[type];
+        switch (recyleType){
+            case RELEASE_TASK:
+                resId = R.layout.try_mkmy_release_task_list;
+                break;
+            case RUN_TASK:
+                resId = R.layout.try_makemoney_item;
+                break;
+        }
+        return resId;
+    }
+
+    @Override
+    public void convert(ViewHolder holder, RecyleObj recyleObj) {
+
+        switch (recyleObj.getRecyleType()){
+            case RELEASE_TASK:
+                bindReleaseTask(holder, (List<TaskReleaseEty>) recyleObj.getDataObj());
+                break;
+            case RUN_TASK:
+                bindRunTask(holder, (TaskAcceptedEty) recyleObj.getDataObj());
+                break;
+        }
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        return getListDatas().get(position).getRecyleType().ordinal();
+    }
+
+    /**
+     * 获取已发布的
+     */
+    private void bindReleaseTask(ViewHolder holder, List<TaskReleaseEty> etyList){
+        RecyclerView recyclerView = holder.getView(R.id.release_task_listview, RecyclerView.class);
+//        recyclerView.setHasFixedSize(true);
+//        recyclerView.setLayoutManager(new LinearLayoutManager(context));
+        recyclerView.setHasFixedSize(true);
+        recyclerView.setLayoutManager(new StaggeredGridLayoutManager(1,
+                StaggeredGridLayoutManager.HORIZONTAL));
+        recyclerView.setAdapter(new RecyclerView.Adapter(){
+
+            @Override
+            public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
+                View view = LayoutInflater.from(context)
+                        .inflate(R.layout.try_makemoney_item, viewGroup,false);
+                view.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        Jump2View.getInstance().goDialogActivityView(context, etyList.get(i).getTask());
+                    }
+                });
+                RecyclerView.ViewHolder viewHolder = new RecyclerView.ViewHolder(view) {
+                    @Override
+                    public String toString() {
+                        return super.toString();
+                    }
+                };
+                return viewHolder;
+            }
+
+            @Override
+            public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
+                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("推荐");
+                }else{
+
+                    viewHolder.itemView.findViewById(R.id.item_title_tv).setVisibility(View.GONE);
+                }
+                ((TextView)viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(etyList.get(i).getTask().getTask_name()+"");
+                ((TextView)viewHolder.itemView.findViewById(R.id.item_num_tv)).setText("剩余"+ etyList.get(i).getLast_num()+"份");
+                ((TextView)viewHolder.itemView.findViewById(R.id.item_money)).setText("+"+ etyList.get(i).getBonus() +"元");
+                Glide.with(context)
+                        .load(etyList.get(i).getTask().getIcon()+"")
+                        .placeholder(R.mipmap.ic_launcher)
+                        .into((ImageView) viewHolder.itemView.findViewById(R.id.item_icon_iv));
+            }
+
+            @Override
+            public int getItemCount() {
+                return etyList.size();
+            }
+        });
+    }
+
+    /**
+     * 获取我正在运行的任务
+     */
+    private void bindRunTask(ViewHolder holder, TaskAcceptedEty acceptedEty){
+        ImageView icon = holder.getView(R.id.item_icon_iv);
+        TextView item_anem_tv = holder.getView(R.id.item_anem_tv);
+        TextView item_num_tv = holder.getView(R.id.item_num_tv);
+        TextView item_money = holder.getView(R.id.item_money);
+        Glide.with(context)
+                .load(acceptedEty.getRelease_task().getTask().getIcon()+"")
+                .placeholder(R.mipmap.ic_launcher)
+                .dontAnimate()
+                .into(icon);
+        item_anem_tv.setText(acceptedEty.getRelease_task().getTask().getTask_name()+"");
+        item_num_tv.setText("剩余"+ acceptedEty.getRelease_task().getLast_num()+"份");
+        item_money.setText("+"+ acceptedEty.getRelease_task().getBonus() +"元");
+        holder.itemView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Jump2View.getInstance().goDialogActivityView(context, acceptedEty.getRelease_task().getTask());
+            }
+        });
+    }
+}

+ 76 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/WithdrawalListAdp.java

@@ -0,0 +1,76 @@
+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.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.WithdrawalEty;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.TimeUtil;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+
+public class WithdrawalListAdp extends BaseAdapter {
+    private Context context;
+    private List<WithdrawalEty> etyList;
+
+    public WithdrawalListAdp(Context context, List<WithdrawalEty> etyList) {
+        this.context = context;
+        this.etyList = etyList;
+    }
+
+    @Override
+    public int getCount() {
+        return etyList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return etyList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+
+    @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.withdrawal_item, null);
+            holder.name_tv = convertView.findViewById(R.id.name_tv);
+            holder.date_tv = convertView.findViewById(R.id.date_tv);
+            holder.price_tv = convertView.findViewById(R.id.price_tv);
+            holder.state_tv = convertView.findViewById(R.id.state_tv);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+
+        WithdrawalEty ety = (WithdrawalEty) getItem(position);
+        holder.name_tv.setText(ety.getDesc()+"");
+        try {
+            holder.date_tv.setText(TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(ety.getUpdate_time()))+"");
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        holder.price_tv.setText("+" + ety.getAmount()+"元");
+        holder.state_tv.setText(CommonUtil.getInstance().returnAuditResult(Integer.valueOf(ety.getStatus())));
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView name_tv, date_tv, price_tv, state_tv;
+    }
+}

+ 7 - 0
app/src/main/java/com/sheep/gamegroup/view/customview/SProgress.java

@@ -228,6 +228,13 @@ public class SProgress extends View {
 
     private String getText(float progress) {
         String progresstext = String.format(getResources().getString(R.string.sprogress_string), progress);
+        if(progress == 0){
+            progresstext = "开始任务";
+        }else if(progress == 100){
+            progresstext = "开始试玩";
+        }else {
+            progresstext = String.format(getResources().getString(R.string.sprogress_string), progress);
+        }
         return progresstext.replace(".0", "");
 //        "已领" + progresstext.replace(".0", "") + "%"
     }

+ 2 - 4
app/src/main/java/com/sheep/jiuyan/samllsheep/BaseApplication.java

@@ -26,9 +26,7 @@ public class BaseApplication extends KFZSApp {
         UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "5ab0a1da8f4a9d742900035f");
 
         UMShareAPI.get(this);
-        PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");
-        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
-
-
+        PlatformConfig.setWeixin("wx2be7f59bb7bb963f", "6cf7ca0f6c6ac97c6961d901fee8adb9");
+        PlatformConfig.setQQZone("101461115", "b874bc950bcf066f17fd52cf2bb959e9");
     }
 }

+ 10 - 1
app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseActivity.java

@@ -8,7 +8,9 @@ import android.support.annotation.Nullable;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.widget.Toast;
 
+import com.sheep.gamegroup.util.ActivityManager;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
@@ -23,7 +25,7 @@ import butterknife.ButterKnife;
  * Created by kemllor on 2017/12/15.
  */
 
-public abstract class BaseActivity extends AppActivity {
+public abstract class BaseActivity extends AppActivity  {
 
     protected ProgressDialog  mPd;
 
@@ -36,6 +38,7 @@ public abstract class BaseActivity extends AppActivity {
         initView();
         initListener();
         initData();
+        ActivityManager.getInstance().pushActivity(this);
 
     }
 
@@ -60,6 +63,12 @@ public abstract class BaseActivity extends AppActivity {
 
     }
 
+    protected   void  showToast(String msg){
+        Toast.makeText(this,msg,Toast.LENGTH_LONG).show();
+
+
+    }
+
 
 
 

+ 6 - 9
app/src/main/res/layout/dowanload_item_dialog.xml

@@ -16,9 +16,9 @@
             android:id="@+id/dialog_item_icon_iv"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@drawable/icon_lj"
-            tools:layout_editor_absoluteY="25dp"
-            tools:layout_editor_absoluteX="0dp" />
+            android:minHeight="@dimen/view_size_80"
+            android:minWidth="@dimen/view_size_80"
+            android:src="@drawable/icon_lj" />
         <TextView
             android:id="@+id/dialog_item_name_tv"
             android:layout_width="wrap_content"
@@ -26,9 +26,7 @@
             android:text="无敌大航海"
             style="@style/txt_big_style"
             app:layout_constraintStart_toEndOf="@id/dialog_item_icon_iv"
-            app:layout_editor_absoluteY="8dp"
-            tools:layout_editor_absoluteY="33dp"
-            tools:layout_editor_absoluteX="72dp" />
+            android:layout_marginLeft="@dimen/content_padding"/>
         <TextView
             android:id="@+id/dialog_item_size_tv"
             android:layout_width="wrap_content"
@@ -36,9 +34,8 @@
             android:text="10M"
             android:textSize="@dimen/text_size_12"
             app:layout_constraintStart_toEndOf="@id/dialog_item_icon_iv"
-            app:layout_editor_absoluteY="35dp"
-            tools:layout_editor_absoluteY="60dp"
-            tools:layout_editor_absoluteX="72dp" />
+            app:layout_constraintTop_toBottomOf="@+id/dialog_item_name_tv"
+            android:layout_marginLeft="@dimen/content_padding"/>
 
         <ListView
             android:id="@+id/dialog_item_list"

+ 48 - 51
app/src/main/res/layout/down_item.xml

@@ -32,64 +32,61 @@
             android:layout_height="50dp"
             android:layout_centerVertical="true"
             android:layout_marginLeft="10dp"
-            android:src="@drawable/icon_sheep"
-            />
-      <LinearLayout
-          android:id="@+id/ll_install"
-          android:layout_toLeftOf="@+id/ll_btn"
-          android:layout_width="match_parent"
-          android:layout_height="wrap_content"
-          android:orientation="vertical"
-          android:layout_centerVertical="true"
-          android:layout_marginLeft="10dp"
-          android:layout_toRightOf="@id/img_icon"
-          >
+            android:src="@drawable/icon_sheep" />
 
-        <TextView
-            android:id="@+id/tv_game_name"
-            android:layout_width="wrap_content"
+        <LinearLayout
+            android:id="@+id/ll_install"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textColor="@color/black_dark"/>
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="10dp"
+            android:layout_toLeftOf="@+id/ll_btn"
+            android:layout_toRightOf="@id/img_icon"
+            android:orientation="vertical">
 
-        <TextView
-            android:id="@+id/tv_prorgess"
-            android:textColor="@color/theme"
+            <TextView
+                android:id="@+id/tv_game_name"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="@color/black_dark" />
+
+            <TextView
+                android:id="@+id/tv_prorgess"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="10dp"
+                android:layout_marginTop="10dp"
+                android:text="完成"
+                android:textColor="@color/theme"
+                android:textSize="16sp" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/ll_btn"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textSize="16sp"
-            android:text="完成"
-            android:layout_marginTop="10dp"
+            android:layout_alignParentBottom="true"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
             android:layout_marginRight="10dp"
-            />
-      </LinearLayout>
+            android:layout_marginTop="10dp"
+            android:orientation="horizontal">
 
-       <LinearLayout
-           android:id="@+id/ll_btn"
-           android:layout_width="wrap_content"
-           android:layout_height="wrap_content"
-           android:orientation="horizontal"
-           android:layout_alignParentBottom="true"
-           android:layout_alignParentRight="true"
-           android:layout_centerVertical="true"
-           android:layout_marginRight="10dp"
-           android:layout_marginTop="10dp"
-           >
-        <ImageView
-            android:id="@+id/iv_state"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:padding="5dp"
-            android:src="@drawable/icon_stop"
-            />
-           <ImageView
-               android:id="@+id/iv_remove"
-               android:layout_width="wrap_content"
-               android:layout_height="wrap_content"
-               android:padding="5dp"
-               android:layout_marginLeft="10dp"
-               android:src="@drawable/icon_delet"
-            />
-       </LinearLayout>
+            <ImageView
+                android:id="@+id/iv_state"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:padding="5dp"
+                android:src="@drawable/icon_stop" />
+
+            <ImageView
+                android:id="@+id/iv_remove"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="10dp"
+                android:padding="5dp"
+                android:src="@drawable/icon_delet" />
+        </LinearLayout>
     </RelativeLayout>
 
     <!--<com.sheep.gamegroup.view.customview.TextProgressBar

+ 114 - 0
app/src/main/res/layout/download_item_dialog.xml

@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/dialog_layout">
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_centerInParent="true"
+        android:layout_margin="@dimen/content_padding_65"
+        android:scrollbars="none" >
+        <RelativeLayout
+            android:id="@+id/dialog_son_layout"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal">
+            <ImageView
+                android:id="@+id/dialog_item_x"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@mipmap/try_dialog_x"
+                android:layout_alignParentRight="true"/>
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:background="@mipmap/try_dialog_bg"
+                android:layout_marginTop="@dimen/content_padding"
+                android:padding="@dimen/content_padding">
+
+                <ImageView
+                    android:id="@+id/dialog_item_icon_iv"
+                    android:layout_width="@dimen/view_size_80"
+                    android:layout_height="@dimen/view_size_80"
+                    android:minHeight="@dimen/view_size_80"
+                    android:minWidth="@dimen/view_size_80"
+                    android:src="@drawable/icon_lj" />
+
+                <TextView
+                    android:id="@+id/dialog_item_name_tv"
+                    style="@style/txt_big_noheight_style"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/content_padding"
+                    android:layout_marginTop="@dimen/content_padding_15"
+                    android:layout_toRightOf="@id/dialog_item_icon_iv"
+                    android:text="无敌大航海" />
+
+                <TextView
+                    android:id="@+id/dialog_item_size_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_below="@+id/dialog_item_name_tv"
+                    android:layout_marginLeft="@dimen/content_padding"
+                    android:layout_marginTop="@dimen/content_padding_10"
+                    android:layout_toRightOf="@id/dialog_item_icon_iv"
+                    android:text="10M"
+                    android:textSize="@dimen/text_size_12" />
+
+
+                <WebView
+                    android:id="@+id/webview"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_below="@+id/dialog_item_icon_iv"
+                    android:layout_marginTop="@dimen/content_padding_15"
+                    android:layout_marginLeft="@dimen/content_padding_40"
+                    android:layout_marginRight="@dimen/content_padding_40"
+                    android:layout_centerHorizontal="true">
+
+                </WebView>
+
+                <com.sheep.gamegroup.view.customview.SProgress
+                    android:id="@+id/start_stask_sprogress"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_below="@+id/webview"
+                    android:layout_marginTop="@dimen/content_padding_15"
+                    android:layout_marginLeft="@dimen/content_padding_40"
+                    android:layout_marginRight="@dimen/content_padding_40"
+                    android:layout_toLeftOf="@+id/frentallystart"
+                    android:minHeight="36dp"
+                    android:padding="2dp"
+                    android:layout_centerHorizontal="true"
+                    app:backColor="@color/bg_gray"
+                    app:minProgress="0"
+                    app:progressColor="@color/txt_bg_yellow"
+                    app:progressendcolor="#ffff6969"
+                    app:startprogress="0"
+                    app:textColor="#ffffffff"
+                    app:textsize="18sp"
+                    android:minWidth="151dp"/>
+
+                <TextView
+                    android:id="@+id/doalog_item_get_rewards_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_below="@+id/start_stask_sprogress"
+                    android:background="@drawable/sp_bg_gradient_rectqangle_yellow"
+                    android:gravity="center"
+                    android:minHeight="36dp"
+                    android:minWidth="151dp"
+                    android:text="领取奖励"
+                    android:textSize="18sp"
+                    android:layout_marginTop="@dimen/content_padding_15"
+                    android:layout_centerHorizontal="true"
+                    android:layout_marginLeft="@dimen/content_padding_40"
+                    android:layout_marginRight="@dimen/content_padding_40"/>
+
+            </RelativeLayout>
+        </RelativeLayout>
+    </ScrollView>
+</RelativeLayout>

+ 5 - 4
app/src/main/res/layout/homepage_act_layout.xml

@@ -34,7 +34,7 @@
                         android:id="@+id/name_tv"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="野蛮托举"
+                        android:text=""
                         android:textSize="@dimen/text_size_12"
                         android:textColor="@color/txt_white"
                         android:layout_toRightOf="@id/icon_img_iv"
@@ -45,7 +45,7 @@
                         android:id="@+id/sheep_num_tv"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="绵阳号:123456789"
+                        android:text="绵羊号:"
                         android:textSize="@dimen/text_size_10"
                         android:textColor="@color/txt_white"
                         android:layout_toRightOf="@id/icon_img_iv"
@@ -94,7 +94,7 @@
                         android:id="@+id/my_price"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:text="20.00 元"
+                        android:text=""
                         android:textColor="@color/txt_white"
                         android:textSize="@dimen/text_size_25"
                         android:layout_marginTop="12dp"
@@ -105,7 +105,7 @@
                         android:id="@+id/my_all_price"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="累计资产 60.00 元"
+                        android:text="累计资产 "
                         android:textColor="@color/txt_white"
                         android:textSize="@dimen/text_size_12"/>
                 </RelativeLayout>
@@ -186,6 +186,7 @@
                 android:layout_height="wrap_content"
                 android:background="@drawable/sp_rectangle_bg_white_radius"
                 android:orientation="vertical"
+                android:minHeight="@dimen/view_size_80"
                 android:padding="@dimen/content_padding_10"
                 android:layout_margin="@dimen/content_padding_10">
 

+ 53 - 8
app/src/main/res/layout/login_act_layout.xml

@@ -10,14 +10,8 @@
         android:background="@mipmap/login_bg_img"
         style="@style/login_layout"
         android:layout_marginTop="@dimen/content_padding_80">
-        <TextView
-            android:id="@+id/weixin_login_tv"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="微信登录"
-            style="@style/login_btn"
-            android:layout_above="@+id/tel_login_tv"
-            android:focusedByDefault="true"/>
+
+
         <TextView
             android:id="@+id/tel_login_tv"
             android:layout_width="match_parent"
@@ -25,8 +19,59 @@
             android:text="手机号登录"
             android:layout_alignParentBottom="true"
             style="@style/login_btn"
+            android:textColor="@color/txt_white"
+            android:background="@drawable/sp_bg_transparency_line_white"
             android:layout_marginBottom="80dp"
             android:layout_marginTop="@dimen/content_padding_10"/>
+
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:layout_above="@+id/tel_login_tv"
+            android:layout_centerHorizontal="true"
+            >
+            <View
+                android:layout_width="10dp"
+                android:layout_height="1dp"
+                android:background="@color/txt_white"
+                android:layout_gravity="center_vertical"
+                ></View>
+
+            <ImageView
+                android:layout_marginLeft="15dp"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@null"
+                android:src="@mipmap/x_ic_login_wx"
+                android:id="@+id/iv_wx"
+                />
+
+            <View
+                android:layout_marginLeft="15dp"
+                android:layout_marginRight="15dp"
+                android:layout_width="2dp"
+                android:layout_height="2dp"
+                android:background="@color/txt_white"
+                android:layout_gravity="center_vertical"
+                ></View>
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@null"
+                android:src="@mipmap/x_ic_login_qq"
+                android:id="@+id/iv_qq"
+                />
+            <View
+                android:layout_marginLeft="15dp"
+                android:layout_width="10dp"
+                android:layout_height="1dp"
+                android:background="@color/txt_white"
+                android:layout_gravity="center_vertical"
+                ></View>
+        </LinearLayout>
     </RelativeLayout>
 
 </RelativeLayout>

+ 55 - 0
app/src/main/res/layout/task_list_item.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/sp_rectangle_bg_white_radius"
+    android:padding="@dimen/content_padding_20"
+    android:layout_margin="@dimen/content_padding_10">
+
+    <ImageView
+        android:id="@+id/icon_iv"
+        android:layout_width="@dimen/view_size_60"
+        android:layout_height="@dimen/view_size_60"
+        android:src="@mipmap/ic_launcher"
+        android:layout_centerVertical="true"/>
+
+    <RelativeLayout
+        android:id="@+id/name_date_layout"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toRightOf="@+id/icon_iv"
+        android:layout_marginLeft="@dimen/content_padding"
+        android:layout_centerVertical="true">
+        <TextView
+            android:id="@+id/name_tv"
+            style="@style/nomal_txt_style"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="完成试玩任务无敌大航海"/>
+
+        <TextView
+            android:id="@+id/date_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="2018/2/14 14:41"
+            android:layout_below="@+id/name_tv"
+            android:textSize="@dimen/text_size_3"
+            android:textColor="@color/txt_black_818181"
+            android:layout_marginTop="@dimen/content_padding_10"/>
+    </RelativeLayout>
+
+    <TextView
+        android:id="@+id/price_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="+1.5元"
+        android:textColor="@color/txt_red"
+        android:textSize="@dimen/text_size_15"
+        android:layout_centerVertical="true"
+        android:layout_toRightOf="@+id/name_date_layout"
+        android:layout_marginLeft="@dimen/content_padding_10"
+        android:layout_alignParentRight="true"
+        android:gravity="right"/>
+
+
+</RelativeLayout>

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

@@ -3,7 +3,7 @@
                 android:id="@+id/layout_navigationBar"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/layout_heigh_default"
-                android:background="@color/colorPrimary">
+                android:background="@color/white_light">
 
     <ImageView
         android:id="@+id/img_baseactivity_title"

+ 3 - 2
app/src/main/res/layout/try_makemoney_act_layout.xml

@@ -3,7 +3,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    android:background="@color/white_light">
+    android:background="@color/bg_gray">
 
     <include
         layout="@layout/title"/>
@@ -11,7 +11,8 @@
     <android.support.v4.widget.SwipeRefreshLayout
         android:id="@+id/refresh"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:layout_margin="@dimen/content_padding_10">
 
         <android.support.v7.widget.RecyclerView
             android:id="@+id/recyclerview"

+ 6 - 6
app/src/main/res/layout/try_makemoney_item.xml

@@ -1,9 +1,9 @@
 <?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:layout_height="wrap_content"
     android:orientation="vertical"
-    android:background="@drawable/sp_bg_transparency_line_thite_radius_top"
+    android:background="@drawable/sp_rectangle_bg_white_radius"
     android:padding="12dp">
     <TextView
         android:id="@+id/item_title_tv"
@@ -19,8 +19,8 @@
         android:layout_height="wrap_content">
         <ImageView
             android:id="@+id/item_icon_iv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="@dimen/view_size_60"
+            android:layout_height="@dimen/view_size_60"
             android:src="@drawable/icon_lj"/>
         <TextView
             android:id="@+id/item_anem_tv"
@@ -36,7 +36,7 @@
             android:id="@+id/item_num_tv"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="剩余1001份"
+            android:text=""
             android:layout_below="@+id/item_money"
             android:layout_alignStart="@+id/item_anem_tv"
             android:layout_marginTop="8dp"/>
@@ -44,7 +44,7 @@
             android:id="@+id/item_money"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="+1.5元"
+            android:text=""
             android:textSize="18dp"
             android:textColor="@color/txt_red"
             android:layout_centerVertical="true"

+ 25 - 0
app/src/main/res/layout/try_mkmy_release_task_list.xml

@@ -0,0 +1,25 @@
+<?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">
+
+    <TextView
+        android:id="@+id/item_title_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="推荐"
+        android:textColor="@color/black"
+        android:textSize="15dp"
+        android:layout_marginBottom="13dp"
+        android:visibility="gone"/>
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/release_task_listview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_marginBottom="4dp">
+
+    </android.support.v7.widget.RecyclerView>
+
+</LinearLayout>

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

@@ -43,7 +43,7 @@
         android:id="@+id/state_tv"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="提现成功"
+        android:text="等待人工审核"
         android:textSize="@dimen/text_size_12"
         android:textColor="@color/black_444444"
         android:layout_toRightOf="@+id/price_tv"

BIN
app/src/main/res/mipmap-xhdpi/try_dialog_bg.png


BIN
app/src/main/res/mipmap-xhdpi/try_dialog_x.png


BIN
app/src/main/res/mipmap-xhdpi/x_ic_login_qq.png


BIN
app/src/main/res/mipmap-xhdpi/x_ic_login_wx.png


BIN
app/src/main/res/mipmap-xxhdpi/try_dialog_bg.png


BIN
app/src/main/res/mipmap-xxhdpi/try_dialog_x.png


BIN
app/src/main/res/mipmap-xxhdpi/x_ic_login_qq.png


BIN
app/src/main/res/mipmap-xxhdpi/x_ic_login_wx.png


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

@@ -74,6 +74,7 @@
     <dimen name="content_padding_20">20dp</dimen>
     <dimen name="content_padding_30">30dp</dimen>
     <dimen name="content_padding_40">40dp</dimen>
+    <dimen name="content_padding_65">65dp</dimen>
     <dimen name="content_padding_80">80dp</dimen>
 
 
@@ -97,6 +98,8 @@
     <dimen name="view_size_40">40dp</dimen>
     <dimen name="view_size_45">45dp</dimen>
     <dimen name="view_size_60">60dp</dimen>
+    <dimen name="view_size_80">80dp</dimen>
+    <dimen name="view_size_160">160dp</dimen>
 
 
 </resources>

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

@@ -63,6 +63,12 @@
         <item name="android:textColor">@color/txt_black</item>
         <item name="android:gravity">center</item>
     </style>
+    <style name="txt_big_noheight_style">
+        <item name="android:text">无敌大航海</item>
+        <item name="android:textSize">@dimen/text_size_5</item>
+        <item name="android:textColor">@color/txt_black</item>
+        <item name="android:gravity">center</item>
+    </style>
     <style name="txt_big_btn_style">
         <item name="android:minHeight">@dimen/view_size_45</item>
         <item name="android:text">无敌大航海</item>
@@ -72,4 +78,12 @@
         <item name="android:layout_margin">@dimen/content_padding</item>
         <item name="android:background">@drawable/sp_bg_gradient_rectqangle_yellow</item>
     </style>
+    <style name="MyDialogActivityTheme" parent="@android:style/Theme.Dialog">
+        <item name="android:windowFrame">@android:color/transparent</item><!--边框-->
+        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
+        <item name="android:windowIsTranslucent">true</item><!--半透明-->
+        <item name="android:windowNoTitle">true</item><!--无标题-->
+        <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
+        <item name="android:backgroundDimAmount">0.4</item><!--透明度 0.0f到1.0f之间。1.0完全不透明,0.0f完全透明-->
+    </style>
 </resources>

BIN
datashare/acpg-graph/acpg-cli-1.12.0.jar


BIN
datashare/acpg/acpg-cli-1.12.0.jar


+ 14 - 15
datashare/datashare.iml

@@ -23,7 +23,7 @@
       </configuration>
     </facet>
   </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
     <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
     <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
     <exclude-output />
@@ -63,13 +63,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -77,6 +70,13 @@
       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/cache" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
@@ -97,12 +97,11 @@
     </content>
     <orderEntry type="jdk" jdkName="Android API 27 Platform" jdkType="Android SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" exported="" name="com.android.support:support-annotations:23.4.0@jar" level="project" />
-    <orderEntry type="library" exported="" name="com.android.support:support-v4-23.4.0" level="project" />
-    <orderEntry type="library" exported="" name="org.greenrobot:greendao-api:3.2.2@jar" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="org.hamcrest:hamcrest-core:1.3@jar" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="junit:junit:4.12@jar" level="project" />
-    <orderEntry type="library" exported="" name="org.greenrobot:greendao:3.2.2@jar" level="project" />
-    <orderEntry type="library" exported="" name="android-android-27" level="project" />
+    <orderEntry type="library" exported="" name="support-annotations-23.4.0" level="project" />
+    <orderEntry type="library" exported="" name="greendao-api-3.2.2" level="project" />
+    <orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
+    <orderEntry type="library" exported="" name="support-v4-23.4.0" level="project" />
+    <orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
+    <orderEntry type="library" exported="" name="greendao-3.2.2" level="project" />
   </component>
 </module>

+ 1 - 0
view/build.gradle

@@ -10,6 +10,7 @@ android {
         versionCode VERSION_CODE as int
         versionName VERSION_NAME
     }
+
     lintOptions {
         abortOnError false
     }

+ 19 - 20
view/view.iml

@@ -23,7 +23,7 @@
       </configuration>
     </facet>
   </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
     <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
     <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
     <exclude-output />
@@ -63,13 +63,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -77,6 +70,13 @@
       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
@@ -96,17 +96,16 @@
     </content>
     <orderEntry type="jdk" jdkName="Android API 27 Platform" jdkType="Android SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" exported="" name="com.android.support:support-annotations:23.4.0@jar" level="project" />
-    <orderEntry type="library" exported="" name="com.nineoldandroids:library:2.4.0@jar" level="project" />
-    <orderEntry type="library" exported="" name="com.android.support:support-vector-drawable-23.4.0" level="project" />
-    <orderEntry type="library" exported="" name="com.android.support:support-v4-23.4.0" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="org.hamcrest:hamcrest-core:1.3@jar" level="project" />
-    <orderEntry type="library" exported="" name="cn.bingoogolapple:bga-banner-2.1.7" level="project" />
-    <orderEntry type="library" exported="" name="com.android.support:appcompat-v7-23.4.0" level="project" />
-    <orderEntry type="library" exported="" scope="TEST" name="junit:junit:4.12@jar" level="project" />
-    <orderEntry type="library" exported="" name="jp.wasabeef:glide-transformations-2.0.2" level="project" />
-    <orderEntry type="library" exported="" name="com.android.support:animated-vector-drawable-23.4.0" level="project" />
-    <orderEntry type="library" exported="" name="com.github.bumptech.glide:glide:3.7.0@jar" level="project" />
-    <orderEntry type="library" exported="" name="android-android-27" level="project" />
+    <orderEntry type="library" exported="" name="support-annotations-23.4.0" level="project" />
+    <orderEntry type="library" exported="" name="library-2.4.0" level="project" />
+    <orderEntry type="library" exported="" name="animated-vector-drawable-23.4.0" level="project" />
+    <orderEntry type="library" exported="" name="bga-banner-2.1.7" level="project" />
+    <orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
+    <orderEntry type="library" exported="" name="support-v4-23.4.0" level="project" />
+    <orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
+    <orderEntry type="library" exported="" name="support-vector-drawable-23.4.0" level="project" />
+    <orderEntry type="library" exported="" name="glide-3.7.0" level="project" />
+    <orderEntry type="library" exported="" name="appcompat-v7-23.4.0" level="project" />
+    <orderEntry type="library" exported="" name="glide-transformations-2.0.2" level="project" />
   </component>
 </module>