소스 검색

引导页面、开屏广告、弹窗广告修改

zengjiebin 8 년 전
부모
커밋
6bd7ad4841
29개의 변경된 파일1071개의 추가작업 그리고 219개의 파일을 삭제
  1. 1 1
      app/build.gradle
  2. 2 2
      app/src/main/java/com/kfzs/duanduan/react/upfile/UpFileUtils.java
  3. 5 0
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  4. 173 0
      app/src/main/java/com/sheep/gamegroup/model/entity/Advertising.java
  5. 70 0
      app/src/main/java/com/sheep/gamegroup/model/entity/DialogConfig.java
  6. 10 0
      app/src/main/java/com/sheep/gamegroup/model/entity/UserEntity.java
  7. 11 0
      app/src/main/java/com/sheep/gamegroup/util/ConnectAddress.java
  8. 29 5
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  9. 12 4
      app/src/main/java/com/sheep/gamegroup/util/StringUtils.java
  10. 14 13
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  11. 147 21
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  12. 87 64
      app/src/main/java/com/sheep/gamegroup/view/activity/RealNameAuthenAct.java
  13. 50 41
      app/src/main/java/com/sheep/gamegroup/view/activity/SignCardAct.java
  14. 164 27
      app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java
  15. 8 0
      app/src/main/res/drawable/btn_main_stroke.xml
  16. 8 0
      app/src/main/res/drawable/btn_main_stroke_click.xml
  17. 9 0
      app/src/main/res/drawable/selector_button_stroke_main.xml
  18. 1 1
      app/src/main/res/drawable/shape_ash_solid_rectangle.xml
  19. 6 0
      app/src/main/res/drawable/shape_ash_solid_rectangle_small.xml
  20. 60 0
      app/src/main/res/layout/dialog_half_screen_ad.xml
  21. 42 3
      app/src/main/res/layout/splash_activity.xml
  22. 25 8
      app/src/main/res/layout/x_msg_dialog.xml
  23. 118 25
      app/src/main/res/layout/x_real_name_auther_layout.xml
  24. 1 0
      app/src/main/res/values/color_app_theme_colors.xml
  25. 9 0
      app/src/main/res/values/dd_styles.xml
  26. 2 1
      app/src/main/res/values/gamegroup_string.xml
  27. 4 0
      app/src/main/res/values/strings.xml
  28. 1 1
      datashare/build.gradle
  29. 2 2
      datashare/src/main/java/com/kfzs/duanduan/data/graph/provider/channel/DaoMaster.java

+ 1 - 1
app/build.gradle

@@ -107,7 +107,7 @@ android {
             buildConfigField "String", "DUANDUAN_DATASHARE", '"sheep"'
             buildConfigField "String", "DUANDUAN_GRAPH", '"sheep"'
             buildConfigField "boolean", "XXTEA_ENCRYPT", 'true'
-            buildConfigField "String", "API_DOMAIN", '"app.bandai.yunduanzs.cn"'
+            buildConfigField "String", "API_DOMAIN", '"app.ss.kfzs.com"'
             buildConfigField "String", "JFSC_DOMAIN", '"http://jf.bandaimi.com/"'//积分商城
             buildConfigField "String", "CAPTCHA_DOMAIN", '"captcha.kuaifazs.com"'
             buildConfigField "String", "umeng_appkey", '"58dc9509aed17959a3001bff"'

+ 2 - 2
app/src/main/java/com/kfzs/duanduan/react/upfile/UpFileUtils.java

@@ -63,8 +63,8 @@ public class UpFileUtils {
             File file;
             if ((file = new File(photos.get(index))).exists()) {
                 File newFile = new CompressHelper.Builder(SheepApp.getInstance())
-                        .setMaxWidth(G.WIDTH)  // 默认最大宽度为720
-                        .setMaxHeight(G.HEIGHT) // 默认最大高度为960
+                        .setMaxWidth(2000)  // 默认最大宽度为720
+                        .setMaxHeight(2000) // 默认最大高度为960
                         .setQuality(80)    // 默认压缩质量为80
                         .setCompressFormat(Bitmap.CompressFormat.JPEG) // 设置默认压缩为jpg格式
                         .build().compressToFile(file);

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

@@ -473,4 +473,9 @@ public interface ApiService {
      */
     @GET("app/url/get_agent")
     Observable<BaseMessage> getAgentUrl();
+    /**
+     * 获取广告类型 1:开屏广告 2:弹窗广告
+     */
+    @GET("app/advertising/advertisements")
+    Observable<BaseMessage> getAdvertising(@Query("type") int type);
 }

+ 173 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/Advertising.java

@@ -0,0 +1,173 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * Created by realicing on 2018/6/6.
+ * realicing@sina.com
+ * display_type;//类型: 1 图片 2 视频
+ * link_type;//转跳类型1:H5外部 2:H5内部 3:试玩赚钱 4:单个任务 5:信用卡 6:微信二维码 7:连续任务 8:打卡赚钱
+ */
+public class Advertising {
+    private String updated_at;
+
+    private String end_time;
+
+    private String link;
+
+    private int LinkType;
+
+    private String desc;
+
+    private String display_src;
+
+    private int display_type;
+
+    private int platform;
+
+    private int show_time;
+
+    private int status;
+
+    private int id;
+
+    private String name;
+
+    private String created_at;
+
+    private String begin_time;
+
+    private int link_id;
+
+    private int type;
+
+    public void setUpdated_at(String updated_at) {
+        this.updated_at = updated_at;
+    }
+
+    public String getUpdated_at() {
+        return this.updated_at;
+    }
+
+    public void setEnd_time(String end_time) {
+        this.end_time = end_time;
+    }
+
+    public String getEnd_time() {
+        return this.end_time;
+    }
+
+    public void setLink(String link) {
+        this.link = link;
+    }
+
+    public String getLink() {
+        return this.link;
+    }
+
+    public void setLinkType(int LinkType) {
+        this.LinkType = LinkType;
+    }
+
+    public int getLinkType() {
+        return this.LinkType;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    public String getDesc() {
+        return this.desc;
+    }
+
+    public void setDisplay_src(String display_src) {
+        this.display_src = display_src;
+    }
+
+    public String getDisplay_src() {
+        return this.display_src;
+    }
+
+    public void setDisplay_type(int display_type) {
+        this.display_type = display_type;
+    }
+
+    public int getDisplay_type() {
+        return this.display_type;
+    }
+
+    public void setPlatform(int platform) {
+        this.platform = platform;
+    }
+
+    public int getPlatform() {
+        return this.platform;
+    }
+
+    public void setShow_time(int show_time) {
+        this.show_time = show_time;
+    }
+
+    public int getShow_time() {
+        return this.show_time;
+    }
+
+    public void setStatus(int status) {
+        this.status = status;
+    }
+
+    public int getStatus() {
+        return this.status;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getId() {
+        return this.id;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public void setCreated_at(String created_at) {
+        this.created_at = created_at;
+    }
+
+    public String getCreated_at() {
+        return this.created_at;
+    }
+
+    public void setBegin_time(String begin_time) {
+        this.begin_time = begin_time;
+    }
+
+    public String getBegin_time() {
+        return this.begin_time;
+    }
+
+    public void setLink_id(int link_id) {
+        this.link_id = link_id;
+    }
+
+    public int getLink_id() {
+        return this.link_id;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public int getType() {
+        return this.type;
+    }
+
+    public boolean isImage() {
+        return LinkType == 1;
+    }
+}

+ 70 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/DialogConfig.java

@@ -0,0 +1,70 @@
+package com.sheep.gamegroup.model.entity;
+
+import android.view.View;
+
+/**
+ * Created by realicing on 2018/6/6.
+ * realicing@sina.com
+ */
+public class DialogConfig {
+    private String msg;
+    private String title;
+    private String btnLeftText;
+    private View.OnClickListener btnLeftOnClickListener;
+    private String btnRightText;
+    private View.OnClickListener btnRightOnClickListener;
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public DialogConfig setMsg(String msg) {
+        this.msg = msg;
+        return this;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public DialogConfig setTitle(String title) {
+        this.title = title;
+        return this;
+    }
+
+    public String getBtnLeftText() {
+        return btnLeftText;
+    }
+
+    public DialogConfig setBtnLeftText(String btnLeftText) {
+        this.btnLeftText = btnLeftText;
+        return this;
+    }
+
+    public View.OnClickListener getBtnLeftOnClickListener() {
+        return btnLeftOnClickListener;
+    }
+
+    public DialogConfig setBtnLeftOnClickListener(View.OnClickListener btnLeftOnClickListener) {
+        this.btnLeftOnClickListener = btnLeftOnClickListener;
+        return this;
+    }
+
+    public String getBtnRightText() {
+        return btnRightText;
+    }
+
+    public DialogConfig setBtnRightText(String btnRightText) {
+        this.btnRightText = btnRightText;
+        return this;
+    }
+
+    public View.OnClickListener getBtnRightOnClickListener() {
+        return btnRightOnClickListener;
+    }
+
+    public DialogConfig setBtnRightOnClickListener(View.OnClickListener btnRightOnClickListener) {
+        this.btnRightOnClickListener = btnRightOnClickListener;
+        return this;
+    }
+}

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

@@ -49,6 +49,8 @@ public class UserEntity implements Serializable {
     private String id_number;//,
     @Column(name = "bank_card")
     private String bank_card;//,
+    @Column(name = "bank_card_mobile")
+    private String bank_card_mobile;//,
     @Column(name = "total_withdraw")
     private String total_withdraw;//0,
     @Column(name = "wx_openid")
@@ -259,4 +261,12 @@ public class UserEntity implements Serializable {
     public boolean isNewRegistUser() {//新注册用户
         return TextUtils.equals(create_time, last_login_time);
     }
+
+    public String getBank_card_mobile() {
+        return bank_card_mobile;
+    }
+
+    public void setBank_card_mobile(String bank_card_mobile) {
+        this.bank_card_mobile = bank_card_mobile;
+    }
 }

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

@@ -6,6 +6,17 @@ package com.sheep.gamegroup.util;
  */
 
 public enum ConnectAddress {
+    sheepxiexing {
+
+        @Override
+        public String getAppUrl() {
+            return "http://10.8.210.211:8080/";
+        }
+        @Override
+        public String getName() {
+            return "谢兴";
+        }
+    },
     sheepwuchengshuang {
 
         @Override

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

@@ -19,6 +19,7 @@ import com.kfzs.duanduan.ActPicturesEnlarge;
 import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.Advertising;
 import com.sheep.gamegroup.model.entity.Agreement;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.CreditCard;
@@ -251,11 +252,7 @@ public class Jump2View {
      */
     public void goTryplayView(Context context, Object o){
         Intent intent = new Intent(context, TryMakeMoneyact.class);
-        try{
-            intent.putExtra("is_succession", o == null? 0: Integer.valueOf(o+ ""));
-        }catch (Exception e){
-            e.printStackTrace();
-        }
+        intent.putExtra("is_succession", o instanceof Integer ? (Integer)o : 0);
         context.startActivity(intent);
         UMConfigUtils.onEvent(UMConfigUtils.Event.SHEEP_TASK_TRY);
     }
@@ -652,6 +649,10 @@ public class Jump2View {
      * @param url
      */
     public void goWeb(Context context, String url){
+        if(TextUtils.isEmpty(url)){
+            G.showToast(R.string.service_data_error);
+            return;
+        }
         Intent intent = new Intent();
         intent.setAction("android.intent.action.VIEW");
         Uri content_url = Uri.parse(url);
@@ -665,6 +666,10 @@ public class Jump2View {
      * @param title
      */
     public void goWeb(Context context, String url, String title){
+        if(TextUtils.isEmpty(url) || TextUtils.isEmpty(title)){
+            G.showToast(R.string.service_data_error);
+            return;
+        }
         Intent intent = new Intent(context, ActWeb.class);
         intent.putExtra("url", url);
         intent.putExtra("title", title);
@@ -1028,4 +1033,23 @@ public class Jump2View {
             activity.finish();
         }
     }
+
+    public void tryShowHalfScreenAd(final Activity activity) {
+        SheepApp.getInstance().getNetComponent().getApiService().getAdvertising(2)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(activity) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
+                        Advertising advertising = baseMessage.getData(Advertising.class);
+                        ViewUtil.showHalfScreenAd(advertising);
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
+                    }
+                });
+    }
 }

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

@@ -1,7 +1,8 @@
 package com.sheep.gamegroup.util;
 
+import android.content.ClipData;
+import android.content.ClipboardManager;
 import android.content.Context;
-import android.text.ClipboardManager;
 import android.text.TextUtils;
 
 import java.text.ParseException;
@@ -22,9 +23,16 @@ public class StringUtils {
      * @param context
      * @param text
      */
-    public static void  CopyText(Context context,String  text){
-        ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
-        cm.setText(text);
+    public static boolean  CopyText(Context context,String  text){
+        ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
+        if (clipboardManager != null && !TextUtils.isEmpty(text)) {
+            //创建ClipData对象
+            ClipData clipData = ClipData.newPlainText("sheep text copy", text);
+            //添加ClipData对象到剪切板中
+            clipboardManager.setPrimaryClip(clipData);
+            return true;
+        }
+        return false;
     }
 
     /**

+ 14 - 13
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -61,12 +61,7 @@ public class TestUtil {
     }
 
     private static void debugCopy(final Context context, final TaskEty taskEty) {
-        ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
-        if (clipboardManager != null && !TextUtils.isEmpty(taskEty.getDownload_link())) {
-            //创建ClipData对象
-            ClipData clipData = ClipData.newPlainText("sheep text copy", taskEty.getDownload_link());
-            //添加ClipData对象到剪切板中
-            clipboardManager.setPrimaryClip(clipData);
+        if (StringUtils.CopyText(context, taskEty.getDownload_link())) {
             G.showToast("已经复制游戏下载链接");
         }
     }
@@ -170,28 +165,34 @@ public class TestUtil {
      * @param activity
      */
     public static void test(final Activity activity) {
-        final String[] items = {"交通银行信用卡测试", "浦发银行信用卡测试"};
+        final String[] items = {"交通银行信用卡测试", "浦发银行信用卡测试", "测试游戏模块"};
         AlertDialog dialog = new AlertDialog.Builder(activity).setTitle("请选择要测试的信用卡")
                 .setItems(items, new DialogInterface.OnClickListener() {
 
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
-                        CreditCard creditCard = new CreditCard();
-                        creditCard.setCardName(items[which]);
                         switch (items[which]) {
                             case "交通银行信用卡测试":
+                                CreditCard creditCard = new CreditCard();
+                                creditCard.setCardName(items[which]);
                                 creditCard.setName("交通银行信用卡");
 //                                creditCard.setLoadUrl("http://mobi.yixiaozhao.jiyuonline.com/bank/10");
                                 creditCard.setLoadUrl("https://creditcardapp.bankcomm.com/applynew/front/apply/campus/index.html?trackCode=A021316596752");
                                 creditCard.setScriptUrl("http://10.8.210.172:8095/BCM_Insert.js");
+                                Jump2View.getInstance().goCreditCardWeb(activity, creditCard);
+                                break;
+                            case "测试游戏模块":
+                                Jump2View.getInstance().goMainGame(activity);
                                 break;
                             case "浦发银行信用卡测试":
-                                creditCard.setName("浦发银行信用卡");
-                                creditCard.setLoadUrl("https://ecentre.spdbccc.com.cn/creditcard/indexActivity.htm?data=P754372&itemcode=2017000032");
-                                creditCard.setScriptUrl("http://10.8.210.172:8095/SPDB_Insert.js");
+                                CreditCard creditCard1 = new CreditCard();
+                                creditCard1.setCardName(items[which]);
+                                creditCard1.setName("浦发银行信用卡");
+                                creditCard1.setLoadUrl("https://ecentre.spdbccc.com.cn/creditcard/indexActivity.htm?data=P754372&itemcode=2017000032");
+                                creditCard1.setScriptUrl("http://10.8.210.172:8095/SPDB_Insert.js");
+                                Jump2View.getInstance().goCreditCardWeb(activity, creditCard1);
                                 break;
                         }
-                        Jump2View.getInstance().goCreditCardWeb(activity, creditCard);
                     }
                 }).create();
         dialog.show();

+ 147 - 21
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -3,6 +3,7 @@ package com.sheep.gamegroup.util;
 import android.app.Activity;
 import android.content.Intent;
 import android.graphics.Bitmap;
+import android.media.MediaPlayer;
 import android.net.Uri;
 import android.provider.MediaStore;
 import android.support.v7.app.AlertDialog;
@@ -17,9 +18,13 @@ import android.webkit.WebView;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
+import android.widget.VideoView;
 
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
+import com.sheep.gamegroup.model.entity.Advertising;
+import com.sheep.gamegroup.model.entity.DialogConfig;
+import com.sheep.gamegroup.view.activity.SplashAct;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -50,11 +55,11 @@ public class ViewUtil {
                 .into(iv_qr);
         Glide.with(activity)
                 .load(R.drawable.icon)
-                .apply(new RequestOptions().override(G.WIDTH/5))
+                .apply(new RequestOptions().override(G.WIDTH / 5))
                 .into(iv_qr_small);
         dialog.show();
         Window window = dialog.getWindow();
-        if(window != null) {
+        if (window != null) {
             android.view.WindowManager.LayoutParams p = window.getAttributes();
             p.height = WindowManager.LayoutParams.WRAP_CONTENT;
             p.width = WindowManager.LayoutParams.MATCH_PARENT;
@@ -70,8 +75,8 @@ public class ViewUtil {
             @Override
             public void onClick(View view) {
 
-                File file = ViewUtil.saveImage((View) iv_qr.getParent(), ClassFileHelper.DIR, System.currentTimeMillis()+".jpg");
-                if(file != null) {
+                File file = ViewUtil.saveImage((View) iv_qr.getParent(), ClassFileHelper.DIR, System.currentTimeMillis() + ".jpg");
+                if (file != null) {
                     Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
                     Uri uri = Uri.fromFile(file);
                     intent.setData(uri);
@@ -84,8 +89,10 @@ public class ViewUtil {
         });
 
     }
+
     /**
      * 分享对话框
+     *
      * @param activity
      * @param link
      */
@@ -105,7 +112,7 @@ public class ViewUtil {
         TextView save_pic = view.findViewById(R.id.save_pic);
         final ImageView iv_qr = view.findViewById(R.id.iv_qr);
 
-        if(!TextUtils.isEmpty(link))
+        if (!TextUtils.isEmpty(link))
             tv_link.setText(link);
 
         Glide.with(activity)
@@ -131,8 +138,8 @@ public class ViewUtil {
             @Override
             public void onClick(View v) {
 
-                File file = ViewUtil.saveImage((View) iv_qr.getParent(), ClassFileHelper.DIR, System.currentTimeMillis()+".jpg");
-                if(file != null) {
+                File file = ViewUtil.saveImage((View) iv_qr.getParent(), ClassFileHelper.DIR, System.currentTimeMillis() + ".jpg");
+                if (file != null) {
                     Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
                     Uri uri = Uri.fromFile(file);
                     intent.setData(uri);
@@ -167,12 +174,15 @@ public class ViewUtil {
         }
         return bitmap;
     }
+
     public static void sysSaveImage(View view, String title, String description) {
         MediaStore.Images.Media.insertImage(view.getContext().getContentResolver(), getCacheBitmapFromView(view), title, description);
     }
+
     public static File saveImage(View view, String dir, String fileName) {
         return saveImage(getCacheBitmapFromView(view), dir, fileName);
     }
+
     public static File saveImage(Bitmap bmp, String dir, String fileName) {
         File appDir = new File(dir);
         if (!appDir.exists()) {
@@ -192,11 +202,13 @@ public class ViewUtil {
         }
         return null;
     }
-    public static void setH5Text(TextView textView, String content){
+
+    public static void setH5Text(TextView textView, String content) {
         textView.setText(Html.fromHtml(content));
         textView.setMovementMethod(new ScrollingMovementMethod());
     }
-    public static void loadDataWithBaseURL(WebView webView, String content){
+
+    public static void loadDataWithBaseURL(WebView webView, String content) {
         webView.loadDataWithBaseURL(null,
                 new StringBuilder("<html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" /><style>img{max-width:100% !important;height:auto !important;}</style><style>body{max-width:100% !important;}</style></head><body>").append(content).append("</body></html>").toString()
                 , "text/html", "utf-8", null);
@@ -208,12 +220,20 @@ public class ViewUtil {
 
 
     public static void showMsgDialog(final Activity activity, String msg) {
-        showMsgDialog(activity, msg, null, null, null);
+        showMsgDialog(activity, new DialogConfig().setMsg(msg));
     }
-    public static void showMsgDialog(final Activity activity, String msg, String title, String sureText) {
-        showMsgDialog(activity, msg, title, sureText, null);
+
+    public static void showMsgDialog(final Activity activity, String msg, String title) {
+        showMsgDialog(activity, new DialogConfig().setMsg(msg).setTitle(title));
     }
-    public static void showMsgDialog(final Activity activity, String msg, String title, String sureText, final View.OnClickListener onClickListener) {
+
+    public static void showMsgDialog(final Activity activity, DialogConfig dialogConfig) {
+        String title = dialogConfig.getTitle();
+        String msg = dialogConfig.getMsg();
+        String btnLeftText = dialogConfig.getBtnLeftText();
+        final View.OnClickListener btnLeftOnClickListener = dialogConfig.getBtnLeftOnClickListener();
+        String btnRightText = dialogConfig.getBtnRightText();
+        final View.OnClickListener btnRightOnClickListener = dialogConfig.getBtnRightOnClickListener();
         View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
         final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
                 .setView(dialog_parent)
@@ -222,19 +242,35 @@ public class ViewUtil {
         View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
         LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
         View view = LayoutInflater.from(activity).inflate(R.layout.x_msg_dialog, dialog_center_ll, true);
-        if(!TextUtils.isEmpty(title))
+        if (!TextUtils.isEmpty(title))
             dialog_title.setText(title);
 
         TextView dialog_msg = view.findViewById(R.id.dialog_msg);
-        TextView dialog_sure = view.findViewById(R.id.dialog_sure);
         dialog_msg.setText(msg);
-        if(!TextUtils.isEmpty(sureText))
-            dialog_sure.setText(sureText);
-        dialog_sure.setOnClickListener(new View.OnClickListener() {
+
+        TextView dialog_btn_left = view.findViewById(R.id.dialog_btn_left);
+        dialog_btn_left.setVisibility(btnLeftText != null || btnLeftOnClickListener != null ? View.VISIBLE : View.GONE);
+        if (!TextUtils.isEmpty(btnLeftText))
+            dialog_btn_left.setText(btnLeftText);
+        dialog_btn_left.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if(onClickListener != null){
-                    onClickListener.onClick(v);
+                if (btnLeftOnClickListener != null) {
+                    btnLeftOnClickListener.onClick(v);
+                }
+                dialog.dismiss();
+            }
+        });
+
+        TextView dialog_btn_right = view.findViewById(R.id.dialog_btn_right);
+        dialog_btn_right.setVisibility(btnRightText != null || btnRightOnClickListener != null ? View.VISIBLE : View.GONE);
+        if (!TextUtils.isEmpty(btnRightText))
+            dialog_btn_right.setText(btnRightText);
+        dialog_btn_right.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (btnLeftOnClickListener != null) {
+                    btnLeftOnClickListener.onClick(v);
                 }
                 dialog.dismiss();
             }
@@ -249,4 +285,94 @@ public class ViewUtil {
     }
 
     public static final int REQUEST_CODE_TASK_LIST = 110;
-}
+
+    public static void showHalfScreenAd(final Advertising advertising) {
+        final Activity activity = ActivityManager.getInstance().currentActivity();
+        if (activity != null) {
+            View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
+            final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
+                    .setView(dialog_parent)
+                    .create();
+            TextView dialog_title = dialog_parent.findViewById(R.id.dialog_title);
+            final View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
+            LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
+            View view = LayoutInflater.from(activity).inflate(R.layout.dialog_half_screen_ad, dialog_center_ll, true);
+            dialog_title.setText("推荐给好友");
+
+            ImageView ad_iv = view.findViewById(R.id.ad_iv);
+            VideoView ad_video_view = view.findViewById(R.id.ad_video_view);
+            TextView ad_msg = view.findViewById(R.id.ad_msg);
+            final TextView ad_skip = view.findViewById(R.id.ad_skip);
+            TextView know_ad_tv = view.findViewById(R.id.know_ad_tv);
+
+
+            if (advertising.isImage()) {
+                Glide.with(activity).load(advertising.getDisplay_src()).into(ad_iv);
+                ad_video_view.setVisibility(View.GONE);
+            } else {
+                Uri uri = Uri.parse(advertising.getDisplay_src());
+                ad_iv.setVisibility(View.GONE);
+                final VideoView videoView = ad_video_view;
+                videoView.setOnInfoListener(new MediaPlayer.OnInfoListener() {
+                    @Override
+                    public boolean onInfo(MediaPlayer mediaPlayer, int what, int extra) {
+                        if (!mediaPlayer.isLooping())
+                            mediaPlayer.setLooping(true);
+                        LogUtil.println("onInfo what = " + what + " extra = " + extra);
+                        return false;
+                    }
+                });
+                videoView.setVideoURI(uri);
+                videoView.start();
+                videoView.requestFocus();
+            }
+            RxjavaCountDownTimer timer = null;
+            if (advertising.getShow_time() > 0)
+                timer = RxjavaCountDownTimer.getInstance(advertising.getShow_time())
+                        .setOnTickListener(new RxjavaCountDownTimer.OnTickListener() {
+                            @Override
+                            public void onFinish() {
+                                dialog_close.setEnabled(true);
+                                ad_skip.setEnabled(true);
+                                ad_skip.setText("跳过");
+                            }
+
+                            @Override
+                            public void onTicker(long time) {
+                                dialog_close.setEnabled(false);
+                                ad_skip.setEnabled(false);
+                                ad_skip.setText(activity.getString(R.string.tip_skip, time));
+                            }
+                        }).start();
+
+            final RxjavaCountDownTimer finalTimer = timer;
+
+            dialog_close.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (finalTimer != null) {
+                        finalTimer.clear();
+                    }
+                    dialog.dismiss();
+                }
+            });
+
+            know_ad_tv.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    SplashAct.goAdLink(ActivityManager.getInstance().currentActivity(), advertising);
+                    if (finalTimer != null) {
+                        finalTimer.clear();
+                    }
+                    dialog.dismiss();
+                }
+            });
+            if(TextUtils.isEmpty(advertising.getDesc())) {
+                ad_msg.setVisibility(View.GONE);
+            } else {
+                ad_msg.setText(advertising.getDesc());
+            }
+            dialog.show();
+        }
+    }
+}

+ 87 - 64
app/src/main/java/com/sheep/gamegroup/view/activity/RealNameAuthenAct.java

@@ -1,17 +1,19 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
 import android.widget.EditText;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.googlecode.protobuf.format.util.TextUtils;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.di.components.DaggerRealNameAutherComponent;
 import com.sheep.gamegroup.di.modules.RealNameAutherModule;
 import com.sheep.gamegroup.event.RealNameAutehrChange;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.presenter.RealNameAutherContract;
@@ -20,6 +22,7 @@ import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.StringUtils;
 import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.dialog.DialogRealNameAuther;
 import com.sheep.jiuyan.samllsheep.R;
 
@@ -48,6 +51,8 @@ public class RealNameAuthenAct extends BaseActivity implements RealNameAutherCon
     EditText etIdCard;
     @BindView(R.id.et_bank)
     EditText etBank;
+    @BindView(R.id.et_bank_mobile)
+    EditText et_bank_mobile;
     @BindView(R.id.tv_submit)
     TextView tvSubmit;
     @BindView(R.id.et_name)
@@ -55,13 +60,13 @@ public class RealNameAuthenAct extends BaseActivity implements RealNameAutherCon
 
     UserEntity mEntity;
     @Inject
-    RealNameAutherPresenter  presenter;
+    RealNameAutherPresenter presenter;
 
-    HashMap<String ,String>  map=new HashMap<>();
+    HashMap<String, String> map = new HashMap<>();
 
     private int whereFrom;
 
-    private  int  count=0;
+    private int count = 0;
 
     @Override
     protected int getLayoutId() {
@@ -76,9 +81,10 @@ public class RealNameAuthenAct extends BaseActivity implements RealNameAutherCon
     @Override
     public void initListener() {
     }
+
     @Override
     public void initData() {
-       DaggerRealNameAutherComponent.builder().netComponent(SheepApp.get(this).getNetComponent()).realNameAutherModule( new RealNameAutherModule(this)).build().inject(this);
+        DaggerRealNameAutherComponent.builder().netComponent(SheepApp.get(this).getNetComponent()).realNameAutherModule(new RealNameAutherModule(this)).build().inject(this);
         TitleBarUtils
                 .getInstance()
                 .setTitle(this, "实名认证")
@@ -89,28 +95,33 @@ public class RealNameAuthenAct extends BaseActivity implements RealNameAutherCon
         if (i != null && i.hasExtra("info")) {
             mEntity = (UserEntity) i.getSerializableExtra("info");
             whereFrom = i.getIntExtra("where_from", 0);
-            if(mEntity!=null) {
+            if (mEntity != null) {
 
-                if(!android.text.TextUtils.isEmpty(mEntity.getReal_name())){
+                if (!TextUtils.isEmpty(mEntity.getReal_name())) {
                     etName.setText(mEntity.getReal_name());
-                    count=count+1;
+                    count = count + 1;
                     etName.setEnabled(false);
                 }
-                if(!android.text.TextUtils.isEmpty(mEntity.getId_number())){
+                if (!TextUtils.isEmpty(mEntity.getId_number())) {
                     etIdCard.setText(mEntity.getId_number());
-                    count=count+1;
+                    count = count + 1;
                     etIdCard.setEnabled(false);
                 }
 
-                if(!android.text.TextUtils.isEmpty(mEntity.getBank_card())){
+                if (!TextUtils.isEmpty(mEntity.getBank_card())) {
                     etBank.setText(mEntity.getBank_card());
-                    count=count+1;
+                    count = count + 1;
                     etBank.setEnabled(false);
                 }
-                if(count>=3){
+                if (!TextUtils.isEmpty(mEntity.getBank_card_mobile())) {
+                    et_bank_mobile.setText(mEntity.getBank_card_mobile());
+                    count = count + 1;
+                    et_bank_mobile.setEnabled(false);
+                }
+                if (count >= 4) {
                     tvSubmit.setEnabled(false);
                     tvSubmit.setBackgroundColor(getResources().getColor(R.color.txt_black_9e9c9c));
-                }else{
+                } else {
                     DialogRealNameAuther.showDialog(this);
                 }
 
@@ -122,22 +133,21 @@ public class RealNameAuthenAct extends BaseActivity implements RealNameAutherCon
 
     @Override
     public void NetSuccess(int code, String msg, String s) {
-          hideProgress();
-          showToast(msg);
-           RealNameAutehrChange  change=new RealNameAutehrChange();
-           for(String key:map.keySet())
-           {
-              if(key.equals("real_name")&& !android.text.TextUtils.isEmpty(map.get(key))){
-                  change.setRealName(map.get(key));
-              }
-               if(key.equals("id_number")&& !android.text.TextUtils.isEmpty(map.get(key))){
-                   change.setIdCard(map.get(key));
-               }
-               if(key.equals("bank_card")&& !android.text.TextUtils.isEmpty(map.get(key))){
-                   change.setBanck(map.get(key));
-               }
-
-         }
+        hideProgress();
+        showToast(msg);
+        RealNameAutehrChange change = new RealNameAutehrChange();
+        for (String key : map.keySet()) {
+            if (key.equals("real_name") && !TextUtils.isEmpty(map.get(key))) {
+                change.setRealName(map.get(key));
+            }
+            if (key.equals("id_number") && !TextUtils.isEmpty(map.get(key))) {
+                change.setIdCard(map.get(key));
+            }
+            if (key.equals("bank_card") && !TextUtils.isEmpty(map.get(key))) {
+                change.setBanck(map.get(key));
+            }
+
+        }
         EventBus.getDefault().post(change);
         SheepApp.get(RealNameAuthenAct.this)
                 .getNetComponent()
@@ -148,7 +158,7 @@ public class RealNameAuthenAct extends BaseActivity implements RealNameAutherCon
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        G.showToast(baseMessage.getMsg() +"");
+                        G.showToast(baseMessage.getMsg() + "");
                         finish();
 
                     }
@@ -161,7 +171,7 @@ public class RealNameAuthenAct extends BaseActivity implements RealNameAutherCon
                         } catch (Exception e) {
                             e.printStackTrace();
                         }
-                        if(whereFrom == 1){
+                        if (whereFrom == 1) {
                             Jump2View.getInstance().goWithdrawal(RealNameAuthenAct.this, 1);
                         }
                         finish();
@@ -176,49 +186,62 @@ public class RealNameAuthenAct extends BaseActivity implements RealNameAutherCon
     }
 
 
+    @OnClick({R.id.tv_submit, R.id.name_tip_iv, R.id.real_name_know_tv})
+    public void onClick(View view) {
+        switch (view.getId()) {
+            case R.id.tv_submit:
+                toNext();
+                break;
+            case R.id.real_name_know_tv:
+                ViewUtil.showMsgDialog(this, "安全保障:风控系统实时监控,保护你的资金安全隐私保护:高强度数据加密,保护用户隐私信息了解详情,请致电小绵羊客服:028-88612993");
+                break;
+            case R.id.name_tip_iv:
+                ViewUtil.showMsgDialog(this, "为了保证账户及账户资金安全,只能绑定认证用户本人的银行卡及身份证号","持卡人说明");
+                break;
+        }
+    }
 
-    @OnClick(R.id.tv_submit)
-    public void onClick() {
+    public void toNext() {
         String realName;
         String idNumber;
-        if(android.text.TextUtils.isEmpty((realName = etName.getText().toString()))){
-           showToast("姓名不能为空");
-           return;
-        } else if(android.text.TextUtils.isEmpty((idNumber = etIdCard.getText().toString()))){
+        String bankCard;
+        String bankCardMobile;
+        if (TextUtils.isEmpty((realName = etName.getText().toString()))) {
+            showToast("姓名不能为空");
+            return;
+        } else if (TextUtils.isEmpty((idNumber = etIdCard.getText().toString()))) {
             showToast("身份证不能为空");
             return;
+        } else if (TextUtils.isEmpty((bankCard = etBank.getText().toString()))) {
+            showToast("银行卡号不能为空");
+            return;
+        } else if (TextUtils.isEmpty((bankCardMobile = et_bank_mobile.getText().toString()))) {
+            showToast("银行行预留手机号不能为空");
+            return;
         }
         map.put("real_name", realName);
-        String str=StringUtils.IDCardValidate(idNumber);
-         if(!str.equals("YES")){
-             showToast(str+":请填写正确的身份证信息哈!");
-             return ;
-
-         }else{
-             map.put("id_number", idNumber);
-//             if(!android.text.TextUtils.isEmpty(etBank.getText().toString())){
-//                 if(StringUtils.checkBankCard(etBank.getText().toString())){
-//                     map.put("bank_card",etBank.getText().toString());
-//                 }else{
-//                     showToast("银行卡不合法哈!");
-//                     return ;
-//
-//                 }
-//             }
-         }
-
-
-        if(map.size()>0){
-            presenter.getTask(map);
-            UMConfigUtils.onEvent(UMConfigUtils.Event.USER_AUTHENTICATION);
-        }else{
-            showToast("亲! 请填写修改信息哈");
-        }
-
 
+        String str = StringUtils.IDCardValidate(idNumber);
+        if (!str.equals("YES")) {
+            showToast(str + ":请填写正确的身份证信息哈!");
+            return;
+        }
+        map.put("id_number", idNumber);
 
+        if (!StringUtils.checkBankCard(bankCard)) {
+            showToast("银行卡不合法哈!");
+            return;
+        }
+        map.put("bank_card", bankCard);
 
+        if (!StringUtils.isMobile(bankCardMobile)) {
+            showToast("银行卡预留手机号不合法哈!");
+            return;
+        }
+        map.put("bank_card_mobile", bankCardMobile);
 
+        presenter.getTask(map);
+        UMConfigUtils.onEvent(UMConfigUtils.Event.USER_AUTHENTICATION);
     }
 
 

+ 50 - 41
app/src/main/java/com/sheep/gamegroup/view/activity/SignCardAct.java

@@ -17,6 +17,7 @@ import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.di.components.DaggerSignCardComponent;
 import com.sheep.gamegroup.di.modules.SignCardModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.DialogEntity;
 import com.sheep.gamegroup.model.entity.PunchAndSign;
 import com.sheep.gamegroup.model.entity.UserEntity;
@@ -83,12 +84,12 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
                 .getInstance()
                 .setTitle(activity, "每日打卡")
                 .setTitleFinish(activity)
-                .setRightBotton(activity, "战绩",0, new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Jump2View.getInstance().goSignRecordAct(activity, null);
-            }
-        });
+                .setRightBotton(activity, "战绩", 0, new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        Jump2View.getInstance().goSignRecordAct(activity, null);
+                    }
+                });
         DaggerSignCardComponent.builder()
                 .netComponent(SheepApp.get(this).getNetComponent())
                 .signCardModule(new SignCardModule(this))
@@ -114,23 +115,24 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
 
     /**
      * 打卡返回
+     *
      * @param o
      */
     @Override
     public void succSignPunch(BaseMessage o) {
 //        {"code":200,"msg":"OK"}
-        if("OK".equals(o.getMsg())){
-                        Jump2View.getInstance()
-                        .goNoticeAct(activity, new DialogEntity("恭喜您",
+        if ("OK".equals(o.getMsg())) {
+            Jump2View.getInstance()
+                    .goNoticeAct(activity, new DialogEntity("恭喜您",
                             "打卡成功,活动结束后平分奖励会直接发放到个人账户中",
-                                    "查看战绩",
-                                    "好的",
-                                EventTypes.REFRESH_DATA_SIGN));
+                            "查看战绩",
+                            "好的",
+                            EventTypes.REFRESH_DATA_SIGN));
             presenter.goPunchAndSignCount();//(刷新数据)获取可打卡和报名人数
             punchType = 2;//1未报名 2已打卡 3可以打卡 4已经过了时间 5活动暂未开始
             signTvLjdk.setEnabled(false);
             signTvLjdk.setText("已打卡");
-        }else {
+        } else {
             showToast(o.getMsg());
             presenter.goPunchCanpunch();
         }
@@ -138,23 +140,25 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
 
     /**
      * 一元报名返回
+     *
      * @param o
      */
     @Override
     public void succSignUp(BaseMessage o) {
 //        {"code":200,"msg":"OK"}
-        if("OK".equals(o.getMsg())){
+        if ("OK".equals(o.getMsg())) {
             signTvYybm.setEnabled(false);
             signTvYybm.setText("已报名");
-            ViewUtil.showMsgDialog(activity, "记得明日7:00-9:00来参加打卡哦!", "恭喜你,报名成功", "设置闹铃提醒", new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    //跳转到系统闹钟
-                    SysAppUtil.startAlermApp(activity, "小绵羊打卡任务", 7,5);
-                }
-            });
+            ViewUtil.showMsgDialog(activity, new DialogConfig().setMsg("记得明日7:00-9:00来参加打卡哦!").setTitle("恭喜你,报名成功").setBtnLeftText("设置闹铃提醒")
+                    .setBtnLeftOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View view) {
+                            //跳转到系统闹钟
+                            SysAppUtil.startAlermApp(activity, "小绵羊打卡任务", 7, 5);
+                        }
+                    }));
             presenter.goPunchAndSignCount();//(刷新数据)获取可打卡和报名人数
-        }else {
+        } else {
             showToast(o.getMsg());
             presenter.goPunchCanSignUp();
         }
@@ -162,6 +166,7 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
 
     /**
      * 可获得的奖励返回
+     *
      * @param o
      */
     @Override
@@ -174,22 +179,24 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
             e.printStackTrace();
         }
         int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
-        if(TextUtils.isEmpty(text) || award <= 0 || hour < 9) {
+        if (TextUtils.isEmpty(text) || award <= 0 || hour < 9) {
             signTvDkjl.setText("系统计算中");
         } else {
-            signTvDkjl.setText(getString(R.string.sign_jppj,o.getData().toString()));//平分的金额
+            signTvDkjl.setText(getString(R.string.sign_jppj, o.getData().toString()));//平分的金额
             signTvDkjl.setTextColor(0xffff0006);
         }
     }
+
     /**
      * 获取是否可以打卡
      * 1未报名 2已打卡 3可以打卡,4 超出打卡时间
+     *
      * @param o
      */
     @Override
     public void succPunchCanpunch(BaseMessage o) {
         punchType = o.getData(Integer.class);
-        if(punchType == 2) {//1未报名 2已打卡 3可以打卡 4已经过了时间 5活动暂未开始
+        if (punchType == 2) {//1未报名 2已打卡 3可以打卡 4已经过了时间 5活动暂未开始
             signTvLjdk.setEnabled(false);
             signTvLjdk.setText("已打卡");
         } else {
@@ -198,11 +205,10 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
     }
 
 
-
-
     /**
      * 判断今日是否能报名
-     *  true可以 false不可以
+     * true可以 false不可以
+     *
      * @param o
      */
     @Override
@@ -214,13 +220,14 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
 
     /**
      * 获取可打卡和报名人数
+     *
      * @param o
      */
     @Override
     public void succPunchAndSignCount(BaseMessage o) {
         PunchAndSign punchAndSign = o.getData(PunchAndSign.class);
-        signTvJrcyrs.setText(String.format(getString(R.string.sign_number),punchAndSign.getPunch_count()));
-        signTvJrbmrs.setText(String.format(getString(R.string.sign_number1),punchAndSign.getSign_up_count()));
+        signTvJrcyrs.setText(String.format(getString(R.string.sign_number), punchAndSign.getPunch_count()));
+        signTvJrbmrs.setText(String.format(getString(R.string.sign_number1), punchAndSign.getSign_up_count()));
 
         signTvKpf.setText(getSpannableString(punchAndSign.getTotal_award()));//今日可分
         signTvMrcyrs.setText(getSpannableString(punchAndSign.getSign_up_count()));//明日可分
@@ -247,26 +254,28 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
     }
 
     private UserEntity userEntity;
+
     private void trySignUp() {
-        if(userEntity == null) {
+        if (userEntity == null) {
             try {
                 userEntity = MyDbManager.getInstance().dbFindUser();
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }
-        if(userEntity == null || TextUtils.isEmpty(userEntity.getBalance())){
+        if (userEntity == null || TextUtils.isEmpty(userEntity.getBalance())) {
             G.showToast(R.string.unknown_error);
-        } else if(NumberFormatUtils.parseFloat(userEntity.getBalance()) >= 1){
+        } else if (NumberFormatUtils.parseFloat(userEntity.getBalance()) >= 1) {
             UMConfigUtils.Event.PUNCH_PUNCH.onEvent();
             presenter.goSignUp();
-        }else {
-            ViewUtil.showMsgDialog(activity, "抱歉,你的余额不足,请先去充值再来参与打卡哦!", null, "去充值、好的", new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    Jump2View.getInstance().goSignRechargeAct(activity,null);
-                }
-            });
+        } else {
+            ViewUtil.showMsgDialog(activity, new DialogConfig().setMsg("抱歉,你的余额不足,请先去充值再来参与打卡哦!").setBtnLeftText("去充值、好的")
+                    .setBtnLeftOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View view) {
+                            Jump2View.getInstance().goSignRechargeAct(activity, null);
+                        }
+                    }));
         }
     }
 
@@ -293,7 +302,7 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
 
     @RequiresApi(api = Build.VERSION_CODES.ECLAIR)
     private SpannableString getSpannableString(String price) {
-        String text = String.format(getString(R.string.sign_record_money),price);
+        String text = String.format(getString(R.string.sign_record_money), price);
         SpannableString spannableString = new SpannableString(text);
         spannableString.setSpan(new AbsoluteSizeSpan(14, true), text.length() - 1, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
         return spannableString;

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

@@ -4,8 +4,10 @@ import android.Manifest;
 import android.app.Activity;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.media.MediaPlayer;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.Environment;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -15,16 +17,24 @@ import android.support.annotation.Nullable;
 import android.support.v7.app.AlertDialog;
 import android.text.TextUtils;
 import android.view.View;
+import android.widget.ImageView;
+import android.widget.MediaController;
 import android.widget.TextView;
+import android.widget.VideoView;
 
-import com.kfzs.duanduan.utils.ApkUtils;
+import com.alibaba.fastjson.JSON;
+import com.bumptech.glide.Glide;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.Advertising;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.util.PreferenceUtils;
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.RxjavaCountDownTimer;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.utils.SpUtils;
+import com.sheep.jiuyan.samllsheep.utils.G;
 
 import java.util.List;
 
@@ -32,12 +42,24 @@ import butterknife.BindView;
 import butterknife.OnClick;
 import pub.devrel.easypermissions.AfterPermissionGranted;
 import pub.devrel.easypermissions.EasyPermissions;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
 
 /**
  * Created by ljy on 2018/3/9.
  */
 
 public class SplashAct extends BaseActivity implements EasyPermissions.PermissionCallbacks {
+    @BindView(R.id.splash_bg)
+    ImageView splash_bg;
+    @BindView(R.id.splash_skip)
+    TextView splash_skip;
+    @BindView(R.id.splash_know_ad_tv)
+    TextView splash_know_ad_tv;
+
+
+    @BindView(R.id.splash_video_view)
+    VideoView splash_video_view;
     @BindView(R.id.btn_join)
     TextView btnJoin;
     private Activity activity;
@@ -53,6 +75,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
             Manifest.permission.READ_EXTERNAL_STORAGE,
             Manifest.permission.READ_PHONE_STATE
     };
+    private RxjavaCountDownTimer timer;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -71,33 +94,35 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
         requestCodePermissions();
     }
 
+    private boolean isRequestCodePermissions = true;//是否正在获取权限或者没有获取到权限
     @AfterPermissionGranted(PERMISSON_REQUESTCODE)
     private void requestCodePermissions() {
         if (!EasyPermissions.hasPermissions(this, needPermissions)) {
             EasyPermissions.requestPermissions(this, "应用需要这些权限", PERMISSON_REQUESTCODE, needPermissions);
         } else {
-//            setContentView(R.layout.splash_activity);
-//            if(Build.VERSION.SDK_INT >= 21){
-//                animWelcomeImage();
-//
-//            }else {
-//            }
-            mHandler.sendEmptyMessageDelayed(0, BuildConfig.DEBUG ? 100 : 1000);
+            isRequestCodePermissions = false;
+            mHandler.removeMessages(0);
+            mHandler.sendEmptyMessageDelayed(0, 100);
         }
     }
 
-    Handler mHandler = new Handler(Looper.getMainLooper()){
+    Handler mHandler = new Handler(Looper.getMainLooper()) {
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
-            if(!isClick){
-                isClick = true;
-                Jump2View.getInstance().gotoGuide(activity);
-            }
+            if(!isRequestCodePermissions && !isLoaddingData)
+                gotoNext();
 
         }
     };
 
+    private void gotoNext() {
+        if (!isClick) {
+            isClick = true;
+            Jump2View.getInstance().gotoGuide(activity);
+        }
+    }
+
     @Override
     protected int getLayoutId() {
         return R.layout.splash_activity;
@@ -112,10 +137,85 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     public void initListener() {
 
     }
-
+    private boolean isLoaddingData = true;//是否正在获取开屏广告数据
+    private Advertising advertising;
     @Override
     public void initData() {
+        SheepApp.getInstance().getNetComponent().getApiService().getAdvertising(1)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(activity) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
+                        advertising = baseMessage.getData(Advertising.class);
+                        isLoaddingData = false;
+                        if(advertising == null || TextUtils.isEmpty(advertising.getDisplay_src())){
+                            mHandler.removeMessages(0);
+                            mHandler.sendEmptyMessageDelayed(0, 100);
+                        } else {
+                            try {
+                                loadAdvertising();
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
+                        isLoaddingData = false;
+                        mHandler.removeMessages(0);
+                        mHandler.sendEmptyMessageDelayed(0, 100);
+                    }
+                });
+        Jump2View.getInstance().tryShowHalfScreenAd(activity);
+    }
+
+    private void loadAdvertising() {
+        if(advertising.isImage()) {
+            Glide.with(activity).load(advertising.getDisplay_src()).into(splash_bg);
+        } else {
+            Uri uri = Uri.parse(advertising.getDisplay_src());
+            splash_video_view.setVisibility(View.VISIBLE);
+            final VideoView videoView = splash_video_view;
+            videoView.setOnInfoListener(new MediaPlayer.OnInfoListener() {
+                @Override
+                public boolean onInfo(MediaPlayer mediaPlayer, int what, int extra) {
+                    if(!mediaPlayer.isLooping())
+                        mediaPlayer.setLooping(true);
+                    LogUtil.println("onInfo what = " + what + " extra = " + extra);
+                    if(MediaPlayer.MEDIA_INFO_BUFFERING_START == what){
+                        splash_bg.setVisibility(View.GONE);
+                        btnJoin.setVisibility(View.GONE);
+                    }
+                    return false;
+                }
+            });
+            videoView.setVideoURI(uri);
+            videoView.start();
+            videoView.requestFocus();
+        }
 
+        splash_skip.setVisibility(View.VISIBLE);
+        splash_know_ad_tv.setVisibility(View.VISIBLE);
+        if(advertising.getShow_time() > 0)
+            timer = RxjavaCountDownTimer.getInstance(advertising.getShow_time())
+                    .setOnTickListener(new RxjavaCountDownTimer.OnTickListener() {
+                        @Override
+                        public void onFinish() {
+                            splash_skip.setEnabled(true);
+                            splash_skip.setText("跳过");
+                        }
+
+                        @Override
+                        public void onTicker(long time) {
+                            splash_skip.setEnabled(false);
+                            splash_skip.setText(activity.getString(R.string.tip_skip, time));
+                        }
+                    }).start();
+        mHandler.removeMessages(0);
     }
 
     @Override
@@ -170,24 +270,59 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
         super.onActivityResult(requestCode, resultCode, data);
     }
 
-    @OnClick(R.id.btn_join)
+    @OnClick({R.id.btn_join, R.id.splash_skip, R.id.splash_know_ad_tv})
     public void onViewClicked(View view) {
-        switch (view.getId()){
+        switch (view.getId()) {
             case R.id.btn_join:
-                if(!isClick){
-                    isClick = true;
-                    Jump2View.getInstance().gotoGuide(activity);
-                }
+            case R.id.splash_skip:
+                gotoNext();
                 break;
+            case R.id.splash_know_ad_tv:
+                goAdLink(activity, advertising);
+                finish();
+                break;
+        }
+    }
+
+    public static void goAdLink(Activity activity, Advertising advertising) {
+        if(advertising != null){
+            switch(advertising.getLinkType()){//转跳类型1:H5外部 2:H5内部 3:试玩赚钱 4:单个任务 5:信用卡 6:微信二维码 7:连续任务 8:打卡赚钱
+                case 1:
+                    Jump2View.getInstance().goWeb(activity, advertising.getLink());
+                    break;
+                case 2:
+                    Jump2View.getInstance().goWeb(activity, advertising.getLink(), advertising.getName());
+                    break;
+                case 3:
+                    Jump2View.getInstance().goTryplayView(activity, null);
+                    break;
+                case 4:
+                    Jump2View.getInstance().goTaskDetailView(activity, advertising.getLink_id());
+                    break;
+                case 5:
+                    Jump2View.getInstance().goCreditCardTaskList(activity, null);
+                    break;
+                case 6:
+                    Jump2View.getInstance().goWeb(activity, advertising.getLink(), "微信二维码辅助好友注册任务");
+                    break;
+                case 7:
+                    Jump2View.getInstance().goTryplayView(activity, 1);
+                    break;
+                case 8:
+                    Jump2View.getInstance().goSignCardAct(activity, null);
+                    break;
+            }
         }
     }
 
     @Override
     public void onActivityReenter(int resultCode, Intent data) {
         super.onActivityReenter(resultCode, data);
-        try{
-            mHandler.sendEmptyMessageDelayed(0, 300);
-        }catch (Exception e){
+        isRequestCodePermissions = false;
+        try {
+            mHandler.removeMessages(0);
+            mHandler.sendEmptyMessageDelayed(0, 100);
+        } catch (Exception e) {
             e.printStackTrace();
         }
     }
@@ -195,9 +330,11 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     @Override
     protected void onDestroy() {
         super.onDestroy();
-        try{
+        if(timer != null)
+            timer.clear();
+        try {
             mHandler.removeMessages(0);
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
     }

+ 8 - 0
app/src/main/res/drawable/btn_main_stroke.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="@dimen/radius_25" />
+    <stroke
+        android:width="1dp"
+        android:color="@color/btn_color_main_stroke" />
+</shape>

+ 8 - 0
app/src/main/res/drawable/btn_main_stroke_click.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="@dimen/radius_25" />
+    <stroke
+        android:width="1dp"
+        android:color="@color/theme_app_highlight_more" />
+</shape>

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

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+  <item android:state_enabled="false" android:drawable="@drawable/button_full_normal_gray" />
+  <item android:state_focused="true" android:drawable="@drawable/btn_main_stroke_click" />
+  <item android:state_checked="true" android:drawable="@drawable/btn_main_stroke_click"/>
+  <item android:state_selected="true" android:drawable="@drawable/btn_main_stroke_click"/>
+  <item android:state_pressed="true" android:drawable="@drawable/btn_main_stroke_click"/>
+  <item android:drawable="@drawable/btn_main_stroke"/>
+</selector>

+ 1 - 1
app/src/main/res/drawable/shape_ash_solid_rectangle.xml

@@ -1,6 +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="10dp" />
+    <corners android:radius="15dp" />
     <solid android:color="#E5E5E5" />
 </shape>

+ 6 - 0
app/src/main/res/drawable/shape_ash_solid_rectangle_small.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="10dp" />
+    <solid android:color="#E5E5E5" />
+</shape>

+ 60 - 0
app/src/main/res/layout/dialog_half_screen_ad.xml

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_centerInParent="true"
+        android:orientation="vertical">
+
+        <ImageView
+            android:id="@+id/ad_iv"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:adjustViewBounds="true"
+            android:scaleType="fitXY"/>
+        <VideoView
+            android:id="@+id/ad_video_view"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+        <TextView
+            android:id="@+id/ad_msg"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+    </LinearLayout>
+
+    <TextView
+        android:id="@+id/ad_skip"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentEnd="true"
+        android:layout_alignParentTop="true"
+        android:layout_margin="@dimen/content_padding_20"
+        android:background="@drawable/shape_ash_solid_rectangle_small"
+        android:paddingBottom="2dp"
+        android:paddingEnd="@dimen/content_padding_15"
+        android:paddingStart="@dimen/content_padding_15"
+        android:paddingTop="2dp"
+        android:text="跳过"
+        android:textColor="#918F8F"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/know_ad_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentEnd="true"
+        android:layout_margin="@dimen/content_padding_20"
+        android:background="@drawable/shape_ash_solid_rectangle_small"
+        android:paddingBottom="2dp"
+        android:paddingEnd="@dimen/content_padding_15"
+        android:paddingStart="@dimen/content_padding_15"
+        android:paddingTop="2dp"
+        android:text="查看详情"
+        android:textColor="#918F8F"
+        android:textSize="14sp" />
+
+</RelativeLayout>

+ 42 - 3
app/src/main/res/layout/splash_activity.xml

@@ -1,14 +1,53 @@
 <?xml version="1.0" encoding="utf-8"?>
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-             android:layout_width="match_parent"
-             android:layout_height="match_parent"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@android:color/black"
     android:orientation="vertical">
 
+    <VideoView
+        android:id="@+id/splash_video_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_gravity="center"
+        android:visibility="gone" />
+    <TextView
+        android:id="@+id/splash_skip"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="top|end"
+        android:paddingTop="2dp"
+        android:paddingBottom="2dp"
+        android:paddingStart="@dimen/content_padding_15"
+        android:paddingEnd="@dimen/content_padding_15"
+        android:layout_margin="@dimen/content_padding_20"
+        android:textColor="#918F8F"
+        android:textSize="14sp"
+        android:background="@drawable/shape_ash_solid_rectangle_small"
+        android:visibility="gone"
+        android:text="跳过" />
+    <TextView
+        android:id="@+id/splash_know_ad_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="bottom|end"
+        android:paddingTop="2dp"
+        android:paddingBottom="2dp"
+        android:paddingStart="@dimen/content_padding_15"
+        android:paddingEnd="@dimen/content_padding_15"
+        android:layout_margin="@dimen/content_padding_20"
+        android:textColor="#918F8F"
+        android:textSize="14sp"
+        android:background="@drawable/shape_ash_solid_rectangle_small"
+        android:visibility="gone"
+        android:text="查看详情" />
+
     <ImageView
+        android:id="@+id/splash_bg"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:scaleType="centerCrop"
-        android:src="@drawable/splash_bg_img"/>
+        android:src="@drawable/splash_bg_img" />
 
     <TextView
         android:id="@+id/btn_join"

+ 25 - 8
app/src/main/res/layout/x_msg_dialog.xml

@@ -16,13 +16,30 @@
         android:gravity="center_horizontal"
         android:textColor="@color/black_text_deep"
         android:textSize="24sp" />
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
 
-    <TextView
-        android:id="@+id/dialog_sure"
-        style="@style/style_button"
-        android:layout_marginBottom="@dimen/content_padding_20"
-        android:layout_marginLeft="@dimen/content_padding_20"
-        android:layout_marginRight="@dimen/content_padding_20"
-        android:layout_marginTop="40dp"
-        android:text="我知道了" />
+        <TextView
+            android:id="@+id/dialog_btn_left"
+            style="@style/style_button"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_marginBottom="@dimen/content_padding_20"
+            android:layout_marginLeft="@dimen/content_padding_20"
+            android:layout_marginRight="@dimen/content_padding_20"
+            android:layout_marginTop="40dp"
+            android:text="我知道了" />
+        <TextView
+            android:id="@+id/dialog_btn_right"
+            style="@style/style_button_stroke"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_marginBottom="@dimen/content_padding_20"
+            android:layout_marginLeft="@dimen/content_padding_20"
+            android:layout_marginRight="@dimen/content_padding_20"
+            android:layout_marginTop="40dp"
+            android:text="确认提交" />
+    </LinearLayout>
 </merge>

+ 118 - 25
app/src/main/res/layout/x_real_name_auther_layout.xml

@@ -7,6 +7,29 @@
 
     <include layout="@layout/title" />
 
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="@dimen/content_padding_10"
+        android:layout_marginStart="@dimen/content_padding_10"
+        android:layout_marginTop="@dimen/content_padding_10"
+        android:background="@drawable/shape_ash_solid_rectangle"
+        android:orientation="horizontal"
+        android:padding="@dimen/content_padding_15">
+
+        <ImageView
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:src="@mipmap/faq" />
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:text="请完善个人信息,第一次实名认证免费,出现错误再次提交需扣除0.5元绵羊币!"
+            android:textColor="#918F8F"
+            android:textSize="14sp" />
+    </LinearLayout>
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -15,10 +38,12 @@
         android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
         android:orientation="vertical">
 
-        <RelativeLayout
+        <LinearLayout
             android:id="@+id/rl_phone"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
             android:padding="15dp">
 
 
@@ -26,13 +51,55 @@
                 style="@style/txt_style_15"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_centerVertical="true"
-                android:layout_marginLeft="5dp"
+                android:layout_marginStart="5dp"
                 android:text="姓    名" />
 
 
             <EditText
                 android:id="@+id/et_name"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="5dp"
+                android:layout_weight="1"
+                android:background="@null"
+                android:drawablePadding="10dp"
+                android:gravity="end"
+                android:hint="请填写姓名"
+                android:textColor="@color/txt_black_9e9c9c"
+                android:textSize="@dimen/text_size_2" />
+
+            <ImageView
+                android:id="@+id/name_tip_iv"
+                android:layout_width="20dp"
+                android:layout_height="20dp"
+                android:layout_marginStart="8dp"
+                android:src="@mipmap/faq" />
+        </LinearLayout>
+
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="1px"
+            android:layout_marginLeft="15dp"
+            android:layout_marginRight="15dp"
+            android:background="@color/white_bg_line" />
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:padding="15dp">
+
+            <TextView
+                style="@style/txt_style_15"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="5dp"
+                android:layout_toRightOf="@id/iv_phone"
+                android:text="银行卡" />
+
+            <EditText
+                android:id="@+id/et_bank"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_alignParentRight="true"
@@ -40,13 +107,14 @@
                 android:layout_marginLeft="5dp"
                 android:background="@null"
                 android:drawablePadding="10dp"
-                android:hint="请填写姓名"
+                android:gravity="right"
+                android:hint="请填写银行卡"
+                android:inputType="number"
+                android:maxLength="19"
                 android:textColor="@color/txt_black_9e9c9c"
-                android:textSize="@dimen/text_size_2"
-                android:gravity="right"/>
+                android:textSize="@dimen/text_size_2" />
         </RelativeLayout>
 
-
         <View
             android:layout_width="match_parent"
             android:layout_height="1px"
@@ -59,7 +127,6 @@
             android:layout_height="wrap_content"
             android:padding="15dp">
 
-
             <TextView
                 style="@style/txt_style_15"
                 android:layout_width="wrap_content"
@@ -67,11 +134,10 @@
                 android:layout_centerVertical="true"
                 android:layout_marginLeft="5dp"
                 android:layout_toRightOf="@id/iv_phone"
-                android:text="身份证" />
-
+                android:text="手机号" />
 
             <EditText
-                android:id="@+id/et_id_card"
+                android:id="@+id/et_bank_mobile"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_alignParentRight="true"
@@ -79,11 +145,12 @@
                 android:layout_marginLeft="5dp"
                 android:background="@null"
                 android:drawablePadding="10dp"
-                android:hint="请填写身份证号"
-                android:maxLength="18"
+                android:gravity="right"
+                android:hint="请填写银行卡预留手机号"
+                android:inputType="number"
+                android:maxLength="19"
                 android:textColor="@color/txt_black_9e9c9c"
-                android:textSize="@dimen/text_size_2"
-                android:gravity="right"/>
+                android:textSize="@dimen/text_size_2" />
         </RelativeLayout>
 
 
@@ -92,15 +159,14 @@
             android:layout_height="1px"
             android:layout_marginLeft="15dp"
             android:layout_marginRight="15dp"
-            android:visibility="gone"
             android:background="@color/white_bg_line" />
 
         <RelativeLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:visibility="gone"
             android:padding="15dp">
 
+
             <TextView
                 style="@style/txt_style_15"
                 android:layout_width="wrap_content"
@@ -108,10 +174,11 @@
                 android:layout_centerVertical="true"
                 android:layout_marginLeft="5dp"
                 android:layout_toRightOf="@id/iv_phone"
-                android:text="银行卡" />
+                android:text="身份证" />
+
 
             <EditText
-                android:id="@+id/et_bank"
+                android:id="@+id/et_id_card"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_alignParentRight="true"
@@ -119,19 +186,45 @@
                 android:layout_marginLeft="5dp"
                 android:background="@null"
                 android:drawablePadding="10dp"
-                android:hint="请填写银行卡"
-                android:inputType="number"
-                android:maxLength="19"
+                android:gravity="right"
+                android:hint="请填写身份证号"
+                android:maxLength="18"
                 android:textColor="@color/txt_black_9e9c9c"
-                android:textSize="@dimen/text_size_2"
-                android:gravity="right"/>
+                android:textSize="@dimen/text_size_2" />
         </RelativeLayout>
 
     </LinearLayout>
 
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/content_padding_10"
+        android:gravity="center"
+        android:orientation="horizontal">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/real_name_know_start"
+            android:textColor="#918F8F"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/real_name_know_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/real_name_know"
+            android:textColor="#4889FF"
+            android:textSize="14sp" />
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1" />
 
     <TextView
         android:id="@+id/tv_submit"
         style="@style/style_button"
-        android:text="提交" />
+        android:text="下一步" />
 </LinearLayout>

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

@@ -2,6 +2,7 @@
 <resources>
     <!--app theme color-->
     <color name="btn_color_main">#ffffff</color>
+    <color name="btn_color_main_stroke">#2EBEF2</color>
 
     <color name="theme_app_main">#29d6fd</color>
     <color name="theme_app_mid">#34a5e7</color>

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

@@ -22,6 +22,15 @@
         <item name="android:layout_margin">@dimen/content_padding_10</item>
         <item name="android:textSize">@dimen/text_size_15</item>
     </style>
+    <style name="style_button_stroke" parent="button">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">40dp</item>
+        <item name="android:gravity">center</item>
+        <item name="android:background">@drawable/selector_button_stroke_main</item>
+        <item name="android:textColor">@color/btn_color_main_stroke</item>
+        <item name="android:layout_margin">@dimen/content_padding_10</item>
+        <item name="android:textSize">@dimen/text_size_15</item>
+    </style>
     <style name="style_button_margin15" parent="button">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">40dp</item>

+ 2 - 1
app/src/main/res/values/gamegroup_string.xml

@@ -25,6 +25,7 @@
     <string name="sheep_id">绵羊号</string>
     <string name="my_qr">我的二维码</string>
 
-    <string name="tip_newbie_task_1">我知道了(%1$4d秒)</string>
+    <string name="tip_skip">跳过(%1$d秒)</string>
+    <string name="tip_newbie_task_1">我知道了(%1$d秒)</string>
     <string name="friend_extract_count">共%1d条</string>
 </resources>

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

@@ -13,6 +13,7 @@
     <string name="no_bind_tel_notice_text">我们已将你的手机号与该帐号绑定,如有变更,请点击</string>
     <string name="coming_soon">敬请期待</string>
     <string name="loading_data">数据正在加载中,请稍候重试</string>
+    <string name="service_data_error">服务器数据错误,请稍候再试</string>
     <string name="service_error">服务器错误,请稍候再试</string>
     <string name="unknown_error">未知错误,请稍候再试</string>
     <string name="error_download_link">下载地址错误,请联系客服</string>
@@ -44,4 +45,7 @@
     <string name="sign_number">今日已有%1$s人参与打卡</string>
     <string name="sign_number1">今日已有%1$s人参与报名</string>
     <string name="sign_jppj">¥%s</string>
+
+    <string name="real_name_know_start">为了保障您的用卡安全,请</string>
+    <string name="real_name_know">了解安全保障</string>
 </resources>

+ 1 - 1
datashare/build.gradle

@@ -12,7 +12,7 @@ android {
     }
 
     greendao {
-        schemaVersion 8
+        schemaVersion 9
         targetGenDir 'src/main/java'
     }
     buildTypes {

+ 2 - 2
datashare/src/main/java/com/kfzs/duanduan/data/graph/provider/channel/DaoMaster.java

@@ -18,10 +18,10 @@ import com.kfzs.duanduan.datashare.provider.download.DownLoadInfoDao;
 
 // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
 /**
- * Master of DAO (schema version 8): knows all DAOs.
+ * Master of DAO (schema version 9): knows all DAOs.
  */
 public class DaoMaster extends AbstractDaoMaster {
-    public static final int SCHEMA_VERSION = 8;
+    public static final int SCHEMA_VERSION = 9;
 
     /** Creates underlying database table using DAOs. */
     public static void createAllTables(Database db, boolean ifNotExists) {