Forráskód Böngészése

Merge remote-tracking branch 'origin/sheep_develop' into sheep_develop_jenkins

# Conflicts:
#	app/build.gradle
zengjiebin 7 éve
szülő
commit
cb3ad9b67c
36 módosított fájl, 385 hozzáadás és 176 törlés
  1. 15 13
      app/build.gradle
  2. 2 2
      app/src/main/AndroidManifest.xml
  3. 5 5
      app/src/main/java/com/sheep/gamegroup/find/activity/ActEditVideo.java
  4. 3 9
      app/src/main/java/com/sheep/gamegroup/find/activity/ActMediaChoose.java
  5. 1 1
      app/src/main/java/com/sheep/gamegroup/find/bean/ColorBalanceFilter.java
  6. 1 1
      app/src/main/java/com/sheep/gamegroup/find/bean/Filterble.java
  7. 1 1
      app/src/main/java/com/sheep/gamegroup/find/bean/IFilter.java
  8. 1 1
      app/src/main/java/com/sheep/gamegroup/find/bean/Size.java
  9. 4 4
      app/src/main/java/com/sheep/gamegroup/find/fragment/FgtChooseEditList.java
  10. 1 1
      app/src/main/java/com/sheep/gamegroup/find/fragment/FgtMediaPickerImg.java
  11. 1 1
      app/src/main/java/com/sheep/gamegroup/find/fragment/FgtMediaPickerVideo.java
  12. 18 0
      app/src/main/java/com/sheep/gamegroup/module/login/fragments/NewPasswordFgt.java
  13. 21 2
      app/src/main/java/com/sheep/gamegroup/module/login/fragments/OldPasswordFgt.java
  14. 17 0
      app/src/main/java/com/sheep/gamegroup/module/login/fragments/SignInFgt.java
  15. 18 0
      app/src/main/java/com/sheep/gamegroup/module/login/fragments/SignUpFgt.java
  16. 1 1
      app/src/main/java/com/sheep/gamegroup/util/BitmapUtil.java
  17. 2 2
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  18. 15 0
      app/src/main/java/com/sheep/gamegroup/util/StringUtils.java
  19. 9 7
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  20. 1 12
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  21. 1 1
      app/src/main/java/com/sheep/gamegroup/util/glide/FilterTransform.java
  22. 59 34
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java
  23. 6 0
      app/src/main/res/drawable/shape_f81b5f_rec_7.xml
  24. 1 1
      app/src/main/res/drawable/shape_main_search_bar_radius.xml
  25. 1 1
      app/src/main/res/layout/act_edit_video.xml
  26. 23 4
      app/src/main/res/layout/fragment_new_password.xml
  27. 33 15
      app/src/main/res/layout/fragment_old_password.xml
  28. 13 1
      app/src/main/res/layout/fragment_sign_in.xml
  29. 36 19
      app/src/main/res/layout/fragment_sign_up.xml
  30. 6 37
      app/src/main/res/layout/homepage_act_layout.xml
  31. 69 0
      app/src/main/res/layout/include_home_search.xml
  32. BIN
      app/src/main/res/mipmap-xhdpi/pwd_hide.png
  33. BIN
      app/src/main/res/mipmap-xhdpi/pwd_show.png
  34. BIN
      app/src/main/res/mipmap-xxhdpi/ic_msg.webp
  35. BIN
      app/src/main/res/mipmap-xxhdpi/pwd_hide.png
  36. BIN
      app/src/main/res/mipmap-xxhdpi/pwd_show.png

+ 15 - 13
app/build.gradle

@@ -81,19 +81,21 @@ android {
             buildConfigField "String", "API_DOMAIN", '"app.ss.kfzs.com"'
             signingConfig signingConfigs.config
         }
-        sheeptestjiguang {
-            applicationId "com.sheep.jiuyan.samllsheep.test"
-            manifestPlaceholders = [DUANDUAN_GRAPH    : "sheeptestjiguang",
-                                    DUANDUAN_DATASHARE: "sheeptestjiguang",
-                                    jpush_appkey      : "627ffad0b1cdf701d15e027a",
-                                    umeng_app_key     : "5ab0a1da8f4a9d742900035f"
-            ]
-            buildConfigField "String", "DUANDUAN_DATASHARE", '"sheeptestjiguang"'
-            buildConfigField "String", "DUANDUAN_GRAPH", '"sheeptestjiguang"'
-            resValue "string", "app_name", "小绵羊极光测试"
-            buildConfigField "boolean", "XXTEA_ENCRYPT", 'true'
-            buildConfigField "String", "API_DOMAIN", '"app.ss.kfzs.com"'
-            signingConfig signingConfigs.config
+        if(!DONT_ADD_JI_GUANG as boolean) {
+            sheeptestjiguang {
+                applicationId "com.sheep.jiuyan.samllsheep.test"
+                manifestPlaceholders = [DUANDUAN_GRAPH    : "sheeptestjiguang",
+                                        DUANDUAN_DATASHARE: "sheeptestjiguang",
+                                        jpush_appkey      : "627ffad0b1cdf701d15e027a",
+                                        umeng_app_key     : "5ab0a1da8f4a9d742900035f"
+                ]
+                buildConfigField "String", "DUANDUAN_DATASHARE", '"sheeptestjiguang"'
+                buildConfigField "String", "DUANDUAN_GRAPH", '"sheeptestjiguang"'
+                resValue "string", "app_name", "小绵羊极光测试"
+                buildConfigField "boolean", "XXTEA_ENCRYPT", 'true'
+                buildConfigField "String", "API_DOMAIN", '"app.ss.kfzs.com"'
+                signingConfig signingConfigs.config
+            }
         }
         sheep {
             applicationId "com.sheep.jiuyan.samllsheep"

+ 2 - 2
app/src/main/AndroidManifest.xml

@@ -467,7 +467,7 @@
             android:screenOrientation="portrait"
             android:theme="@style/AppTheme.noTitleBar" />
         <activity
-            android:name="com.sheep.gamegroup.find.activity.ActEditVideo"
+            android:name="com.sheep.gamegroup.module.find.activity.ActEditVideo"
             android:configChanges="orientation|keyboardHidden|navigation|screenSize"
             android:screenOrientation="user"
             android:theme="@style/AppTheme.noTitleBar" />
@@ -838,7 +838,7 @@
 
         <!-- 小绵羊3.4.5 选择图片与视频 -->
         <activity
-            android:name="com.sheep.gamegroup.find.activity.ActMediaChoose"
+            android:name="com.sheep.gamegroup.module.find.activity.ActMediaChoose"
             android:screenOrientation="portrait" />
         <activity android:name="com.sheep.gamegroup.module.login.LoginAct" />
         <activity android:name="com.sheep.gamegroup.module.login.ChangePasswordAct"></activity>

+ 5 - 5
app/src/main/java/com/sheep/gamegroup/find/activity/ActEditVideo.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.activity;
+package com.sheep.gamegroup.module.find.activity;
 
 import android.content.Context;
 import android.content.Intent;
@@ -19,10 +19,10 @@ import android.widget.SeekBar;
 import com.kfzs.duanduan.utils.StatusBarUtils;
 import com.sheep.gamegroup.absBase.AbsObserver;
 import com.sheep.gamegroup.absBase.BaseContainerActivity;
-import com.sheep.gamegroup.find.bean.Filterble;
-import com.sheep.gamegroup.find.bean.IFilter;
-import com.sheep.gamegroup.find.bean.Size;
-import com.sheep.gamegroup.find.fragment.FgtChooseEditList;
+import com.sheep.gamegroup.module.find.bean.Filterble;
+import com.sheep.gamegroup.module.find.bean.IFilter;
+import com.sheep.gamegroup.module.find.bean.Size;
+import com.sheep.gamegroup.module.find.fragment.FgtChooseEditList;
 import com.sheep.gamegroup.model.entity.Video;
 import com.sheep.gamegroup.util.BitmapUtil;
 import com.sheep.gamegroup.util.DataUtil;

+ 3 - 9
app/src/main/java/com/sheep/gamegroup/find/activity/ActMediaChoose.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.activity;
+package com.sheep.gamegroup.module.find.activity;
 
 
 import android.app.Activity;
@@ -10,12 +10,10 @@ import android.view.View;
 
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.absBase.IRefresh;
-import com.sheep.gamegroup.find.fragment.FgtMediaPickerImg;
-import com.sheep.gamegroup.find.fragment.FgtMediaPickerVideo;
+import com.sheep.gamegroup.module.find.fragment.FgtMediaPickerImg;
+import com.sheep.gamegroup.module.find.fragment.FgtMediaPickerVideo;
 import com.sheep.gamegroup.model.entity.Video;
 import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.DataUtil;
-import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.TitleFragmentListAdapter;
@@ -28,10 +26,6 @@ import butterknife.BindView;
 import cn.finalteam.rxgalleryfinal.api.CameraCallBack;
 import cn.finalteam.rxgalleryfinal.utils.MediaUtils;
 
-import static android.provider.MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE;
-import static android.provider.MediaStore.Files.FileColumns.MEDIA_TYPE_NONE;
-import static android.provider.MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO;
-
 /**
  * Created by realicing on 2018/11/26.
  * realicing@sina.com

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/find/bean/ColorBalanceFilter.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.bean;
+package com.sheep.gamegroup.module.find.bean;
 
 import java.util.ArrayList;
 import java.util.List;

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/find/bean/Filterble.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.bean;
+package com.sheep.gamegroup.module.find.bean;
 
 /**
  * Created by realicing on 2018/12/4.

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/find/bean/IFilter.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.bean;
+package com.sheep.gamegroup.module.find.bean;
 
 /**
  * Created by realicing on 2018/12/3.

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/find/bean/Size.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.bean;
+package com.sheep.gamegroup.module.find.bean;
 
 /**
  * Created by realicing on 2018/12/4.

+ 4 - 4
app/src/main/java/com/sheep/gamegroup/find/fragment/FgtChooseEditList.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.fragment;
+package com.sheep.gamegroup.module.find.fragment;
 
 import android.support.v7.widget.GridLayoutManager;
 import android.support.v7.widget.RecyclerView;
@@ -8,9 +8,9 @@ import android.widget.SeekBar;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
-import com.sheep.gamegroup.find.bean.ColorBalanceFilter;
-import com.sheep.gamegroup.find.bean.Filterble;
-import com.sheep.gamegroup.find.bean.IFilter;
+import com.sheep.gamegroup.module.find.bean.ColorBalanceFilter;
+import com.sheep.gamegroup.module.find.bean.Filterble;
+import com.sheep.gamegroup.module.find.bean.IFilter;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/find/fragment/FgtMediaPickerImg.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.fragment;
+package com.sheep.gamegroup.module.find.fragment;
 
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.StaggeredGridLayoutManager;

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/find/fragment/FgtMediaPickerVideo.java

@@ -1,4 +1,4 @@
-package com.sheep.gamegroup.find.fragment;
+package com.sheep.gamegroup.module.find.fragment;
 
 
 import android.support.v7.widget.RecyclerView;

+ 18 - 0
app/src/main/java/com/sheep/gamegroup/module/login/fragments/NewPasswordFgt.java

@@ -4,10 +4,13 @@ package com.sheep.gamegroup.module.login.fragments;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 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.EditText;
+import android.widget.ImageView;
 
 import com.sheep.gamegroup.module.login.controller.ChangePasswordController;
 import com.sheep.gamegroup.util.StringUtils;
@@ -27,6 +30,8 @@ public class NewPasswordFgt extends BaseFragment {
 
     @BindView(R.id.new_pwd_box)
     EditText newpwdBox;
+    @BindView(R.id.show_hide_pwd_btn)
+    ImageView showHidePwdBtn;
 
     public static NewPasswordFgt newInstance(ChangePasswordController controller){
         NewPasswordFgt fgt = new NewPasswordFgt();
@@ -48,6 +53,19 @@ public class NewPasswordFgt extends BaseFragment {
 
     }
 
+    @OnClick(R.id.show_hide_pwd_btn)
+    public void doShowHidePwd(View v) {
+        showHidePwdBtn.setSelected(!showHidePwdBtn.isSelected());
+        showHidePwdBtn.setImageResource(showHidePwdBtn.isSelected() ? R.mipmap.pwd_show : R.mipmap.pwd_hide);
+        if (showHidePwdBtn.isSelected()) {
+            //如果选中,显示密码
+            newpwdBox.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+        } else {
+            //否则隐藏密码
+            newpwdBox.setTransformationMethod(PasswordTransformationMethod.getInstance());
+        }
+    }
+
     @OnClick(R.id.done_btn)
     public void doDone(View v){
         String password = newpwdBox.getText().toString().trim();

+ 21 - 2
app/src/main/java/com/sheep/gamegroup/module/login/fragments/OldPasswordFgt.java

@@ -3,11 +3,15 @@ package com.sheep.gamegroup.module.login.fragments;
 
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
+import android.text.InputType;
 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.EditText;
+import android.widget.ImageView;
 
 import com.sheep.gamegroup.module.login.controller.ChangePasswordController;
 import com.sheep.gamegroup.util.StringUtils;
@@ -27,8 +31,10 @@ public class OldPasswordFgt extends BaseFragment {
 
     @BindView(R.id.old_pwd_box)
     EditText oldpwdBox;
+    @BindView(R.id.show_hide_pwd_btn)
+    ImageView showHidePwdBtn;
 
-    public static OldPasswordFgt newInstance(ChangePasswordController controller){
+    public static OldPasswordFgt newInstance(ChangePasswordController controller) {
         OldPasswordFgt fgt = new OldPasswordFgt();
         fgt.mController = controller;
         return fgt;
@@ -48,8 +54,21 @@ public class OldPasswordFgt extends BaseFragment {
 
     }
 
+    @OnClick(R.id.show_hide_pwd_btn)
+    public void doShowHidePwd(View v) {
+        showHidePwdBtn.setSelected(!showHidePwdBtn.isSelected());
+        showHidePwdBtn.setImageResource(showHidePwdBtn.isSelected() ? R.mipmap.pwd_show : R.mipmap.pwd_hide);
+        if (showHidePwdBtn.isSelected()) {
+            //如果选中,显示密码
+            oldpwdBox.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+        } else {
+            //否则隐藏密码
+            oldpwdBox.setTransformationMethod(PasswordTransformationMethod.getInstance());
+        }
+    }
+
     @OnClick(R.id.next_btn)
-    public void doNext(View v){
+    public void doNext(View v) {
         String password = oldpwdBox.getText().toString().trim();
         if (TextUtils.isEmpty(password)) {
             G.showToast("旧密码不能为空");

+ 17 - 0
app/src/main/java/com/sheep/gamegroup/module/login/fragments/SignInFgt.java

@@ -8,6 +8,8 @@ import android.support.v4.app.Fragment;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 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;
@@ -86,6 +88,8 @@ public class SignInFgt extends BaseFragment {
     TextView testChange;
     @BindView(R.id.test_change_user)
     TextView testChangeUser;
+    @BindView(R.id.show_hide_pwd_btn)
+    ImageView showHidePwdBtn;
 
     public SignInFgt() {
         // Required empty public constructor
@@ -432,6 +436,19 @@ public class SignInFgt extends BaseFragment {
         super.onDestroy();
     }
 
+    @OnClick(R.id.show_hide_pwd_btn)
+    public void doShowHidePwd(View v) {
+        showHidePwdBtn.setSelected(!showHidePwdBtn.isSelected());
+        showHidePwdBtn.setImageResource(showHidePwdBtn.isSelected() ? R.mipmap.pwd_show : R.mipmap.pwd_hide);
+        if (showHidePwdBtn.isSelected()) {
+            //如果选中,显示密码
+            passwordBox.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+        } else {
+            //否则隐藏密码
+            passwordBox.setTransformationMethod(PasswordTransformationMethod.getInstance());
+        }
+    }
+
     private abstract class ThirdpartAuthListener implements UMAuthListener {
 
         private String platformName;

+ 18 - 0
app/src/main/java/com/sheep/gamegroup/module/login/fragments/SignUpFgt.java

@@ -3,8 +3,11 @@ package com.sheep.gamegroup.module.login.fragments;
 
 import android.support.v4.app.Fragment;
 import android.text.TextUtils;
+import android.text.method.HideReturnsTransformationMethod;
+import android.text.method.PasswordTransformationMethod;
 import android.view.View;
 import android.widget.EditText;
+import android.widget.ImageView;
 
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -37,6 +40,8 @@ public class SignUpFgt extends BaseFragment {
     EditText userNameBox;
     @BindView(R.id.password_box)
     EditText passwordBox;
+    @BindView(R.id.show_hide_pwd_btn)
+    ImageView showHidePwdBtn;
 
     public SignUpFgt() {
         // Required empty public constructor
@@ -58,6 +63,19 @@ public class SignUpFgt extends BaseFragment {
 
     }
 
+    @OnClick(R.id.show_hide_pwd_btn)
+    public void doShowHidePwd(View v) {
+        showHidePwdBtn.setSelected(!showHidePwdBtn.isSelected());
+        showHidePwdBtn.setImageResource(showHidePwdBtn.isSelected() ? R.mipmap.pwd_show : R.mipmap.pwd_hide);
+        if (showHidePwdBtn.isSelected()) {
+            //如果选中,显示密码
+            passwordBox.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+        } else {
+            //否则隐藏密码
+            passwordBox.setTransformationMethod(PasswordTransformationMethod.getInstance());
+        }
+    }
+
     @OnClick(R.id.register_btn)
     public void doRegister(View v) {
         if (!validate()) return;

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/util/BitmapUtil.java

@@ -5,7 +5,7 @@ import android.graphics.Canvas;
 import android.graphics.Matrix;
 import android.graphics.Paint;
 
-import com.sheep.gamegroup.find.bean.Size;
+import com.sheep.gamegroup.module.find.bean.Size;
 
 /**
  * Created by realicing on 2018/12/4.

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

@@ -16,7 +16,7 @@ import com.danikula.videocache.HttpProxyCacheServer;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.absBase.IHomePageSearch;
 import com.sheep.gamegroup.absBase.IJumpWeb;
-import com.sheep.gamegroup.find.activity.ActMediaChoose;
+import com.sheep.gamegroup.module.find.activity.ActMediaChoose;
 import com.sheep.gamegroup.greendao.download.DownLoadInfo;
 import com.sheep.gamegroup.model.entity.Advertising;
 import com.sheep.gamegroup.model.entity.Agreement;
@@ -57,7 +57,7 @@ import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
 import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
 import com.sheep.gamegroup.view.activity.ActCutVideo;
 import com.sheep.gamegroup.view.activity.ActDownloadWelfareList;
-import com.sheep.gamegroup.find.activity.ActEditVideo;
+import com.sheep.gamegroup.module.find.activity.ActEditVideo;
 import com.sheep.gamegroup.view.activity.ActEntertainmentLuckDraw;
 import com.sheep.gamegroup.view.activity.ActEveryDayShare;
 import com.sheep.gamegroup.view.activity.ActExchangeCMCC;

+ 15 - 0
app/src/main/java/com/sheep/gamegroup/util/StringUtils.java

@@ -364,4 +364,19 @@ public class StringUtils {
         }
         return allSatisfyStr;
     }
+
+    //获取粘贴板第一条数据
+    public static CharSequence getCopyText() {
+        // 获取系统剪贴板
+        ClipboardManager clipboard = (ClipboardManager) SheepApp.getInstance().getSystemService(Context.CLIPBOARD_SERVICE);
+        if(clipboard != null) {
+            // 获取剪贴板的剪贴数据集
+            ClipData clipData = clipboard.getPrimaryClip();
+            if (clipData != null && clipData.getItemCount() > 0) {
+                // 从数据集中获取(粘贴)第一条文本数据
+                return clipData.getItemAt(0).getText();
+            }
+        }
+        return null;
+    }
 }

+ 9 - 7
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -12,8 +12,6 @@ import android.graphics.BitmapFactory;
 import android.graphics.Canvas;
 import android.graphics.Matrix;
 import android.graphics.Paint;
-import android.graphics.Rect;
-import android.graphics.RectF;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
@@ -32,8 +30,8 @@ import com.bumptech.glide.Glide;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.kfzs.duanduan.view.DialogStorageLow;
 import com.sheep.gamegroup.absBase.AbsObserver;
-import com.sheep.gamegroup.find.bean.ColorBalanceFilter;
-import com.sheep.gamegroup.find.bean.IFilter;
+import com.sheep.gamegroup.module.find.bean.ColorBalanceFilter;
+import com.sheep.gamegroup.module.find.bean.IFilter;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.CreditCard;
 import com.sheep.gamegroup.model.entity.DialogConfig;
@@ -71,7 +69,6 @@ import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 import com.zhy.http.okhttp.callback.StringCallback;
 
-import org.wysaid.myUtils.ImageUtil;
 import org.wysaid.nativePort.CGENativeLibrary;
 
 import java.io.File;
@@ -261,7 +258,7 @@ public class TestUtil {
      * @param activity
      */
     public static void test(final Activity activity) {
-        final String[] items = {"复制token", "复制打点数据", "从jenkins下载小绵羊安装包", "测试表情包",
+        final String[] items = {"复制token", "添加token", "复制打点数据", "从jenkins下载小绵羊安装包", "测试表情包",
                 "游戏搜索", "测试bitmap", "根据原始图片生成滤镜图片", "编辑视频", "我的关注", "足迹",
                 "测试联通卡", "测试联通卡2", "测试签名1", "测试签名2", "测试孔剑秋faq正式服",
                 "跳转QQ1", "跳转QQ2", "跳转QQ3", "跳转白白QQ", "龙猫竞猜", "龙猫竞猜-scheme",
@@ -360,7 +357,7 @@ public class TestUtil {
                                 Jump2View.getInstance().goYm(activity);
                                 break;
                             case "手机型号测试":
-                                G.showToast(android.os.Build.BRAND);
+                                G.showToast(Build.BRAND);
                                 break;
                             case "开启通知栏权限":
                                 NotificationsUtils.goToNotificationSetting(activity);
@@ -521,6 +518,11 @@ public class TestUtil {
                             case "显示已经安装应用列表":
                                 showHasInstallApkList(activity);
                                 break;
+                            case "添加token":
+                                CharSequence text = StringUtils.getCopyText();
+                                if(text != null)
+                                    addUser(text.toString());
+                                break;
                             case "复制token":
                                 StringUtils.CopyText(SpUtils.getToken(activity));
                                 break;

+ 1 - 12
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -10,7 +10,6 @@ import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
@@ -20,7 +19,6 @@ import android.net.Uri;
 import android.os.Build;
 import android.provider.MediaStore;
 import android.support.annotation.LayoutRes;
-import android.support.annotation.Nullable;
 import android.support.annotation.StringRes;
 import android.support.v4.app.FragmentActivity;
 import android.support.v7.app.AlertDialog;
@@ -54,9 +52,6 @@ import android.widget.VideoView;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.RequestBuilder;
 import com.bumptech.glide.request.RequestOptions;
-import com.bumptech.glide.request.target.ImageViewTarget;
-import com.bumptech.glide.request.target.SimpleTarget;
-import com.bumptech.glide.request.transition.Transition;
 import com.jcodecraeer.xrecyclerview.CustomFooterViewCallBack;
 import com.jcodecraeer.xrecyclerview.XRecyclerView;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
@@ -67,8 +62,7 @@ import com.sheep.gamegroup.absBase.IContentTypeContainer;
 import com.sheep.gamegroup.absBase.ITag;
 import com.sheep.gamegroup.dateview.DatePickerDialog;
 import com.sheep.gamegroup.dateview.DateUtil;
-import com.sheep.gamegroup.find.bean.ColorBalanceFilter;
-import com.sheep.gamegroup.find.bean.IFilter;
+import com.sheep.gamegroup.module.find.bean.IFilter;
 import com.sheep.gamegroup.model.entity.Advertising;
 import com.sheep.gamegroup.model.entity.Container;
 import com.sheep.gamegroup.model.entity.DialogConfig;
@@ -81,7 +75,6 @@ import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.util.glide.FilterTransform;
 import com.sheep.gamegroup.util.glide.RoundedCornersTransformation;
 import com.sheep.gamegroup.util.share.ShareLinkConfig;
-import com.sheep.gamegroup.util.viewHelper.CacheImageUtil;
 import com.sheep.gamegroup.util.viewHelper.LayoutParamsUtil;
 import com.sheep.gamegroup.view.activity.ActMain;
 import com.sheep.gamegroup.view.activity.PersonalInfoAct;
@@ -110,7 +103,6 @@ import com.umeng.socialize.media.UMImage;
 import com.umeng.socialize.media.UMWeb;
 
 import org.afinal.simplecache.ACache;
-import org.wysaid.nativePort.CGENativeLibrary;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -122,11 +114,8 @@ import java.util.Map;
 import java.util.Random;
 import java.util.concurrent.TimeUnit;
 
-import io.reactivex.Observable;
-import io.reactivex.ObservableSource;
 import io.reactivex.Observer;
 import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.functions.Function;
 import io.reactivex.schedulers.Schedulers;
 import rx.functions.Action1;
 

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/util/glide/FilterTransform.java

@@ -5,7 +5,7 @@ import android.support.annotation.NonNull;
 
 import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
 import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
-import com.sheep.gamegroup.find.bean.IFilter;
+import com.sheep.gamegroup.module.find.bean.IFilter;
 
 import org.wysaid.nativePort.CGENativeLibrary;
 

+ 59 - 34
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -7,10 +7,9 @@ import android.content.ClipData;
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.content.Intent;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.GradientDrawable;
 import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
@@ -58,6 +57,7 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.BulletinEnty;
 import com.sheep.gamegroup.model.entity.CashAwarsEntity;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
+import com.sheep.gamegroup.model.entity.MessageUnReadEntity;
 import com.sheep.gamegroup.model.entity.MoreDataEntity;
 import com.sheep.gamegroup.model.entity.RecyleObj;
 import com.sheep.gamegroup.model.entity.RecyleType;
@@ -87,6 +87,7 @@ import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.util.ViewHolder;
 import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.activity.ActMsg;
 import com.sheep.gamegroup.view.activity.NotificationsUtils;
 import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
 import com.sheep.gamegroup.view.adapter.AdpHomeListGrideview;
@@ -361,10 +362,14 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
         });
     }
 
-    @OnClick(R.id.to_search_but_rl)
+    @OnClick(R.id.to_search_but)
     public void toSearchActivity() {
         Jump2View.getInstance().goAppTaskSearch(activity, null);
     }
+    @OnClick(R.id.home_search_msg_iv)
+    public void toActMsg() {
+        startActivity(new Intent(activity, ActMsg.class));
+    }
 
     /**
      * 兑换红包
@@ -700,6 +705,8 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                 });
             }
         });
+        //上面的搜索
+        ViewUtil.setVisibility(home_search_msg_tv, false);
     }
 
     private int curPosition = 0;
@@ -747,24 +754,24 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                     titleCardLayout.setVisibility(View.GONE);
                 }
                 //设置搜索框颜色变化
-                float ratio = Math.min(bannerHeight, y) * 1.0f / bannerHeight;
-                to_search_but_rl.setBackgroundColor(Color.argb((int) (ratio * 255), 255, 255, 255));
-                float colorRatio = 1 - ratio * 0.26f;
-                Drawable bg = to_search_but.getBackground();
-                if(bg instanceof GradientDrawable){
-                    GradientDrawable drawable = (GradientDrawable) bg;
-                    drawable.setColor(Color.argb(216, (int) (colorRatio * 255), (int) (colorRatio * 255), (int) (colorRatio * 255)));
-                }
-                int[] minPerS = {102, 153};
-                for (int i = 0; i < to_search_but.getChildCount(); i++) {
-                    int minPer = minPerS[i % minPerS.length];
-                    int per = (int) ((255 - minPer) * ratio + minPer);
-                    int textColor = Color.argb(255, per, per, per);
-                    View childView = to_search_but.getChildAt(i);
-                    if(childView instanceof TextView){
-                        ((TextView) childView).setTextColor(textColor);
-                    }
-                }
+//                float ratio = Math.min(bannerHeight, y) * 1.0f / bannerHeight;
+//                to_search_but_rl.setBackgroundColor(Color.argb((int) (ratio * 255), 255, 255, 255));
+//                float colorRatio = 1 - ratio * 0.26f;
+//                Drawable bg = to_search_but.getBackground();
+//                if(bg instanceof GradientDrawable){
+//                    GradientDrawable drawable = (GradientDrawable) bg;
+//                    drawable.setColor(Color.argb(216, (int) (colorRatio * 255), (int) (colorRatio * 255), (int) (colorRatio * 255)));
+//                }
+//                int[] minPerS = {102, 153};
+//                for (int i = 0; i < to_search_but.getChildCount(); i++) {
+//                    int minPer = minPerS[i % minPerS.length];
+//                    int per = (int) ((255 - minPer) * ratio + minPer);
+//                    int textColor = Color.argb(255, per, per, per);
+//                    View childView = to_search_but.getChildAt(i);
+//                    if(childView instanceof TextView){
+//                        ((TextView) childView).setTextColor(textColor);
+//                    }
+//                }
 //                LogUtil.println("FgtSmallSheep", "onScrollChange", x, y, oldX, oldY, locate[0], locate[1]);
             }
         });
@@ -829,19 +836,6 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
      * 初始化数据
      */
     public void initData() {
-        SysAppUtil.checkNet(new AbsObserver<Integer>() {
-            @Override
-            public void onNext(Integer result) {
-                if (result != 0) {//无网络
-                    if (check_net_ll != null)
-                        check_net_ll.setVisibility(View.VISIBLE);
-                } else {
-                    if (check_net_ll != null)
-                        check_net_ll.setVisibility(View.GONE);
-                }
-            }
-        });
-
         //用户信息
         userEntity = DataUtil.getInstance().getUserEntity();
         if (userEntity != null) {
@@ -935,6 +929,7 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                 notifyDataSetChanged();
             }
         });
+        getUnReadMessageCounts();
         if (upview1 != null) {
             //停止滚动
             upview1.stopFlipping();
@@ -1724,4 +1719,34 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
 //        }
         adpHomeListGrideview.notifyDataSetChanged();
     }
+    @BindView(R.id.home_search_msg_tv)
+    TextView home_search_msg_tv;
+    /**
+     * 获取是否有未读消息并更新图标
+     */
+    private void getUnReadMessageCounts() {
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .getMessageUnReadNum(DataUtil.getInstance().getUserId())
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        MessageUnReadEntity entity = baseMessage.getData(MessageUnReadEntity.class);
+                        if (entity != null && entity.getNum() > 0) {
+                            ViewUtil.setVisibility(home_search_msg_tv, true);
+                            ViewUtil.setText(home_search_msg_tv, entity.getNum());
+                        } else {
+                            ViewUtil.setVisibility(home_search_msg_tv, false);
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                    }
+                });
+
+    }
 }

+ 6 - 0
app/src/main/res/drawable/shape_f81b5f_rec_7.xml

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

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

@@ -2,5 +2,5 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">
     <corners android:radius="15dp" />
-    <solid android:color="#d8ffffff" />
+    <solid android:color="@color/gray_F0F0F0" />
 </shape>

+ 1 - 1
app/src/main/res/layout/act_edit_video.xml

@@ -3,7 +3,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     xmlns:tools="http://schemas.android.com/tools"
-    tools:context="com.sheep.gamegroup.find.activity.ActEditVideo">
+    tools:context="com.sheep.gamegroup.module.find.activity.ActEditVideo">
 
     <FrameLayout
         android:id="@+id/glviewFrameLayout"

+ 23 - 4
app/src/main/res/layout/fragment_new_password.xml

@@ -17,10 +17,29 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content" />
 
-    <EditText
-        android:id="@+id/new_pwd_box"
-        android:hint="请输入新的登录密码"
-        style="@style/login_edit_style" />
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+
+        <EditText
+            android:id="@+id/new_pwd_box"
+            android:layout_weight="1"
+            android:inputType="textPassword"
+            style="@style/login_edit_style"
+            android:hint="请输入新的登录密码" />
+
+        <ImageView
+            android:id="@+id/show_hide_pwd_btn"
+            android:src="@mipmap/pwd_hide"
+            android:layout_marginTop="26dp"
+            android:tint="@color/bg_line"
+            android:padding="7dp"
+            android:layout_marginRight="5dp"
+            android:layout_width="30dp"
+            android:layout_height="30dp" />
+
+    </LinearLayout>
 
     <View
         style="@style/login_separetor_line_style" />

+ 33 - 15
app/src/main/res/layout/fragment_old_password.xml

@@ -2,38 +2,56 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
     android:gravity="center_horizontal"
+    android:orientation="vertical"
     android:padding="@dimen/content_padding_24"
     tools:context="com.sheep.gamegroup.module.login.fragments.OldPasswordFgt">
 
     <TextView
-        android:textStyle="bold"
-        android:text="请输入旧登录密码"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="50dp"
         android:gravity="center"
+        android:text="请输入旧登录密码"
         android:textColor="@color/gray_4"
         android:textSize="14sp"
-        android:layout_marginTop="50dp"
+        android:textStyle="bold" />
+
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content" />
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+
+        <EditText
+            android:id="@+id/old_pwd_box"
+            android:layout_weight="1"
+            android:inputType="textPassword"
+            style="@style/login_edit_style"
+            android:hint="请输入当前登录密码" />
+
+        <ImageView
+            android:id="@+id/show_hide_pwd_btn"
+            android:src="@mipmap/pwd_hide"
+            android:layout_marginTop="26dp"
+            android:tint="@color/bg_line"
+            android:padding="7dp"
+            android:layout_marginRight="5dp"
+            android:layout_width="30dp"
+            android:layout_height="30dp" />
 
-    <EditText
-        android:id="@+id/old_pwd_box"
-        android:hint="请输入当前登录密码"
-        style="@style/login_edit_style" />
+    </LinearLayout>
 
-    <View
-        style="@style/login_separetor_line_style" />
+    <View style="@style/login_separetor_line_style" />
 
     <TextView
         android:id="@+id/forget_pwd_btn"
-        android:layout_marginTop="8dp"
-        android:gravity="right"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:layout_marginTop="8dp"
+        android:gravity="right"
         android:text="忘记密码?"
-        android:textSize="12sp"
-        android:textColor="@color/blue_34a6e7" />
+        android:textColor="@color/blue_34a6e7"
+        android:textSize="12sp" />
 
     <Button
         android:id="@+id/next_btn"

+ 13 - 1
app/src/main/res/layout/fragment_sign_in.xml

@@ -38,7 +38,19 @@
             android:layout_below="@+id/user_name_box"
             android:hint="输入密码(6-16位)"
             android:inputType="textPassword"
-            android:maxLength="16" />
+            android:maxLength="16"
+            android:paddingLeft="@dimen/content_padding_5"/>
+
+        <ImageView
+            android:id="@+id/show_hide_pwd_btn"
+            android:src="@mipmap/pwd_hide"
+            android:layout_marginTop="26dp"
+            android:layout_below="@+id/user_name_box"
+            android:tint="@color/bg_line"
+            android:padding="7dp"
+            android:layout_alignParentRight="true"
+            android:layout_width="30dp"
+            android:layout_height="30dp" />
 
         <View
             style="@style/login_separetor_line_style"

+ 36 - 19
app/src/main/res/layout/fragment_sign_up.xml

@@ -6,32 +6,49 @@
     android:padding="@dimen/content_padding_24">
 
     <LinearLayout
-        android:layout_marginTop="60dp"
-        android:orientation="vertical"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:layout_marginTop="60dp"
+        android:orientation="vertical">
+
         <EditText
             android:id="@+id/user_name_box"
-            android:hint="输入用户名(如邮箱地址、常用英文等唯一标识)"
-            style="@style/login_edit_style" />
-        <View
-            style="@style/login_separetor_line_style" />
-        <EditText
-            android:id="@+id/password_box"
-            android:inputType="textPassword"
-            android:maxLength="16"
-            android:lines="1"
-            android:hint="输入密码(6-16位)"
-            android:layout_below="@+id/user_name_box"
-            style="@style/login_edit_style"  />
-        <View
-            style="@style/login_separetor_line_style" />
+            style="@style/login_edit_style"
+            android:hint="输入用户名(如邮箱地址、常用英文等唯一标识)" />
+
+        <View style="@style/login_separetor_line_style" />
+
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <EditText
+                android:id="@+id/password_box"
+                android:layout_weight="1"
+                style="@style/login_edit_style"
+                android:layout_below="@+id/user_name_box"
+                android:hint="输入密码(6-16位)"
+                android:inputType="textPassword"
+                android:lines="1"
+                android:maxLength="16" />
+            <ImageView
+                android:id="@+id/show_hide_pwd_btn"
+                android:src="@mipmap/pwd_hide"
+                android:layout_marginTop="26dp"
+                android:tint="@color/bg_line"
+                android:padding="7dp"
+                android:layout_width="30dp"
+                android:layout_height="30dp" />
+        </LinearLayout>
+
+        <View style="@style/login_separetor_line_style" />
     </LinearLayout>
 
     <Button
         android:id="@+id/register_btn"
-        android:text="注册"
+        style="@style/login_theme_round_button"
         android:layout_marginTop="50dp"
-        style="@style/login_theme_round_button" />
+        android:text="注册" />
 
 </LinearLayout>

+ 6 - 37
app/src/main/res/layout/homepage_act_layout.xml

@@ -6,10 +6,15 @@
     android:background="@color/white"
     android:clipChildren="true">
 
+    <include
+        android:id="@+id/to_search_but_rl"
+        layout="@layout/include_home_search" />
+
     <com.scwang.smartrefresh.layout.SmartRefreshLayout
         android:id="@+id/refresh"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:layout_below="@id/to_search_but_rl">
 
         <android.support.v4.widget.NestedScrollView
             android:id="@+id/scrollView"
@@ -177,40 +182,4 @@
         layout="@layout/view_float_title_card"
         android:visibility="visible" />
 
-    <RelativeLayout
-        android:id="@+id/to_search_but_rl"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingBottom="10dp">
-
-        <LinearLayout
-            android:id="@+id/to_search_but"
-            android:layout_width="match_parent"
-            android:layout_height="30dp"
-            android:layout_alignParentTop="true"
-            android:layout_marginStart="16dp"
-            android:layout_marginTop="25dp"
-            android:layout_marginEnd="16dp"
-            android:background="@drawable/shape_main_search_bar_radius"
-            android:gravity="center"
-            android:orientation="horizontal"
-            android:paddingStart="16dp"
-            android:paddingEnd="13dp">
-
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:text="@string/search_hint_txt"
-                android:textColor="#999999"
-                android:textSize="13sp" />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/search_but_text"
-                android:textColor="#666666"
-                android:textSize="14sp" />
-        </LinearLayout>
-    </RelativeLayout>
 </RelativeLayout>

+ 69 - 0
app/src/main/res/layout/include_home_search.xml

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:id="@+id/home_search_msg_iv"
+        android:layout_width="44dp"
+        android:layout_height="44dp"
+        android:layout_alignParentEnd="true"
+        android:layout_marginStart="4dp"
+        android:layout_marginTop="20dp"
+        android:layout_marginEnd="4dp"
+        android:padding="12dp"
+        android:src="@mipmap/ic_msg" />
+
+    <TextView
+        android:id="@+id/home_search_msg_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="14dp"
+        android:layout_marginTop="30dp"
+        android:layout_marginEnd="8dp"
+        android:paddingStart="4dp"
+        android:paddingEnd="4dp"
+        android:layout_alignParentEnd="true"
+        android:minWidth="14dp"
+        android:gravity="center"
+        android:textSize="9sp"
+        android:text="0"
+        android:textColor="@color/white"
+        android:background="@drawable/shape_f81b5f_rec_7"/>
+    <LinearLayout
+        android:id="@+id/to_search_but"
+        android:layout_width="match_parent"
+        android:layout_height="30dp"
+        android:layout_marginStart="27dp"
+        android:layout_marginTop="27dp"
+        android:layout_marginEnd="22dp"
+        android:layout_marginBottom="7dp"
+        android:layout_toStartOf="@id/home_search_msg_iv"
+        android:background="@drawable/shape_main_search_bar_radius"
+        android:gravity="center"
+        android:orientation="horizontal"
+        android:paddingStart="16dp"
+        android:paddingEnd="13dp">
+
+        <ImageView
+            android:layout_width="19dp"
+            android:layout_height="19dp"
+            android:src="@mipmap/search_black_img" />
+
+        <TextView
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="6dp"
+            android:layout_weight="1"
+            android:text="@string/search_hint_txt"
+            android:textColor="#8f8f8f"
+            android:textSize="12sp" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/search_but_text"
+            android:textColor="@color/black_6_3"
+            android:textSize="14sp" />
+    </LinearLayout>
+
+</RelativeLayout>

BIN
app/src/main/res/mipmap-xhdpi/pwd_hide.png


BIN
app/src/main/res/mipmap-xhdpi/pwd_show.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_msg.webp


BIN
app/src/main/res/mipmap-xxhdpi/pwd_hide.png


BIN
app/src/main/res/mipmap-xxhdpi/pwd_show.png