浏览代码

添加屏蔽手机注册功能。

trevorHsu 3 年之前
父节点
当前提交
db31e3cbb0
共有 37 个文件被更改,包括 581 次插入445 次删除
  1. 1 1
      app/build.gradle
  2. 18 0
      app/release/output-metadata.json
  3. 5 4
      app/src/main/AndroidManifest.xml
  4. 1 1
      app/src/main/assets/YyrhParam1.cnf
  5. 21 0
      app/src/main/java/constant/yysdk/com/main_yy_rh_sdk/MainActivity.java
  6. 1 1
      app/src/main/res/values/strings.xml
  7. 1 1
      hnyy/build.gradle
  8. 4 0
      hnyy/src/main/AndroidManifest.xml
  9. 1 1
      hnyy/src/main/java/com/yyrh/Version.java
  10. 2 0
      hnyy/src/main/java/com/yyrh/constant/Constants.java
  11. 14 3
      hnyy/src/main/java/com/yyrh/constant/InitConfig.java
  12. 14 8
      hnyy/src/main/java/com/yyrh/constant/LoginData.java
  13. 32 2
      hnyy/src/main/java/com/yyrh/constant/SDKSettings.java
  14. 5 0
      hnyy/src/main/java/com/yyrh/constant/URLConstants.java
  15. 1 8
      hnyy/src/main/java/com/yyrh/factory/ChannelSdkOperation.java
  16. 0 1
      hnyy/src/main/java/com/yyrh/factory/ISdkOperation.java
  17. 1 3
      hnyy/src/main/java/com/yyrh/factory/SdkManager.java
  18. 0 4
      hnyy/src/main/java/com/yyrh/factory/YyrhSdkOperation.java
  19. 3 3
      hnyy/src/main/java/com/yyrh/imei/ImeiUtil.java
  20. 72 155
      hnyy/src/main/java/com/yyrh/networking/NetRequestApi.java
  21. 110 0
      hnyy/src/main/java/com/yyrh/sdk/PermissionManager.java
  22. 20 52
      hnyy/src/main/java/com/yyrh/sdk/SDKEntry.java
  23. 63 89
      hnyy/src/main/java/com/yyrh/sdk/YyrhSdkManager.java
  24. 1 1
      hnyy/src/main/java/com/yyrh/ui/NewProgressDialogUtils.java
  25. 6 4
      hnyy/src/main/java/com/yyrh/ui/PageJsInteraction.java
  26. 3 2
      hnyy/src/main/java/com/yyrh/ui/dialog/AutoLoginDialog.java
  27. 5 4
      hnyy/src/main/java/com/yyrh/ui/dialog/BaseDialog.java
  28. 2 18
      hnyy/src/main/java/com/yyrh/ui/dialog/UserCenterDialog.java
  29. 25 61
      hnyy/src/main/java/com/yyrh/ui/dialog/WvPageListDialog.java
  30. 6 0
      hnyy/src/main/java/com/yyrh/ui/fragment/BaseFragment.java
  31. 2 1
      hnyy/src/main/java/com/yyrh/ui/fragment/UserAccountLoginFragment.java
  32. 1 1
      hnyy/src/main/java/com/yyrh/ui/fragment/UserRegisterFragment.java
  33. 2 16
      hnyy/src/main/java/com/yyrh/ui/fragment/UserRetrievePwdFragment.java
  34. 25 0
      hnyy/src/main/java/com/yyrh/ui/userlist/DatabaseHelper.java
  35. 77 0
      hnyy/src/main/java/com/yyrh/utils/AndroidBug5497Workaround.java
  36. 31 0
      hnyy/src/main/java/com/yyrh/utils/ScheduledWorker.java
  37. 5 0
      hnyy/src/main/java/com/yyrh/utils/SwitchUtil.java

+ 1 - 1
app/build.gradle

@@ -4,7 +4,7 @@ android {
     compileSdkVersion 28
     defaultConfig {
 
-        applicationId "com.fx.qyj2.gdtdevp100001.hnyy.portrait.Y139224193104"
+        applicationId "com.fx.qyj2.gdtdevp100001.hnyy.portrait.smrz"
 
         minSdkVersion 15
         targetSdkVersion 26

+ 18 - 0
app/release/output-metadata.json

@@ -0,0 +1,18 @@
+{
+  "version": 2,
+  "artifactType": {
+    "type": "APK",
+    "kind": "Directory"
+  },
+  "applicationId": "com.fx.qyj2.gdtdevp100001.hnyy.portrait.smrz",
+  "variantName": "processReleaseResources",
+  "elements": [
+    {
+      "type": "SINGLE",
+      "filters": [],
+      "versionCode": 1,
+      "versionName": "1.0",
+      "outputFile": "app-release.apk"
+    }
+  ]
+}

+ 5 - 4
app/src/main/AndroidManifest.xml

@@ -13,7 +13,7 @@
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
         <activity android:name="constant.yysdk.com.main_yy_rh_sdk.MainActivity"
-            android:screenOrientation="sensorLandscape"
+            android:screenOrientation="portrait"
             android:launchMode="singleTask"
             android:configChanges="density|fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode"
 
@@ -39,9 +39,10 @@
 
         <meta-data
             android:name="yyrh_game_code"
-            android:value="100002" />
-
-
+            android:value="100001" />
+        <meta-data
+            android:name="yyrh.StopRequestPermission"
+            android:value="true" />
 
 
 

+ 1 - 1
app/src/main/assets/YyrhParam1.cnf

@@ -1,2 +1,2 @@
-GCP_CODE=Y0201057
+GCP_CODE=Y0101032
 CHANNELTAG=YYRHSDK

+ 21 - 0
app/src/main/java/constant/yysdk/com/main_yy_rh_sdk/MainActivity.java

@@ -8,12 +8,15 @@ import android.content.Intent;
 
 
 import android.content.res.Configuration;
+import android.graphics.Point;
 import android.net.Uri;
 
 import android.os.Bundle;
 
 
+import android.util.DisplayMetrics;
 import android.util.Log;
+import android.view.Display;
 import android.view.KeyEvent;
 import android.view.View;
 import android.view.Window;
@@ -159,6 +162,22 @@ public class MainActivity extends Activity implements View.OnClickListener {
         });
 
 
+        DisplayMetrics dm = new DisplayMetrics();
+        WindowManager wManager = this.getWindowManager();
+        wManager.getDefaultDisplay().getMetrics(dm);
+        int mScreenWidth = dm.widthPixels;
+        int screenHeigth = dm.heightPixels;
+
+        Log.i("screen----:","screen +  mScreenWidth:" + mScreenWidth +  "   screenHeigth:" + screenHeigth);
+
+        Point point = new Point();
+        Display display = wManager.getDefaultDisplay();
+        display.getSize(point);
+        int width = point.x;
+        int height =point.y;
+
+        Log.i("screen----:","screen +  width:" + width +  "   height:" + height);
+
     }
 
 
@@ -552,6 +571,8 @@ public class MainActivity extends Activity implements View.OnClickListener {
         boolean canResolveIntent = intent.resolveActivity(this.getPackageManager()) != null;
 
         Log.i("canResolveIntent", canResolveIntent + "");
+
+
     }
 
 

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -1,6 +1,6 @@
 <resources>
 
-    <string name="app_name">139.224.193.104</string>
+    <string name="app_name">100001_Y0101032_smrz</string>
 
 
 </resources>

+ 1 - 1
hnyy/build.gradle

@@ -32,7 +32,7 @@ android {
 }
 android.libraryVariants.all { variant ->
     variant.outputs.all {
-        outputFileName = 'yyxxrh_n-release-2.2.8.aar'
+        outputFileName = 'yyxxrh_n-release-2.3.1.aar'
     }
 }
 

+ 4 - 0
hnyy/src/main/AndroidManifest.xml

@@ -25,5 +25,9 @@
             android:theme="@style/hnyy_transparent"
             />
     </application>
+
+    <meta-data
+        android:name="yyrh.StopRequestPermission"
+        android:value="true" />
     </manifest>
 

+ 1 - 1
hnyy/src/main/java/com/yyrh/Version.java

@@ -1,5 +1,5 @@
 package com.yyrh;
 
 public class Version {
-    public static final String VERSION_NAME = "2.2.8";
+    public static final String VERSION_NAME = "2.3.1";
 }

+ 2 - 0
hnyy/src/main/java/com/yyrh/constant/Constants.java

@@ -7,6 +7,8 @@ public class Constants {
     public static final String UPLOADTYPE_LEVELUP = "UPLOADTYPE_LEVELUP";
 
 
+    public static final String SP_KEY = "yyrh";
+
     public static final String LOGIN = "LOGIN";
 
     public static final String LOGOUT = "LOGOUT";

+ 14 - 3
hnyy/src/main/java/com/yyrh/constant/InitConfig.java

@@ -2,19 +2,23 @@ package com.yyrh.constant;
 
 import android.text.TextUtils;
 
+import com.yyrh.utils.YYLog;
+
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
 public class InitConfig {
 
-    public static String fristShowPage = "";
+    public String fristShowPage = "";
 
 
     public String agreement_privacy = "";
 
     public String service_center = "";
 
+    public String access_token = "";
+
     public String agreement_user = "";
 
     public JSONObject links = null;
@@ -25,6 +29,8 @@ public class InitConfig {
 
     public int bswitch  = 0;
 
+    public int rn_bh = 1800;
+
     public static InitConfig toBean(JSONObject json){
         if (TextUtils.isEmpty(json.toString())) {
             return null;
@@ -35,12 +41,15 @@ public class InitConfig {
         initConfig.sdk_login = json.optInt("sdk_login", 100);
 
         initConfig.bswitch = json.optInt("bswitch");
+        initConfig.access_token = json.optString("access_token");
+
+        initConfig.rn_bh = json.optInt("rn_bh",1800);
 
         if (initConfig.reg_tabs != null){
 
             try {
                 if (initConfig.reg_tabs.get(0).toString().equals("phone")){
-                    InitConfig.fristShowPage = "phone";
+                    initConfig.fristShowPage = "phone";
                 }
             } catch (JSONException e) {
                 e.printStackTrace();
@@ -58,7 +67,7 @@ public class InitConfig {
         }
 
 
-
+        YYLog.i(initConfig.toString());
 
         return initConfig;
 
@@ -69,11 +78,13 @@ public class InitConfig {
         return "InitConfig{" +
                 "agreement_privacy='" + agreement_privacy + '\'' +
                 ", service_center='" + service_center + '\'' +
+                ", access_token='" + access_token + '\'' +
                 ", agreement_user='" + agreement_user + '\'' +
                 ", links=" + links +
                 ", reg_tabs=" + reg_tabs +
                 ", sdk_login=" + sdk_login +
                 ", bswitch=" + bswitch +
+                ", rn_bh=" + rn_bh +
                 '}';
     }
 }

+ 14 - 8
hnyy/src/main/java/com/yyrh/constant/LoginData.java

@@ -3,6 +3,7 @@ package com.yyrh.constant;
 import android.text.TextUtils;
 
 import com.yyrh.utils.Utils;
+import com.yyrh.utils.YYLog;
 
 import org.json.JSONObject;
 
@@ -14,14 +15,12 @@ public class LoginData {
 
     public String token = "";
 
-    public String rn_bd = "";
+
 
     public JSONObject links = null;
 
     public String channel_uid = "";
 
-    public int is_rn = 0;
-
 
     public String solo_email = "";
 
@@ -29,8 +28,11 @@ public class LoginData {
 
     public String authentication = "";
 
+
     public String login_token = "";
 
+    public String rn_si = "";
+
     public static LoginData toBean(JSONObject json){
         if (TextUtils.isEmpty(json.toString())) {
             return null;
@@ -43,14 +45,16 @@ public class LoginData {
 
         loginData.channel_uid  = json.optString("channel_uid");
 
-        loginData.rn_bd = json.optString("rn_bd");
 
-        loginData.is_rn = json.optInt("is_rn");
+
+
 
         loginData.links = json.optJSONObject("links");
 
         loginData.login_token = json.optString("login_token");
 
+        loginData.rn_si = json.optString("rn_si");
+
         if (loginData.links == null){
             loginData.solo_email = "";
             loginData.user_center = "";
@@ -58,28 +62,30 @@ public class LoginData {
             loginData.solo_email = loginData.links.optString("solo_email");
             loginData.user_center = loginData.links.optString("user_center");
             loginData.authentication = loginData.links.optString("authentication");
-        }
 
 
+        }
+
+        YYLog.i(loginData.toString());
 
 
         return loginData;
 
     }
 
+
     @Override
     public String toString() {
         return "LoginData{" +
                 "uname='" + uname + '\'' +
                 ", token='" + token + '\'' +
-                ", rn_bd='" + rn_bd + '\'' +
                 ", links=" + links +
                 ", channel_uid='" + channel_uid + '\'' +
-                ", is_rn=" + is_rn +
                 ", solo_email='" + solo_email + '\'' +
                 ", user_center='" + user_center + '\'' +
                 ", authentication='" + authentication + '\'' +
                 ", login_token='" + login_token + '\'' +
+                ", rn_si='" + rn_si + '\'' +
                 '}';
     }
 }

+ 32 - 2
hnyy/src/main/java/com/yyrh/constant/SDKSettings.java

@@ -29,7 +29,7 @@ public class SDKSettings {
 
     public static boolean isDebug = false;        // debug模式配置
     public static String system = "android";
-    public static String SDK_VERSION = "2.2.8";
+    public static String SDK_VERSION = "2.3.0";
 
 
 
@@ -50,13 +50,19 @@ public class SDKSettings {
 
     public static boolean isForceRealName = false;
 
+    public static boolean isShowKf = false;
+
+    public static  boolean isSkipPermission = false;
+
+    public static  boolean isStopRequestPermisson = false;
+
     public static String o_cfg = "";
 
     public static LoginData loginData = null;
 
     public static InitConfig initConfig = null;
 
-    public static void initSetting(Context context) {
+    public static void initSetting(Context context,boolean isDebug) {
 
 
         game_code = Utils.GetApplicationMetaData(context, "yyrh_game_code");
@@ -83,6 +89,30 @@ public class SDKSettings {
         package_name = Utils.getPackageName((Activity) context);
         android_id = Utils.getAndroidId(context);
         o_cfg = ChannelSDK.getInstance().SDKGetPkgExt(context);
+
+
+
+        channelTag = Utils.getParamCnfValuebyKey(context, "YyrhParam.cnf",
+                "isRequestPermission");
+
+        if (Utils.GetApplicationMetaData(context, "yyrh.SkipPermission").equals("true")){
+            isSkipPermission = true;
+        }
+
+        if (Utils.GetApplicationMetaData(context, "yyrh.StopRequestPermission").equals("true")){
+            isStopRequestPermisson = true;
+        }
+
+
+        SDKSettings.isDebug = isDebug;
+
+        if (Utils.GetApplicationMetaData(context, "yyrh_debug").equals("true")) {
+            SDKSettings.isDebug = true;
+        }
     }
 
+
+
+
+
 }

+ 5 - 0
hnyy/src/main/java/com/yyrh/constant/URLConstants.java

@@ -24,9 +24,14 @@ public static final String BASEURL = "http://testsdkapi.yyxxgame.com";
     public static final String  LOGINWITHSMS = BASEURL +  "/phone_sms_login";
     public static final String  PAYMENTWAY = BASEURL +  "/payment_way";
 
+    public static final String  RNUSERACTION = BASEURL +  "/rn_user_action";
+
+
+
     public static final String  CHANNELZTAG = "YYRHSDK";
 
 
+
     public static final String  RSAKEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3eXf1JxdFtx6c8AJTdlSverL8WqRE11yFB6Q+GbQeEVXjSCgQN48qePat7mXbH4LAtjaSEqXHruP4hJO8777wYtEKNKIN2VZgWQElrllAuAtaHyA+UGKwulOKmkR8k1Oxmfd46fnQBwzy+Giab4lqQRQAObCT0QtUrlrsU1U+zwIDAQAB";
 
 

+ 1 - 8
hnyy/src/main/java/com/yyrh/factory/ChannelSdkOperation.java

@@ -99,14 +99,7 @@ public class ChannelSdkOperation implements ISdkOperation {
         channelSdk.SDKLogout();
     }
 
-    @Override
-    public void getRealNameInfo(Activity activity, RealNameMsgCallback realNameMsgCallback) {
-        if (Utils.getTextIsNull(SDKSettings.loginData.rn_bd)) {
-            ChannelSDK.getInstance().onGetChannelRealNameInfo(activity);
-        } else {
-            realNameMsgCallback.onLoadRealNameMsg(true, SDKSettings.loginData.rn_bd);
-        }
-    }
+
 
     @Override
     public void reportAdEvent(String event, JSONObject json) {

+ 0 - 1
hnyy/src/main/java/com/yyrh/factory/ISdkOperation.java

@@ -32,7 +32,6 @@ public interface ISdkOperation {
 
     void logOut();
 
-    void getRealNameInfo(Activity activity, RealNameMsgCallback realNameMsgCallback);
 
     void reportAdEvent(String event, JSONObject json);
     /**

+ 1 - 3
hnyy/src/main/java/com/yyrh/factory/SdkManager.java

@@ -100,9 +100,7 @@ public class SdkManager {
     public void logOut(){
         operation.logOut();
     }
-    public void getRealNameInfo(Activity activity, RealNameMsgCallback realNameMsgCallback){
-        operation.getRealNameInfo(activity,realNameMsgCallback);
-    }
+
     public void setSDKLogoutListener(Activity ac, ChannelSdkCallback sdkCallback){
         operation.setSDKLogoutListener(ac,sdkCallback);
     }

+ 0 - 4
hnyy/src/main/java/com/yyrh/factory/YyrhSdkOperation.java

@@ -56,10 +56,6 @@ public class YyrhSdkOperation implements ISdkOperation {
         yyrhSdkManager.yyrhLogout();
     }
 
-    @Override
-    public void getRealNameInfo(Activity activity, RealNameMsgCallback realNameMsgCallback) {
-        yyrhSdkManager.yyrhGetRealNameInfo(activity,realNameMsgCallback);
-    }
 
     @Override
     public void reportAdEvent(String event, JSONObject json) {

+ 3 - 3
hnyy/src/main/java/com/yyrh/imei/ImeiUtil.java

@@ -80,7 +80,7 @@ public class ImeiUtil {
 
 
             }else{
-                Utils.setSharedPreferences("yyrh","simulateImei",imei,context);
+                Utils.setSharedPreferences(Constants.SP_KEY,"simulateImei",imei,context);
             }
 
             return imei;
@@ -90,7 +90,7 @@ public class ImeiUtil {
 
      static String userSimulateImei(Context context){
 
-        SharedPreferences sp = context.getSharedPreferences("yyrh", Activity.MODE_PRIVATE);
+        SharedPreferences sp = context.getSharedPreferences(Constants.SP_KEY, Activity.MODE_PRIVATE);
         String  simulateImei = sp.getString("simulateImei", "");
 
         if (!judgeStrNull(simulateImei)){
@@ -101,7 +101,7 @@ public class ImeiUtil {
             // 用putString的方法保存数据
             String encryptMD5to16 ="YYR" + encryptMD5to16();
             SDKSettings.ifa_type = "0";
-            Utils.setSharedPreferences("yyrh","simulateImei",encryptMD5to16,context);
+            Utils.setSharedPreferences(Constants.SP_KEY,"simulateImei",encryptMD5to16,context);
 
 
             return encryptMD5to16;

+ 72 - 155
hnyy/src/main/java/com/yyrh/networking/NetRequestApi.java

@@ -4,6 +4,7 @@ import android.app.Activity;
 
 import android.os.Message;
 
+import android.util.Log;
 import android.widget.Toast;
 
 
@@ -66,6 +67,7 @@ import static com.yyrh.constant.URLConstants.REALNAMERECORD;
 import static com.yyrh.constant.URLConstants.RECHARGEINT;
 import static com.yyrh.constant.URLConstants.REGISTERWITHPHONE;
 import static com.yyrh.constant.URLConstants.RESETPWDWITHPHONE;
+import static com.yyrh.constant.URLConstants.RNUSERACTION;
 import static com.yyrh.constant.URLConstants.RSAKEY;
 import static com.yyrh.constant.URLConstants.UPLOADROLEINFO;
 import static com.yyrh.constant.URLConstants.USERLOGIN;
@@ -76,7 +78,7 @@ public class NetRequestApi {
 
 
 
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(true);
 
         String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
         String paramSign = SignUtils.paramSign(map, time);
@@ -102,7 +104,7 @@ public class NetRequestApi {
 
             @Override
             public void onResponse(String response) {
-
+                YYLog.i(response);
                 try {
                     JSONObject json = new JSONObject(response);
                     int code = json.optInt("code", -1);
@@ -148,7 +150,7 @@ public class NetRequestApi {
     public static void loginWithYy(boolean isShowPrg, final Activity activity, String account, String password,String login_token, final LoginCallback loginCallback) {
 
 
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(false);
 
 
         map.put("smt_type", SignUtils.toURLEncoded(SDKSettings.isSimulator));
@@ -211,7 +213,7 @@ public class NetRequestApi {
 
                 SDKSettings.LOGINTAG = LOGIN;
 
-                if (loginData.is_rn == 0) {
+                if (Utils.judgeStrNull(loginData.authentication)) {
                     SDKSettings.isVefityRealName = false;
                 } else {
                     SDKSettings.isVefityRealName = true;
@@ -232,7 +234,7 @@ public class NetRequestApi {
 
         ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "hnyy_registering")));
 
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(false);
 
 
         map.put("smt_type", SignUtils.toURLEncoded(SDKSettings.isSimulator));
@@ -255,8 +257,6 @@ public class NetRequestApi {
         map.put("sign", paramSign);
 
 
-
-
         UrlHttpUtil.post(activity,FASTREGISTER, map, new CallBackUtil.CallBackString() {
             @Override
             public void onFailure(int code, String errorMessage) {
@@ -284,8 +284,7 @@ public class NetRequestApi {
                 }
 
                 SDKSettings.loginData = LoginData.toBean(data);
-
-
+                
 
 
 
@@ -299,7 +298,7 @@ public class NetRequestApi {
 
     public static void loginWithChannel(final Activity activity, String channelLoginInfo, final LoginCallback loginCallback) {
 
-          HashMap<String, String> map = getCommonParams();
+          HashMap<String, String> map = getCommonParams(false);
 
 
         map.put("sdk_params", channelLoginInfo);
@@ -368,7 +367,7 @@ public class NetRequestApi {
                                          String roleId, String roleName, String roleLevel, String serverId,
                                          String serverName, String hasGold, String vipLevel, String role_power, String partyId, String partyName, String createTime, String charge) {
 
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(false);
 
 
         if (type.equals(Constants.UPLOADTYPE_CREATEROLE)) {
@@ -417,7 +416,7 @@ public class NetRequestApi {
 
 
 
-        UrlHttpUtil.post(activity,UPLOADROLEINFO, map, new CallBackUtil.CallBackString() {
+        UrlHttpUtil.post(UPLOADROLEINFO, map, new CallBackUtil.CallBackString() {
             @Override
             public void onFailure(int code, String errorMessage) {
 
@@ -493,7 +492,7 @@ public class NetRequestApi {
         }
 
 
-        HashMap<String, String> orderMap = getCommonParams();
+        HashMap<String, String> orderMap = getCommonParams(false);
 
 
         orderMap.put("uname", loginData.uname);
@@ -588,7 +587,7 @@ public class NetRequestApi {
 
         ProgressDialogUtils.show(activity, activity.getString(ResourceUtil.getStringId(activity, "hnyy_get_code")));
 
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(false);
 
 
         map.put("phone", SignUtils.toURLEncoded(phone));
@@ -645,7 +644,7 @@ public class NetRequestApi {
             return;
         }
 
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(false);
 
 
 
@@ -706,7 +705,7 @@ public class NetRequestApi {
 
     public static void registerWithPhone(final Activity activity, String code, String userInfo, final UserPhoneLoginSetpwdFragment.PhoneRegisterCallback phoneRegisterCallback) {
 
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(false);
 
 
         map.put("uname_pwd", userInfo);
@@ -785,7 +784,7 @@ public class NetRequestApi {
     public static void resetPwdWithPhone(Activity activity, String phone, String code, String pwd, final UserRetrievePwdFragment.ResetPwdCallback resetPwdCallback) {
 
 
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(false);
 
 
         String uname_pwd = null;
@@ -844,130 +843,12 @@ public class NetRequestApi {
 
     }
 
-    public static void upLoadUserRealNameInfo(String report_type, String channelRealNameInfo) {
-        HashMap<String, String> map = getCommonParams();
-
-
-        map.put("channel_uid", SignUtils.toURLEncoded(loginData.channel_uid));
-        map.put("uname", SignUtils.toURLEncoded(loginData.uname));
-        map.put("report_type", report_type);
-        map.put("sdk_params", channelRealNameInfo);
-
-
-        String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
-        String paramSign = SignUtils.paramSign(map, time);
-        map.put("time", time);
-        map.put("sign", paramSign);
-
-
-        UrlHttpUtil.post(REALNAMERECORD, map, new CallBackUtil.CallBackString() {
-            @Override
-            public void onFailure(int code, String errorMessage) {
-
-
-                YYLog.i(errorMessage);
-            }
-
-            @Override
-            public void onResponse(String response) {
-
-
-                ProgressDialogUtils.dismiss();
-
-                JSONObject json = null;
-
-                try {
-                    json = new JSONObject(response);
-
-                } catch (JSONException e) {
-                    e.printStackTrace();
-                }
-                int code = json.optInt("code", -1);
-
-                if (code == 1) {
-                    String rn_bd = "";
-                    try {
-                        JSONObject data = json.getJSONObject("data");
-                        rn_bd = data.optString("rn_bd", "");
-                    } catch (JSONException e) {
-                        e.printStackTrace();
-                    }
-                    loginData.rn_bd = rn_bd;
-
-                }
-
-
-            }
-        });
-
-    }
-
-    public static void recordUserRealNameInfo(Activity activity, String report_type, String channelRealNameInfo) {
-
-        HashMap<String, String> map = getCommonParams();
 
 
-        map.put("channel_uid", SignUtils.toURLEncoded(loginData.channel_uid));
-        map.put("uname", SignUtils.toURLEncoded(loginData.uname));
-        map.put("report_type", report_type);
-        map.put("sdk_params", channelRealNameInfo);
 
 
-        String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
-        String paramSign = SignUtils.paramSign(map, time);
-        map.put("time", time);
-        map.put("sign", paramSign);
-
-
-
-        UrlHttpUtil.post(REALNAMERECORD, map, new CallBackUtil.CallBackString() {
-            @Override
-            public void onFailure(int code, String errorMessage) {
-                ProgressDialogUtils.dismiss();
-
-
-                YYLog.i(errorMessage);
-            }
-
-            @Override
-            public void onResponse(String response) {
-
-
-                ProgressDialogUtils.dismiss();
-
-                JSONObject json = null;
-                String msg = "";
-                try {
-                    json = new JSONObject(response);
-                    msg = json.optString("msg");
-                } catch (JSONException e) {
-                    e.printStackTrace();
-                }
-                int code = json.optInt("code", -1);
-                if (code != 1) {
-
-                    SDKEntry.getSdkInstance().sdkCallback.realNameMsgCallback(false, "");
-                } else {
-                    String rn_bd = "";
-                    try {
-                        JSONObject data = json.getJSONObject("data");
-                        rn_bd = data.optString("rn_bd", "");
-                    } catch (JSONException e) {
-                        e.printStackTrace();
-                    }
-                    loginData.rn_bd = rn_bd;
-                    SDKEntry.getSdkInstance().sdkCallback.realNameMsgCallback(true, rn_bd);
-                }
-
-
-            }
-        });
-
-
-    }
-
     public static void queryOrder(String order_id, final HashMap<String, Object> payMap) {
-        HashMap<String, String> map = getCommonParams();
+        HashMap<String, String> map = getCommonParams(false);
 
 
         String query_params = (String) payMap.get("query_params");
@@ -1088,29 +969,65 @@ public class NetRequestApi {
         });
     }
 
-    private static HashMap<String, String> getCommonParams() {
-        HashMap<String, String> map = new HashMap();
+    public static void rnUserAction(String action){
+
+        if (Utils.judgeStrNull(SDKSettings.loginData.rn_si)){
+            YYLog.i(" rn_si is null");
+            return;
+        }
 
-        map.put("game_code", SignUtils.toURLEncoded(SDKSettings.game_code));
-        map.put("gcp_code", SignUtils.toURLEncoded(SDKSettings.gcp_code));
-        map.put("cs_ver", SignUtils.toURLEncoded(SDKSettings.SDK_VERSION));
-        map.put("system", SignUtils.toURLEncoded(SDKSettings.system));
-        map.put("ifa", SignUtils.toURLEncoded(SDKSettings.imei));
-        map.put("device_ver", SignUtils.toURLEncoded(SDKSettings.version));
-        map.put("sp_code", SignUtils.toURLEncoded(SDKSettings.sp_code));
+        HashMap<String, String> map = getCommonParams(false);
+        map.put("si", loginData.rn_si);
+        map.put("bt",action);
+        map.put("uname", loginData.uname);
 
-        map.put("device_model", SignUtils.toURLEncoded(SDKSettings.device_model));
-        map.put("package_name", SDKSettings.package_name);
-        map.put("ifa_type", SDKSettings.ifa_type);
-        map.put("android_id", SDKSettings.android_id);
-
-        if (!Utils.judgeStrNull(SDKSettings.o_cfg)) {
-            map.put("o_cfg", SDKSettings.o_cfg);
-            YYLog.i("o_cfg : " + SDKSettings.o_cfg);
-        } else {
-            YYLog.i("o_cfg is null");
+        String time = SignUtils.toURLEncoded(System.currentTimeMillis() / 1000 + "");
+        String paramSign = SignUtils.paramSign(map, time);
+        map.put("time", time);
+        map.put("sign", paramSign);
+
+
+        UrlHttpUtil.post(RNUSERACTION, map, new CallBackUtil.CallBackString() {
+            @Override
+            public void onFailure(int code, String errorMessage) {
+                YYLog.i(errorMessage);
+            }
+
+            @Override
+            public void onResponse(String response) {
+                YYLog.i(response);
+            }
+        });
+
+    }
+    private static HashMap<String, String> getCommonParams(boolean isInitApi) {
+        HashMap<String, String> map = new HashMap();
+        if (isInitApi){
+            map.put("game_code", SignUtils.toURLEncoded(SDKSettings.game_code));
+            map.put("gcp_code", SignUtils.toURLEncoded(SDKSettings.gcp_code));
+            map.put("cs_ver", SignUtils.toURLEncoded(SDKSettings.SDK_VERSION));
+            map.put("system", SignUtils.toURLEncoded(SDKSettings.system));
+            map.put("ifa", SignUtils.toURLEncoded(SDKSettings.imei));
+            map.put("device_ver", SignUtils.toURLEncoded(SDKSettings.version));
+            map.put("sp_code", SignUtils.toURLEncoded(SDKSettings.sp_code));
+
+            map.put("device_model", SignUtils.toURLEncoded(SDKSettings.device_model));
+            map.put("package_name", SDKSettings.package_name);
+            map.put("ifa_type", SDKSettings.ifa_type);
+            map.put("android_id", SDKSettings.android_id);
+            if (!Utils.judgeStrNull(SDKSettings.o_cfg)) {
+                map.put("o_cfg", SDKSettings.o_cfg);
+                YYLog.i("o_cfg : " + SDKSettings.o_cfg);
+            } else {
+                YYLog.i("o_cfg is null");
+            }
+        }else{
+            map.put("access_token", SDKSettings.initConfig.access_token);
         }
 
+
+
+
         return map;
     }
 

+ 110 - 0
hnyy/src/main/java/com/yyrh/sdk/PermissionManager.java

@@ -1,4 +1,114 @@
 package com.yyrh.sdk;
 
+import android.app.Activity;
+
+
+import com.yyrh.constant.Constants;
+import com.yyrh.constant.SDKSettings;
+import com.yyrh.easypermission.EasyPermission;
+import com.yyrh.easypermission.GrantResult;
+import com.yyrh.easypermission.Permission;
+import com.yyrh.easypermission.PermissionRequestListener;
+import com.yyrh.utils.PermissionUtils;
+import com.yyrh.utils.Utils;
+import com.yyrh.utils.YYLog;
+
+
+import java.util.List;
+import java.util.Map;
+
 public class PermissionManager {
+
+
+
+    public void requestPermission(final Activity activity, List<String> permissionList,final PermissionCallBack permissionCallBack){
+
+
+        if (SDKSettings.isSkipPermission){
+            YYLog.i("跳过权限申请");
+            permissionCallBack.onResult(Result.SKIP);
+            return;
+        }
+
+        if (PermissionUtils.checkIsHasPermission(activity,PermissionUtils.CODE_READ_PHONE_STATE) == 0 &&
+                PermissionUtils.checkIsHasPermission(activity,PermissionUtils.CODE_WRITE_EXTERNAL_STORAGE) == 0){
+            YYLog.i("已有权限");
+            permissionCallBack.onResult(Result.GRANT);
+            return;
+        }
+
+        if (Utils.getSharedPreferences(Constants.SP_KEY, "yyrhStopRequestPermission", activity).equals("1")){
+            YYLog.i("玩家首次拒绝权限,第二次不再申请");
+            permissionCallBack.onResult(Result.STOP);
+            return;
+        }
+
+
+
+        if (SDKSettings.isStopRequestPermisson){
+                Utils.setSharedPreferences(Constants.SP_KEY, "yyrhStopRequestPermission", "1", activity);
+            }
+        String[]  permissions = permissionList.toArray(new String[permissionList.size()]);
+
+        EasyPermission.with(activity)
+                .addPermissions(permissions)          //申请打电话权限
+                .request(new PermissionRequestListener() {
+                    @Override
+                    public void onGrant(Map<String, GrantResult> result) {
+                        //权限申请返回
+                        if (result.get(Permission.READ_PHONE_STATE).getValue() == 0){
+                            YYLog.i("授予权限");
+                            permissionCallBack.onResult(Result.GRANT);
+
+                        }else {
+                            YYLog.i("拒绝权限");
+                            permissionCallBack.onResult(Result.DENIED);
+                        }
+
+                    }
+
+                    @Override
+                    public void onCancel(String stopPermission) {
+                        //在addRequestPermissionRationaleHandler的处理函数里面调用了NextAction.next(NextActionType.STOP,就会中断申请过程,直接回调到这里来
+
+                    }
+                });
+
+
+
+
+
+    }
+
+
+    public interface PermissionCallBack {
+
+        void onResult(Result code);
+    }
+
+
+    public enum Result {
+
+        /**
+         * 授予权限
+         */
+        GRANT,
+
+        /**
+         * 拒绝权限
+         */
+        DENIED,
+        /**
+         * 跳过权限申请
+         */
+        SKIP,
+        /**
+         * 玩家首次拒绝权限,第二次不再申请
+         */
+        STOP
+
+
+        }
+
 }
+

+ 20 - 52
hnyy/src/main/java/com/yyrh/sdk/SDKEntry.java

@@ -13,6 +13,7 @@ import android.util.Log;
 
 import com.yyrh.advertisement.AdSdkCallback;
 import com.yyrh.advertisement.AdvertiseManager;
+import com.yyrh.constant.Constants;
 import com.yyrh.constant.RoleInfo;
 import com.yyrh.constant.SDKSettings;
 import com.yyrh.factory.SdkManager;
@@ -71,13 +72,14 @@ public class SDKEntry {
     private ChannelSDK sdk = null;
 
 
+
     private YyrhSdkManager manager = null;
 
     private static volatile SDKEntry sdkInstance = null;
 
     private  String role_ctime="";
 
-    private List<String> permissionList=new ArrayList<String>(Arrays.asList(Permission.READ_PHONE_STATE,Permission.WRITE_EXTERNAL_STORAGE));
+    private List<String> permissionList=new ArrayList<>(Arrays.asList(Permission.READ_PHONE_STATE,Permission.WRITE_EXTERNAL_STORAGE));
 
     //广告操作回调
     public AdSdkCallback adSdkCallback = new AdSdkCallback() {
@@ -193,11 +195,7 @@ public class SDKEntry {
 
         @Override
         public void onGetChannelRealNameCallback(boolean isRealName, String report_type, String birthday) {
-            if (isRealName){
-                NetRequestApi.recordUserRealNameInfo(gameAct,report_type,birthday);
-            }else{
-                realNameMsgCallback.onLoadRealNameMsg(false,"");
-            }
+
         }
 
         @Override
@@ -213,7 +211,7 @@ public class SDKEntry {
 
         @Override
         public void onUploadUserRealNameInfo(String report_type, String msg) {
-            NetRequestApi.upLoadUserRealNameInfo(report_type,msg);
+
         }
 
         @Override
@@ -230,7 +228,7 @@ public class SDKEntry {
                             initCall.onGetOaid(false,"");
                         }
                         SDKSettings.imei = oaid;
-                        Utils.setSharedPreferences("yyrh","simulateImei",oaid,gameAct);
+                        Utils.setSharedPreferences(Constants.SP_KEY,"simulateImei",oaid,gameAct);
                     }else{
                         SDKSettings.imei = ImeiUtil.getImei(gameAct);
                         initCall.onGetOaid(false,"");
@@ -334,7 +332,6 @@ public class SDKEntry {
         manager = YyrhSdkManager.defaultManager(activity);
         sdk.SDKInit(activity,sdkCallback);
 
-
         InputStream inputStream = null;
 
         try {
@@ -346,41 +343,16 @@ public class SDKEntry {
             new GameSplashDialog(activity, ResourceUtil.getStyleId(activity,"hnyy_welcome_dialog")).show();
         }
 
+        SDKSettings.initSetting(activity,isDebug);
 
-        int checkResult;
-        if (PermissionUtils.checkIsHasPermission(activity,PermissionUtils.CODE_READ_PHONE_STATE) == 0 &&
-                PermissionUtils.checkIsHasPermission(activity,PermissionUtils.CODE_WRITE_EXTERNAL_STORAGE) == 0){
-            checkResult = 0;
-        }else{
-            checkResult = -1;
-        }
-        switch (checkResult){
-             case 0 :
-				AdvertiseManager.defaultManager(activity).advertiseInit(activity);
-				manager.yyrhInitDevice(activity, isDebug);
-                 break;
-             case -1 :
-
-                 String[]  permissions = permissionList.toArray(new String[permissionList.size()]);
-
-                 EasyPermission.with(activity)
-                         .addPermissions(permissions)          //申请打电话权限
-                         .request(new PermissionRequestListener() {
-                             @Override
-                             public void onGrant(Map<String, GrantResult> result) {
-                                 //权限申请返回
-								 AdvertiseManager.defaultManager(activity).advertiseInit(activity);
-								 manager.yyrhInitDevice(activity, isDebug);
-                             }
+        new PermissionManager().requestPermission(activity,permissionList,new PermissionManager.PermissionCallBack() {
 
-                             @Override
-                             public void onCancel(String stopPermission) {
-                                 //在addRequestPermissionRationaleHandler的处理函数里面调用了NextAction.next(NextActionType.STOP,就会中断申请过程,直接回调到这里来
-
-                             }
-                         });
-                 break;
-         }
+            @Override
+            public void onResult(PermissionManager.Result code) {
+                AdvertiseManager.defaultManager(activity).advertiseInit(activity);
+                manager.yyrhInitDevice();
+            }
+        });
 
 
 
@@ -388,11 +360,11 @@ public class SDKEntry {
 
     public void setExtPermission(ArrayList<String> extPermission){
 
-        if (extPermission != null){
-            for(String permission:extPermission){
-                permissionList.add(permission);
+            if (extPermission != null){
+                for(String permission:extPermission){
+                    permissionList.add(permission);
+                }
             }
-        }
 
     }
     public void login (Activity activity, LoginCallback callback){
@@ -596,13 +568,9 @@ public class SDKEntry {
     }
 
 
-
+    @Deprecated
     public void getRealNameInfo(Activity activity, RealNameMsgCallback realNameMsgCallback){
         this.realNameMsgCallback = realNameMsgCallback;
-        if (Utils.getTextIsNull(SDKSettings.loginData.uname)){
-            new TosUtil(activity,TosUtil.TOAST_ERROR,  activity.getString(ResourceUtil.getStringId(activity, "hnyy_login2pay"))).show();
-            return;
-        }
-        SdkManager.defaultManager(gameAct).getRealNameInfo(activity, realNameMsgCallback);
+        this.realNameMsgCallback.onLoadRealNameMsg(false,"");
     }
 }

+ 63 - 89
hnyy/src/main/java/com/yyrh/sdk/YyrhSdkManager.java

@@ -10,6 +10,7 @@ import android.os.Handler;
 import android.os.Looper;
 import android.util.Log;
 
+import com.yyrh.constant.Constants;
 import com.yyrh.constant.InitConfig;
 import com.yyrh.constant.URLConstants;
 import com.yyrh.factory.SdkManager;
@@ -29,6 +30,7 @@ import com.yyrh.ui.fragment.FragmentUtils;
 import com.yyrh.ui.userlist.DatabaseHelper;
 import com.yyrh.utils.InspectSimulator;
 import com.yyrh.utils.ResourceUtil;
+import com.yyrh.utils.ScheduledWorker;
 import com.yyrh.utils.Utils;
 import com.yyrh.constant.SDKSettings;
 import com.yyrh.networking.NetRequestApi;
@@ -40,11 +42,13 @@ import com.yythird.sdk.ChannelSDK;
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 
 import static com.yyrh.constant.Constants.LOGOUT;
 
 
+import static com.yyrh.constant.SDKSettings.initConfig;
 import static com.yyrh.constant.SDKSettings.isOpenRealName;
 
 import static com.yyrh.constant.SDKSettings.isVefityRealName;
@@ -53,7 +57,7 @@ import static com.yyrh.ui.floatmenu.FloatViewManager.SHOW_FLOAT;
 
 public class YyrhSdkManager {
     private static YyrhSdkManager manager = null;
-
+    public static ScheduledWorker sScheduledWorker = null;
 
     private Context context;
 
@@ -98,7 +102,7 @@ public class YyrhSdkManager {
         YYLog.i("yyrhShowPolicy ");
 
 
-        String isShowPolicy = Utils.getSharedPreferences("yyrh", "yyrhShowPolicy", context);
+        String isShowPolicy = Utils.getSharedPreferences(Constants.SP_KEY, "yyrhShowPolicy", context);
 
         if (isShowPolicy.equals("")) {
 
@@ -114,7 +118,7 @@ public class YyrhSdkManager {
 
                                     YYLog.i("User agree policy");
 
-                                    Utils.setSharedPreferences("yyrh", "yyrhShowPolicy", "1", context);
+                                    Utils.setSharedPreferences(Constants.SP_KEY, "yyrhShowPolicy", "1", context);
                                     userPolicyCallback.onAgree();
                                 }
 
@@ -134,8 +138,8 @@ public class YyrhSdkManager {
                     userPolicyCallback.onHide();
                 }
 
-                @Override
-                public void onError() {
+                    @Override
+                    public void onError() {
                     YYLog.i(" request policy error");
                     userPolicyCallback.onError();
                 }
@@ -150,15 +154,7 @@ public class YyrhSdkManager {
 
     }
 
-    public void yyrhInitDevice(final Activity activity, boolean isDebug) {
-
-        SDKSettings.isDebug = isDebug;
-
-        String isdebug = Utils.GetApplicationMetaData(context, "yyrh_debug");
-        if (isdebug.equals("true")) {
-            SDKSettings.isDebug = true;
-        }
-        SDKSettings.initSetting(activity);
+    public void yyrhInitDevice() {
 
         if (Build.VERSION.SDK_INT > 28) {
             ChannelSDK.getInstance().SDKGetOaid();
@@ -171,6 +167,7 @@ public class YyrhSdkManager {
     }
 
 
+
     public void yyrhInit(final Activity activity) {
 
 
@@ -236,7 +233,7 @@ public class YyrhSdkManager {
 
     public void yyrhLogin(Activity activity) {
         operateFloatViewInUIThread(activity, DESTORY_FLOAT);
-        SharedPreferences sp = activity.getSharedPreferences("yyrh", Activity.MODE_PRIVATE);
+        SharedPreferences sp = activity.getSharedPreferences(Constants.SP_KEY, Activity.MODE_PRIVATE);
         if (!Utils.judgeStrNull(sp.getString("username", "")) &&
                 !SDKSettings.LOGINTAG.equals(LOGOUT)) {
             autoLogin(activity);
@@ -247,7 +244,7 @@ public class YyrhSdkManager {
 
         } else {
 
-            if (InitConfig.fristShowPage.equals("phone")) {
+            if (SDKSettings.initConfig.fristShowPage.equals("phone")) {
 
                 showLoginView(activity, FragmentUtils.SDK_PHONE_REGISTER_TAG);
 
@@ -305,6 +302,13 @@ public class YyrhSdkManager {
 
     public void yyrhLogout() {
 
+
+        if (sScheduledWorker != null) {
+            sScheduledWorker.cancel();
+            NetRequestApi.rnUserAction("0");
+        }
+
+
         SDKSettings.loginData = null;
         final Activity activity = (Activity) context;
 
@@ -313,6 +317,7 @@ public class YyrhSdkManager {
         SDKSettings.LOGINTAG = LOGOUT;
         SDKEntry.getSdkInstance().sdkCallback.onLogOutCallback("Game Logout.");
 
+
     }
 
 
@@ -340,9 +345,8 @@ public class YyrhSdkManager {
         builder.setPositiveButton(new DialogInterface.OnClickListener() {
             @Override
             public void onClick(DialogInterface dialog, int which) {
-
+                NetRequestApi.rnUserAction("0");
                 FloatViewManager.defaultManager(activity).destroyFloat();
-
                 dialog.dismiss();
                 SDKEntry.getSdkInstance().adSdkCallback.onExitGame(activity);
                 SDKEntry.getSdkInstance().sdkCallback.onExiGameCallback(true, "Exit Game.");
@@ -370,21 +374,7 @@ public class YyrhSdkManager {
     public void saveUserLoginInfo(final Context context, final String account, String pwd, String login_token, final String token) {
 
 
-        HashMap<String, String> map = new HashMap();
-        map.put("username", account);
-        map.put("password", pwd);
-        map.put("login_token", login_token);
-        Utils.setSharedPreferences("yyrh", map, context);
-
-        String timeStamp = System.currentTimeMillis() + "";
-
-        String delete_sql = "delete from user where name = '" + account + "'";
-
-        String insert_sql = "insert into user(name,pwd,login_token,time) values('" + account
-                + "','" + pwd + "','" + login_token + "','" + timeStamp + "')";
-
-        DatabaseHelper.excuteSql(context, delete_sql);
-        DatabaseHelper.excuteSql(context, insert_sql);
+        DatabaseHelper.saveLoginInfo(account,pwd,login_token,context);
 
 
         operateRealNameDialog(token);
@@ -394,94 +384,51 @@ public class YyrhSdkManager {
     void operateRealNameDialog(final String token) {
         if (isOpenRealName) {
 
-            if (!isVefityRealName) {
-
-                if (SDKSettings.isForceRealName) {
+            if (isVefityRealName) {
 
                     new WvPageListDialog(context, ResourceUtil.getStyleId(context, "hnyy_half_black_dialog"), SDKSettings.loginData.authentication,
                             new WvPageListDialog.OnClosePageListener() {
                                 @Override
                                 public void onClose() {
 
-                                    if (SDKSettings.loginData.rn_bd.equals("")) {
-
-                                        SDKSettings.loginData = null;
-
-                                    }
-
                                 }
 
                                 @Override
                                 public void onDissmiss() {
-                                    openEmailDialogInUIThread((Activity) context);
-                                    operateFloatViewInUIThread((Activity) context, SHOW_FLOAT);
-
-                                }
-
-
-                                @Override
-                                public void onRealNameSuccess(String birthday) {
-
-
-                                    SDKEntry.getSdkInstance().sdkCallback.onLoginSuccess(token);
 
+                                    showLoginSuccessUi(token);
 
                                 }
-                            }, SDKSettings.isForceRealName).show();
-                } else {
-
-                    new WvPageListDialog(context, ResourceUtil.getStyleId(context, "hnyy_half_black_dialog"), SDKSettings.loginData.authentication,
-                            new WvPageListDialog.OnClosePageListener() {
-                                @Override
-                                public void onClose() {
-
-                                    SDKEntry.getSdkInstance().sdkCallback.onLoginSuccess(token);
 
 
-                                }
-
                                 @Override
-                                public void onDissmiss() {
-                                    openEmailDialogInUIThread((Activity) context);
-                                    operateFloatViewInUIThread((Activity) context, SHOW_FLOAT);
-
-                                }
-
+                                public void onRealNameSuccess() {
 
-                                @Override
-                                public void onRealNameSuccess(String birthday) {
                                     YYLog.i("onRealNameSuccess");
 
                                 }
-                            }).show();
-
+                            }, SDKSettings.isForceRealName).show();
 
-                }
 
             } else {
 
-                openEmailDialogInUIThread((Activity) context);
-                operateFloatViewInUIThread((Activity) context, SHOW_FLOAT);
-                SDKEntry.getSdkInstance().sdkCallback.onLoginSuccess(token);
-
+                showLoginSuccessUi(token);
 
             }
 
         } else {
-            openEmailDialogInUIThread((Activity) context);
-            operateFloatViewInUIThread((Activity) context, SHOW_FLOAT);
-            SDKEntry.getSdkInstance().sdkCallback.onLoginSuccess(token);
-        }
-    }
 
-    public void yyrhGetRealNameInfo(Activity activity, RealNameMsgCallback msgCallback) {
+            showLoginSuccessUi(token);
 
-        if (Utils.getTextIsNull(SDKSettings.loginData.rn_bd)) {
-            msgCallback.onLoadRealNameMsg(false, "");
-        } else {
-            msgCallback.onLoadRealNameMsg(true, SDKSettings.loginData.rn_bd);
         }
+    }
 
+
+    private void  showLoginSuccessUi(String token){
+        openEmailDialogInUIThread((Activity) context);
+        operateFloatViewInUIThread((Activity) context, SHOW_FLOAT);
+        SDKEntry.getSdkInstance().sdkCallback.onLoginSuccess(token);
+        startRoleOnlineWorker();
     }
 
     private void operateFloatViewInUIThread(final Activity gameAct, final int status) {
@@ -523,5 +470,32 @@ public class YyrhSdkManager {
 
     public void onDestroy(Activity activity) {
         this.context = activity;
+        if (sScheduledWorker != null) {
+            sScheduledWorker.cancel();
+        }
+    }
+
+
+    private void startRoleOnlineWorker(){
+        if (Utils.judgeStrNull(SDKSettings.loginData.rn_si)){
+            YYLog.i(" rn_si is null");
+            return;
+        }
+        if (sScheduledWorker == null) {
+            sScheduledWorker = new ScheduledWorker(1);
+        }
+        sScheduledWorker.cancel();
+        int time = initConfig.rn_bh;
+        YYLog.i(" ------ 开始防沉迷计时任务  : " + time);
+        sScheduledWorker.invokeAtFixedRate(new Runnable() {
+            @Override
+            public void run() {
+
+                YYLog.i(" ------ 用户角色心跳 ------");
+
+                NetRequestApi.rnUserAction("2");
+
+            }
+        }, time, time, TimeUnit.SECONDS);
     }
 }

+ 1 - 1
hnyy/src/main/java/com/yyrh/ui/NewProgressDialogUtils.java

@@ -26,7 +26,7 @@ public class NewProgressDialogUtils {
 	 	String message;
 		switch (url){
 			case INIT:
-				message =  "hnyy_network_error_tip";
+				message =  "hnyy_initing";
 				break;
 			case USERLOGIN:
 				message =  "hnyy_logging";

+ 6 - 4
hnyy/src/main/java/com/yyrh/ui/PageJsInteraction.java

@@ -22,10 +22,7 @@ public class PageJsInteraction {
         this.baseDialog.zfColse();
     }
 
-    @JavascriptInterface
-    public void usrRn(String message) {
-        this.baseDialog.usrRn(message);
-    }
+
     @JavascriptInterface
     public void showJsMsg(String message) {
         this.baseDialog.showJsMsg(message);
@@ -57,4 +54,9 @@ public class PageJsInteraction {
     public void switchAccount() {
          this.baseDialog.switchAccount();
     }
+
+    @JavascriptInterface
+    public void realNameResult(String json){
+        this.baseDialog.realNameResult(json);
+    }
 }

+ 3 - 2
hnyy/src/main/java/com/yyrh/ui/dialog/AutoLoginDialog.java

@@ -15,6 +15,7 @@ import android.view.Window;
 import android.view.WindowManager;
 import android.widget.TextView;
 
+import com.yyrh.constant.Constants;
 import com.yyrh.constant.SDKSettings;
 import com.yyrh.networking.NetRequestApi;
 import com.yyrh.sdk.YyrhSdkManager;
@@ -104,7 +105,7 @@ public class AutoLoginDialog extends Dialog {
                 }
 
                 String hnyy_enter_game_tip = context.getString(ResourceUtil.getStringId(context, "hnyy_enter_game_tip"));
-                String autoTip = Utils.getSharedPreferences("yyrh", "username", context) + hnyy_enter_game_tip;
+                String autoTip = Utils.getSharedPreferences(Constants.SP_KEY, "username", context) + hnyy_enter_game_tip;
                 hnyy_auto_login_account_text.setText(autoTip);
                 dialog.setCancelable(false);
                 timer = new Timer();
@@ -120,7 +121,7 @@ public class AutoLoginDialog extends Dialog {
                 Looper.prepare();
                 dialogDismiss();
 
-                SharedPreferences sp = context.getSharedPreferences("yyrh", Activity.MODE_PRIVATE);
+                SharedPreferences sp = context.getSharedPreferences(Constants.SP_KEY, Activity.MODE_PRIVATE);
                 final String account = sp.getString("username", "");
                 final String pwd = sp.getString("password", "");
                 final String login_token = sp.getString("login_token", "");

+ 5 - 4
hnyy/src/main/java/com/yyrh/ui/dialog/BaseDialog.java

@@ -42,9 +42,6 @@ public class BaseDialog extends Dialog {
     }
 
 
-    public void usrRn(String message) {
-        YYLog.i("usrRn:" + message);
-    }
 
     public void showJsMsg(String message) {
         YYLog.i("showJsMsg:" + message);
@@ -68,7 +65,7 @@ public class BaseDialog extends Dialog {
         YYLog.i("switchAccount");
 
     }
-    @JavascriptInterface
+
     public String webExt(){
 
         JSONObject json = new JSONObject();
@@ -94,4 +91,8 @@ public class BaseDialog extends Dialog {
         YYLog.i("webExt : " + json.toString());
         return json.toString();
     }
+
+    public void realNameResult(String json){
+        YYLog.i("realNameResult:"+ json);
+    }
 }

+ 2 - 18
hnyy/src/main/java/com/yyrh/ui/dialog/UserCenterDialog.java

@@ -19,6 +19,7 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 
+import com.yyrh.constant.Constants;
 import com.yyrh.constant.SDKSettings;
 import com.yyrh.sdk.YyrhSdkManager;
 import com.yyrh.ui.PageJsInteraction;
@@ -207,24 +208,7 @@ public class UserCenterDialog extends BaseDialog {
     @Override
     public void modifyPwd(String message) {
         super.modifyPwd(message);
-
-        HashMap<String, String> map = new HashMap();
-        map.put("username", SDKSettings.loginData.uname);
-        map.put("password", message);
-        Utils.setSharedPreferences("yyrh",map,context);
-
-
-
-        String timeStamp = System.currentTimeMillis() + "";
-
-        String delete_sql = "delete from user where name = '" + SDKSettings.loginData.uname + "'";
-
-        String insert_sql = "insert into user(name,pwd,time) values('" +SDKSettings.loginData.uname
-                + "','" + message + "','" + timeStamp + "')";
-
-        DatabaseHelper.excuteSql(context, delete_sql);
-        DatabaseHelper.excuteSql(context, insert_sql);
-
+        DatabaseHelper.saveLoginInfo(SDKSettings.loginData.uname,message,"",context);
     }
 
     @Override

+ 25 - 61
hnyy/src/main/java/com/yyrh/ui/dialog/WvPageListDialog.java

@@ -24,15 +24,20 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 
 
+import com.yyrh.constant.Constants;
 import com.yyrh.constant.SDKSettings;
 import com.yyrh.ui.PageJsInteraction;
 import com.yyrh.ui.userlist.DatabaseHelper;
 
+import com.yyrh.utils.AndroidBug5497Workaround;
 import com.yyrh.utils.ResourceUtil;
 import com.yyrh.utils.TosUtil;
 import com.yyrh.utils.Utils;
 
 
+import org.json.JSONException;
+import org.json.JSONObject;
+
 import java.net.URISyntaxException;
 import java.util.HashMap;
 
@@ -50,18 +55,11 @@ public class WvPageListDialog extends BaseDialog {
     private String url;
     public OnClosePageListener listener;
     private boolean isHiddenClo = false;
-    public WvPageListDialog(Context context) {
-        super(context);
-        this.context = context;
-    }
-
 
     public WvPageListDialog(Context context, int theme,String url) {
         super(context, theme);
         this.context = context;
-
         this.url = url;
-
     }
 
     public WvPageListDialog(Context context, int theme,String url,OnClosePageListener listener) {
@@ -87,8 +85,6 @@ public class WvPageListDialog extends BaseDialog {
                     "hnyy_webview_common_dialog"));
 
 
-
-
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
             Window window = getWindow();
             window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
@@ -141,21 +137,6 @@ public class WvPageListDialog extends BaseDialog {
             close_btn.setVisibility(View.GONE);
         }
 
-//        reback_btn.setOnClickListener(new View.OnClickListener() {
-//            @Override
-//            public void onClick(View v) {
-//                if (webView.canGoBack()) {
-//                    webView.goBack();
-//                }else {
-//                    webView.destroy();
-//                    dismiss();
-//                }
-//
-//            }
-//        });
-
-
-//        wv_title.setText(title);
         webSettings = webView.getSettings();
         webSettings.setAllowFileAccess(true);
         webSettings.setJavaScriptEnabled(true);
@@ -178,8 +159,6 @@ public class WvPageListDialog extends BaseDialog {
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
 
 
-
-
                 if (url.startsWith("http:") || url.startsWith("https")) {
                     return super.shouldOverrideUrlLoading(view, url);
                 } else if (url.startsWith("mqqwpa://")) {
@@ -215,7 +194,6 @@ public class WvPageListDialog extends BaseDialog {
         webView.setBackgroundColor(0);
         webView.getBackground().setAlpha(0);
 
-
         webView.loadUrl(url);
     }
 
@@ -225,7 +203,7 @@ public class WvPageListDialog extends BaseDialog {
     public interface OnClosePageListener {
          void onClose();
          void onDissmiss();
-         void onRealNameSuccess(String birthday);
+         void onRealNameSuccess();
     }
 
 
@@ -245,35 +223,13 @@ public class WvPageListDialog extends BaseDialog {
         new TosUtil(context,TosUtil.TOAST_ERROR,  message).show();
     }
 
-    @Override
-    public void usrRn(String message) {
-        super.usrRn(message);
-        isVefityRealName = true;
-        SDKSettings.loginData.rn_bd = message;
-        listener.onRealNameSuccess(message);
-    }
 
     @Override
     public void modifyPwd(String message) {
         super.modifyPwd(message);
 
 
-        HashMap<String, String> map = new HashMap();
-        map.put("username", SDKSettings.loginData.uname);
-        map.put("password", message);
-        Utils.setSharedPreferences("yyrh",map,context);
-
-
-
-        String timeStamp = System.currentTimeMillis() + "";
-
-        String delete_sql = "delete from user where name = '" + SDKSettings.loginData.uname + "'";
-
-        String insert_sql = "insert into user(name,pwd,time) values('" +SDKSettings.loginData.uname
-                + "','" + message + "','" + timeStamp + "')";
-
-        DatabaseHelper.excuteSql(context, delete_sql);
-        DatabaseHelper.excuteSql(context, insert_sql);
+        DatabaseHelper.saveLoginInfo(SDKSettings.loginData.uname,message,"",context);
     }
 
 
@@ -281,11 +237,11 @@ public class WvPageListDialog extends BaseDialog {
     public void openq0q0(String url) {
         super.openq0q0(url);
 
-        {
-            Log.i("openq0q0", url);
+
             if (Utils.judgeStrNull(url)) {
                 return;
             }
+
             if (url.equals("mqqwpa://")) {
                 try {
 
@@ -308,24 +264,32 @@ public class WvPageListDialog extends BaseDialog {
             }
 
 
-        }
+
     }
 
     @Override
     public void dismiss() {
         super.dismiss();
-        if (isHiddenClo){
-            if (SDKSettings.loginData.rn_bd.equals("")){
-                SDKSettings.loginData.channel_uid = "";
-                SDKSettings.loginData.uname = "";
-
-            }
 
-        }
         if (listener != null){
             listener.onDissmiss();
         }
 
 
+    }
+
+    @Override
+    public void realNameResult(String json) {
+        super.realNameResult(json);
+        try {
+
+            SDKSettings.loginData.rn_si = new JSONObject(json).optString("si");
+            listener.onRealNameSuccess();
+
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+
+
     }
 }

+ 6 - 0
hnyy/src/main/java/com/yyrh/ui/fragment/BaseFragment.java

@@ -26,8 +26,14 @@ public class BaseFragment extends Fragment implements View.OnClickListener {
         btn_kefu = view.findViewById(ResourceUtil.getId(getActivity(),"btn_kefu"));
         if (btn_kefu != null){
             btn_kefu.setOnClickListener(this);
+            if (!SDKSettings.isShowKf){
+                btn_kefu.setVisibility(View.GONE);
+            }
+
         }
 
+
+
     }
 
     public void addFragmentToActivity(FragmentManager fragmentManager,

+ 2 - 1
hnyy/src/main/java/com/yyrh/ui/fragment/UserAccountLoginFragment.java

@@ -22,6 +22,7 @@ import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;
 
+import com.yyrh.constant.Constants;
 import com.yyrh.constant.SDKSettings;
 import com.yyrh.networking.NetRequestApi;
 import com.yyrh.sdk.SDKEntry;
@@ -114,7 +115,7 @@ public class UserAccountLoginFragment extends BaseFragment {
         close_btn = view.findViewById(ResourceUtil.getId(getActivity(),"close_btn"));
         close_btn.setOnClickListener(this);
 
-        SharedPreferences sp = getActivity().getSharedPreferences("yyrh", Activity.MODE_PRIVATE);
+        SharedPreferences sp = getActivity().getSharedPreferences(Constants.SP_KEY, Activity.MODE_PRIVATE);
         reg_account_edit.setText(sp.getString("username", ""));
         reg_pwd_edit.setText(sp.getString("password", ""));
         reg_pwd_edit.setTransformationMethod(PasswordTransformationMethod.getInstance());

+ 1 - 1
hnyy/src/main/java/com/yyrh/ui/fragment/UserRegisterFragment.java

@@ -206,7 +206,7 @@ public class UserRegisterFragment extends BaseFragment {
 
                 }
 
-                SDKSettings.isVefityRealName = false;
+
                 YyrhSdkManager.defaultManager(SDKEntry.getSdkInstance().gameAct).saveUserLoginInfo(SDKEntry.getSdkInstance().gameAct,account,pwd,SDKSettings.loginData.login_token,token);
                 SDKEntry.getSdkInstance().adSdkCallback.onRegisterSuccess(account);
 

+ 2 - 16
hnyy/src/main/java/com/yyrh/ui/fragment/UserRetrievePwdFragment.java

@@ -15,6 +15,7 @@ import android.widget.EditText;
 import android.widget.ImageButton;
 import android.widget.TextView;
 
+import com.yyrh.constant.Constants;
 import com.yyrh.constant.SDKSettings;
 import com.yyrh.constant.URLConstants;
 import com.yyrh.networking.NetRequestApi;
@@ -184,22 +185,7 @@ public class UserRetrievePwdFragment extends BaseFragment {
             public void onResetSuccess(String msg) {
 
 
-
-                HashMap<String, String> map = new HashMap();
-                map.put("username", phone);
-                map.put("password", pwd);
-                map.put("login_token", "");
-                Utils.setSharedPreferences("yyrh",map,getActivity());
-
-
-
-                String timeStamp = System.currentTimeMillis() + "";
-                String delete_sql = "delete from user where name = '" + phone + "'";
-                String insert_sql = "insert into user(name,pwd,login_token,time) values('" + phone
-                        + "','" + pwd + "','"  + "" + "','" + timeStamp + "')";
-
-                DatabaseHelper.excuteSql(getActivity(), delete_sql);
-                DatabaseHelper.excuteSql(getActivity(), insert_sql);
+                DatabaseHelper.saveLoginInfo(phone,pwd,"",getActivity());
 
 
                 new TosUtil(getActivity(),TosUtil.TOAST_GREEN, msg).show();

+ 25 - 0
hnyy/src/main/java/com/yyrh/ui/userlist/DatabaseHelper.java

@@ -5,6 +5,11 @@ import android.content.Context;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteOpenHelper;
 
+import com.yyrh.constant.Constants;
+import com.yyrh.utils.Utils;
+
+import java.util.HashMap;
+
 public class DatabaseHelper extends SQLiteOpenHelper {
 	private Context context;
 	 private static SQLiteDatabase db;
@@ -44,6 +49,26 @@ public class DatabaseHelper extends SQLiteOpenHelper {
 		db.close();
 
 	}
+
+	public static void  saveLoginInfo(String account,String pwd,String login_token,Context context){
+        HashMap<String, String> map = new HashMap();
+        map.put("username", account);
+        map.put("password", pwd);
+        map.put("login_token", login_token);
+        Utils.setSharedPreferences(Constants.SP_KEY, map, context);
+
+        String timeStamp = System.currentTimeMillis() + "";
+
+        String delete_sql = "delete from user where name = '" + account + "'";
+
+        String insert_sql = "insert into user(name,pwd,login_token,time) values('" + account
+                + "','" + pwd + "','" + login_token + "','" + timeStamp + "')";
+
+        DatabaseHelper.excuteSql(context, delete_sql);
+        DatabaseHelper.excuteSql(context, insert_sql);
+    }
+
+
 	public static void excuteSql(Context context, String sql){
 
         DatabaseHelper dbHelper = new DatabaseHelper(context);

+ 77 - 0
hnyy/src/main/java/com/yyrh/utils/AndroidBug5497Workaround.java

@@ -0,0 +1,77 @@
+package com.yyrh.utils;
+
+import android.app.Activity;
+import android.graphics.Rect;
+import android.os.Build;
+import android.view.View;
+import android.view.ViewTreeObserver;
+import android.widget.FrameLayout;
+
+/**
+ * Author #Suyghur.
+ * Created on 2020/11/12
+ */
+public class AndroidBug5497Workaround {
+
+    public static void assistActivity(Activity activity) {
+        new com.yyrh.utils.AndroidBug5497Workaround(activity);
+    }
+
+    private Activity activity;
+    private View mChildOfContent;
+    private int usableHeightPrevious;
+    private FrameLayout.LayoutParams frameLayoutParams;
+
+    private AndroidBug5497Workaround(Activity activity) {
+        this.activity = activity;
+        FrameLayout content = activity.findViewById(android.R.id.content);
+        mChildOfContent = content.getChildAt(0);
+        mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+            public void onGlobalLayout() {
+                possiblyResizeChildOfContent();
+            }
+        });
+        frameLayoutParams = (FrameLayout.LayoutParams) mChildOfContent.getLayoutParams();
+    }
+
+    private void possiblyResizeChildOfContent() {
+        int usableHeightNow = computeUsableHeight();
+        if (usableHeightNow != usableHeightPrevious) {
+            int usableHeightSansKeyboard = mChildOfContent.getRootView().getHeight();
+
+            //这个判断是为了解决19之前的版本不支持沉浸式状态栏导致布局显示不完全的问题
+            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
+                Rect frame = new Rect();
+                activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
+                int statusBarHeight = frame.top;
+                usableHeightSansKeyboard -= statusBarHeight;
+            }
+            int heightDifference = usableHeightSansKeyboard - usableHeightNow;
+            if (heightDifference > (usableHeightSansKeyboard / 4)) {
+                // keyboard probably just became visible
+                frameLayoutParams.height = usableHeightSansKeyboard - heightDifference;
+            } else {
+                // keyboard probably just became hidden
+                frameLayoutParams.height = usableHeightSansKeyboard;
+            }
+            mChildOfContent.requestLayout();
+            usableHeightPrevious = usableHeightNow;
+        }
+    }
+
+    private int computeUsableHeight() {
+        Rect frame = new Rect();
+        activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
+        int statusBarHeight = frame.top;
+
+        Rect r = new Rect();
+        mChildOfContent.getWindowVisibleDisplayFrame(r);
+
+        //这个判断是为了解决19之后的版本在弹出软键盘时,键盘和推上去的布局(adjustResize)之间有黑色区域的问题
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+            return (r.bottom - r.top) + statusBarHeight;
+        }
+
+        return (r.bottom - r.top);
+    }
+}

+ 31 - 0
hnyy/src/main/java/com/yyrh/utils/ScheduledWorker.java

@@ -0,0 +1,31 @@
+package com.yyrh.utils;
+
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author #Suyghur.
+ * Created on 2021/05/19
+ */
+public class ScheduledWorker {
+
+    private ScheduledExecutorService mService;
+    private ScheduledFuture<?> mFuture;
+
+    public ScheduledWorker(int poolSize) {
+        this.mService = new ScheduledThreadPoolExecutor(poolSize);
+    }
+
+    public void invokeAtFixedRate(Runnable runnable, long initialDelay, long period, TimeUnit unit) {
+        this.mFuture = mService.scheduleAtFixedRate(runnable, initialDelay, period, unit);
+    }
+
+    public void cancel() {
+        if (mFuture != null && !mFuture.isCancelled()) {
+            YYLog.i("ScheduledWorker cancel");
+            mFuture.cancel(false);
+        }
+    }
+}

+ 5 - 0
hnyy/src/main/java/com/yyrh/utils/SwitchUtil.java

@@ -52,6 +52,11 @@ public class SwitchUtil {
                         SDKSettings.isForceRealName = true;
                     }
                     break;
+                case 3:
+                    if (s2.equals(switchState)){
+                        SDKSettings.isShowKf = true;
+                    }
+                    break;
 
 
             }