소스 검색

添加百度定位;优化开屏广告;优化主页;优化连续任务;发现模块游戏详情页面调整

zengjiebin 7 년 전
부모
커밋
34297df63e
91개의 변경된 파일1725개의 추가작업 그리고 2789개의 파일을 삭제
  1. 2 0
      app/build.gradle
  2. BIN
      app/libs/BaiduLBS_Android.jar
  3. 31 7
      app/src/main/AndroidManifest.xml
  4. 8 48
      app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java
  5. 67 57
      app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java
  6. 0 16
      app/src/main/java/com/sheep/gamegroup/di/components/AccountAndSercuritComponent.java
  7. 0 16
      app/src/main/java/com/sheep/gamegroup/di/components/HomePageComponent.java
  8. 0 22
      app/src/main/java/com/sheep/gamegroup/di/modules/AccountAndSercuritModule.java
  9. 0 23
      app/src/main/java/com/sheep/gamegroup/di/modules/HomePageModule.java
  10. 3 3
      app/src/main/java/com/sheep/gamegroup/heler/DownloadHelper.java
  11. 14 8
      app/src/main/java/com/sheep/gamegroup/heler/FindAppHelper.java
  12. 95 4
      app/src/main/java/com/sheep/gamegroup/heler/TaskHelper.java
  13. 10 0
      app/src/main/java/com/sheep/gamegroup/model/entity/AppInfo.java
  14. 0 22
      app/src/main/java/com/sheep/gamegroup/presenter/AccountAndSecuritContract.java
  15. 0 56
      app/src/main/java/com/sheep/gamegroup/presenter/AccountAndSecuritPresenter.java
  16. 0 19
      app/src/main/java/com/sheep/gamegroup/presenter/HomePageContract.java
  17. 0 52
      app/src/main/java/com/sheep/gamegroup/presenter/HomePagePresenter.java
  18. 2 1
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  19. 23 15
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  20. 17 211
      app/src/main/java/com/sheep/gamegroup/util/LocationUtils.java
  21. 4 3
      app/src/main/java/com/sheep/gamegroup/util/StringUtils.java
  22. 28 1
      app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java
  23. 12 5
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  24. 7 4
      app/src/main/java/com/sheep/gamegroup/util/UMConfigUtils.java
  25. 74 23
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  26. 72 0
      app/src/main/java/com/sheep/gamegroup/util/glide/GlideCircleTransformWithBorder.java
  27. 0 272
      app/src/main/java/com/sheep/gamegroup/view/activity/AccountAndSecurityAct.java
  28. 19 7
      app/src/main/java/com/sheep/gamegroup/view/activity/ActFindGame.java
  29. 12 8
      app/src/main/java/com/sheep/gamegroup/view/activity/ActInstallApkList.java
  30. 104 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActSetting.java
  31. 18 8
      app/src/main/java/com/sheep/gamegroup/view/activity/ActSheepApkList.java
  32. 1 1
      app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java
  33. 8 5
      app/src/main/java/com/sheep/gamegroup/view/activity/ChangeTelAct.java
  34. 0 149
      app/src/main/java/com/sheep/gamegroup/view/activity/HomePageAct.java
  35. 3 3
      app/src/main/java/com/sheep/gamegroup/view/activity/MiddleAct.java
  36. 9 1
      app/src/main/java/com/sheep/gamegroup/view/activity/PersonalCenterAct.java
  37. 97 42
      app/src/main/java/com/sheep/gamegroup/view/activity/PersionInfoAct.java
  38. 16 16
      app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java
  39. 5 3
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java
  40. 1 1
      app/src/main/java/com/sheep/gamegroup/view/adapter/TaskListItemAdp.java
  41. 3 8
      app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonListviewAdp.java
  42. 0 199
      app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonRecycleViewAdp.java
  43. 54 50
      app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java
  44. 0 56
      app/src/main/java/com/sheep/gamegroup/view/customview/GlideCircleTransform.java
  45. 1 1
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogShare.java
  46. 102 7
      app/src/main/java/com/sheep/jiuyan/samllsheep/BaseApplication.java
  47. BIN
      app/src/main/jniLibs/arm64-v8a/libindoor.so
  48. BIN
      app/src/main/jniLibs/arm64-v8a/liblocSDK7b.so
  49. BIN
      app/src/main/jniLibs/armeabi-v7a/libindoor.so
  50. BIN
      app/src/main/jniLibs/armeabi-v7a/liblocSDK7b.so
  51. BIN
      app/src/main/jniLibs/armeabi/libindoor.so
  52. BIN
      app/src/main/jniLibs/armeabi/liblocSDK7b.so
  53. BIN
      app/src/main/jniLibs/x86/libindoor.so
  54. BIN
      app/src/main/jniLibs/x86/liblocSDK7b.so
  55. BIN
      app/src/main/jniLibs/x86_64/libindoor.so
  56. BIN
      app/src/main/jniLibs/x86_64/liblocSDK7b.so
  57. 9 0
      app/src/main/res/drawable/shape_ash_stroke_white_solid_rectangle.xml
  58. 8 0
      app/src/main/res/drawable/shape_green_stroke_rectangle.xml
  59. 6 0
      app/src/main/res/drawable/shape_red_solid_rectangle.xml
  60. 8 0
      app/src/main/res/drawable/shape_red_stroke_rectangle.xml
  61. 8 0
      app/src/main/res/drawable/shape_yellow_stroke_rectangle.xml
  62. 4 0
      app/src/main/res/layout/act_find_game.xml
  63. 71 0
      app/src/main/res/layout/act_setting.xml
  64. 2 0
      app/src/main/res/layout/adp_homelist_gridview.xml
  65. 0 24
      app/src/main/res/layout/app_info_item.xml
  66. 47 43
      app/src/main/res/layout/fgt_personacenter_item_top.xml
  67. 68 211
      app/src/main/res/layout/fgt_personalcenter_item_center_one.xml
  68. 76 274
      app/src/main/res/layout/fgt_personalcenter_item_center_two.xml
  69. 0 6
      app/src/main/res/layout/fgt_personalcenter_layout.xml
  70. 18 6
      app/src/main/res/layout/find_information_bottom_item.xml
  71. 3 3
      app/src/main/res/layout/game_agency_recharge_plotform_item.xml
  72. 2 2
      app/src/main/res/layout/homepage_item_notice.xml
  73. 85 105
      app/src/main/res/layout/homepage_item_top2.xml
  74. 9 10
      app/src/main/res/layout/taskdetail_desc_item_screens.xml
  75. 97 100
      app/src/main/res/layout/taskdetail_mylistview_item.xml
  76. 0 122
      app/src/main/res/layout/taskdetail_recycler_item.xml
  77. 105 73
      app/src/main/res/layout/try_makemoney_item_recommend.xml
  78. 0 222
      app/src/main/res/layout/x_account_security_layout.xml
  79. 2 1
      app/src/main/res/layout/x_item_view.xml
  80. 113 134
      app/src/main/res/layout/xpersion_info_act_layout.xml
  81. BIN
      app/src/main/res/mipmap-xhdpi/personalc_ic_about_us.webp
  82. BIN
      app/src/main/res/mipmap-xhdpi/personalc_ic_clear.webp
  83. BIN
      app/src/main/res/mipmap-xhdpi/personalc_ic_version.webp
  84. BIN
      app/src/main/res/mipmap-xhdpi/x_ic_def_head.webp
  85. BIN
      app/src/main/res/mipmap-xhdpi/x_ic_id_card.webp
  86. BIN
      app/src/main/res/mipmap-xhdpi/x_ic_phone.webp
  87. BIN
      app/src/main/res/mipmap-xxhdpi/setting.png
  88. BIN
      app/src/main/res/mipmap-xxhdpi/x_ic_def_head.webp
  89. BIN
      app/src/main/res/mipmap-xxhdpi/x_ic_id_card.webp
  90. BIN
      app/src/main/res/mipmap-xxhdpi/x_ic_phone.webp
  91. 62 0
      app/src/main/res/values/dd_styles.xml

+ 2 - 0
app/build.gradle

@@ -255,6 +255,8 @@ dependencies {
     compile files('libs/jpush-android-3.1.2.jar')
 
     compile 'com.appsee:appsee-android:+'
+    //定位
+    compile files('libs/BaiduLBS_Android.jar')
 
 }
 static def releaseTime() {

BIN
app/libs/BaiduLBS_Android.jar


+ 31 - 7
app/src/main/AndroidManifest.xml

@@ -60,6 +60,27 @@
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
+    <!-- 百度定位权限 start -->
+    <!-- 这个权限用于进行网络定位-->
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <!-- 这个权限用于访问GPS定位-->
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+    <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <!-- 用于读取手机当前的状态-->
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <!-- 访问网络,网络定位需要上网-->
+    <uses-permission android:name="android.permission.INTERNET" />
+    <!-- SD卡读取权限,用户写入离线定位数据-->
+    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
+        tools:ignore="ProtectedPermissions"/>
+    <!-- 百度定位权限 end -->
 
     <permission
         android:name="android.permission.PACKAGE_USAGE_STATS"
@@ -122,7 +143,7 @@
         </provider>
 
         <activity
-            android:name="com.sheep.gamegroup.view.activity.PersionInfoAct"
+            android:name="com.sheep.gamegroup.view.activity.PersonalInfoAct"
             android:screenOrientation="portrait">
         </activity>
 
@@ -161,8 +182,6 @@
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.LieMakeMoneyAct"
             android:launchMode="singleTask"/>
-        <activity android:name="com.sheep.gamegroup.view.activity.HomePageAct"
-            android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.DialogActivity"
             android:theme="@style/MyDialogActivityTheme"
             />
@@ -213,10 +232,6 @@
             android:screenOrientation="portrait" />
 
         <activity
-            android:name="com.sheep.gamegroup.view.activity.AccountAndSecurityAct"
-            android:screenOrientation="portrait" />
-
-        <activity
             android:name="com.kfzs.duanduan.ActWeb"
             android:hardwareAccelerated="true"
             android:screenOrientation="portrait" />
@@ -467,6 +482,13 @@
         </activity>
 
         <!-- alipay 支付宝 sdk end -->
+        <!--  百度定位 sdk start -->
+        <meta-data
+            android:name="com.baidu.lbsapi.API_KEY"
+            android:value="gXD6RhE7ncVIcl1crk5SeUoVm7ceNtkL" >
+        </meta-data>
+        <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service>
+        <!--  百度定位 sdk end -->
 
         <activity android:name="com.sheep.gamegroup.view.activity.ActNotice"
             android:screenOrientation="portrait"/>
@@ -494,6 +516,8 @@
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActSearchGame"
             android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.ActSetting"
+            android:screenOrientation="portrait"/>
     </application>
 
 

+ 8 - 48
app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java

@@ -64,10 +64,8 @@ public class FgtPersonalCenter extends BaseCompatFragment {
     View proxy_service_layout;
     @BindView(R.id.proxy_service_layout_line)
     View proxy_service_layout_line;
-    @BindView(R.id.version_item_tv)
-    TextView version_item_tv;
-    @BindView(R.id.clear_item_tv)
-    TextView clear_item_tv;
+    @BindView(R.id.personal_center_version_new)
+    View personal_center_version_new;
     Unbinder unbinder;
 
     private UserEntity userEntitys;
@@ -115,17 +113,9 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                     public void onError(BaseMessage baseMessage) {
                     }
                 });
+        String newVersionUrl = ACache.get(SheepApp.getInstance()).getAsString("version_url");
+        personal_center_version_new.setVisibility(TextUtils.isEmpty(newVersionUrl) ? View.GONE : View.VISIBLE);
 
-        String appVersonName = ApkUtils.getCurrentPkgVersionName(SheepApp.getInstance());
-        version_item_tv.setText("小绵羊V");
-        version_item_tv.append(appVersonName);
-        initCacheSize();
-
-    }
-
-    private void initCacheSize() {
-        String size = SysAppUtil.getAppCacheSize();
-        clear_item_tv.setText(TextUtils.isEmpty(size) || TextUtils.equals("0K",size) ? "无需清理" : size);
     }
 
     private void updateData(BaseMessage baseMessage) {
@@ -165,10 +155,10 @@ public class FgtPersonalCenter extends BaseCompatFragment {
         unbinder.unbind();
     }
 
-    @OnClick({R.id.icon_img_iv, R.id.account_detail_layout, R.id.personalcenter_price_layout, R.id.account_safe_layout,
-            R.id.account_task_layout, R.id.proxy_service_layout, R.id.abourt_us_layout, R.id.feedbook_layout,
-            R.id.recommend_friend_layout, R.id.tv_submit, R.id.faq_layout, R.id.reservation_layout,
-            R.id.version_layout, R.id.clear_layout, R.id.change_layout, R.id.order_layout, R.id.proxy_game_account_layout
+    @OnClick({R.id.icon_img_iv, R.id.account_detail_layout, R.id.personalcenter_price_layout,
+            R.id.account_task_layout, R.id.proxy_service_layout, R.id.feedbook_layout,
+            R.id.recommend_friend_layout, R.id.faq_layout, R.id.reservation_layout,
+            R.id.change_layout, R.id.order_layout, R.id.proxy_game_account_layout
     })
     public void onViewClicked(View view) {
         switch (view.getId()) {
@@ -179,9 +169,6 @@ public class FgtPersonalCenter extends BaseCompatFragment {
             case R.id.personalcenter_price_layout://我的资产
                 Jump2View.getInstance().goMyMoney(activity, null);
                 break;
-            case R.id.account_safe_layout:
-                Jump2View.getInstance().goAccountAndSecurit(activity, null);
-                break;
             case R.id.account_task_layout://任务记录
                 Jump2View.getInstance().goTaskList2View(activity, null);
                 break;
@@ -210,9 +197,6 @@ public class FgtPersonalCenter extends BaseCompatFragment {
             case R.id.reservation_layout://游戏预约
                 Jump2View.getInstance().goActReservation(activity);
                 break;
-            case R.id.abourt_us_layout://关于我们
-                Jump2View.getInstance().goNewAboutUs(activity);
-                break;
             case R.id.feedbook_layout://意见反馈
                 Jump2View.getInstance().goFeedbackAct(activity);
                 break;
@@ -222,33 +206,9 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                 }
                 USER_SHARE.onEvent();
                 break;
-            case R.id.version_layout://版本更新
-                SysAppUtil.showVersionInfo(activity, null);
-                USER_UPGRADE.onEvent();
-                break;
-            case R.id.clear_layout://清除缓存
-                ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("清除缓存").setMsg("所有本地的缓存都会被清理").setBtnRightText("取消")
-                        .setBtnLeftText("确定").setBtnLeftOnClickListener(new View.OnClickListener() {
-                            @Override
-                            public void onClick(View view) {
-                                USER_CLEAN_SURE.onEvent();
-                                SysAppUtil.clearCache(new Action1<Object>() {
-                                    @Override
-                                    public void call(Object o) {
-                                        G.showToast("清理缓存完成");
-                                        initCacheSize();
-                                    }
-                                });
-                            }
-                        }));
-                USER_CLEAN.onEvent();
-                break;
             case R.id.change_layout://新功能介绍
                 Jump2View.getInstance().goVersionChange(activity, ApkUtils.getCurrentPkgVersionName(SheepApp.getInstance()));
                 break;
-            case R.id.tv_submit://退出登录
-                CommonUtil.getInstance().loginOut((BaseActivity) activity);
-                break;
             case R.id.order_layout://订单管理
                 Jump2View.getInstance().goGameTaskOrderList(activity);
                 break;

+ 67 - 57
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -3,6 +3,7 @@ package com.kfzs.duanduan.fragment;
 import android.app.Activity;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.graphics.Color;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
@@ -71,6 +72,8 @@ import com.sheep.gamegroup.util.PreferenceUtils;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.util.glide.GlideCircleTransformWithBorder;
 import com.sheep.gamegroup.view.activity.NotificationsUtils;
 import com.sheep.gamegroup.view.adapter.AdpHomeListGrideview;
 import com.sheep.gamegroup.view.adapter.AdpHomeListListview;
@@ -113,8 +116,6 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     LinearLayout homepageItemNoticeLayout;
     @BindView(R.id.homepage_item_banner_layout)
     RelativeLayout homepage_item_banner_layout;
-    @BindView(R.id.icon_layout)
-    RelativeLayout icon_layout;
 
     @BindView(R.id.icon_img_iv)
     ImageView iconImgIv;
@@ -122,14 +123,10 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     TextView nameTv;
     @BindView(R.id.sheep_num_tv)
     TextView sheepNumTv;
-    @BindView(R.id.user_layout)
-    LinearLayout userLayout;
     @BindView(R.id.withdrawal)
     TextView withdrawal;
     @BindView(R.id.my_price)
     TextView myPrice;
-    @BindView(R.id.my_all_price)
-    TextView myAllPrice;
     @BindView(R.id.try_play_layout)
     LinearLayout tryPlayLayout;
     @BindView(R.id.invitation_layout)
@@ -194,9 +191,9 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                     break;
                 case 1:
                     tryMakeMoneyAdp.setIs_succession(3);
-                    if(releaseEtyLists != null && releaseEtyLists.size()>0){
+                    if (releaseEtyLists != null && releaseEtyLists.size() > 0) {
 
-                        tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists), position>2?1:position);
+                        tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists), position > 2 ? 1 : position);
                     }
                     tryMakeMoneyAdp.notifyDataSetChanged();
                     checkAndInitView();
@@ -233,24 +230,22 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     }
 
 
-
     private void refalsh() {
 
         if (myPrice == null || userEntity == null) {
             return;
         }
-        myPrice.setText(userEntity.getBalance() + " 元");
-        myAllPrice.setText("累计资产 " + userEntity.getTotal_asset() + " 元");
-        nameTv.setText(userEntity.getNickname() + "");//绵羊号:123456789
-        sheepNumTv.setText("绵羊号:" + userEntity.getInvitation_code());
+        ViewUtil.setText(nameTv, userEntity.getNickname());
+        ViewUtil.setText(sheepNumTv, String.format(Locale.CHINA, "绵羊号:%s", userEntity.getInvitation_code()));
         if (ReactUtil.isSmallDebug()) {
-            sheepNumTv.append("\n\n邀请人:");
+            sheepNumTv.append("\n邀请人:");
             sheepNumTv.append(userEntity.getParent_code());
         }
+        ViewUtil.setText(myPrice, String.format(Locale.CHINA, "%s\u0020元", userEntity.getBalance()));
 
         Glide.with(activity)
                 .load(userEntity.getAvatar())
-                .apply(new RequestOptions().circleCrop().placeholder(R.drawable.icon))
+                .apply(new RequestOptions().transform(new GlideCircleTransformWithBorder(2, Color.WHITE)).placeholder(R.drawable.icon))
                 .into(iconImgIv);
 
     }
@@ -310,18 +305,19 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         SysAppUtil.checkNet(new Action1<Integer>() {
             @Override
             public void call(Integer result) {
-                if(result != 0){//无网络
-                    if(check_net_ll != null)
+                if (result != 0) {//无网络
+                    if (check_net_ll != null)
                         check_net_ll.setVisibility(View.VISIBLE);
                 } else {
-                    if(check_net_ll != null)
+                    if (check_net_ll != null)
                         check_net_ll.setVisibility(View.GONE);
                 }
             }
         });
         mInitData();
     }
-    private void mInitData(){
+
+    private void mInitData() {
         if (upview1 != null) {
             //停止滚动
             upview1.stopFlipping();
@@ -389,7 +385,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                                 1,
                                 0,
                                 0,
-                                -1+"",
+                                -1 + "",
                                 3));
 
         tryMakeMoneyPresenter.releaseTask(parameEty);
@@ -402,7 +398,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     }
 
     @OnClick({R.id.recharge, R.id.withdrawal,
-            R.id.newbie_task, R.id.icon_layout, R.id.info_layout
+            R.id.newbie_task, R.id.icon_img_iv, R.id.user_layout
     })
     public void onViewClicked(View view) {
         switch (view.getId()) {
@@ -413,17 +409,17 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 DialogNewbieTaskList.tryShowDialog(activity);
                 NEWBIE_TASK.onEvent();
                 break;
-            case R.id.icon_layout://头像
-                if(TestUtil.isTest()) {
+            case R.id.icon_img_iv://头像
+                if (TestUtil.isTest()) {
                     TestUtil.test(activity);
-                }else
+                } else
                     Jump2View.getInstance().goPersonnalCenterView(activity, null);
                 break;
-            case R.id.info_layout://其它信息
+            case R.id.user_layout://个人信息
                 Jump2View.getInstance().goPersonnalCenterView(activity, null);
                 break;
             case R.id.recharge://充值
-                Jump2View.getInstance().goRechargeAct(activity,"首页");
+                Jump2View.getInstance().goRechargeAct(activity, "首页");
                 break;
         }
     }
@@ -490,7 +486,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             BaseMessage baseMessage = (BaseMessage) o;
             List<TaskAcceptedEty> taskAcceptedEty = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskAcceptedEty.class);
             AutoTaskListUtil.getInstance().loadList(taskAcceptedEty);
-            if(taskAcceptedEty != null && taskAcceptedEty.size()>0){
+            if (taskAcceptedEty != null && taskAcceptedEty.size() > 0) {
                 tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RUN_TASK, taskAcceptedEty), position);
                 tryMakeMoneyAdp.addPresenter(tryMakeMoneyPresenter);
                 position++;
@@ -578,15 +574,15 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
         try {
             List<SlideshowEty> slideshowEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), SlideshowEty.class);
-            if (slideshowEtyList != null && slideshowEtyList.size()>0) {
+            if (slideshowEtyList != null && slideshowEtyList.size() > 0) {
                 slideshowEtyLists.clear();
-                for(SlideshowEty slideshowEty:slideshowEtyList){
+                for (SlideshowEty slideshowEty : slideshowEtyList) {
                     slideshowEty.setObjects(CommonUtil.getInstance().getValue(slideshowEty.getExt()));
                     slideshowEtyLists.add(slideshowEty);
                 }
 
                 bindBanner();
-            }else {
+            } else {
                 homepage_item_banner_layout.setVisibility(View.GONE);
             }
 
@@ -605,11 +601,11 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
         try {
             List<BulletinEnty> bulletinEntyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), BulletinEnty.class);
-            if (bulletinEntyList != null && bulletinEntyList.size() >0) {
+            if (bulletinEntyList != null && bulletinEntyList.size() > 0) {
                 bulletinEntyLists.clear();
                 bulletinEntyLists.addAll(bulletinEntyList);
                 inviteNotice(bulletinEntyLists);
-            }else {
+            } else {
                 homepageItemNoticeLayout.setVisibility(View.GONE);
             }
 
@@ -621,25 +617,25 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     @Override
     public void successhomeList(BaseMessage baseMessage) {
         checkAndInitView();
-        try{
+        try {
             List<HomeListEntity> homeListEntity = JSONArray.parseArray(
                     JSONArray.toJSONString(baseMessage.getData()),
                     HomeListEntity.class
             );
-            if(homeListEntity != null && homeListEntity.size()> 0){
+            if (homeListEntity != null && homeListEntity.size() > 0) {
                 home_list_gridview_layout.setVisibility(View.VISIBLE);
                 homeListEntitys.clear();
                 homeListEntitysGridview.clear();
                 homeListEntitysListview.clear();
                 homeListEntitys.addAll(homeListEntity);
                 boolean isShowQB = false;
-                for (int i=0;i<homeListEntitys.size();i++){
-                    if(i<4){
+                for (int i = 0; i < homeListEntitys.size(); i++) {
+                    if (i < 4) {
                         homeListEntitysGridview.add(homeListEntitys.get(i));
-                    }else {
+                    } else {
                         homeListEntitysListview.add(homeListEntitys.get(i));
                     }
-                    if(homeListEntitys.get(i).getJump().equals("6")){//6Q币充值
+                    if (homeListEntitys.get(i).getJump().equals("6")) {//6Q币充值
                         isShowQB = !isShowQB;
                     }
                 }
@@ -647,23 +643,23 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 adpHomeListGrideview.notifyDataSetChanged();
                 adpHomeListListview.notifyDataSetChanged();
                 home_list_gridview_listview.setVisibility(homeListEntitysListview.isEmpty() ? View.GONE : View.VISIBLE);
-            }else {
+            } else {
                 home_list_gridview_layout.setVisibility(View.GONE);
 
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
     private void checkAndInitView() {
-        if(recyclerview == null)
+        if (recyclerview == null)
             recyclerview = mContentView.findViewById(R.id.recyclerview);
-        if(scrollView == null)
+        if (scrollView == null)
             scrollView = mContentView.findViewById(R.id.scrollView);
-        if(home_list_gridview_layout == null)
+        if (home_list_gridview_layout == null)
             home_list_gridview_layout = mContentView.findViewById(R.id.home_list_gridview_layout);
-        if(home_list_gridview_listview == null)
+        if (home_list_gridview_listview == null)
             home_list_gridview_listview = mContentView.findViewById(R.id.home_list_gridview_listview);
     }
 
@@ -789,7 +785,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         // TODO: inflate a fragment view
         View rootView = super.onCreateView(inflater, container, savedInstanceState);
-        if(rootView != null)
+        if (rootView != null)
             unbinder = ButterKnife.bind(this, rootView);
         return rootView;
     }
@@ -830,6 +826,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         }
     };
     private ImageGlarryDrawable<SlideshowEty> mImageGlarryStr;
+
     private void bindBanner() {
         homepage_item_banner_layout.setVisibility(View.VISIBLE);
         if (mImageGlarryStr != null) {
@@ -842,7 +839,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 SlideshowEty clickedGameObj = ListUtil.getIndex(slideshowEtyLists, position);
-                if(clickedGameObj == null){
+                if (clickedGameObj == null) {
                     return;
                 }
                 UMConfigUtils.onEvent(UMConfigUtils.Event.BANNER_CLICK_HORIZONTAL);
@@ -865,9 +862,9 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                                 .goCreditCardTaskList(activity, 3);
                         break;
                     case 4:
-                        if(!TextUtils.isEmpty(clickedGameObj.getObjects())){
+                        if (!TextUtils.isEmpty(clickedGameObj.getObjects())) {
                             Ext ext = EntityUtils.getExtInfo(clickedGameObj.getExt());
-                            if(ext.getTitle() == null)//外部浏览器加载H5
+                            if (ext.getTitle() == null)//外部浏览器加载H5
                                 Jump2View.getInstance().goWeb(activity, ext.getUrl());
                             else//内部WebView加载H5
                                 Jump2View.getInstance().goWeb(activity, ext.getUrl(), ext.getTitle());
@@ -876,7 +873,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
                         break;
                     case 5:
-                        if(!TextUtils.isEmpty(clickedGameObj.getObjects())){
+                        if (!TextUtils.isEmpty(clickedGameObj.getObjects())) {
 
                             Jump2View.getInstance()
                                     .goWeb(
@@ -903,10 +900,10 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                                 .goGameMakeMoney(activity, 0);
                         break;
                     case 12://闲玩任务
-                        Jump2View.getInstance().goXianwanWeb(activity,null, null);
+                        Jump2View.getInstance().goXianwanWeb(activity, null, null);
                         break;
                     case 13://游戏代充
-                        Jump2View.getInstance().goGameRecharge(activity,null);
+                        Jump2View.getInstance().goGameRecharge(activity, null);
                         break;
                     default:
                         G.showToast(R.string.coming_soon);
@@ -919,7 +916,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     /**
      * 公共
      */
-    private void inviteNotice(final  List<BulletinEnty> bulletinEntyList) {
+    private void inviteNotice(final List<BulletinEnty> bulletinEntyList) {
         homepageItemNoticeLayout.setVisibility(View.VISIBLE);
 //        List<String> infoList = new ArrayList<>();
 //        for(BulletinEnty bulletinEnty: bulletinEntyList){
@@ -927,11 +924,17 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 //        }
 //        homepageItemNoticeMv.startWithList(infoList, R.anim.anim_left_in,R.anim.anim_right_out);
         homepageItemNoticeMv.removeAllViews();
-        for (BulletinEnty entity : bulletinEntyList) {
+        for (final BulletinEnty entity : bulletinEntyList) {
             StringBuilder sb = new StringBuilder();
             sb.append(entity.getContent()).append("   ");
             TextView moreView = (TextView) LayoutInflater.from(activity).inflate(R.layout.x_item_view, null);
             moreView.setText(sb.toString());
+
+            moreView.setOnClickListener(new View.OnClickListener() {
+                public void onClick(View v) {
+                    onClickNotice(entity);
+                }
+            });
             homepageItemNoticeMv.addView(moreView);
         }
         if (!homepageItemNoticeMv.isAutoStart()) {
@@ -939,23 +942,30 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             homepageItemNoticeMv.startFlipping();
         }
 
+    }
 
+    /**
+     * 点击一条公告
+     */
+    private void onClickNotice(BulletinEnty item) {
+        //TODO
+        G.showToast(String.format(Locale.CHINA, "您点击了一条公告:%s", JSON.toJSONString(item)));
     }
 
     /**
      * 提示用户开启推送通知权限
      * 1)只提示一次,如果用户取消,以后都不在提示
      */
-    private void showPDialog(){
-        boolean isShowDialog = SharedPreferences.getInstance().getBoolean("isShowDialog",true);
-        if(isShowDialog && !NotificationsUtils.isNotificationEnabled(mContext)){//没有开启通知权限
+    private void showPDialog() {
+        boolean isShowDialog = SharedPreferences.getInstance().getBoolean("isShowDialog", true);
+        if (isShowDialog && !NotificationsUtils.isNotificationEnabled(mContext)) {//没有开启通知权限
             AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
             builder.setTitle("提示");
             builder.setMessage("是否开启推送?");
             builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                 @Override
                 public void onClick(DialogInterface dialog, int which) {
-                    SharedPreferences.getInstance().putBoolean("isShowDialog",false);
+                    SharedPreferences.getInstance().putBoolean("isShowDialog", false);
                 }
             });
             builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

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

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

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

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

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

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

+ 0 - 23
app/src/main/java/com/sheep/gamegroup/di/modules/HomePageModule.java

@@ -1,23 +0,0 @@
-package com.sheep.gamegroup.di.modules;
-
-import com.sheep.gamegroup.presenter.HomePageContract;
-
-import dagger.Module;
-import dagger.Provides;
-
-/**
- * Created by ljy on 2018/3/19.
- */
-
-@Module
-public class HomePageModule {
-    private HomePageContract.View view;
-
-    public HomePageModule(HomePageContract.View view) {
-        this.view = view;
-    }
-    @Provides
-    public HomePageContract.View providView(){
-        return view;
-    }
-}

+ 3 - 3
app/src/main/java/com/sheep/gamegroup/heler/DownloadHelper.java

@@ -39,7 +39,7 @@ public class DownloadHelper {
     public void updateDownloadTaskView(final Activity activity, final IDownload iTask, final TextView down_tv) {
         updateDownloadTaskView(activity, iTask, down_tv, null);
     }
-    public void updateDownloadTaskView(final Activity activity, final IDownload iTask, final TextView down_tv, final Action1<Integer> callBack) {
+    public void updateDownloadTaskView(final Activity activity, final IDownload iTask, final TextView down_tv, final Action1<Object> callBack) {
         if(mDownloadTaskService == null){
             mDownloadTaskService = new DownloadTaskService(activity);
         }
@@ -48,13 +48,13 @@ public class DownloadHelper {
             public void call(Object o) {
                 if(o instanceof Integer){
                     downLoadType = (int) o;
-                    if(callBack != null)
-                        callBack.call(downLoadType);
                 } else if( o instanceof String){
                     down_tv.setText((String) o);
                 } else if( o instanceof Boolean){
                     down_tv.setEnabled((Boolean) o);
                 }
+//                if(callBack != null)
+//                    callBack.call(o);
             }
         });
         down_tv.setOnClickListener(new View.OnClickListener() {

+ 14 - 8
app/src/main/java/com/sheep/gamegroup/heler/FindAppHelper.java

@@ -37,13 +37,15 @@ public class FindAppHelper{
         downloadHelper.updateState(status);
     }
     public void updateDownloadTaskView(final Activity activity, final IDownload iTask, final TextView down_tv) {
-        downloadHelper.updateDownloadTaskView(activity, iTask, down_tv, new Action1<Integer>() {
+        downloadHelper.updateDownloadTaskView(activity, iTask, down_tv, new Action1<Object>() {
             @Override
-            public void call(Integer integer) {
-                if(DownloadTaskService.STATUS_INIT != integer){//-1 点击下载按钮的回调;其它状态直接回调不需要点击按钮
+            public void call(Object object) {
+                boolean installed = object instanceof  Integer && DownloadTaskService.STATUS_INIT != (int)object;//-1 点击下载按钮的回调;其它状态直接回调不需要点击按钮
+                boolean downloadLinkError = object instanceof  Boolean && !(boolean)object;//false 下载地址错误会传false过来
+                if(installed || downloadLinkError){
                     if(iTask instanceof FindApp) {
                         FindApp findApp = (FindApp) iTask;
-                        recordAppDownloads(activity, findApp, down_tv);
+                        recordAppDownloads(activity, findApp, null);
                         FIND_APP.onEvent("application_id", findApp.getId(), "action", down_tv.getText());
                     }
                 }
@@ -90,10 +92,13 @@ public class FindAppHelper{
                         findApp.setRecord(2);//设置为不可记录
                         if(findApp.isCanDonload()){
                             //提交下载成功
-                            textView.setEnabled(true);
+                            if(textView != null)
+                                textView.setEnabled(true);
                         } else {//提交预约成功
-                            textView.setEnabled(false);
-                            textView.setText("已经预约");
+                            if(textView != null) {
+                                textView.setEnabled(false);
+                                textView.setText("已经预约");
+                            }
                             ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("预约成功")
                                     .setMsg(String.format(Locale.CHINA, "请在%s准时到小绵羊下载哦", TimeUtil.TimeStamp2Date(findApp.getDownload_at(), "yyyy年MM月dd日HH时mm分")))
                                     .setMsgGravity(Gravity.START).setBtnLeftText("我知道了"));
@@ -105,7 +110,8 @@ public class FindAppHelper{
                         if(!findApp.isCanDonload()){
                             G.showToast("预约失败");
                         }
-                        textView.setEnabled(true);
+                        if(textView != null)
+                            textView.setEnabled(true);
                     }
                 });
     }

+ 95 - 4
app/src/main/java/com/sheep/gamegroup/heler/TaskHelper.java

@@ -2,23 +2,24 @@ package com.sheep.gamegroup.heler;
 
 import android.app.Activity;
 import android.text.TextUtils;
+import android.util.TypedValue;
 import android.view.Gravity;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
 
-import com.alibaba.fastjson.JSON;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.OrienteeringDetail;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskChild;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.RxjavaCountDownTimer;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
@@ -27,6 +28,7 @@ import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
+import java.util.List;
 import java.util.Locale;
 
 import rx.android.schedulers.AndroidSchedulers;
@@ -122,6 +124,7 @@ public class TaskHelper {
         ImageView find_information_game_icon = (ImageView)itemView.findViewById(R.id.find_information_game_icon);
         TextView find_information_game_name = (TextView)itemView.findViewById(R.id.find_information_game_name);
         TextView find_information_game_surplus = (TextView)itemView.findViewById(R.id.find_information_game_surplus);
+        TextView find_information_game_surplus1 = (TextView)itemView.findViewById(R.id.find_information_game_surplus1);
         TextView find_information_game_time = (TextView)itemView.findViewById(R.id.find_information_game_time);
         TextView find_information_game_yuan = (TextView)itemView.findViewById(R.id.find_information_game_yuan);
         TextView find_information_game_task0 = (TextView)itemView.findViewById(R.id.find_information_game_task_top);
@@ -133,6 +136,7 @@ public class TaskHelper {
             find_information_game_yuan.setVisibility(View.INVISIBLE);
             find_information_game_surplus.setText(String.format(Locale.CHINA, "可定向消费:%.1f元", orienteeringDetail.getBalance()));
             find_information_game_surplus.setTextColor(activity.getResources().getColor(R.color.red_fd2d54));
+            find_information_game_surplus1.setVisibility(View.GONE);
             find_information_game_task.setText("去充值");
             find_information_game_task.setEnabled(true);
             downloadHelper.updateDownloadTaskView(activity, taskEty, find_information_game_task0);
@@ -154,7 +158,9 @@ public class TaskHelper {
         }
         GlideImageLoader.centerImage(find_information_game_icon, taskEty.getIcon());
         ViewUtil.setText(find_information_game_name, taskReleaseEty.getName());
-        ViewUtil.setText(find_information_game_surplus, String.format(Locale.CHINA, "剩余%s份", taskReleaseEty.getLast_num()));
+        setTaskTypeText(find_information_game_surplus, taskReleaseEty);
+        find_information_game_surplus1.setVisibility(View.VISIBLE);
+        setNumText(find_information_game_surplus1, taskReleaseEty);
         ViewUtil.setText(find_information_game_time, String.format(Locale.CHINA, "截止日期:%s", taskReleaseEty.getDeadline().equals("永久") ? taskReleaseEty.getDeadline() : TimeUtil.TimeStamp2Date(NumberFormatUtils.parseLong(taskReleaseEty.getDeadline()), "yyyy/MM/dd HH:mm")));
         ViewUtil.setText(find_information_game_yuan, String.format(Locale.CHINA, "+%s元", taskReleaseEty.getBonus()));
         find_information_game_task0.setVisibility(View.GONE);
@@ -291,7 +297,8 @@ public class TaskHelper {
                             taskEty.setRelease_task_id(taskReleaseEty.getId());
                             taskEty.setName(taskReleaseEty.getName());
                             taskEty.setAcceptedTaskId(taskReleaseEty.getAccepted_task_id());
-                            Jump2View.getInstance().goDialogActivityView(activity, taskEty);
+                            Jump2View.getInstance().goTaskDetailView(activity, release_task_id);
+//                            Jump2View.getInstance().goDialogActivityView(activity, taskEty);
                             FIND_TASK.onEvent("release_task_id", release_task_id, "action", "领取任务");
                         }
                     });
@@ -349,4 +356,88 @@ public class TaskHelper {
         downloadHelper.updateState(status);
     }
 
+
+    /**
+     * 设置剩余份数文本
+     * @param textView
+     * @param taskReleaseEty
+     */
+    public static void setNumText(TextView textView, TaskReleaseEty taskReleaseEty) {
+        textView.setVisibility(View.VISIBLE);
+        ViewUtil.setText(textView, String.format(Locale.CHINA, "剩余%s份", taskReleaseEty.getLast_num()));
+    }
+    /**
+     * 设置游戏类型文本
+     * @param textView
+     * @param taskReleaseEty
+     */
+    public static void setTaskTypeText(TextView textView, TaskReleaseEty taskReleaseEty) {
+        String[] textColor = getTaskTypeTextColor(taskReleaseEty.getTask());
+        ViewUtil.setColorMapText(textView, String.format(Locale.CHINA, "%s", textColor[0]), textColor[0], textColor[1]);
+        textView.setBackgroundResource(getTaskTypeTextBg(taskReleaseEty.getTask()));
+        textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 9);
+        int padding = textView.getContext().getResources().getDimensionPixelSize(R.dimen.content_padding_2);
+        textView.setPadding(4*padding, padding, 4*padding, padding);
+    }
+    //    private int task_type = 1;// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1002平台游戏,1003 腾讯游戏,1004 小米游戏
+    private static String[] getTaskTypeTextColor(TaskEty task) {
+        switch (task.getTask_type()){
+            case 1002:
+            case 1003:
+            case 1004:
+                return new String[]{"游戏任务", "#F81B5F"};
+            case 1000:
+                return new String[]{"连续任务", "#2FA255"};
+            default:
+                return new String[]{"试玩任务", "#FFA21C"};
+        }
+    }
+    //    private int task_type = 1;// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1002平台游戏,1003 腾讯游戏,1004 小米游戏
+    private static int getTaskTypeTextBg(TaskEty task) {
+        switch (task.getTask_type()){
+            case 1002:
+            case 1003:
+            case 1004:
+                return R.drawable.shape_green_stroke_rectangle;
+            case 1000:
+                return R.drawable.shape_red_stroke_rectangle;
+            default:
+                return R.drawable.shape_yellow_stroke_rectangle;
+        }
+    }
+
+    /**
+     * 设置当前子任务为选中状态
+     * @param taskEty
+     */
+    public static void setSelectFlag(TaskEty taskEty) {
+        List<TaskChild> taskChildList;
+        if(taskEty == null || ListUtil.isEmpty(taskChildList = taskEty.getChild()))
+            return;
+        TaskChild selectTaskChild = null;
+        outFor: for (TaskChild taskChild : taskChildList) {
+            switch (taskChild.getStatus()){
+                case 0:
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                case 6:
+                    selectTaskChild = taskChild;
+                    break outFor;
+            }
+        }
+        if(selectTaskChild != null)
+            selectTaskChild.setSelectFlag(true);
+
+    /*
+    1、 任务未开启时——即将开启
+2、 任务未领取时——可领取
+3、 任务已领取待完成时——进行中
+4、 任务已提交待审核——待审核
+5、 任务审核通过——已完成
+6、 任务审核失败——审核失败
+7、任务已过期未完成——已过期
+     */
+    }
 }

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

@@ -12,6 +12,8 @@ public class AppInfo {
     private Drawable icon;
     //应用的名字
     private String appName;
+    //应用程序的sha1
+    private String sha1;
     //应用程序的大小
     private String apkSize;
     //应用程序的安装包路径
@@ -80,4 +82,12 @@ public class AppInfo {
     public void setSourceDir(String sourceDir) {
         this.sourceDir = sourceDir;
     }
+
+    public String getSha1() {
+        return sha1;
+    }
+
+    public void setSha1(String sha1) {
+        this.sha1 = sha1;
+    }
 }

+ 0 - 22
app/src/main/java/com/sheep/gamegroup/presenter/AccountAndSecuritContract.java

@@ -1,22 +0,0 @@
-package com.sheep.gamegroup.presenter;
-
-import com.sheep.gamegroup.IBase.IBasePresenter;
-import com.sheep.gamegroup.IBase.IBaseView;
-import com.sheep.gamegroup.model.entity.UserEntity;
-
-/**
- * Created by Administrator on 2018/3/10.
- */
-
-public interface AccountAndSecuritContract {
-
-    interface Presenter extends IBasePresenter {
-
-    }
-
-    interface View extends IBaseView {
-       void   showTask(UserEntity entity);
-
-
-    }
-}

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

@@ -1,56 +0,0 @@
-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.entity.UserEntity;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.util.FastJsonUtils;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-
-import java.util.HashMap;
-
-import javax.inject.Inject;
-
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
-
-/**
- * Created by Administrator on 2018/3/10.
- */
-
-public class AccountAndSecuritPresenter implements  AccountAndSecuritContract.Presenter  {
-
-    private AccountAndSecuritContract.View view;
-    private ApiService apiService;
-
-    @Inject
-    public AccountAndSecuritPresenter(AccountAndSecuritContract.View view, ApiService apiService) {
-        this.view = view;
-        this.apiService = apiService;
-    }
-
-
-    @Override
-    public void getTask(HashMap<String, String> map) {
-
-
-        apiService.getInfo().subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        view.NetError(-1,"请求网络异常");
-                    }
-
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        if(baseMessage!=null){
-
-
-                        UserEntity loginEty = FastJsonUtils.toBean( JSONObject.toJSONString(baseMessage.getData()),UserEntity.class);
-                        view.showTask(loginEty);
-
-                        }
-                    }
-                }); } }

+ 0 - 19
app/src/main/java/com/sheep/gamegroup/presenter/HomePageContract.java

@@ -1,19 +0,0 @@
-package com.sheep.gamegroup.presenter;
-
-/**
- * Created by ljy on 2018/3/19.
- */
-
-public interface HomePageContract {
-
-    interface Persenter{
-
-        void getUserInfo();
-    }
-
-    interface View {
-
-        void updateData2View(Object o);
-        void failData2View(Object o);
-    }
-}

+ 0 - 52
app/src/main/java/com/sheep/gamegroup/presenter/HomePagePresenter.java

@@ -1,52 +0,0 @@
-package com.sheep.gamegroup.presenter;
-
-import android.util.Log;
-
-import com.sheep.gamegroup.model.api.ApiService;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.utils.SpUtils;
-
-import javax.inject.Inject;
-
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
-
-/**
- * Created by ljy on 2018/3/19.
- */
-
-public class HomePagePresenter implements HomePageContract.Persenter {
-    private HomePageContract.View view;
-    private ApiService apiService;
-
-    @Inject
-    public HomePagePresenter(HomePageContract.View view, ApiService apiService) {
-        this.view = view;
-        this.apiService = apiService;
-    }
-
-    @Override
-    public void getUserInfo() {
-        String token = SpUtils.getOpenId(SheepApp.mContext);
-
-        Log.e("token---user",token+"");
-        apiService.getInfo()
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        view.failData2View(baseMessage);
-
-                    }
-
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        view.updateData2View(baseMessage);
-
-                    }
-                });
-    }
-}

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

@@ -687,7 +687,8 @@ public class CommonUtil {
 
             @Override
             public void onTimerTick(long millisUntilFinished, int counTime) {
-                textView.setText(Html.fromHtml(CommonUtil.getInstance().assemblyStrings(TimeUtil.getHours(millisUntilFinished), notice)+""));
+                textView.setText(notice);
+                textView.append(TimeUtil.getHours(millisUntilFinished));
             }
 
             @Override

+ 23 - 15
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -36,7 +36,6 @@ import com.sheep.gamegroup.model.entity.VersionInfo;
 import com.sheep.gamegroup.model.entity.WebviewEntity;
 import com.sheep.gamegroup.model.entity.XianWanEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.view.activity.AccountAndSecurityAct;
 import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
 import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
 import com.sheep.gamegroup.view.activity.ActFindGame;
@@ -54,6 +53,7 @@ import com.sheep.gamegroup.view.activity.ActNewbieTaskList;
 import com.sheep.gamegroup.view.activity.ActNotice;
 import com.sheep.gamegroup.view.activity.ActReservation;
 import com.sheep.gamegroup.view.activity.ActSearchGame;
+import com.sheep.gamegroup.view.activity.ActSetting;
 import com.sheep.gamegroup.view.activity.ActUnderstandSheep;
 import com.sheep.gamegroup.view.activity.ActUserLabelList;
 import com.sheep.gamegroup.view.activity.ActWeb;
@@ -71,7 +71,7 @@ import com.sheep.gamegroup.view.activity.GameTaskOrderListAct;
 import com.sheep.gamegroup.view.activity.GamemakeMoneyAct;
 import com.sheep.gamegroup.view.activity.LieMakeMoneyAct;
 import com.sheep.gamegroup.view.activity.LoginAct;
-import com.sheep.gamegroup.view.activity.PersionInfoAct;
+import com.sheep.gamegroup.view.activity.PersonalInfoAct;
 import com.sheep.gamegroup.view.activity.PersonalCenterAct;
 import com.sheep.gamegroup.view.activity.PhoneAct;
 import com.sheep.gamegroup.view.activity.RealNameAuthenAct;
@@ -116,8 +116,8 @@ import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_INSTEAD_OF_RECHA
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.RECHARGE;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.RECHARGE_QQ;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.SEARCH_GAME;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.SETTING;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_ABOUT_US;
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_ACCOUNT_SAFE;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_FEEDBACK;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_FIND_APP_ORDER;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_GAME_ACCOUNT;
@@ -182,16 +182,16 @@ public class Jump2View {
     }
 
 
-    /**
-     * 跳到安全中心
-     * @param context
-     * @param o
-     */
-    public void goAccountAndSecurit(Context context, Object o){
-        Intent intent = new Intent(context, AccountAndSecurityAct.class);
-        context.startActivity(intent);
-        USER_ACCOUNT_SAFE.onEvent();
-    }
+//    /**
+//     * 跳到安全中心
+//     * @param context
+//     * @param o
+//     */
+//    public void goAccountAndSecurit(Context context, Object o){
+//        Intent intent = new Intent(context, AccountAndSecurityAct.class);
+//        context.startActivity(intent);
+//        USER_ACCOUNT_SAFE.onEvent();
+//    }
 
     /**
      * 跳到登录页面
@@ -651,7 +651,7 @@ public class Jump2View {
      * @param o
      */
     public void goPersionInfo(Context context, UserEntity o){
-        Intent i = new Intent(context, PersionInfoAct.class);
+        Intent i = new Intent(context, PersonalInfoAct.class);
         i.putExtra("info", o);
         context.startActivity(i);
         USER_INFO.onEvent();
@@ -1208,7 +1208,7 @@ public class Jump2View {
                 .subscribe(new SheepSubscriber<BaseMessage>(activity) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        if(baseMessage.getData() instanceof Integer){
+                        if(baseMessage.getData() instanceof Integer && !BuildConfig.DEBUG){
                             if((int)baseMessage.getData() > 0){//该提示在弹窗广告后显示,且必须有可下载的游戏,弹出弹窗
                                 ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("预约下载提示")
                                         .setMsg("你有可下载的预约游戏请及时下载,不要错过优先时机哦。").setMsgGravity(Gravity.START)
@@ -1421,4 +1421,12 @@ public class Jump2View {
         activity.startActivity(intent);
         SEARCH_GAME.onEvent();
     }
+    /**
+     * 设置界面
+     */
+    public void goSetting(Activity activity, Object o){
+        Intent intent = new Intent(activity, ActSetting.class);
+        activity.startActivity(intent);
+        SETTING.onEvent();
+    }
 }

+ 17 - 211
app/src/main/java/com/sheep/gamegroup/util/LocationUtils.java

@@ -1,17 +1,10 @@
 package com.sheep.gamegroup.util;
 
-import android.Manifest;
 import android.content.Context;
-import android.content.pm.PackageManager;
-import android.location.Criteria;
 import android.location.Location;
-import android.location.LocationListener;
-import android.location.LocationManager;
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.ActivityCompat;
-import android.text.TextUtils;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baidu.location.BDLocation;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 /**
@@ -20,10 +13,6 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 
 public class LocationUtils {
 
-    private static final long REFRESH_TIME = 5000L;
-    private static final float METER_POSITION = 0.0f;
-    private static ILocationListener mLocationListener;
-    String logitudeLStr;
     private static LocationUtils locationUtils;
 
     public static LocationUtils getInstance(){
@@ -32,212 +21,29 @@ public class LocationUtils {
         }
         return locationUtils;
     }
-    private static LocationListener listener = new MyLocationListener();
-
-    private static class MyLocationListener implements LocationListener {
-        @Override
-        public void onLocationChanged(Location location) {//定位改变监听
-            if (mLocationListener != null) {
-                mLocationListener.onSuccessLocation(location);
-            }
-        }
-
-        @Override
-        public void onStatusChanged(String provider, int status, Bundle extras) {//定位状态监听
-
-        }
-
-        @Override
-        public void onProviderEnabled(String provider) {//定位状态可用监听
-
-        }
-
-        @Override
-        public void onProviderDisabled(String provider) {//定位状态不可用监听
-
-        }
-    }
-    /**
-     * GPS获取定位方式
-     */
-    public static Location getGPSLocation(@NonNull Context context) {
-        Location location = null;
-        LocationManager manager = getLocationManager(context);
-        //高版本的权限检查
-        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
-            return null;
-        }
-        if (manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {//是否支持GPS定位
-            //获取最后的GPS定位信息,如果是第一次打开,一般会拿不到定位信息,一般可以请求监听,在有效的时间范围可以获取定位信息
-            location = manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
-        }
-        return location;
-    }
-    /**
-     * network获取定位方式
-     */
-    public static Location getNetWorkLocation(Context context) {
-        Location location = null;
-        LocationManager manager = getLocationManager(context);
-        //高版本的权限检查
-        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
-            return null;
-        }
-        if (manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {//是否支持Network定位
-            //获取最后的network定位信息
-            location = manager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
-        }
-        return location;
-    }
-
-    /**
-     * 获取最好的定位方式
-     */
-    public static Location getBestLocation(Context context, Criteria criteria) {
-        Location location;
-        LocationManager manager = getLocationManager(context);
-        if (criteria == null) {
-            criteria = new Criteria();
-        }
-        String provider = manager.getBestProvider(criteria, true);
-        if (TextUtils.isEmpty(provider)) {
-            //如果找不到最适合的定位,使用network定位
-            location = getNetWorkLocation(context);
-        } else {
-            //高版本的权限检查
-            if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED
-                    && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
-                return null;
-            }
-            //获取最适合的定位方式的最后的定位权限
-            location = manager.getLastKnownLocation(provider);
-        }
-        return location;
-    }
-
-    /**
-     * 定位监听
-     */
-    public static void addLocationListener(Context context, String provider, ILocationListener locationListener) {
-
-        addLocationListener(context, provider, REFRESH_TIME, METER_POSITION, locationListener);
-    }
-
-    /**
-     * 定位监听
-     */
-    public static void addLocationListener(Context context, String provider, long time, float meter, ILocationListener locationListener) {
-        if (locationListener != null) {
-            mLocationListener = locationListener;
-        }
-        if (listener == null) {
-            listener = new MyLocationListener();
-        }
-        LocationManager manager = getLocationManager(context);
-        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
-                && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
-            return;
-        }
-        manager.requestLocationUpdates(provider, time, meter, listener);
-    }
-
-    /**
-     * 取消定位监听
-     */
-    public static void unRegisterListener(Context context) {
-        if (listener != null) {
-            LocationManager manager = getLocationManager(context);
-            if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
-                    && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
-                return;
-            }
-            //移除定位监听
-            manager.removeUpdates(listener);
-        }
-    }
-
-    private static LocationManager getLocationManager(@NonNull Context context) {
-        return (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
-    }
-
-    /**
-     * 自定义接口
-     */
-    public interface ILocationListener {
-        void onSuccessLocation(Location location);
-    }
-
 
     /**
      * Longitude:经度
      * Latitude:纬度
-     * 通过GPS获取定位信息
-     */
-    public String getGPSLocations(final Context context) {
-        logitudeLStr = null;
-        Location gps = getGPSLocation(SheepApp.mContext);
-        if (gps == null) {
-            //设置定位监听,因为GPS定位,第一次进来可能获取不到,通过设置监听,可以在有效的时间范围内获取定位信息
-            LocationUtils.addLocationListener(context, LocationManager.GPS_PROVIDER, new LocationUtils.ILocationListener() {
-                @Override
-                public void onSuccessLocation(Location location) {
-                    if (location != null) {
-                        logitudeLStr = location.getLongitude() + "," +location.getLatitude();
-//                        Toast.makeText(context, "gps onSuccessLocation location:  lat==" + location.getLatitude() + "     lng==" + location.getLongitude(), Toast.LENGTH_SHORT).show();
-                    } else {
-//                        Toast.makeText(context, "gps location is null", Toast.LENGTH_SHORT).show();
-                    }
-                }
-            });
-        } else {
-//            Toast.makeText(context, "gps location: lat==" + gps.getLatitude() + "  lng==" + gps.getLongitude(), Toast.LENGTH_SHORT).show();
-        }
-        return logitudeLStr;
-    }
-
-    /**
-     * 通过网络等获取定位信息
-     */
-    private String getNetworkLocations() {
-        logitudeLStr = null;
-        Location net = LocationUtils.getNetWorkLocation(SheepApp.mContext);
-        if (net == null) {
-        } else {
-            logitudeLStr = net.getLongitude() + "," +net.getLatitude();
-        }
-        return logitudeLStr;
-    }
-
-    /**
-     * 采用最好的方式获取定位信息
+     * 获取经纬度
      */
-    private String getBestLocations() {
-        logitudeLStr = null;
-        Criteria c = new Criteria();//Criteria类是设置定位的标准信息(系统会根据你的要求,匹配最适合你的定位供应商),一个定位的辅助信息的类
-        c.setPowerRequirement(Criteria.POWER_LOW);//设置低耗电
-        c.setAltitudeRequired(true);//设置需要海拔
-        c.setBearingAccuracy(Criteria.ACCURACY_COARSE);//设置COARSE精度标准
-        c.setAccuracy(Criteria.ACCURACY_LOW);//设置低精度
-        //... Criteria 还有其他属性,就不一一介绍了
-        Location best = LocationUtils.getBestLocation(SheepApp.mContext, c);
-        if (best == null) {
-
-        } else {
-            logitudeLStr = best.getLongitude() + "," +best.getLatitude();
-        }
-        return logitudeLStr;
+    public String getLongitudeLatitude(){
+        BDLocation location = SheepApp.getInstance().getCurLocation();
+        if(location == null)
+            return "";
+        return location.getLongitude() + "," +location.getLatitude();
     }
-
     /**
-     * Longitude:经度
-     * Latitude:纬度
-     * 获取经纬度
+     * 获取定位
      */
-    public String getLongitudeLatitude(Context context){
-        logitudeLStr = getGPSLocations(context);
-        if(TextUtils.isEmpty(logitudeLStr) || logitudeLStr.length() < 3){
-            logitudeLStr = getNetworkLocations();
+    public JSONObject getLocationJSONObject(){
+        BDLocation location = SheepApp.getInstance().getCurLocation();
+        JSONObject jsonObject = new JSONObject();
+        if(location != null) {
+            jsonObject.put("longitude", location.getLongitude());
+            jsonObject.put("latitude", location.getLatitude());
+            jsonObject.put("addrStr", location.getAddrStr());
         }
-        return logitudeLStr;
+        return jsonObject;
     }
 }

+ 4 - 3
app/src/main/java/com/sheep/gamegroup/util/StringUtils.java

@@ -5,6 +5,8 @@ import android.content.ClipboardManager;
 import android.content.Context;
 import android.text.TextUtils;
 
+import com.sheep.jiuyan.samllsheep.SheepApp;
+
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
@@ -20,11 +22,10 @@ import java.util.regex.Pattern;
 public class StringUtils {
     /**
      * 拷贝文字到粘贴板
-     * @param context
      * @param text
      */
-    public static boolean  CopyText(Context context,String  text){
-        ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
+    public static boolean  CopyText(String  text){
+        ClipboardManager clipboardManager = (ClipboardManager) SheepApp.getInstance().getSystemService(Context.CLIPBOARD_SERVICE);
         if (clipboardManager != null && !TextUtils.isEmpty(text)) {
             //创建ClipData对象
             ClipData clipData = ClipData.newPlainText("sheep text copy", text);

+ 28 - 1
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -39,12 +39,16 @@ import com.tencent.bugly.beta.UpgradeInfo;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 
+import org.afinal.simplecache.ACache;
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.lang.reflect.Method;
 import java.math.BigDecimal;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.List;
@@ -263,7 +267,7 @@ public class SysAppUtil {
         //首先获取到包的管理者
         PackageManager packageManager = SheepApp.getInstance().getPackageManager();
         //获取到所有的安装包
-        List<PackageInfo> installedPackages = packageManager.getInstalledPackages(0);
+        List<PackageInfo> installedPackages = packageManager.getInstalledPackages(PackageManager.GET_ACTIVITIES | PackageManager.GET_SIGNATURES);
         ArrayList<AppInfo> appInfos = new ArrayList<>();
         for (PackageInfo installedPackage : installedPackages) {
             AppInfo appInfo = new AppInfo();
@@ -284,6 +288,7 @@ public class SysAppUtil {
             long apkSize = file.length();
             //格式化apk的大小
             appInfo.setApkSize(Formatter.formatFileSize(SheepApp.getInstance(),apkSize));
+            appInfo.setSha1(getSHA1(installedPackage));
 
             int flags = installedPackage.applicationInfo.flags;
             //判断当前是否是系统app
@@ -307,6 +312,27 @@ public class SysAppUtil {
         }
         return appInfos;
     }
+    public static String getSHA1(PackageInfo packageInfo) {
+        try {
+            byte[] cert = packageInfo.signatures[0].toByteArray();
+            MessageDigest md = MessageDigest.getInstance("SHA1");
+            byte[] publicKey = md.digest(cert);
+            StringBuilder hexString = new StringBuilder();
+            for (int i = 0; i < publicKey.length; i++) {
+                String appendString = Integer.toHexString(0xFF & publicKey[i])
+                        .toUpperCase(Locale.US);
+                if (appendString.length() == 1)
+                    hexString.append("0");
+                hexString.append(appendString);
+                hexString.append(":");
+            }
+            String result = hexString.toString();
+            return result.substring(0, result.length()-1);
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
 
     //运行命令行的方法
     public static void execShell(String cmd) {
@@ -446,6 +472,7 @@ public class SysAppUtil {
                             if(action1 != null)
                                 action1.call(0);
                         } else {//有新版本
+                            ACache.get(SheepApp.getInstance()).put("version_url", version.getAddress());
                             final String fileName = version.getMd5_address()+".apk";
                             final File file = new File(ClassFileHelper.DIR, fileName);
                             DialogConfig dialogConfig = new DialogConfig();

+ 12 - 5
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -5,6 +5,7 @@ import android.app.DownloadManager;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.location.Location;
 import android.net.Uri;
 import android.support.v7.app.AlertDialog;
 import android.text.TextUtils;
@@ -14,6 +15,7 @@ import android.view.View;
 import android.widget.ArrayAdapter;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.bumptech.glide.Glide;
 import com.kfzs.duanduan.ActMain;
@@ -95,7 +97,7 @@ public class TestUtil {
     }
 
     private static void debugCopy(final Context context, final TaskEty taskEty) {
-        if (StringUtils.CopyText(context, taskEty.getDownload_link())) {
+        if (StringUtils.CopyText(taskEty.getDownload_link())) {
             G.showToast("已经复制游戏下载链接");
         }
     }
@@ -283,7 +285,7 @@ public class TestUtil {
      * @param activity
      */
     public static void test(final Activity activity) {
-        final String[] items = {"复制token","测试apk的渠道","测试可用金额","复制打点数据","游戏搜索","游戏帐号","游戏代充","尝试开启第三方应用使用情况","测试代理页面","第三方应用使用情况",
+        final String[] items = {"复制token","测试定位信息","测试apk的渠道","测试可用金额","复制打点数据","游戏搜索","游戏帐号","游戏代充","尝试开启第三方应用使用情况","测试代理页面","第三方应用使用情况",
                 "开启第三方应用使用情况","h5跳转","新手对话框","md5","空间不足提示框",
                 "显示已经安装应用列表","复制faq地址","复制代理地址","复制世界杯地址","任务游戏列表","世界杯活动","交通银行信用卡测试",
                 "浦发银行信用卡测试", "测试游戏模块","打卡成功提示","定向货币详情","进入绑定身份认证界面时的提示","提交身份认证时的提示", "检查标签",
@@ -294,6 +296,11 @@ public class TestUtil {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         switch (items[which]) {
+                            case "测试定位信息":
+                                String jsonString = LocationUtils.getInstance().getLocationJSONObject().toJSONString();
+                                G.showToast(jsonString);
+                                StringUtils.CopyText(jsonString);
+                                break;
                             case "测试apk的渠道":
                                 Intent intent = new Intent(activity, ActSheepApkList.class);
                                 activity.startActivity(intent);
@@ -343,7 +350,7 @@ public class TestUtil {
                                 break;
                             case "md5":
                                 String md5 = SysAppUtil.getConnectAdrressFileMD5();
-                                StringUtils.CopyText(activity, md5);
+                                StringUtils.CopyText(md5);
                                 G.showToast(md5);
                                 break;
                             case "空间不足提示框":
@@ -353,7 +360,7 @@ public class TestUtil {
                                 showHasInstallApkList(activity);
                                 break;
                             case "复制token":
-                                StringUtils.CopyText(activity, SpUtils.getOpenId(activity));
+                                StringUtils.CopyText(SpUtils.getOpenId(activity));
                                 break;
                             case "复制faq地址":
                                 copyUrl("faqurl");
@@ -459,7 +466,7 @@ public class TestUtil {
                     url = ((JSONObject) url_config1).getString("find_share_url");
                     break;
             }
-            StringUtils.CopyText(SheepApp.getInstance(), ActWeb.addUrlToken(url));
+            StringUtils.CopyText(ActWeb.addUrlToken(url));
         }
     }
 

+ 7 - 4
app/src/main/java/com/sheep/gamegroup/util/UMConfigUtils.java

@@ -46,7 +46,7 @@ public class UMConfigUtils {
         TASK_DETAIL("任务详情"),//5012
         TASK_DOWNLOAD("任务详情中->下载游戏"),//5013
         TASK_UPLOAD_PICTURE("任务详情中->上传截图"),//5014
-        USER_ACCOUNT_SAFE("个人中心 -> 账号安全"),//5015
+        USER_ACCOUNT_SAFE("个人中心 -> 账号安全 注:!!!!!界面已经合并到个人资料界面中!!!!!"),//5015
         USER_TASK_RECORD("个人中心 -> 任务记录"),//5016
         USER_TIXIAN_DETAIL("个人中心 -> 提现明细"),//5017
         USER_BIND_PHONE("账号安全 -> 绑定手机号(确定按钮"),//5018
@@ -151,6 +151,7 @@ public class UMConfigUtils {
         SHEEP_NEWBIE_TASK_UNDERSTAND_SHEEP_COMMIT("新手任务 -> 一分钟了解小绵羊界面 -> 点击我知道了"),//5117
         ORDER_MANAGER_CANCEL("订单管理 -> 取消支付"),//5118
         ORDER_MANAGER_PAY("订单管理 -> 立即支付"),//5119
+        SETTING("进入设置界面"),//5120
         ;
         private String tag;
 
@@ -206,7 +207,7 @@ public class UMConfigUtils {
     }
 
     public static void copyDaDianData() {
-        StringUtils.CopyText(SheepApp.getInstance(), Event.allToString());
+        StringUtils.CopyText(Event.allToString());
     }
 
     public enum IdEvent {
@@ -252,8 +253,9 @@ public class UMConfigUtils {
         if(ActivityManager.getInstance().currentActivity() instanceof ChangeTelAct){//绑定手机号界面卡,接口不能通过,调了也没用
             return;
         }
+        String jsonString = LocationUtils.getInstance().getLocationJSONObject().toJSONString();
         //自己的统计信息
-        AppStatistics.getInstance().sendDataToServer(AppStatisticsConfig.SuperType.DAU, AppStatisticsConfig.DauSubType.signIn, "");
+        AppStatistics.getInstance().sendDataToServer(AppStatisticsConfig.SuperType.DAU, AppStatisticsConfig.DauSubType.signIn, jsonString);
     }
 
     /**
@@ -263,8 +265,9 @@ public class UMConfigUtils {
         if(ActivityManager.getInstance().currentActivity() instanceof ChangeTelAct){//绑定手机号界面卡,接口不能通过,调了也没用
             return;
         }
+        String jsonString = LocationUtils.getInstance().getLocationJSONObject().toJSONString();
         //自己的统计退出
-        AppStatistics.getInstance().sendDataToServer(AppStatisticsConfig.SuperType.DAU, AppStatisticsConfig.DauSubType.signOff, "");
+        AppStatistics.getInstance().sendDataToServer(AppStatisticsConfig.SuperType.DAU, AppStatisticsConfig.DauSubType.signOff, jsonString);
     }
 
 

+ 74 - 23
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -172,7 +172,7 @@ public class ViewUtil {
             @Override
             public void onClick(View v) {
                 QR_COPY.onEvent();
-                StringUtils.CopyText(activity, link);
+                StringUtils.CopyText(link);
                 G.showToast("复制链接成功");
             }
         });
@@ -335,28 +335,7 @@ public class ViewUtil {
                 if (dialogConfig.getMsgIndent() > 0) {
                     msg = addIndent(msg, dialogConfig.getMsgIndent());
                 }
-                Map<String, String> colorMsgMap = dialogConfig.getColorMsgMap();
-                if(colorMsgMap.isEmpty()) {
-                    dialog_msg.setText(msg);
-                } else {
-                    int index = 0;
-                    for (Map.Entry<String, String> entry : colorMsgMap.entrySet()) {
-                        String key = entry.getKey();
-                        String value = entry.getValue();//例如红色 #FF0000
-                        if(!TextUtils.isEmpty(key) && !TextUtils.isEmpty(value) && msg.contains(key) && value.length() == 7){
-                            int length = msg.length();
-                            if(index < length){
-                                int position = msg.indexOf(key, index);
-                                String start = msg.substring(0, position);
-                                String middle = getHtmlText(key, value);
-                                String end = msg.substring(position + key.length());
-                                index = (start+middle).length();
-                                msg = start + middle + end;
-                            }
-                        }
-                    }
-                    dialog_msg.setText(Html.fromHtml(msg));
-                }
+                setColorMapText(dialog_msg, msg, dialogConfig.getColorMsgMap());
                 int msgGravity = dialogConfig.getMsgGravity();
                 if (msgGravity != Gravity.NO_GRAVITY)
                     dialog_msg.setGravity(msgGravity);
@@ -470,6 +449,78 @@ public class ViewUtil {
     }
 
     /**
+     * 通过map来设置字体颜色
+     * @param textView
+     * @param msg
+     * @param colorMsgMap key为文本,value为要设置的颜色(#FF0000)
+     */
+    public static void setColorMapText(TextView textView, String msg, Map<String, String> colorMsgMap) {
+        if(textView == null){
+            return;
+        }
+        if(TextUtils.isEmpty(msg)){
+            textView.setText("");
+        }
+        if(colorMsgMap.isEmpty()) {
+            textView.setText(msg);
+        } else {
+            int index = 0;
+            for (Map.Entry<String, String> entry : colorMsgMap.entrySet()) {
+                String key = entry.getKey();
+                String value = entry.getValue();//例如红色 #FF0000
+                if(!TextUtils.isEmpty(key) && !TextUtils.isEmpty(value) && msg.contains(key) && value.length() == 7){
+                    int length = msg.length();
+                    if(index < length){
+                        int position = msg.indexOf(key, index);
+                        String start = msg.substring(0, position);
+                        String middle = getHtmlText(key, value);
+                        String end = msg.substring(position + key.length());
+                        index = (start+middle).length();
+                        msg = start + middle + end;
+                    }
+                }
+            }
+            textView.setText(Html.fromHtml(msg));
+        }
+    }
+    /**
+     * 通过map来设置字体颜色
+     * @param textView
+     * @param msg
+     * @param items key为文本,value为要设置的颜色(#FF0000)
+     */
+    public static void setColorMapText(TextView textView, String msg, String...items) {
+        if(textView == null){
+            return;
+        }
+        if(TextUtils.isEmpty(msg)){
+            textView.setText("");
+        }
+        if(items == null || items.length < 1 || items.length % 2 == 1) {
+            textView.setText(msg);
+        } else {
+            int index = 0;
+            for (int i = 0; i + 1 < items.length; ) {
+                String key = items[i];
+                String value = items[i+1];//例如红色 #FF0000
+                if(!TextUtils.isEmpty(key) && !TextUtils.isEmpty(value) && msg.contains(key) && value.length() == 7){
+                    int length = msg.length();
+                    if(index < length){
+                        int position = msg.indexOf(key, index);
+                        String start = msg.substring(0, position);
+                        String middle = getHtmlText(key, value);
+                        String end = msg.substring(position + key.length());
+                        index = (start+middle).length();
+                        msg = start + middle + end;
+                    }
+                }
+                i+=2;
+            }
+            textView.setText(Html.fromHtml(msg));
+        }
+    }
+
+    /**
      * 获取html格式并带颜色的文字
      * @param text 文字
      * @param color 颜色

+ 72 - 0
app/src/main/java/com/sheep/gamegroup/util/glide/GlideCircleTransformWithBorder.java

@@ -0,0 +1,72 @@
+package com.sheep.gamegroup.util.glide;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BitmapShader;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.support.annotation.NonNull;
+
+import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
+import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
+
+import java.security.MessageDigest;
+
+/**
+ * Created by realicing on 2018/7/20.
+ * realicing@sina.com
+ */
+public class GlideCircleTransformWithBorder  extends BitmapTransformation {
+    private Paint mBorderPaint;
+    private float mBorderWidth;
+    public GlideCircleTransformWithBorder(int borderWidth, int borderColor) {
+        super();
+        mBorderWidth = Resources.getSystem().getDisplayMetrics().density * borderWidth;
+
+        mBorderPaint = new Paint();
+        mBorderPaint.setDither(true);
+        mBorderPaint.setAntiAlias(true);
+        mBorderPaint.setColor(borderColor);
+        mBorderPaint.setStyle(Paint.Style.STROKE);
+        mBorderPaint.setStrokeWidth(mBorderWidth);
+    }
+
+
+    protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) {
+        return circleCrop(pool, toTransform);
+    }
+
+    private Bitmap circleCrop(BitmapPool pool, Bitmap source) {
+        if (source == null) return null;
+
+        int size = (int) (Math.min(source.getWidth(), source.getHeight()) - (mBorderWidth / 2));
+        int x = (source.getWidth() - size) / 2;
+        int y = (source.getHeight() - size) / 2;
+        // TODO this could be acquired from the pool too
+        Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);
+        Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);
+        Canvas canvas = new Canvas(result);
+        Paint paint = new Paint();
+        paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
+        paint.setAntiAlias(true);
+        float r = size / 2f;
+        canvas.drawCircle(r, r, r, paint);
+        if (mBorderPaint != null) {
+            float borderRadius = r - mBorderWidth / 2;
+            canvas.drawCircle(r, r, borderRadius, mBorderPaint);
+        }
+        return result;
+    }
+
+    @Override
+    public void updateDiskCacheKey(MessageDigest messageDigest) {
+
+    }
+
+    //
+//    @Override
+//    public String getId() {
+//        return getClass().getName();
+//    }
+}

+ 0 - 272
app/src/main/java/com/sheep/gamegroup/view/activity/AccountAndSecurityAct.java

@@ -1,272 +0,0 @@
-package com.sheep.gamegroup.view.activity;
-
-import android.app.Activity;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-import com.bumptech.glide.Glide;
-import com.bumptech.glide.request.RequestOptions;
-import com.kfzs.duanduan.event.BigEvent;
-import com.sheep.gamegroup.absBase.BaseActivity;
-import com.sheep.gamegroup.di.components.DaggerAccountAndSercuritComponent;
-import com.sheep.gamegroup.di.modules.AccountAndSercuritModule;
-import com.sheep.gamegroup.event.ImageHeadChange;
-import com.sheep.gamegroup.event.MoneyChange;
-import com.sheep.gamegroup.event.RealNameAutehrChange;
-import com.sheep.gamegroup.event.UserNameChange;
-import com.sheep.gamegroup.model.entity.UserEntity;
-import com.sheep.gamegroup.presenter.AccountAndSecuritContract;
-import com.sheep.gamegroup.presenter.AccountAndSecuritPresenter;
-import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.util.MyDbManager;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.utils.G;
-import com.sheep.jiuyan.samllsheep.utils.SpUtils;
-import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
-
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-import javax.inject.Inject;
-
-import butterknife.BindView;
-import butterknife.OnClick;
-
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.BIND_PHONE;
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.BIND_WX;
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_INFO;
-
-/**
- * Created by Administrator on 2018/3/16.
- */
-
-public class AccountAndSecurityAct extends BaseActivity implements AccountAndSecuritContract.View {
-
-    @BindView(R.id.iv_head)
-    ImageView ivHead;
-    @BindView(R.id.tv_name)
-    TextView tvName;
-    @BindView(R.id.tv_link_content)
-    TextView tvLinkContent;
-    @BindView(R.id.tv_phone)
-    TextView tvPhone;
-    @BindView(R.id.rl_phone)
-    RelativeLayout rlPhone;
-    @BindView(R.id.tv_wx)
-    TextView tvWx;
-    @BindView(R.id.rl_wx)
-    RelativeLayout rlWx;
-    @BindView(R.id.tv_auther)
-    TextView tvAuther;
-    @BindView(R.id.rl_auther)
-    RelativeLayout rlAuther;
-    @BindView(R.id.rl_top)
-    RelativeLayout rlTop;
-
-    @Inject
-    AccountAndSecuritPresenter presenter;
-    UserEntity mEntity;
-    @BindView(R.id.tv_submit)
-    TextView tvSubmit;
-
-    private Activity activity;
-
-    @Override
-    protected int getLayoutId() {
-        return R.layout.x_account_security_layout;
-    }
-
-    @Override
-    public void initView() {
-        activity = this;
-        TitleBarUtils
-                .getInstance()
-                .setTitle(this, "账号与安全")
-                .setTitleFinish(this);
-
-        DaggerAccountAndSercuritComponent.builder()
-                .netComponent(SheepApp.get(this).getNetComponent())
-                .accountAndSercuritModule(new AccountAndSercuritModule(this))
-                .build().inject(this);
-
-    }
-
-    @Override
-    public void initListener() {
-
-    }
-
-    @Override
-    public void initData() {
-        presenter.getTask(null);
-        EventBus.getDefault().register(this);
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    public void onMessageEvent(UserNameChange done) {
-        UserEntity user=mEntity;
-        user.setNickname(done.getNikeName());
-        mEntity=user;
-        tvName.setText(mEntity.getNickname());
-
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-//        initData();
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    public void onMessageEvent(ImageHeadChange done) {
-        UserEntity user=mEntity;
-        user.setAvatar(done.getAvatar());
-        mEntity=user;
-        Glide.with(AccountAndSecurityAct.this)
-                .load(mEntity.getAvatar())
-                .apply(new RequestOptions().circleCrop().placeholder(R.drawable.icon))
-                .into(ivHead);
-    }
-
-
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    public void onMessageEvent(RealNameAutehrChange done) {
-
-        UserEntity entiy=mEntity;
-        entiy.setReal_name(done.getRealName());
-        entiy.setId_number(done.getIdCard());
-        entiy.setBank_card(done.getBanck());
-        mEntity=entiy;
-        refalshAuther(mEntity);
-
-    }
-
-
-
-
-    @OnClick({R.id.rl_phone, R.id.rl_wx, R.id.rl_auther, R.id.rl_top,R.id.tv_submit})
-    public void onClick(View view) {
-        switch (view.getId()) {
-            case R.id.rl_phone:   //跳转到绑定手机号
-                Jump2View.getInstance().goBindPhone(activity, null);
-                BIND_PHONE.onEvent();
-                break;
-            case R.id.rl_wx:  ////跳转到微信
-                if(mEntity == null){
-                    G.showToast(R.string.loading_data);
-                } else if(TextUtils.isEmpty(mEntity.getWx_openid())) {
-                    Jump2View.getInstance().goNoBindWx(AccountAndSecurityAct.this, ChangeWxOrTelAct.TYPE_NORMAL);
-                } else {
-                    G.showToast("您已经绑定微信");
-                }
-                BIND_WX.onEvent();
-                break;
-            case R.id.rl_auther: ////跳转授权
-                Jump2View.getInstance().goRealNameAuther(AccountAndSecurityAct.this,mEntity, 0);
-                break;
-
-            case R.id.rl_top:
-                Jump2View.getInstance().goPersionInfo(AccountAndSecurityAct.this,mEntity);
-                break;
-            case R.id.tv_submit:
-                CommonUtil.getInstance().loginOut((BaseActivity) activity);
-                break;
-        }
-    }
-
-    @Override
-    public void NetSuccess(int code, String msg, String s) {
-        G.showToast(msg);
-    }
-
-    @Override
-    public void NetError(int code, String errorMsg) {
-        G.showToast(errorMsg);
-
-    }
-
-
-    @Override
-    public void showTask(final UserEntity entity) {
-                mEntity = entity;
-                tvName.setText(entity.getNickname());
-                tvLinkContent.setText("绵羊号:" + entity.getInvitation_code());
-                if (TextUtils.isEmpty(entity.getMobile())) {
-                    tvPhone.setText("未绑定");
-                } else {
-                    tvPhone.setText(entity.getMobile());
-                    SpUtils.savePhone(activity, entity.getMobile());
-                }
-
-                Glide.with(AccountAndSecurityAct.this)
-                        .load(mEntity.getAvatar())
-                        .apply(new RequestOptions().circleCrop().placeholder(R.drawable.icon))
-                        .into(ivHead);
-                if (TextUtils.isEmpty(entity.getWx_nickname())) {
-                    if(TextUtils.isEmpty(entity.getWx_openid())) {
-                        tvWx.setText("未绑定");
-                    } else {
-                        tvWx.setText("");
-                    }
-                } else {
-                    tvWx.setText(entity.getWx_nickname());
-                    SpUtils.saveWeixin(activity, entity.getWx_nickname());
-                }
-
-                refalshAuther(entity);
-                MoneyChange change=new MoneyChange();
-                change.setBalance(entity.getBalance()+"");
-                change.setTotal_asset(mEntity.getTotal_asset()+"");
-                EventBus.getDefault().post(change);
-
-
-                //Todo user 类都没有统一,先这样
-                try{
-                    MyDbManager.getInstance()
-                            .saveOrUpdateUser(mEntity);
-                }catch (Exception e){
-                    e.printStackTrace();
-                }
-
-
-    }
-
-
-    @Subscribe
-    public void onEventMainThread(BigEvent event){
-        switch (event.getEventTypes()){
-            case REFRESH_DATA_PHONE:
-                initData();
-                break;
-        }
-    }
-
-    private  void  refalshAuther(UserEntity entity ){
-        boolean isBanck = TextUtils.isEmpty(entity.getBank_card());
-        boolean isId_number = TextUtils.isEmpty(entity.getId_number());
-        boolean isRoalName = TextUtils.isEmpty(entity.getReal_name());
-        if (isId_number && isRoalName) {
-            tvAuther.setText("未认证");
-        } else if (!isId_number && !isRoalName) {
-            tvAuther.setText("已认证");
-        } else {
-            tvAuther.setText("认证中");
-        }
-
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        EventBus.getDefault().unregister(this);
-    }
-
-
-}

+ 19 - 7
app/src/main/java/com/sheep/gamegroup/view/activity/ActFindGame.java

@@ -142,7 +142,8 @@ public class ActFindGame extends BaseActivity {
                 int titleHeight = img_baseactivity_title.getHeight();
                 int titleWidth = img_baseactivity_title.getWidth();
                 int topRow = (titleHeight - find_game_name_tv.getHeight() - find_game_info_tv.getHeight()) / 5;
-                int leftRow = isNeedReservation ? topRow : 5 * topRow;
+                int topRow2 = (titleHeight - find_game_name_tv.getHeight()) / 2;
+                int leftRow = topRow2 / 4;//isNeedReservation ? topRow : 5 * topRow;
 
                 int willTop = Math.max(topRow/2, find_game_top + verticalOffset);
                 int row = (find_icon_with * willTop + titleHeight * (find_game_top - willTop)) / find_game_top - topRow;
@@ -155,19 +156,19 @@ public class ActFindGame extends BaseActivity {
                 //名字位置变化
                 RelativeLayout.LayoutParams layoutParams2 = (RelativeLayout.LayoutParams) find_game_name_tv.getLayoutParams();
                 layoutParams2.leftMargin = Math.max(titleWidth + row + 2 * leftRow, (G.WIDTH - nameWidth) / 2 + verticalOffset);
-                layoutParams2.topMargin = Math.max(2 * topRow, getResources().getDimensionPixelSize(R.dimen.find_game_top2) + verticalOffset);
+                layoutParams2.topMargin = Math.max(topRow2, getResources().getDimensionPixelSize(R.dimen.find_game_top2) + verticalOffset);
                 find_game_name_tv.setLayoutParams(layoutParams2);
                 //信息位置变化
                 RelativeLayout.LayoutParams layoutParams3 = (RelativeLayout.LayoutParams) find_game_info_tv.getLayoutParams();
                 int left1 = (G.WIDTH - infoWidth) / 2;
                 int left2 = titleWidth + row + 2 * leftRow;
-                layoutParams3.leftMargin = left2 > left1 ? Math.min(left2, left1 - verticalOffset) : Math.max(left2, left1 + verticalOffset);
-                layoutParams3.topMargin = Math.max(find_game_name_tv.getHeight() + 4 * topRow, getResources().getDimensionPixelSize(R.dimen.find_game_top3) + verticalOffset);
+                layoutParams3.leftMargin = left1;//left2 > left1 ? Math.min(left2, left1 - verticalOffset) : Math.max(left2, left1 + verticalOffset);
+                layoutParams3.topMargin = /*Math.max(find_game_name_tv.getHeight() + 4 * topRow, */getResources().getDimensionPixelSize(R.dimen.find_game_top3) + verticalOffset/*)*/;
                 find_game_info_tv.setLayoutParams(layoutParams3);
                 //下载按钮位置变化
                 RelativeLayout.LayoutParams layoutParams4 = (RelativeLayout.LayoutParams) find_game_down_tv.getLayoutParams();
                 layoutParams4.setMarginEnd(Math.max(ibtn_baseactivity_right.getWidth(), (G.WIDTH - find_game_down_tv.getWidth()) / 2 + verticalOffset));
-                layoutParams4.topMargin = Math.max(topRow, getResources().getDimensionPixelSize(R.dimen.find_game_top4) + verticalOffset);
+                layoutParams4.topMargin = Math.max((titleHeight - find_game_down_tv.getHeight()) / 2, getResources().getDimensionPixelSize(R.dimen.find_game_top4) + verticalOffset);// Math.max(topRow, getResources().getDimensionPixelSize(R.dimen.find_game_top4) + verticalOffset);
                 find_game_down_tv.setLayoutParams(layoutParams4);
                 //星级位置变化
                 RelativeLayout.LayoutParams layoutParams5 = (RelativeLayout.LayoutParams) find_game_xin.getLayoutParams();
@@ -198,9 +199,14 @@ public class ActFindGame extends BaseActivity {
         resetAppScoreNum();
         resetMyAppScore();
         resetUserInfo();
+        if(isShowAppScore) {
+            find_game_score_no.setVisibility(View.VISIBLE);
+            find_game_score_my.setVisibility(View.VISIBLE);
+        }
     }
 
     private boolean mIsExpanded = false;//是否是折叠状态
+    private boolean isShowAppScore = false;//是否显示评分模块
 
     @Override
     public void initListener() {
@@ -220,8 +226,10 @@ public class ActFindGame extends BaseActivity {
                         FindApp findApp = baseMessage.getData(FindApp.class);
                         if (findApp != null) {
                             loadData(findApp);
-                            initAppScoreNum();
-                            initMyAppScore();
+                            if(isShowAppScore) {
+                                initAppScoreNum();
+                                initMyAppScore();
+                            }
                         } else {
                             resetData();
                         }
@@ -378,6 +386,10 @@ public class ActFindGame extends BaseActivity {
     }
 
     //应用评分情况
+    @BindView(R.id.find_game_score_no)
+    View find_game_score_no;
+    @BindView(R.id.find_game_score_my)
+    View find_game_score_my;
     @BindView(R.id.find_game_xin2)
     AppCompatRatingBar find_game_xin2;
     @BindView(R.id.find_game_progress_5)

+ 12 - 8
app/src/main/java/com/sheep/gamegroup/view/activity/ActInstallApkList.java

@@ -17,6 +17,7 @@ import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
 import java.io.File;
@@ -64,9 +65,7 @@ public class ActInstallApkList extends BaseActivity {
     public void initData() {
         loadData(SysAppUtil.getAppInfos());
     }
-    private List<AppInfo> appInfoList;
     private void loadData(List<AppInfo> appInfoList) {
-        this.appInfoList = appInfoList;
         user_label_list.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
         user_label_list.setAdapter(new AdbCommonRecycler<AppInfo>(SheepApp.getInstance(), appInfoList){
 
@@ -82,17 +81,14 @@ public class ActInstallApkList extends BaseActivity {
                 TextView app_info_package_name_tv = holder.itemView.findViewById(R.id.app_info_package_name_tv);
                 TextView app_info_size_tv = holder.itemView.findViewById(R.id.app_info_size_tv);
                 TextView app_info_path_tv = holder.itemView.findViewById(R.id.app_info_path_tv);
-                TextView app_info_is_sys_tv = holder.itemView.findViewById(R.id.app_info_is_sys_tv);
-                TextView app_info_is_sd_tv = holder.itemView.findViewById(R.id.app_info_is_sd_tv);
 
                 app_info_iv.setImageDrawable(appInfo.getIcon());
                 ViewUtil.setText(app_info_name_tv, appInfo.getAppName());
                 app_info_name_tv.append(CommonUtil.getFileMD5(new File(appInfo.getSourceDir())));
                 ViewUtil.setText(app_info_package_name_tv, appInfo.getPackageName());
                 ViewUtil.setText(app_info_size_tv, appInfo.getApkSize());
-                ViewUtil.setText(app_info_path_tv, appInfo.getSourceDir());
-                ViewUtil.setText(app_info_is_sys_tv, appInfo.isUserApp() ? "用户app":"系统app");
-                ViewUtil.setText(app_info_is_sd_tv, appInfo.isSD() ? "SD卡" : "手机内存");
+                ViewUtil.setText(app_info_path_tv, appInfo.getSourceDir()+"\n"+appInfo.getSha1());
+                app_info_path_tv.append("\n"+ (appInfo.isUserApp() ? "用户app":"系统app")  +"\u3000"+ (appInfo.isSD() ? "SD卡" : "手机内存"));
 
                 holder.itemView.setOnClickListener(new View.OnClickListener() {
                     @Override
@@ -100,13 +96,21 @@ public class ActInstallApkList extends BaseActivity {
                         onClickItem(view, appInfo);
                     }
                 });
+                holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
+                    @Override
+                    public boolean onLongClick(View view) {
+                        StringUtils.CopyText(appInfo.getSha1());
+                        G.showToast("复制sha1成功:"+appInfo.getSha1());
+                        return true;
+                    }
+                });
             }
         });
 
     }
 
     private void onClickItem(View view, final AppInfo appInfo) {
-        StringUtils.CopyText(this, appInfo.getPackageName());
+        StringUtils.CopyText(appInfo.getPackageName());
         readApp(appInfo);
     }
 

+ 104 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActSetting.java

@@ -0,0 +1,104 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.TextView;
+
+import com.kfzs.duanduan.utils.ApkUtils;
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.DialogConfig;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.SysAppUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+import rx.functions.Action1;
+
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_CLEAN;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_CLEAN_SURE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_UPGRADE;
+
+/**
+ * Created by realicing on 2018/04/.
+ * realicing@sina.com
+ */
+public class ActSetting extends BaseActivity {
+
+    private Activity activity;
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_setting;
+    }
+
+    @Override
+    public void initView() {
+        activity = this;
+        TitleBarUtils.getInstance()
+                .setTitle(this, "设置")
+                .setTitleFinish(this);
+
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @BindView(R.id.version_item_tv)
+    TextView version_item_tv;
+    @Override
+    public void initData() {
+        String appVersionName = ApkUtils.getCurrentPkgVersionName(SheepApp.getInstance());
+        version_item_tv.setText("小绵羊V");
+        version_item_tv.append(appVersionName);
+        initCacheSize();
+    }
+
+    @OnClick({R.id.abourt_us_layout, R.id.version_layout, R.id.clear_layout, R.id.tv_submit})
+    public void onClick(View view) {
+        switch (view.getId()) {
+            case R.id.abourt_us_layout://关于我们
+                Jump2View.getInstance().goNewAboutUs(activity);
+                break;
+            case R.id.version_layout://版本更新
+                SysAppUtil.showVersionInfo(activity, null);
+                USER_UPGRADE.onEvent();
+                break;
+            case R.id.clear_layout://清除缓存
+                ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("清除缓存").setMsg("所有本地的缓存都会被清理").setBtnRightText("取消")
+                        .setBtnLeftText("确定").setBtnLeftOnClickListener(new View.OnClickListener() {
+                            @Override
+                            public void onClick(View view) {
+                                USER_CLEAN_SURE.onEvent();
+                                SysAppUtil.clearCache(new Action1<Object>() {
+                                    @Override
+                                    public void call(Object o) {
+                                        G.showToast("清理缓存完成");
+                                        initCacheSize();
+                                    }
+                                });
+                            }
+                        }));
+                USER_CLEAN.onEvent();
+                break;
+            case R.id.tv_submit:
+                CommonUtil.getInstance().loginOut((BaseActivity) activity);
+                break;
+        }
+    }
+    @BindView(R.id.clear_item_tv)
+    TextView clear_item_tv;
+    private void initCacheSize() {
+        String size = SysAppUtil.getAppCacheSize();
+        clear_item_tv.setText(TextUtils.isEmpty(size) || TextUtils.equals("0K",size) ? "无需清理" : size);
+    }
+
+}

+ 18 - 8
app/src/main/java/com/sheep/gamegroup/view/activity/ActSheepApkList.java

@@ -17,6 +17,8 @@ import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.ApkInfo;
 import com.sheep.gamegroup.model.entity.AppInfo;
 import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.StringUtils;
+import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.ViewHolder;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.ZipChannelUtil;
@@ -28,7 +30,10 @@ import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
 import java.io.File;
 import java.io.IOException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
 import java.util.List;
+import java.util.Locale;
 
 import butterknife.BindView;
 import butterknife.OnClick;
@@ -109,6 +114,7 @@ public class ActSheepApkList extends BaseActivity {
         long apkSize = file.length();
         //格式化apk的大小
         appInfo.setApkSize(Formatter.formatFileSize(SheepApp.getInstance(),apkSize));
+        appInfo.setSha1(SysAppUtil.getSHA1(pkgInfo));
 
         apkInfo.setAppInfo(appInfo);
         apkInfo.setFile(file);
@@ -125,7 +131,7 @@ public class ActSheepApkList extends BaseActivity {
         PackageManager pm = context.getPackageManager();
         PackageInfo pkgInfo = null;
         try {
-            pkgInfo = pm.getPackageArchiveInfo(apkFilepath, PackageManager.GET_ACTIVITIES);
+            pkgInfo = pm.getPackageArchiveInfo(apkFilepath, PackageManager.GET_ACTIVITIES | PackageManager.GET_SIGNATURES);
         } catch (Exception e) {
             // should be something wrong with parse
             e.printStackTrace();
@@ -148,21 +154,17 @@ public class ActSheepApkList extends BaseActivity {
                 TextView app_info_package_name_tv = holder.itemView.findViewById(R.id.app_info_package_name_tv);
                 TextView app_info_size_tv = holder.itemView.findViewById(R.id.app_info_size_tv);
                 TextView app_info_path_tv = holder.itemView.findViewById(R.id.app_info_path_tv);
-                TextView app_info_is_sys_tv = holder.itemView.findViewById(R.id.app_info_is_sys_tv);
-                TextView app_info_is_sd_tv = holder.itemView.findViewById(R.id.app_info_is_sd_tv);
 
-                AppInfo appInfo = item.getAppInfo();
+                final AppInfo appInfo = item.getAppInfo();
                 if(appInfo == null){
                     return;
                 }
                 app_info_iv.setImageDrawable(appInfo.getIcon());
                 ViewUtil.setText(app_info_name_tv, appInfo.getAppName());
-                app_info_name_tv.append(CommonUtil.getFileMD5(item.getFile()));
+                app_info_name_tv.append(CommonUtil.getFileMD5(item.getFile())+"\n"+item.getComment());
                 ViewUtil.setText(app_info_package_name_tv, appInfo.getPackageName());
                 ViewUtil.setText(app_info_size_tv, appInfo.getApkSize());
-                ViewUtil.setText(app_info_path_tv, appInfo.getSourceDir());
-                ViewUtil.setText(app_info_is_sys_tv, item.getComment());
-                ViewUtil.setText(app_info_is_sd_tv, "");
+                ViewUtil.setText(app_info_path_tv, appInfo.getSourceDir()+"\n"+appInfo.getSha1());
 
                 holder.itemView.setOnClickListener(new View.OnClickListener() {
                     @Override
@@ -175,6 +177,14 @@ public class ActSheepApkList extends BaseActivity {
                         }
                     }
                 });
+                holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
+                    @Override
+                    public boolean onLongClick(View view) {
+                        StringUtils.CopyText(appInfo.getSha1());
+                        G.showToast("复制sha1成功:"+appInfo.getSha1());
+                        return true;
+                    }
+                });
             }
         });
 

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

@@ -150,7 +150,7 @@ public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener, A
                         @Override
                         public void onClick(View view) {
                             QR_COPY.onEvent();
-                            StringUtils.CopyText(AskGetMoneyAct.this, userEntity.getShareLink());
+                            StringUtils.CopyText(userEntity.getShareLink());
                             G.showToast("复制链接成功");
                         }
                     }));

+ 8 - 5
app/src/main/java/com/sheep/gamegroup/view/activity/ChangeTelAct.java

@@ -149,6 +149,7 @@ public class ChangeTelAct extends BaseActivity implements PhoneContract.View{
                 });
                 break;
             case 30001:
+            default:
                 break;
         }
         mobiles = SpUtils.getPhone(activity);
@@ -181,6 +182,7 @@ public class ChangeTelAct extends BaseActivity implements PhoneContract.View{
                 break;
             case 30001://新用户必须绑定手机号,正常情况是会在登录成功后
                 Jump2View.getInstance().gotoLoginAgain();
+            default:
                 finish();
                 break;
         }
@@ -405,11 +407,6 @@ public class ChangeTelAct extends BaseActivity implements PhoneContract.View{
     public void bindTelSuccess(BaseMessage o) {
         G.showToast(o);
         switch (where_from){
-            case FROM_SPLASH://非第一次登录(如:登录后直接重启),老用户需要绑定手机号
-                Intent intent = new Intent(activity, ActMain.class);
-                startActivity(intent);
-                finish();
-                break;
             case FROM_LOGIN:
             case 30001:
                 Jump2View.getInstance().checkLabel(activity, new Action1<BaseMessage>() {
@@ -421,6 +418,12 @@ public class ChangeTelAct extends BaseActivity implements PhoneContract.View{
                     }
                 });
                 break;
+            case FROM_SPLASH://非第一次登录(如:登录后直接重启),老用户需要绑定手机号
+                Intent intent = new Intent(activity, ActMain.class);
+                startActivity(intent);
+            default:
+                finish();
+                break;
         }
     }
 

+ 0 - 149
app/src/main/java/com/sheep/gamegroup/view/activity/HomePageAct.java

@@ -1,149 +0,0 @@
-package com.sheep.gamegroup.view.activity;
-
-import android.app.Activity;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.sheep.gamegroup.di.components.DaggerHomePageComponent;
-import com.sheep.gamegroup.di.modules.HomePageModule;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.UserEntity;
-import com.sheep.gamegroup.presenter.HomePageContract;
-import com.sheep.gamegroup.presenter.HomePagePresenter;
-import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.util.MyDbManager;
-import com.sheep.gamegroup.util.MyListview;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.gamegroup.absBase.BaseActivity;
-import com.sheep.jiuyan.samllsheep.utils.G;
-
-import javax.inject.Inject;
-
-import butterknife.BindView;
-import butterknife.OnClick;
-
-/**
- * Created by ljy on 2018/3/19.
- */
-
-public class HomePageAct extends BaseActivity implements HomePageContract.View{
-    @BindView(R.id.icon_img_iv)
-    ImageView iconImgIv;
-    @BindView(R.id.name_tv)
-    TextView nameTv;
-    @BindView(R.id.sheep_num_tv)
-    TextView sheepNumTv;
-    @BindView(R.id.user_layout)
-    RelativeLayout userLayout;
-    @BindView(R.id.withdrawal)
-    TextView withdrawal;
-    @BindView(R.id.my_price)
-    TextView myPrice;
-    @BindView(R.id.my_all_price)
-    TextView myAllPrice;
-    @BindView(R.id.try_play_layout)
-    LinearLayout tryPlayLayout;
-    @BindView(R.id.invitation_layout)
-    LinearLayout invitationLayout;
-    @BindView(R.id.lying_layout)
-    LinearLayout lyingLayout;
-    @BindView(R.id.listview)
-    MyListview listview;
-
-    @Inject
-    HomePagePresenter pagePresenter;
-    private Activity activity;
-    private UserEntity userEntity;
-
-
-    Handler mHanderl = new Handler(){
-        @Override
-        public void handleMessage(Message msg) {
-            super.handleMessage(msg);
-            myPrice.setText(userEntity.getBalance()+" 元");
-            myAllPrice.setText("累计资产 "+userEntity.getTotal_asset()+" 元");
-            nameTv.setText(userEntity.getNickname()+"");//绵羊号:123456789
-            sheepNumTv.setText("绵羊号:"+userEntity.getInvitation_code());
-        }
-    };
-    @Override
-    protected int getLayoutId() {
-        return R.layout.homepage_act_layout;
-    }
-
-    @Override
-    public void initView() {
-        activity = this;
-        DaggerHomePageComponent.builder()
-                .netComponent(SheepApp.get(this).getNetComponent())
-                .homePageModule(new HomePageModule(this))
-                .build()
-                .inject(this);
-    }
-
-    @Override
-    public void initListener() {
-
-    }
-
-    @Override
-    public void initData() {
-        pagePresenter.getUserInfo();
-
-    }
-
-    @OnClick({R.id.icon_img_iv, R.id.user_layout, R.id.withdrawal, R.id.try_play_layout, R.id.invitation_layout, R.id.lying_layout})
-    public void onViewClicked(View view) {
-        switch (view.getId()) {
-            case R.id.icon_img_iv:
-                break;
-            case R.id.user_layout:
-                Jump2View.getInstance().goPersonnalCenterView(activity, null);
-                break;
-            case R.id.withdrawal:
-                Jump2View.getInstance().tryGoWithdrawal(activity, userEntity);
-                break;
-            case R.id.try_play_layout:
-                Jump2View.getInstance().goTryplayView(activity, null);
-                break;
-            case R.id.invitation_layout:
-                Jump2View.getInstance().goAskGetMoney(activity, null);
-                break;
-            case R.id.lying_layout:
-                break;
-        }
-    }
-
-    @Override
-    public void updateData2View(Object o) {
-        if(o == null){
-            return;
-        }
-        BaseMessage baseMessage = (BaseMessage) o;
-        userEntity = JSON.parseObject(JSONObject.toJSONString(baseMessage.getData()), UserEntity.class);
-        try {
-            MyDbManager.getInstance().saveOrUpdateUser(userEntity);
-//            userEntity = MyDbManager.getInstance().dbFindUser();
-            Log.e("------userEntity",userEntity.getNickname()+"|"+userEntity.getMobile()+"");
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        mHanderl.sendEmptyMessage(0);
-
-    }
-
-    @Override
-    public void failData2View(Object o) {
-        G.showToast("网络错误");
-
-    }
-}

+ 3 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/MiddleAct.java

@@ -127,9 +127,9 @@ public class MiddleAct extends Activity {
                         case 65://我的资产
                             Jump2View.getInstance().goMyMoney(activity,null);
                             break;
-                        case 66://安全中心
-                            Jump2View.getInstance().goAccountAndSecurit(activity,null);
-                            break;
+//                        case 66://安全中心
+//                            Jump2View.getInstance().goAccountAndSecurit(activity,null);
+//                            break;
                         case 71://浏览器打开web界面: url h5链接
                             Jump2View.getInstance().goWeb(activity, msg.getUrl());
                             break;

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

@@ -4,9 +4,11 @@ import android.app.Activity;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
+import android.view.View;
 
 import com.kfzs.duanduan.fragment.FgtPersonalCenter;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
@@ -35,7 +37,13 @@ public class PersonalCenterAct extends BaseActivity {
                 .setTitleListen(this, R.drawable.narrow_back_white, null)
                 .setTitleBackgroud(this, R.drawable.sp_bg_gradient_blue_nocorners)
                 .setShowOrHideLine(this, false)
-                .setTitleFinish(this);
+                .setTitleFinish(this)
+                .setRightImgBotton(this, R.mipmap.setting, new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        Jump2View.getInstance().goSetting(activity, null);
+                    }
+                });
 
         FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
         Bundle bundle = new Bundle();

+ 97 - 42
app/src/main/java/com/sheep/gamegroup/view/activity/PersionInfoAct.java

@@ -1,9 +1,10 @@
 package com.sheep.gamegroup.view.activity;
 
+import android.app.Activity;
 import android.content.Intent;
+import android.text.TextUtils;
 import android.view.View;
 import android.widget.ImageView;
-import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSONObject;
@@ -11,16 +12,19 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
 import com.sheep.gamegroup.absBase.AbsChooseImageActivity;
 import com.sheep.gamegroup.event.ImageHeadChange;
+import com.sheep.gamegroup.event.MoneyChange;
 import com.sheep.gamegroup.event.UserNameChange;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.util.AppUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
+import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
 import org.greenrobot.eventbus.EventBus;
@@ -35,6 +39,8 @@ import rx.android.schedulers.AndroidSchedulers;
 import rx.functions.Action1;
 import rx.schedulers.Schedulers;
 
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.BIND_PHONE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.BIND_WX;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_INFO_AVATAR;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_INFO_NAME;
 
@@ -43,28 +49,18 @@ import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_INFO_NAME;
  * Created by Administrator on 2018/3/16.
  */
 
-public class PersionInfoAct extends AbsChooseImageActivity {
+public class PersonalInfoAct extends AbsChooseImageActivity {
 
     UserEntity mEntity;
-    @BindView(R.id.tv_name)
-    TextView tvName;
-    @BindView(R.id.tv_nike)
-    TextView tvNike;
-    @BindView(R.id.tv_sheep_id)
-    TextView tvSheepId;
-    @BindView(R.id.tv_qr)
-    ImageView tvQr;
-    @BindView(R.id.tv_qr_small)
-    ImageView tv_qr_small;
-    @BindView(R.id.rl_qr)
-    RelativeLayout rlQr;
-
-    @BindView(R.id.rl_head)
-    RelativeLayout rl_head;
-    @BindView(R.id.iv_head_right)
-    ImageView ivHeadRight;
-    @BindView(R.id.layout_more1)
-    RelativeLayout layout_more1;
+    @BindView(R.id.personal_info_name)
+    TextView personal_info_name;
+    @BindView(R.id.personal_info_code)
+    TextView personal_info_code;
+    @BindView(R.id.personal_info_qr)
+    ImageView personal_info_qr;
+
+    @BindView(R.id.personal_info_avatar)
+    ImageView personal_info_avatar;
 
 
     @Override
@@ -72,8 +68,10 @@ public class PersionInfoAct extends AbsChooseImageActivity {
         return R.layout.xpersion_info_act_layout;
     }
 
+    private Activity activity;
     @Override
     public void initView() {
+        activity = this;
         ButterKnife.bind(this);
         TitleBarUtils
                 .getInstance()
@@ -86,6 +84,12 @@ public class PersionInfoAct extends AbsChooseImageActivity {
 
     }
 
+    @BindView(R.id.personal_info_phone)
+    TextView personal_info_phone;
+    @BindView(R.id.personal_info_wx)
+    TextView personal_info_wx;
+    @BindView(R.id.personal_info_authentication)
+    TextView personal_info_authentication;
     @Override
     public void initData() {
         Intent i = getIntent();
@@ -99,27 +103,61 @@ public class PersionInfoAct extends AbsChooseImageActivity {
                 }
             }
             if(mEntity != null) {
-                tvNike.setText(mEntity.getNickname());
-                tvSheepId.setText(mEntity.getInvitation_code());
+                personal_info_name.setText(mEntity.getNickname());
+                personal_info_code.setText(mEntity.getInvitation_code());
 
-                Glide.with(PersionInfoAct.this)
+                Glide.with(PersonalInfoAct.this)
                         .load(AppUtil.getQRLink(mEntity.getShareLink(), 90))
-                        .into(tvQr);
-                Glide.with(PersionInfoAct.this)
-                        .load("http://cdngame.kuaifazs.com/icon.png")
-                        .apply(new RequestOptions().override(23))
-                        .into(tv_qr_small);
+                        .into(personal_info_qr);
 
-                Glide.with(PersionInfoAct.this)
+                Glide.with(PersonalInfoAct.this)
                         .load(mEntity.getAvatar())
-                        .apply(new RequestOptions().placeholder(R.drawable.icon))
-                        .into(ivHeadRight);
+                        .apply(new RequestOptions().circleCrop().placeholder(R.drawable.icon))
+                        .into(personal_info_avatar);
+                //账号与安全
+
+                if (TextUtils.isEmpty(mEntity.getMobile())) {
+                    personal_info_phone.setText("未绑定");
+                } else {
+                    personal_info_phone.setText(mEntity.getMobile());
+                    SpUtils.savePhone(activity, mEntity.getMobile());
+                }
+
+                if (TextUtils.isEmpty(mEntity.getWx_nickname())) {
+                    if(TextUtils.isEmpty(mEntity.getWx_openid())) {
+                        personal_info_wx.setText("未绑定");
+                    } else {
+                        personal_info_wx.setText("");
+                    }
+                } else {
+                    personal_info_wx.setText(mEntity.getWx_nickname());
+                    SpUtils.saveWeixin(activity, mEntity.getWx_nickname());
+                }
+
+                refalshAuther(mEntity);
+                MoneyChange change=new MoneyChange();
+                change.setBalance(mEntity.getBalance()+"");
+                change.setTotal_asset(mEntity.getTotal_asset()+"");
             }
         }
 
+
         EventBus.getDefault().register(this);
 
     }
+    private  void  refalshAuther(UserEntity entity ){
+        boolean isBanck = TextUtils.isEmpty(entity.getBank_card());
+        boolean isId_number = TextUtils.isEmpty(entity.getId_number());
+        boolean isRoalName = TextUtils.isEmpty(entity.getReal_name());
+        if (isId_number && isRoalName) {
+            personal_info_authentication.setText("未认证");
+        } else if (!isId_number && !isRoalName) {
+            personal_info_authentication.setText("已认证");
+        } else {
+            personal_info_authentication.setText("认证中");
+        }
+
+    }
 
 
     @Subscribe(threadMode = ThreadMode.MAIN)
@@ -127,30 +165,47 @@ public class PersionInfoAct extends AbsChooseImageActivity {
         UserEntity user = mEntity;
         user.setNickname(done.getNikeName());
         mEntity = user;
-        tvNike.setText(mEntity.getNickname());
+        personal_info_name.setText(mEntity.getNickname());
 
     }
 
 
-    @OnClick({R.id.layout_more1, R.id.rl_qr, R.id.rl_head})
+    @OnClick({ R.id.personal_info_avatar_container, R.id.personal_info_name_container, R.id.personal_info_qr_container,R.id.personal_info_phone_container, R.id.personal_info_wx_container, R.id.personal_info_authentication_container})
     public void onClick(View view) {
         if(mEntity == null){
             G.showToast(R.string.loading_data);
             return;
         }
         switch (view.getId()) {
-            case R.id.layout_more1:
-                Intent i = new Intent(PersionInfoAct.this, ReNameActivity.class);
+            case R.id.personal_info_avatar_container://头像
+                showChooseDialog();
+                USER_INFO_AVATAR.onEvent();
+                break;
+            case R.id.personal_info_name_container:
+                Intent i = new Intent(PersonalInfoAct.this, ReNameActivity.class);
                 i.putExtra("name", mEntity.getNickname());
                 startActivity(i);
                 USER_INFO_NAME.onEvent();
                 break;
-            case R.id.rl_qr:
-                ViewUtil.showQR(PersionInfoAct.this, mEntity.getShareLink());
+            case R.id.personal_info_qr_container:
+                ViewUtil.showQR(PersonalInfoAct.this, mEntity.getShareLink());
                 break;
-            case R.id.rl_head:
-                showChooseDialog();
-                USER_INFO_AVATAR.onEvent();
+            case R.id.personal_info_phone_container:   //跳转到绑定手机号
+                Jump2View.getInstance().goBindPhone(activity, null);
+                BIND_PHONE.onEvent();
+                break;
+            case R.id.personal_info_wx_container:  ////跳转到微信
+                if(mEntity == null){
+                    G.showToast(R.string.loading_data);
+                } else if(TextUtils.isEmpty(mEntity.getWx_openid())) {
+                    Jump2View.getInstance().goNoBindWx(activity, ChangeWxOrTelAct.TYPE_NORMAL);
+                } else {
+                    G.showToast("您已经绑定微信");
+                }
+                BIND_WX.onEvent();
+                break;
+            case R.id.personal_info_authentication_container: ////跳转授权
+                Jump2View.getInstance().goRealNameAuther(activity, mEntity, 0);
                 break;
         }
     }
@@ -162,7 +217,7 @@ public class PersionInfoAct extends AbsChooseImageActivity {
 
     @Override
     protected void onGetImage(String path) {
-        GlideImageLoader.circleImage(ivHeadRight, path, R.drawable.icon);
+        GlideImageLoader.circleImage(personal_info_avatar, path, R.drawable.icon);
     }
 
     @Override

+ 16 - 16
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -78,6 +78,8 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     protected String[] needPermissions = {
             Manifest.permission.WRITE_EXTERNAL_STORAGE,
             Manifest.permission.READ_EXTERNAL_STORAGE,
+            Manifest.permission.ACCESS_COARSE_LOCATION,
+            Manifest.permission.ACCESS_FINE_LOCATION,
             Manifest.permission.READ_PHONE_STATE
     };
     private RxjavaCountDownTimer timer;
@@ -107,7 +109,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
             EasyPermissions.requestPermissions(this, "应用需要这些权限", PERMISSON_REQUESTCODE, needPermissions);
         } else {
             isRequestCodePermissions = false;
-            sendHandlerMessages();
+            sendHandlerMessages(1000);
         }
     }
 
@@ -115,7 +117,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
-            if(!isRequestCodePermissions && !isLoaddingData && timerIsFinish())
+            if(!isRequestCodePermissions /*&& !isLoaddingData */&& timerIsFinish())
                 gotoNext();
 
         }
@@ -126,7 +128,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     }
 
     private void gotoNext() {
-        if (!isClick && btnJoin.isEnabled()) {
+        if (!isClick) {
             isClick = true;
             Jump2View.getInstance().gotoGuide(activity);
         }
@@ -153,7 +155,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                 e.printStackTrace();
             }
         } else {
-            sendHandlerMessages();
+            sendHandlerMessages(1000);
         }
     }
 
@@ -161,12 +163,12 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     public void initListener() {
 
     }
-    private boolean isLoaddingData = true;//是否正在获取开屏广告数据
+//    private boolean isLoaddingData = true;//是否正在获取开屏广告数据
     private Advertising advertising;
     @Override
     public void initData() {
         if(SysAppUtil.isNewSmallSheep(false)){//新版本只显示引导页面,不展示弹窗和开屏广告
-            isLoaddingData = false;
+//            isLoaddingData = false;
         }
         SheepApp.getInstance().getNetComponent().getApiService().getAdvertising(1)
                 .subscribeOn(Schedulers.io())
@@ -175,7 +177,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                         Advertising newAdvertising = baseMessage.getData(Advertising.class);
-                        isLoaddingData = false;
+//                        isLoaddingData = false;
 
                         if(newAdvertising != null && newAdvertising.isImage()) {
                             ACache mCache = ACache.get(activity);
@@ -185,7 +187,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
 
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        isLoaddingData = false;
+//                        isLoaddingData = false;
                     }
                 });
     }
@@ -224,26 +226,24 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
         mHandler.removeMessages(0);
         if(advertising.getShow_time() > 0) {
             splash_skip.setVisibility(View.VISIBLE);
-            timer = RxjavaCountDownTimer.getInstance(BuildConfig.DEBUG ? 1 : advertising.getShow_time())
+            timer = RxjavaCountDownTimer.getInstance(/*BuildConfig.DEBUG ? 1 : */advertising.getShow_time())
                     .setOnTickListener(new RxjavaCountDownTimer.OnTickListener() {
                         @Override
                         public void onFinish() {
-                            splash_skip.setEnabled(true);
                             splash_skip.setVisibility(View.INVISIBLE);//设置为INVISIBLE代表定时器结束
 //                            btnJoin.setVisibility(View.VISIBLE);
                             if (isResume)
-                                sendHandlerMessages();
+                                sendHandlerMessages(10);
                         }
 
                         @Override
                         public void onTicker(long time) {
-                            splash_skip.setEnabled(false);
                             splash_skip.setText(activity.getString(R.string.tip_skip, time));
                         }
                     }).start();
         } else {
 //            btnJoin.setVisibility(View.VISIBLE);
-            sendHandlerMessages();
+            sendHandlerMessages(1000);
         }
     }
     private boolean isResume = false;
@@ -367,12 +367,12 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     public void onActivityReenter(int resultCode, Intent data) {
         super.onActivityReenter(resultCode, data);
         isRequestCodePermissions = false;
-        sendHandlerMessages();
+        sendHandlerMessages(10);
     }
-    private void sendHandlerMessages(){
+    private void sendHandlerMessages(int time){
         try {
             mHandler.removeMessages(0);
-            mHandler.sendEmptyMessageDelayed(0, BuildConfig.DEBUG ? 100 : 2000);
+            mHandler.sendEmptyMessageDelayed(0, /*BuildConfig.DEBUG ? 100 :*/ time);
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 5 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -34,6 +34,7 @@ import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.absBase.AbsChooseImageActivity;
 import com.sheep.gamegroup.di.components.DaggerTaskDetailComponent;
 import com.sheep.gamegroup.di.modules.TaskDetailModule;
+import com.sheep.gamegroup.heler.TaskHelper;
 import com.sheep.gamegroup.model.api.IDownload;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.DialogEntity;
@@ -640,7 +641,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 G.showToast(R.string.error_package_link);
                 return;
             }
-            String gps = LocationUtils.getInstance().getLongitudeLatitude(getApplicationContext());
+            String gps = LocationUtils.getInstance().getLongitudeLatitude();
             JSONObject object = new JSONObject();
             object.put("gps", gps);
             long runTime = AppUsageManager.getInstance().getTotalTimeInForeground(taskEty.getPackage_names());
@@ -999,6 +1000,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     item_exlpain_title.setText(getString(R.string.supplement_explain_n));
                     item_exlpain_conetent.setText(getString(R.string.supplement_explain));
                     sonListviewAdp = new TaskdetailSonListviewAdp(taskEty.getChild(), activity);
+                    TaskHelper.setSelectFlag(taskEty);
                     detail_task_recyclerview.setAdapter(sonListviewAdp);
                     isSuccession = true;
                 }else {
@@ -1022,7 +1024,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 break;
         }
 
-        //fuck
+        //非连续任务使用TaskdetailSonListviewAdp显示单个任务详情
         if(!isSuccession && taskEty.getDescEntityList() != null && taskEty.getDescEntityList().size()>0){
             List<TaskChild> descEntityArrayList = new ArrayList<>();
             TaskChild taskChild = new TaskChild();
@@ -1038,7 +1040,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     }
                 }
             }
-            if(listS != null && listS.size() > 0){
+            if(listS.size() > 0){
                 taskChild.setScreenshotsList(listS);
             }else {
                 taskChild.setScreenshotsList(taskEty.getScreenshotsList());

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

@@ -110,7 +110,7 @@ public class TaskListItemAdp extends BaseAdapter {
 //        });
         Glide.with(context)
                 .load(ety.getRelease_task().getTask().getIcon())
-                .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
+                .apply(new RequestOptions().placeholder(R.mipmap.icon))
                 .into(holder.icon_iv);
         return convertView;
     }

+ 3 - 8
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonListviewAdp.java

@@ -215,10 +215,6 @@ public class TaskdetailSonListviewAdp extends BaseAdapter {
                     ScreenshotsEntity taskDescEntity = descEntity.getScreenshotsList().get(i);
                     ImageView screens_iv = viewHolder.itemView.findViewById(R.id.screens_iv);
                     TextView screens_tv = viewHolder.itemView.findViewById(R.id.screens_tv);
-                    screens_iv.setAdjustViewBounds(true);
-                    screens_iv.setScaleType(ImageView.ScaleType.FIT_XY);
-
-                    screens_iv.setLayoutParams(new LinearLayout.LayoutParams(with, with-50));
 
                     if(TextUtils.isEmpty(taskDescEntity.getDesc())){
                         screens_tv.setVisibility(View.GONE);
@@ -228,9 +224,10 @@ public class TaskdetailSonListviewAdp extends BaseAdapter {
                         screens_tv.setMaxWidth(with);
                     }
 
+
                     Glide.with(context)
                             .load(taskDescEntity.getImg())
-                            .apply(new RequestOptions().override(with, with-50))
+                            .apply(new RequestOptions().placeholder(R.drawable.loading_01))
                             .into(screens_iv);
                     screens_iv.setOnClickListener(new View.OnClickListener() {
                         @Override
@@ -260,11 +257,9 @@ public class TaskdetailSonListviewAdp extends BaseAdapter {
 
 
 
-        final ViewHolder finalHolder = holder;
-        holder.select_tab_iv.setOnClickListener(new View.OnClickListener() {
+        holder.title_item_layout.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                boolean flag = descEntity.isSelectFlag();
                 descEntity.setSelectFlag(!descEntity.isSelectFlag());
 //                if(position == 0){
 //                    descEntityArrayList.get(position).setSelectFlag(true);

+ 0 - 199
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonRecycleViewAdp.java

@@ -1,199 +0,0 @@
-package com.sheep.gamegroup.view.adapter;
-
-import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.bumptech.glide.Glide;
-import com.sheep.gamegroup.model.entity.ScreenshotsEntity;
-import com.sheep.gamegroup.model.entity.TaskChild;
-import com.sheep.gamegroup.model.entity.TaskDescEntity;
-import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.SelfCountDownTimer;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.utils.G;
-
-import java.util.List;
-
-/**
- * 任务详情子模块显示adp
- * Created by ljy on 2018/6/12.
- */
-
-public class TaskdetailSonRecycleViewAdp extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
-
-    private List<TaskChild> descEntityArrayList;
-    private Context context;
-
-    public TaskdetailSonRecycleViewAdp(List<TaskChild> descEntityArrayList, Context context) {
-        this.descEntityArrayList = descEntityArrayList;
-        this.context = context;
-    }
-
-    @NonNull
-    @Override
-    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
-        LinearLayout view = (LinearLayout) LayoutInflater.from(context)
-                .inflate(R.layout.taskdetail_recycler_item, viewGroup, false);
-        RecyclerView.ViewHolder viewHolder = new RecyclerView.ViewHolder(view) {
-            @Override
-            public String toString() {
-                return super.toString();
-            }
-        };
-        return viewHolder;
-    }
-
-    @Override
-    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, final int i) {
-        final TaskChild descEntity = descEntityArrayList.get(i);
-        if(descEntity == null)
-            return;
-        LinearLayout title_item_layout = viewHolder.itemView.findViewById(R.id.title_item_layout);
-        TextView title_item_tv = viewHolder.itemView.findViewById(R.id.title_item_tv);
-        final ImageView select_tab_iv = viewHolder.itemView.findViewById(R.id.select_tab_iv);
-        TextView item_remaining_time_tv = viewHolder.itemView.findViewById(R.id.item_remaining_time_tv);
-        final RecyclerView item_detail_listview = viewHolder.itemView.findViewById(R.id.item_detail_listview);
-        /*
-          截图
-         */
-        LinearLayout taskdetail_screenshot_layout = viewHolder.itemView.findViewById(R.id.taskdetail_screenshot_layout);
-        RecyclerView recycler_screenshot_view = viewHolder.itemView.findViewById(R.id.recycler_screenshot_view);
-        title_item_layout.setVisibility(View.VISIBLE);
-        CommonUtil.getInstance()
-                    .bindDataTaskDetailSon(descEntity, title_item_tv, i);
-
-        if(descEntity.getDescEntityList() != null && descEntity.getDescEntityList().size() > 0){
-            taskdetail_screenshot_layout.setVisibility(View.VISIBLE);
-        }else {
-            taskdetail_screenshot_layout.setVisibility(View.GONE);
-        }
-        if(i == 0){
-            descEntityArrayList.get(i).setSelectFlag(true);
-            select_tab_iv.setRotation(180);
-            item_detail_listview.setVisibility(View.VISIBLE);
-        }else {
-            descEntityArrayList.get(i).setSelectFlag(false);
-            select_tab_iv.setRotation(0);
-            item_detail_listview.setVisibility(View.GONE);
-        }
-        /*
-          任务详情
-         */
-        if(descEntity.getDemo_time() > 0){
-            CommonUtil.getInstance().getHashMap(item_remaining_time_tv);
-
-            item_remaining_time_tv.setVisibility(View.VISIBLE);
-            SelfCountDownTimer selfCountDownTimer = CommonUtil.getInstance().getCountDownTimer(descEntity.getDemo_time(), item_remaining_time_tv, "剩余试玩时间:");
-            selfCountDownTimer.reset(descEntity.getDemo_time());
-            selfCountDownTimer.start();
-
-            CommonUtil.getInstance().addTimerHashMap(item_remaining_time_tv, selfCountDownTimer);
-        }else {
-            item_remaining_time_tv.setVisibility(View.GONE);
-        }
-        item_detail_listview.setHasFixedSize(true);
-        item_detail_listview.setLayoutManager(new LinearLayoutManager(context));
-        item_detail_listview.setAdapter(new RecyclerView.Adapter() {
-            @NonNull
-            @Override
-            public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
-                LinearLayout view = (LinearLayout) LayoutInflater.from(context)
-                        .inflate(R.layout.textview_layout, viewGroup, false);
-                RecyclerView.ViewHolder viewHolder = new RecyclerView.ViewHolder(view) {
-                    @Override
-                    public String toString() {
-                        return super.toString();
-                    }
-                };
-                return viewHolder;
-            }
-
-            @Override
-            public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
-                TaskDescEntity taskDescEntity = descEntity.getDescEntityList().get(i);
-                TextView textView = viewHolder.itemView.findViewById(R.id.textview);
-                textView.setText(taskDescEntity.getStep() + "、" + taskDescEntity.getDesc());
-            }
-
-            @Override
-            public int getItemCount() {
-                return descEntity.getDescEntityList()==null?0:descEntity.getDescEntityList().size();
-            }
-        });
-        /*
-          截图
-         */
-        recycler_screenshot_view.setHasFixedSize(true);
-        recycler_screenshot_view.setLayoutManager(new LinearLayoutManager(context));
-        recycler_screenshot_view.setAdapter(new RecyclerView.Adapter() {
-            @NonNull
-            @Override
-            public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
-                LinearLayout view = (LinearLayout) LayoutInflater.from(context)
-                        .inflate(R.layout.taskdetail_desc_item_screens, viewGroup, false);
-                RecyclerView.ViewHolder viewHolder = new RecyclerView.ViewHolder(view) {
-                    @Override
-                    public String toString() {
-                        return super.toString();
-                    }
-                };
-                return viewHolder;
-            }
-
-            @Override
-            public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
-                ScreenshotsEntity taskDescEntity = descEntity.getScreenshotsList().get(i);
-                ImageView screens_iv = viewHolder.itemView.findViewById(R.id.screens_iv);
-                TextView screens_tv = viewHolder.itemView.findViewById(R.id.screens_tv);
-
-                screens_iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
-                int with = G.WIDTH / 3;
-                int heigth = with ;
-                screens_iv.setLayoutParams(new LinearLayout.LayoutParams(with, heigth));
-
-                screens_tv.setText("" + taskDescEntity.getDesc());
-                Glide.with(context)
-                        .load(taskDescEntity.getImg())
-                        .into(screens_iv);
-            }
-
-            @Override
-            public int getItemCount() {
-                return descEntity.getScreenshotsList()==null?0:descEntity.getScreenshotsList().size();
-            }
-        });
-
-
-        select_tab_iv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                boolean flag = descEntity.isSelectFlag();
-                descEntity.setSelectFlag(!descEntity.isSelectFlag());
-                if(i == 0){
-                    descEntityArrayList.get(i).setSelectFlag(true);
-                    select_tab_iv.setRotation(180);
-                    item_detail_listview.setVisibility(View.VISIBLE);
-                }else {
-                    descEntityArrayList.get(i).setSelectFlag(false);
-                    select_tab_iv.setRotation(0);
-                    item_detail_listview.setVisibility(View.GONE);
-                }
-                notifyDataSetChanged();
-            }
-        });
-
-    }
-
-    @Override
-    public int getItemCount() {
-        return descEntityArrayList == null?0:descEntityArrayList.size();
-    }
-}

+ 54 - 50
app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java

@@ -24,6 +24,7 @@ import com.kfzs.duanduan.event.BigEvent;
 import com.kfzs.duanduan.event.EventTypes;
 import com.kfzs.duanduan.services.DownloadTaskService;
 import com.kfzs.duanduan.utils.ApkUtils;
+import com.sheep.gamegroup.heler.TaskHelper;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.GameAgencyRechargePlatformEntity;
 import com.sheep.gamegroup.model.entity.OrienteeringDetail;
@@ -213,14 +214,14 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 viewHolder.itemView.findViewById(R.id.cancel_task_tv).setVisibility(View.GONE);
 
                 //CommonUtil.getInstance().getCharSequence(context, item.getName(), "")
-                ((TextView)viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(item.getName()+"");
+                ((TextView)viewHolder.itemView.findViewById(R.id.item_name_tv)).setText(item.getName()+"");
                 final TextView task_type_tv = viewHolder.itemView.findViewById(R.id.task_type_tv);
                 task_type_tv.setVisibility(View.VISIBLE);
                 viewHolder.itemView.findViewById(R.id.item_money).setVisibility(View.GONE);
 
                 Glide.with(context)
                         .load(item.getIcon()+"")
-                        .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
+                        .apply(new RequestOptions().placeholder(R.mipmap.icon).centerCrop())
                         .into((ImageView) viewHolder.itemView.findViewById(R.id.item_icon_iv));
 
                 if(item.isGameReservationCantDownload()){
@@ -295,7 +296,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 }
                 task_type_tv.setText(taskTypeTvValue+"");
                 task_type_tv.setTag(PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + item.getDownload_url());
-//                ((TextView)viewHolder.itemView.findViewById(R.id.item_num_tv)).setText("剩余"+ item.getLast_num()+"份");
+//                TaskHelper.setNumText((TextView) viewHolder.itemView.findViewById(R.id.item_num_tv), taskReleaseEty);
 //                ((TextView)viewHolder.itemView.findViewById(R.id.item_money)).setText("+"+ item.getBonus() +"元");
                 //任务领取
                 task_type_tv.setOnClickListener(new View.OnClickListener() {
@@ -397,14 +398,14 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 detail_task_tv_center.setText("充值");
 
                 //name
-                ((TextView)viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(item.getName()+"");
+                ((TextView)viewHolder.itemView.findViewById(R.id.item_name_tv)).setText(item.getName()+"");
 
                 final TextView item_num_tv = viewHolder.itemView.findViewById(R.id.item_num_tv);
                 item_num_tv.setText(item.getDesc()+"");
 
                 Glide.with(context)
                         .load(item.getIcon())
-                        .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
+                        .apply(new RequestOptions().placeholder(R.mipmap.icon).centerCrop())
                         .into((ImageView) viewHolder.itemView.findViewById(R.id.item_icon_iv));
 
 
@@ -459,12 +460,12 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                     return;
                 }
                 viewHolder.itemView.setTag(TAG_ID_TEMP, etyList.get(i).getId());
-                ((TextView) viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(taskReleaseEty.getName() + "");
+                ((TextView) viewHolder.itemView.findViewById(R.id.item_name_tv)).setText(taskReleaseEty.getName() + "");
                 ((TextView) viewHolder.itemView.findViewById(R.id.item_num_tv)).setText(taskReleaseEty.getTask().getDetailShow()+"");
                 ((TextView) viewHolder.itemView.findViewById(R.id.item_money)).setVisibility(View.GONE);
                 Glide.with(context)
                         .load(taskEty.getIcon() + "")
-                        .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
+                        .apply(new RequestOptions().placeholder(R.mipmap.icon).centerCrop())
                         .into((ImageView) viewHolder.itemView.findViewById(R.id.item_icon_iv));
                 viewHolder.itemView.setEnabled(false);
                 ((TextView) viewHolder.itemView.findViewById(R.id.item_date_tv)).setVisibility(View.GONE);
@@ -565,19 +566,20 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
             }
 
             @Override
-            public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int i) {
+            public void onBindViewHolder(final RecyclerView.ViewHolder viewHolder, final int i) {
                 final TaskReleaseEty taskReleaseEty = ListUtil.getIndex(etyList, i);
                 final TaskEty taskEty;
                 if (taskReleaseEty == null || (taskEty = taskReleaseEty.getTask()) == null) {
                     return;
                 }
                 viewHolder.itemView.setTag(TAG_ID_TEMP, etyList.get(i).getId());
-                ((TextView) viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(taskReleaseEty.getName() + "");
-                ((TextView) viewHolder.itemView.findViewById(R.id.item_num_tv)).setText("剩余" + taskReleaseEty.getLast_num() + "份");
+                ((TextView) viewHolder.itemView.findViewById(R.id.item_name_tv)).setText(taskReleaseEty.getName() + "");
+                TaskHelper.setTaskTypeText((TextView) viewHolder.itemView.findViewById(R.id.item_num_tv), taskReleaseEty);
+                TaskHelper.setNumText((TextView) viewHolder.itemView.findViewById(R.id.item_num_tv1), taskReleaseEty);
                 ((TextView) viewHolder.itemView.findViewById(R.id.item_money)).setText("+" + taskReleaseEty.getBonus() + "元");
                 Glide.with(context)
                         .load(taskEty.getIcon() + "")
-                        .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
+                        .apply(new RequestOptions().placeholder(R.mipmap.icon).centerCrop())
                         .into((ImageView) viewHolder.itemView.findViewById(R.id.item_icon_iv));
 
                 if (isBegin == 1 || type == 2) {//即将开始
@@ -685,11 +687,12 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                             }
                             return;
                         }
-                        taskEty.setRunTask(0);
-                        taskEty.setRelease_task_id(taskReleaseEty.getId());
-                        taskEty.setName(taskReleaseEty.getName());
-                        taskEty.setAcceptedTaskId(taskReleaseEty.getAccepted_task_id());
-                        Jump2View.getInstance().goDialogActivityView(context, taskEty);
+                        viewHolder.itemView.performClick();
+//                        taskEty.setRunTask(0);
+//                        taskEty.setRelease_task_id(taskReleaseEty.getId());
+//                        taskEty.setName(taskReleaseEty.getName());
+//                        taskEty.setAcceptedTaskId(taskReleaseEty.getAccepted_task_id());
+//                        Jump2View.getInstance().goDialogActivityView(context, taskEty);
                     }
                 });
                 viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -745,9 +748,12 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
 
             @Override
             public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int i) {
-                if(etyList.get(i) == null
-                        || etyList.get(i).getRelease_task() == null
-                        || etyList.get(i).getRelease_task().getTask() == null){
+                final TaskAcceptedEty taskAcceptedEty;
+                final TaskReleaseEty taskReleaseEty;
+                final TaskEty taskEty;
+                if((taskAcceptedEty = ListUtil.getIndex(etyList, i)) == null
+                        || (taskReleaseEty = taskAcceptedEty.getRelease_task()) == null
+                        || (taskEty = taskReleaseEty.getTask()) == null){
                     return;
                 }
                     viewHolder.itemView.setTag(TAG_ID_TEMP, etyList.get(i).getId());
@@ -763,23 +769,24 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
 
                 viewHolder.itemView.findViewById(R.id.cancel_task_tv).setVisibility(View.GONE);
 
-                ((TextView)viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(etyList.get(i).getRelease_task().getName()+"");
-                ((TextView)viewHolder.itemView.findViewById(R.id.item_num_tv)).setText("剩余"+ etyList.get(i).getRelease_task().getLast_num()+"份");
-                ((TextView)viewHolder.itemView.findViewById(R.id.item_money)).setText("+"+ etyList.get(i).getRelease_task().getBonus() +"元");
-                if(!etyList.get(i).getRelease_task().getDeadline().equals("永久")){
+                ((TextView)viewHolder.itemView.findViewById(R.id.item_name_tv)).setText(taskReleaseEty.getName()+"");
+                TaskHelper.setTaskTypeText((TextView) viewHolder.itemView.findViewById(R.id.item_num_tv), taskReleaseEty);
+                TaskHelper.setNumText((TextView) viewHolder.itemView.findViewById(R.id.item_num_tv1), taskReleaseEty);
+                ((TextView)viewHolder.itemView.findViewById(R.id.item_money)).setText("+"+ taskReleaseEty.getBonus() +"元");
+                if(!taskReleaseEty.getDeadline().equals("永久")){
                     ((TextView)viewHolder.itemView.findViewById(R.id.item_date_tv)).setText(
-                            "截止时间:" + TimeUtil.getDate(TimeUtil.FORMAT_DD, Long.valueOf(etyList.get(i).getRelease_task().getDeadline()))+"");
+                            "截止时间:" + TimeUtil.getDate(TimeUtil.FORMAT_DD, Long.valueOf(taskReleaseEty.getDeadline()))+"");
                 }else {
                     ((TextView)viewHolder.itemView.findViewById(R.id.item_date_tv)).setText(
-                            "截止时间:" + etyList.get(i).getRelease_task().getDeadline());
+                            "截止时间:" + taskReleaseEty.getDeadline());
                 }
 
                 ((TextView)viewHolder.itemView.findViewById(R.id.detail_task_tv)).setText("取消任务");
 
                 if((is_succession == 1 || is_succession == 3)
-                        &&  (etyList.get(i).getChild_task_id() > 1
-                                || (etyList.get(i).getChild_task_id() == 1
-                        && (etyList.get(i).getStatus() == 6 || etyList.get(i).getStatus() == 7 || etyList.get(i).getStatus() == 9)))
+                        &&  (taskAcceptedEty.getChild_task_id() > 1
+                                || (taskAcceptedEty.getChild_task_id() == 1
+                        && (taskAcceptedEty.getStatus() == 6 || taskAcceptedEty.getStatus() == 7 || taskAcceptedEty.getStatus() == 9)))
                         ){
                     viewHolder.itemView.findViewById(R.id.detail_task_tv).setVisibility(View.GONE);
                 }else {
@@ -792,13 +799,13 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
 
                 //设置标签颜色task_type_tv
                 //Todo 2.6又不需要了
-//                if(!TextUtils.isEmpty(etyList.get(i).getRelease_task().getChild_task_name())){
+//                if(!TextUtils.isEmpty(taskReleaseEty.getChild_task_name())){
 //                    task_type_tv.setVisibility(View.VISIBLE);
-//                    task_type_tv.setText(etyList.get(i).getRelease_task().getChild_task_name() + "");
+//                    task_type_tv.setText(taskReleaseEty.getChild_task_name() + "");
 //                    CommonUtil.getInstance()
 //                            .setViewBackground(
 //                                    task_type_tv,
-//                                    etyList.get(i).getRelease_task().getLabel_color()+"");
+//                                    taskReleaseEty.getLabel_color()+"");
 //                }else {
 //                    task_type_tv.setVisibility(View.INVISIBLE);
 //                }
@@ -806,15 +813,15 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                     @Override
                     public void onClick(View v) {
 
-                        presenter.giveUpTask(etyList.get(i).getId());
+                        presenter.giveUpTask(taskAcceptedEty.getId());
                         //暂停下载
-                        CommonUtil.getInstance().stopDownloadTask(mContext, etyList.get(i).getRelease_task().getTask().getDownload_link());
+                        CommonUtil.getInstance().stopDownloadTask(mContext, taskEty.getDownload_link());
 
                     }
                 });
                 Glide.with(context)
-                        .load(etyList.get(i).getRelease_task().getTask().getIcon()+"")
-                        .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
+                        .load(taskEty.getIcon()+"")
+                        .apply(new RequestOptions().placeholder(R.mipmap.icon).centerCrop())
                         .into((ImageView) viewHolder.itemView.findViewById(R.id.item_icon_iv));
                 viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                     @Override
@@ -825,32 +832,29 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                         }
                         UMConfigUtils.IdEvent.TASK.commit(item.getRelease_task_id());
 
-                        TaskEty taskEty = etyList.get(i).getRelease_task().getTask();
                         taskEty.setRunTask(1);
-                        taskEty.setBonus(etyList.get(i).getRelease_task().getBonus());
-                        taskEty.setRelease_task_id(etyList.get(i).getRelease_task().getId());
-                        taskEty.setAcceptedTaskId(etyList.get(i).getId());
-                        taskEty.setName(etyList.get(i).getRelease_task().getName());
-                        Jump2View.getInstance().goTaskDetailView(context,  etyList.get(i).getRelease_task().getId());
+                        taskEty.setBonus(taskReleaseEty.getBonus());
+                        taskEty.setRelease_task_id(taskReleaseEty.getId());
+                        taskEty.setAcceptedTaskId(taskAcceptedEty.getId());
+                        taskEty.setName(taskReleaseEty.getName());
+                        Jump2View.getInstance().goTaskDetailView(context,  taskReleaseEty.getId());
                         UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_DETAIL);
                     }
                 });
-                TestUtil.setDebugDownLoad(context, viewHolder.itemView, etyList.get(i).getRelease_task().getTask());
+                TestUtil.setDebugDownLoad(context, viewHolder.itemView, taskEty);
 
                 /*
                   倒计时
                  */
                 final TextView countdown_tv = viewHolder.itemView.findViewById(R.id.end_of_time_tv);
-                if(etyList.get(i).getEnd_time() > 0){
+                if(taskAcceptedEty.getEnd_time() > 0){
                     SelfCountDownTimer scTimer = timerHashMap.get(countdown_tv);
                     if(scTimer != null){
                         scTimer.cancel();
                     }
 
                     countdown_tv.setVisibility(View.VISIBLE);
-                    String sr = "<font color='#ff2d4b'><small>" + "" + "</small></font>";
-//                    countdown_tv.setText(sr+"");
-                    SelfCountDownTimer selfCountDownTimer = new SelfCountDownTimer( etyList.get(i).getEnd_time() * 1000, 1000, etyList.get(i).getRelease_task().getCancel_duration()) {
+                    SelfCountDownTimer selfCountDownTimer = new SelfCountDownTimer( taskAcceptedEty.getEnd_time() * 1000, 1000, taskReleaseEty.getCancel_duration()) {
                         @Override
                         public void onTimerRest() {
                             countdown_tv.setText("");
@@ -858,18 +862,18 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
 
                         @Override
                         public void onTimerTick(long millisUntilFinished, int counTime) {
-                            countdown_tv.setText(Html.fromHtml(CommonUtil.getInstance().assemblyStrings(TimeUtil.getHours(millisUntilFinished), "")+""));
+                            countdown_tv.setText(TimeUtil.getHours(millisUntilFinished));
                         }
 
                         @Override
                         public void onTimerFinish() {
                             countdown_tv.setVisibility(View.GONE);
-//                            presenter.giveUpTask(etyList.get(i).getId());
+//                            presenter.giveUpTask(taskAcceptedEty.getId());
 //                            //暂停下载
-//                            CommonUtil.getInstance().stopDownloadTask(mContext, etyList.get(i).getRelease_task().getTask().getDownload_link());
+//                            CommonUtil.getInstance().stopDownloadTask(mContext, taskEty.getDownload_link());
                         }
                     };
-                    selfCountDownTimer.reset(etyList.get(i).getRelease_task().getCancel_duration());
+                    selfCountDownTimer.reset(taskReleaseEty.getCancel_duration());
                     selfCountDownTimer.start();
                     timerHashMap.put(countdown_tv, selfCountDownTimer);
                 }else {

+ 0 - 56
app/src/main/java/com/sheep/gamegroup/view/customview/GlideCircleTransform.java

@@ -1,56 +0,0 @@
-package com.sheep.gamegroup.view.customview;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapShader;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-
-import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
-import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
-
-import java.security.MessageDigest;
-
-/**
- * Created by ljy on 2018/4/28.
- */
-
-public class GlideCircleTransform extends BitmapTransformation {
-
-    public GlideCircleTransform(Context context) {
-        super(context);
-    }
-
-    @Override
-    protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
-        return circleCrop(pool, toTransform);
-    }
-
-    private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {
-        if (source == null) return null;
-
-        int size = Math.min(source.getWidth(), source.getHeight());
-        int x = (source.getWidth() - size) / 2;
-        int y = (source.getHeight() - size) / 2;
-
-        Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);
-
-        Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);
-        if (result == null) {
-            result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
-        }
-
-        Canvas canvas = new Canvas(result);
-        Paint paint = new Paint();
-        paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
-        paint.setAntiAlias(true);
-        float r = size / 2f;
-        canvas.drawCircle(r, r, r, paint);
-        return result;
-    }
-
-    @Override
-    public void updateDiskCacheKey(MessageDigest messageDigest) {
-
-    }
-}

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogShare.java

@@ -51,7 +51,7 @@ public class DialogShare {
         withdrawal.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                StringUtils.CopyText(activity, link);
+                StringUtils.CopyText(link);
                 G.showToast("复制链接成功");
             }
         });

+ 102 - 7
app/src/main/java/com/sheep/jiuyan/samllsheep/BaseApplication.java

@@ -1,10 +1,11 @@
 package com.sheep.jiuyan.samllsheep;
 
 
-import android.app.Instrumentation;
-
+import com.baidu.location.BDAbstractLocationListener;
+import com.baidu.location.BDLocation;
+import com.baidu.location.LocationClient;
+import com.baidu.location.LocationClientOption;
 import com.kfzs.duanduan.KFZSApp;
-import com.sheep.gamegroup.util.LogUtil;
 import com.umeng.commonsdk.UMConfigure;
 import com.umeng.socialize.PlatformConfig;
 import com.umeng.socialize.UMShareAPI;
@@ -12,9 +13,6 @@ import com.umeng.socialize.UMShareAPI;
 import org.xutils.BuildConfig;
 import org.xutils.x;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
 import cn.jpush.android.api.JPushInterface;
 
 /**
@@ -22,7 +20,6 @@ import cn.jpush.android.api.JPushInterface;
  */
 
 public abstract class BaseApplication extends KFZSApp {
-
     @Override
     public void onCreate() {
         super.onCreate();
@@ -39,6 +36,104 @@ public abstract class BaseApplication extends KFZSApp {
         JPushInterface.setDebugMode(BuildConfig.DEBUG);
         JPushInterface.init(this);
 
+        initBdLocationOpstion();
+    }
+    private void initBdLocationOpstion(){
+        mLocationClient = new LocationClient(getApplicationContext());
+        //声明LocationClient类
+        mLocationClient.registerLocationListener(myListener);
+        //注册监听函数
+
+        LocationClientOption option = new LocationClientOption();
+        //经纬度
+        option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);
+//可选,设置定位模式,默认高精度
+//LocationMode.Hight_Accuracy:高精度;
+//LocationMode. Battery_Saving:低功耗;
+//LocationMode. Device_Sensors:仅使用设备;
+
+        option.setCoorType("bd09ll");
+//可选,设置返回经纬度坐标类型,默认gcj02
+//gcj02:国测局坐标;
+//bd09ll:百度经纬度坐标;
+//bd09:百度墨卡托坐标;
+//海外地区定位,无需设置坐标类型,统一返回wgs84类型坐标
+
+        option.setScanSpan(0);
+//可选,设置发起定位请求的间隔,int类型,单位ms
+//如果设置为0,则代表单次定位,即仅定位一次,默认为0
+//如果设置非0,需设置1000ms以上才有效
+
+        option.setOpenGps(true);
+//可选,设置是否使用gps,默认false
+//使用高精度和仅用设备两种定位模式的,参数必须设置为true
+
+        option.setLocationNotify(true);
+//可选,设置是否当GPS有效时按照1S/1次频率输出GPS结果,默认false
+
+        option.setIgnoreKillProcess(false);
+//可选,定位SDK内部是一个service,并放到了独立进程。
+//设置是否在stop的时候杀死这个进程,默认(建议)不杀死,即setIgnoreKillProcess(true)
+
+        option.SetIgnoreCacheException(true);
+//可选,设置是否收集Crash信息,默认收集,即参数为false
+
+        option.setWifiCacheTimeOut(5*60*1000);
+//可选,7.2版本新增能力
+//如果设置了该接口,首次启动定位时,会先判断当前WiFi是否超出有效期,若超出有效期,会先重新扫描WiFi,然后定位
+
+        option.setEnableSimulateGps(false);
+//可选,设置是否需要过滤GPS仿真结果,默认需要,即参数为false
+
+        //地址
+        option.setIsNeedAddress(true);
+//可选,是否需要地址信息,默认为不需要,即参数为false
+//如果开发者需要获得当前点的地址信息,此处必须为true
+
+        mLocationClient.setLocOption(option);
+//mLocationClient为第二步初始化过的LocationClient对象
+//需将配置好的LocationClientOption对象,通过setLocOption方法传递给LocationClient对象使用
+//更多LocationClientOption的配置,请参照类参考中LocationClientOption类的详细说明
+        mLocationClient.start();
+    }
+
+    public LocationClient mLocationClient = null;
+    private SheepLocationListener myListener = new SheepLocationListener();
+    //BDAbstractLocationListener为7.2版本新增的Abstract类型的监听接口
+    //原有BDLocationListener接口暂时同步保留。具体介绍请参考后文中的说明
+    public class SheepLocationListener extends BDAbstractLocationListener {
+        @Override
+        public void onReceiveLocation(BDLocation location){
+            //此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
+            //以下只列举部分获取地址相关的结果信息
+            //更多结果信息获取说明,请参照类参考中BDLocation类中的说明
+            if(location == null)
+                return;
+            curLocation = location;
+            //获取经纬度
+//            double latitude = location.getLatitude();    //获取纬度信息
+//            double longitude = location.getLongitude();    //获取经度信息
+//            float radius = location.getRadius();    //获取定位精度,默认值为0.0f
+//
+//            String coorType = location.getCoorType();
+//            //获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准
+//
+//            int errorCode = location.getLocType();
+//            //获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明
+//
+//            //获取地址
+//            String addr = location.getAddrStr();    //获取详细地址信息
+//            String country = location.getCountry();    //获取国家
+//            String province = location.getProvince();    //获取省份
+//            String city = location.getCity();    //获取城市
+//            String district = location.getDistrict();    //获取区县
+//            String street = location.getStreet();    //获取街道信息
+        }
     }
+    private BDLocation curLocation;
 
+    public BDLocation getCurLocation() {
+        mLocationClient.restart();
+        return curLocation;
+    }
 }

BIN
app/src/main/jniLibs/arm64-v8a/libindoor.so


BIN
app/src/main/jniLibs/arm64-v8a/liblocSDK7b.so


BIN
app/src/main/jniLibs/armeabi-v7a/libindoor.so


BIN
app/src/main/jniLibs/armeabi-v7a/liblocSDK7b.so


BIN
app/src/main/jniLibs/armeabi/libindoor.so


BIN
app/src/main/jniLibs/armeabi/liblocSDK7b.so


BIN
app/src/main/jniLibs/x86/libindoor.so


BIN
app/src/main/jniLibs/x86/liblocSDK7b.so


BIN
app/src/main/jniLibs/x86_64/libindoor.so


BIN
app/src/main/jniLibs/x86_64/liblocSDK7b.so


+ 9 - 0
app/src/main/res/drawable/shape_ash_stroke_white_solid_rectangle.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="15dp" />
+    <solid android:color="@color/white" />
+    <stroke
+        android:width="1dp"
+        android:color="#999999" />
+</shape>

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

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="10dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#F81B5F" />
+</shape>

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

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

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

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="10dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#2FA255" />
+</shape>

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

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="10dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#FFA21C" />
+</shape>

+ 4 - 0
app/src/main/res/layout/act_find_game.xml

@@ -46,9 +46,11 @@
                     android:layout_marginBottom="@dimen/dp_10"/>
 
                 <LinearLayout
+                    android:id="@+id/find_game_score_no"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:orientation="vertical"
+                    android:visibility="gone"
                     android:layout_margin="@dimen/dp_10"
                     android:padding="@dimen/content_padding_20"
                     android:background="@drawable/x_shap_shadow_bg_rectgangle_white">
@@ -250,8 +252,10 @@
                 </LinearLayout>
 
                 <LinearLayout
+                    android:id="@+id/find_game_score_my"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:visibility="gone"
                     android:gravity="center"
                     android:orientation="vertical"
                     android:layout_margin="@dimen/dp_10"

+ 71 - 0
app/src/main/res/layout/act_setting.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/white_light"
+    android:orientation="vertical">
+
+    <include layout="@layout/title" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/content_padding_15"
+        android:layout_marginEnd="@dimen/content_padding"
+        android:layout_marginStart="@dimen/content_padding"
+        android:layout_marginTop="@dimen/content_padding"
+        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:id="@+id/abourt_us_layout"
+            style="@style/style_item_container">
+
+            <TextView
+                style="@style/style_item_label"
+                android:text="关于我们" />
+
+            <TextView style="@style/style_item_end_next" />
+
+        </LinearLayout>
+
+        <View style="@style/style_item_line" />
+
+        <LinearLayout
+            android:id="@+id/version_layout"
+            style="@style/style_item_container">
+
+            <TextView
+                style="@style/style_item_label"
+                android:text="更新版本" />
+
+            <TextView
+                android:id="@+id/version_item_tv"
+                style="@style/style_item_end" />
+
+        </LinearLayout>
+
+        <View style="@style/style_item_line" />
+
+        <LinearLayout
+            android:id="@+id/clear_layout"
+            style="@style/style_item_container">
+
+            <TextView
+                style="@style/style_item_label"
+                android:text="清除缓存" />
+
+            <TextView
+                android:id="@+id/clear_item_tv"
+                style="@style/style_item_end"
+                android:text="128MB" />
+
+        </LinearLayout>
+    </LinearLayout>
+
+
+    <TextView
+        android:id="@+id/tv_submit"
+        style="@style/style_button"
+        android:text="退出登录" />
+</LinearLayout>

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

@@ -53,6 +53,8 @@
         android:maxHeight="@dimen/view_size_65"
         android:maxWidth="@dimen/view_size_65"
         android:src="@mipmap/home_try_play_circle_bg"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toEndOf="@+id/gridview_item_detail_tv" />
 </android.support.constraint.ConstraintLayout>

+ 0 - 24
app/src/main/res/layout/app_info_item.xml

@@ -66,28 +66,4 @@
         app:layout_constraintStart_toStartOf="@+id/app_info_name_tv"
         app:layout_constraintTop_toBottomOf="@+id/app_info_size_tv" />
 
-    <TextView
-        android:id="@+id/app_info_is_sys_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:text="系统应用"
-        android:textColor="@color/black_deep"
-        android:textSize="12sp"
-        app:layout_constraintBottom_toTopOf="@+id/app_info_is_sd_tv"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="@+id/app_info_iv" />
-
-    <TextView
-        android:id="@+id/app_info_is_sd_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:text="sd卡"
-        android:textColor="@color/black_deep"
-        android:textSize="12sp"
-        app:layout_constraintBottom_toBottomOf="@+id/app_info_size_tv"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/app_info_is_sys_tv" />
-
 </android.support.constraint.ConstraintLayout>

+ 47 - 43
app/src/main/res/layout/fgt_personacenter_item_top.xml

@@ -1,86 +1,90 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:orientation="vertical">
 
-    <RelativeLayout
+    <android.support.constraint.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="120dp"
         android:background="@mipmap/home_blue_bg">
+
         <ImageView
             android:id="@+id/icon_img_iv"
             android:layout_width="@dimen/view_size_60"
             android:layout_height="@dimen/view_size_60"
+            android:layout_marginBottom="@dimen/content_padding"
             android:layout_marginStart="@dimen/content_padding_15"
             android:src="@drawable/icon"
-            android:layout_centerVertical="true"/>
-        <LinearLayout
-            android:layout_width="match_parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/name_tv"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:layout_toRightOf="@+id/icon_img_iv"
-            android:layout_centerVertical="true">
-            <TextView
-                android:id="@+id/name_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="@dimen/content_padding_small"
-                android:layout_marginLeft="@dimen/content_padding_10"
-                android:layout_marginTop="@dimen/content_padding_small"
-                android:text=""
-                android:textColor="@color/txt_white"
-                android:textSize="@dimen/text_size_12"/>
+            android:layout_marginBottom="@dimen/content_padding_small"
+            android:layout_marginStart="@dimen/content_padding_10"
+            android:layout_marginTop="@dimen/content_padding_small"
+            android:text=""
+            android:textColor="@color/txt_white"
+            android:textSize="@dimen/text_size_12"
+            app:layout_constraintStart_toEndOf="@+id/icon_img_iv"
+            app:layout_constraintTop_toTopOf="@+id/icon_img_iv" />
 
-            <TextView
-                android:id="@+id/sheep_num_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_below="@+id/name_tv"
-                android:layout_marginBottom="@dimen/content_padding_small"
-                android:layout_marginLeft="@dimen/content_padding_10"
-                android:text="绵羊号:"
-                android:textColor="@color/txt_white"
-                android:textSize="@dimen/text_size_10"/>
-        </LinearLayout>
-    </RelativeLayout>
+        <TextView
+            android:id="@+id/sheep_num_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="@dimen/content_padding_small"
+            android:layout_marginStart="@dimen/content_padding_10"
+            android:text="绵羊号:"
+            android:textColor="@color/txt_white"
+            android:textSize="@dimen/text_size_10"
+            app:layout_constraintBottom_toBottomOf="@+id/icon_img_iv"
+            app:layout_constraintStart_toEndOf="@+id/icon_img_iv" />
+    </android.support.constraint.ConstraintLayout>
 
     <LinearLayout
         android:id="@+id/personalcenter_price_layout"
         android:layout_width="match_parent"
         android:layout_height="50dp"
-        android:orientation="horizontal"
-        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-        android:layout_marginRight="@dimen/content_padding_15"
-        android:layout_marginLeft="@dimen/content_padding_15"
         android:layout_gravity="bottom"
+        android:layout_marginLeft="@dimen/content_padding_15"
+        android:layout_marginRight="@dimen/content_padding_15"
         android:layout_marginTop="-25dp"
+        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+        android:orientation="horizontal"
         android:padding="@dimen/content_padding_15">
 
         <ImageView
             android:layout_width="@dimen/content_padding_20"
             android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_my_price"
+            android:layout_centerVertical="true"
             android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            android:src="@mipmap/personalc_ic_my_price" />
+
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="我的资产"
+            android:layout_centerVertical="true"
             android:lines="1"
+            android:text="我的资产"
             android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true" />
+            android:textSize="14dp" />
+
         <TextView
             android:id="@+id/personalcenter_item_price_tv"
             android:layout_width="0dp"
-            android:layout_weight="1"
             android:layout_height="wrap_content"
-            android:text=""
+            android:layout_centerVertical="true"
+            android:layout_weight="1"
+            android:gravity="right"
             android:lines="1"
+            android:text=""
             android:textColor="@color/txt_black_818181"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:gravity="right"/>
+            android:textSize="14dp" />
     </LinearLayout>
 </LinearLayout>

+ 68 - 211
app/src/main/res/layout/fgt_personalcenter_item_center_one.xml

@@ -2,251 +2,108 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-    android:layout_marginTop="@dimen/content_padding_15"
+    android:layout_marginEnd="@dimen/content_padding_15"
     android:layout_marginStart="@dimen/content_padding_13"
-    android:layout_marginEnd="@dimen/content_padding_15">
-    <RelativeLayout
+    android:layout_marginTop="@dimen/content_padding_15"
+    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+    android:orientation="vertical">
+
+    <LinearLayout
         android:id="@+id/account_detail_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-        android:gravity="center">
+        style="@style/style_item_container">
+
         <ImageView
             android:id="@+id/account_detail_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/x_ic_account_secuity"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_img"
+            android:src="@mipmap/x_ic_account_secuity" />
+
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="个人资料"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_toEndOf="@+id/account_detail_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_label"
+            android:text="个人资料" />
 
-    </RelativeLayout>
+        <TextView style="@style/style_item_end_next" />
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
-
-    <RelativeLayout
-        android:id="@+id/account_safe_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-
-        android:layout_alignParentStart="true">
-        <ImageView
-            android:id="@+id/account_safe_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_account_safe"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="账号安全"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_alignBottom="@+id/account_safe_item_icon_iv"
-            android:layout_toEndOf="@+id/account_safe_item_icon_iv"
-            android:layout_centerVertical="true"/>
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+    </LinearLayout>
 
-    </RelativeLayout>
+    <View style="@style/style_item_line" />
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
-
-    <RelativeLayout
+    <LinearLayout
         android:id="@+id/account_task_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
+        style="@style/style_item_container">
 
-        android:layout_alignParentStart="true">
         <ImageView
             android:id="@+id/tast_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/x_ic_task_history"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_img"
+            android:src="@mipmap/x_ic_task_history" />
+
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="任务记录"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_alignBottom="@+id/tast_item_icon_iv"
-            android:layout_toEndOf="@+id/tast_item_icon_iv"
-            android:layout_centerVertical="true"/>
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_label"
+            android:text="任务记录"/>
 
-    </RelativeLayout>
+        <TextView style="@style/style_item_end_next" />
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        android:visibility="visible"/>
-
-    <RelativeLayout
+    </LinearLayout>
+
+    <View style="@style/style_item_line" />
+
+    <LinearLayout
         android:id="@+id/order_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:visibility="visible"
-        android:padding="15dp">
+        style="@style/style_item_container">
+
         <ImageView
             android:id="@+id/order_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_order_manager"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_img"
+            android:src="@mipmap/personalc_ic_order_manager" />
+
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="订单管理"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_alignBottom="@+id/order_item_icon_iv"
-            android:layout_toEndOf="@+id/order_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_label"
+            android:text="订单管理"/>
 
-    </RelativeLayout>
+        <TextView style="@style/style_item_end_next" />
+
+    </LinearLayout>
 
     <View
         android:id="@+id/proxy_service_layout_line"
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        android:visibility="gone"/>
-
-    <RelativeLayout
+        style="@style/style_item_line"
+        android:visibility="gone" />
+
+    <LinearLayout
         android:id="@+id/proxy_service_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        android:padding="15dp"
-        >
+        style="@style/style_item_container"
+        android:visibility="gone">
+
         <ImageView
             android:id="@+id/proxy_service_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_proxy_service"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_img"
+            android:src="@mipmap/personalc_ic_proxy_service" />
+
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="代理服务"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_alignBottom="@+id/proxy_service_item_icon_iv"
-            android:layout_toEndOf="@+id/proxy_service_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_label"
+            android:text="代理服务"/>
+
+        <TextView style="@style/style_item_end_next" />
 
-    </RelativeLayout>
+    </LinearLayout>
 
     <View
         android:id="@+id/proxy_game_account_layout_line"
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
-
-    <RelativeLayout
+        style="@style/style_item_line" />
+
+    <LinearLayout
         android:id="@+id/proxy_game_account_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:visibility="visible"
-        android:padding="15dp"
-        >
+        style="@style/style_item_container">
+
         <ImageView
             android:id="@+id/proxy_game_account_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_game_account"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_img"
+            android:src="@mipmap/personalc_ic_game_account" />
+
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="游戏账号"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_alignBottom="@+id/proxy_game_account_item_icon_iv"
-            android:layout_toEndOf="@+id/proxy_game_account_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
-
-    </RelativeLayout>
+            style="@style/style_item_label"
+            android:text="游戏账号" />
+
+        <TextView style="@style/style_item_end_next" />
+
+    </LinearLayout>
 </LinearLayout>

+ 76 - 274
app/src/main/res/layout/fgt_personalcenter_item_center_two.xml

@@ -2,320 +2,122 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-    android:layout_marginTop="@dimen/content_padding_13"
     android:layout_marginBottom="@dimen/content_padding_15"
+    android:layout_marginEnd="@dimen/content_padding_15"
     android:layout_marginStart="@dimen/content_padding_15"
-    android:layout_marginEnd="@dimen/content_padding_15">
-    <RelativeLayout
+    android:layout_marginTop="@dimen/content_padding_13"
+    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+    android:orientation="vertical">
+
+    <LinearLayout
         android:id="@+id/reservation_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-        android:gravity="center">
+        style="@style/style_item_container">
+
         <ImageView
             android:id="@+id/reservation_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_reservation"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="游戏预约"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_toEndOf="@+id/reservation_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
-
-    </RelativeLayout>
+            style="@style/style_item_img"
+            android:src="@mipmap/personalc_ic_reservation" />
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
-
-    <RelativeLayout
-        android:id="@+id/abourt_us_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-        android:gravity="center">
-        <ImageView
-            android:id="@+id/abourt_us_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_about_us"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="关于我们"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_toEndOf="@+id/abourt_us_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_label"
+            android:text="游戏预约" />
+
+        <TextView style="@style/style_item_end_next" />
 
-    </RelativeLayout>
+    </LinearLayout>
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
+    <View style="@style/style_item_line" />
 
-    <RelativeLayout
+    <LinearLayout
         android:id="@+id/feedbook_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
+        style="@style/style_item_container">
 
-        android:layout_alignParentStart="true">
         <ImageView
             android:id="@+id/feedbook_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_feedback"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_img"
+            android:src="@mipmap/personalc_ic_feedback" />
+
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="意见反馈"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_alignBottom="@+id/feedbook_item_icon_iv"
-            android:layout_toEndOf="@+id/feedbook_item_icon_iv"
-            android:layout_centerVertical="true"/>
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_label"
+            android:text="意见反馈" />
 
-    </RelativeLayout>
+        <TextView style="@style/style_item_end_next" />
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
+    </LinearLayout>
 
-    <RelativeLayout
+    <View style="@style/style_item_line" />
+
+    <LinearLayout
         android:id="@+id/faq_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-        >
+        style="@style/style_item_container">
+
         <ImageView
             android:id="@+id/faq_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/faq"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_img"
+            android:src="@mipmap/faq" />
+
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="FAQ帮助"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_alignBottom="@+id/faq_item_icon_iv"
-            android:layout_toEndOf="@+id/faq_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_label"
+            android:text="FAQ帮助" />
 
-    </RelativeLayout>
+        <TextView style="@style/style_item_end_next" />
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
+    </LinearLayout>
 
-    <RelativeLayout
+    <View style="@style/style_item_line" />
+
+    <LinearLayout
         android:id="@+id/recommend_friend_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-        >
+        style="@style/style_item_container">
+
         <ImageView
             android:id="@+id/recommend_friend_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_recommend_friend"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_img"
+            android:src="@mipmap/personalc_ic_recommend_friend" />
+
         <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="推荐给好友"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_alignBottom="@+id/recommend_friend_item_icon_iv"
-            android:layout_toEndOf="@+id/recommend_friend_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
+            style="@style/style_item_label"
+            android:text="推荐给好友" />
 
-    </RelativeLayout>
+        <TextView style="@style/style_item_end_next" />
 
+    </LinearLayout>
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
-    <RelativeLayout
-        android:id="@+id/change_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-        >
-        <ImageView
-            android:id="@+id/change_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_change"
-            android:layout_marginRight="12dp"
-            android:layout_centerVertical="true"/>
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="新功能介绍"
-            android:lines="1"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_centerVertical="true"
-            android:layout_alignBottom="@+id/change_item_icon_iv"
-            android:layout_toEndOf="@+id/change_item_icon_iv" />
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/x_ic_next"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="12dp"
-            android:layout_centerVertical="true"/>
 
-    </RelativeLayout>
+    <View style="@style/style_item_line" />
 
+    <LinearLayout
+        android:id="@+id/change_layout"
+        style="@style/style_item_container">
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
-    <RelativeLayout
-        android:id="@+id/version_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp">
         <ImageView
-            android:id="@+id/version_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_version"
-            android:layout_marginEnd="12dp"/>
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="更新版本"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_toEndOf="@+id/version_item_icon_iv" />
-        <TextView
-            android:id="@+id/version_item_tv"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="小绵羊2.6.0"
-            android:gravity="end"
-            android:textColor="@color/black_6_3"
-            android:textSize="14sp"
-            android:layout_alignParentEnd="true" />
+            android:id="@+id/change_item_icon_iv"
+            style="@style/style_item_img"
+            android:src="@mipmap/personalc_ic_change" />
 
-    </RelativeLayout>
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/white_bg_line"
-        android:layout_marginLeft="15dp"
-        android:layout_marginRight="15dp"
-        />
-    <RelativeLayout
-        android:id="@+id/clear_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp">
-        <ImageView
-            android:id="@+id/clear_item_icon_iv"
-            android:layout_width="@dimen/content_padding_20"
-            android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/personalc_ic_clear"
-            android:layout_marginEnd="12dp"/>
         <TextView
-            android:layout_width="match_parent"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="清除缓存"
-            android:textColor="@color/black"
-            android:textSize="14dp"
-            android:layout_toEndOf="@+id/clear_item_icon_iv" />
+            style="@style/style_item_label_parent"
+            android:text="新版本介绍" />
         <TextView
-            android:id="@+id/clear_item_tv"
-            android:layout_width="match_parent"
+            android:id="@+id/personal_center_version_new"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="128MB"
-            android:gravity="end"
-            android:textColor="@color/black_6_3"
-            android:textSize="14sp"
-            android:layout_alignParentEnd="true" />
+            android:textColor="@color/white"
+            android:paddingStart="6dp"
+            android:paddingEnd="6dp"
+            android:textSize="9sp"
+            android:layout_marginStart="@dimen/content_padding"
+            android:background="@drawable/shape_red_solid_rectangle"
+            android:text="new" />
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"/>
+
+        <TextView style="@style/style_item_end_next" />
+
+    </LinearLayout>
 
-    </RelativeLayout>
 </LinearLayout>

+ 0 - 6
app/src/main/res/layout/fgt_personalcenter_layout.xml

@@ -16,12 +16,6 @@
 
         <include layout="@layout/fgt_personalcenter_item_center_two" />
 
-
-        <TextView
-            android:id="@+id/tv_submit"
-            style="@style/style_button_margin15"
-            android:text="退出登录" />
-
     </LinearLayout>
 
 

+ 18 - 6
app/src/main/res/layout/find_information_bottom_item.xml

@@ -18,8 +18,8 @@
         android:layout_marginStart="5dp"
         android:maxLines="2"
         android:text="小绵羊小绵羊小绵羊小绵羊小小绵羊小绵羊小绵羊小绵羊小小绵羊小绵羊小绵羊小绵羊小小绵羊小绵羊小绵羊小绵羊小"
-        android:textColor="#020202"
-        android:textSize="15sp"
+        android:textColor="#444444"
+        android:textSize="14sp"
         app:layout_constraintBottom_toTopOf="@+id/find_information_game_surplus"
         app:layout_constraintEnd_toStartOf="@+id/find_information_game_task_bottom"
         app:layout_constraintStart_toEndOf="@+id/find_information_game_icon"
@@ -30,19 +30,31 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/app_name"
-        android:textColor="#989898"
-        android:textSize="13sp"
+        android:textColor="#cc8e8e8e"
+        android:textSize="10sp"
         app:layout_constraintBottom_toTopOf="@+id/find_information_game_time"
         app:layout_constraintStart_toStartOf="@+id/find_information_game_name"
         app:layout_constraintTop_toBottomOf="@+id/find_information_game_name" />
+    <TextView
+        android:id="@+id/find_information_game_surplus1"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/app_name"
+        android:textColor="#cc8e8e8e"
+        android:textSize="10sp"
+        android:visibility="gone"
+        android:layout_marginStart="@dimen/content_padding"
+        app:layout_constraintBottom_toTopOf="@+id/find_information_game_time"
+        app:layout_constraintStart_toEndOf="@+id/find_information_game_surplus"
+        app:layout_constraintTop_toBottomOf="@+id/find_information_game_name" />
 
     <TextView
         android:id="@+id/find_information_game_time"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/app_name"
-        android:textColor="#989898"
-        android:textSize="12sp"
+        android:textColor="#cc8e8e8e"
+        android:textSize="10sp"
         app:layout_constraintBottom_toBottomOf="@+id/find_information_game_icon"
         app:layout_constraintStart_toStartOf="@+id/find_information_game_name"
         app:layout_constraintTop_toBottomOf="@+id/find_information_game_surplus" />

+ 3 - 3
app/src/main/res/layout/game_agency_recharge_plotform_item.xml

@@ -39,7 +39,7 @@
             app:layout_constraintBottom_toBottomOf="parent"
             android:layout_marginStart="15dp">
             <TextView
-                android:id="@+id/item_anem_tv"
+                android:id="@+id/item_name_tv"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text=""
@@ -52,8 +52,8 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text=""
-                app:layout_constraintTop_toBottomOf="@+id/item_anem_tv"
-                app:layout_constraintStart_toStartOf="@+id/item_anem_tv"
+                app:layout_constraintTop_toBottomOf="@+id/item_name_tv"
+                app:layout_constraintStart_toStartOf="@+id/item_name_tv"
                 android:layout_marginBottom="@dimen/content_padding_2"
                 android:textSize="@dimen/text_size_2"
                 android:textColor="@color/txt_black_8e8e8e"/>

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

@@ -14,8 +14,8 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="绵羊公告"
-        android:textSize="12sp"
-        android:textColor="@color/black_6_3"/>
+        android:textSize="14sp"
+        android:textColor="#191919"/>
     <ImageView
         android:layout_width="@dimen/content_padding_20"
         android:layout_height="@dimen/content_padding_20"

+ 85 - 105
app/src/main/res/layout/homepage_item_top2.xml

@@ -1,119 +1,99 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/user_layout"
     android:layout_width="match_parent"
-    android:layout_height="@dimen/view_size_150"
-    android:orientation="horizontal"
+    android:layout_height="wrap_content"
     android:background="@mipmap/home_blue_bg"
-    android:paddingTop="@dimen/content_padding_10"
-    android:paddingStart="@dimen/content_padding_10"
-    android:paddingEnd="@dimen/content_padding_10">
+    android:paddingStart="@dimen/content_padding"
+    android:paddingEnd="@dimen/content_padding"
+    android:paddingTop="30dp"
+    android:paddingBottom="18dp"
+    android:orientation="horizontal">
 
-    <RelativeLayout
-        android:id="@+id/icon_layout"
-        android:layout_width="@dimen/view_size_100"
-        android:layout_height="@dimen/view_size_100"
-        android:layout_gravity="center_vertical">
+    <ImageView
+        android:id="@+id/icon_img_iv"
+        android:layout_width="70dp"
+        android:layout_height="70dp"
+        android:layout_marginBottom="6dp"
+        android:src="@drawable/icon"
+        app:layout_constraintBottom_toBottomOf="parent" />
 
-        <ImageView
-            android:id="@+id/icon_img_iv"
-            android:layout_width="@dimen/view_size_90"
-            android:layout_height="@dimen/view_size_90"
-            android:src="@drawable/icon"/>
-        <ImageView
-            android:layout_width="@dimen/view_size_20"
-            android:layout_height="@dimen/view_size_20"
-            android:src="@mipmap/head_edit_icon"
-            android:layout_alignParentRight="true"
-            android:layout_marginRight="@dimen/content_padding_small"
-            android:layout_marginTop="@dimen/content_padding_3"/>
 
-    </RelativeLayout>
-    <RelativeLayout
-        android:id="@+id/info_layout"
-        android:layout_width="match_parent"
+    <TextView
+        android:id="@+id/name_tv"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical">
+        android:text="@string/app_name"
+        android:textColor="@color/txt_white"
+        android:textSize="15sp"
+        android:layout_marginBottom="12dp"
+        android:layout_marginStart="@dimen/dp_10"
+        app:layout_constraintStart_toEndOf="@+id/icon_img_iv"
+        app:layout_constraintBottom_toTopOf="@+id/sheep_num_tv" />
 
+    <TextView
+        android:id="@+id/sheep_num_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="12dp"
+        android:text="绵羊号:"
+        android:textColor="#D3ECFF"
+        android:textSize="10sp"
+        android:layout_marginStart="@dimen/dp_10"
+        app:layout_constraintStart_toEndOf="@+id/icon_img_iv"
+        app:layout_constraintBottom_toTopOf="@+id/my_price" />
+
+    <TextView
+        android:id="@+id/my_price"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="1dp"
+        android:text="@string/app_name"
+        android:textColor="@color/txt_white"
+        android:textSize="18sp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toEndOf="@+id/my_property"/>
 
-        <TextView
-            android:id="@+id/name_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text=""
-            android:textSize="@dimen/text_size_12"
-            android:textColor="@color/txt_white"
-            android:layout_marginLeft="@dimen/content_padding_10"
-            android:layout_marginTop="@dimen/content_padding_small"
-            android:layout_marginBottom="@dimen/content_padding_small"/>
-        <TextView
-            android:id="@+id/sheep_num_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="绵羊号:"
-            android:textSize="@dimen/text_size_10"
-            android:textColor="@color/txt_white"
-            android:layout_below="@+id/name_tv"
-            android:layout_marginLeft="@dimen/content_padding_10"
-            android:layout_marginBottom="@dimen/content_padding_small"/>
-        <TextView
-            android:id="@+id/my_property"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="账户余额:"
-            android:textColor="@color/txt_white"
-            android:textSize="@dimen/text_size_12"
-            android:layout_below="@+id/sheep_num_tv"
-            android:layout_marginLeft="@dimen/content_padding_10"
-            android:layout_marginBottom="@dimen/content_padding_small"/>
+    <TextView
+        android:id="@+id/my_property"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@+id/sheep_num_tv"
+        android:layout_marginStart="@dimen/dp_10"
+        android:text="账户余额:"
+        android:textColor="#D3ECFF"
+        android:textSize="10sp"
+        app:layout_constraintStart_toEndOf="@+id/icon_img_iv"
+        app:layout_constraintBaseline_toBaselineOf="@+id/my_price" />
 
-        <TextView
-            android:id="@+id/recharge"
-            android:layout_width="wrap_content"
-            android:layout_height="30dp"
-            android:background="@drawable/x_shap_shadow_bg_rectgangle_white_big"
-            android:gravity="center"
-            android:minWidth="100dp"
-            android:text="充 值"
-            android:textColor="@color/blue_34a6e7"
-            android:textSize="@dimen/text_size_4"
-            android:layout_alignParentRight="true"
-            android:layout_marginTop="@dimen/content_padding_20"
-            />
 
-        <TextView
-            android:id="@+id/withdrawal"
-            android:layout_width="wrap_content"
-            android:layout_height="30dp"
-            android:layout_alignParentEnd="true"
-            android:background="@drawable/x_shap_shadow_bg_rectgangle_white_big"
-            android:gravity="center"
-            android:minWidth="100dp"
-            android:text="提 现"
-            android:layout_below="@+id/my_property"
-            android:textColor="@color/blue_34a6e7"
-            android:textSize="@dimen/text_size_4"
-            android:layout_marginBottom="@dimen/content_padding_8"/>
-        <TextView
-            android:layout_below="@+id/my_property"
-            android:id="@+id/my_price"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text=""
-            android:textColor="@color/txt_white"
-            android:textSize="@dimen/text_size_25"
-            android:layout_marginLeft="@dimen/content_padding_10"
-            android:layout_toLeftOf="@+id/withdrawal"/>
+    <TextView
+        android:id="@+id/recharge"
+        android:layout_width="wrap_content"
+        android:layout_height="30dp"
+        android:layout_marginTop="@dimen/content_padding_20"
+        android:background="@drawable/x_shap_shadow_bg_rectgangle_white_big"
+        android:gravity="center"
+        android:minWidth="100dp"
+        android:text="充 值"
+        android:textColor="#33CCFF"
+        android:textSize="@dimen/text_size_4"
+        android:layout_marginBottom="15dp"
+        app:layout_constraintBottom_toTopOf="@+id/withdrawal"
+        app:layout_constraintEnd_toEndOf="parent" />
 
+    <TextView
+        android:id="@+id/withdrawal"
+        android:layout_width="wrap_content"
+        android:layout_height="30dp"
+        android:background="@drawable/x_shap_shadow_bg_rectgangle_white_big"
+        android:gravity="center"
+        android:minWidth="100dp"
+        android:text="提 现"
+        android:textColor="#33CCFF"
+        android:textSize="@dimen/text_size_4"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent" />
 
-        <TextView
-            android:layout_below="@+id/my_price"
-            android:id="@+id/my_all_price"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="累计资产 "
-            android:textColor="@color/txt_white"
-            android:textSize="@dimen/text_size_12"
-            android:visibility="gone"/>
-    </RelativeLayout>
-</LinearLayout>
+</android.support.constraint.ConstraintLayout>

+ 9 - 10
app/src/main/res/layout/taskdetail_desc_item_screens.xml

@@ -2,25 +2,24 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
     android:layout_gravity="center"
-    android:layout_margin="@dimen/content_padding_3">
+    android:layout_marginTop="@dimen/content_padding_3"
+    android:layout_marginEnd="@dimen/content_padding_8"
+    android:orientation="vertical">
 
     <ImageView
         android:id="@+id/screens_iv"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:scaleType="centerCrop"
-        android:src="@mipmap/icon"
-        android:layout_gravity="center"/>
+        android:layout_height="150dp"
+        android:layout_gravity="center" />
+
     <TextView
         android:id="@+id/screens_tv"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
-        android:text="111"
-        android:lines="1"
-        android:ellipsize="end"
         android:layout_marginTop="@dimen/content_padding_small"
-        android:visibility="visible"/>
+        android:ellipsize="end"
+        android:lines="1"
+        android:text="111" />
 </LinearLayout>

+ 97 - 100
app/src/main/res/layout/taskdetail_mylistview_item.xml

@@ -3,44 +3,48 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    android:visibility="visible"
     android:paddingBottom="@dimen/content_padding_16"
-    android:paddingTop="@dimen/content_padding_12">
+    android:paddingTop="@dimen/content_padding_12"
+    android:visibility="visible">
 
     <LinearLayout
         android:id="@+id/title_item_layout"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:gravity="center_vertical"
         android:background="@drawable/sp_bg_blue_top"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
         android:padding="@dimen/content_padding_3"
         android:visibility="visible">
+
         <TextView
             android:id="@+id/num_item_textview"
             style="@style/style_ash_num_white"
             android:layout_gravity="center_vertical"
-            android:text=""
-            android:layout_marginLeft="@dimen/content_padding_8"/>
+            android:layout_marginLeft="@dimen/content_padding_8"
+            android:text="" />
+
         <TextView
             android:id="@+id/title_item_tv"
+            style="@style/white_txt_style_13"
             android:layout_width="0dp"
-            android:layout_weight="1"
             android:layout_height="wrap_content"
-            android:singleLine="true"
+            android:layout_marginLeft="@dimen/content_padding_small"
+            android:layout_weight="1"
             android:ellipsize="middle"
-            style="@style/white_txt_style_13"
-            android:layout_marginLeft="@dimen/content_padding_small"/>
+            android:singleLine="true" />
+
         <TextView
             android:id="@+id/title_item_price_tv"
+            style="@style/white_txt_style_13"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/content_padding_2"
+            android:layout_marginRight="@dimen/content_padding_3"
             android:singleLine="true"
             android:text=""
-            style="@style/white_txt_style_13"
-            android:textColor="@color/yellow_FAF632"
-            android:layout_marginLeft="@dimen/content_padding_2"
-            android:layout_marginRight="@dimen/content_padding_3"/>
+            android:textColor="@color/yellow_FAF632" />
+
         <ImageView
             android:id="@+id/select_tab_iv"
             android:layout_width="@dimen/view_size_30"
@@ -48,123 +52,116 @@
             android:padding="@dimen/content_padding_8"
             android:src="@mipmap/arrow_down" />
     </LinearLayout>
-    
+
     <LinearLayout
         android:id="@+id/item_show_layout"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical">
+
         <LinearLayout
             android:id="@+id/item_detail_show_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
             android:layout_gravity="center_vertical"
             android:background="@drawable/sp_bg_white_solid_bottom"
-            android:paddingTop="@dimen/content_padding_3"
-            android:paddingBottom="@dimen/content_padding_15">
-            <TextView
-                android:layout_width="4dp"
-                android:layout_height="wrap_content"
-                android:text="1"
-                android:textColor="@color/blue_FF53BBF2"
-                android:background="@color/blue_FF53BBF2"
-                android:textSize="@dimen/text_size_2"
-                android:layout_marginTop="@dimen/content_padding_small"/>
+            android:orientation="vertical"
+            android:paddingBottom="@dimen/content_padding_15"
+            android:paddingTop="@dimen/dp_10">
 
-            <LinearLayout
+            <RelativeLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:orientation="vertical">
-                <LinearLayout
-                    android:layout_width="match_parent"
+                android:layout_marginBottom="@dimen/content_padding_15">
+
+                <TextView
+                    android:layout_width="4dp"
                     android:layout_height="wrap_content"
-                    android:orientation="horizontal"
-                    android:layout_marginBottom="@dimen/content_padding_15">
-
-                    <TextView
-                        android:layout_width="0dp"
-                        android:layout_weight="1"
-                        android:layout_height="wrap_content"
-                        android:text="任务详情"
-                        style="@style/txt_style_15_323232"
-                        android:layout_marginLeft="@dimen/content_padding_15"/>
-                    <TextView
-                        android:id="@+id/item_remaining_time_tv"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:text="剩余试玩时间:00:28:12"
-                        android:background="@drawable/sp_bg_gray_leftradius"
-                        android:textSize="@dimen/text_size_12"
-                        android:padding="@dimen/content_padding_small"/>
-                </LinearLayout>
-                <com.sheep.gamegroup.util.MyListview
-                    android:id="@+id/item_detail_listview"
-                    android:layout_width="match_parent"
+                    android:layout_centerVertical="true"
+                    android:background="@color/blue_FF53BBF2"
+                    android:text="1"
+                    android:textColor="@color/blue_FF53BBF2"
+                    android:textSize="@dimen/text_size_2" />
+
+                <TextView
+                    style="@style/txt_style_15_323232"
+                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:scrollbars="none"
-                    android:listSelector="@color/transparent"
-                    android:layout_marginLeft="@dimen/content_padding_15"
-                    android:layout_marginBottom="@dimen/content_padding_15"
-                    android:divider="@null"/>
-            </LinearLayout>
+                    android:layout_centerVertical="true"
+                    android:layout_marginStart="@dimen/content_padding_15"
+                    android:text="任务详情" />
+
+                <TextView
+                    android:id="@+id/item_remaining_time_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignParentEnd="true"
+                    android:layout_centerVertical="true"
+                    android:background="@drawable/sp_bg_gray_leftradius"
+                    android:padding="@dimen/content_padding_small"
+                    android:text="剩余试玩时间:00:28:12"
+                    android:textSize="@dimen/text_size_12" />
+            </RelativeLayout>
+
+            <com.sheep.gamegroup.util.MyListview
+                android:id="@+id/item_detail_listview"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="@dimen/content_padding_15"
+                android:layout_marginStart="@dimen/content_padding_15"
+                android:divider="@null"
+                android:listSelector="@color/transparent"
+                android:scrollbars="none" />
         </LinearLayout>
 
         <LinearLayout
             android:id="@+id/taskdetail_screenshot_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
             android:layout_gravity="center_vertical"
-            android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-            android:visibility="visible"
             android:layout_marginTop="@dimen/content_padding_13"
-            android:paddingTop="@dimen/content_padding_small"
-            android:paddingBottom="@dimen/content_padding_15">
-            <TextView
-                android:layout_width="4dp"
-                android:layout_height="wrap_content"
-                android:text="1"
-                android:textColor="@color/blue_FF53BBF2"
-                android:background="@color/blue_FF53BBF2"
-                android:textSize="@dimen/text_size_2"
-                android:layout_marginTop="@dimen/content_padding_3"/>
+            android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+            android:orientation="vertical"
+            android:paddingBottom="@dimen/content_padding_15"
+            android:paddingTop="@dimen/dp_10"
+            android:visibility="visible">
 
-            <LinearLayout
+            <RelativeLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:orientation="vertical">
-                <LinearLayout
-                    android:layout_width="match_parent"
+                android:layout_marginBottom="@dimen/content_padding_15">
+
+                <TextView
+                    android:layout_width="4dp"
                     android:layout_height="wrap_content"
-                    android:orientation="horizontal"
-                    android:layout_marginBottom="@dimen/content_padding_15">
-
-                    <TextView
-                        android:layout_width="0dp"
-                        android:layout_weight="1"
-                        android:layout_height="wrap_content"
-                        android:text="示例截图"
-                        style="@style/txt_style_15_323232"
-                        android:layout_marginLeft="@dimen/content_padding_15"/>
-                </LinearLayout>
-                <!--<com.sheep.gamegroup.util.MyListview-->
-                    <!--android:id="@+id/recycler_screenshot_view"-->
-                    <!--android:layout_width="match_parent"-->
-                    <!--android:layout_height="wrap_content"-->
-                    <!--android:scrollbars="none" />-->
-
-                <android.support.v7.widget.RecyclerView
-                    android:id="@+id/recycler_screenshot_view"
-                    android:layout_width="match_parent"
+                    android:layout_marginTop="@dimen/content_padding_3"
+                    android:background="@color/blue_FF53BBF2"
+                    android:text="1"
+                    android:textColor="@color/blue_FF53BBF2"
+                    android:textSize="@dimen/text_size_2" />
+
+                <TextView
+                    style="@style/txt_style_15_323232"
+                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/content_padding_15"
-                    android:layout_marginBottom="@dimen/content_padding_15"
-                    android:scrollbars="none" />
-            </LinearLayout>
+                    android:layout_marginStart="@dimen/content_padding_15"
+                    android:text="示例截图" />
+            </RelativeLayout>
+            <!--<com.sheep.gamegroup.util.MyListview-->
+            <!--android:id="@+id/recycler_screenshot_view"-->
+            <!--android:layout_width="match_parent"-->
+            <!--android:layout_height="wrap_content"-->
+            <!--android:scrollbars="none" />-->
+
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/recycler_screenshot_view"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="@dimen/dp_10"
+                android:layout_marginStart="@dimen/content_padding_15"
+                android:scrollbars="none" />
         </LinearLayout>
     </LinearLayout>
 
 
-
 </LinearLayout>

+ 0 - 122
app/src/main/res/layout/taskdetail_recycler_item.xml

@@ -1,122 +0,0 @@
-<?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:visibility="visible">
-
-    <LinearLayout
-        android:id="@+id/title_item_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:gravity="center_vertical"
-        android:background="@drawable/sp_bg_blue_top"
-        android:padding="@dimen/tag_vertical_spacing"
-        android:visibility="gone">
-        <TextView
-            android:id="@+id/title_item_tv"
-            android:layout_width="0dp"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:singleLine="true"
-            android:ellipsize="middle"
-            style="@style/white_txt_style_13"/>
-        <ImageView
-            android:id="@+id/select_tab_iv"
-            android:layout_width="@dimen/view_size_30"
-            android:layout_height="@dimen/view_size_30"
-            android:padding="@dimen/content_padding_8"
-            android:src="@mipmap/arrow_down" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:layout_gravity="center_vertical">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="1"
-            android:textColor="@color/blue_34a6e7"
-            android:background="@color/blue_34a6e7"
-            android:textSize="@dimen/text_size_2"
-            android:layout_marginTop="@dimen/content_padding_small"/>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:layout_width="0dp"
-                    android:layout_weight="1"
-                    android:layout_height="wrap_content"
-                    android:text="任务详情"
-                    style="@style/txt_style_15_black"
-                    android:layout_marginLeft="@dimen/content_padding_15"/>
-                <TextView
-                    android:id="@+id/item_remaining_time_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="剩余试玩时间:00:28:12"
-                    android:background="@drawable/sp_bg_gray_leftradius"
-                    android:textSize="@dimen/text_size_12"
-                    android:padding="@dimen/content_padding_small"/>
-            </LinearLayout>
-            <android.support.v7.widget.RecyclerView
-                android:id="@+id/item_detail_listview"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:scrollbars="none" />
-        </LinearLayout>
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/taskdetail_screenshot_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:layout_gravity="center_vertical"
-        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-        android:visibility="gone">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="1"
-            android:textColor="@color/blue_34a6e7"
-            android:background="@color/blue_34a6e7"
-            android:textSize="@dimen/text_size_2"
-            android:layout_marginTop="@dimen/content_padding_small"/>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:layout_width="0dp"
-                    android:layout_weight="1"
-                    android:layout_height="wrap_content"
-                    android:text="示例截图"
-                    style="@style/txt_style_15_black"
-                    android:layout_marginLeft="@dimen/content_padding_15"/>
-            </LinearLayout>
-            <android.support.v7.widget.RecyclerView
-                android:id="@+id/recycler_screenshot_view"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:scrollbars="none" />
-        </LinearLayout>
-    </LinearLayout>
-
-</LinearLayout>

+ 105 - 73
app/src/main/res/layout/try_makemoney_item_recommend.xml

@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_marginBottom="@dimen/content_padding_12"
     android:orientation="vertical"
-    android:paddingRight="12dp"
-    android:paddingTop="12dp"
-    android:paddingLeft="12dp"
     android:paddingBottom="@dimen/content_padding_small"
-    android:layout_marginBottom="@dimen/content_padding_12">
+    android:paddingLeft="12dp"
+    android:paddingRight="12dp"
+    android:paddingTop="12dp">
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -19,160 +19,191 @@
             android:id="@+id/item_title_iv"
             android:layout_width="@dimen/content_padding_20"
             android:layout_height="@dimen/content_padding_20"
-            android:src="@mipmap/task_ing_icon"
-            android:layout_marginRight="@dimen/content_padding_small"/>
+            android:layout_marginRight="@dimen/content_padding_small"
+            android:src="@mipmap/task_ing_icon" />
 
         <TextView
             android:id="@+id/item_title_tv"
             android:layout_width="0dp"
-            android:layout_weight="1"
             android:layout_height="wrap_content"
+            android:layout_marginBottom="13dp"
+            android:layout_weight="1"
             android:text="进行中"
             android:textColor="@color/black"
-            android:textSize="15dp"
-            android:layout_marginBottom="13dp"/>
+            android:textSize="15dp" />
+
         <TextView
             android:id="@+id/cancel_task_tv"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="取消任务"
+            android:layout_marginBottom="13dp"
+            android:background="@drawable/sp_bg_gradient_rectangle_blue"
+            android:gravity="center"
             android:minWidth="@dimen/view_size_80"
+            android:padding="@dimen/content_padding_3"
+            android:text="取消任务"
             android:textColor="@color/white"
             android:textSize="@dimen/text_size_12"
-            android:gravity="center"
-            android:layout_marginBottom="13dp"
-            android:padding="@dimen/content_padding_3"
-            android:background="@drawable/sp_bg_gradient_rectangle_blue"
-            android:visibility="gone"/>
+            android:visibility="gone" />
     </LinearLayout>
 
     <android.support.constraint.ConstraintLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:clipChildren="false">
 
         <TextView
             android:id="@+id/task_type_tv"
+            style="@style/style_button_find"
             android:text="取消任务"
-            app:layout_constraintTop_toTopOf="parent"
+            android:visibility="invisible"
             app:layout_constraintEnd_toEndOf="parent"
-            style="@style/style_button_find"
-            android:visibility="invisible"/>
+            app:layout_constraintTop_toTopOf="parent" />
 
         <RelativeLayout
             android:id="@+id/icon_layout"
             android:layout_width="@dimen/view_size_65"
             android:layout_height="@dimen/view_size_65"
-            app:layout_constraintTop_toTopOf="parent"
+            android:background="@drawable/sp_bg_transparent_radius_transparent"
             app:layout_constraintBottom_toBottomOf="parent"
-            android:background="@drawable/sp_bg_transparent_radius_transparent">
+            app:layout_constraintTop_toTopOf="parent">
+
             <ImageView
                 android:id="@+id/item_icon_iv"
                 android:layout_width="@dimen/view_size_65"
                 android:layout_height="@dimen/view_size_65"
-                android:src="@drawable/icon_lj"/>
+                android:layout_alignParentBottom="true"
+                android:src="@drawable/icon_lj" />
+
             <TextView
                 android:id="@+id/end_of_time_tv"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_alignParentBottom="true"
-                android:background="#66FFFFFF"
+                android:layout_marginBottom="-4dp"
+                android:layout_marginEnd="@dimen/content_padding_4"
+                android:layout_marginStart="@dimen/content_padding_4"
+                android:background="@drawable/shape_ash_stroke_white_solid_rectangle"
                 android:gravity="center"
                 android:lines="1"
-                android:visibility="gone"/>
+                android:textColor="#989898"
+                android:textSize="12sp"
+                android:visibility="gone" />
         </RelativeLayout>
+
         <TextView
             android:id="@+id/item_money"
-            android:layout_width="wrap_content"
+            android:layout_width="@dimen/find_bt_with"
             android:layout_height="wrap_content"
+            android:gravity="center"
             android:text=""
-            android:textSize="20dp"
             android:textColor="@color/txt_red"
-            android:layout_marginBottom="@dimen/content_padding_3"
-            app:layout_constraintTop_toBottomOf="@+id/item_anem_tv"
-            app:layout_constraintBottom_toTopOf="@+id/item_anem_tv"
-            app:layout_constraintEnd_toEndOf="parent"/>
+            android:textSize="20dp"
+            app:layout_constraintBottom_toBottomOf="@+id/item_name_tv"
+            app:layout_constraintEnd_toEndOf="parent" />
+
         <TextView
-            android:id="@+id/item_anem_tv"
+            android:id="@+id/item_name_tv"
+            android:textSize="14sp"
+            android:textColor="#444444"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
-            android:text=""
-            android:lines="2"
-            android:gravity="start"
+            android:layout_marginStart="15dp"
             android:ellipsize="middle"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintStart_toEndOf="@+id/icon_layout"
+            android:gravity="start"
+            android:lines="2"
+            android:text=""
             app:layout_constraintRight_toLeftOf="@+id/task_type_tv"
-            android:layout_marginStart="15dp"
-            style="@style/txt_style_15"/>
+            app:layout_constraintStart_toEndOf="@+id/icon_layout"
+            app:layout_constraintTop_toTopOf="parent" />
+
         <TextView
             android:id="@+id/item_num_tv"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text=""
-            app:layout_constraintTop_toBottomOf="@+id/item_anem_tv"
-            app:layout_constraintStart_toStartOf="@+id/item_anem_tv"
-            android:layout_marginBottom="@dimen/content_padding_2"
-            android:textSize="@dimen/text_size_2"
-            android:textColor="@color/txt_black_8e8e8e"/>
+            android:textColor="#cc8e8e8e"
+            android:textSize="10sp"
+            app:layout_constraintStart_toStartOf="@+id/item_name_tv"
+            app:layout_constraintTop_toBottomOf="@+id/item_name_tv" />
+
+        <TextView
+            android:id="@+id/item_num_tv1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/content_padding"
+            android:text=""
+            android:textColor="#cc8e8e8e"
+            android:textSize="10sp"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="@+id/item_num_tv"
+            app:layout_constraintStart_toEndOf="@+id/item_num_tv"
+            app:layout_constraintTop_toTopOf="@+id/item_num_tv" />
+
         <LinearLayout
             android:id="@+id/item_date_layout"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
+            android:layout_marginEnd="@dimen/content_padding_8"
+            android:layout_marginTop="@dimen/content_padding_2"
             android:orientation="horizontal"
-            app:layout_constraintTop_toBottomOf="@+id/item_num_tv"
-            app:layout_constraintStart_toEndOf="@+id/icon_layout"
-            app:layout_constraintEnd_toStartOf="@+id/detail_task_layout"
-            app:layout_constraintStart_toStartOf="@+id/item_anem_tv"
             app:layout_constraintBottom_toBottomOf="parent"
-            android:layout_marginRight="@dimen/content_padding_8">
+            app:layout_constraintEnd_toStartOf="@+id/detail_task_layout"
+            app:layout_constraintStart_toEndOf="@+id/icon_layout"
+            app:layout_constraintStart_toStartOf="@+id/item_name_tv"
+            app:layout_constraintTop_toBottomOf="@+id/item_num_tv">
 
             <TextView
                 android:id="@+id/item_date_tv"
                 android:layout_width="0dp"
-                android:layout_weight="1"
                 android:layout_height="wrap_content"
-                android:text=""
+                android:layout_weight="1"
                 android:lines="1"
-                android:textColor="@color/txt_black_8e8e8e"
-                android:textSize="@dimen/text_size_2" />
+                android:text=""
+                android:textColor="#cc8e8e8e"
+                android:textSize="10sp" />
 
             <ImageView
                 android:id="@+id/item_date_question_img"
                 android:layout_width="15dp"
                 android:layout_height="15dp"
-                app:layout_constraintStart_toEndOf="@+id/item_date_tv"
-                app:layout_constraintEnd_toEndOf="parent"
                 android:src="@mipmap/task_game_qustion_icon"
-                android:visibility="gone"/>
+                android:visibility="gone"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/item_date_tv" />
         </LinearLayout>
+
         <RelativeLayout
             android:id="@+id/detail_task_layout"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent">
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent">
+
             <TextView
                 android:id="@+id/detail_task_tv"
-                android:text="取消任务"
+                style="@style/style_button_find"
                 android:layout_marginTop="@dimen/content_padding_small"
-                style="@style/style_button_find"/>
+                android:text="取消任务" />
+
             <TextView
                 android:id="@+id/detail_task_tv_down"
-                android:text="取消任务"
-                android:layout_marginTop="@dimen/content_padding_small"
                 style="@style/style_button_find"
-                android:visibility="gone"/>
+                android:layout_marginTop="@dimen/content_padding_small"
+                android:text="取消任务"
+                android:visibility="gone" />
 
         </RelativeLayout>
+
         <TextView
             android:id="@+id/detail_task_tv_center"
+            style="@style/style_button_find"
+            android:layout_centerInParent="true"
             android:text="取消任务"
-            app:layout_constraintTop_toTopOf="parent"
+            android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
-            style="@style/style_button_find"
-            android:layout_centerInParent="true"
-            android:visibility="gone"/>
+            app:layout_constraintTop_toTopOf="parent" />
     </android.support.constraint.ConstraintLayout>
 
     <TextView
@@ -180,15 +211,16 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:background="@drawable/sp_rectangle_bg_gray_radius"
-        android:textSize="@dimen/text_size_10"
-        android:textColor="@color/txt_black_8e8e8e"
-        android:text="若1小时35分22秒后任务未完成,该任务自动取消,您可以重新接受该任务"
         android:padding="@dimen/content_padding_small"
-        android:visibility="gone"/>
+        android:text="若1小时35分22秒后任务未完成,该任务自动取消,您可以重新接受该任务"
+        android:textColor="@color/txt_black_8e8e8e"
+        android:textSize="@dimen/text_size_10"
+        android:visibility="gone" />
+
     <TextView
         android:id="@+id/line_tv"
         android:layout_width="match_parent"
         android:layout_height="0.5dp"
-        android:background="@color/white_bg_line"
-        android:layout_marginTop="@dimen/content_padding_20"/>
+        android:layout_marginTop="@dimen/content_padding_20"
+        android:background="@color/white_bg_line" />
 </LinearLayout>

+ 0 - 222
app/src/main/res/layout/x_account_security_layout.xml

@@ -1,222 +0,0 @@
-<?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/white_light"
-    >
-    <include
-        layout="@layout/title"/>
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-        android:layout_margin="10dp"
-        android:id="@+id/rl_top"
-        >
-
-        <ImageView
-            android:id="@+id/iv_head"
-            android:layout_width="45dp"
-            android:layout_height="45dp"
-            android:layout_alignParentLeft="true"
-            android:layout_centerVertical="true"
-            android:src="@drawable/icon"/>
-        <TextView
-            android:id="@+id/tv_name"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_toRightOf="@id/iv_head"
-            style="@style/txt_style_15_black"
-            android:layout_marginTop="5dp"
-            android:layout_marginLeft="5dp"
-            />
-        <TextView
-            android:id="@+id/tv_link_content"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text=""
-            android:layout_toRightOf="@id/iv_head"
-            android:layout_below="@id/tv_name"
-            android:layout_marginTop="3dp"
-            android:layout_marginLeft="5dp"
-            style="@style/txt_style_12"
-            />
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            style="@style/hint_txt_style"
-            android:layout_centerVertical="true"
-            android:layout_alignParentRight="true"
-            android:drawableRight="@mipmap/x_ic_next"
-            android:drawablePadding="10dp"
-            android:id="@+id/tv_more"
-            />
-
-    </RelativeLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-        android:layout_marginLeft="10dp"
-        android:layout_marginRight="10dp"
-        android:layout_marginBottom="10dp"
-        >
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:padding="15dp"
-            android:id="@+id/rl_phone"
-            >
-            <ImageView
-                android:id="@+id/iv_phone"
-                android:layout_width="40dp"
-                android:layout_height="wrap_content"
-                android:background="@null"
-                android:src="@mipmap/x_ic_phone"
-                android:layout_alignParentLeft="true"
-                android:layout_centerVertical="true"
-                />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/phone"
-                android:layout_toRightOf="@id/iv_phone"
-                style="@style/txt_style_15"
-                android:layout_marginLeft="5dp"
-                android:layout_centerVertical="true"
-                />
-
-
-            <TextView
-                android:id="@+id/tv_phone"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                style="@style/hint_txt_style"
-                android:layout_marginLeft="5dp"
-                android:layout_centerVertical="true"
-                android:layout_alignParentRight="true"
-                android:drawableRight="@mipmap/x_ic_next"
-                android:drawablePadding="10dp"
-                />
-        </RelativeLayout>
-
-
-
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/white_bg_line"
-            android:layout_marginLeft="15dp"
-            android:layout_marginRight="15dp"
-            />
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/rl_wx"
-            android:padding="15dp"
-            >
-            <ImageView
-                android:id="@+id/iv_wx"
-                android:layout_width="40dp"
-                android:layout_height="wrap_content"
-                android:background="@null"
-                android:src="@mipmap/x_ic_weixin"
-                android:layout_alignParentLeft="true"
-                android:layout_centerVertical="true"
-                />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/bind_wx"
-                android:layout_toRightOf="@id/iv_wx"
-                style="@style/txt_style_15"
-                android:layout_marginLeft="5dp"
-                android:layout_centerVertical="true"
-                />
-
-
-            <TextView
-                android:id="@+id/tv_wx"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                style="@style/hint_txt_style"
-                android:layout_centerVertical="true"
-                android:layout_alignParentRight="true"
-                android:drawableRight="@mipmap/x_ic_next"
-                android:drawablePadding="10dp"
-                />
-        </RelativeLayout>
-
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/white_bg_line"
-            android:layout_marginLeft="15dp"
-            android:layout_marginRight="15dp"
-            />
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:id="@+id/rl_auther"
-            android:padding="15dp"
-            >
-            <ImageView
-                android:id="@+id/iv_auther"
-                android:layout_width="40dp"
-                android:layout_height="wrap_content"
-                android:background="@null"
-                android:src="@mipmap/x_ic_id_card"
-                android:layout_alignParentLeft="true"
-                android:layout_centerVertical="true"
-                />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/auther"
-                android:layout_toRightOf="@id/iv_auther"
-                style="@style/txt_style_15"
-                android:layout_marginLeft="5dp"
-                android:layout_centerVertical="true"
-                />
-
-
-            <TextView
-                android:id="@+id/tv_auther"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="未认证"
-                style="@style/hint_txt_style"
-                android:layout_marginLeft="5dp"
-                android:layout_centerVertical="true"
-                android:layout_alignParentRight="true"
-                android:drawableRight="@mipmap/x_ic_next"
-                android:drawablePadding="10dp"
-                />
-        </RelativeLayout>
-
-
-
-
-
-    </LinearLayout>
-
-
-    <TextView
-        android:id="@+id/tv_submit"
-        android:text="退出登录"
-        style="@style/style_button"/>
-</LinearLayout>

+ 2 - 1
app/src/main/res/layout/x_item_view.xml

@@ -23,7 +23,8 @@
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="内容"
-    style="@style/txt_style_12"
+    android:textSize="@dimen/text_size_12"
+    android:textColor="#7F7F7F"
     android:padding="5dp"
     android:gravity="center_vertical"
     android:ellipsize="marquee"

+ 113 - 134
app/src/main/res/layout/xpersion_info_act_layout.xml

@@ -7,179 +7,92 @@
 
     <include layout="@layout/title" />
 
-    <RelativeLayout
-        android:id="@+id/rl_head"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="10dp"
-        android:layout_marginEnd="@dimen/content_padding_15"
-        android:layout_marginStart="@dimen/content_padding_13"
-        android:layout_marginTop="10dp"
-        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-        android:padding="15dp">
-
-        <TextView
-            android:id="@+id/tv_name"
-            style="@style/txt_style_15_black"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentLeft="true"
-            android:layout_centerVertical="true"
-            android:text="@string/header" />
-
-
-        <TextView
-            android:id="@+id/tv_more"
-            style="@style/hint_txt_style"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentRight="true"
-            android:layout_centerVertical="true"
-            android:drawablePadding="10dp"
-            android:drawableRight="@mipmap/x_ic_next" />
-
-        <ImageView
-            android:id="@+id/iv_head_right"
-            android:layout_width="30dp"
-            android:layout_height="30dp"
-            android:layout_centerVertical="true"
-            android:layout_toLeftOf="@id/tv_more"
-            android:background="@null"
-            android:scaleType="centerInside"
-            android:src="@mipmap/x_ic_def_head"
-
-
-            />
-
-    </RelativeLayout>
 
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginEnd="@dimen/content_padding_15"
-        android:layout_marginStart="@dimen/content_padding_13"
+        android:layout_marginBottom="@dimen/content_padding_15"
+        android:layout_marginEnd="@dimen/content_padding"
+        android:layout_marginStart="@dimen/content_padding"
+        android:layout_marginTop="@dimen/content_padding"
         android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
         android:orientation="vertical">
 
-        <RelativeLayout
-            android:id="@+id/layout_more1"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:padding="15dp">
+        <LinearLayout
+            android:id="@+id/personal_info_avatar_container"
+            style="@style/style_item_container">
 
             <TextView
-                style="@style/txt_style_15_black"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentLeft="true"
-                android:layout_centerVertical="true"
-                android:text="@string/niker" />
+                style="@style/style_item_label"
+                android:text="@string/header" />
 
 
-            <TextView
-                android:id="@+id/tv_more1"
-                style="@style/hint_txt_style"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentRight="true"
-                android:layout_centerVertical="true"
-                android:drawablePadding="10dp"
-                android:drawableRight="@mipmap/x_ic_next" />
-
-            <TextView
-                android:id="@+id/tv_nike"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerVertical="true"
-                android:layout_toLeftOf="@id/tv_more1"
-                android:background="@null"
-                android:src="@mipmap/icon"
+            <ImageView
+                android:id="@+id/personal_info_avatar"
+                android:layout_width="33dp"
+                android:layout_height="33dp"
+                android:src="@mipmap/icon" />
 
-                />
+            <TextView style="@style/style_item_end_next" />
 
-        </RelativeLayout>
 
+        </LinearLayout>
 
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/white_bg_line"
+        <View style="@style/style_item_line" />
 
-            />
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:padding="15dp">
+        <LinearLayout
+            android:id="@+id/personal_info_name_container"
+            style="@style/style_item_container">
 
             <TextView
-                style="@style/txt_style_15_black"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentLeft="true"
-                android:layout_centerVertical="true"
-                android:text="@string/sheep_id" />
+                style="@style/style_item_label"
+                android:text="@string/niker" />
 
 
             <TextView
-                android:id="@+id/tv_sheep_id"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentEnd="true"
-                android:layout_centerVertical="true"
-                android:textCursorDrawable="@null"
-                android:textIsSelectable="true" />
+                android:id="@+id/personal_info_name"
+                style="@style/style_item_end_next" />
 
-        </RelativeLayout>
+        </LinearLayout>
 
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/white_bg_line"
+        <View style="@style/style_item_line" />
 
-            />
+        <LinearLayout style="@style/style_item_container">
+
+            <TextView
+                style="@style/style_item_label"
+                android:text="@string/sheep_id" />
 
-        <RelativeLayout
-            android:id="@+id/rl_qr"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:padding="15dp">
 
             <TextView
-                style="@style/txt_style_15_black"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentLeft="true"
-                android:layout_centerVertical="true"
-                android:text="@string/my_qr" />
+                android:id="@+id/personal_info_code"
+                style="@style/style_item_end" />
+
+        </LinearLayout>
 
+        <View style="@style/style_item_line" />
+
+        <LinearLayout
+            android:id="@+id/personal_info_qr_container"
+            style="@style/style_item_container">
 
             <TextView
-                android:id="@+id/tv_more3"
-                style="@style/hint_txt_style"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentRight="true"
-                android:layout_centerVertical="true"
-                android:drawablePadding="10dp"
-                android:drawableRight="@mipmap/x_ic_next" />
+                style="@style/style_item_label"
+                android:text="@string/my_qr" />
 
             <RelativeLayout
                 android:layout_width="30dp"
-                android:layout_height="30dp"
-                android:layout_centerVertical="true"
-                android:layout_toLeftOf="@id/tv_more3">
+                android:layout_height="30dp">
 
                 <ImageView
-                    android:id="@+id/tv_qr"
-                    android:layout_width="30dp"
-                    android:layout_height="30dp"
+                    android:id="@+id/personal_info_qr"
+                    android:layout_width="25dp"
+                    android:layout_height="25dp"
                     android:layout_centerInParent="true"
                     android:background="@null"
                     android:src="@mipmap/icon" />
 
                 <ImageView
-                    android:id="@+id/tv_qr_small"
                     android:layout_width="5dp"
                     android:layout_height="5dp"
                     android:layout_centerInParent="true"
@@ -187,6 +100,72 @@
                     android:src="@mipmap/icon" />
 
             </RelativeLayout>
-        </RelativeLayout>
+
+            <TextView style="@style/style_item_end_next" />
+
+        </LinearLayout>
     </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/content_padding_15"
+        android:layout_marginEnd="@dimen/content_padding"
+        android:layout_marginStart="@dimen/content_padding"
+        android:layout_marginTop="@dimen/content_padding"
+        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:id="@+id/personal_info_phone_container"
+            style="@style/style_item_container">
+
+            <TextView
+                style="@style/style_item_label"
+                android:text="@string/phone" />
+
+
+            <TextView
+                android:id="@+id/personal_info_phone"
+                style="@style/style_item_end_next" />
+        </LinearLayout>
+
+
+        <View style="@style/style_item_line" />
+
+        <LinearLayout
+            android:id="@+id/personal_info_wx_container"
+            style="@style/style_item_container">
+
+            <TextView
+                style="@style/style_item_label"
+                android:text="@string/bind_wx" />
+
+
+            <TextView
+                android:id="@+id/personal_info_wx"
+                style="@style/style_item_end_next" />
+        </LinearLayout>
+
+
+        <View style="@style/style_item_line" />
+
+        <LinearLayout
+            android:id="@+id/personal_info_authentication_container"
+            style="@style/style_item_container">
+
+            <TextView
+                style="@style/style_item_label"
+                android:text="@string/auther" />
+
+
+            <TextView
+                android:id="@+id/personal_info_authentication"
+                style="@style/style_item_end_next"
+                android:text="未认证" />
+        </LinearLayout>
+
+
+    </LinearLayout>
+
 </LinearLayout>

BIN
app/src/main/res/mipmap-xhdpi/personalc_ic_about_us.webp


BIN
app/src/main/res/mipmap-xhdpi/personalc_ic_clear.webp


BIN
app/src/main/res/mipmap-xhdpi/personalc_ic_version.webp


BIN
app/src/main/res/mipmap-xhdpi/x_ic_def_head.webp


BIN
app/src/main/res/mipmap-xhdpi/x_ic_id_card.webp


BIN
app/src/main/res/mipmap-xhdpi/x_ic_phone.webp


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


BIN
app/src/main/res/mipmap-xxhdpi/x_ic_def_head.webp


BIN
app/src/main/res/mipmap-xxhdpi/x_ic_id_card.webp


BIN
app/src/main/res/mipmap-xxhdpi/x_ic_phone.webp


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

@@ -23,6 +23,7 @@
         <item name="android:layout_margin">@dimen/dp_10</item>
         <item name="android:textSize">@dimen/text_size_15</item>
     </style>
+
     <style name="style_button_find">
         <item name="android:layout_width">@dimen/find_bt_with</item>
         <item name="android:layout_height">wrap_content</item>
@@ -33,6 +34,7 @@
         <item name="android:textColor">@color/btn_color_main</item>
         <item name="android:textSize">@dimen/text_size_12</item>
     </style>
+
     <style name="style_button_find2">
         <item name="android:layout_width">@dimen/find_bt_with</item>
         <item name="android:layout_height">wrap_content</item>
@@ -43,6 +45,7 @@
         <item name="android:textColor">@color/selector_color_main_tab2</item>
         <item name="android:textSize">@dimen/text_size_12</item>
     </style>
+
     <style name="style_button_show" parent="button">
         <item name="android:layout_width">0dp</item>
         <item name="android:layout_height">30dp</item>
@@ -51,6 +54,7 @@
         <item name="android:textColor">@color/btn_color_main</item>
         <item name="android:textSize">@dimen/text_size_2</item>
     </style>
+
     <style name="style_button_show_1" parent="button">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">30dp</item>
@@ -60,6 +64,7 @@
         <item name="android:layout_margin">@dimen/content_padding_small</item>
         <item name="android:textSize">@dimen/text_size_2</item>
     </style>
+
     <style name="style_button_show_gray" parent="button">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">30dp</item>
@@ -94,6 +99,7 @@
         <item name="android:layout_margin">@dimen/dp_10</item>
         <item name="android:textSize">@dimen/text_size_13</item>
     </style>
+
     <style name="style_button_stroke2">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
@@ -179,6 +185,7 @@
         <item name="android:maxHeight">16dip</item>
         <item name="android:layout_height">10dip</item>
     </style>
+
     <style name="style_rating_bar" parent="@android:style/Widget.RatingBar">
         <item name="android:progressDrawable">@drawable/lay_list_ratingbar</item>
         <item name="android:layout_height">18dip</item>
@@ -226,6 +233,7 @@
         <item name="android:gravity">center</item>
         <item name="android:background">@drawable/sp_bg_rectangle_ash</item>
     </style>
+
     <style name="style_ash_num">
         <item name="android:layout_width">15dp</item>
         <item name="android:layout_height">15dp</item>
@@ -234,6 +242,7 @@
         <item name="android:gravity">center</item>
         <item name="android:background">@drawable/sp_bg_gray_circle_stroke</item>
     </style>
+
     <style name="style_ash_num_white">
         <item name="android:layout_width">15dp</item>
         <item name="android:layout_height">15dp</item>
@@ -242,10 +251,12 @@
         <item name="android:gravity">center</item>
         <item name="android:background">@drawable/sp_bg_white_circle_stroke</item>
     </style>
+
     <style name="style_ash_img">
         <item name="android:layout_width">15dp</item>
         <item name="android:layout_height">15dp</item>
     </style>
+
     <style name="style_ash_line_tv">
         <item name="android:layout_width">18dp</item>
         <item name="android:layout_height">1dp</item>
@@ -306,8 +317,59 @@
         <item name="android:layout_marginEnd">@dimen/content_padding_20</item>
         <item name="android:background">#DFDFDF</item>
     </style>
+
     <style name="SheepTabLayoutTextAppearance" parent="@android:style/TextAppearance.Holo.Large">
         <item name="android:textSize">15sp</item>
         <item name="android:textColor">#444444</item>
     </style>
+
+    <style name="style_item_container">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:gravity">center</item>
+        <item name="android:orientation">horizontal</item>
+        <item name="android:paddingBottom">@dimen/content_padding_16</item>
+        <item name="android:paddingEnd">@dimen/content_padding_30</item>
+        <item name="android:paddingStart">@dimen/content_padding_8</item>
+        <item name="android:paddingTop">@dimen/content_padding_16</item>
+    </style>
+
+    <style name="style_item_img">
+        <item name="android:layout_marginStart">7dp</item>
+        <item name="android:layout_width">@dimen/content_padding_20</item>
+        <item name="android:layout_height">@dimen/content_padding_20</item>
+    </style>
+
+    <style name="style_item_label_parent">
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:textColor">@color/black_444444</item>
+        <item name="android:paddingStart">@dimen/content_padding</item>
+        <item name="android:textSize">14sp</item>
+    </style>
+
+    <style name="style_item_label" parent="style_item_label_parent">
+        <item name="android:layout_width">0dp</item>
+        <item name="android:layout_weight">1</item>
+    </style>
+
+    <style name="style_item_line">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">1px</item>
+        <item name="android:layout_marginEnd">@dimen/content_padding</item>
+        <item name="android:layout_marginStart">@dimen/content_padding</item>
+        <item name="android:background">@color/white_bg_line</item>
+    </style>
+
+    <style name="style_item_end">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:gravity">end</item>
+        <item name="android:textColor">#646464</item>
+        <item name="android:textSize">14sp</item>
+    </style>
+
+    <style name="style_item_end_next" parent="style_item_end">
+        <item name="android:drawableEnd">@mipmap/x_ic_next</item>
+        <item name="android:drawablePadding">7dp</item>
+    </style>
 </resources>