Pārlūkot izejas kodu

简化渠道调用,发现不适用于业务切登录功能,仅做备份用。

kaiweicai 2 gadi atpakaļ
vecāks
revīzija
4fd2cd349f
100 mainītis faili ar 4048 papildinājumiem un 123 dzēšanām
  1. 1 2
      README.md
  2. 3 4
      demo/build.gradle
  3. 2 3
      library_channel/build.gradle
  4. 1 2
      library_channel/src/main/java/cn/yyxx/commsdk/impl/ChannelSdkGenerator.java
  5. 1 0
      library_channel/src/main/java/cn/yyxx/commsdk/impl/ChannelSdkImpl.java
  6. 201 0
      library_channel/src/main/java/cn/yyxx/commsdk/impl/channel/LoginViewModel.java
  7. 39 0
      library_channel/src/main/java/cn/yyxx/commsdk/impl/channel/user/UserSession.java
  8. 197 0
      library_channel/src/main/java/cn/yyxx/commsdk/impl/channel/user/UserSessionManager.java
  9. 0 3
      library_channel_repository/build.gradle
  10. 1 0
      library_channel_repository/hnyy/.gitignore
  11. 36 0
      library_channel_repository/hnyy/build.gradle
  12. 0 0
      library_channel_repository/hnyy/consumer-rules.pro
  13. 21 0
      library_channel_repository/hnyy/proguard-rules.pro
  14. 14 0
      library_channel_repository/hnyy/src/main/AndroidManifest.xml
  15. 4 0
      library_channel_repository/hnyy/src/main/assets/yyxx_game/yyxx_cfg.properties
  16. 51 57
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/ChannelBridge.java
  17. 391 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/SdkPlatformImpl.java
  18. 2 2
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/action/PageJsInteraction.java
  19. 136 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/activity/BaseLoginActivity.java
  20. 176 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/activity/HNYYLoginActivity.java
  21. 91 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/adapter/UserListAdapter.java
  22. 160 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/AutoLoginDialog.java
  23. 1 1
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/CustomExitGameDialog.java
  24. 3 3
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/EmailDialog.java
  25. 3 10
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/HnPayDialog.java
  26. 1 1
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/JsBaseDialog.java
  27. 4 4
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/UserCenterDialog.java
  28. 3 3
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/WvPageListDialog.java
  29. 1 1
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/floating/DotImageView.java
  30. 2 3
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/floating/FloatLogoMenu.java
  31. 2 3
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/floating/FloatViewManager.java
  32. 53 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/BaseFragment.java
  33. 16 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/HNYYLoginFragmentTag.java
  34. 244 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserAccountLoginFragment.java
  35. 4 5
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserPhoneLoginFragment.java
  36. 4 5
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserPhoneLoginSetpwdFragment.java
  37. 4 5
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserRegisterFragment.java
  38. 4 5
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserRetrievePwdFragment.java
  39. 204 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserSwitchAccountLoginFragment.java
  40. 91 0
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/widget/AccountLoginListView.java
  41. 1 1
      library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/widget/TosUtil.java
  42. 11 0
      library_channel_repository/hnyy/src/main/res/anim/hnyy_rotate_anim.xml
  43. 12 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_btn_account_bg.xml
  44. 12 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_btn_exit_bg.xml
  45. 13 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_btn_guest_bg.xml
  46. 7 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_checkbox_select.xml
  47. 5 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_color_white_40.xml
  48. 5 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_color_white_70.xml
  49. 6 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_common_wv_bg.xml
  50. 5 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_dialog_ios_bg.xml
  51. 13 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_edittext_bg.xml
  52. 12 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_exit_bg.xml
  53. 13 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_game_float_menu_bg.xml
  54. 11 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_hide_float_view_bg.xml
  55. 9 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_bg.xml
  56. 12 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_button_grayed_style.xml
  57. 12 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_button_style.xml
  58. 5 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_list_bg.xml
  59. 8 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_list_btn_yellow_bg.xml
  60. 7 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_list_delete_bg.xml
  61. 10 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_radius_white_10dp.xml
  62. 10 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_radius_white_12dp.xml
  63. 8 0
      library_channel_repository/hnyy/src/main/res/drawable/hnyy_radius_white_1dp.xml
  64. 164 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_account_login.xml
  65. 45 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_edittext_style.xml
  66. 42 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_email_dialog.xml
  67. 72 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_exit_game_dialog.xml
  68. 18 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_hide_float_view.xml
  69. 45 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_ios_style_dialog.xml
  70. 8 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_login.xml
  71. 12 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_login_activity.xml
  72. 62 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_login_list.xml
  73. 39 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_p_webview.xml
  74. 202 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_phone_login.xml
  75. 146 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_phone_register_setpwd_dialog.xml
  76. 81 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_privacy_policy_dialog.xml
  77. 25 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_quick_login_bar.xml
  78. 210 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_register_dialog.xml
  79. 179 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_retrieve_pwd.xml
  80. 15 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_show_splash_view.xml
  81. 85 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_switch_account_login.xml
  82. 35 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_toast_style.xml
  83. 35 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_user_list_item.xml
  84. 52 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_usercenter_dialog.xml
  85. 52 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_usercenter_portait_dialog.xml
  86. 45 0
      library_channel_repository/hnyy/src/main/res/layout/hnyy_webview_common_dialog.xml
  87. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_account_login.png
  88. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_account_user.png
  89. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_arrow_normal.png
  90. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_arrow_select.png
  91. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_checkbox_select.png
  92. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_checkbox_unselect.png
  93. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_close.png
  94. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_close_eye.png
  95. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_edit_account.png
  96. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_float_icon.png
  97. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_guest_login.png
  98. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_hide_float_eye_view.png
  99. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_kefu.png
  100. BIN
      library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_loading.png

+ 1 - 2
README.md

@@ -6,5 +6,4 @@
 - [library_base](./library_base):对外接口层
 - [library_core](./library_core):融合业务层
 - [library_channel](./library_channel):渠道业务层
-- [library_channel_repository](./library_channel_repository):渠道sdk引用仓库
-- [library_platform](./library_platform):平台sdk层
+- [library_channel_repository](./library_channel_repository):渠道sdk引用仓库

+ 3 - 4
demo/build.gradle

@@ -18,7 +18,7 @@ android {
         versionCode 1
         versionName "0.0.1"
 
-        multiDexEnabled true
+        multiDexEnabled false
 
     }
 
@@ -72,10 +72,9 @@ android {
 dependencies {
     implementation project(path: ':library_core')
     implementation project(path: ':library_channel')
-    implementation project(path: ':library_platform')
-//    implementation project(path: ':library_platform:platform_hnyy')
+//    implementation project(path: ':library_channel_repository:oppo')
 
-    implementation project(path: ':library_channel_repository:oppo')
+    implementation project(path: ':library_channel_repository:hnyy')
 
 
 }

+ 2 - 3
library_channel/build.gradle

@@ -33,10 +33,9 @@ android {
 
 dependencies {
     compileOnly project(':library_base')
-    compileOnly project(':library_platform')
 
-    compileOnly project(':library_channel_repository:oppo')
-    compileOnly project(':library_platform:platform_hnyy')
+    compileOnly project(':library_core')
+
 
 }
 

+ 1 - 2
library_channel/src/main/java/cn/yyxx/commsdk/impl/ChannelSdkGenerator.java

@@ -4,7 +4,6 @@ import android.content.Context;
 
 import cn.yyxx.commsdk.base.internal.feature.IFeature;
 import cn.yyxx.commsdk.impl.channel.ChannelSdk;
-import cn.yyxx.commsdk.impl.channel.ChannelSdkYYXX;
 import cn.yyxx.commsdk.impl.entity.ChannelId;
 
 /**
@@ -17,7 +16,7 @@ public class ChannelSdkGenerator {
         IFeature instance = null;
         switch (channelId) {
             case ChannelId.YYXX:
-                instance = new ChannelSdkYYXX();
+                instance = new ChannelSdk(context);
                 break;
             case ChannelId.OPPO:
                 instance = new ChannelSdk(context);

+ 1 - 0
library_channel/src/main/java/cn/yyxx/commsdk/impl/ChannelSdkImpl.java

@@ -53,6 +53,7 @@ public class ChannelSdkImpl {
 
     public void initializeSuccess(){
         impl.initializeSuccess();
+
     }
     public void setLogoutListener(Activity activity,ICallback callback){
         impl.setLogoutListener(activity,callback);

+ 201 - 0
library_channel/src/main/java/cn/yyxx/commsdk/impl/channel/LoginViewModel.java

@@ -0,0 +1,201 @@
+package cn.yyxx.commsdk.impl.channel;
+
+import android.app.Activity;
+import android.text.TextUtils;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import cn.yyxx.commsdk.base.entity.ResultInfo;
+import cn.yyxx.commsdk.base.internal.ICallback;
+import cn.yyxx.commsdk.base.internal.IRequestCallback;
+import cn.yyxx.commsdk.base.internal.PhoneLoginCallBack;
+import cn.yyxx.commsdk.core.entity.SdkLoginInfo;
+import cn.yyxx.commsdk.core.network.SdkRequest;
+import cn.yyxx.commsdk.impl.channel.user.UserSession;
+import cn.yyxx.commsdk.impl.channel.user.UserSessionManager;
+import cn.yyxx.support.JsonUtils;
+
+public class LoginViewModel {
+
+    public static ICallback mImplCallback = null;
+
+    public LoginViewModel(ICallback callback) {
+        mImplCallback = callback;
+    }
+
+    public void accountRegister(Activity activity, String account, String password,ICallback callback){
+        SdkRequest.getInstance().reigsterAccount(activity, account, password, new IRequestCallback() {
+            @Override
+            public void onResponse(ResultInfo resultInfo) {
+                if (resultInfo.code == ResultInfo.CODE_SUCCESS && !TextUtils.isEmpty(resultInfo.data)){
+
+                    SdkLoginInfo.getInstance().initLoginInfo(resultInfo.data);
+
+                    UserSession session = new UserSession();
+                    session.uname = account;
+                    session.password = password;
+                    session.login_token = SdkLoginInfo.getInstance().login_token;
+                    UserSessionManager.getInstance().saveSession(session);
+
+                }else{
+                    mImplCallback.onResult(resultInfo.code,resultInfo.msg);
+
+                }
+                callback.onResult(resultInfo.code,resultInfo.msg);
+
+            }
+        });
+    }
+    public void accountLogin(Activity activity,String account,String password,String login_token,ICallback callback){
+
+        SdkRequest.getInstance().accountLogin(activity,account,password,login_token,new IRequestCallback(){
+
+            @Override
+            public void onResponse(ResultInfo resultInfo) {
+
+                 if (resultInfo.code == ResultInfo.CODE_SUCCESS && !TextUtils.isEmpty(resultInfo.data)){
+
+                    SdkLoginInfo.getInstance().initLoginInfo(resultInfo.data);
+                    UserSession session = new UserSession();
+                    session.uname = account;
+                    session.password = password;
+                    session.login_token =  SdkLoginInfo.getInstance().login_token;
+
+                    UserSessionManager.getInstance().saveSession(session);
+
+
+                }else{
+
+                    mImplCallback.onResult(resultInfo.code,resultInfo.msg);
+
+                }
+
+                callback.onResult(resultInfo.code,resultInfo.msg);
+
+            }
+        });
+    }
+
+    public static void getPhoneCaptcha(Activity activity,String phoneNum,String action,ICallback callback){
+        SdkRequest.getInstance().getPhoneCaptcha(activity, phoneNum, action, new IRequestCallback() {
+            @Override
+            public void onResponse(ResultInfo resultInfo) {
+
+                callback.onResult(resultInfo.code,resultInfo.msg);
+
+            }
+        });
+    }
+
+    public static void phoneLoginWithSms(Activity activity, String phoneNum, String sms, PhoneLoginCallBack phoneLoginCallback){
+        SdkRequest.getInstance().phoneLoginWithSms(activity, phoneNum, sms, new IRequestCallback() {
+            @Override
+            public void onResponse(ResultInfo resultInfo) {
+
+
+                if (resultInfo.code == ResultInfo.CODE_SUCCESS && !TextUtils.isEmpty(resultInfo.data)){
+
+
+                    try {
+                        JSONObject json = new JSONObject(resultInfo.data);
+                        if (JsonUtils.hasJsonKey(json, "new_user")) {
+                            if(json.optInt("new_user") ==  1){
+                                phoneLoginCallback.onPhoneNewLogin();
+                            }else{
+
+                                SdkLoginInfo.getInstance().initLoginInfo(resultInfo.data);
+                                UserSession session = new UserSession();
+                                session.uname = phoneNum;
+                                session.password = "";
+                                session.login_token = SdkLoginInfo.getInstance().login_token;
+                                UserSessionManager.getInstance().saveSession(session);
+                                phoneLoginCallback.onPhoneLoginSuccess(resultInfo.msg);
+
+
+                            }
+                        }
+                    } catch (JSONException e) {
+                        e.printStackTrace();
+                    }
+                }else{
+                    phoneLoginCallback.onPhoneLoginFailed(resultInfo.msg);
+                    mImplCallback.onResult(resultInfo.code,resultInfo.msg);
+                }
+
+
+            }
+
+        });
+
+    }
+
+    public void setPassword(Activity activity, String account, String password,String code,ICallback callback){
+        SdkRequest.getInstance().setPassword(activity, account, password,code, new IRequestCallback() {
+            @Override
+            public void onResponse(ResultInfo resultInfo) {
+                if (resultInfo.code == ResultInfo.CODE_SUCCESS && !TextUtils.isEmpty(resultInfo.data)){
+
+                    SdkLoginInfo.getInstance().initLoginInfo(resultInfo.data);
+
+                    UserSession session = new UserSession();
+                    session.uname = account;
+                    session.password = password;
+                    session.login_token = SdkLoginInfo.getInstance().login_token;
+                    UserSessionManager.getInstance().saveSession(session);
+
+                }else{
+
+                    mImplCallback.onResult(resultInfo.code,resultInfo.msg);
+
+                }
+
+                callback.onResult(resultInfo.code,resultInfo.msg);
+
+            }
+        });
+    }
+
+
+    public void resetPassword(Activity activity, String phoneNum, String password,String code,ICallback callback){
+        SdkRequest.getInstance().resetPassword(activity, phoneNum, password, code, new IRequestCallback() {
+            @Override
+            public void onResponse(ResultInfo resultInfo) {
+                if (resultInfo.code == ResultInfo.CODE_SUCCESS){
+                    UserSession session = new UserSession();
+                    session.uname = phoneNum;
+                    session.password = password;
+                    session.login_token = SdkLoginInfo.getInstance().login_token;
+                    UserSessionManager.getInstance().saveSession(session);
+
+                }
+
+                callback.onResult(resultInfo.code,resultInfo.msg);
+
+            }
+        });
+    }
+
+
+    public void verifyChannelinfo(Activity activity,String channelInfo){
+        SdkRequest.getInstance().verfifyChannelLoginInfo(activity, channelInfo, new IRequestCallback() {
+            @Override
+            public void onResponse(ResultInfo resultInfo) {
+                {
+                    if (resultInfo.code == ResultInfo.CODE_SUCCESS && !TextUtils.isEmpty(resultInfo.data)){
+
+                        SdkLoginInfo.getInstance().initLoginInfo(resultInfo.data);
+                        mImplCallback.onResult(resultInfo.code,SdkLoginInfo.getInstance().token);
+
+                    }else{
+                        mImplCallback.onResult(resultInfo.code,resultInfo.msg);
+
+                    }
+
+                }
+            }
+        });
+    }
+
+
+}

+ 39 - 0
library_channel/src/main/java/cn/yyxx/commsdk/impl/channel/user/UserSession.java

@@ -0,0 +1,39 @@
+package cn.yyxx.commsdk.impl.channel.user;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class UserSession {
+
+    public String login_token="",uname = "",password="";
+
+
+    public void reset(){
+        login_token="";
+        uname = "";
+        password = "";
+    }
+
+    public JSONObject toJSONObject(){
+        JSONObject jsonObject = new JSONObject();
+        try {
+            jsonObject.put("login_token", login_token);
+            jsonObject.put("uname", uname);
+            jsonObject.put("password", password);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        return jsonObject;
+
+    }
+
+
+    @Override
+    public String toString() {
+        return "UserSession{" +
+                "login_token='" + login_token + '\'' +
+                ", uname='" + uname + '\'' +
+                ", password='" + password + '\'' +
+                '}';
+    }
+}

+ 197 - 0
library_channel/src/main/java/cn/yyxx/commsdk/impl/channel/user/UserSessionManager.java

@@ -0,0 +1,197 @@
+package cn.yyxx.commsdk.impl.channel.user;
+
+import android.text.TextUtils;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+
+import cn.yyxx.commsdk.base.utils.Logger;
+import cn.yyxx.commsdk.core.utils.MMKVUtils;
+import cn.yyxx.support.JsonUtils;
+
+public class UserSessionManager {
+
+    private static volatile UserSessionManager mInstance;
+
+
+    String model = "online";
+
+    private UserSessionManager() {
+
+    }
+
+    public static UserSessionManager getInstance() {
+        if (null == mInstance) {
+            synchronized (UserSessionManager.class) {
+                if (null == mInstance) {
+                    mInstance = new UserSessionManager();
+                }
+            }
+        }
+        return mInstance;
+    }
+
+
+    private static ArrayList<UserSession> toList(String json) {
+        if (TextUtils.isEmpty(json)) {
+            return null;
+        }
+        Logger.d("文件读出来:" + json);
+        ArrayList<UserSession> infoList = null;
+        try {
+            JSONObject jsonObject = new JSONObject(json);
+            infoList = new ArrayList<>();
+            if (!JsonUtils.hasJsonKey(jsonObject, "info")) {
+                return null;
+            }
+            JSONArray infoObject = jsonObject.getJSONArray("info");
+            for (int i = 0; i < infoObject.length(); i++) {
+                UserSession userSession = new UserSession();
+                JSONObject obj = infoObject.getJSONObject(i);
+                if (JsonUtils.hasJsonKey(obj, "uname")) {
+                    userSession.uname = obj.getString("uname");
+                }
+                if (JsonUtils.hasJsonKey(obj, "password")) {
+                    userSession.password = obj.getString("password");
+                }
+                if (JsonUtils.hasJsonKey(obj, "login_token")) {
+                    userSession.login_token = obj.getString("login_token");
+                }
+
+                infoList.add(userSession);
+            }
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        return infoList;
+    }
+
+
+
+    public synchronized void saveSession(UserSession userSession) {
+        if (userSession == null) {
+            return;
+        }
+        ArrayList<UserSession> userList = getLocalSession();
+        if (null == userList) {
+            userList = new ArrayList<>();
+        }
+        if (userList.size() > 0) {
+            boolean isSessionExist = false;
+            for (int i = 0; i < userList.size(); i++) {
+                //TODO 当前登录用户已经存在用户列表里,更新用户数据(移除旧的,在0的位置插入)
+                UserSession session = userList.get(i);
+                if (userSession.uname.equals(session.uname)) {
+                    isSessionExist = true;
+                    //移除
+                    userList.remove(session);
+                    userList.add(0, userSession);
+                    break;
+                }
+            }
+            if (!isSessionExist) {
+                //TODO 当前登录用户不存在用户列表里,在0的位置插入
+                userList.add(0, userSession);
+            }
+        } else {
+            userList.add(userSession);
+        }
+
+        JSONArray jsonArray = new JSONArray();
+        JSONObject jsonObject = new JSONObject();
+        for (UserSession session : userList) {
+            jsonArray.put(session.toJSONObject());
+        }
+
+        try {
+            jsonObject.put("info", jsonArray);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        MMKVUtils.getInstance().userKV.encode(model, jsonObject.toString());
+    }
+
+
+
+
+
+    public UserSession getLocalLastSession() {
+        ArrayList<UserSession> list = getLocalSession();
+        if (null == list) {
+            return null;
+        }
+        UserSession session = list.get(0);
+        Logger.d("最后登陆的用户信息:" + session.toString());
+        return session;
+
+    }
+
+
+    public ArrayList<UserSession> getLocalSessionLimit3() {
+        ArrayList<UserSession> list = getLocalSession();
+        if (null == list) {
+            return null;
+        }
+        if (list.size() <= 3) {
+            return list;
+        } else {
+            ArrayList<UserSession> temp = new ArrayList<>();
+            for (int i = 0; i < list.size(); i++) {
+                UserSession session = list.get(i);
+                temp.add(session);
+                if (temp.size() == 3) {
+                    break;
+                }
+            }
+            return temp;
+        }
+    }
+
+
+    public ArrayList<UserSession> getLocalSession() {
+        String json = MMKVUtils.getInstance().userKV.decodeString(model, "");
+        return toList(json);
+    }
+
+    /**
+     * 删除用户信息
+     *
+     * @param uname
+     */
+    public synchronized void removeSession(String uname) {
+        ArrayList<UserSession> userLists = getLocalSession();
+        if (userLists == null || userLists.size() == 0) {
+            return;
+        }
+        UserSession deleteUser = null;
+        for (UserSession session : userLists) {
+            if (session.uname.equals(uname)) {
+                deleteUser = session;
+                break;
+            }
+        }
+        if (deleteUser != null) {
+            userLists.remove(deleteUser);
+        }
+
+        JSONArray jsonArray = new JSONArray();
+        JSONObject jsonObject = new JSONObject();
+        for (UserSession session : userLists) {
+            Logger.d(session.toString());
+            jsonArray.put(session.toJSONObject());
+        }
+
+        try {
+            jsonObject.put("info", jsonArray);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        Logger.d("写入用户信息:" + jsonObject.toString());
+
+        MMKVUtils.getInstance().userKV.encode(model, jsonObject.toString());
+    }
+
+}

+ 0 - 3
library_channel_repository/build.gradle

@@ -32,9 +32,6 @@ android {
 }
 
 dependencies {
-    compileOnly project(':library_base')
-
-    compileOnly project(':library_core')
 
 
 }

+ 1 - 0
library_channel_repository/hnyy/.gitignore

@@ -0,0 +1 @@
+/build

+ 36 - 0
library_channel_repository/hnyy/build.gradle

@@ -0,0 +1,36 @@
+plugins {
+    id 'com.android.library'
+}
+
+android {
+    compileSdk 31
+
+    defaultConfig {
+        minSdk 21
+        targetSdk 31
+
+         consumerProguardFiles "consumer-rules.pro"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_7
+        targetCompatibility JavaVersion.VERSION_1_7
+    }
+}
+
+dependencies {
+
+
+    compileOnly project(':library_base')
+
+    compileOnly project(':library_channel')
+
+    compileOnly project(':library_core')
+
+}

+ 0 - 0
library_channel_repository/hnyy/consumer-rules.pro


+ 21 - 0
library_channel_repository/hnyy/proguard-rules.pro

@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile

+ 14 - 0
library_channel_repository/hnyy/src/main/AndroidManifest.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="cn.yyxx.commsdk.platform_hnyy">
+    <application>
+        <activity
+            android:name="cn.yyxx.commsdk.impl.channel.hnyy.activity.HNYYLoginActivity"
+            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
+            android:imeOptions="flagNoFullscreen|flagNoExtractUi"
+            android:launchMode="singleTask"
+            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
+            android:windowSoftInputMode="adjustResize|stateHidden|stateVisible" />
+    </application>
+
+</manifest>

+ 4 - 0
library_channel_repository/hnyy/src/main/assets/yyxx_game/yyxx_cfg.properties

@@ -0,0 +1,4 @@
+YYXX_GCP_CODE=Y0101025
+YYXX_SP_CODE=
+YYXX_ONLINE_ENV=http://testsdkapi.yyxxgame.com
+YYXX_PLATFORM=HNYY

+ 51 - 57
library_channel/src/main/java/cn/yyxx/commsdk/impl/channel/ChannelSdkYYXX.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/ChannelBridge.java

@@ -7,159 +7,153 @@ import android.content.Intent;
 import android.content.res.Configuration;
 import android.os.Bundle;
 
+
 import org.json.JSONObject;
 
-import cn.yyxx.commsdk.base.entity.SdkChargeInfo;
 import cn.yyxx.commsdk.base.entity.SdkOrderInfo;
 import cn.yyxx.commsdk.base.entity.SdkRoleInfo;
 import cn.yyxx.commsdk.base.entity.bean.InitBean;
 import cn.yyxx.commsdk.base.internal.ICallback;
-import cn.yyxx.commsdk.base.internal.IRequestCallback;
 import cn.yyxx.commsdk.base.internal.feature.IApplication;
 import cn.yyxx.commsdk.base.internal.feature.IFeature;
 import cn.yyxx.commsdk.base.internal.feature.ILifeCycle;
 import cn.yyxx.commsdk.base.internal.feature.IOrder;
-import cn.yyxx.commsdk.base.utils.Logger;
-import cn.yyxx.commsdk.platform.PlatformSdk;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
+
+public class ChannelBridge implements IFeature, ILifeCycle, IApplication,IOrder {
+
+    private SdkPlatformImpl impl = null;
+
+    public ChannelBridge(Context context) {
+        if (null == impl) {
+            impl = new SdkPlatformImpl(context);
+        }
+    }
+
 
-/**
- * @author #Suyghur.
- * Created on 2021/12/26
- */
-public class ChannelSdkYYXX implements IFeature, ILifeCycle,IApplication,IOrder {
 
-    private Activity activity;
 
     @Override
-    public void initialize(Activity activity, ICallback callback) {
-        Logger.i("initialize");
-        this.activity = activity;
-        PlatformSdk.getInstance(activity).initialize(activity,callback);
+    public void attachBaseContext(Application application, Context context) {
+        impl.attachBaseContext(application,context);
     }
 
     @Override
-    public void initializeSuccess() {
+    public void initApplication(Application application) {
+        impl.initApplication(application);
 
-        PlatformSdk.getInstance(activity).initializeSuccess();
+    }
 
+    @Override
+    public void initialize(Activity activity, ICallback callback) {
+        impl.initialize(activity,callback);
     }
 
+    @Override
+    public void initializeSuccess() {
+        impl.initializeSuccess();
+    }
 
     @Override
     public void setLogoutListener(Activity activity, ICallback callback) {
-        Logger.i("setLogoutListener");
-        PlatformSdk.getInstance(activity).setLogoutListener(activity,callback);
+        impl.setLogoutListener(activity,callback);
     }
 
-
     @Override
-    public void login(Activity activity, InitBean initBean, ICallback callback) {
-        PlatformSdk.getInstance(activity).login(activity,initBean,callback);
+    public void login(final Activity activity, InitBean initBean, final ICallback callback) {
+        impl.login(activity,initBean,callback);
     }
 
     @Override
     public void logout() {
-        PlatformSdk.getInstance(activity).logout();
+        impl.logout();
     }
 
 
 
     @Override
     public boolean hasExitView(Activity activity) {
-        return PlatformSdk.getInstance(activity).hasExitView(activity);
+        return impl.hasExitView(activity);
     }
 
     @Override
-    public void openExitView(Activity activity, ICallback callback) {
-
-        PlatformSdk.getInstance(activity).openExitView(activity,callback);
-
+    public void openExitView(Activity activity,ICallback callback) {
+        impl.openExitView(activity,callback);
     }
 
     @Override
     public void uploadRoleInfo(Activity activity, String type, SdkRoleInfo roleInfo) {
-        PlatformSdk.getInstance(activity).uploadRoleInfo(activity,type,roleInfo);
+        impl.uploadRoleInfo(activity,type,roleInfo);
     }
 
     @Override
     public void reportGameEvent(String event, JSONObject message) {
-        PlatformSdk.getInstance(activity).reportGameEvent(event,message);
+        impl.reportGameEvent(event,message);
     }
 
-    @Override
-    public void onDestroy(Activity activity) {
-        PlatformSdk.getInstance(activity).onDestroy(activity);
-    }
-
-    @Override
-    public void onCreate(Activity activity, Bundle savedInstanceState) {
-        PlatformSdk.getInstance(activity).onCreate(activity,savedInstanceState);
-    }
 
     @Override
     public void onStart(Activity activity) {
-        PlatformSdk.getInstance(activity).onStart(activity);
+        impl.onStart(activity);
     }
 
     @Override
     public void onResume(Activity activity) {
-        PlatformSdk.getInstance(activity).onResume(activity);
+        impl.onResume(activity);
     }
 
     @Override
     public void onReStart(Activity activity) {
-        PlatformSdk.getInstance(activity).onReStart(activity);
+        impl.onResume(activity);
     }
 
     @Override
     public void onPause(Activity activity) {
-        PlatformSdk.getInstance(activity).onPause(activity);
+        impl.onPause(activity);
     }
 
     @Override
     public void onStop(Activity activity) {
-        PlatformSdk.getInstance(activity).onStop(activity);
+        impl.onStop(activity);
     }
 
     @Override
     public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
-        PlatformSdk.getInstance(activity).onActivityResult(activity,requestCode,resultCode,data);
+        impl.onActivityResult(activity,requestCode,resultCode,data);
     }
 
     @Override
     public void onNewIntent(Activity activity, Intent intent) {
-        PlatformSdk.getInstance(activity).onNewIntent(activity,intent);
+        impl.onNewIntent(activity,intent);
     }
 
     @Override
     public void onConfigurationChanged(Activity activity, Configuration newconfig) {
-        PlatformSdk.getInstance(activity).onConfigurationChanged(activity,newconfig);
+        impl.onConfigurationChanged(activity,newconfig);
     }
 
     @Override
     public void onWindowFocusChanged(Activity activity, boolean hasFocus) {
-        PlatformSdk.getInstance(activity).onWindowFocusChanged(activity,hasFocus);
+        impl.onWindowFocusChanged(activity,hasFocus);
     }
 
     @Override
-    public void attachBaseContext(Application application, Context context) {
-        PlatformSdk.getInstance(context).attachBaseContext(application,context);
+    public void onDestroy(Activity activity) {
+        impl.onDestroy(activity);
+
     }
 
     @Override
-    public void initApplication(Application application) {
-        PlatformSdk.getInstance(application).initApplication(application);
+    public void onCreate(Activity activity, Bundle savedInstanceState) {
+        impl.onCreate(activity,savedInstanceState);
     }
 
     @Override
-    public void startPay(final Activity activity, final SdkOrderInfo sdkOrderInfo, final ICallback callback) {
-        PlatformSdk.getInstance(activity).startPay(activity,sdkOrderInfo,callback);
+    public void startPay(Activity activity, SdkOrderInfo sdkOrderInfo,ICallback callback) {
+        impl.startPay(activity,sdkOrderInfo,callback);
     }
-
-
-
     @Override
     public String getChannelOrderExt() {
-        return PlatformSdk.getInstance(activity).getChannelOrderExt();
+        return  impl.getChannelOrderExt();
     }
 }

+ 391 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/SdkPlatformImpl.java

@@ -0,0 +1,391 @@
+package cn.yyxx.commsdk.impl.channel.hnyy;
+
+import android.app.Activity;
+import android.app.Application;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.res.Configuration;
+import android.os.Bundle;
+import android.text.TextUtils;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.concurrent.TimeUnit;
+
+import cn.yyxx.commsdk.base.entity.ResultInfo;
+import cn.yyxx.commsdk.base.entity.SdkOrderInfo;
+import cn.yyxx.commsdk.base.entity.SdkRoleInfo;
+import cn.yyxx.commsdk.base.entity.bean.InitBean;
+import cn.yyxx.commsdk.base.internal.ICallback;
+import cn.yyxx.commsdk.base.internal.IRequestCallback;
+import cn.yyxx.commsdk.base.internal.feature.IApplication;
+import cn.yyxx.commsdk.base.internal.feature.IFeature;
+import cn.yyxx.commsdk.base.internal.feature.ILifeCycle;
+import cn.yyxx.commsdk.base.internal.feature.IOrder;
+import cn.yyxx.commsdk.base.utils.Logger;
+import cn.yyxx.commsdk.core.entity.SdkLoginInfo;
+import cn.yyxx.commsdk.core.network.SdkRequest;
+import cn.yyxx.commsdk.core.utils.ResourceUtil;
+import cn.yyxx.commsdk.impl.channel.LoginViewModel;
+import cn.yyxx.commsdk.impl.channel.hnyy.activity.HNYYLoginActivity;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.CustomExitGameDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.EmailDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.HnPayDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.WvPageListDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.floating.FloatViewManager;
+import cn.yyxx.support.scheduler.ScheduledWorker;
+
+public class SdkPlatformImpl implements IFeature, ILifeCycle, IApplication, IOrder
+{
+    public static InitBean initConfig = null ;
+
+    private static SdkPlatformImpl manager;
+
+
+    private  ICallback logoutCallback;
+
+
+
+
+    public static LoginViewModel loginViewModel;
+
+    public static ScheduledWorker sScheduledWorker = null;
+
+
+    private static Activity activity;
+
+    public SdkPlatformImpl(Context context){
+
+    }
+
+
+    @Override
+    public void attachBaseContext(Application application, Context context) {
+
+    }
+
+    @Override
+    public void initApplication(Application application) {
+
+    }
+
+    @Override
+    public void initialize(Activity activity, ICallback callback) {
+        this.activity = activity;
+    }
+
+    @Override
+    public void initializeSuccess() {
+    }
+
+    @Override
+    public void setLogoutListener(Activity activity, ICallback callback) {
+        logoutCallback = callback;
+    }
+
+    @Override
+    public void login(final Activity activity, InitBean initBean, final ICallback callback) {
+        initConfig  = initBean;
+        loginViewModel = new LoginViewModel(callback);
+        HNYYLoginActivity.start(activity,callback);
+    }
+
+    @Override
+    public void logout() {
+        SdkLoginInfo.getInstance().reset();
+        hideFloat();
+        initConfig.isSwitchAccount = true;
+
+        if (sScheduledWorker != null) {
+            sScheduledWorker.cancel();
+            SdkRequest.getInstance().uploadUserOnlineAction(activity, "0", SdkLoginInfo.getInstance().rn_si, new IRequestCallback() {
+                @Override
+                public void onResponse(ResultInfo resultInfo) {
+                    if (resultInfo.code == ResultInfo.CODE_SUCCESS){
+                        Logger.i("上报角色在线状态成功");
+                    }else{
+                        Logger.i("上报角色在线状态失败");
+                    }
+                }
+            });
+        }
+    }
+
+
+
+    @Override
+    public boolean hasExitView(Activity activity) {
+        return true;
+    }
+
+    @Override
+    public void openExitView(final Activity activity, final ICallback callback) {
+        if (hasExitView(activity)){
+
+            CustomExitGameDialog.Builder builder = new CustomExitGameDialog.Builder(activity);
+            builder.setPositiveButton(new DialogInterface.OnClickListener() {
+                @Override
+                public void onClick(DialogInterface dialog, int which) {
+
+                    callback.onResult(ResultInfo.CODE_SUCCESS,activity.getString(ResourceUtil.getStringId(activity,"hnyy_exit_game")));
+                    dialog.dismiss();
+                }
+            });
+            builder.setnegativeButton(new DialogInterface.OnClickListener() {
+                @Override
+                public void onClick(DialogInterface dialog, int which) {
+
+                    callback.onResult(ResultInfo.CODE_FAIL,activity.getString(ResourceUtil.getStringId(activity,"hnyy_continue_game")));
+
+                    dialog.dismiss();
+                }
+            });
+
+            builder.Create().show();
+        }else{
+            callback.onResult(ResultInfo.CODE_SUCCESS,activity.getString(ResourceUtil.getStringId(activity,"hnyy_open_cp_exit_view")));
+        }
+    }
+
+    @Override
+    public void uploadRoleInfo(Activity activity, String type, SdkRoleInfo roleInfo) {
+
+    }
+
+    @Override
+    public void reportGameEvent(String event, JSONObject message) {
+
+    }
+
+
+    public static SdkPlatformImpl getInstance(Context context){
+        if (manager == null) {
+            synchronized (SdkPlatformImpl.class) {
+                if (manager == null) {
+                    manager = new SdkPlatformImpl(context);
+                }
+            }
+        }
+        return manager;
+    }
+
+    @Override
+    public void onStart(Activity activity) {
+
+    }
+
+    @Override
+    public void onResume(Activity activity) {
+
+    }
+
+    @Override
+    public void onReStart(Activity activity) {
+
+    }
+
+    @Override
+    public void onPause(Activity activity) {
+
+    }
+
+    @Override
+    public void onStop(Activity activity) {
+
+    }
+
+    @Override
+    public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
+
+    }
+
+    @Override
+    public void onNewIntent(Activity activity, Intent intent) {
+
+    }
+
+    @Override
+    public void onConfigurationChanged(Activity activity, Configuration newconfig) {
+
+    }
+
+    @Override
+    public void onWindowFocusChanged(Activity activity, boolean hasFocus) {
+
+    }
+
+    @Override
+    public void onDestroy(Activity activity) {
+        releaseFloat();
+        if (sScheduledWorker != null) {
+            sScheduledWorker.cancel();
+        }
+    }
+
+    @Override
+    public void onCreate(Activity activity, Bundle savedInstanceState) {
+
+    }
+
+
+    public void showFloat(){
+        if (!initConfig.isOpenFloatView){
+            return ;
+        }
+        activity.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                FloatViewManager.getInstance(activity).showFloat();
+            }
+        });
+
+    }
+    public void hideFloat(){
+
+        activity.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                FloatViewManager.getInstance(activity).hideFloat();
+            }
+        });
+    }
+    public void releaseFloat(){
+
+        activity.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                FloatViewManager.getInstance(activity).releaseFloat();
+            }
+        });
+
+    }
+
+    public void loginSuccess(){
+        operateRealNameDialog(activity);
+    }
+
+    @Override
+    public void startPay(Activity activity, SdkOrderInfo sdkOrderInfo, final ICallback callback) {
+
+        if (!TextUtils.isEmpty(sdkOrderInfo.getPay_web_url())){
+
+            new HnPayDialog(activity, ResourceUtil.getStyleId(activity, "hnyy_base_dialog"), sdkOrderInfo, new ICallback() {
+                @Override
+                public void onResult(int code, String result) {
+                    if (code  == ResultInfo.CODE_SUCCESS){
+                        try {
+                            JSONObject json = new JSONObject(result);
+                            int order_status = json.optInt("order_status",0);
+                            if (order_status == ResultInfo.CODE_SUCCESS){
+                                callback.onResult(ResultInfo.CODE_SUCCESS,"支付成功");
+                            }else{
+
+                                callback.onResult(ResultInfo.CODE_FAIL,"支付取消");
+
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }else{
+
+                        callback.onResult(ResultInfo.CODE_ERROR,"订单查询失败");
+
+                    }
+                }
+            }).show();
+
+        }
+
+    }
+
+    void operateRealNameDialog(Activity activity){
+        if (initConfig.isOpenRealName && !SdkLoginInfo.getInstance().isVefityRealName){
+
+                new WvPageListDialog(activity, ResourceUtil.getStyleId(activity, "hnyy_half_black_dialog"), SdkLoginInfo.getInstance().authentication,
+                        new WvPageListDialog.OnClosePageListener() {
+                            @Override
+                            public void onClose() {
+
+                            }
+
+                            @Override
+                            public void onDissmiss() {
+
+                                startLoginOperation();
+                            }
+
+
+                            @Override
+                            public void onRealNameSuccess() {
+
+
+                            }
+                        }, initConfig.isForceRealName).show();
+
+
+        }else{
+
+            startLoginOperation();
+        }
+    }
+
+    void startLoginOperation(){
+        showFloat();
+        loginViewModel.mImplCallback.onResult(ResultInfo.CODE_SUCCESS,SdkLoginInfo.getInstance().token);
+        startRoleOnlineWorker();
+        openEmailDialog();
+    }
+    void openEmailDialog(){
+        if (TextUtils.isEmpty(SdkLoginInfo.getInstance().solo_email)) {
+            return;
+        }
+        activity.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+
+                new EmailDialog(activity, ResourceUtil.getStyleId(activity, "hnyy_half_black_dialog"), SdkLoginInfo.getInstance().solo_email).show();
+
+            }
+        });
+    }
+
+    private void startRoleOnlineWorker(){
+        if (TextUtils.isEmpty(SdkLoginInfo.getInstance().rn_si)){
+            Logger.i(" rn_si is null");
+            return;
+        }
+        if (sScheduledWorker == null) {
+            sScheduledWorker = new ScheduledWorker(1);
+        }
+        sScheduledWorker.cancel();
+        int time = initConfig.rn_bh;
+        Logger.i(" ------ 开始防沉迷计时任务  : " + time);
+        sScheduledWorker.invokeAtFixedRate(new Runnable() {
+            @Override
+            public void run() {
+
+                Logger.i(" ------ 用户角色心跳 ------");
+
+                SdkRequest.getInstance().uploadUserOnlineAction(activity, "2", SdkLoginInfo.getInstance().rn_si, new IRequestCallback() {
+                    @Override
+                    public void onResponse(ResultInfo resultInfo) {
+                        if (resultInfo.code == ResultInfo.CODE_SUCCESS){
+                            Logger.i("上报角色在线状态成功");
+                        }else{
+                            Logger.i("上报角色在线状态失败");
+                        }
+                    }
+                });
+
+            }
+        }, time, time, TimeUnit.SECONDS);
+    }
+
+
+    @Override
+    public String getChannelOrderExt() {
+        return "";
+    }
+}

+ 2 - 2
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/action/PageJsInteraction.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/action/PageJsInteraction.java

@@ -1,9 +1,9 @@
-package cn.yyxx.commsdk.platform.hnyy.action;
+package cn.yyxx.commsdk.impl.channel.hnyy.action;
 
 
 import android.webkit.JavascriptInterface;
 
-import cn.yyxx.commsdk.platform.hnyy.dialog.JsBaseDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.JsBaseDialog;
 
 
 public class PageJsInteraction {

+ 136 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/activity/BaseLoginActivity.java

@@ -0,0 +1,136 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.activity;
+
+import android.content.Context;
+import android.os.Build;
+import android.os.Bundle;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentActivity;
+import android.support.v4.app.FragmentTransaction;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.EditText;
+
+import java.util.LinkedList;
+
+
+
+/**
+ * @author #Suyghur.
+ * Created on 2021/10/25
+ */
+public class BaseLoginActivity extends FragmentActivity {
+
+    protected LinkedList<String> fragmentStack = new LinkedList<>();
+    protected String currentFragmentTag = "";
+    protected int containerId = 0;
+
+
+    public void switchFragment(String tag, Bundle bundle) {
+
+    }
+
+    public void switchFragment(Fragment fragment, String tag, Bundle bundle) {
+
+        if (fragmentStack == null) {
+            return;
+        }
+
+        if (fragmentStack.contains(tag)) {
+            //栈里最后一个与tag相同才执行删除
+            if (fragmentStack.size() > 1 && !fragmentStack.getLast().equals(tag)) {
+                fragmentStack.removeLast();
+            }
+        } else {
+            fragmentStack.add(tag);
+        }
+
+
+        if (bundle !=null ){
+            fragment.setArguments(bundle);
+        }
+
+        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
+
+        Fragment tagFragment = getSupportFragmentManager().findFragmentByTag(currentFragmentTag);
+        if (tagFragment != null && !tag.equals(currentFragmentTag)) {
+            tagFragment.onPause();
+            transaction.hide(tagFragment);
+        }
+        tagFragment = getSupportFragmentManager().findFragmentByTag(tag);
+        if (tagFragment == null) {
+            transaction.add(containerId, fragment, tag);
+        } else {
+            tagFragment.onResume();
+            transaction.show(tagFragment);
+        }
+
+
+        currentFragmentTag = tag;
+        transaction.commitAllowingStateLoss();
+    }
+
+
+    @Override
+    public boolean dispatchTouchEvent(MotionEvent ev) {
+        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
+            View v = getCurrentFocus();
+            if (isShouldHideInput(v, ev)) {
+
+                InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
+                if (imm != null) {
+                    imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
+                }
+            }
+            return super.dispatchTouchEvent(ev);
+        }
+        // 必不可少,否则所有的组件都不会有TouchEvent了
+        if (getWindow().superDispatchTouchEvent(ev)) {
+            return true;
+        }
+        return onTouchEvent(ev);
+    }
+
+    protected boolean isShouldHideInput(View v, MotionEvent event) {
+        if ((v instanceof EditText)) {
+            int[] leftTop = {0, 0};
+            //获取输入框当前的location位置
+            v.getLocationInWindow(leftTop);
+            int left = leftTop[0];
+            int top = leftTop[1];
+            int bottom = top + v.getHeight();
+            int right = left + v.getWidth();
+            // 点击的是输入框区域,保留点击EditText的事件
+            return !(event.getX() > left) || !(event.getX() < right) || !(event.getY() > top) || !(event.getY() < bottom);
+        }
+        return false;
+    }
+
+    protected void hideBar() {
+        // The UI options currently enabled are represented by a bitfield.
+        // getSystemUiVisibility() gives us that bitfield.
+        int uiOptions = getWindow().getDecorView().getSystemUiVisibility();
+        int newUiOptions = uiOptions;
+        boolean isImmersiveModeEnabled =
+                ((uiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY) == uiOptions);
+        if (!isImmersiveModeEnabled) {
+            if (Build.VERSION.SDK_INT >= 14) {
+                newUiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
+            }
+            if (Build.VERSION.SDK_INT >= 16) {
+                newUiOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
+            }
+            if (Build.VERSION.SDK_INT >= 18) {
+                newUiOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
+            }
+            getWindow().getDecorView().setSystemUiVisibility(newUiOptions);
+        }
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        hideBar();
+    }
+}

+ 176 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/activity/HNYYLoginActivity.java

@@ -0,0 +1,176 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.activity;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Build;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+
+import cn.yyxx.commsdk.base.internal.ICallback;
+
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.HNYYLoginFragmentTag;
+import cn.yyxx.commsdk.impl.channel.user.UserSessionManager;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.AutoLoginDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.UserAccountLoginFragment;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.UserPhoneLoginFragment;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.UserPhoneLoginSetpwdFragment;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.UserRegisterFragment;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.UserRetrievePwdFragment;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.UserSwitchAccountLoginFragment;
+import cn.yyxx.support.AndroidBug5497Workaround;
+import cn.yyxx.support.AppUtils;
+import cn.yyxx.support.ResUtils;
+
+public class HNYYLoginActivity extends BaseLoginActivity {
+
+
+
+
+    private UserAccountLoginFragment userAccountLoginFragment;
+    private UserPhoneLoginFragment userPhoneLoginFragment;
+    private UserPhoneLoginSetpwdFragment userPhoneLoginSetpwdFragment;
+    private UserRegisterFragment userRegisterFragment;
+    private UserRetrievePwdFragment userRetrievePwdFragment;
+    private UserSwitchAccountLoginFragment userSwitchAccountLoginFragment;
+
+
+
+
+
+    @Override
+    protected void onCreate(@Nullable final Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+            Window window = getWindow();
+            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+
+
+            WindowManager.LayoutParams lp = getWindow().getAttributes();
+            lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
+            getWindow().setAttributes(lp);
+        }
+        containerId = ResUtils.getResId(this, "hnyy_login_container", "id");
+        initView(this);
+        if (UserSessionManager.getInstance().getLocalLastSession() != null){
+            if (SdkPlatformImpl.initConfig.isSwitchAccount){
+                switchFragment(HNYYLoginFragmentTag.PAGE_SWITCH_ACCOUNT_LOGIN,null);
+
+            }else{
+                autoLogin(this);
+            }
+
+        }else{
+            if (SdkPlatformImpl.initConfig.isShowPhoneRegFrist){
+                switchFragment(HNYYLoginFragmentTag.PAGE_PHONE_LOGIN,null);
+            }else{
+                switchFragment(HNYYLoginFragmentTag.PAGE_ACCOUNT_REGISTER,null);
+            }
+        }
+
+    }
+
+    public static void start(Activity activity, ICallback callback) {
+
+        activity.startActivity(new Intent(activity, HNYYLoginActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
+    }
+
+    private void initView(Context context){
+        if (AppUtils.isLandscape(context)) {
+            getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
+        }
+        setContentView(ResUtils.getResId(this, "hnyy_login", "layout"));
+
+        if (!AppUtils.isLandscape(context)) {
+            AndroidBug5497Workaround.assistActivity(this);
+        }
+
+
+    }
+
+    @Override
+    public void switchFragment(final String tag,Bundle bundle) {
+        super.switchFragment(tag,bundle);
+       switch (tag){
+           case HNYYLoginFragmentTag.PAGE_ACCOUNT_LOGIN:
+               if (userAccountLoginFragment == null){
+                   userAccountLoginFragment = new UserAccountLoginFragment();
+               }
+               switchFragment(userAccountLoginFragment,tag,bundle);
+               break;
+           case HNYYLoginFragmentTag.PAGE_PHONE_LOGIN:
+               if (userPhoneLoginFragment == null){
+                   userPhoneLoginFragment = new UserPhoneLoginFragment();
+               }
+
+               switchFragment(userPhoneLoginFragment,tag,bundle);
+               break;
+           case HNYYLoginFragmentTag.PAGE_POHONE_SET_PASSWORD:
+               if (userPhoneLoginSetpwdFragment == null){
+                   userPhoneLoginSetpwdFragment = new UserPhoneLoginSetpwdFragment();
+               }
+
+               switchFragment(userPhoneLoginSetpwdFragment,tag,bundle);
+               break;
+           case HNYYLoginFragmentTag.PAGE_ACCOUNT_REGISTER:
+               if (userRegisterFragment == null){
+                   userRegisterFragment = new UserRegisterFragment();
+               }
+               switchFragment(userRegisterFragment,tag,bundle);
+               break;
+           case HNYYLoginFragmentTag.PAGE_RETRIEVE_PASSWORD:
+               if (userRetrievePwdFragment == null){
+                   userRetrievePwdFragment = new UserRetrievePwdFragment();
+               }
+               switchFragment(userRetrievePwdFragment,tag,bundle);
+               break;
+           case HNYYLoginFragmentTag.PAGE_SWITCH_ACCOUNT_LOGIN:
+               if (userSwitchAccountLoginFragment == null){
+                   userSwitchAccountLoginFragment = new UserSwitchAccountLoginFragment();
+               }
+               switchFragment(userSwitchAccountLoginFragment,tag,bundle);
+               break;
+
+       }
+    }
+
+    private void autoLogin(final Activity activity) {
+        AutoLoginDialog.Builder builder = new AutoLoginDialog.Builder(activity,SdkPlatformImpl.loginViewModel);
+        builder.setPositiveButton(new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialog, int which) {
+                //取消回调
+                dialog.dismiss();
+
+                switchFragment(HNYYLoginFragmentTag.PAGE_SWITCH_ACCOUNT_LOGIN,null);
+
+
+            }
+        }).setCloseDialogCallback(new AutoLoginDialog.CloseDialogCallback() {
+
+
+            @Override
+            public void onLoginSuccess() {
+                if (!isFinishing()) {
+                     finish();
+                     SdkPlatformImpl.getInstance(activity).loginSuccess();
+                }
+            }
+            @Override
+            public void onLoginFail() {
+                switchFragment(HNYYLoginFragmentTag.PAGE_SWITCH_ACCOUNT_LOGIN,null);
+            }
+        });
+
+        builder.Create().show();
+    }
+
+}

+ 91 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/adapter/UserListAdapter.java

@@ -0,0 +1,91 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import java.util.ArrayList;
+
+import cn.yyxx.commsdk.core.utils.ResourceUtil;
+import cn.yyxx.commsdk.impl.channel.user.UserSession;
+import cn.yyxx.commsdk.impl.channel.user.UserSessionManager;
+
+
+public class UserListAdapter extends BaseAdapter {
+	private Context context;
+	public ArrayList<UserSession> list;
+	private LayoutInflater mInflater = null;
+
+
+
+	public UserListAdapter(Context context, ArrayList<UserSession> list) {
+		this.context = context;
+		this.list = list;
+		this.mInflater = LayoutInflater.from(context);
+
+	}
+
+	@Override
+	public int getCount() {
+		// TODO Auto-generated method stub
+		return list.size();
+	}
+
+	@Override
+	public Object getItem(int position) {
+		// TODO Auto-generated method stub
+		return position;
+	}
+
+	@Override
+	public long getItemId(int position) {
+		// TODO Auto-generated method stub
+		return position;
+	}
+
+	@Override
+	public View getView(final int position, View convertView, ViewGroup parent) {
+		// TODO Auto-generated method stub
+		ViewHolder holder = null;
+		if (convertView == null) {
+			convertView = mInflater.inflate(ResourceUtil.getLayoutId(context, "hnyy_user_list_item"), parent,false);
+			holder = new ViewHolder();
+
+			holder.accountName = convertView
+					.findViewById(ResourceUtil.getId(context, "history_account"));
+			holder.closeItem =  convertView
+					.findViewById(ResourceUtil.getId(context, "item_close"));
+			
+			holder.closeItem.setOnClickListener(new OnClickListener() {
+				
+				@Override
+				public void onClick(View v) {
+					// TODO Auto-generated method stub
+					deleteItem(position);
+				}
+			});
+			
+			convertView.setTag(holder);
+		} else {
+			holder = (ViewHolder) convertView.getTag();
+
+		}
+		holder.accountName.setText(list.get(position).uname);
+		return convertView;
+	}
+
+	class ViewHolder {
+		TextView accountName;
+		ImageView closeItem;
+
+	}
+	private void deleteItem(int position){
+		UserSessionManager.getInstance().removeSession(list.get(position).uname);
+	}
+
+}

+ 160 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/AutoLoginDialog.java

@@ -0,0 +1,160 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.dialog;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Looper;
+import android.util.TypedValue;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+import cn.yyxx.commsdk.base.entity.ResultInfo;
+import cn.yyxx.commsdk.base.internal.ICallback;
+import cn.yyxx.commsdk.core.utils.ResourceUtil;
+import cn.yyxx.commsdk.impl.channel.LoginViewModel;
+import cn.yyxx.commsdk.impl.channel.user.UserSession;
+import cn.yyxx.commsdk.impl.channel.user.UserSessionManager;
+
+public class AutoLoginDialog extends Dialog {
+
+
+    private static TextView hnyy_auto_login_account_text, hnyy_auto_login_cancel_text;
+    private static AutoLoginDialog dialog;
+    private static Timer timer;
+
+    public AutoLoginDialog(Context context, int theme) {
+        super(context, theme);
+
+    }
+
+    public static class Builder {
+        private Context context;
+        private OnClickListener positiveButtonClickListener;
+        private CloseDialogCallback closeDialogCallback;
+
+        private LoginViewModel loginViewModel;
+
+        private UserSession lastUserSession;
+
+        public Builder(Context context, LoginViewModel loginViewModel) {
+            this.context = context;
+            this.loginViewModel = loginViewModel;
+        }
+
+        public Builder setPositiveButton(OnClickListener listener) {
+            this.positiveButtonClickListener = listener;
+            return this;
+        }
+
+        public Builder setCloseDialogCallback(CloseDialogCallback closeDialogCallback) {
+            this.closeDialogCallback = closeDialogCallback;
+            return this;
+        }
+
+
+        public void dialogDismiss() {
+            if (timer != null) {
+                timer.cancel();
+            }
+
+            dialog.dismiss();
+        }
+
+        public AutoLoginDialog Create() {
+            {
+                LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+                dialog = new AutoLoginDialog(context, ResourceUtil.getStyleId(context, "hnyy_auto_login_dialog"));
+                View layout = inflater.inflate(ResourceUtil.getLayoutId(context, "hnyy_quick_login_bar"), null);
+                ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+                Window window = dialog.getWindow();
+                window.setGravity(Gravity.TOP);
+                WindowManager.LayoutParams lp = window.getAttributes();
+
+                lp.y = dp2Px(50, context);  //设置出现的高度,距离顶部
+                window.setAttributes(lp);
+
+                dialog.addContentView(layout, layoutParams);
+
+                hnyy_auto_login_cancel_text = dialog.findViewById(ResourceUtil.getId(context,
+                        "hnyy_auto_login_cancel_text"));
+                hnyy_auto_login_account_text = dialog.findViewById(ResourceUtil.getId(context,
+                        "hnyy_auto_login_account_text"));
+
+
+                if (hnyy_auto_login_cancel_text != null) {
+                    hnyy_auto_login_cancel_text.setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View view) {
+                            if (timer != null) {
+                                timer.cancel();
+                            }
+
+                            timer = null;
+                            positiveButtonClickListener.onClick(dialog, DialogInterface.BUTTON_POSITIVE);
+                        }
+                    });
+                }
+
+                String hnyy_enter_game_tip = context.getString(ResourceUtil.getStringId(context, "hnyy_enter_game_tip"));
+                lastUserSession = UserSessionManager.getInstance().getLocalLastSession();
+                String autoTip = lastUserSession.uname + hnyy_enter_game_tip;
+
+                hnyy_auto_login_account_text.setText(autoTip);
+                dialog.setCancelable(false);
+                timer = new Timer();
+                timer.schedule(task, 2000);
+                return dialog;
+            }
+        }
+
+        TimerTask task = new TimerTask() {
+
+            @Override
+            public void run() {
+                Looper.prepare();
+
+                dialogDismiss();
+
+                loginViewModel.accountLogin((Activity) context, lastUserSession.uname, lastUserSession.password, lastUserSession.login_token, new ICallback() {
+                    @Override
+                    public void onResult(int code, String result) {
+                        if (code == ResultInfo.CODE_SUCCESS){
+                            closeDialogCallback.onLoginSuccess();
+                        }else {
+                            closeDialogCallback.onLoginFail();
+
+                        }
+
+                    }
+                });
+
+                Looper.loop();
+            }
+
+        };
+
+
+    }
+
+    public interface CloseDialogCallback {
+        void onLoginSuccess();
+
+        void onLoginFail();
+    }
+
+    public static int dp2Px(float dp, Context mContext) {
+        return (int) TypedValue.applyDimension(
+                TypedValue.COMPLEX_UNIT_DIP,
+                dp,
+                mContext.getResources().getDisplayMetrics());
+    }
+}

+ 1 - 1
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/dialog/CustomExitGameDialog.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/CustomExitGameDialog.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.dialog;
+package cn.yyxx.commsdk.impl.channel.hnyy.dialog;
 
 
 import android.app.Dialog;

+ 3 - 3
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/dialog/EmailDialog.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/EmailDialog.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.dialog;
+package cn.yyxx.commsdk.impl.channel.hnyy.dialog;
 
 
 
@@ -23,8 +23,8 @@ import android.widget.ImageView;
 import java.net.URISyntaxException;
 
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.action.PageJsInteraction;
-import cn.yyxx.commsdk.platform.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.action.PageJsInteraction;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
 import cn.yyxx.support.AppUtils;
 
 

+ 3 - 10
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/dialog/HnPayDialog.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/HnPayDialog.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.dialog;
+package cn.yyxx.commsdk.impl.channel.hnyy.dialog;
 
 
 import android.content.Context;
@@ -7,7 +7,6 @@ import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.View;
 import android.webkit.DownloadListener;
 import android.webkit.WebChromeClient;
@@ -18,20 +17,14 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 
 
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.HashMap;
-
 import cn.yyxx.commsdk.base.entity.ResultInfo;
 import cn.yyxx.commsdk.base.entity.SdkOrderInfo;
 import cn.yyxx.commsdk.base.internal.ICallback;
 import cn.yyxx.commsdk.base.internal.IRequestCallback;
-import cn.yyxx.commsdk.base.utils.Logger;
 import cn.yyxx.commsdk.core.network.SdkRequest;
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.action.PageJsInteraction;
-import cn.yyxx.commsdk.platform.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.action.PageJsInteraction;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
 import cn.yyxx.support.AppUtils;
 
 

+ 1 - 1
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/dialog/JsBaseDialog.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/JsBaseDialog.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.dialog;
+package cn.yyxx.commsdk.impl.channel.hnyy.dialog;
 
 
 import android.app.Dialog;

+ 4 - 4
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/dialog/UserCenterDialog.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/UserCenterDialog.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.dialog;
+package cn.yyxx.commsdk.impl.channel.hnyy.dialog;
 
 
 import android.content.Context;
@@ -22,9 +22,9 @@ import android.widget.ImageView;
 import java.net.URISyntaxException;
 
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.action.PageJsInteraction;
-import cn.yyxx.commsdk.platform.hnyy.fragment.widget.TosUtil;
-import cn.yyxx.commsdk.platform.hnyy.impl.SdkPlatformImpl;
+import cn.yyxx.commsdk.impl.channel.hnyy.action.PageJsInteraction;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
 import cn.yyxx.support.AppUtils;
 
 

+ 3 - 3
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/dialog/WvPageListDialog.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/dialog/WvPageListDialog.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.dialog;
+package cn.yyxx.commsdk.impl.channel.hnyy.dialog;
 
 
 import android.content.Context;
@@ -22,8 +22,8 @@ import android.widget.LinearLayout;
 import java.net.URISyntaxException;
 
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.action.PageJsInteraction;
-import cn.yyxx.commsdk.platform.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.action.PageJsInteraction;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
 import cn.yyxx.support.AppUtils;
 
 public class WvPageListDialog extends JsBaseDialog {

+ 1 - 1
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/floating/DotImageView.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/floating/DotImageView.java

@@ -10,7 +10,7 @@
  * THIS SOFTWARE IS PROVIDED BY SHANGHAI YUEWEN INFORMATION TECHNOLOGY CO., LTD. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  */
-package cn.yyxx.commsdk.platform.hnyy.floating;
+package cn.yyxx.commsdk.impl.channel.hnyy.floating;
 
 import android.animation.Animator;
 import android.animation.ValueAnimator;

+ 2 - 3
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/floating/FloatLogoMenu.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/floating/FloatLogoMenu.java

@@ -10,7 +10,7 @@
  * THIS SOFTWARE IS PROVIDED BY SHANGHAI YUEWEN INFORMATION TECHNOLOGY CO., LTD. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  */
-package cn.yyxx.commsdk.platform.hnyy.floating;
+package cn.yyxx.commsdk.impl.channel.hnyy.floating;
 
 import android.animation.Animator;
 import android.animation.ValueAnimator;
@@ -37,9 +37,8 @@ import android.view.animation.Interpolator;
 import android.view.animation.LinearInterpolator;
 import android.widget.LinearLayout;
 
-import cn.yyxx.commsdk.base.utils.Logger;
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.dialog.CustomExitGameDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.CustomExitGameDialog;
 
 
 /**

+ 2 - 3
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/floating/FloatViewManager.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/floating/FloatViewManager.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.floating;
+package cn.yyxx.commsdk.impl.channel.hnyy.floating;
 
 
 import static cn.yyxx.commsdk.base.constants.Constants.CLICK_INTERVAL;
@@ -10,8 +10,7 @@ import android.graphics.BitmapFactory;
 
 import cn.yyxx.commsdk.core.entity.SdkLoginInfo;
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.dialog.UserCenterDialog;
-import cn.yyxx.commsdk.platform.hnyy.impl.SdkPlatformImpl;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.UserCenterDialog;
 
 public class FloatViewManager {
 

+ 53 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/BaseFragment.java

@@ -0,0 +1,53 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.ImageButton;
+
+import cn.yyxx.commsdk.core.utils.ResourceUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.activity.HNYYLoginActivity;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.WvPageListDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
+
+public class BaseFragment extends android.support.v4.app.Fragment implements View.OnClickListener {
+    private ImageButton btn_kefu;
+    public HNYYLoginActivity loginImpl;
+
+
+    @Override
+    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        btn_kefu = view.findViewById(ResourceUtil.getId(getActivity(),"btn_kefu"));
+        if (btn_kefu != null){
+            btn_kefu.setOnClickListener(this);
+            if (!SdkPlatformImpl.initConfig.isShowKf){
+                btn_kefu.setVisibility(View.GONE);
+            }
+        }
+
+
+        if (getActivity() instanceof HNYYLoginActivity) {
+            loginImpl = (HNYYLoginActivity) getActivity();
+        }
+
+    }
+
+
+
+    @Override
+    public void onClick(View v) {
+        if (v.getId() == ResourceUtil.getId(getActivity(), "btn_kefu")){
+
+            if (!TextUtils.isEmpty(SdkPlatformImpl.initConfig.service_center)){
+
+                new WvPageListDialog(getActivity(),ResourceUtil.getStyleId(getActivity(),"hnyy_base_dialog"), SdkPlatformImpl.initConfig.service_center).show();
+
+            }
+
+
+
+        }
+    }
+}

+ 16 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/HNYYLoginFragmentTag.java

@@ -0,0 +1,16 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.SOURCE)
+public @interface HNYYLoginFragmentTag {
+    String PAGE_ACCOUNT_LOGIN = "UserAccountLoginFragment";
+    String PAGE_PHONE_LOGIN = "UserPhoneLoginFragment";
+    String PAGE_POHONE_SET_PASSWORD = "UserPhoneLoginSetpwdFragment";
+    String PAGE_ACCOUNT_REGISTER = "UserRegisterFragment";
+    String PAGE_RETRIEVE_PASSWORD = "UserRetrievePwdFragment";
+    String PAGE_SWITCH_ACCOUNT_LOGIN = "UserSwitchAccountLoginFragment";
+
+
+}

+ 244 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserAccountLoginFragment.java

@@ -0,0 +1,244 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment;
+
+
+import static cn.yyxx.commsdk.base.constants.Constants.CLICK_INTERVAL;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+import android.text.method.HideReturnsTransformationMethod;
+import android.text.method.PasswordTransformationMethod;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import java.util.ArrayList;
+
+import cn.yyxx.commsdk.base.entity.ResultInfo;
+import cn.yyxx.commsdk.base.internal.ICallback;
+import cn.yyxx.commsdk.core.utils.ResourceUtil;
+import cn.yyxx.commsdk.impl.channel.user.UserSession;
+import cn.yyxx.commsdk.impl.channel.user.UserSessionManager;
+import cn.yyxx.commsdk.impl.channel.hnyy.adapter.UserListAdapter;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
+
+public class UserAccountLoginFragment extends BaseFragment {
+
+    private EditText reg_account_edit,reg_pwd_edit;
+    private ImageView down_btn,iv_show_pwd;
+    private ImageButton close_btn;
+    private Button reg_compete_btn;
+    private TextView tv_fofget_pwd;
+    private boolean isShowPwd = false;
+
+
+     private ListView account_listview;
+
+
+    private ImageView showListView;
+
+    private boolean isShowList = false;
+
+    private TextView list_text;
+
+    private long clickLoginTime = 0L;
+
+    private UserListAdapter userListAdapter;
+
+    private String login_token;
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View view = inflater.inflate(ResourceUtil.getLayoutId(getActivity(),"hnyy_account_login"), container, false);
+        view.setClickable(true);
+        return view;
+    }
+
+    @Override
+    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        reg_account_edit = view.findViewById(ResourceUtil.getId(getActivity(),"reg_account_edit"));
+        reg_pwd_edit= view.findViewById(ResourceUtil.getId(getActivity(),"reg_pwd_edit"));
+
+        down_btn = view.findViewById(ResourceUtil.getId(getActivity(),"down_btn"));
+        down_btn.setOnClickListener(this);
+
+        iv_show_pwd = view.findViewById(ResourceUtil.getId(getActivity(),"iv_show_pwd"));
+        iv_show_pwd.setOnClickListener(this);
+
+
+        list_text  = view.findViewById(ResourceUtil.getId(getActivity(), "list_text"));
+
+        account_listview  =  view.findViewById(ResourceUtil.getId(getActivity(), "account_listview"));
+
+
+        showListView = view.findViewById(ResourceUtil.getId(getActivity(), "down_btn"));
+        showListView.setOnClickListener(this);
+
+        reg_compete_btn = view.findViewById(ResourceUtil.getId(getActivity(),"reg_compete_btn"));
+        reg_compete_btn.setOnClickListener(this);
+
+        tv_fofget_pwd = view.findViewById(ResourceUtil.getId(getActivity(),"tv_fofget_pwd"));
+        tv_fofget_pwd.setOnClickListener(this);
+
+
+        close_btn = view.findViewById(ResourceUtil.getId(getActivity(),"close_btn"));
+        close_btn.setOnClickListener(this);
+
+        if (getData() != null){
+
+            userListAdapter  = new UserListAdapter(getActivity(),getData());
+            account_listview.setAdapter(userListAdapter);
+            account_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+                @Override
+                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                    reg_account_edit.setText(userListAdapter.list.get(i).uname);
+                    reg_pwd_edit.setText(userListAdapter.list.get(i).password);
+                    login_token = userListAdapter.list.get(i).login_token;
+                    hideListView();
+                }
+            });
+
+            reg_account_edit.setText(userListAdapter.list.get(0).uname);
+            reg_pwd_edit.setText(userListAdapter.list.get(0).password);
+        }
+
+
+    }
+
+    private void showListView() {
+        if (getData() == null) {
+            list_text.setVisibility(View.VISIBLE);
+        } else {
+            account_listview.setVisibility(View.VISIBLE);
+            list_text.setVisibility(View.GONE);
+
+        }
+        isShowList = true;
+
+
+    }
+
+    private void hideListView() {
+        account_listview.setVisibility(View.GONE);
+        list_text.setVisibility(View.GONE);
+        isShowList = false;
+        showListView.setImageResource(ResourceUtil.getMipmapId(getActivity(), "hnyy_arrow_normal"));
+    }
+
+    private ArrayList<UserSession> getData() {
+
+        return UserSessionManager.getInstance().getLocalSession();
+
+    }
+
+    @Override
+    public void onClick(View v) {
+        super.onClick(v);
+        int id = v.getId();
+        if (id == ResourceUtil.getId(getActivity(), "reg_compete_btn")){
+            if (System.currentTimeMillis() - clickLoginTime < CLICK_INTERVAL) {
+
+                return;
+            }
+            clickLoginTime = System.currentTimeMillis();
+            startLogin(reg_account_edit.getText().toString(), reg_pwd_edit.getText().toString());
+
+        }else if(id == ResourceUtil.getId(getActivity(), "down_btn")){
+            /*	显示缓存账号	*/
+            if (!isShowList) {
+                showListView.setImageResource(ResourceUtil.getMipmapId(getActivity(), "hnyy_arrow_select"));
+                showListView();
+            } else {
+
+                showListView.setImageResource(ResourceUtil.getMipmapId(getActivity(), "hnyy_arrow_normal"));
+                hideListView();
+            }
+
+        }else if(id == ResourceUtil.getId(getActivity(), "iv_show_pwd")){
+
+            if (!isShowPwd) {
+                isShowPwd = true;
+                reg_pwd_edit.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+                iv_show_pwd.setImageResource(ResourceUtil.getMipmapId(getActivity(), "hnyy_open_eye"));
+            } else {
+                isShowPwd = false;
+                reg_pwd_edit.setTransformationMethod(PasswordTransformationMethod.getInstance());
+                iv_show_pwd.setImageResource(ResourceUtil.getMipmapId(getActivity(), "hnyy_close_eye"));
+            }
+
+
+        }else if(id == ResourceUtil.getId(getActivity(), "close_btn")){
+
+            loginImpl.switchFragment(HNYYLoginFragmentTag.PAGE_PHONE_LOGIN,null);
+
+        }else if(id == ResourceUtil.getId(getActivity(), "tv_fofget_pwd")){
+
+            loginImpl.switchFragment(HNYYLoginFragmentTag.PAGE_RETRIEVE_PASSWORD,null);
+
+        }
+
+
+    }
+
+
+    private void startLogin(final String account, final String pwd) {
+        if (TextUtils.isEmpty(account)){
+            new TosUtil(getActivity(),TosUtil.TOAST_ERROR, getString(ResourceUtil.getStringId(getActivity(), "hnyy_band_need_account"))).show();
+
+            return;
+        }
+        if (TextUtils.isEmpty(pwd)){
+            new TosUtil(getActivity(),TosUtil.TOAST_ERROR, getString(ResourceUtil.getStringId(getActivity(), "hnyy_band_need_pwd"))).show();
+
+            return;
+        }
+
+        if(account.length()<6)
+        {
+            new TosUtil(getActivity(),TosUtil.TOAST_ERROR, getString(ResourceUtil.getStringId(getActivity(), "hnyy_account_limit_6"))).show();
+
+            return;
+        }
+        if(pwd.length()<6)
+        {
+            new TosUtil(getActivity(),TosUtil.TOAST_ERROR, getString(ResourceUtil.getStringId(getActivity(), "hnyy_pwd_limit_6"))).show();
+
+            return;
+        }
+
+
+        SdkPlatformImpl.loginViewModel.accountLogin(getActivity(), account, pwd, login_token, new ICallback() {
+            @Override
+            public void onResult(int code, String result) {
+                if (code == ResultInfo.CODE_SUCCESS){
+
+                    if (!getActivity().isFinishing()) {
+                        getActivity().finish();
+
+                        SdkPlatformImpl.getInstance(getActivity()).loginSuccess();
+
+                    }
+
+                 }else{
+                    new TosUtil(getActivity(),TosUtil.TOAST_ERROR, result).show();
+
+                }
+            }
+        });
+
+
+
+    }
+
+
+}

+ 4 - 5
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/fragment/UserPhoneLoginFragment.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserPhoneLoginFragment.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.fragment;
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment;
 
 
 import static cn.yyxx.commsdk.base.constants.Constants.CLICK_INTERVAL;
@@ -21,10 +21,9 @@ import cn.yyxx.commsdk.base.entity.ResultInfo;
 import cn.yyxx.commsdk.base.internal.ICallback;
 import cn.yyxx.commsdk.base.internal.PhoneLoginCallBack;
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.HNYYLoginFragmentTag;
-import cn.yyxx.commsdk.platform.hnyy.dialog.WvPageListDialog;
-import cn.yyxx.commsdk.platform.hnyy.fragment.widget.TosUtil;
-import cn.yyxx.commsdk.platform.hnyy.impl.SdkPlatformImpl;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.WvPageListDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
 
 
 public class UserPhoneLoginFragment extends BaseFragment {

+ 4 - 5
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/fragment/UserPhoneLoginSetpwdFragment.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserPhoneLoginSetpwdFragment.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.fragment;
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment;
 
 
 import static cn.yyxx.commsdk.base.constants.Constants.CLICK_INTERVAL;
@@ -21,10 +21,9 @@ import cn.yyxx.commsdk.base.entity.ResultInfo;
 import cn.yyxx.commsdk.base.internal.ICallback;
 import cn.yyxx.commsdk.base.utils.Logger;
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.HNYYLoginFragmentTag;
-import cn.yyxx.commsdk.platform.hnyy.dialog.WvPageListDialog;
-import cn.yyxx.commsdk.platform.hnyy.fragment.widget.TosUtil;
-import cn.yyxx.commsdk.platform.hnyy.impl.SdkPlatformImpl;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.WvPageListDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
 
 
 public class UserPhoneLoginSetpwdFragment extends BaseFragment {

+ 4 - 5
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/fragment/UserRegisterFragment.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserRegisterFragment.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.fragment;
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment;
 
 
 
@@ -25,10 +25,9 @@ import java.util.Random;
 import cn.yyxx.commsdk.base.entity.ResultInfo;
 import cn.yyxx.commsdk.base.internal.ICallback;
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.HNYYLoginFragmentTag;
-import cn.yyxx.commsdk.platform.hnyy.dialog.WvPageListDialog;
-import cn.yyxx.commsdk.platform.hnyy.fragment.widget.TosUtil;
-import cn.yyxx.commsdk.platform.hnyy.impl.SdkPlatformImpl;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.WvPageListDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
 
 
 public class UserRegisterFragment extends BaseFragment {

+ 4 - 5
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/fragment/UserRetrievePwdFragment.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserRetrievePwdFragment.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.fragment;
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment;
 
 import android.app.Activity;
 import android.os.Bundle;
@@ -17,10 +17,9 @@ import android.widget.TextView;
 import cn.yyxx.commsdk.base.entity.ResultInfo;
 import cn.yyxx.commsdk.base.internal.ICallback;
 import cn.yyxx.commsdk.core.utils.ResourceUtil;
-import cn.yyxx.commsdk.platform.hnyy.HNYYLoginFragmentTag;
-import cn.yyxx.commsdk.platform.hnyy.dialog.WvPageListDialog;
-import cn.yyxx.commsdk.platform.hnyy.fragment.widget.TosUtil;
-import cn.yyxx.commsdk.platform.hnyy.impl.SdkPlatformImpl;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.WvPageListDialog;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
 
 public class UserRetrievePwdFragment extends BaseFragment {
 

+ 204 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/UserSwitchAccountLoginFragment.java

@@ -0,0 +1,204 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment;
+
+
+import static cn.yyxx.commsdk.base.constants.Constants.CLICK_INTERVAL;
+
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import java.util.ArrayList;
+
+import cn.yyxx.commsdk.base.entity.ResultInfo;
+import cn.yyxx.commsdk.base.internal.ICallback;
+import cn.yyxx.commsdk.core.utils.ResourceUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.AccountLoginListView;
+import cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.TosUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.SdkPlatformImpl;
+import cn.yyxx.commsdk.impl.channel.user.UserSession;
+import cn.yyxx.commsdk.impl.channel.user.UserSessionManager;
+
+public class UserSwitchAccountLoginFragment extends BaseFragment{
+
+    private TextView ib_edit_account,tv_other_login_type;
+
+    private AccountLoginListView all_item_1,all_item_2,all_item_3;
+
+
+    private boolean isEditStatus = false;
+
+    private long clickLoginTime = 0L;
+
+    @Nullable
+    @Override
+    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
+        View view = inflater.inflate(ResourceUtil.getLayoutId(getActivity(),"hnyy_switch_account_login"), container, false);
+        view.setClickable(true);
+        return view;
+
+    }
+
+    @Override
+    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        ib_edit_account = view.findViewById(ResourceUtil.getId(getActivity(),"ib_edit_account"));
+
+
+        all_item_1 = view.findViewById(ResourceUtil.getId(getActivity(),"all_item_1"));
+        all_item_2 = view.findViewById(ResourceUtil.getId(getActivity(),"all_item_2"));
+        all_item_3 = view.findViewById(ResourceUtil.getId(getActivity(),"all_item_3"));
+        all_item_1.setOnClickListener(this);
+        all_item_2.setOnClickListener(this);
+        all_item_3.setOnClickListener(this);
+        all_item_3.btn_common_use.setVisibility(View.GONE);
+
+
+        ib_edit_account.setOnClickListener(this);
+
+        tv_other_login_type = view.findViewById(ResourceUtil.getId(getActivity(),
+                "tv_other_login_type"));
+        tv_other_login_type.setOnClickListener(this);
+
+        getTopThirdUserInfo();
+
+    }
+
+    @Override
+    public void onClick(View v) {
+        super.onClick(v);
+        int id = v.getId();
+        if (id == ResourceUtil.getId(getActivity(), "ib_edit_account")) {
+            if (isEditStatus){
+
+                Drawable nav_up=getResources().getDrawable(ResourceUtil.getMipmapId(getActivity(),"hnyy_edit_account"));
+                nav_up.setBounds(0, 0, nav_up.getMinimumWidth(), nav_up.getMinimumHeight());
+                ib_edit_account.setCompoundDrawables(null, null, nav_up, null);
+                ib_edit_account.setText("");
+                isEditStatus = false;
+
+                all_item_1.btn_common_use.setVisibility(View.VISIBLE);
+                all_item_2.btn_common_use.setVisibility(View.VISIBLE);
+
+                all_item_1.btn_delete.setVisibility(View.GONE);
+                all_item_2.btn_delete.setVisibility(View.GONE);
+                all_item_3.btn_delete.setVisibility(View.GONE);
+
+
+                all_item_1.setClickable(true);
+                all_item_2.setClickable(true);
+                all_item_3.setClickable(true);
+
+            }else{
+                ib_edit_account.setCompoundDrawables(null, null, null, null);
+
+
+                ib_edit_account.setText(ResourceUtil.getStringId(getActivity(),"hnyy_commit_edit"));
+                isEditStatus = true;
+                all_item_1.btn_delete.setVisibility(View.VISIBLE);
+                all_item_2.btn_delete.setVisibility(View.VISIBLE);
+                all_item_3.btn_delete.setVisibility(View.VISIBLE);
+
+                all_item_1.btn_common_use.setVisibility(View.GONE);
+                all_item_2.btn_common_use.setVisibility(View.GONE);
+
+
+                all_item_1.setClickable(false);
+                all_item_2.setClickable(false);
+                all_item_3.setClickable(false);
+            }
+
+        }else  if (id == ResourceUtil.getId(getActivity(), "all_item_1")) {
+
+            startLogin(all_item_1.tv_account.getText().toString(),all_item_1.password,all_item_1.login_token);
+
+
+        }else  if (id == ResourceUtil.getId(getActivity(), "all_item_2")) {
+
+            startLogin(all_item_2.tv_account.getText().toString(),all_item_2.password,all_item_2.login_token);
+
+        }else  if (id == ResourceUtil.getId(getActivity(), "all_item_3")) {
+
+            startLogin(all_item_3.tv_account.getText().toString(),all_item_3.password,all_item_3.login_token);
+
+        }else  if (id == ResourceUtil.getId(getActivity(), "tv_other_login_type")) {
+            loginImpl.switchFragment(HNYYLoginFragmentTag.PAGE_PHONE_LOGIN,null);
+        }
+    }
+
+    private void startLogin(final String account, final String pwd,final String login_token){
+        if (System.currentTimeMillis() - clickLoginTime < CLICK_INTERVAL) {
+
+            return;
+        }
+        clickLoginTime = System.currentTimeMillis();
+
+        SdkPlatformImpl.loginViewModel.accountLogin(getActivity(),account, pwd,login_token, new ICallback(){
+            @Override
+            public void onResult(int code, String result) {
+                if (code == ResultInfo.CODE_SUCCESS){
+                    if (!getActivity().isFinishing()) {
+                        getActivity().finish();
+                        SdkPlatformImpl.getInstance(getActivity()).loginSuccess();
+
+                    }
+
+                }else{
+
+                    new TosUtil(getActivity(),TosUtil.TOAST_ERROR, result).show();
+
+                }
+            }
+        });
+
+    }
+
+    private void getTopThirdUserInfo() {
+
+        ArrayList<UserSession> sessions =  UserSessionManager.getInstance().getLocalSessionLimit3();
+
+        for (int i=0;i<sessions.size();i++){
+
+            if (i == 0){
+
+                setAccountLoginListView(all_item_1,sessions.get(i));
+
+            }else if(i == 1){
+
+                setAccountLoginListView(all_item_2,sessions.get(i));
+
+
+            }else if(i == 2){
+
+                setAccountLoginListView(all_item_3,sessions.get(i));
+
+            }
+        }
+
+    }
+
+    private void setAccountLoginListView(AccountLoginListView accountLoginListView, UserSession user){
+        accountLoginListView.setVisibility(View.VISIBLE);
+        accountLoginListView.tv_account.setText(user.uname);
+        accountLoginListView.password = user.password;
+        accountLoginListView.login_token = user.login_token;
+        if (isNumeric(user.uname)){
+            accountLoginListView.tv_account_type.setText(ResourceUtil.getStringId(getActivity(),"hnyy_phone_login_user"));
+            accountLoginListView.iv_account_icon.setImageResource(ResourceUtil.getMipmapId(getActivity(), "hnyy_phone_user"));
+        }
+
+    }
+
+
+    boolean isNumeric(String str){
+        for (int i = str.length();--i>=0;){
+            if (!Character.isDigit(str.charAt(i))){
+                return false;
+            }
+        }
+        return true;
+    }
+}

+ 91 - 0
library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/widget/AccountLoginListView.java

@@ -0,0 +1,91 @@
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import cn.yyxx.commsdk.core.utils.ResourceUtil;
+import cn.yyxx.commsdk.impl.channel.hnyy.dialog.CustomExitGameDialog;
+import cn.yyxx.commsdk.impl.channel.user.UserSessionManager;
+
+
+public class AccountLoginListView extends RelativeLayout {
+
+    public ImageView iv_account_icon;
+    public TextView tv_account_type,tv_account;
+    public Button btn_common_use,btn_delete;
+    public String password,login_token;
+    public AccountLoginListView(Context context) {
+        super(context);
+        intView(context);
+    }
+
+    public AccountLoginListView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        intView(context);
+    }
+
+    public AccountLoginListView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        intView(context);
+    }
+
+    void intView(final Context context){
+
+        LayoutInflater.from(context).inflate(ResourceUtil.getLayoutId(context,"hnyy_login_list"), this);
+        iv_account_icon = findViewById(ResourceUtil.getId(context,
+                "iv_account_icon"));
+        tv_account_type = findViewById(ResourceUtil.getId(context,
+                "tv_account_type"));
+        tv_account = findViewById(ResourceUtil.getId(context,
+                "tv_account"));
+        btn_common_use = findViewById(ResourceUtil.getId(context,
+                "btn_common_use"));
+        btn_delete = findViewById(ResourceUtil.getId(context,
+                "btn_delete"));
+        btn_delete.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                CustomExitGameDialog.Builder builder = new CustomExitGameDialog.Builder(context);
+                builder.Create().show();
+                builder.setPositiveButton(new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+
+                        deleteItem(tv_account.getText().toString(),context);
+                        removeAllViews();
+
+
+                        dialog.dismiss();
+                    }
+                });
+                builder.setnegativeButton(new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+
+                        dialog.dismiss();
+                    }
+                });
+
+                builder.setTitle( context.getString(ResourceUtil.getStringId(context, "hnyy_delete_account_tip")) + tv_account.getText().toString());
+
+            }
+        });
+
+    }
+
+    private void deleteItem(String uname,Context context){
+
+
+        UserSessionManager.getInstance().removeSession(uname);
+
+    }
+
+}

+ 1 - 1
library_platform/platform_hnyy/src/main/java/cn/yyxx/commsdk/platform/hnyy/fragment/widget/TosUtil.java → library_channel_repository/hnyy/src/main/java/cn/yyxx/commsdk/impl/channel/hnyy/fragment/widget/TosUtil.java

@@ -1,4 +1,4 @@
-package cn.yyxx.commsdk.platform.hnyy.fragment.widget;
+package cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget;
 
 import android.content.Context;
 import android.view.Gravity;

+ 11 - 0
library_channel_repository/hnyy/src/main/res/anim/hnyy_rotate_anim.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+    <rotate
+        android:duration="1000"
+        android:fromDegrees="0"
+        android:pivotX="50%"
+        android:pivotY="50%"
+        android:repeatCount="infinite"
+        android:interpolator="@android:anim/linear_interpolator"
+        android:toDegrees="360" />
+</set>

+ 12 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_btn_account_bg.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+
+
+    <stroke android:width="1dp" android:color="@color/hnyy_edittext_bg_gray"/>
+    <corners
+        android:radius="30dp"
+        />
+
+
+</shape>

+ 12 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_btn_exit_bg.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+
+
+    <stroke android:width="1dp" android:color="@color/hnyy_text_cyan_color"/>
+    <corners
+        android:radius="5dp"
+        />
+
+
+</shape>

+ 13 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_btn_guest_bg.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+
+
+    <stroke android:width="1dp" android:color="@color/hnyy_text_cyan_color"/>
+    <corners
+        android:radius="30dp"
+
+        />
+
+
+</shape>

+ 7 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_checkbox_select.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@mipmap/hnyy_checkbox_select" android:state_checked="true"/>
+    <item android:drawable="@mipmap/hnyy_checkbox_unselect" android:state_checked="false"/>
+
+</selector>

+ 5 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_color_white_40.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/hnyy_white_40" />
+    <corners android:radius="8dp" />
+</shape>

+ 5 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_color_white_70.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/hnyy_white_70" />
+    <corners android:radius="8dp" />
+</shape>

+ 6 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_common_wv_bg.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/hnyy_white_83" />
+    <corners android:radius="8dp" />
+    <stroke android:width="0.5dp" android:color="@color/hnyy_deepgrey"/>
+</shape>

+ 5 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_dialog_ios_bg.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
+    <solid android:color="@color/hnyy_white"/>
+    <corners android:radius="10dp"/>
+</shape>

+ 13 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_edittext_bg.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <solid android:color="@color/hnyy_white" />
+
+
+
+
+
+    <stroke android:width="1dp" android:color="@color/hnyy_edittext_bg_gray"/>
+
+    <corners android:radius="2.5dp" />
+</shape>

+ 12 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_exit_bg.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <solid android:color="@color/hnyy_white" />
+
+    <corners android:radius="2.5dp" />
+
+    <stroke
+        android:width="0.1dp"
+        android:color="@color/hnyy_edittext_bg_gray"
+        />
+</shape>

+ 13 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_game_float_menu_bg.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/hnyy_white"/>
+    <stroke
+        android:width="1px"
+        android:color="@color/hnyy_green_line"/>
+    <corners
+        android:bottomLeftRadius="50dp"
+        android:bottomRightRadius="50dp"
+        android:topLeftRadius="50dp"
+        android:topRightRadius="50dp"/>
+
+</shape>

+ 11 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_hide_float_view_bg.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+
+
+        <solid android:color="@color/hnyy_text_cyan_color" />
+
+         <corners android:radius="2.5dp"/>
+
+
+</shape>

+ 9 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_bg.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <solid android:color="@color/hnyy_white" />
+
+      <corners android:radius="3dp" />
+
+
+</shape>

+ 12 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_button_grayed_style.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+
+
+
+
+        <solid android:color="@color/hnyy_text_hint_color" />
+        <corners android:topLeftRadius="17dp" android:topRightRadius="17dp" android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" />
+
+
+</shape>

+ 12 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_button_style.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+
+
+
+
+        <gradient android:type="linear" android:useLevel="true" android:startColor="@color/hnyy_text_light_blue_color" android:endColor="@color/hnyy_text_deep_green_color" android:angle="180" />
+        <corners  android:radius="5dp" />
+
+
+</shape>

+ 5 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_list_bg.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/hnyy_white" />
+    <corners android:radius="6dp" />
+</shape>

+ 8 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_list_btn_yellow_bg.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/hnyy_green" />
+    <corners
+        android:topLeftRadius="20dp"
+        android:bottomLeftRadius="20dp"
+        />
+</shape>

+ 7 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_login_list_delete_bg.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/hnyy_white" />
+    <corners
+        android:radius="2.5dp"
+        />
+</shape>

+ 10 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_radius_white_10dp.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <solid android:color="@color/hnyy_white" />
+
+    <stroke android:width="0.5dp" android:color="@color/hnyy_deepgrey"/>
+    <corners android:radius="10dp" />
+
+
+</shape>

+ 10 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_radius_white_12dp.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <solid android:color="@color/hnyy_white" />
+
+    <stroke android:width="1dp" android:color="@color/hnyy_deepgrey"/>
+    <corners android:radius="12dp" />
+
+
+</shape>

+ 8 - 0
library_channel_repository/hnyy/src/main/res/drawable/hnyy_radius_white_1dp.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <solid android:color="@color/hnyy_white" />
+
+    <corners android:radius="2.5dp" />
+
+</shape>

+ 164 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_account_login.xml

@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="280dp"
+    android:layout_gravity="center"
+    android:background="@drawable/hnyy_login_bg"
+    >
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="60dp"
+        >
+
+        <ImageButton
+            android:id="@+id/close_btn"
+            android:layout_width="26dp"
+            android:layout_height="match_parent"
+            android:layout_alignParentLeft="true"
+            android:layout_marginLeft="30dp"
+            android:background="@color/hnyy_transparent"
+            android:src="@mipmap/hnyy_reback" />
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/hnyy_account_login"
+            android:textSize="19sp"
+            android:layout_centerInParent="true"
+            android:textColor="@color/hnyy_edittext_bg_deep_gray"
+            />
+        <ImageButton
+            android:id="@+id/btn_kefu"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_marginRight="30dp"
+            android:layout_centerVertical="true"
+            android:layout_alignParentRight="true"
+            android:src="@mipmap/hnyy_kefu"
+            android:background="@color/hnyy_transparent"
+            />
+
+    </RelativeLayout>
+    <RelativeLayout
+        android:id="@+id/ll1"
+        android:layout_below="@+id/rl1"
+        android:layout_width="300dp"
+        android:layout_height="wrap_content"
+
+        android:layout_centerInParent="true" >
+
+
+        <EditText
+            android:id="@+id/reg_account_edit"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:background="@drawable/hnyy_edittext_bg"
+            android:digits="0123456789abcdefghijgklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
+            android:gravity="center_vertical"
+            android:hint="@string/hnyy_input_your_account"
+            android:maxLength="20"
+            android:maxLines="1"
+            android:paddingLeft="20dp"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:textSize="14dp"
+            android:textColor="@color/hnyy_text_black"/>
+
+        <ImageView
+            android:id="@+id/down_btn"
+            android:layout_alignRight="@+id/reg_account_edit"
+            android:layout_width="45dp"
+            android:layout_height="40dp"
+            android:src="@mipmap/hnyy_arrow_normal"
+            android:padding="15dp"
+            android:layout_marginRight="3dp"
+            />
+
+        <EditText
+            android:id="@+id/reg_pwd_edit"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:layout_below="@id/reg_account_edit"
+            android:layout_marginTop="16dp"
+            android:background="@drawable/hnyy_edittext_bg"
+            android:digits="0123456789abcdefghijgklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
+            android:gravity="center_vertical"
+            android:hint="@string/hnyy_input_your_pwd"
+            android:inputType="textPassword"
+            android:maxLength="20"
+            android:maxLines="1"
+            android:paddingLeft="20dp"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:textSize="14dp"
+            android:textColor="@color/hnyy_text_black"/>
+
+        <ImageView
+            android:id="@+id/iv_show_pwd"
+            android:layout_below="@id/reg_account_edit"
+            android:layout_marginTop="15dp"
+            android:layout_alignRight="@+id/reg_pwd_edit"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:src="@mipmap/hnyy_close_eye"
+            android:padding="10dp"
+            android:layout_marginRight="5dp"
+            />
+
+
+        <Button
+            android:id="@+id/reg_compete_btn"
+            android:layout_width="300dp"
+            android:layout_height="40dp"
+            android:layout_below="@id/iv_show_pwd"
+
+            android:layout_marginTop="15dp"
+            android:background="@drawable/hnyy_login_button_style"
+            android:layout_centerHorizontal="true"
+            android:text="@string/hnyy_login"
+            android:textColor="@color/hnyy_white"
+            android:textSize="16sp" />
+    </RelativeLayout>
+
+    <TextView
+        android:id="@+id/tv_fofget_pwd"
+        android:layout_marginTop="15dp"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/hnyy_forget_pwd"
+        android:textSize="16sp"
+        android:textColor="@color/hnyy_text_cyan_color"
+        android:layout_centerHorizontal="true"
+        android:layout_below="@id/ll1"
+        />
+
+
+    <ListView
+        android:layout_marginTop="100dp"
+        android:layout_centerHorizontal="true"
+        android:id="@+id/account_listview"
+        android:layout_width="300dp"
+        android:layout_height="160dp"
+        android:divider="@null"
+        android:visibility="gone"
+        />
+
+
+    <TextView
+        android:id="@+id/list_text"
+        android:layout_width="300dp"
+        android:layout_height="50dp"
+        android:gravity="center_vertical"
+        android:layout_centerHorizontal="true"
+        android:background="@drawable/hnyy_edittext_bg"
+        android:paddingLeft="10dp"
+        android:text="@string/hnyy_no_record"
+        android:layout_marginTop="100dp"
+        android:visibility="gone"
+        android:textSize="18sp"
+        android:textColor="@color/hnyy_text_black"
+
+        />
+
+
+</RelativeLayout>

+ 45 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_edittext_style.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+xmlns:android="http://schemas.android.com/apk/res/android"
+android:id="@+id/ll1"
+android:layout_below="@+id/rl1"
+android:layout_width="300dp"
+android:layout_height="wrap_content"
+    android:background="@drawable/hnyy_edittext_bg"
+    >
+
+    <ImageView
+        android:id="@+id/iv_left_view"
+        android:layout_width="18dp"
+        android:layout_height="20dp"
+        android:background="@mipmap/hnyy_account_login"
+        android:layout_centerVertical="true"
+        android:layout_marginLeft="13dp"
+        />
+
+    <EditText
+        android:layout_toRightOf="@id/iv_left_view"
+        android:id="@+id/et_input"
+        android:layout_width="225dp"
+        android:layout_height="40dp"
+        android:layout_marginLeft="10dp"
+        android:background="@null"
+        android:digits="0123456789abcdefghijgklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+        android:gravity="center_vertical"
+        android:hint="@string/hnyy_input_your_account"
+        android:maxLength="20"
+        android:maxLines="1"
+        android:textColorHint="@color/hnyy_text_hint_color"
+        android:textSize="16dp"
+        android:textColor="@color/hnyy_text_black"/>
+    <Button
+        android:layout_toRightOf="@+id/et_input"
+        android:id="@+id/btn_right_view"
+        android:layout_width="13dp"
+        android:layout_height="13dp"
+        android:layout_marginLeft="5dp"
+        android:background="@mipmap/yyxx_comm_close"
+        android:layout_centerVertical="true"
+        />
+
+</RelativeLayout>

+ 42 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_email_dialog.xml

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="460dp"
+    android:layout_height="300dp"
+    android:background="@drawable/hnyy_common_wv_bg"
+    android:orientation="vertical"
+    android:id="@+id/ll_webview_common"
+    >
+
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        >
+
+
+        <WebView
+            android:id="@+id/wb_user_info"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_gravity="center"
+            android:background="@drawable/hnyy_common_wv_bg"
+            />
+
+
+
+        <ImageView
+            android:id="@+id/close_btn"
+            android:layout_width="28dp"
+            android:layout_height="28dp"
+
+            android:src="@mipmap/yyxx_comm_close"
+            android:layout_alignParentRight="true"
+            android:layout_marginRight="15dp"
+            android:layout_marginTop="15dp"
+            android:padding="6dp"
+            />
+    </RelativeLayout>
+
+
+
+</LinearLayout>

+ 72 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_exit_game_dialog.xml

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/ll_exit_game"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:gravity="center"
+    android:background="@drawable/hnyy_exit_bg"
+
+    android:orientation="vertical" >
+
+    <LinearLayout
+        android:layout_width="320dp"
+        android:layout_height="150dp"
+        android:layout_gravity="center"
+
+        android:orientation="vertical" >
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="50dp"
+            android:gravity="center"
+            android:text="@string/hnyy_title_tip"
+            android:textColor="@color/hnyy_text_black"
+            android:textSize="18sp"
+            android:textStyle="bold"
+            />
+        <TextView
+            android:id="@+id/hnyy_issure_exit"
+            android:layout_width="190dp"
+            android:layout_height="45dp"
+            android:gravity="center_horizontal"
+            android:text="@string/hnyy_issure_exit"
+            android:textColor="@color/hnyy_edittext_bg_deep_gray"
+            android:textSize="17sp"
+            android:layout_gravity="center"/>
+
+
+        <RelativeLayout
+            android:layout_width="320dp"
+            android:layout_height="match_parent"
+            android:orientation="horizontal">
+
+
+            <Button
+                android:id="@+id/find_pwd_cancel_btn"
+                android:layout_width="130dp"
+                android:layout_height="40dp"
+                android:background="@drawable/hnyy_btn_exit_bg"
+                android:gravity="center"
+                android:text="@string/hnyy_cancel"
+                android:textColor="@color/hnyy_text_cyan_color"
+                android:textSize="15sp"
+                android:layout_marginLeft="15dp"
+                android:layout_centerVertical="true"/>
+
+
+            <Button
+                android:id="@+id/find_pwd_confirm_btn"
+                android:layout_width="130dp"
+                android:layout_height="40dp"
+                android:background="@drawable/hnyy_login_button_style"
+                android:gravity="center"
+                android:text="@string/hnyy_sure"
+                android:textColor="@color/hnyy_white"
+                android:textSize="15sp"
+                android:layout_alignParentRight="true"
+                android:layout_marginRight="15dp"
+                android:layout_centerVertical="true"/>
+        </RelativeLayout>
+    </LinearLayout>
+
+</LinearLayout>

+ 18 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_hide_float_view.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical" android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:id="@+id/ll_hide"
+    android:visibility="gone"
+    android:background="@color/hnyy_text_black">
+    <TextView
+        android:layout_width="140dp"
+        android:layout_height="40dp"
+        android:drawableLeft="@mipmap/hnyy_hide_float_eye_view"
+        android:paddingLeft="5dp"
+        android:textColor="@color/hnyy_white"
+        android:text="@string/hnyy_close_float_view"
+        android:gravity="center"
+        />
+    
+</LinearLayout>

+ 45 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_ios_style_dialog.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/hnyy_dialog_ios_bg">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_margin="20dp"
+        android:gravity="center_horizontal"
+        android:orientation="vertical">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="@color/hnyy_black"
+            android:textSize="16sp"
+            android:textStyle="bold"
+            android:text="@string/hnyy_title_tip"/>
+
+        <TextView
+            android:id="@+id/content"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="4dp"
+            android:textColor="@color/hnyy_black"
+            android:textSize="12sp"
+            android:text="@string/hnyy_network_error_tip"/>
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1px"
+        android:background="@color/hnyy_dialog_line"/>
+
+    <TextView
+        android:id="@+id/confirm"
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:gravity="center"
+        android:layout_gravity="center_horizontal"
+        android:textColor="@color/hnyy_blues"
+        android:textSize="16sp"
+        android:text="@string/hnyy_confirm"/>
+    </LinearLayout>

+ 8 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_login.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/hnyy_login_container"
+    android:background="@color/hnyy_transparent_background"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+</FrameLayout>

+ 12 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_login_activity.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:gravity="center">
+
+    <FrameLayout
+        android:id="@+id/hnyy_content"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
+
+</RelativeLayout>

+ 62 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_login_list.xml

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="300dp"
+    android:layout_height="43dp"
+    android:background="@drawable/hnyy_login_button_style"
+    >
+    <ImageView
+        android:id="@+id/iv_account_icon"
+        android:layout_width="28dp"
+        android:layout_height="28dp"
+        android:background="@mipmap/hnyy_account_user"
+        android:layout_centerVertical="true"
+        android:layout_marginLeft="10dp"
+        />
+    <TextView
+        android:id="@+id/tv_account_type"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/hnyy_account_login_user"
+        android:textColor="@color/hnyy_white"
+        android:layout_toRightOf="@id/iv_account_icon"
+        android:layout_marginLeft="10dp"
+        android:layout_marginTop="5dp"
+        android:textSize="12dp"
+        />
+    <TextView
+        android:id="@+id/tv_account"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toRightOf="@id/iv_account_icon"
+        android:layout_below="@+id/tv_account_type"
+        android:textSize="12dp"
+        android:textColor="@color/hnyy_white"
+        android:layout_marginLeft="10dp"
+
+        />
+        <Button
+            android:id="@+id/btn_common_use"
+            android:layout_width="40dp"
+            android:layout_height="20dp"
+            android:background="@drawable/hnyy_login_list_btn_yellow_bg"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:text="@string/hnyy_common_use"
+            android:textColor="@color/hnyy_white"
+            android:textSize="11dp"
+
+            />
+    <Button
+        android:id="@+id/btn_delete"
+        android:layout_width="55dp"
+        android:layout_height="20dp"
+        android:background="@drawable/hnyy_login_list_delete_bg"
+        android:layout_alignParentRight="true"
+        android:layout_centerVertical="true"
+        android:text="@string/hnyy_delete_use"
+        android:textColor="@color/hnyy_light_blue"
+        android:textSize="11dp"
+        android:layout_marginRight="14dp"
+        android:visibility="gone"
+        />
+</RelativeLayout>

+ 39 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_p_webview.xml

@@ -0,0 +1,39 @@
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="320dp"
+    android:gravity="center"
+    android:background="@drawable/hnyy_radius_white_10dp"
+    android:orientation="vertical"
+    android:id="@+id/ll_p_wb"
+    >
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="20dp"
+            android:layout_weight="1.0"
+            android:orientation="horizontal">
+
+            <WebView
+                android:id="@+id/wb_with_xd"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:scrollbars="none"
+                android:layout_margin="10dp"
+                />
+
+            <ImageView
+                android:id="@+id/iv_reback_close"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:layout_marginRight="5dp"
+                android:padding="10dp"
+                android:src="@mipmap/yyxx_comm_close"
+                android:layout_alignParentRight="true"
+
+                />
+
+        </RelativeLayout>
+
+
+    </LinearLayout>
+

+ 202 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_phone_login.xml

@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="280dp"
+    android:layout_gravity="center"
+    android:background="@drawable/hnyy_login_bg"
+    android:orientation="vertical">
+
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="60dp"
+        >
+
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:layout_centerInParent= "true"
+            android:background="@mipmap/hnyy_logo"
+
+            />
+
+        <ImageButton
+            android:id="@+id/btn_kefu"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:layout_marginRight="30dp"
+            android:src="@mipmap/hnyy_kefu"
+            android:background="@color/hnyy_transparent"/>
+
+    </RelativeLayout>
+    <RelativeLayout
+        android:id="@+id/rl2"
+        android:layout_below="@id/rl1"
+        android:layout_width="300dp"
+        android:layout_height="wrap_content"
+        android:layout_centerInParent="true"
+        >
+        <EditText
+            android:id="@+id/et_user_phone"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:background="@drawable/hnyy_edittext_bg"
+            android:drawablePadding="20dp"
+            android:hint="@string/hnyy_input_phone_number"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:paddingLeft="20dp"
+            android:textSize="16sp"
+            android:maxLength="20"
+            android:digits="0123456789"
+            android:layout_centerHorizontal="true"
+            android:textColor="@color/hnyy_text_black"
+            />
+        <EditText
+            android:id="@+id/et_user_code"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:layout_marginTop="12dp"
+            android:background="@drawable/hnyy_edittext_bg"
+            android:drawablePadding="20dp"
+            android:hint="@string/hnyy_input_code"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:paddingLeft="20dp"
+            android:textSize="16sp"
+            android:maxLength="10"
+            android:digits="0123456789"
+            android:layout_below="@id/et_user_phone"
+            android:layout_alignLeft="@id/et_user_phone"
+            android:textColor="@color/hnyy_text_black"
+            />
+
+        <View
+            android:layout_width="1dp"
+            android:layout_height="20dp"
+            android:layout_marginTop="21dp"
+            android:background="@color/hnyy_edittext_bg_light_gray"
+            android:layout_toLeftOf="@id/btn_get_code"
+            android:layout_below="@id/et_user_phone"
+
+            />
+        <Button
+            android:id="@+id/btn_get_code"
+            android:layout_width="110dp"
+            android:layout_height="40dp"
+            android:layout_marginTop="10dp"
+            android:background="@null"
+            android:textColor="@color/hnyy_text_cyan_color"
+            android:textSize="16sp"
+            android:text="@string/hnyy_get_phone_code"
+            android:gravity="center"
+            android:layout_below="@id/et_user_phone"
+            android:layout_alignRight="@id/et_user_phone"
+            />
+
+
+        <Button
+            android:id="@+id/btn_reg_compete"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:layout_centerHorizontal="true"
+            android:layout_gravity="center_horizontal"
+            android:background="@drawable/hnyy_login_button_style"
+            android:text="@string/hnyy_login"
+            android:textSize="16sp"
+            android:textColor="@color/hnyy_white"
+            android:minHeight="1dp"
+            android:minWidth="1dp"
+            android:gravity="center"
+            android:layout_below="@id/btn_get_code"
+            android:layout_marginTop="12dp"
+            />
+
+    </RelativeLayout>
+
+    <Button
+        android:id="@+id/btn_account_login"
+        android:layout_width="wrap_content"
+        android:layout_height="32dp"
+        android:layout_below="@id/rl2"
+        android:layout_alignLeft="@id/rl2"
+        android:layout_marginTop="10dp"
+        android:background="@null"
+        android:drawableLeft="@mipmap/hnyy_account_login"
+        android:text="@string/hnyy_account_login"
+        android:textColor="@color/hnyy_text_cyan_color"
+        android:textSize="14sp" />
+
+    <Button
+        android:id="@+id/btn_guest_register"
+        android:layout_width="wrap_content"
+        android:layout_height="32dp"
+        android:layout_below="@id/rl2"
+        android:layout_alignRight="@id/rl2"
+        android:layout_marginTop="10dp"
+        android:background="@null"
+        android:drawableLeft="@mipmap/hnyy_guest_login"
+        android:text="@string/hnyy_guest_register"
+        android:textColor="@color/hnyy_text_cyan_color"
+        android:textSize="14sp" />
+    <RelativeLayout
+        android:id="@+id/reg_tip_ll"
+        android:layout_width="wrap_content"
+        android:layout_height="35dp"
+        android:layout_below="@id/btn_guest_register"
+        android:gravity="center_vertical"
+        android:layout_centerInParent="true">
+
+        <CheckBox
+            android:id="@+id/cb_register"
+            style="@style/hnyy_checkbox_style"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:checked="true"
+            android:layout_marginLeft="18dp"
+            android:layout_centerVertical="true" />
+
+        <TextView
+            android:id="@+id/tv_agree_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="5dp"
+            android:layout_toRightOf="@id/cb_register"
+            android:gravity="center"
+            android:text="@string/hnyy_agreement_tip"
+            android:textColor="@color/hnyy_text_black"
+            android:textSize="11sp" />
+
+        <TextView
+            android:id="@+id/tv_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_toRightOf="@id/tv_agree_tip"
+            android:gravity="center"
+            android:text="@string/hnyy_agree_register_tip"
+            android:textColor="@color/hnyy_font_red_color"
+            android:textSize="11sp" />
+
+        <TextView
+            android:id="@+id/tv_and_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_toRightOf="@id/tv_tip"
+            android:gravity="center"
+            android:text="@string/hnyy_and"
+            android:textColor="@color/hnyy_text_black"
+            android:textSize="11sp" />
+
+        <TextView
+            android:id="@+id/tv_private_policy"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_toRightOf="@id/tv_and_tip"
+            android:gravity="center|left"
+            android:text="@string/hnyy_private_policy"
+            android:textColor="@color/hnyy_font_red_color"
+            android:textSize="11sp" />
+    </RelativeLayout>
+
+</RelativeLayout>

+ 146 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_phone_register_setpwd_dialog.xml

@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="280dp"
+    android:layout_gravity="center"
+    android:background="@drawable/hnyy_login_bg"
+    >
+
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="60dp">
+
+        <ImageButton
+            android:id="@+id/close_btn"
+            android:layout_width="26dp"
+            android:layout_height="match_parent"
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="30dp"
+            android:src="@mipmap/hnyy_reback"
+            android:background="@color/hnyy_transparent"/>
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/hnyy_set_pwd"
+            android:textSize="19sp"
+            android:layout_centerInParent="true"
+            android:textColor="@color/hnyy_edittext_bg_deep_gray"
+            />
+
+        <ImageButton
+            android:id="@+id/btn_kefu"
+            android:layout_width="26dp"
+            android:layout_height="match_parent"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:layout_marginRight="30dp"
+            android:src="@mipmap/hnyy_kefu"
+            android:background="@color/hnyy_transparent" />
+
+    </RelativeLayout>
+
+
+
+
+
+
+        <EditText
+
+            android:id="@+id/reg_pwd_edit"
+            android:layout_width="300dp"
+            android:layout_height="40dp"
+            android:background="@drawable/hnyy_edittext_bg"
+            android:hint="@string/hnyy_set_pwd"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:digits="0123456789abcdefghijgklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+            android:maxLength="20"
+            android:maxLines="1"
+            android:textSize="14dp"
+            android:gravity="center_vertical"
+            android:textColor="@color/hnyy_text_black"
+            android:layout_below="@+id/rl1"
+            android:layout_centerInParent="true"
+            android:layout_marginTop="30dp"
+            android:drawableLeft="@mipmap/hnyy_lock"
+            android:drawablePadding="5dp"
+            android:paddingLeft="10dp"
+
+            />
+
+
+
+    <RelativeLayout
+        android:id="@+id/reg_tip_ll"
+        android:layout_width="300dp"
+        android:layout_height="35dp"
+        android:layout_marginTop="30dp"
+        android:layout_below="@+id/reg_compete_btn"
+        android:gravity="center"
+        android:layout_centerInParent="true"
+        >
+        <CheckBox
+            android:id="@+id/cb_register"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="20dp"
+            android:checked="true"
+            android:gravity="left|center"
+            style="@style/hnyy_checkbox_style"
+             />
+        <TextView
+            android:id="@+id/tv_agree_tip"
+            android:layout_toRightOf="@id/cb_register"
+            android:layout_marginLeft="10dp"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:textSize="11.2sp"
+            android:text="@string/hnyy_agreement_tip"
+            android:textColor="@color/hnyy_text_black"/>
+        <TextView
+            android:id="@+id/tv_tip"
+           android:layout_toRightOf="@id/tv_agree_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:textSize="11.2sp"
+            android:text="@string/hnyy_agree_register_tip"
+            android:textColor="@color/hnyy_font_red_color"/>
+        <TextView
+            android:id="@+id/tv_and_tip"
+            android:layout_toRightOf="@id/tv_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:textSize="11.2sp"
+            android:text="@string/hnyy_and"
+            android:textColor="@color/hnyy_text_black"/>
+        <TextView
+            android:id="@+id/tv_private_policy"
+            android:layout_toRightOf="@id/tv_and_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center|left"
+            android:textSize="11.2sp"
+            android:text="@string/hnyy_private_policy"
+            android:textColor="@color/hnyy_font_red_color"/>
+    </RelativeLayout>
+
+
+    <Button
+        android:id="@+id/reg_compete_btn"
+        android:layout_width="300dp"
+        android:layout_height="40dp"
+        android:layout_below="@id/reg_pwd_edit"
+        android:layout_gravity="center_horizontal"
+        android:background="@drawable/hnyy_login_button_style"
+        android:layout_centerHorizontal="true"
+        android:text="@string/hnyy_register"
+        android:textColor="@color/hnyy_white"
+        android:textSize="16sp"
+        android:layout_marginTop="20dp"/>
+
+
+</RelativeLayout>

+ 81 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_privacy_policy_dialog.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="280dp"
+    android:background="@drawable/hnyy_color_white_70"
+    android:orientation="vertical"
+    android:id="@+id/ll_private_policy"
+    >
+
+
+<RelativeLayout
+    android:layout_width="match_parent"
+    android:layout_height="0dp"
+    android:layout_weight="7"
+    android:layout_marginTop="10dp"
+    android:layout_marginLeft="2dp"
+    android:layout_marginRight="2dp"
+    >
+        <WebView
+            android:id="@+id/wb_user_info"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_gravity="center"
+            android:background="@color/hnyy_transparent"
+            />
+
+    <ImageView
+            android:layout_width="30dp"
+            android:layout_height="30dp"
+            android:layout_centerInParent="true"
+            android:id="@+id/hnyy_loading"
+            android:background="@mipmap/hnyy_loading"/>
+</RelativeLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="3"
+        android:orientation="horizontal"
+        >
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            />
+        <Button
+
+            android:id="@+id/btn_disagree"
+            android:layout_width="0dp"
+            android:layout_height="30dp"
+            android:layout_weight="2"
+            android:layout_gravity="center"
+            android:text="@string/hnyy_disagreement"
+            android:textColor="@color/hnyy_text_cyan_color"
+            android:background="@drawable/hnyy_btn_exit_bg"/>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            />
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            />
+
+        <Button
+            android:id="@+id/btn_agree"
+            android:layout_width="0dp"
+            android:layout_height="30dp"
+            android:layout_weight="2"
+            android:layout_gravity="center"
+            android:background="@drawable/hnyy_login_button_style"
+            android:textColor="@color/hnyy_white"
+            android:text="@string/hnyy_agreement"/>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            />
+    </LinearLayout>
+</LinearLayout>

+ 25 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_quick_login_bar.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="horizontal" android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:background="@drawable/hnyy_edittext_bg"
+    android:padding="14dp"
+    >
+
+    <TextView
+        android:id="@+id/hnyy_auto_login_account_text"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="yx12589647896257,"
+        android:textColor="@color/hnyy_text_black"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/hnyy_auto_login_cancel_text"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/hnyy_switch_account"
+        android:textColor="@color/hnyy_text_cyan_color"
+        android:textSize="14sp"
+        />
+</LinearLayout>

+ 210 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_register_dialog.xml

@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="280dp"
+    android:layout_gravity="center"
+    android:background="@drawable/hnyy_login_bg"
+    >
+
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="60dp">
+
+        <ImageButton
+            android:id="@+id/close_btn"
+            android:layout_width="26dp"
+            android:layout_height="match_parent"
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="30dp"
+            android:src="@mipmap/hnyy_reback"
+            android:background="@color/hnyy_transparent"/>
+
+
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/hnyy_guest_register"
+            android:textSize="19sp"
+            android:layout_centerInParent="true"
+            android:textColor="@color/hnyy_edittext_bg_deep_gray"
+            />
+
+        <ImageButton
+            android:id="@+id/btn_kefu"
+            android:layout_width="26dp"
+            android:layout_height="match_parent"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:layout_marginRight="30dp"
+            android:src="@mipmap/hnyy_kefu"
+            android:background="@color/hnyy_transparent" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/ll1"
+        android:layout_below="@+id/rl1"
+        android:layout_width="300dp"
+        android:layout_height="wrap_content"
+
+        android:layout_centerInParent="true" >
+
+
+        <EditText
+            android:id="@+id/reg_account_edit"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:background="@drawable/hnyy_edittext_bg"
+            android:digits="0123456789abcdefghijgklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+            android:gravity="center_vertical"
+            android:hint="@string/hnyy_input_your_account"
+            android:maxLength="20"
+            android:maxLines="1"
+            android:paddingLeft="20dp"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:textSize="14dp"
+            android:textColor="@color/hnyy_text_black"/>
+
+        <ImageView
+            android:id="@+id/iv_clear_text"
+            android:layout_alignRight="@id/reg_account_edit"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:src="@mipmap/yyxx_comm_close"
+            android:padding="13dp"
+            android:layout_marginRight="3dp"
+            />
+
+        <EditText
+            android:layout_below="@id/reg_account_edit"
+            android:id="@+id/reg_pwd_edit"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:background="@drawable/hnyy_edittext_bg"
+            android:paddingLeft="20dp"
+            android:hint="@string/hnyy_input_your_pwd"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:digits="0123456789abcdefghijgklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+            android:maxLength="20"
+            android:maxLines="1"
+            android:textSize="14dp"
+            android:layout_marginTop="10dp"
+            android:gravity="center_vertical"
+            android:textColor="@color/hnyy_text_black"
+            />
+
+        <ImageView
+            android:id="@+id/iv_show_pwd"
+            android:layout_below="@id/reg_account_edit"
+            android:layout_marginTop="10dp"
+            android:layout_alignRight="@+id/reg_pwd_edit"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:src="@mipmap/hnyy_open_eye"
+            android:padding="10dp"
+            android:layout_marginRight="5dp"
+            />
+
+    </RelativeLayout>
+    <RelativeLayout
+        android:id="@+id/reg_tip_ll"
+        android:layout_width="300dp"
+        android:layout_height="35dp"
+        android:layout_alignRight="@id/ll1"
+        android:layout_below="@+id/btn_phone_register"
+        android:gravity="center_vertical"
+        >
+        <CheckBox
+            android:id="@+id/cb_register"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="20dp"
+            android:checked="true"
+            android:gravity="left|center"
+            style="@style/hnyy_checkbox_style"
+             />
+        <TextView
+            android:id="@+id/tv_agree_tip"
+            android:layout_toRightOf="@id/cb_register"
+            android:layout_marginLeft="10dp"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:textSize="11.2sp"
+            android:text="@string/hnyy_agreement_tip"
+            android:textColor="@color/hnyy_text_black"/>
+        <TextView
+            android:id="@+id/tv_tip"
+           android:layout_toRightOf="@id/tv_agree_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:textSize="11.2sp"
+            android:text="@string/hnyy_agree_register_tip"
+            android:textColor="@color/hnyy_font_red_color"/>
+        <TextView
+            android:id="@+id/tv_and_tip"
+            android:layout_toRightOf="@id/tv_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:textSize="11.2sp"
+            android:text="@string/hnyy_and"
+            android:textColor="@color/hnyy_text_black"/>
+        <TextView
+            android:id="@+id/tv_private_policy"
+            android:layout_toRightOf="@id/tv_and_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center|left"
+            android:textSize="11.2sp"
+            android:text="@string/hnyy_private_policy"
+            android:textColor="@color/hnyy_font_red_color"/>
+    </RelativeLayout>
+
+
+    <Button
+        android:id="@+id/reg_compete_btn"
+        android:layout_width="300dp"
+        android:layout_height="40dp"
+        android:layout_below="@id/ll1"
+        android:layout_gravity="center_horizontal"
+        android:background="@drawable/hnyy_login_button_style"
+        android:layout_centerHorizontal="true"
+        android:text="@string/hnyy_register"
+        android:textColor="@color/hnyy_white"
+        android:textSize="16sp"
+        android:layout_marginTop="10dp"/>
+
+    <Button
+        android:id="@+id/btn_phone_register"
+        android:layout_width="wrap_content"
+        android:layout_height="40dp"
+        android:layout_below="@id/reg_compete_btn"
+        android:layout_alignLeft="@id/reg_tip_ll"
+        android:background="@null"
+        android:drawableLeft="@mipmap/hnyy_phone"
+        android:text="@string/hnyy_phone_register"
+        android:textColor="@color/hnyy_text_cyan_color"
+        android:textSize="14sp" />
+
+    <Button
+        android:id="@+id/btn_account_login"
+        android:layout_width="wrap_content"
+        android:layout_height="40dp"
+        android:layout_below="@id/reg_compete_btn"
+        android:layout_alignRight="@id/reg_tip_ll"
+        android:background="@null"
+        android:drawableLeft="@mipmap/hnyy_account_login"
+        android:text="@string/hnyy_has_account"
+        android:textColor="@color/hnyy_text_cyan_color"
+        android:textSize="14sp" />
+
+
+
+
+
+
+</RelativeLayout>

+ 179 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_retrieve_pwd.xml

@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="280dp"
+    android:layout_gravity="center"
+    android:background="@drawable/hnyy_login_bg"
+    android:orientation="vertical">
+
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="52dp"
+        >
+
+        <ImageButton
+            android:id="@+id/close_btn"
+            android:layout_width="26dp"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="30dp"
+            android:layout_centerVertical="true"
+            android:src="@mipmap/hnyy_reback"
+            android:background="@color/hnyy_transparent"
+            />
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/hnyy_forget_pwd"
+            android:textSize="19sp"
+            android:layout_centerInParent="true"
+            android:textColor="@color/hnyy_edittext_bg_deep_gray"
+            />
+
+        <ImageButton
+            android:id="@+id/btn_kefu"
+            android:layout_width="26dp"
+            android:layout_height="match_parent"
+            android:layout_marginRight="30dp"
+            android:layout_centerVertical="true"
+            android:layout_alignParentRight="true"
+            android:src="@mipmap/hnyy_kefu"
+            android:background="@color/hnyy_transparent"
+            />
+
+    </RelativeLayout>
+    <RelativeLayout
+        android:layout_width="300dp"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal">
+        <EditText
+            android:id="@+id/et_user_phone"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:background="@drawable/hnyy_edittext_bg"
+            android:hint="@string/hnyy_input_phone_number"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:paddingLeft="10dp"
+            android:textSize="16sp"
+            android:maxLength="20"
+            android:digits="0123456789"
+            android:layout_centerHorizontal="true"
+            android:textColor="@color/hnyy_text_black"
+            />
+        <EditText
+            android:id="@+id/et_user_code"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:layout_marginTop="11dp"
+            android:background="@drawable/hnyy_edittext_bg"
+
+            android:hint="@string/hnyy_input_code"
+            android:textColorHint="@color/hnyy_text_hint_color"
+            android:paddingLeft="10dp"
+            android:textSize="16sp"
+            android:maxLength="10"
+            android:digits="0123456789"
+            android:layout_below="@id/et_user_phone"
+            android:layout_alignLeft="@id/et_user_phone"
+            android:textColor="@color/hnyy_text_black"
+
+            />
+
+        <View
+            android:layout_width="1dp"
+            android:layout_height="20dp"
+            android:layout_marginTop="21dp"
+            android:background="@color/hnyy_text_hint_color"
+            android:layout_toLeftOf="@id/btn_get_code"
+            android:layout_below="@id/et_user_phone"
+
+            />
+        <Button
+            android:id="@+id/btn_get_code"
+            android:layout_width="110dp"
+            android:layout_height="40dp"
+            android:layout_marginTop="10dp"
+            android:background="@null"
+            android:textColor="@color/hnyy_text_cyan_color"
+            android:textSize="16sp"
+
+            android:text="@string/hnyy_get_phone_code"
+            android:gravity="center"
+            android:layout_below="@id/et_user_phone"
+            android:layout_alignRight="@id/et_user_phone"
+            />
+
+        <EditText
+            android:id="@+id/et_user_pwd"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:background="@drawable/hnyy_edittext_bg"
+
+            android:textColorHint="@color/hnyy_text_hint_color"
+
+            android:hint="@string/hnyy_input_new_pwd"
+            android:paddingLeft="12dp"
+            android:textSize="16sp"
+            android:maxLength="20"
+            android:digits="0123456789abcdefghijgklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+            android:layout_centerHorizontal="true"
+            android:layout_marginTop="11dp"
+            android:layout_below="@id/et_user_code"
+            android:layout_alignLeft="@id/et_user_code"
+            android:inputType="textPassword"
+            android:textColor="@color/hnyy_text_black"
+            />
+
+        <Button
+            android:id="@+id/reg_compete_btn"
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:layout_centerHorizontal="true"
+            android:layout_gravity="center_horizontal"
+            android:background="@drawable/hnyy_login_button_style"
+            android:text="@string/hnyy_find_pwd_phone"
+            android:textSize="16sp"
+            android:textColor="@color/hnyy_white"
+            android:minHeight="1dp"
+            android:minWidth="1dp"
+            android:gravity="center"
+            android:layout_below="@id/et_user_pwd"
+            android:layout_marginTop="11dp"
+            />
+        <TextView
+            android:id="@+id/tv_tip_1"
+            android:layout_marginTop="8dp"
+            android:layout_below="@id/reg_compete_btn"
+            android:layout_width="wrap_content"
+            android:layout_height="20dp"
+            android:gravity="center"
+            android:layout_marginLeft="40dp"
+            android:text="@string/hnyy_forget_pwd_tip"
+            android:textColor="@color/hnyy_text_black"
+
+            />
+        <TextView
+            android:id="@+id/tv_tip_2"
+            android:layout_marginTop="8dp"
+            android:layout_below="@id/reg_compete_btn"
+            android:layout_width="wrap_content"
+            android:layout_height="20dp"
+            android:gravity="center"
+            android:text="@string/hnyy_contact_tip"
+            android:textColor="@color/hnyy_font_red_color"
+            android:layout_toRightOf="@id/tv_tip_1"
+            android:clickable="true"
+            />
+        <TextView
+            android:layout_marginTop="8dp"
+            android:layout_below="@id/reg_compete_btn"
+            android:layout_width="wrap_content"
+            android:layout_height="20dp"
+            android:gravity="center"
+            android:text="@string/hnyy_get_back_tip"
+            android:layout_toRightOf="@id/tv_tip_2"
+            android:textColor="@color/hnyy_text_black"
+
+            />
+    </RelativeLayout>
+</LinearLayout>

+ 15 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_show_splash_view.xml

@@ -0,0 +1,15 @@
+<?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="match_parent"
+    android:orientation="vertical"
+    android:background="@color/hnyy_white">
+    
+    <ImageView 
+        android:id="@+id/iv_show_bg"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:scaleType="fitCenter"
+        />
+
+</LinearLayout>

+ 85 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_switch_account_login.xml

@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="280dp"
+    android:background="@drawable/hnyy_login_bg"
+    android:layout_gravity="center"
+    >
+
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="60dp">
+
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:layout_centerInParent= "true"
+            android:background="@mipmap/hnyy_logo"
+            />
+
+    </RelativeLayout>
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="30dp"
+        android:text="@string/hnyy_select_account"
+        android:layout_below="@id/rl1"
+        android:layout_marginLeft="30dp"
+        android:textSize="17sp"
+        android:gravity="center"
+        android:textColor="@color/hnyy_text_black"
+        />
+    <TextView
+        android:id="@+id/ib_edit_account"
+        android:layout_width="wrap_content"
+        android:layout_height="30dp"
+        android:layout_below="@id/rl1"
+        android:layout_alignRight="@id/rl1"
+        android:layout_marginRight="30dp"
+        android:gravity="center"
+        android:textSize="17sp"
+        android:textColor="@color/hnyy_text_cyan_color"
+        android:drawableRight="@mipmap/hnyy_edit_account"
+        />
+    <cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.AccountLoginListView
+        android:id="@+id/all_item_1"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/ib_edit_account"
+        android:layout_centerHorizontal="true"
+        android:layout_marginTop="3dp"
+        android:visibility="gone"
+        />
+    <cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.AccountLoginListView
+        android:id="@+id/all_item_2"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/all_item_1"
+        android:layout_centerHorizontal="true"
+        android:layout_marginTop="10dp"
+        android:visibility="gone"
+        />
+    <cn.yyxx.commsdk.impl.channel.hnyy.fragment.widget.AccountLoginListView
+        android:id="@+id/all_item_3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/all_item_2"
+        android:layout_centerHorizontal="true"
+        android:layout_marginTop="10dp"
+        android:visibility="gone"
+        />
+    <TextView
+        android:id="@+id/tv_other_login_type"
+        android:layout_marginTop="10dp"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/hnyy_other_login_type"
+        android:textSize="16sp"
+        android:textColor="@color/hnyy_text_cyan_color"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="15dp"
+        android:layout_alignParentBottom="true"
+        />
+</RelativeLayout>

+ 35 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_toast_style.xml

@@ -0,0 +1,35 @@
+<?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="match_parent"
+    android:orientation="vertical"
+    android:gravity="center"
+    >
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="33dp"
+        android:background="@drawable/hnyy_radius_white_1dp"
+        android:orientation="horizontal">
+
+        <ImageView
+            android:id="@+id/toast_iv"
+            android:layout_width="22dp"
+            android:layout_height="22dp"
+            android:layout_gravity="center_vertical"
+            android:layout_marginLeft="10dp" />
+
+        <TextView
+            android:id="@+id/toast_text"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
+            android:gravity="center"
+            android:maxLines="1"
+            android:textColor="#666666"
+            android:textSize="15dp" />
+    </LinearLayout>
+
+</LinearLayout>

+ 35 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_user_list_item.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="40dp"
+    android:background="@drawable/hnyy_edittext_bg"
+    android:id="@+id/rl_item"
+    >
+
+    <TextView
+        android:id="@+id/history_account"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:layout_marginLeft="20dp"
+        android:textSize="18sp"
+        android:textColor="@color/hnyy_text_black"
+         />
+
+    <ImageView
+        android:id="@+id/item_close"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:layout_marginRight="10dp"
+        android:layout_centerVertical="true"
+        android:src="@mipmap/yyxx_comm_close"
+        android:padding="10dp"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:layout_alignParentBottom="true"
+        android:background="@color/hnyy_deepgrey"
+
+        />
+</RelativeLayout>

+ 52 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_usercenter_dialog.xml

@@ -0,0 +1,52 @@
+<?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="match_parent"
+    android:orientation="vertical"
+    >
+
+
+
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="520dp"
+        android:layout_height="match_parent"
+
+        >
+
+
+        <WebView
+            android:id="@+id/wb_user_info"
+            android:layout_width="387dp"
+            android:layout_height="match_parent"
+            android:layout_marginTop="22dp"
+            android:layout_marginBottom="22dp"
+            android:layout_centerVertical="true"
+            android:background="@drawable/hnyy_common_wv_bg"
+            />
+        <ImageView
+            android:id="@+id/hnyy_loading"
+            android:layout_width="21dp"
+            android:layout_height="21dp"
+            android:layout_marginLeft="184dp"
+            android:layout_centerVertical="true"
+            android:background="@mipmap/hnyy_loading"
+            />
+
+
+        <ImageView
+            android:id="@+id/close_btn"
+            android:layout_width="25dp"
+            android:layout_height="25dp"
+            android:layout_toRightOf="@id/wb_user_info"
+            android:background="@mipmap/yyxx_comm_close"
+            android:layout_marginTop="15dp"
+            android:layout_marginLeft="15dp"
+
+
+            />
+    </RelativeLayout>
+
+
+
+</LinearLayout>

+ 52 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_usercenter_portait_dialog.xml

@@ -0,0 +1,52 @@
+<?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="match_parent"
+    android:orientation="vertical"
+    >
+
+
+
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+
+        >
+
+
+        <WebView
+            android:id="@+id/wb_user_info"
+            android:layout_width="350dp"
+            android:layout_height="320dp"
+            android:layout_marginTop="25dp"
+            android:layout_marginBottom="25dp"
+            android:layout_centerInParent="true"
+            android:background="@drawable/hnyy_common_wv_bg"
+            />
+
+        <ImageView
+            android:id="@+id/hnyy_loading"
+            android:layout_width="21dp"
+            android:layout_height="21dp"
+            android:layout_centerInParent="true"
+            android:layout_centerVertical="true"
+            android:background="@mipmap/hnyy_loading"
+            />
+        <ImageView
+            android:id="@+id/close_btn"
+            android:layout_width="30dp"
+            android:layout_height="30dp"
+            android:layout_alignRight="@id/wb_user_info"
+            android:layout_alignTop="@id/wb_user_info"
+            android:layout_marginTop="12dp"
+            android:layout_marginRight="12dp"
+            android:src="@mipmap/yyxx_comm_close"
+            android:padding="5dp"
+
+            />
+    </RelativeLayout>
+
+
+
+</LinearLayout>

+ 45 - 0
library_channel_repository/hnyy/src/main/res/layout/hnyy_webview_common_dialog.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="360dp"
+    android:layout_height="280dp"
+    android:orientation="vertical"
+    android:id="@+id/ll_webview_common"
+    >
+    <RelativeLayout
+        android:id="@+id/rl1"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        >
+
+
+        <WebView
+            android:id="@+id/wb_user_info"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_gravity="center"
+            android:background="@drawable/hnyy_common_wv_bg"
+            />
+
+
+        <ImageView
+            android:id="@+id/hnyy_loading"
+            android:layout_width="21dp"
+            android:layout_height="21dp"
+            android:layout_centerInParent="true"
+            android:background="@mipmap/hnyy_loading" />
+        <ImageView
+            android:id="@+id/close_btn"
+            android:layout_width="28dp"
+            android:layout_height="28dp"
+
+            android:src="@mipmap/yyxx_comm_close"
+            android:layout_alignParentRight="true"
+            android:layout_marginRight="15dp"
+            android:layout_marginTop="15dp"
+            android:padding="6dp"
+            />
+    </RelativeLayout>
+
+
+
+</LinearLayout>

BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_account_login.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_account_user.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_arrow_normal.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_arrow_select.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_checkbox_select.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_checkbox_unselect.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_close.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_close_eye.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_edit_account.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_float_icon.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_guest_login.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_hide_float_eye_view.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_kefu.png


BIN
library_channel_repository/hnyy/src/main/res/mipmap-xhdpi/hnyy_loading.png


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels