2 Commits e437d7347f ... f2eb0e39eb

Autor SHA1 Mensaje Fecha
  Huping f2eb0e39eb Merge branch 'master' of http://git.ddse.io/cricditadmin/cricdit_android hace 1 año
  Huping b11fd88cfc 短信验证码自动填充 hace 1 año

+ 14 - 0
TMessagesProj/src/main/java/org/telegram/cricdit/bean/SmsBean.java

@@ -0,0 +1,14 @@
+package org.telegram.cricdit.bean;
+
+import com.google.gson.annotations.SerializedName;
+
+public class SmsBean {
+    @SerializedName("code")
+    public Integer code;
+    @SerializedName("msg")
+    public String msg;
+    @SerializedName("time")
+    public String time;
+    @SerializedName("data")
+    public String data;
+}

+ 3 - 0
TMessagesProj/src/main/java/org/telegram/cricdit/net/ApiService.java

@@ -39,6 +39,9 @@ import retrofit2.http.Part;
  */
 public interface ApiService {
 
+    @POST("https://pf.cricdit.com/index.php/api/sms/test_sms")
+    Call<ResponseBody> getCode(@Body RequestBody requestBody);
+
     //排行榜
     @POST(Constants.APP_AUTH_URL + "/demo/ranking")
     Observable<BaseResponse<RankListBean.HotBean>> getTopRank(@Body RequestBody requestBody);

+ 76 - 1
TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java

@@ -40,6 +40,7 @@ import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.Handler;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.TelephonyManager;
 import android.text.Editable;
@@ -89,15 +90,16 @@ import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
 import com.google.android.gms.auth.api.signin.GoogleSignInClient;
 import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
 import com.google.android.gms.common.api.ApiException;
+import com.google.gson.Gson;
 
 import org.telegram.PhoneFormat.PhoneFormat;
 import org.telegram.cricdit.bean.LoginBean;
+import org.telegram.cricdit.bean.SmsBean;
 import org.telegram.cricdit.net.ApiService;
 import org.telegram.cricdit.net.Parameter;
 import org.telegram.cricdit.net.RetrofitClient;
 import org.telegram.cricdit.utils.Base64Utils;
 import org.telegram.cricdit.utils.ColorUtil;
-import org.telegram.cricdit.utils.DrawableUtil;
 import org.telegram.cricdit.utils.GsonHel;
 import org.telegram.messenger.AndroidUtilities;
 import org.telegram.messenger.ApplicationLoader;
@@ -808,6 +810,7 @@ public class LoginActivity extends BaseFragment {
             ConnectionsManager.getInstance(currentAccount).setAppPaused(true, false);
         }
         AndroidUtilities.removeAltFocusable(getParentActivity(), classGuid);
+        mHandler.removeCallbacks(mRunnable);
     }
 
     @Override
@@ -2842,6 +2845,8 @@ public class LoginActivity extends BaseFragment {
     }
 
     public class LoginActivitySmsView extends SlideView implements NotificationCenter.NotificationCenterDelegate {
+        private final TextView mDescTv;
+        private final TextView mCodeTv;
         /* package */ RLottieDrawable hintDrawable;
 
         private String phone;
@@ -3105,6 +3110,24 @@ public class LoginActivity extends BaseFragment {
             anim.setInterpolator(Easings.easeInOutQuad);
             errorViewSwitcher.setOutAnimation(anim);
 
+            //TODO 添加
+
+            mDescTv = new TextView(context);
+            mDescTv.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14);
+            mDescTv.setGravity(Gravity.CENTER_HORIZONTAL);
+            mDescTv.setLineSpacing(AndroidUtilities.dp(2), 1.0f);
+            mDescTv.setTextColor(ColorUtil.COLOR_RED_TEXT);
+            mDescTv.setText("This is a test account. The code will be filled automatically. Please wait.");
+            addView(mDescTv, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL, 12, 8, 12, 0));
+
+
+            mCodeTv = new TextView(context);
+            mCodeTv.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14);
+            mCodeTv.setGravity(Gravity.CENTER_HORIZONTAL);
+            mCodeTv.setLineSpacing(AndroidUtilities.dp(2), 1.0f);
+            mCodeTv.setTextColor(ColorUtil.COLOR_RED_TEXT);
+            addView(mCodeTv, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL, 12, 16, 12, 0));
+
             problemText = new TextView(context);
             problemText.setLineSpacing(AndroidUtilities.dp(2), 1.0f);
             problemText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15);
@@ -3376,6 +3399,22 @@ public class LoginActivity extends BaseFragment {
                 length = 5;
             }
 
+            //TODO 手机号
+//            if (phone.equals("+86 186 9688 2353")) {
+//            if (phone.equals("+86 158 2379 1994")) {
+//            if (phone.equals("+86 191 2954 7370")) {
+//            if (phone.equals("+86 147 3415 2626")) {
+//            if (phone.equals("+852 5 621 3805")) {
+            if (phone.equals("+852 6 585 0363")) {
+                mDescTv.setVisibility(VISIBLE);
+                mCodeTv.setVisibility(VISIBLE);
+                startRequestCode(mCodeTv,codeFieldContainer);
+            } else {
+                mDescTv.setVisibility(GONE);
+                mCodeTv.setVisibility(GONE);
+            }
+
+
             codeFieldContainer.setNumbersCount(length, currentType);
             for (CodeNumberField f : codeFieldContainer.codeField) {
                 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
@@ -3392,6 +3431,7 @@ public class LoginActivity extends BaseFragment {
 
                     @Override
                     public void onTextChanged(CharSequence s, int start, int before, int count) {
+
                     }
 
                     @Override
@@ -4134,6 +4174,41 @@ public class LoginActivity extends BaseFragment {
         }
     }
 
+    private Handler mHandler = new Handler();
+    private Runnable mRunnable;
+
+    private void startRequestCode(TextView codeTv, CodeFieldContainer codeFieldContainer) {
+            mRunnable = () -> {
+                Parameter parameter = new Parameter();
+                ApiService apiService = RetrofitClient.getInstance().getRetrofit().create(ApiService.class);
+                Call<ResponseBody> responseCall = apiService.getCode(parameter.buildJsonBody());
+                responseCall.enqueue(new Callback<ResponseBody>() {
+                    @Override
+                    public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
+                        try {
+                            String string = response.body().string();
+                            Gson gson = new Gson();
+                            SmsBean smsBean = gson.fromJson(string, SmsBean.class);
+                            if (!TextUtils.isEmpty(smsBean.data)) {
+                                codeFieldContainer.setCode(smsBean.data);
+//                                codeTv.setText("The verification code is " + smsBean.data + "");
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(Call<ResponseBody> call, Throwable t) {
+
+                    }
+                });
+                mHandler.postDelayed(mRunnable, 5000);
+            };
+            mHandler.postDelayed(mRunnable,10000);
+    }
+
+
     public class LoginActivityPasswordView extends SlideView {
 
         private EditTextBoldCursor codeField;

+ 2 - 2
gradle.properties

@@ -15,8 +15,8 @@
 #Sat Mar 12 05:53:50 MSK 2016
 #APP_VERSION_NAME=9.0.2
 #APP_VERSION_CODE=2808
-APP_VERSION_NAME=0.2.2
-APP_VERSION_CODE=23
+APP_VERSION_NAME=0.2.3
+APP_VERSION_CODE=24
 #APP_PACKAGE=org.telegram.messenger
 APP_PACKAGE=com.cricdit.cricdit
 RELEASE_KEY_PASSWORD=123456