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

修改MySubscriber为SheepSubscriber,并修改onError解析过程

zengjiebin лет назад: 8
Родитель
Сommit
6d995c43e2

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

@@ -4,6 +4,8 @@ import android.content.Context;
 import android.util.Log;
 import android.widget.Toast;
 
+import com.alibaba.fastjson.JSONObject;
+import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.util.NetUtil;
 
 import rx.Subscriber;
@@ -12,11 +14,11 @@ import rx.Subscriber;
  * Created by ljy on 2018/3/19.
  */
 
-public abstract class MySubscriber<T> extends Subscriber<T> {
+public abstract class SheepSubscriber<T> extends Subscriber<T> {
 
     private Context context;
 
-    public MySubscriber(Context context) {
+    public SheepSubscriber(Context context) {
         this.context = context;
     }
 
@@ -43,14 +45,15 @@ public abstract class MySubscriber<T> extends Subscriber<T> {
 
         if(e instanceof Exception){
             //访问获得对应的Exception
-            onError(ExceptionHandle.handleException(e));
+            ExceptionHandle.ResponeThrowable throwable = ExceptionHandle.handleException(e);
+            onError(JSONObject.parseObject(throwable.message, BaseMessage.class));
         }else {
             //将Throwable 和 未知错误的status code返回
             onError(new ExceptionHandle.ResponeThrowable(e,ExceptionHandle.ERROR.UNKNOWN));
         }
     }
 
-    public abstract void onError(ExceptionHandle.ResponeThrowable responeThrowable);
+    public abstract void onError(BaseMessage baseMessage);
 
     @Override
     public void onCompleted() {

+ 10 - 10
app/src/main/java/com/sheep/gamegroup/presenter/BindDataPresenter.java

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.ExceptionHandle;
-import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import javax.inject.Inject;
@@ -35,10 +35,10 @@ public class BindDataPresenter implements BindDataContract.Presenter {
 
         apiService.bindRealname((JSONObject) o)
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        view.failView(responeThrowable);
+                    public void onError(BaseMessage baseMessage) {
+                        view.failView(baseMessage);
                     }
 
                     @Override
@@ -54,10 +54,10 @@ public class BindDataPresenter implements BindDataContract.Presenter {
 
         apiService.bindBankCard(o.toString())
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        view.failView(responeThrowable);
+                    public void onError(BaseMessage baseMessage) {
+                        view.failView(baseMessage);
                     }
 
                     @Override
@@ -73,10 +73,10 @@ public class BindDataPresenter implements BindDataContract.Presenter {
 
         apiService.bindIdNumber(o.toString())
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        view.failView(responeThrowable);
+                    public void onError(BaseMessage baseMessage) {
+                        view.failView(baseMessage);
                     }
 
                     @Override

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

@@ -1,6 +1,8 @@
 package com.sheep.gamegroup.presenter;
 
 
+import com.sheep.gamegroup.model.entity.BaseMessage;
+
 /**
  * Created by realicing on 2018/3/23.
  * realicing@sina.com
@@ -12,7 +14,7 @@ public interface CommitWxMakeMoneyContract {
     }
     interface View{
 
-        void postWebchatUpdataView(Object o);
-        void failPostWebchat2View(Object o);
+        void postWebchatUpdataView(BaseMessage baseMessage);
+        void failPostWebchat2View(BaseMessage baseMessage);
     }
 }

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

@@ -3,7 +3,7 @@ package com.sheep.gamegroup.presenter;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.ExceptionHandle;
-import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import javax.inject.Inject;
@@ -30,10 +30,10 @@ public class CommitWxMakeMoneyPresenter implements CommitWxMakeMoneyContract.Pre
         apiService.getWebchat()
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        view.failPostWebchat2View(responeThrowable.getMessage());
+                    public void onError(BaseMessage baseMessage) {
+                        view.failPostWebchat2View(baseMessage);
                     }
 
                     @Override

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

@@ -1,6 +1,8 @@
 package com.sheep.gamegroup.presenter;
 
 
+import com.sheep.gamegroup.model.entity.BaseMessage;
+
 /**
  * Created by realicing on 2018/3/23.
  * realicing@sina.com
@@ -12,7 +14,7 @@ public interface LieMakeMoneyContract {
     }
     interface View{
 
-        void getWebchatUpdataView(Object o);
-        void failGetWebchat2View(Object o);
+        void getWebchatUpdataView(BaseMessage baseMessage);
+        void failGetWebchat2View(BaseMessage baseMessage);
     }
 }

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

@@ -3,7 +3,7 @@ package com.sheep.gamegroup.presenter;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.ExceptionHandle;
-import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import javax.inject.Inject;
@@ -30,10 +30,10 @@ public class LieMakeMoneyPresenter implements LieMakeMoneyContract.Presenter {
         apiService.getWebchat()
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        view.failGetWebchat2View(responeThrowable.getMessage());
+                    public void onError(BaseMessage baseMessage) {
+                        view.failGetWebchat2View(baseMessage);
                     }
 
                     @Override

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

@@ -7,23 +7,16 @@ import com.alibaba.fastjson.annotation.JSONField;
 import com.orhanobut.logger.Logger;
 import com.sheep.gamegroup.exception.ExceptionEngine;
 import com.sheep.gamegroup.model.api.ApiService;
-import com.sheep.gamegroup.model.entity.BaseEntity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.util.XXTEA;
 
-import org.json.JSONException;
-import org.json.JSONObject;
 
 import java.util.HashMap;
 import java.util.Map;
 
 import javax.inject.Inject;
 
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import rx.Observable;
 import rx.Observer;
-import rx.functions.Func0;
-import rx.functions.Func1;
 import rx.schedulers.Schedulers;
 
 /**
@@ -53,6 +46,7 @@ public class PhonePresenter implements PhoneContract.Presenter {
             Log.e("encry----", com.alibaba.fastjson.JSONObject.toJSONString(encry));
             apiService.getCaptcha(j)
                     .subscribeOn(Schedulers.io())
+                    .observeOn(rx.android.schedulers.AndroidSchedulers.mainThread())
                     .subscribe(new Observer<BaseMessage>() {
                         @Override
                         public void onCompleted() {

+ 4 - 14
app/src/main/java/com/sheep/gamegroup/presenter/TaskDialogPresenter.java

@@ -3,7 +3,7 @@ package com.sheep.gamegroup.presenter;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.ExceptionHandle;
-import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 
@@ -33,20 +33,10 @@ public class TaskDialogPresenter implements TaskDialogContract.Presenter {
         apiService.acceptedTask(o)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable throwable) {
-                        int statusCode = throwable.code;
-                        switch (statusCode){
-                            case ExceptionHandle.ERROR.BAD_REQUEST_ERROR://400
-                            default:
-                                try {
-                                    view.startTaskFailView(com.alibaba.fastjson.JSONObject.parseObject(throwable.message, BaseMessage.class));
-                                }catch (Exception e){
-                                    e.printStackTrace();
-                                }
-                                break;
-                        }
+                    public void onError(BaseMessage baseMessage) {
+                        view.startTaskFailView(baseMessage);
                     }
 
                     @Override

+ 4 - 14
app/src/main/java/com/sheep/gamegroup/presenter/TaskListPresenter.java

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.ExceptionHandle;
-import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import javax.inject.Inject;
@@ -29,20 +29,10 @@ public class TaskListPresenter implements TaskListContract.Presenter {
     public void acceptedTask(int page, int pre_page) {
         apiService.acceptedTask(page, pre_page)
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable throwable) {
-                        int statusCode = throwable.code;
-                        switch (statusCode){
-                            case ExceptionHandle.ERROR.BAD_REQUEST_ERROR://400
-                            default:
-                                try {
-                                    view.failView(JSONObject.parseObject(throwable.message, BaseMessage.class));
-                                }catch (Exception e){
-                                    e.printStackTrace();
-                                }
-                                break;
-                        }
+                    public void onError(BaseMessage baseMessage) {
+                        view.failView(baseMessage);
                     }
 
                     @Override

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

@@ -5,13 +5,11 @@ import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.RequestParameEty;
 import com.sheep.gamegroup.model.util.ExceptionHandle;
-import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import javax.inject.Inject;
 
-import rx.Observer;
-import rx.Scheduler;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.schedulers.Schedulers;
 
@@ -38,10 +36,10 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
     public void acceptedTask(RequestParameEty o) {
         apiService.acceptedTask(o.getPage(), o.getPer_page())
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        view.failData2View(responeThrowable.getMessage());
+                    public void onError(BaseMessage baseMessage) {
+                        view.failData2View(baseMessage);
                     }
 
                     @Override
@@ -58,10 +56,10 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
 
         apiService.returnTask()
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        view.failData2View(responeThrowable);
+                    public void onError(BaseMessage baseMessage) {
+                        view.failData2View(baseMessage);
                     }
 
                     @Override
@@ -77,10 +75,10 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
 
         apiService.releaseTask()
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        view.failData2View(responeThrowable);
+                    public void onError(BaseMessage baseMessage) {
+                        view.failData2View(baseMessage);
                     }
 
                     @Override
@@ -95,20 +93,10 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
     public void giveUpTask(int id) {
         apiService.giveUpTask(id)
                 .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable responeThrowable) {
-                        int statusCode = responeThrowable.code;
-                        switch (statusCode){
-                            case ExceptionHandle.ERROR.BAD_REQUEST_ERROR://400
-                            default:
-                                try {
-                                    view.giveUpTaskFailView(JSONObject.parseObject(responeThrowable.message, BaseMessage.class));
-                                }catch (Exception e){
-                                    e.printStackTrace();
-                                }
-                                break;
-                        }
+                    public void onError(BaseMessage baseMessage) {
+                        view.giveUpTaskFailView(baseMessage);
                     }
 
                     @Override

+ 4 - 14
app/src/main/java/com/sheep/gamegroup/presenter/WithdrawalListPresenter.java

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.ExceptionHandle;
-import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import javax.inject.Inject;
@@ -31,20 +31,10 @@ public class WithdrawalListPresenter implements WithdrawalListContract.Presenter
 
         apiService.goWithdrawal(page, per_page, start_time, end_time)
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable throwable) {
-                        int statusCode = throwable.code;
-                        switch (statusCode){
-                            case ExceptionHandle.ERROR.BAD_REQUEST_ERROR://400
-                            default:
-                                try {
-                                    view.failView(JSONObject.parseObject(throwable.message, BaseMessage.class));
-                                }catch (Exception e){
-                                    e.printStackTrace();
-                                }
-                                break;
-                        }
+                    public void onError(BaseMessage baseMessage) {
+                        view.failView(baseMessage);
                     }
 
                     @Override

+ 4 - 16
app/src/main/java/com/sheep/gamegroup/presenter/WithdrawalPresenter.java

@@ -4,13 +4,11 @@ import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.ExceptionHandle;
-import com.sheep.gamegroup.model.util.MySubscriber;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
-import javax.crypto.ExemptionMechanismException;
 import javax.inject.Inject;
 
-import rx.Observer;
 import rx.schedulers.Schedulers;
 
 /**
@@ -32,20 +30,10 @@ public class WithdrawalPresenter implements WithdrawalContract.Presenter {
     public void goWithdrawal(JSONObject jsonObject) {
         apiService.goWithdrawal(jsonObject)
                 .subscribeOn(Schedulers.io())
-                .subscribe(new MySubscriber<BaseMessage>(SheepApp.mContext) {
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
-                    public void onError(ExceptionHandle.ResponeThrowable throwable) {
-                        int statusCode = throwable.code;
-                        switch (statusCode){
-                            case ExceptionHandle.ERROR.BAD_REQUEST_ERROR://400
-                                default:
-                                try {
-                                    view.failData(JSONObject.parseObject(throwable.message, BaseMessage.class));
-                                }catch (Exception e){
-                                    e.printStackTrace();
-                                }
-                                break;
-                        }
+                    public void onError(BaseMessage baseMessage) {
+                        view.failData(baseMessage);
                     }
 
                     @Override

+ 5 - 4
app/src/main/java/com/sheep/gamegroup/view/activity/CommitWxAct.java

@@ -8,6 +8,7 @@ import android.widget.TextView;
 
 import com.sheep.gamegroup.di.components.DaggerCommitWxMakeMoneyComponent;
 import com.sheep.gamegroup.di.modules.CommitWxMakeMoneyModule;
+import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.presenter.CommitWxMakeMoneyContract;
 import com.sheep.gamegroup.presenter.CommitWxMakeMoneyPresenter;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
@@ -89,12 +90,12 @@ public class CommitWxAct extends BaseActivity implements CommitWxMakeMoneyContra
     }
 
     @Override
-    public void postWebchatUpdataView(Object o) {
-        G.showToast("updateData2View");
+    public void postWebchatUpdataView(BaseMessage baseMessage) {
+        G.showToast(baseMessage);
     }
 
     @Override
-    public void failPostWebchat2View(Object o) {
-        G.showToast("updateData2View");
+    public void failPostWebchat2View(BaseMessage baseMessage) {
+        G.showToast(baseMessage);
     }
 }

+ 4 - 5
app/src/main/java/com/sheep/gamegroup/view/activity/LieMakeMoneyAct.java

@@ -118,13 +118,12 @@ public class LieMakeMoneyAct extends BaseActivity implements LieMakeMoneyContrac
     }
 
     @Override
-    public void getWebchatUpdataView(Object o) {
-        G.showToast("getWebchatUpdataView");
+    public void getWebchatUpdataView(BaseMessage baseMessage) {
+        G.showToast(baseMessage);
     }
 
     @Override
-    public void failGetWebchat2View(Object o) {
-        G.showToast("failGetWebchat2View");
-
+    public void failGetWebchat2View(BaseMessage baseMessage) {
+        G.showToast(baseMessage);
     }
 }

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

@@ -6,6 +6,8 @@ import android.view.ViewGroup;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.page.entry.User;
 
@@ -71,4 +73,7 @@ public class G {
     public static void showToast(int resId) {
         showToast(SheepApp.mSheepApp, SheepApp.mSheepApp.getString(resId), Toast.LENGTH_SHORT);
     }
+    public static void showToast(BaseMessage baseMessage) {
+        G.showToast(baseMessage.getMsg()+(BuildConfig.DEBUG ? "["+baseMessage.getCode()+"]":""));
+    }
 }

+ 63 - 48
app/src/main/res/layout/commit_wx_make_money.xml

@@ -1,60 +1,75 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_margin="@dimen/content_padding_10"
+    android:layout_height="match_parent"
     android:orientation="vertical">
 
+    <include layout="@layout/title" />
+
     <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:padding="@dimen/content_padding_10"
-        android:background="@drawable/x_shap_shadow_bg_rectgangle_white">
+        android:layout_height="match_parent"
+        android:layout_margin="@dimen/content_padding_10"
+        android:orientation="vertical">
 
-        <EditText
-            android:id="@+id/et_wx_account"
-            style="style_edt"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/edt_heigh_default"
-            android:background="@null"
-            android:drawablePadding="@dimen/content_padding_10"
-            android:drawableStart="@drawable/commit_wx_logo"
-            android:hint="请输入要挂机的微信号"
-            android:paddingLeft="20dp"
-            android:textColor="@color/black_text_deep"
-            android:textSize="@dimen/text_size_3" />
-        <View
+        <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="1dp"
-            android:background="#DFDFDF"
-            android:layout_marginLeft="@dimen/content_padding_10"
-            android:layout_marginRight="@dimen/content_padding_10"/>
-        <EditText
-            android:id="@+id/et_wx_pwd"
-            style="style_edt"
+            android:layout_height="wrap_content"
+            android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+            android:orientation="vertical"
+            android:padding="@dimen/content_padding_10">
+
+            <EditText
+                android:id="@+id/et_wx_account"
+                style="style_edt"
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/edt_heigh_default"
+                android:background="@null"
+                android:drawablePadding="@dimen/content_padding_10"
+                android:drawableStart="@drawable/commit_wx_logo"
+                android:digits="@string/digits_username"
+                android:inputType="none"
+                android:hint="请输入要挂机的微信号"
+                android:paddingLeft="20dp"
+                android:textColor="@color/black_text_deep"
+                android:textSize="@dimen/text_size_3" >
+                <requestFocus/>
+            </EditText>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:layout_marginLeft="@dimen/content_padding_10"
+                android:layout_marginRight="@dimen/content_padding_10"
+                android:background="#DFDFDF" />
+
+            <EditText
+                android:id="@+id/et_wx_pwd"
+                style="style_edt"
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/edt_heigh_default"
+                android:background="@null"
+                android:drawablePadding="@dimen/content_padding_10"
+                android:drawableStart="@drawable/commit_wx_pwd"
+                android:digits="@string/digits_password"
+                android:hint="请输入微信密码"
+                android:inputType="textPassword"
+                android:paddingLeft="20dp"
+                android:textColor="@color/black_text_deep"
+                android:textSize="@dimen/text_size_3" />
+        </LinearLayout>
+
+        <TextView
+            android:id="@+id/tv_wx_commit"
             android:layout_width="match_parent"
-            android:layout_height="@dimen/edt_heigh_default"
-            android:background="@null"
-            android:drawablePadding="@dimen/content_padding_10"
-            android:drawableStart="@drawable/commit_wx_pwd"
-            android:hint="请输入微信密码"
-            android:inputType="textPassword"
-            android:paddingLeft="20dp"
-            android:textColor="@color/black_text_deep"
-            android:textSize="@dimen/text_size_3" />
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:layout_margin="10dp"
+            android:background="@drawable/selector_button_full_main"
+            android:gravity="center"
+            android:padding="@dimen/content_padding_10"
+            android:text="确定"
+            android:textColor="@color/txt_black_010101"
+            android:textSize="@dimen/text_size_18" />
     </LinearLayout>
-
-    <TextView
-        android:id="@+id/tv_wx_commit"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:layout_margin="10dp"
-        android:padding="@dimen/content_padding_10"
-        android:gravity="center"
-        android:background="@drawable/selector_button_full_main"
-        android:text="确定"
-        android:textColor="@color/txt_black_010101"
-        android:textSize="@dimen/text_size_18" />
 </LinearLayout>