hanjing 7 gadi atpakaļ
vecāks
revīzija
19f2374604
30 mainītis faili ar 701 papildinājumiem un 184 dzēšanām
  1. 30 0
      app/src/main/java/com/sheep/gamegroup/module/home/adapter/AdpNotificationOfArrival.java
  2. 79 9
      app/src/main/java/com/sheep/gamegroup/module/user/activity/ActVip.java
  3. 20 2
      app/src/main/java/com/sheep/gamegroup/module/user/model/BuyVipReq.java
  4. 6 6
      app/src/main/java/com/sheep/gamegroup/module/user/model/TempUserResp.java
  5. 2 10
      app/src/main/java/com/sheep/gamegroup/util/ApiJSONUtil.java
  6. 1 1
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  7. 7 0
      app/src/main/java/com/sheep/gamegroup/util/StringUtils.java
  8. 10 1
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  9. 173 0
      app/src/main/java/com/sheep/gamegroup/util/TextToSpeechUtil.java
  10. 2 2
      app/src/main/java/com/sheep/gamegroup/util/js/KFZSJs.java
  11. 9 13
      app/src/main/java/com/sheep/gamegroup/view/activity/ActSearchAppOrTask.java
  12. 10 1
      app/src/main/java/com/sheep/gamegroup/view/activity/ActWebX5.java
  13. 17 2
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java
  14. 1 1
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAddQQAct.java
  15. 1 1
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailCreditCardAct.java
  16. 15 8
      app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment3.java
  17. 1 1
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java
  18. 24 0
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java
  19. 3 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/Config.java
  20. 3 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java
  21. 8 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/utils/G.java
  22. 8 0
      app/src/main/res/drawable/shape_e6c38f_solid_rectangle_8.xml
  23. 8 0
      app/src/main/res/drawable/shape_white80_solid_rectangle_14.xml
  24. 8 2
      app/src/main/res/layout/homepage_act_layout.xml
  25. 26 0
      app/src/main/res/layout/item_notification_of_arrival.xml
  26. 212 111
      app/src/main/res/layout/task_detail_layout.xml
  27. 10 13
      app/src/main/res/layout/try_makemoney_item_recommend.xml
  28. BIN
      app/src/main/res/mipmap-xxhdpi/ic_yuan_bao.webp
  29. 1 0
      app/src/main/res/values/str_network_strings.xml
  30. 6 0
      app/src/main/res/values/strings.xml

+ 30 - 0
app/src/main/java/com/sheep/gamegroup/module/home/adapter/AdpNotificationOfArrival.java

@@ -0,0 +1,30 @@
+package com.sheep.gamegroup.module.home.adapter;
+
+import android.support.annotation.Nullable;
+import android.widget.TextView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.sheep.gamegroup.model.entity.SystemNotification;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by realicing on 2018/12/25.
+ * realicing@sina.com
+ *
+ * 用户入账通知
+ */
+public class AdpNotificationOfArrival extends BaseQuickAdapter<SystemNotification, BaseViewHolder> {
+    public AdpNotificationOfArrival(@Nullable List<SystemNotification> data) {
+        super(R.layout.item_notification_of_arrival, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, SystemNotification item) {
+        TextView item_noa_tv = helper.getView(R.id.item_noa_tv);
+        ViewUtil.setText(item_noa_tv, item.getContent());
+    }
+}

+ 79 - 9
app/src/main/java/com/sheep/gamegroup/module/user/activity/ActVip.java

@@ -4,19 +4,31 @@ import android.content.Context;
 import android.support.v4.content.ContextCompat;
 import android.support.v7.widget.GridLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
 import android.view.View;
-import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
+import com.sheep.gamegroup.absBase.AbsObserver;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.module.user.model.BuyVipReq;
+import com.sheep.gamegroup.module.user.model.TempUserResp;
+import com.sheep.gamegroup.util.ApiJSONUtil;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.LogUtil;
+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 java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 
 import butterknife.BindView;
 
@@ -37,7 +49,17 @@ public class ActVip extends BaseActivity {
     private List<BuyVipReq> list = new ArrayList<>();
     @Override
     public void initView() {
-        recyclerView.setLayoutManager(new GridLayoutManager(getApplicationContext(), 2));
+        TitleBarUtils.getInstance()
+                .setShowOrHide(this, true)
+                .setTitleFinish(this)
+                .setTitle(this, "VIP");
+        list.add(new BuyVipReq().setPay_name("支付宝").setPay_type(BuyVipReq.PAY_TYPE_ALIPAY));
+//        list.add(new BuyVipReq().setPay_name("微信").setPay_type(BuyVipReq.PAY_TYPE_WX));
+    }
+
+    @Override
+    public void initListener() {
+        recyclerView.setLayoutManager(new GridLayoutManager(getApplicationContext(), list.size()));
         BaseQuickAdapter<BuyVipReq, BaseViewHolder> adapter = new BaseQuickAdapter<BuyVipReq, BaseViewHolder>(R.layout.rechargeprice_gridview_item, list) {
             @Override
             protected void convert(BaseViewHolder helper, BuyVipReq item) {
@@ -46,6 +68,7 @@ public class ActVip extends BaseActivity {
                 Context context = SheepApp.getInstance();
                 TextView item_tv_y = convertView.findViewById(R.id.item_tv_y);
 
+                ViewUtil.setText(item_tv_y, item.getPay_name());
                 if (position == curPosition){
                     convertView.setBackground(context.getResources().getDrawable(R.drawable.layer_list_check_rectgangle_small));
                     item_tv_y.setTextColor(ContextCompat.getColor(context,R.color.main_tab_activated));
@@ -56,19 +79,66 @@ public class ActVip extends BaseActivity {
             }
         };
         adapter.bindToRecyclerView(recyclerView);
-        adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
-            @Override
-            public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
-                if(curPosition != position){
-                    curPosition = position;
-                    adapter.notifyDataSetChanged();
-                }
+        adapter.setOnItemClickListener((adapter1, view, position) -> {
+            if(curPosition != position){
+                curPosition = position;
+                adapter1.notifyDataSetChanged();
             }
         });
     }
+
     private int curPosition = 0;
 
     public void onClickPay(View view) {
+        BuyVipReq item = ListUtil.getItem(list, curPosition);
+        if(item != null){
+            ApiJSONUtil.postBuyVip(1, item.getPay_type())
+                    .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                        @Override
+                        public void onError(BaseMessage baseMessage) {
+                            G.showToast(baseMessage);
+                        }
+
+                        @Override
+                        public void onNext(BaseMessage baseMessage) {
+                            TempUserResp result = baseMessage.getData(TempUserResp.class);
+                            if(result != null && !TextUtils.isEmpty(result.getPay_url())) {
+                                switch (item.getPay_type()){
+                                    case BuyVipReq.PAY_TYPE_ALIPAY:
+                                        CommonUtil.getInstance().alipay(ActVip.this, result.getPay_url(), true, new AbsObserver<String>() {
+                                            @Override
+                                            public void onNext(String result) {
+                                                switch (result){
+                                                    case "9000":
+                                                        G.showToast(R.string.pay_success);
+                                                        break;
+                                                    case "6001":
+                                                        G.showToast(R.string.you_had_cancel_pay);
+                                                        break;
+                                                    default:
+                                                        G.showToast(R.string.pay_fail);
+                                                        break;
+                                                }
+                                                LogUtil.println(ActVip.class.getSimpleName(), String.format(Locale.CHINA, "alipay onNext('%s')", result));
+                                            }
+
+                                            @Override
+                                            public void onError(Throwable e) {
+                                                G.showToast(e);
+                                                LogUtil.println(ActVip.class.getSimpleName(), String.format(Locale.CHINA, "alipay onError('%s')", e.getMessage()));
+                                            }
+                                        });
+                                        break;
+                                    case BuyVipReq.PAY_TYPE_WX:
+                                        G.showToast(R.string.coming_soon);
+                                        break;
+                                }
+                            } else {
+                                G.showToast(R.string.please_contact_customer_service);
+                            }
+                        }
+                    });
+        }
 
     }
 }

+ 20 - 2
app/src/main/java/com/sheep/gamegroup/module/user/model/BuyVipReq.java

@@ -1,5 +1,10 @@
 package com.sheep.gamegroup.module.user.model;
 
+import android.support.annotation.IntDef;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
  * Created by realicing on 2018/12/25.
  * realicing@sina.com
@@ -27,15 +32,28 @@ public class BuyVipReq {
         return pay_type;
     }
 
-    public void setPay_type(int pay_type) {
+    public BuyVipReq setPay_type(int pay_type) {
         this.pay_type = pay_type;
+        return this;
     }
 
     public String getPay_name() {
         return pay_name;
     }
 
-    public void setPay_name(String pay_name) {
+    public BuyVipReq setPay_name(String pay_name) {
         this.pay_name = pay_name;
+        return this;
+    }
+
+
+
+
+    public static final int PAY_TYPE_ALIPAY = 1;//支付方式 1:支付宝
+    public static final int PAY_TYPE_WX = 2;//支付方式 2:微信
+
+    @IntDef({PAY_TYPE_ALIPAY, PAY_TYPE_WX})
+    @Retention(RetentionPolicy.SOURCE)
+    public  @interface PAY_TYPE {
     }
 }

+ 6 - 6
app/src/main/java/com/sheep/gamegroup/module/user/model/TempUserResp.java

@@ -5,16 +5,16 @@ package com.sheep.gamegroup.module.user.model;
  * realicing@sina.com
  * 用户充值vip结果
  *
- * token:	string 临时用户token
+ * pay_url:	string payinfo
  */
 public class TempUserResp {
-    private String token;// 临时用户token
+    private String pay_url;
 
-    public String getToken() {
-        return token;
+    public String getPay_url() {
+        return pay_url;
     }
 
-    public void setToken(String token) {
-        this.token = token;
+    public void setPay_url(String pay_url) {
+        this.pay_url = pay_url;
     }
 }

+ 2 - 10
app/src/main/java/com/sheep/gamegroup/util/ApiJSONUtil.java

@@ -5,6 +5,7 @@ import android.support.annotation.IntDef;
 
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.module.user.model.BuyVipReq;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import java.lang.annotation.Retention;
@@ -85,15 +86,6 @@ public class ApiJSONUtil {
 
     }
 
-
-    public static final int PAY_TYPE_ALIPAY = 1;//支付方式 1:支付宝
-    public static final int PAY_TYPE_WX = 2;//支付方式 2:微信
-
-//    @IntDef({PAY_TYPE_ALIPAY, PAY_TYPE_WX})
-//    @Retention(RetentionPolicy.SOURCE)
-//    public  @interface PAY_TYPE {
-//    }
-
     /**
      * 用户充值vip
      * <p>
@@ -103,7 +95,7 @@ public class ApiJSONUtil {
      * @param level:    integer ($int32) 1:VIP
      * @param pay_type: integer ($int32) 支付方式 1:支付宝 2:微信
      */
-    public static Observable<BaseMessage> postBuyVip(int level, float pay_type) {
+    public static Observable<BaseMessage> postBuyVip(int level, @BuyVipReq.PAY_TYPE  int pay_type) {
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("level", level);
         jsonObject.put("pay_type", pay_type);

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

@@ -2527,6 +2527,6 @@ public class Jump2View {
      * @param activity
      */
     public void gotoYfShop(Activity activity) {
-        goWeb(activity, Config.YF_SHOP_HOME, Config.YF_SHOP_NAME);
+        goWeb(activity, Config.YF_SHOP_HOME_SHEEP, Config.YF_SHOP_NAME);
     }
 }

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

@@ -3,6 +3,7 @@ package com.sheep.gamegroup.util;
 import android.content.ClipData;
 import android.content.ClipboardManager;
 import android.content.Context;
+import android.net.Uri;
 import android.text.TextUtils;
 
 import com.lqr.emoji.EmotionLayout;
@@ -379,4 +380,10 @@ public class StringUtils {
         }
         return null;
     }
+
+    //获取url中指定参数
+    public static String getQueryParameter(String url, String key) {
+        Uri uri = Uri.parse(url);
+        return uri.getQueryParameter(key);
+    }
 }

+ 10 - 1
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -16,6 +16,7 @@ import android.graphics.Paint;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
+import android.speech.tts.TextToSpeech;
 import android.support.v4.app.NotificationCompat;
 import android.support.v4.app.NotificationManagerCompat;
 import android.support.v7.app.AlertDialog;
@@ -32,6 +33,7 @@ import com.kfzs.cfyl.share_library.util.CallBackAPI;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.kfzs.duanduan.view.DialogStorageLow;
 import com.sheep.gamegroup.absBase.AbsObserver;
+import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.CreditCard;
 import com.sheep.gamegroup.model.entity.DialogConfig;
@@ -257,7 +259,7 @@ public class TestUtil {
      */
     public static void test(final Activity activity) {
         final String[] items = {"复制token", "添加token", "复制打点数据", "从jenkins下载小绵羊安装包", "测试表情包",
-                "游戏搜索", "测试插件","测试bitmap", "剪切视频", "我的关注", "足迹",
+                "朗读文字", "游戏搜索", "测试插件","测试bitmap", "剪切视频", "我的关注", "足迹",
                 "测试联通卡", "测试联通卡2", "测试签名1", "测试签名2", "测试孔剑秋faq正式服",
                 "跳转QQ1", "跳转QQ2", "跳转QQ3", "跳转白白QQ", "龙猫竞猜", "龙猫竞猜-scheme",
                 "有米科技", "手机型号测试", "测试通知栏", "测试自定义通知栏", "测试自定义通知栏2",
@@ -276,6 +278,9 @@ public class TestUtil {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         switch (items[which]) {
+                            case "朗读文字":
+                                testReadText("小绵羊666", 20);
+                                break;
                             case "测试插件":
                                 testPlugin(activity);
                                 break;
@@ -615,6 +620,10 @@ public class TestUtil {
         dialog.show();
     }
 
+    private static void testReadText(String msg, float pitch) {
+       TextToSpeechUtil.get().speakMsg(msg, pitch);
+    }
+
     //测试插件
     private static void testPlugin(Activity activity) {
         SheepPluginUtil.checkAndRunPlugin(activity, Plugin.media)

+ 173 - 0
app/src/main/java/com/sheep/gamegroup/util/TextToSpeechUtil.java

@@ -0,0 +1,173 @@
+package com.sheep.gamegroup.util;
+
+import android.speech.tts.TextToSpeech;
+import android.text.TextUtils;
+
+import com.bumptech.glide.Glide;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.Locale;
+
+/**
+ * Created by realicing on 2018/12/25.
+ * realicing@sina.com
+ * 语音工具类
+ */
+public class TextToSpeechUtil {
+
+    private static TextToSpeechUtil instance;
+    /**
+     * Get the singleton.
+     *
+     * @return the singleton
+     */
+    public static TextToSpeechUtil get() {
+        if (instance == null) {
+            synchronized (Glide.class) {
+                if (instance == null) {
+                    instance = new TextToSpeechUtil();
+                }
+            }
+        }
+
+        return instance;
+    }
+    private TextToSpeech textToSpeech;
+    private TextToSpeech.OnInitListener onInitListener = new TextToSpeech.OnInitListener() {
+        /**
+         * 用来初始化TextToSpeech引擎
+         * status:SUCCESS或ERROR这2个值
+         * setLanguage设置语言,帮助文档里面写了有22种
+         * TextToSpeech.LANG_MISSING_DATA:表示语言的数据丢失。
+         * TextToSpeech.LANG_NOT_SUPPORTED:不支持
+         */
+        @Override
+        public void onInit(int status) {
+            switch (status) {
+                case TextToSpeech.SUCCESS:
+                    int result = textToSpeech.setLanguage(Locale.CHINA);
+                    switch (result) {
+                        case TextToSpeech.LANG_MISSING_DATA:
+                            if (TestUtil.isTest())
+                                G.showToast("语言的数据丢失");
+                            break;
+                        case TextToSpeech.LANG_NOT_SUPPORTED:
+                            if (TestUtil.isTest())
+                                G.showToast("不支持朗读【中文】文本信息");
+                            break;
+                        default:
+                            if(!TextUtils.isEmpty(msg)){//文本不为空,朗读文本
+                                if(pitch != -1){
+                                    speakMsg(msg, pitch);
+                                    pitch = -1;
+                                } else {
+                                    speakMsg(msg);
+                                }
+                                msg = null;
+                            }
+                            break;
+                    }
+                    break;
+                default:
+                    if (TestUtil.isTest())
+                        G.showToast("不支持朗读文本信息");
+                    break;
+            }
+        }
+    };
+    private float pitch = -1;
+    private String msg;
+
+    //初始化
+    private void initTextToSpeech() {
+        if(textToSpeech == null){
+            try {
+                textToSpeech = new TextToSpeech(SheepApp.getInstance(), onInitListener);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    /**
+     * 朗读文本
+     *
+     * @param msg 文本信息
+     */
+    public void speakMsg(String msg) {
+        if(textToSpeech == null) {
+            this.msg = msg;
+            initTextToSpeech();
+        } else if (canSpeakNow()) {
+            try {
+                int result = textToSpeech.speak(msg, TextToSpeech.QUEUE_FLUSH, null);
+                if(TestUtil.isDev())
+                    G.showToast("result = " + result);
+                if(result != 0){
+                    stopAndShutdownTTS();
+                    speakMsg(msg);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                if(TestUtil.isDev())
+                    G.showToast(e);
+            }
+        }
+    }
+
+    /**
+     * 朗读文本
+     *
+     * @param msg   文本信息
+     * @param pitch 音调 值越大声音越尖(女生),值越小则变成男声,1.0是常规
+     */
+    public void speakMsg(String msg, float pitch) {
+        if(textToSpeech == null) {
+            this.pitch = pitch;
+            this.msg = msg;
+            initTextToSpeech();
+        } else if (canSpeakNow()) {
+            try {
+                textToSpeech.setPitch(pitch);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
+                int result = textToSpeech.speak(msg, TextToSpeech.QUEUE_FLUSH, null);
+                if(TestUtil.isDev())
+                    G.showToast("result = " + result);
+                if(result != 0){
+                    stopAndShutdownTTS();
+                    speakMsg(msg, pitch);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                if(TestUtil.isDev())
+                    G.showToast(e);
+            }
+        }
+    }
+
+    /**
+     * 当前可以朗读文本
+     *
+     * @return
+     */
+    public boolean canSpeakNow() {
+        return textToSpeech != null && !textToSpeech.isSpeaking();
+    }
+
+    private void stopAndShutdownTTS() {
+        try {
+            if (textToSpeech != null) {
+                textToSpeech.stop(); // 不管是否正在朗读TTS都被打断
+                textToSpeech.shutdown(); // 关闭,释放资源
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    //释放TTS
+    public static void stopTTS(){
+        if(instance != null){
+            instance.stopAndShutdownTTS();
+        }
+    }
+}

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/util/js/KFZSJs.java

@@ -201,12 +201,12 @@ public class KFZSJs {
         CommonUtil.getInstance().alipay(activity, payInfo, b, new AbsObserver<String>() {
             @Override
             public void onNext(String result) {
-                activity.loadJs(String.format(Locale.CHINA, "onAlipayResult('%s')", result));
+                activity.loadJs(String.format(Locale.CHINA, "alipay onNext('%s')", result));
             }
 
             @Override
             public void onError(Throwable e) {
-                activity.loadJs(String.format(Locale.CHINA, "onAlipayResult('%s')", e.getMessage()));
+                activity.loadJs(String.format(Locale.CHINA, "alipay onError('%s')", e.getMessage()));
             }
         });
     }

+ 9 - 13
app/src/main/java/com/sheep/gamegroup/view/activity/ActSearchAppOrTask.java

@@ -1,15 +1,10 @@
 package com.sheep.gamegroup.view.activity;
 
-import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
-import android.support.v7.widget.AppCompatAutoCompleteTextView;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
-import android.text.Editable;
 import android.text.TextUtils;
-import android.text.TextWatcher;
-import android.view.KeyEvent;
 import android.view.View;
 import android.view.inputmethod.EditorInfo;
 import android.widget.ImageView;
@@ -18,9 +13,7 @@ import android.widget.TextView;
 import com.kfzs.appstore.utils.adapter.recyclerview.RecyclerViewAdapter;
 import com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder;
 import com.sheep.gamegroup.absBase.BaseActivity;
-import com.sheep.gamegroup.absBase.BaseContainerActivity;
 import com.sheep.gamegroup.absBase.IHomePageSearch;
-import com.sheep.gamegroup.absBase.ISearch;
 import com.sheep.gamegroup.absBase.ISearchRecord;
 import com.sheep.gamegroup.greendao.DDProviderHelper;
 import com.sheep.gamegroup.greendao.download.SearchRecord;
@@ -33,12 +26,10 @@ import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.AdpTitleInfoList;
-import com.sheep.gamegroup.view.fragment.FgtSearchApp;
 import com.sheep.gamegroup.view.fragment.FgtSearchAppOrTask;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
-import com.umeng.socialize.utils.Log;
 
 import org.afinal.simplecache.ApiKey;
 
@@ -47,7 +38,6 @@ import java.util.Collections;
 import java.util.List;
 
 import butterknife.BindView;
-import butterknife.OnClick;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 
@@ -180,7 +170,7 @@ public class ActSearchAppOrTask extends BaseActivity {
         //排序
         Collections.sort(titleInfoListList);
         //刷新
-        recyclerView.getAdapter().notifyDataSetChanged();
+        ViewUtil.notifyDataSetChanged(recyclerView);
         if (isTitleInfoListEmpty()) {
             frame_container.setVisibility(View.VISIBLE);
             recyclerView.setVisibility(View.INVISIBLE);
@@ -205,7 +195,7 @@ public class ActSearchAppOrTask extends BaseActivity {
                         @Override
                         public void onClick(View view) {
                             list.remove(item);
-                            recyclerView.getAdapter().notifyDataSetChanged();
+                            ViewUtil.notifyDataSetChanged(recyclerView);
                             DDProviderHelper.getInstance().deleteSearchRecord((SearchRecord) item);
                             if (isTitleInfoListEmpty()) {
                                 frame_container.setVisibility(View.VISIBLE);
@@ -238,6 +228,12 @@ public class ActSearchAppOrTask extends BaseActivity {
 
     //尝试搜索游戏
     private void toSearchApp() {
+        if(fgtSearchAppOrTask == null){
+            return;
+        }
+        if(fgtSearchAppOrTask.isLoadingData()){
+            return;
+        }
         recyclerView.setVisibility(View.INVISIBLE);
         frame_container.setVisibility(View.VISIBLE);
         String inputText = TitleBarUtils.getInstance().getSearchText(this);
@@ -249,7 +245,7 @@ public class ActSearchAppOrTask extends BaseActivity {
             searchRecord.setCount(1);
             searchRecordList.add(searchRecord);
             DDProviderHelper.getInstance().addOrUpdateSearchRecord(searchRecord, null);
-            recyclerView.getAdapter().notifyDataSetChanged();
+            ViewUtil.notifyDataSetChanged(recyclerView);
         }
         fgtSearchAppOrTask.toSearch(inputText);
     }

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

@@ -17,14 +17,19 @@ import android.view.View;
 
 import com.sheep.gamegroup.absBase.IJumpWeb;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.StringUtils;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.js.BaseActWeb;
 import com.sheep.gamegroup.util.js.KFZSJs;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
+import com.sheep.jiuyan.samllsheep.Config;
 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 com.tencent.smtt.sdk.ValueCallback;
 import com.tencent.smtt.sdk.WebChromeClient;
@@ -254,7 +259,11 @@ public class ActWebX5 extends BaseActWeb {
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
                 LogUtil.println("ActWeb", "shouldOverrideUrlLoading", url);
                 //微信H5支付核心代码
-                if (url.startsWith("weixin://wap/pay?")) {
+                if (url.startsWith(Config.SHEEP_PAY)) {
+                    String order_no = StringUtils.getQueryParameter(url, Config.YF_SHOP_ORDER_NUMBER_KEY);
+                    Jump2View.getInstance().goActPay(ActWebX5.this, order_no, SpUtils.getToken(SheepApp.getInstance()));
+                    return true;
+                } else if (url.startsWith("weixin://wap/pay?")) {
                     try {
                         Intent intent = new Intent();
                         intent.setAction(Intent.ACTION_VIEW);

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

@@ -40,6 +40,7 @@ import com.sheep.gamegroup.model.entity.TaskChild;
 import com.sheep.gamegroup.model.entity.TaskDescEntity;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.Release_task;
+import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.EntityUtils;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.presenter.TaskDetailContract;
@@ -132,6 +133,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     TextView dateTv;
     @BindView(R.id.price_tv)
     TextView priceTv;
+    @BindView(R.id.item_money_vip_tv)
+    TextView item_money_vip_tv;
     @BindView(R.id.detail_task_tv)
     TextView detailTaskTv;
     @BindView(R.id.web_text)
@@ -149,7 +152,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     @BindView(R.id.empty_view)
     View empty_view;
     @BindView(R.id.detail_shrae_friend_layout)
-    LinearLayout detail_shrae_friend_layout;
+    View detail_shrae_friend_layout;
+    @BindView(R.id.task_detail_pay_vip_tv)
+    View task_detail_pay_vip_tv;
     @BindView(R.id.detail_item_layout_2)
     LinearLayout detail_item_layout_2;
     @BindView(R.id.detail_item_layout_3)
@@ -252,11 +257,13 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         ViewUtil.setVisibility(bottom_btn_layout, false);
         ViewUtil.setDefaultText(nameTv);
         ViewUtil.setDefaultText(priceTv);
+        ViewUtil.setDefaultText(item_money_vip_tv);
         ViewUtil.setDefaultText(dateTv);
         ViewUtil.setDefaultText(num_tv);
         if (DataUtil.IS_LISTEN_SCREEN_SHOT) {//监听小绵羊截图功能需要开启查看应用使用情况的权限
             AppUsageManager.getInstance().tryOpenLookAppUsageStatsPermission(false);
         }
+        CommonUtil.getInstance().callActionWithUserInfo(userEntity -> ViewUtil.setVisibility(task_detail_pay_vip_tv, userEntity == null || !userEntity.isVIP()));
     }
 
     @Override
@@ -294,6 +301,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         }
         ViewUtil.setText(nameTv, taskReleaseEty.getName());
         ViewUtil.setText(priceTv, String.format(Locale.CHINA, "+%s元", taskReleaseEty.getBonusText()));
+        ViewUtil.setText(item_money_vip_tv, taskReleaseEty.getVipBonusText());
         if (!taskReleaseEty.getDeadline().equals("永久")) {
             ViewUtil.setText(dateTv, String.format(Locale.CHINA, "截至日期:%s", TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(taskReleaseEty.getDeadline()))));
         } else {
@@ -837,7 +845,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
      */
     private DownloadUtil downloadUtil;
 
-    @OnClick({R.id.detail_task_tv, R.id.web_text, R.id.ll_infos, R.id.btn_task_item, R.id.btn_up_imag, R.id.detail_share_friend_tv, R.id.task_detail_cancel})
+    @OnClick({R.id.detail_task_tv, R.id.web_text, R.id.ll_infos, R.id.btn_task_item, R.id.btn_up_imag, R.id.detail_share_friend_tv, R.id.task_detail_cancel,
+            R.id.task_detail_pay_vip_tv, R.id.task_detail_vip_cl})
     public void onViewClicked(View view) {
         try {
             switch (view.getId()) {
@@ -875,6 +884,12 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                             }
                         });
                     break;
+                case R.id.task_detail_vip_cl:
+                    Jump2View.getInstance().goActVip(this);
+                    break;
+                case R.id.task_detail_pay_vip_tv:
+                    Jump2View.getInstance().goActVip(this);
+                    break;
             }
         } catch (Exception e) {
             e.printStackTrace();

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

@@ -62,7 +62,7 @@ public class TaskDetailAddQQAct extends AbsChooseImageActivity {
     @BindView(R.id.detail_item_layout_3)
     LinearLayout detail_item_layout_3;
     @BindView(R.id.detail_shrae_friend_layout)
-    LinearLayout detail_shrae_friend_layout;
+    View detail_shrae_friend_layout;
     @BindView(R.id.item_layout)
     View item_layout;
     private Activity activity;

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

@@ -75,7 +75,7 @@ public class TaskDetailCreditCardAct extends AbsChooseImageActivity {
     @BindView(R.id.detail_item_layout_3)
     LinearLayout detail_item_layout_3;
     @BindView(R.id.detail_shrae_friend_layout)
-    LinearLayout detail_shrae_friend_layout;
+    View detail_shrae_friend_layout;
     @BindView(R.id.detail_task_listview)
     MyListview detail_task_listview;
     @BindView(R.id.item_layout)

+ 15 - 8
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment3.java

@@ -7,8 +7,6 @@ import android.view.View;
 
 import com.sheep.gamegroup.absBase.AbsObserver;
 import com.sheep.gamegroup.absBase.BaseRefreshLoadMoreFragment;
-import com.sheep.gamegroup.absBase.ILoadMore;
-import com.sheep.gamegroup.absBase.IRefresh;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
@@ -26,7 +24,6 @@ import java.util.List;
 import butterknife.BindView;
 import io.reactivex.Observable;
 import io.reactivex.android.schedulers.AndroidSchedulers;
-import rx.functions.Action1;
 import io.reactivex.schedulers.Schedulers;
 
 /**
@@ -72,7 +69,6 @@ public abstract class BaseListFragment3<T> extends BaseRefreshLoadMoreFragment{
     protected BaseMessage lastMessage;//最后一个网络获取的结果
     protected int page = 1;//页数
     protected int per_page = DataUtil.PER_PAGE;
-    protected boolean loading = false;
 
     public void initView() {
     }
@@ -86,12 +82,14 @@ public abstract class BaseListFragment3<T> extends BaseRefreshLoadMoreFragment{
 
     //加载更多数据
     public void loadMoreData() {
+        initDataStatus = STATUS_ING;
         if (hasMore()) {
             page += 1;
             initData();
         } else {
             setNoMore(true);
             refreshOrLoadMoreComplete();
+            initDataStatus = STATUS_NONE;
         }
     }
     //还有数据没有获取
@@ -120,8 +118,7 @@ public abstract class BaseListFragment3<T> extends BaseRefreshLoadMoreFragment{
 
     //加载数据
     public void initData() {
-        if(loading) return;
-        loading = true;
+        initDataStatus = STATUS_ING;
         final String urlKey = getKey(page, per_page);
         if (isFirstGetACache()) {
             //先尝试获取缓存数据
@@ -153,16 +150,17 @@ public abstract class BaseListFragment3<T> extends BaseRefreshLoadMoreFragment{
                                 ListUtil.removeAll(list, lastCacheList);
                             List<T> newList = conversion.convert(baseMessage, page);
                             loadList(newList);
+                            initDataStatus = STATUS_FINISH;
                         } else {
                             notifyDataSetChanged();
+                            initDataStatus = STATUS_NONE;
                         }
-                        loading = false;
                     }
 
                     @Override
                     public void onError(BaseMessage baseMessage) {
                         notifyDataSetChanged();
-                        loading = false;
+                        initDataStatus = STATUS_NONE;
                     }
                 });
     }
@@ -211,6 +209,7 @@ public abstract class BaseListFragment3<T> extends BaseRefreshLoadMoreFragment{
 
     //通过刷新来重新加载数据
     public void refreshData() {
+        initDataStatus = STATUS_ING;
         clear();
         ViewUtil.notifyDataSetChanged(view_list);
         initData();
@@ -248,4 +247,12 @@ public abstract class BaseListFragment3<T> extends BaseRefreshLoadMoreFragment{
 
     protected abstract Class<T> getTClass();
 
+    protected int initDataStatus = STATUS_NONE;//加载数据的状态
+    public static final int STATUS_NONE = 0;
+    public static final int STATUS_ING = 1;
+    public static final int STATUS_FINISH = 2;
+    //是否正在刷新或者加载更多数据
+    public boolean isLoadingData(){
+        return initDataStatus == STATUS_ING;
+    }
 }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java

@@ -409,7 +409,7 @@ public class FgtPersonalCenter extends BaseFragment {
             R.id.recommend_friend_layout, R.id.faq_layout, R.id.reservation_layout,
             R.id.version_layout, R.id.order_layout, R.id.proxy_game_account_layout,
             R.id.audit_activity_cl, R.id.audit_success_cl, R.id.audit_failed_cl,
-            R.id.iv_redpackage, R.id.fgt_person_center_my_focus
+            R.id.iv_redpackage, R.id.fgt_person_center_my_focus, R.id.fgt_pc_item_vip_ll
     })
     public void onViewClicked(View view) {
         switch (view.getId()) {

+ 24 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -44,6 +44,7 @@ import android.widget.TextView;
 import com.alibaba.fastjson.JSONArray;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
+import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.api.RefreshLayout;
@@ -65,9 +66,11 @@ import com.sheep.gamegroup.model.entity.Release_task;
 import com.sheep.gamegroup.model.entity.RequestParamEty;
 import com.sheep.gamegroup.model.entity.RobTask;
 import com.sheep.gamegroup.model.entity.SlideshowEty;
+import com.sheep.gamegroup.model.entity.SystemNotification;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.module.home.adapter.AdpNotificationOfArrival;
 import com.sheep.gamegroup.presenter.SmallSheepContract;
 import com.sheep.gamegroup.presenter.SmallSheepPresenter;
 import com.sheep.gamegroup.presenter.TryMakeMoneyContract;
@@ -1728,4 +1731,25 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                 });
 
     }
+
+    private RecyclerView home_page_notice_rv;
+    private List<SystemNotification> systemNotificationList = new ArrayList<>();
+    private void showNotificationOfArrivalList(List<SystemNotification> notificationList){
+        if(ListUtil.isEmpty(notificationList)){
+            return;
+        }
+        if(home_page_notice_rv == null){
+            home_page_notice_rv = findViewById(R.id.home_page_notice_rv);
+        }
+        systemNotificationList.clear();
+        systemNotificationList.addAll(notificationList);
+        if(home_page_notice_rv.getAdapter() == null){
+            home_page_notice_rv.setLayoutManager(new LinearLayoutManager(getContext()));
+            AdpNotificationOfArrival adapter = new AdpNotificationOfArrival(systemNotificationList);
+            adapter.bindToRecyclerView(home_page_notice_rv);
+        } else {
+            home_page_notice_rv.getAdapter().notifyDataSetChanged();
+        }
+        //TODO 用声音提示用户有到账信息
+    }
 }

+ 3 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/Config.java

@@ -6,6 +6,7 @@ package com.sheep.jiuyan.samllsheep;
 
 public class Config {
     public final static String BUGLY_APPID = "0dd998212c";
+    public static final String SHEEP_PAY = "sheep_pay://";
     public static boolean USE_CHRISTMAS_THEME = true;//是否使用圣诞主题
 
     public static int getGameOrTaskOrGiftLayoutId() {
@@ -15,6 +16,8 @@ public class Config {
     //有范商城
     public final static String YF_SHOP_NAME = "有范商城";
     public final static String YF_SHOP_HOME = "http://shop.17xmy.com/mobile/";//有范商城主页地址
+    public final static String YF_SHOP_HOME_SHEEP = "http://shop.17xmy.com/mobile?pf=android.sheep.app";//小绵羊加载的有范商城主页地址
+    public static final String YF_SHOP_ORDER_NUMBER_KEY = "order_number";
 
 
     //以龙猫开头的则认为是龙猫app

+ 3 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -36,6 +36,7 @@ import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.MyFileNameGenerator;
 import com.sheep.gamegroup.util.RefreshUtil;
 import com.sheep.gamegroup.util.SysAppUtil;
+import com.sheep.gamegroup.util.TextToSpeechUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.view.activity.GameCertificationActivity;
 import com.sheep.jiuyan.samllsheep.service.AutoCheckService;
@@ -501,6 +502,7 @@ public class SheepApp extends MultiDexApplication {
             activityRef.clear();
             activityRef = null;
         }
+        TextToSpeechUtil.stopTTS();
         try {
             OkDownload.with().downloadDispatcher().cancelAll();
         } catch (Exception ignore) {
@@ -540,6 +542,7 @@ public class SheepApp extends MultiDexApplication {
         PluginManager.getInstance(base).init();//插件化框架
     }
 
+    //应用退出的回调(模拟器才会回调)
     @Override
     public void onTerminate() {
         super.onTerminate();

+ 8 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/utils/G.java

@@ -16,6 +16,7 @@ import android.widget.Toast;
 
 import com.kfzs.duanduan.view.DialogStorageLow;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
@@ -106,6 +107,13 @@ public class G {
             G.showToast(baseMessage.getMsg() + (BuildConfig.DEBUG ? "[" + baseMessage.getCode() + "]" : ""));
         }
     }
+    public static void showToast(Throwable throwable) {
+        if(throwable != null && !TextUtils.isEmpty(throwable.getMessage())){
+            G.showToast(throwable.getMessage());
+        } else {
+            G.showToast(R.string.unknown_error);
+        }
+    }
     /**
      * 通过反射,获取包含虚拟键的整体屏幕高度
      *

+ 8 - 0
app/src/main/res/drawable/shape_e6c38f_solid_rectangle_8.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="8dp" />
+    <solid android:color="#E6C38F" />
+
+</shape>

+ 8 - 0
app/src/main/res/drawable/shape_white80_solid_rectangle_14.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="14dp" />
+    <solid android:color="#ccffffff" />
+
+</shape>

+ 8 - 2
app/src/main/res/layout/homepage_act_layout.xml

@@ -4,8 +4,8 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@color/white"
-    android:fitsSystemWindows="true"
-    android:clipChildren="true">
+    android:clipChildren="true"
+    android:fitsSystemWindows="true">
 
     <include
         android:id="@+id/to_search_but_rl"
@@ -183,4 +183,10 @@
         layout="@layout/view_float_title_card"
         android:visibility="visible" />
 
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/home_page_notice_rv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/to_search_but_rl"
+        android:layout_marginTop="12dp" />
 </RelativeLayout>

+ 26 - 0
app/src/main/res/layout/item_notification_of_arrival.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="27dp"
+    android:layout_marginStart="13dp"
+    android:layout_marginEnd="10dp"
+    android:background="@drawable/shape_white80_solid_rectangle_14">
+
+    <ImageView
+        android:layout_width="20dp"
+        android:layout_height="wrap_content"
+        android:adjustViewBounds="true"
+        android:scaleType="fitXY"
+        android:src="@mipmap/ic_yuan_bao" />
+
+    <TextView
+        android:id="@+id/item_noa_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="100dp"
+        android:text="@string/get_money_x_yuan"
+        android:textColor="#ff333333"
+        android:textSize="12sp"
+        app:layout_constraintTop_toTopOf="parent" />
+</android.support.constraint.ConstraintLayout>

+ 212 - 111
app/src/main/res/layout/task_detail_layout.xml

@@ -1,8 +1,8 @@
 <?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="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:fitsSystemWindows="true"
     android:orientation="vertical">
 
@@ -11,17 +11,20 @@
         layout="@layout/empty_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:visibility="gone"/>
+        android:visibility="gone" />
+
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:background="@color/white"
         android:orientation="vertical">
+
         <android.support.v4.widget.NestedScrollView
             android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_weight="1"
             android:scrollbars="none">
+
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
@@ -33,92 +36,102 @@
                     android:id="@+id/ems_game_layout"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/content_padding_10"
                     android:layout_marginLeft="@dimen/content_padding_10"
+                    android:layout_marginTop="@dimen/content_padding_10"
                     android:layout_marginRight="@dimen/content_padding_10"
                     android:visibility="gone">
+
                     <TextView
                         android:id="@+id/ems_left_tv"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="平台·用户须知"
-                        android:gravity="center"
-                        android:ems="2"
-                        android:textColor="#D3AF57"
+                        android:layout_centerVertical="true"
+                        android:layout_marginRight="@dimen/common_margin_10"
+                        android:layout_marginBottom="@dimen/content_padding_20"
                         android:background="@drawable/sp_bg_black_radius"
-                        android:paddingTop="@dimen/content_padding_10"
-                        android:paddingBottom="@dimen/content_padding_10"
+                        android:ems="2"
+                        android:gravity="center"
                         android:paddingLeft="@dimen/content_padding_8"
+                        android:paddingTop="@dimen/content_padding_10"
                         android:paddingRight="@dimen/content_padding_8"
-                        android:layout_marginRight="@dimen/common_margin_10"
-                        android:layout_marginBottom="@dimen/content_padding_20"
-                        android:layout_centerVertical="true"/>
+                        android:paddingBottom="@dimen/content_padding_10"
+                        android:text="平台·用户须知"
+                        android:textColor="#D3AF57" />
+
                     <LinearLayout
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:orientation="vertical"
+                        android:layout_centerVertical="true"
                         android:layout_toRightOf="@+id/ems_left_tv"
-                        android:layout_centerVertical="true">
+                        android:orientation="vertical">
+
                         <TextView
                             android:id="@+id/user_know_one_tv"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="@string/user_know_one"
-                            android:layout_toRightOf="@+id/ems_left_tv"/>
+                            android:layout_toRightOf="@+id/ems_left_tv"
+                            android:text="@string/user_know_one" />
+
                         <TextView
                             android:id="@+id/user_know_two_tv"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="@string/user_know_two"
                             android:layout_below="@+id/user_know_one_tv"
+                            android:layout_marginTop="@dimen/content_padding_5"
                             android:layout_toRightOf="@+id/ems_left_tv"
-                            android:layout_marginTop="@dimen/content_padding_5"/>
+                            android:text="@string/user_know_two" />
+
                         <TextView
                             android:id="@+id/user_know_three_tv"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="@string/user_know_three"
                             android:layout_below="@+id/user_know_two_tv"
+                            android:layout_marginTop="@dimen/content_padding_5"
                             android:layout_toRightOf="@+id/ems_left_tv"
-                            android:layout_marginTop="@dimen/content_padding_5"/>
+                            android:text="@string/user_know_three" />
+
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="@string/user_know_four"
                             android:layout_below="@+id/user_know_three_tv"
+                            android:layout_marginTop="@dimen/content_padding_5"
                             android:layout_toRightOf="@+id/ems_left_tv"
-                            android:layout_marginTop="@dimen/content_padding_5"/>
+                            android:text="@string/user_know_four" />
                     </LinearLayout>
 
                 </RelativeLayout>
+
                 <RelativeLayout
                     android:id="@+id/detail_item_layout_1"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/content_padding_10"
                     android:layout_marginLeft="@dimen/content_padding_10"
+                    android:layout_marginTop="@dimen/content_padding_10"
                     android:layout_marginRight="@dimen/content_padding_10"
                     android:layout_marginBottom="@dimen/content_padding_10">
+
                     <android.support.constraint.ConstraintLayout
                         android:id="@+id/item_layout"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
                         android:padding="@dimen/content_padding_10">
+
                         <ImageView
                             android:id="@+id/icon_iv"
                             android:layout_width="70dp"
                             android:layout_height="70dp"
                             android:src="@drawable/icon_lj"
                             app:layout_constraintStart_toStartOf="parent"
-                            app:layout_constraintTop_toTopOf="parent"/>
+                            app:layout_constraintTop_toTopOf="parent" />
+
                         <TextView
                             android:id="@+id/end_of_time_tv"
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_marginStart="@dimen/content_padding_4"
-                            android:layout_marginEnd="@dimen/content_padding_4"
                             android:layout_marginTop="55dp"
+                            android:layout_marginEnd="@dimen/content_padding_4"
                             android:background="@drawable/shape_ash_stroke_white_solid_rectangle"
                             android:gravity="center"
                             android:lines="1"
@@ -127,30 +140,31 @@
                             android:visibility="gone"
                             app:layout_constraintEnd_toEndOf="@+id/icon_iv"
                             app:layout_constraintStart_toStartOf="@+id/icon_iv"
-                            app:layout_constraintTop_toTopOf="parent"/>
+                            app:layout_constraintTop_toTopOf="parent" />
 
                         <LinearLayout
                             android:id="@+id/name_date_layout"
                             android:layout_width="0dp"
                             android:layout_height="70dp"
-                            android:orientation="vertical"
                             android:layout_marginStart="@dimen/content_padding"
+                            android:orientation="vertical"
                             app:layout_constraintEnd_toStartOf="@+id/price_layout"
-                            app:layout_constraintStart_toEndOf="@+id/icon_iv"
-                            >
+                            app:layout_constraintStart_toEndOf="@+id/icon_iv">
+
                             <TextView
                                 android:id="@+id/name_tv"
-                                android:textSize="@dimen/text_size_15"
-                                android:textColor="@color/black_444444"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
-                                android:maxLines="2"
                                 android:ellipsize="middle"
-                                android:text=""/>
+                                android:maxLines="2"
+                                android:text=""
+                                android:textColor="@color/black_444444"
+                                android:textSize="@dimen/text_size_15" />
+
                             <View
                                 android:layout_width="match_parent"
                                 android:layout_height="0dp"
-                                android:layout_weight="3"/>
+                                android:layout_weight="3" />
 
 
                             <LinearLayout
@@ -164,8 +178,9 @@
                                     android:layout_width="wrap_content"
                                     android:layout_height="wrap_content"
                                     android:text=""
-                                    android:textSize="@dimen/text_size_2"
-                                    android:textColor="@color/txt_black_818181"/>
+                                    android:textColor="@color/txt_black_818181"
+                                    android:textSize="@dimen/text_size_2" />
+
                                 <TextView
                                     android:id="@+id/num_tv1"
                                     android:layout_width="wrap_content"
@@ -176,17 +191,19 @@
                                     android:textSize="@dimen/text_size_2"
                                     android:visibility="gone" />
                             </LinearLayout>
+
                             <View
                                 android:layout_width="match_parent"
                                 android:layout_height="0dp"
-                                android:layout_weight="1"/>
+                                android:layout_weight="1" />
+
                             <TextView
                                 android:id="@+id/date_tv"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:text="111"
-                                android:textSize="@dimen/text_size_2"
-                                android:textColor="@color/txt_black_818181"/>
+                                android:textColor="@color/txt_black_818181"
+                                android:textSize="@dimen/text_size_2" />
                         </LinearLayout>
 
                         <LinearLayout
@@ -195,152 +212,239 @@
                             android:layout_height="wrap_content"
                             android:layout_centerVertical="true"
                             android:layout_marginStart="@dimen/content_padding_5"
-                            app:layout_constraintStart_toEndOf="@+id/name_date_layout"
-                            app:layout_constraintEnd_toEndOf="parent"
-                            app:layout_constraintTop_toTopOf="@+id/icon_iv"
-                            app:layout_constraintBottom_toBottomOf="@+id/icon_iv"
                             android:gravity="right"
-                            android:orientation="vertical">
+                            android:orientation="vertical"
+                            app:layout_constraintBottom_toBottomOf="@+id/icon_iv"
+                            app:layout_constraintEnd_toEndOf="parent"
+                            app:layout_constraintStart_toEndOf="@+id/name_date_layout"
+                            app:layout_constraintTop_toTopOf="@+id/icon_iv">
+
                             <TextView
                                 android:id="@+id/price_tv"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
-                                android:text=""
+                                android:layout_gravity="center_horizontal"
+                                android:text="+1.5元"
                                 android:textColor="@color/txt_red"
-                                android:textSize="@dimen/text_size_20"
-                                android:layout_gravity="center_horizontal"/>
+                                android:textSize="18sp" />
+
+                            <TextView
+                                android:id="@+id/item_money_vip_tv"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="5dp"
+                                android:layout_marginBottom="5dp"
+                                android:gravity="center"
+                                android:minWidth="@dimen/find_bt_with"
+                                android:text="会员:+11元"
+                                android:textColor="#C3995E"
+                                android:textSize="10sp" />
+
                             <TextView
                                 android:id="@+id/task_detail_reward"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
-                                android:text="@string/task_benefit_limit"
-                                android:textSize="@dimen/text_size_2"
                                 android:layout_gravity="center_horizontal"
-                                android:textColor="@color/txt_black_818181"/>
+                                android:text="@string/task_benefit_limit"
+                                android:textColor="@color/txt_black_818181"
+                                android:textSize="@dimen/text_size_2" />
+
                             <TextView
                                 android:id="@+id/task_detail_cancel"
                                 style="@style/style_button_find"
                                 android:text="@string/task_cancel"
                                 android:textSize="@dimen/text_size_2"
-                                android:visibility="gone"/>
+                                android:visibility="gone" />
+
                             <TextView
                                 android:id="@+id/detail_task_tv"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
-                                android:text="@string/task_screenshot"
+                                android:layout_alignParentRight="true"
+                                android:layout_alignParentBottom="true"
+                                android:layout_marginTop="@dimen/content_padding_8"
+                                android:background="@drawable/sp_bg_gradient_rectangle_yellow"
+                                android:gravity="center"
                                 android:minWidth="@dimen/view_size_73"
+                                android:padding="@dimen/content_padding_3"
+                                android:text="@string/task_screenshot"
                                 android:textColor="@color/white"
                                 android:textSize="@dimen/text_size_12"
-                                android:gravity="center"
-                                android:padding="@dimen/content_padding_3"
-                                android:layout_alignParentRight="true"
-                                android:background="@drawable/sp_bg_gradient_rectangle_yellow"
-                                android:visibility="gone"
-                                android:layout_marginTop="@dimen/content_padding_8"
-                                android:layout_alignParentBottom="true"/>
+                                android:visibility="gone" />
                         </LinearLayout>
 
                     </android.support.constraint.ConstraintLayout>
-                    <LinearLayout
+
+                    <android.support.constraint.ConstraintLayout
                         android:id="@+id/detail_shrae_friend_layout"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:orientation="horizontal"
                         android:layout_below="@+id/item_layout"
-                        android:padding="@dimen/content_padding_10"
-                        android:background="@drawable/sp_bg_blue_solid_gray"
-                        android:visibility="gone">
-                        <TextView
-                            android:layout_width="0dp"
-                            android:layout_height="wrap_content"
-                            android:layout_weight="1"
-                            android:text="@string/tip_invite_for_more_coin_20_percent"
-                            style="@style/nomal_txt_style_13"
-                            android:layout_gravity="center_vertical"
-                            android:gravity="center_vertical"
-                            android:paddingRight="@dimen/content_padding_small"/>
+                        android:background="@color/blue_E2F4FE"
+                        android:orientation="horizontal">
+
                         <TextView
                             android:id="@+id/detail_share_friend_tv"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
+                            android:layout_gravity="center_vertical"
+                            android:layout_marginTop="16dp"
+                            android:layout_marginEnd="10dp"
+                            android:background="@drawable/sp_appointment_bg"
+                            android:paddingStart="10dp"
+                            android:paddingTop="5dp"
+                            android:paddingEnd="10dp"
+                            android:paddingBottom="5dp"
                             android:text="发送给好友"
-                            android:textColor="@color/blue_34a6e7"
-                            android:textSize="@dimen/text_size_13"
+                            android:textColor="#34A7E8"
+                            android:textSize="11sp"
+                            app:layout_constraintEnd_toEndOf="parent"
+                            app:layout_constraintTop_toTopOf="parent" />
+
+                        <TextView
+                            style="@style/nomal_txt_style_13"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
                             android:layout_gravity="center_vertical"
-                            android:paddingLeft="@dimen/common_margin_10"
-                            android:paddingRight="@dimen/common_margin_10"
-                            android:paddingBottom="@dimen/tag_vertical_spacing"
-                            android:paddingTop="@dimen/tag_vertical_spacing"
-                            android:background="@drawable/sp_appointment_bg"/>
-                    </LinearLayout>
+                            android:layout_marginEnd="6dp"
+                            android:gravity="center_vertical"
+                            android:padding="6dp"
+                            android:text="@string/tip_invite_for_more_coin_20_percent"
+                            app:layout_constraintBottom_toBottomOf="@id/detail_share_friend_tv"
+                            app:layout_constraintEnd_toStartOf="@id/detail_share_friend_tv"
+                            app:layout_constraintTop_toTopOf="@id/detail_share_friend_tv" />
+
+                        <android.support.constraint.ConstraintLayout
+                            android:id="@+id/task_detail_vip_cl"
+                            android:layout_width="match_parent"
+                            android:layout_height="34dp"
+                            android:layout_marginStart="9dp"
+                            android:layout_marginTop="20dp"
+                            android:layout_marginEnd="9dp"
+                            android:background="@drawable/shape_black_solid_rectangle_top_6"
+                            app:layout_constraintEnd_toEndOf="parent"
+                            app:layout_constraintStart_toStartOf="parent"
+                            app:layout_constraintTop_toBottomOf="@id/detail_share_friend_tv">
+
+                            <ImageView
+                                android:layout_width="16dp"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="7dp"
+                                android:adjustViewBounds="true"
+                                android:scaleType="fitXY"
+                                android:src="@mipmap/ic_vip_1"
+                                app:layout_constraintBottom_toBottomOf="parent"
+                                app:layout_constraintStart_toStartOf="parent"
+                                app:layout_constraintTop_toTopOf="parent" />
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="26dp"
+                                android:text="尊享会员"
+                                android:textColor="#ffe6c38f"
+                                android:textSize="10sp"
+                                app:layout_constraintBottom_toBottomOf="parent"
+                                app:layout_constraintStart_toStartOf="parent"
+                                app:layout_constraintTop_toTopOf="parent" />
+
+                            <TextView
+                                android:id="@+id/task_detail_pay_vip_tv"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginEnd="6dp"
+                                android:background="@drawable/shape_e6c38f_solid_rectangle_8"
+                                android:paddingStart="7dp"
+                                android:paddingTop="3dp"
+                                android:paddingEnd="7dp"
+                                android:paddingBottom="3dp"
+                                android:text="直接购买"
+                                android:textColor="#ff000000"
+                                android:textSize="10sp"
+                                app:layout_constraintBottom_toBottomOf="parent"
+                                app:layout_constraintEnd_toEndOf="parent"
+                                app:layout_constraintTop_toTopOf="parent" />
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginEnd="8dp"
+                                android:text="@string/task_detail_vip_tip"
+                                android:textColor="#ffe6c38f"
+                                android:textSize="10sp"
+                                app:layout_constraintBottom_toBottomOf="parent"
+                                app:layout_constraintEnd_toStartOf="@id/task_detail_pay_vip_tv"
+                                app:layout_constraintTop_toTopOf="parent" />
+                        </android.support.constraint.ConstraintLayout>
+                    </android.support.constraint.ConstraintLayout>
                 </RelativeLayout>
 
                 <com.sheep.gamegroup.util.MyListview
                     android:id="@+id/detail_task_recyclerview"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:scrollbars="none"
-                    android:listSelector="@color/transparent"
-                    android:divider="@null"
                     android:layout_marginStart="@dimen/content_padding_10"
                     android:layout_marginEnd="@dimen/content_padding_10"
-                    android:visibility="visible"/>
+                    android:divider="@null"
+                    android:listSelector="@color/transparent"
+                    android:scrollbars="none"
+                    android:visibility="visible" />
 
                 <com.sheep.gamegroup.util.MyListview
                     android:id="@+id/detail_task_listview"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:scrollbars="none"
-                    android:listSelector="@color/transparent"
-                    android:divider="@null"
+                    android:layout_margin="@dimen/content_padding_10"
                     android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+                    android:divider="@null"
+                    android:listSelector="@color/transparent"
                     android:padding="@dimen/content_padding_10"
-                    android:layout_margin="@dimen/content_padding_10"
-                    android:visibility="gone"/>
+                    android:scrollbars="none"
+                    android:visibility="gone" />
 
                 <LinearLayout
                     android:id="@+id/detail_item_layout_2"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
-                    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-                    android:padding="@dimen/content_padding_20"
                     android:layout_marginLeft="@dimen/content_padding_10"
-                    android:layout_marginRight="@dimen/content_padding_10"
                     android:layout_marginTop="@dimen/content_padding_10"
+                    android:layout_marginRight="@dimen/content_padding_10"
+                    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
                     android:orientation="vertical"
+                    android:padding="@dimen/content_padding_20"
                     android:visibility="gone">
 
                     <TextView
+                        style="@style/nomal_txt_style"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:text="@string/task_description"
-                        style="@style/nomal_txt_style"
-                        android:layout_marginBottom="@dimen/content_padding_small"/>
+                        android:layout_marginBottom="@dimen/content_padding_small"
+                        android:text="@string/task_description" />
 
                     <com.tencent.smtt.sdk.WebView
                         android:id="@+id/web_text"
                         android:layout_width="match_parent"
-                        android:layout_height="wrap_content"/>
+                        android:layout_height="wrap_content" />
                 </LinearLayout>
 
                 <LinearLayout
                     android:id="@+id/detail_item_layout_3"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
-                    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
-                    android:padding="@dimen/content_padding_20"
                     android:layout_marginLeft="@dimen/content_padding_10"
-                    android:layout_marginRight="@dimen/content_padding_10"
                     android:layout_marginTop="@dimen/content_padding_10"
+                    android:layout_marginRight="@dimen/content_padding_10"
+                    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
                     android:orientation="vertical"
+                    android:padding="@dimen/content_padding_20"
                     android:visibility="gone">
 
                     <TextView
+                        style="@style/nomal_txt_style"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:text="@string/task_progress"
-                        style="@style/nomal_txt_style"
-                        android:layout_marginBottom="@dimen/content_padding_small"/>
+                        android:layout_marginBottom="@dimen/content_padding_small"
+                        android:text="@string/task_progress" />
 
                     <LinearLayout
                         android:id="@+id/ll_infos"
@@ -351,11 +455,9 @@
                     </LinearLayout>
                 </LinearLayout>
                 <!--用户操作-->
-                <include
-                    layout="@layout/taskdetail_item_user_use"/>
+                <include layout="@layout/taskdetail_item_user_use" />
                 <!--温馨提示-->
-                <include
-                    layout="@layout/taskdetail_item_supplement_explain"/>
+                <include layout="@layout/taskdetail_item_supplement_explain" />
             </LinearLayout>
         </android.support.v4.widget.NestedScrollView>
 
@@ -364,8 +466,8 @@
             android:id="@+id/bottom_btn_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:minHeight="?attr/actionBarSize"
             android:background="@color/background_light_gray"
+            android:minHeight="?attr/actionBarSize"
             android:orientation="horizontal">
 
             <TextView
@@ -374,7 +476,7 @@
                 android:layout_width="0dp"
                 android:layout_height="35dp"
                 android:layout_weight="1"
-                android:text="下载游戏"/>
+                android:text="下载游戏" />
 
             <TextView
                 android:id="@+id/btn_up_imag"
@@ -382,10 +484,9 @@
                 android:layout_width="0dp"
                 android:layout_height="35dp"
                 android:layout_weight="1"
-                android:text="上传截图"/>
+                android:text="上传截图" />
         </LinearLayout>
     </LinearLayout>
 
 
-
 </LinearLayout>

+ 10 - 13
app/src/main/res/layout/try_makemoney_item_recommend.xml

@@ -198,30 +198,27 @@
             app:layout_constraintTop_toBottomOf="@id/item_top_v">
 
             <TextView
-                android:id="@+id/item_money_vip_tv"
-                android:layout_width="wrap_content"
+                android:id="@+id/item_money"
+                android:layout_width="@dimen/find_bt_with"
                 android:layout_height="wrap_content"
                 android:gravity="center"
-                android:minWidth="@dimen/find_bt_with"
-                android:text="会员:+11元"
+                android:text="+10元"
                 android:textColor="@color/txt_red"
-                android:textSize="10sp" />
-
+                android:textSize="18sp" />
             <View
                 android:layout_width="1dp"
                 android:layout_height="0dp"
                 android:layout_weight="1" />
 
             <TextView
-                android:id="@+id/item_money"
-                android:layout_width="@dimen/find_bt_with"
+                android:id="@+id/item_money_vip_tv"
+                android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_marginTop="5dp"
                 android:gravity="center"
-                android:text="+10元"
-                android:textColor="@color/txt_red"
-                android:textSize="15sp" />
-
+                android:minWidth="@dimen/find_bt_with"
+                android:text="会员:+11元"
+                android:textColor="#C3995E"
+                android:textSize="10sp" />
             <View
                 android:layout_width="1dp"
                 android:layout_height="0dp"

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


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

@@ -12,4 +12,5 @@
     <string name="error_package_link">暂无包名,请稍候再试</string>
     <string name="wushuju">还没有数据哦</string>
     <string name="wushuju_net_error">网络错误,请稍候再试</string>
+    <string name="please_contact_customer_service">数据错误,请联系客服</string>
 </resources>

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

@@ -203,4 +203,10 @@
     <string name="tip_finish_task_in_time_or_repeat">若1小时35分22秒后奖励未完成,该奖励自动取消,您可以重新接受该奖励</string>
     <string name="tip_click_share_get_benefit_percent">点击下方分享给好友(享受奖励提成):</string>
     <string name="tip_you_can_get_20_percent_from_your_friend">注:通过链接加入小绵羊即为你的好友下线,好友完成奖励你可以额外获得20%的提成奖励哦!</string>
+    <string name="pay_success">支付成功</string>
+    <string name="pay_fail">支付失败</string>
+    <string name="you_had_cancel_pay">您取消了支付</string>
+    <string name="task_detail_vip_tip">做任务可提高收益哦,任务优先审核</string>
+    <string name="get_money_x_yuan">账户入账通知 尊敬的羊羊用户,恭喜元宝账户收入XXX元。</string>
+
 </resources>