Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

xl121 vor 1 Jahr
Ursprung
Commit
2c708bbd7f
77 geänderte Dateien mit 2824 neuen und 20 gelöschten Zeilen
  1. 6 0
      TMessagesProj/build.gradle
  2. 5 2
      TMessagesProj/src/main/java/org/telegram/cricdit/base/BaseTabActivity.java
  3. 3 2
      TMessagesProj/src/main/java/org/telegram/cricdit/net/LogInterceptor.java
  4. 62 4
      TMessagesProj/src/main/java/org/telegram/cricdit/utils/TimeUtils.java
  5. 53 0
      TMessagesProj/src/main/java/org/telegram/onecric/adapter/CricketDayAdapter.java
  6. 30 0
      TMessagesProj/src/main/java/org/telegram/onecric/adapter/CricketFiltrateAdapter.java
  7. 162 0
      TMessagesProj/src/main/java/org/telegram/onecric/adapter/CricketInnerNewAdapter.java
  8. 60 0
      TMessagesProj/src/main/java/org/telegram/onecric/adapter/CricketNewAdapter.java
  9. 55 0
      TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketAllBean.java
  10. 31 0
      TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketFiltrateBean.java
  11. 306 0
      TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketNewBean.java
  12. 79 0
      TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketNewPresenter.java
  13. 16 0
      TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketNewView.java
  14. 17 4
      TMessagesProj/src/main/java/org/telegram/onecric/net/ApiStores.java
  15. 23 2
      TMessagesProj/src/main/java/org/telegram/onecric/ui/activity/CricketDetailActivity.java
  16. 640 0
      TMessagesProj/src/main/java/org/telegram/onecric/ui/activity/NewMatchActivity.java
  17. 2 1
      TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
  18. 6 4
      TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
  19. BIN
      TMessagesProj/src/main/res/drawable-hdpi/video_play1.png
  20. BIN
      TMessagesProj/src/main/res/drawable-mdpi/video_play1.png
  21. BIN
      TMessagesProj/src/main/res/drawable-night-xxhdpi/img_empty_match.png
  22. BIN
      TMessagesProj/src/main/res/drawable-xhdpi/video_play1.png
  23. BIN
      TMessagesProj/src/main/res/drawable-xxhdpi/video_play1.png
  24. 5 0
      TMessagesProj/src/main/res/drawable/bg_212e58_6.xml
  25. 7 0
      TMessagesProj/src/main/res/drawable/bg_gradient_d4d3d8_to_white.xml
  26. 7 0
      TMessagesProj/src/main/res/drawable/bg_gradient_dcdbe0_line.xml
  27. 5 0
      TMessagesProj/src/main/res/drawable/bg_search2.xml
  28. 5 0
      TMessagesProj/src/main/res/drawable/bg_search2_15.xml
  29. 5 0
      TMessagesProj/src/main/res/drawable/bg_search_15.xml
  30. 5 0
      TMessagesProj/src/main/res/drawable/selector_agree.xml
  31. 5 0
      TMessagesProj/src/main/res/drawable/selector_bg_filtrate.xml
  32. 5 0
      TMessagesProj/src/main/res/drawable/selector_filtrate_color.xml
  33. 5 0
      TMessagesProj/src/main/res/drawable/selector_filtrate_head_arr.xml
  34. 5 0
      TMessagesProj/src/main/res/drawable/selector_filtrate_head_right.xml
  35. 5 0
      TMessagesProj/src/main/res/drawable/selector_foreground_filtrate.xml
  36. 5 0
      TMessagesProj/src/main/res/drawable/selector_foreground_search.xml
  37. 5 0
      TMessagesProj/src/main/res/drawable/selector_foreground_white.xml
  38. 7 0
      TMessagesProj/src/main/res/drawable/shape_30red_15dp_solid_red_bor.xml
  39. 7 0
      TMessagesProj/src/main/res/drawable/shape_80white_15dp_solid_grey_bor.xml
  40. 5 0
      TMessagesProj/src/main/res/drawable/shape_btn_red_solid_oval.xml
  41. 8 0
      TMessagesProj/src/main/res/drawable/shape_dc3c23_6dp_stroke_rec.xml
  42. 6 0
      TMessagesProj/src/main/res/drawable/shape_f1f1f1_15dp_rec.xml
  43. 6 0
      TMessagesProj/src/main/res/drawable/shape_f1f1f1_3dp_rec.xml
  44. 5 0
      TMessagesProj/src/main/res/drawable/shape_light_red_1.xml
  45. 7 0
      TMessagesProj/src/main/res/drawable/shape_white_15dp_solid_grey_bor.xml
  46. 6 0
      TMessagesProj/src/main/res/drawable/shape_white_3dp_rec.xml
  47. 7 0
      TMessagesProj/src/main/res/drawable/shape_white_left_4dp_solid_grey_bor.xml
  48. 228 0
      TMessagesProj/src/main/res/layout/activity_match_new.xml
  49. 92 0
      TMessagesProj/src/main/res/layout/dialog_streaming.xml
  50. 61 0
      TMessagesProj/src/main/res/layout/item_cricket_day.xml
  51. 15 0
      TMessagesProj/src/main/res/layout/item_cricket_filtrate.xml
  52. 49 0
      TMessagesProj/src/main/res/layout/item_cricket_filtrate_header.xml
  53. 7 0
      TMessagesProj/src/main/res/layout/item_cricket_filtrate_skeleton.xml
  54. 211 0
      TMessagesProj/src/main/res/layout/item_cricket_inner_new.xml
  55. 41 0
      TMessagesProj/src/main/res/layout/item_cricket_new.xml
  56. 340 0
      TMessagesProj/src/main/res/layout/item_cricket_skeleton.xml
  57. 39 0
      TMessagesProj/src/main/res/layout/layout_match_empty.xml
  58. 32 0
      TMessagesProj/src/main/res/layout/layout_match_rv_empty.xml
  59. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/bg_cricket_tours.png
  60. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/ic_arrow_circle.png
  61. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/ic_arrow_circle_red.png
  62. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/ic_arrow_expert_down.png
  63. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/ic_arrow_expert_down_red.png
  64. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/ic_blue_circle.png
  65. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/ic_check_date.png
  66. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/ic_go_today_down.png
  67. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/ic_go_today_up.png
  68. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/icon_agree_false.png
  69. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/icon_agree_true.png
  70. BIN
      TMessagesProj/src/main/res/mipmap-xhdpi/img_empty_match_rv.png
  71. BIN
      TMessagesProj/src/main/res/mipmap-xxhdpi/icon_arrow_left_two.png
  72. BIN
      TMessagesProj/src/main/res/mipmap-xxhdpi/icon_notice.png
  73. BIN
      TMessagesProj/src/main/res/mipmap-xxhdpi/img_empty_match.png
  74. BIN
      TMessagesProj/src/main/res/mipmap-xxhdpi/img_transparent1624.png
  75. 9 0
      TMessagesProj/src/main/res/values/colors.xml
  76. 5 0
      TMessagesProj/src/main/res/values/strings.xml
  77. 1 1
      TMessagesProj/src/main/res/values/styles.xml

+ 6 - 0
TMessagesProj/build.gradle

@@ -119,6 +119,12 @@ dependencies {
 
 //    implementation 'com.github.gzu-liyujiang.AndroidPicker:Common:3.0.0'
 //    implementation 'com.github.gzu-liyujiang.AndroidPicker:CalendarPicker:3.0.0'
+
+    //日历选择器
+    implementation 'com.github.gzu-liyujiang.AndroidPicker:CalendarPicker:4.1.11'
+    //骨架图
+    implementation 'com.ethanhua:skeleton:1.1.2'
+    implementation 'io.supercharge:shimmerlayout:2.1.0'
 }
 
 android {

+ 5 - 2
TMessagesProj/src/main/java/org/telegram/cricdit/base/BaseTabActivity.java

@@ -25,6 +25,7 @@ import org.telegram.messenger.NotificationCenter;
 import org.telegram.messenger.R;
 import org.telegram.messenger.UserConfig;
 import org.telegram.onecric.ui.activity.MatchActivity;
+import org.telegram.onecric.ui.activity.NewMatchActivity;
 import org.telegram.ui.ActionBar.ActionBar;
 import org.telegram.ui.ActionBar.BaseFragment;
 import org.telegram.ui.ActionBar.Theme;
@@ -157,9 +158,11 @@ public abstract class BaseTabActivity<P extends IPresenter> extends BaseFragment
                 if (getParentLayout() == null || getParentLayout().getLastFragment() == null) {
                     return;
                 }
-                if (!(getParentLayout().getLastFragment() instanceof MatchActivity)) {
+                if (!(getParentLayout().getLastFragment() instanceof NewMatchActivity)) {
 //                    presentFragment(new MatchActivity(Constants.WEB_URL_MATCH_H5), true, 0);
-                    presentFragment(new MatchActivity(), true, 0);
+                    presentFragment(new NewMatchActivity(), true, 0);
+                    //新赛程
+
                 }
             }
         });

+ 3 - 2
TMessagesProj/src/main/java/org/telegram/cricdit/net/LogInterceptor.java

@@ -25,8 +25,9 @@ public class LogInterceptor implements Interceptor {
     @Override
     public Response intercept(@NonNull Chain chain) throws IOException {
         Request request = chain.request();
-        if(request.body()!=null)
-        Log.e(tag, "request:" + request.body().toString());
+        if(request.body()!=null){
+            Log.e(tag, "request:" + request.body().toString());
+        }
         long t1 = System.nanoTime();
         Response response = chain.proceed(chain.request());
         long t2 = System.nanoTime();

+ 62 - 4
TMessagesProj/src/main/java/org/telegram/cricdit/utils/TimeUtils.java

@@ -243,9 +243,7 @@ public class TimeUtils {
         Log.i("lognowtime",str+" : ---- "+formatter.format(date));
     }
 
-    /**
-     * 将时间戳转化为对应的时间  日-时-分-秒
-     */
+    //将时间戳转化为对应的时间  日-时-分-秒
     public static String timeConversion(long time) {
         long day = 0;
         long hour = 0;
@@ -296,6 +294,66 @@ public class TimeUtils {
             }
         }
 //        return ((hour != 0 ? ((hour + "h ")): "")) + (minutes < 10 ? ("0" + minutes) : minutes) + "m " + (sencond < 10 ? ("0" + sencond) : sencond) + "s";
-        return (hour != 0 ? ((hour + "h ")) : "") + (minutes != 0 ? (minutes + "m ") : "") + (sencond + "s");
+//        return (hour != 0 ? ((hour + "h ")) : "") + (minutes != 0 ? (minutes + "m ") : "") + (sencond + "s");
+        return hour !=0 ? ((hour + "hr ")+(minutes != 0 ? (minutes + "m ") : "")) : ((minutes != 0 ? (minutes + "m ") : "")+(sencond + "s"));
+    }
+
+    public static String[] weekDays = {"Sunday","Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
+    public static String[] months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul","Aug","Sept","Oct","Nov","Dec"};
+
+    /**
+     *
+     * @param day yyyy-MM-dd
+     * @return
+     */
+    public static String[] getDayInfo(String day){
+        String[] strings = new String[4];
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//要转换的时间格式
+        Date date;
+        Calendar cal = Calendar.getInstance();
+        try {
+            date = sdf.parse(day);
+            sdf.format(date);
+            cal.setTime(date);
+            strings[0] = (cal.get(Calendar.DATE) < 9 ? "0" : "" )+(cal.get(Calendar.DATE));
+            strings[1] = months[cal.get(Calendar.MONTH) < 0 ? 0 : cal.get(Calendar.MONTH)%11];
+            int count = (int) (( date.getTime() - sdf.parse(sdf.format(new Date())).getTime() )) / (1000*3600*24);
+            strings[3] = count+"";
+            if(count > -2 && count < 2){
+                strings[2] = (count == 0 ? "Today" : (count == -1?"Yesterday":"Tomorrow"));
+            }else{
+                strings[2] = weekDays[cal.get(Calendar.DAY_OF_WEEK) - 1 < 0 ? 0 : cal.get(Calendar.DAY_OF_WEEK) - 1];
+            }
+        }catch (Exception e){
+            strings[0] = "";
+            strings[1] = "";
+            strings[2] = "";
+            strings[3] = "0";
+            e.printStackTrace();
+        }
+        return strings;
+    }
+
+    /**
+     * 将字符串转为时间戳
+     */
+    public static long getStringToDate(String dateString, String pattern) {
+        SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
+        Date date = new Date();
+        try{
+            date = dateFormat.parse(dateString);
+        } catch(ParseException e) {
+            e.printStackTrace();
+        }
+        return date.getTime();
+    }
+
+    //将时间戳转换为时间
+    public static String stampToTime(Long time,String p) throws Exception{
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(p, Locale.ENGLISH);
+        Date date = new Date(time);
+        res = simpleDateFormat.format(date);
+        return res;
     }
 }

+ 53 - 0
TMessagesProj/src/main/java/org/telegram/onecric/adapter/CricketDayAdapter.java

@@ -0,0 +1,53 @@
+package org.telegram.onecric.adapter;
+
+
+import static org.telegram.cricdit.utils.TimeUtils.getDayInfo;
+
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+
+import org.telegram.onecric.mvp.CricketAllBean;
+import org.telegram.messenger.R;
+import org.telegram.onecric.ui.activity.CricketInnerActivity;
+import org.telegram.onecric.ui.activity.NewMatchActivity;
+
+import java.util.List;
+
+public class CricketDayAdapter extends BaseQuickAdapter<CricketAllBean.CricketDayBean, BaseViewHolder> {
+    NewMatchActivity fragment;
+
+    public CricketDayAdapter(NewMatchActivity fragment, int layoutResId, List<CricketAllBean.CricketDayBean> list) {
+        super(layoutResId,list);
+        this.fragment = fragment;
+    }
+
+
+    @Override
+    protected void convert(@NonNull BaseViewHolder helper, CricketAllBean.CricketDayBean item) {
+        String dates[] = getDayInfo(item.getDay());
+        helper.setText(R.id.tv_date,dates[0]);
+        helper.setText(R.id.tv_month,dates[1]);
+        helper.setText(R.id.tv_day,dates[2]);
+
+        CricketNewAdapter mAdapter = new CricketNewAdapter(fragment.getContext(),R.layout.item_cricket_new, item.getList());
+        mAdapter.setOnItemChildClickListener((adapter, view, position) -> {
+            if (view.getId() == R.id.ll_title && !TextUtils.isEmpty(mAdapter.getItem(position).getTournamentId())) {
+                CricketInnerActivity.forward(mContext, mAdapter.getItem(position).getName(), mAdapter.getItem(position).getType(), Integer.parseInt(mAdapter.getItem(position).getTournamentId()));
+            }
+        });
+        View inflate = LayoutInflater.from(mContext).inflate(R.layout.layout_match_rv_empty, null, false);
+        mAdapter.setEmptyView(inflate);
+        RecyclerView rv_cricket = helper.getView(R.id.rv_cricket);
+
+        rv_cricket.setLayoutManager(new LinearLayoutManager(mContext));
+        rv_cricket.setAdapter(mAdapter);
+    }
+}

+ 30 - 0
TMessagesProj/src/main/java/org/telegram/onecric/adapter/CricketFiltrateAdapter.java

@@ -0,0 +1,30 @@
+package org.telegram.onecric.adapter;
+
+import android.text.TextUtils;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+
+import org.telegram.messenger.R;
+import org.telegram.onecric.mvp.CricketFiltrateBean;
+
+import java.util.List;
+
+public class CricketFiltrateAdapter extends BaseQuickAdapter<CricketFiltrateBean, BaseViewHolder> {
+    public CricketFiltrateAdapter(int layoutResId, @Nullable List<CricketFiltrateBean> data) {
+        super(layoutResId, data);
+    }
+
+    @Override
+    protected void convert(@NonNull BaseViewHolder helper, CricketFiltrateBean item) {
+        helper.getView(R.id.tv_name).setSelected(item.isCheck());
+        if (!TextUtils.isEmpty(item.getName())) {
+            helper.setText(R.id.tv_name, item.getName());
+        }
+        helper.addOnClickListener(R.id.tv_name);
+    }
+
+}

+ 162 - 0
TMessagesProj/src/main/java/org/telegram/onecric/adapter/CricketInnerNewAdapter.java

@@ -0,0 +1,162 @@
+package org.telegram.onecric.adapter;
+
+import static org.telegram.cricdit.utils.TimeUtils.getStringToDate;
+import static org.telegram.cricdit.utils.TimeUtils.stampToTime;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.CountDownTimer;
+import android.text.Html;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.content.res.ResourcesCompat;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+
+import org.telegram.cricdit.utils.TimeUtils;
+import org.telegram.messenger.R;
+import org.telegram.onecric.mvp.CricketNewBean;
+import org.telegram.onecric.utils.GlideUtil;
+
+import java.util.Date;
+import java.util.List;
+
+public class CricketInnerNewAdapter extends BaseQuickAdapter<CricketNewBean.CricketMatchNewBean, BaseViewHolder> {
+    private Drawable drawableArrRed, drawableArrTransparent;
+    public CricketInnerNewAdapter(Context context, int layoutResId, @Nullable List<CricketNewBean.CricketMatchNewBean> data) {
+        super(layoutResId, data);
+        drawableArrRed = context.getResources().getDrawable(R.mipmap.icon_arrow_left_two);
+        drawableArrRed.setBounds(0,0,drawableArrRed.getMinimumWidth(),drawableArrRed.getMinimumHeight());
+        drawableArrTransparent = context.getResources().getDrawable(R.mipmap.img_transparent1624);
+        drawableArrTransparent.setBounds(0,0,drawableArrTransparent.getMinimumWidth(),drawableArrTransparent.getMinimumHeight());
+    }
+
+    @Override
+    protected void convert(@NonNull BaseViewHolder helper, CricketNewBean.CricketMatchNewBean item) {
+        helper.getView(R.id.tv_state_time).setVisibility(View.GONE);
+        helper.getView(R.id.tv_state_watch_live).setVisibility(View.GONE);
+        helper.getView(R.id.tv_state_score).setVisibility(View.GONE);
+        TextView tv_home_score = helper.getView(R.id.tv_home_score);
+        TextView tv_away_score = helper.getView(R.id.tv_away_score);
+        tv_home_score.setTextColor(mContext.getResources().getColor(R.color.c_111111));
+        tv_away_score.setTextColor(mContext.getResources().getColor(R.color.c_111111));
+        helper.setTextColor(R.id.tv_home_name, mContext.getResources().getColor(R.color.c_111111));
+        helper.setTextColor(R.id.tv_away_score, mContext.getResources().getColor(R.color.c_111111));
+        TextView resultTv = helper.getView(R.id.tv_result);
+        resultTv.setTypeface(ResourcesCompat.getFont(mContext, R.font.noto_sans_display_semibold));
+        tv_home_score.setCompoundDrawables(null,null,drawableArrTransparent,null);
+        tv_away_score.setCompoundDrawables(null,null,drawableArrTransparent,null);
+
+        if (item.getStatus() == 2) {//已结束
+            helper.setText(R.id.tv_state_info,"Completed");
+            if (item.getHomeId() == item.getWinId()) {//主赢 右边
+                tv_home_score.setCompoundDrawables(null,null,drawableArrRed,null);
+                tv_away_score.setTextColor(mContext.getResources().getColor(R.color.c_999999));
+                helper.setTextColor(R.id.tv_away_score2, mContext.getResources().getColor(R.color.c_999999));
+            } else if(item.getAwayId() == item.getWinId()){//客赢
+                tv_away_score.setCompoundDrawables(null,null,drawableArrRed,null);
+                tv_home_score.setTextColor(mContext.getResources().getColor(R.color.c_999999));
+                helper.setTextColor(R.id.tv_home_score2, mContext.getResources().getColor(R.color.c_999999));
+            }
+        } else if (item.getStatus() == 0) {//未开始
+            //转时间戳 得到倒计时毫秒数
+            long time = getStringToDate(item.getScheduled(), "yyyy-MM-dd HH:mm:ss");
+            long countTime = time - new Date().getTime();
+            if (item.getFastStatus() == 1 && countTime > 0) {
+                //开始倒计时
+                new CountDownTimer(countTime, 1000) {
+                    public void onTick(long millisUntilFinished) {
+                        helper.setText(R.id.tv_state_info,"Watch Live In");
+                        helper.setText(R.id.tv_state_time, Html.fromHtml("<strong>" + TimeUtils.timeConversion(millisUntilFinished / 1000) + "</strong>"));
+                    }
+
+                    public void onFinish() {
+                        item.setStatus(1);
+                        notifyItemChanged(helper.getLayoutPosition());
+                    }
+                }.start();
+            }else{
+                helper.setText(R.id.tv_state_info,"Watch Live At");
+                try{
+                    String st = stampToTime(time,"hh:mm a");
+                    helper.setText(R.id.tv_state_time, Html.fromHtml("<strong>"+st.substring(0,5)+"</strong> <small>"+st.substring(5)+"</small>"));
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+
+            helper.getView(R.id.tv_state_time).setVisibility(View.VISIBLE);
+        } else {//已开始
+            resultTv.setTypeface(ResourcesCompat.getFont(mContext, R.font.noto_sans_display_regular));
+            helper.getView(R.id.tv_state_info).setVisibility(View.GONE);
+
+            if(item.getMatchLive() == 1 || "1".equals(item.getLiveStatus())){
+                helper.getView(R.id.tv_state_watch_live).setVisibility(View.VISIBLE);
+                helper.addOnClickListener(R.id.tv_state_watch_live);
+            }else{
+                helper.getView(R.id.tv_state_score).setVisibility(View.VISIBLE);
+            }
+        }
+
+        if (TextUtils.isEmpty(item.getMatchResult()) || "The match is live".equals(item.getMatchResult())) {
+            helper.getView(R.id.tv_result).setVisibility(View.GONE);
+        } else {
+            helper.getView(R.id.tv_result).setVisibility(View.VISIBLE);
+            helper.setText(R.id.tv_result, item.getMatchResult());
+        }
+
+        ImageView iv_home_logo = helper.getView(R.id.iv_home_logo);
+        GlideUtil.loadTeamImageDefault(mContext, item.getHomeLogo(), iv_home_logo);
+        if (!TextUtils.isEmpty(item.getHomeName())) {
+            helper.setText(R.id.tv_home_name, item.getHomeName());
+        } else {
+            helper.setText(R.id.tv_home_name, "");
+        }
+
+        ImageView iv_away_logo = helper.getView(R.id.iv_away_logo);
+        GlideUtil.loadTeamImageDefault(mContext, item.getAwayLogo(), iv_away_logo);
+        if (!TextUtils.isEmpty(item.getAwayName())) {
+            helper.setText(R.id.tv_away_name, item.getAwayName());
+        } else {
+            helper.setText(R.id.tv_away_name, "");
+        }
+
+        if (!TextUtils.isEmpty(item.getHomeDisplayScore())) {
+            if(item.getHomeDisplayScore().contains("0/0")){
+                helper.setText(R.id.tv_home_score, "");
+                helper.setText(R.id.tv_home_score2, "Yet To Bat");
+            }else if (item.getHomeDisplayScore().contains(" ")) {
+                String[] split = item.getHomeDisplayScore().split(" ");
+                helper.setText(R.id.tv_home_score, " "+split[0]);
+                helper.setText(R.id.tv_home_score2, split[1]);
+            } else {
+                helper.setText(R.id.tv_home_score, item.getHomeDisplayScore());
+            }
+        } else {
+            helper.setText(R.id.tv_home_score, "");
+            helper.setText(R.id.tv_home_score2, " ");
+        }
+
+        if (!TextUtils.isEmpty(item.getAwayDisplayScore())) {
+            if(item.getAwayDisplayScore().contains("0/0")){
+                helper.setText(R.id.tv_away_score, "");
+                helper.setText(R.id.tv_away_score2, "Yet To Bat");
+            }else if (item.getAwayDisplayScore().contains(" ")) {
+                String[] split = item.getAwayDisplayScore().split(" ");
+                helper.setText(R.id.tv_away_score, " "+split[0]);
+                helper.setText(R.id.tv_away_score2, split[1]);
+            } else {
+                helper.setText(R.id.tv_away_score, item.getAwayDisplayScore());
+            }
+        } else {
+            helper.setText(R.id.tv_away_score, "");
+            helper.setText(R.id.tv_away_score2, "");
+        }
+    }
+}

+ 60 - 0
TMessagesProj/src/main/java/org/telegram/onecric/adapter/CricketNewAdapter.java

@@ -0,0 +1,60 @@
+package org.telegram.onecric.adapter;
+
+import android.content.Context;
+import android.text.TextUtils;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+
+import org.telegram.onecric.mvp.CricketNewBean;
+import org.telegram.messenger.R;
+import org.telegram.onecric.ui.activity.CricketDetailActivity;
+
+import java.util.List;
+
+
+public class CricketNewAdapter extends BaseQuickAdapter<CricketNewBean, BaseViewHolder> {
+    Context context;
+    public CricketNewAdapter(Context context, int layoutResId, @Nullable List<CricketNewBean> data) {
+        super(layoutResId, data);
+        this.context = context;
+    }
+
+    @Override
+    protected void convert(@NonNull BaseViewHolder helper, CricketNewBean item) {
+        helper.addOnClickListener(R.id.ll_title);
+        if (!TextUtils.isEmpty(item.getName())) {
+            helper.setText(R.id.tv_title, item.getName());
+        } else {
+            helper.setText(R.id.tv_title, "");
+        }
+        RecyclerView rv_inner = helper.getView(R.id.rv_inner);
+        rv_inner.setLayoutManager(new LinearLayoutManager(mContext));
+        List<CricketNewBean.CricketMatchNewBean> tempList = item.getCricketMatch();
+
+        CricketInnerNewAdapter innerAdapter = new CricketInnerNewAdapter(context,R.layout.item_cricket_inner_new, tempList);
+        innerAdapter.setOnItemChildClickListener((adapter, view, position) -> {
+            if(view.getId() == R.id.tv_state_watch_live){
+                //跳转赛程直播页
+                CricketDetailActivity.forward(mContext, innerAdapter.getItem(position).getId(),1);
+            }
+        });
+
+        innerAdapter.setOnItemClickListener((adapter, view, position) -> {
+            if(innerAdapter.getItem(position).getStatus() == 1){
+                //跳赛程比分tab
+                CricketDetailActivity.forward(mContext, innerAdapter.getItem(position).getId(),2);
+            }else{
+                CricketDetailActivity.forward(mContext, innerAdapter.getItem(position).getId());
+            }
+        });
+        rv_inner.setAdapter(innerAdapter);
+
+    }
+
+}

+ 55 - 0
TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketAllBean.java

@@ -0,0 +1,55 @@
+package org.telegram.onecric.mvp;
+
+import java.util.List;
+
+public class CricketAllBean {
+    private String endDay;
+    private List<CricketDayBean> item;
+    private String frontDay;
+
+    public String getEndDay() {
+        return endDay;
+    }
+
+    public void setEndDay(String endDay) {
+        this.endDay = endDay;
+    }
+
+    public List<CricketDayBean> getItem() {
+        return item;
+    }
+
+    public void setItem(List<CricketDayBean> item) {
+        this.item = item;
+    }
+
+    public String getFrontDay() {
+        return frontDay;
+    }
+
+    public void setFrontDay(String frontDay) {
+        this.frontDay = frontDay;
+    }
+
+    public static class CricketDayBean {
+        private List<CricketNewBean> list;
+        private String day;
+
+        public List<CricketNewBean> getList() {
+            return list;
+        }
+
+        public void setList(List<CricketNewBean> list) {
+            this.list = list;
+        }
+
+        public String getDay() {
+            return day;
+        }
+
+        public void setDay(String day) {
+            this.day = day;
+        }
+
+    }
+}

+ 31 - 0
TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketFiltrateBean.java

@@ -0,0 +1,31 @@
+package org.telegram.onecric.mvp;
+
+public class CricketFiltrateBean {
+    private boolean isCheck;
+    private String name;
+    private String id;
+
+    public void setCheck(boolean check) {
+        isCheck = check;
+    }
+
+    public boolean isCheck() {
+        return isCheck;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}

+ 306 - 0
TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketNewBean.java

@@ -0,0 +1,306 @@
+package org.telegram.onecric.mvp;
+
+import java.util.List;
+
+public class CricketNewBean {
+    private String name;
+    private String type;
+    private List<CricketMatchNewBean> cricketMatch;
+    private String tournamentId;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public List<CricketMatchNewBean> getCricketMatch() {
+        return cricketMatch;
+    }
+
+    public void setCricketMatch(List<CricketMatchNewBean> cricketMatch) {
+        this.cricketMatch = cricketMatch;
+    }
+
+    public String getTournamentId() {
+        return tournamentId;
+    }
+
+    public void setTournamentId(String tournamentId) {
+        this.tournamentId = tournamentId;
+    }
+
+    public static class CricketMatchNewBean {
+        private String awayName;
+        private int fastStatus;
+        private String homeDisplayScore;
+        private String scheduled;
+        private String tournamentId;
+        private int awayId;
+        private String matchNum;
+        private String awayDisplayScore;
+        private String homeName;
+        private String matchResult;
+        private int homeId;
+        private int id;
+        private String liveStatus;
+        private int islive;
+        private String awayLogo;
+        private String liveTime;
+        private String tname;
+        private String todaystart;
+        private String matchStatus;
+        private int liveId;
+        private String homeLogo;
+        private String ttype;
+        private String liveUid;
+        private long liveTimeUnix;
+        private int isSubscribe;
+        private int status;
+        private int channel;
+        private int matchLive;
+        private int winId;
+
+        public String getAwayName() {
+            return awayName;
+        }
+
+        public void setAwayName(String awayName) {
+            this.awayName = awayName;
+        }
+
+        public int getFastStatus() {
+            return fastStatus;
+        }
+
+        public void setFastStatus(int fastStatus) {
+            this.fastStatus = fastStatus;
+        }
+
+        public String getHomeDisplayScore() {
+            return homeDisplayScore;
+        }
+
+        public void setHomeDisplayScore(String homeDisplayScore) {
+            this.homeDisplayScore = homeDisplayScore;
+        }
+
+        public String getScheduled() {
+            return scheduled;
+        }
+
+        public void setScheduled(String scheduled) {
+            this.scheduled = scheduled;
+        }
+
+        public String getTournamentId() {
+            return tournamentId;
+        }
+
+        public void setTournamentId(String tournamentId) {
+            this.tournamentId = tournamentId;
+        }
+
+        public int getAwayId() {
+            return awayId;
+        }
+
+        public void setAwayId(int awayId) {
+            this.awayId = awayId;
+        }
+
+        public String getMatchNum() {
+            return matchNum;
+        }
+
+        public void setMatchNum(String matchNum) {
+            this.matchNum = matchNum;
+        }
+
+        public String getAwayDisplayScore() {
+            return awayDisplayScore;
+        }
+
+        public void setAwayDisplayScore(String awayDisplayScore) {
+            this.awayDisplayScore = awayDisplayScore;
+        }
+
+        public String getHomeName() {
+            return homeName;
+        }
+
+        public void setHomeName(String homeName) {
+            this.homeName = homeName;
+        }
+
+        public String getMatchResult() {
+            return matchResult;
+        }
+
+        public void setMatchResult(String matchResult) {
+            this.matchResult = matchResult;
+        }
+
+        public int getHomeId() {
+            return homeId;
+        }
+
+        public void setHomeId(int homeId) {
+            this.homeId = homeId;
+        }
+
+        public int getId() {
+            return id;
+        }
+
+        public void setId(int id) {
+            this.id = id;
+        }
+
+        public String getLiveStatus() {
+            return liveStatus;
+        }
+
+        public void setLiveStatus(String liveStatus) {
+            this.liveStatus = liveStatus;
+        }
+
+        public int getIslive() {
+            return islive;
+        }
+
+        public void setIslive(int islive) {
+            this.islive = islive;
+        }
+
+        public String getAwayLogo() {
+            return awayLogo;
+        }
+
+        public void setAwayLogo(String awayLogo) {
+            this.awayLogo = awayLogo;
+        }
+
+        public String getLiveTime() {
+            return liveTime;
+        }
+
+        public void setLiveTime(String liveTime) {
+            this.liveTime = liveTime;
+        }
+
+        public String getTname() {
+            return tname;
+        }
+
+        public void setTname(String tname) {
+            this.tname = tname;
+        }
+
+        public String getTodaystart() {
+            return todaystart;
+        }
+
+        public void setTodaystart(String todaystart) {
+            this.todaystart = todaystart;
+        }
+
+        public String getMatchStatus() {
+            return matchStatus;
+        }
+
+        public void setMatchStatus(String matchStatus) {
+            this.matchStatus = matchStatus;
+        }
+
+        public int getLiveId() {
+            return liveId;
+        }
+
+        public void setLiveId(int liveId) {
+            this.liveId = liveId;
+        }
+
+        public String getHomeLogo() {
+            return homeLogo;
+        }
+
+        public void setHomeLogo(String homeLogo) {
+            this.homeLogo = homeLogo;
+        }
+
+        public String getTtype() {
+            return ttype;
+        }
+
+        public void setTtype(String ttype) {
+            this.ttype = ttype;
+        }
+
+        public String getLiveUid() {
+            return liveUid;
+        }
+
+        public void setLiveUid(String liveUid) {
+            this.liveUid = liveUid;
+        }
+
+        public long getLiveTimeUnix() {
+            return liveTimeUnix;
+        }
+
+        public void setLiveTimeUnix(long liveTimeUnix) {
+            this.liveTimeUnix = liveTimeUnix;
+        }
+
+        public int getIsSubscribe() {
+            return isSubscribe;
+        }
+
+        public void setIsSubscribe(int isSubscribe) {
+            this.isSubscribe = isSubscribe;
+        }
+
+        public int getStatus() {
+            return status;
+        }
+
+        public void setStatus(int status) {
+            this.status = status;
+        }
+
+        public int getChannel() {
+            return channel;
+        }
+
+        public void setChannel(int channel) {
+            this.channel = channel;
+        }
+
+        public int getMatchLive() {
+            return matchLive;
+        }
+
+        public void setMatchLive(int matchLive) {
+            this.matchLive = matchLive;
+        }
+
+        public int getWinId() {
+            return winId;
+        }
+
+        public void setWinId(int winId) {
+            this.winId = winId;
+        }
+    }
+}

+ 79 - 0
TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketNewPresenter.java

@@ -0,0 +1,79 @@
+package org.telegram.onecric.mvp;
+
+import android.text.TextUtils;
+
+import com.alibaba.fastjson.JSONObject;
+
+import org.telegram.cricdit.base.BaseObserver;
+import org.telegram.onecric.base.BasePresenter;
+import org.telegram.onecric.mvp.bean.CricketTournamentBean;
+import org.telegram.onecric.net.ApiCallback;
+import org.telegram.onecric.net.ApiStores;
+
+import java.util.List;
+import java.util.TimeZone;
+
+public class CricketNewPresenter extends BasePresenter<CricketNewView> {
+    public CricketNewPresenter(CricketNewView view) {
+        attachView(view);
+    }
+
+    public void getFiltrateList() {
+        addSubscription(apiStores.getFiltrateList(), new ApiCallback() {
+            @Override
+            public void onSuccess(String data, String msg) {
+                List<CricketFiltrateBean> list = JSONObject.parseArray(data, CricketFiltrateBean.class);
+                mvpView.getDataSuccess(list);
+            }
+
+            @Override
+            public void onFailure(String msg) {
+
+            }
+
+            @Override
+            public void onError(String msg) {
+
+            }
+
+            @Override
+            public void onFinish() {
+
+            }
+        });
+    }
+
+    public void getCricketMatchList(int type,String data,String tagIds,int streamType,boolean isLiveNow) {
+        if(TextUtils.isEmpty(data)){
+            return;
+        }
+
+        addSubscription(apiStores.getCricketDayMatchList(TimeZone.getDefault().getID(),data,tagIds,streamType,isLiveNow?1:0), new ApiCallback() {
+            @Override
+            public void onSuccess(String data, String msg) {
+                CricketAllBean bean;
+                try{
+                    bean = JSONObject.parseObject(JSONObject.parseObject(data).toString(), CricketAllBean.class);
+                }catch (Exception e){
+                    bean = null;
+                }
+                mvpView.getDataSuccess(type,bean);
+            }
+
+            @Override
+            public void onFailure(String msg) {
+            }
+
+            @Override
+            public void onError(String msg) {
+                mvpView.getDataFail(type,msg);
+            }
+
+            @Override
+            public void onFinish() {
+
+            }
+        });
+    }
+
+}

+ 16 - 0
TMessagesProj/src/main/java/org/telegram/onecric/mvp/CricketNewView.java

@@ -0,0 +1,16 @@
+package org.telegram.onecric.mvp;
+
+import org.telegram.onecric.base.BaseView;
+import org.telegram.onecric.base.JsonBean;
+
+import java.util.List;
+
+/**
+ * 开发公司:东莞市梦幻科技有限公司
+ * 时间:2022/8/26
+ */
+public interface CricketNewView extends BaseView<JsonBean> {
+    void getDataSuccess(List<CricketFiltrateBean> list);
+    void getDataSuccess(int type, CricketAllBean bean);
+    void getDataFail(int type ,String msg);
+}

+ 17 - 4
TMessagesProj/src/main/java/org/telegram/onecric/net/ApiStores.java

@@ -715,7 +715,7 @@ public interface ApiStores {
     //获取篮球球员列表
     @GET("api/Basketball_database/teamMember")
     Observable<JsonObject> getBasketballMatchDataBestMember(@Query("id") int id,
-                                                            @Query("type") int type);
+                                                          @Query("type") int type);
 
     //获取足球赛事详情
     @GET("api/football_database/competitionInfo")
@@ -731,17 +731,17 @@ public interface ApiStores {
     //获取足球赛程积分
     @GET("api/Football_database/integral")
     Observable<JsonObject> getFootballMatchDataRanking(@Query("season_id") int season_id,
-                                                       @Query("integral_type") int integral_type);
+                                                     @Query("integral_type") int integral_type);
 
     //获取足球球队列表
     @GET("api/Football_database/TeamData")
     Observable<JsonObject> getFootballMatchDataBestTeam(@Query("id") int id,
-                                                        @Query("type") int type);
+                                                          @Query("type") int type);
 
     //获取足球球员列表
     @GET("api/Football_database/teamMember")
     Observable<JsonObject> getFootballMatchDataBestMember(@Query("id") int id,
-                                                          @Query("type") int type);
+                                                            @Query("type") int type);
 
     //获取轮播图
     @GET("api/banner/getBannerList")
@@ -838,4 +838,17 @@ public interface ApiStores {
     //获取订阅推送消息的类型
     @GET("api/Cricket/subscribe_type")
     Observable<JsonObject> getSubscribeType(@Query("mid") int mid);
+
+    //获取新赛事列表 3.15
+    @GET("api/Cricketnew/cricket_match_day")
+    Observable<JsonObject> getCricketDayMatchList(@Query("timezone") String timezone,
+                                                  @Query("date") String date,@Query("tag") String tag,@Query("match_live") int match_live,@Query("live") int live);
+    //获取赛事标签
+    @GET("api/Cricketnew/get_cricket_tag")
+    Observable<JsonObject> getFiltrateList();
+
+    //新赛事搜索
+    @GET("api/Cricketnew/get_search")
+    Observable<JsonObject> searchMatchNew(@Query("timezone") String timezone,@Query("content") String content,@Query("type")String type,@Query("page")int page);
+
 }

+ 23 - 2
TMessagesProj/src/main/java/org/telegram/onecric/ui/activity/CricketDetailActivity.java

@@ -68,6 +68,13 @@ public class CricketDetailActivity extends MvpActivity<CricketDetailPresenter> i
         context.startActivity(intent);
     }
 
+    public static void forward(Context context, int matchId,int actionType) {
+        Intent intent = new Intent(context, CricketDetailActivity.class);
+        intent.putExtra("matchId", matchId);
+        intent.putExtra("actionType", actionType);
+        context.startActivity(intent);
+    }
+
     private int mMatchId;
     private FrameLayout mFlWebview1;
     private WebView mWvAnimation;
@@ -99,6 +106,8 @@ public class CricketDetailActivity extends MvpActivity<CricketDetailPresenter> i
 
     private CricketMatchBean mModel;
 
+    private int actionType = 0;
+
     @Override
     public boolean getStatusBarTextColor() {
         return true;
@@ -118,6 +127,7 @@ public class CricketDetailActivity extends MvpActivity<CricketDetailPresenter> i
     protected void initView() {
         mMatchId = getIntent().getIntExtra("matchId", 0);
         isNotification = getIntent().getBooleanExtra("isNotification", false);
+        actionType = getIntent().getIntExtra("actionType",0);
         ll_content = findViewById(R.id.ll_content);
         cl_one = findViewById(R.id.cl_one);
         tv_home_name = findViewById(R.id.tv_home_name);
@@ -246,13 +256,24 @@ public class CricketDetailActivity extends MvpActivity<CricketDetailPresenter> i
                 return mViewList.size();
             }
         });
+
+        if(actionType == 2){
+            tabLayout.getTabAt(2).select();
+        }
     }
 
     @Override
     public void getDataSuccess(CricketMatchBean model) {
         if (model != null) {
             mModel = model;
-            ((CricketFantasyFragment) mViewList.get(0)).getData(mMatchId, model.getHome_name(), model.getHome_logo(), model.getAway_name(), model.getAway_logo());
+
+/*           if(mModel.getStatus() == 1 && actionType == 1){
+                mFlWebview1.setVisibility(View.GONE);
+                mFlWebview2.setVisibility(View.VISIBLE);
+                ll_content.setVisibility(View.GONE);
+            }*/
+
+            ((CricketFantasyFragment)mViewList.get(0)).getData(mMatchId, model.getHome_name(), model.getHome_logo(), model.getAway_name(), model.getAway_logo());
             if (!TextUtils.isEmpty(model.getTournament_id())) {
                 ((CricketInfoFragment) mViewList.get(1)).getList(model.getHome_id(), model.getAway_id(), Integer.valueOf(model.getTournament_id()));
             }
@@ -278,7 +299,7 @@ public class CricketDetailActivity extends MvpActivity<CricketDetailPresenter> i
                     SpannableStringBuilder builder = new SpannableStringBuilder(strOne + strTwo);
                     builder.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.c_DC3C23)), strOne.length(), (strOne.length() + strTwo.length()), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
                     tv_center.setText(builder);
-                } else {
+                }else {
                     tv_center.setText(strOne);
                 }
                 String str = "";

+ 640 - 0
TMessagesProj/src/main/java/org/telegram/onecric/ui/activity/NewMatchActivity.java

@@ -0,0 +1,640 @@
+package org.telegram.onecric.ui.activity;
+
+import static org.telegram.cricdit.utils.TimeUtils.getDayInfo;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ObjectAnimator;
+import android.app.Dialog;
+import android.graphics.Color;
+import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.text.TextUtils;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.view.animation.LinearInterpolator;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.core.graphics.ColorUtils;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.ethanhua.skeleton.RecyclerViewSkeletonScreen;
+import com.ethanhua.skeleton.Skeleton;
+import com.github.gzuliyujiang.calendarpicker.CalendarPicker;
+import com.github.gzuliyujiang.calendarpicker.core.ColorScheme;
+import com.google.android.material.appbar.AppBarLayout;
+import com.lxj.xpopup.XPopup;
+import com.scwang.smart.refresh.layout.SmartRefreshLayout;
+import com.scwang.smart.refresh.layout.api.RefreshLayout;
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
+import org.telegram.cricdit.base.BaseTabActivity;
+import org.telegram.cricdit.base.IPresenter;
+import org.telegram.onecric.adapter.CricketFiltrateAdapter;
+import org.telegram.onecric.base.JsonBean;
+import org.telegram.onecric.mvp.CricketAllBean;
+import org.telegram.onecric.mvp.CricketFiltrateBean;
+import org.telegram.cricdit.config.Constants;
+import org.telegram.onecric.mvp.CricketNewPresenter;
+import org.telegram.onecric.mvp.CricketNewView;
+import org.telegram.cricdit.utils.ColorUtil;
+import org.telegram.cricdit.utils.SPUtils;
+import org.telegram.cricdit.utils.ToastUtil;
+import org.telegram.cricdit.utils.UIUtil;
+import org.telegram.cricdit.view.popup.PrivacyPolicyPopup;
+import org.telegram.messenger.LocaleController;
+import org.telegram.messenger.R;
+import org.telegram.onecric.adapter.CricketDayAdapter;
+import org.telegram.ui.ActionBar.ActionBar;
+import org.telegram.ui.ActionBar.ActionBarMenu;
+import org.telegram.ui.ActionBar.ActionBarMenuItem;
+import org.telegram.ui.ActionBar.Theme;
+import org.telegram.ui.WebviewActivity;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+public class NewMatchActivity extends BaseTabActivity implements CricketNewView,View.OnClickListener{
+    private ActionBarMenu menu;
+    private PrivacyPolicyPopup mPopupView;
+
+    private RecyclerView rv_filtrate;
+    private TextView tv_day;
+    private TextView tv_date;
+    private TextView tv_month;
+    private TextView tv_live_now;
+    private TextView tv_tours_num;
+    private ImageView iv_all;
+    private ImageView iv_all_author;
+    private ImageView iv_all_match;
+    private LinearLayout ll_streaming;
+    private ImageView iv_streaming;
+    private TextView tv_streaming;
+    private SmartRefreshLayout smart_rl;
+    private RecyclerView recyclerView;
+    private LinearLayout ll_tours;
+    private TextView tv_to_today;
+    private TextView tv_fresh;
+    private LinearLayout ll_empty;
+    private CricketDayAdapter mAdapter;
+    private CricketFiltrateAdapter mFiltrateAdapter;
+
+    private boolean isLiveNow = false;
+    private int streamType = 0;
+    private int selectToursNum = 0;
+    private Dialog mStreamDialog;
+    private List<CricketFiltrateBean> filtrateCheckedList;
+    private String tag="";
+    private boolean isNotNetWork;
+    private long singleTimeInMillis;
+    private CalendarPicker picker;
+    private RecyclerViewSkeletonScreen filtrateSkeletonScreen;//会导致回到每次rv数量变化会跳回第一页
+    private String lastDay;
+    private String endDay;
+    public int todayPosition = 0;
+    private Drawable drawableTop,drawableDown;
+    private LinearLayout skeletonLoadLayout;
+    private CricketNewPresenter mPresenter;
+    @Override
+    protected int getLayoutResId() {
+        return R.layout.activity_match_new;
+    }
+
+    @Override
+    public String setActionBarTitle() {
+        return LocaleController.getString(R.string.CdMatch);
+    }
+
+    @Override
+    protected IPresenter createPresenter() {
+        return null;
+    }
+
+    @Override
+    protected void initView(View view) {
+        AppBarLayout appBarLayout = view.findViewById(R.id.match_app_bar);
+        appBarLayout.setTargetElevation(0);
+        menu = actionBar.createMenu();
+        initTopItem();
+        mPresenter = new CricketNewPresenter(this);
+        rv_filtrate = view.findViewById(R.id.rv_filtrate);
+        tv_day = view.findViewById(R.id.tv_day);
+        tv_date = view.findViewById(R.id.tv_date);
+        tv_month = view.findViewById(R.id.tv_month);
+        tv_live_now = view.findViewById(R.id.tv_live_now);
+        tv_tours_num = view.findViewById(R.id.tv_tours_num);
+        smart_rl = view.findViewById(R.id.smart_rl);
+        recyclerView = view.findViewById(R.id.recyclerView);
+        ll_tours = view.findViewById(R.id.ll_tours);
+        tv_to_today = view.findViewById(R.id.tv_to_today);
+        ll_empty = view.findViewById(R.id.ll_empty);
+        tv_live_now.setOnClickListener(this);
+        tv_tours_num.setOnClickListener(this);
+        tv_fresh = view.findViewById(R.id.tv_fresh);
+        skeletonLoadLayout = view.findViewById(R.id.ll_skeleton);
+        tv_fresh.setOnClickListener(this);
+        view.findViewById(R.id.tv_calendar).setOnClickListener(this);
+        view.findViewById(R.id.tv_to_today).setOnClickListener(this);
+        ll_tours.setOnClickListener(this);
+        initStreamDialog();
+        initCalendarPicker();
+        drawableTop = getContext().getResources().getDrawable(R.mipmap.ic_go_today_up);
+        drawableTop.setBounds(0,0,drawableTop.getMinimumWidth(),drawableTop.getMinimumHeight());
+        drawableDown = getContext().getResources().getDrawable(R.mipmap.ic_go_today_down);
+        drawableDown.setBounds(0,0,drawableDown.getMinimumWidth(),drawableDown.getMinimumHeight());
+
+        initData();
+    }
+
+    private void initData(){
+        filtrateCheckedList = new ArrayList<>();
+        mFiltrateAdapter = new CricketFiltrateAdapter(R.layout.item_cricket_filtrate,new ArrayList<>());
+        mFiltrateAdapter.setOnItemChildClickListener((adapter, view, position) -> {
+            if(view.getId() == R.id.tv_name){
+                mFiltrateAdapter.getItem(position).setCheck(!mFiltrateAdapter.getItem(position).isCheck());
+                if(mFiltrateAdapter.getItem(position).isCheck()){
+                    ++selectToursNum;
+                    filtrateCheckedList.add(mFiltrateAdapter.getItem(position));
+                    mFiltrateAdapter.addData(0,mFiltrateAdapter.getItem(position));
+                    mFiltrateAdapter.remove(position+1);
+                }else{
+                    --selectToursNum;
+                    filtrateCheckedList.remove(mFiltrateAdapter.getItem(position));
+                    mFiltrateAdapter.addData(mFiltrateAdapter.getItem(position));
+                    mFiltrateAdapter.remove(position);
+                }
+                rv_filtrate.smoothScrollToPosition(0);
+                tv_tours_num.setText(selectToursNum + "");
+                tv_tours_num.setVisibility(selectToursNum > 0 ? View.VISIBLE : View.GONE);
+                if(filtrateCheckedList.size()>0){
+                    StringBuilder tagsId = new StringBuilder();
+                    for(CricketFiltrateBean bean : filtrateCheckedList){
+                        tagsId.append(","+bean.getId());
+                    }
+                    tag = tagsId.substring(1);
+                }else{
+                    tag = "";
+                }
+                requestList(1);
+            }
+        });
+
+        View headerStreamingView = LayoutInflater.from(getContext()).inflate(R.layout.item_cricket_filtrate_header, null);
+        ll_streaming = headerStreamingView.findViewById(R.id.ll_streaming);
+        iv_streaming = headerStreamingView.findViewById(R.id.iv_streaming);
+        tv_streaming = headerStreamingView.findViewById(R.id.tv_streaming);
+        ll_streaming.setOnClickListener(v -> {
+            if (mStreamDialog != null) {
+                mStreamDialog.show();
+            }
+        });
+        mFiltrateAdapter.addHeaderView(headerStreamingView,-1, LinearLayout.HORIZONTAL);
+
+        rv_filtrate.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL, false));
+        rv_filtrate.setAdapter(mFiltrateAdapter);
+
+        smart_rl.setEnableLoadMore(false);
+        smart_rl.setOnRefreshListener(new OnRefreshListener() {
+            @Override
+            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+                //前一天
+                requestList(0);
+            }
+        });
+
+//        recyclerView.getRecycledViewPool().setMaxRecycledViews(0, 20);
+//        recyclerView.setItemViewCacheSize(20);
+//        mAdapter = new CricketDayAdapter(this,getActivity(), new ArrayList<>());
+        mAdapter = new CricketDayAdapter(this,R.layout.item_cricket_day, new ArrayList<>());
+        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
+        recyclerView.setLayoutManager(linearLayoutManager);
+        recyclerView.setAdapter(mAdapter);
+        recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
+                LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
+                if (newState == RecyclerView.SCROLL_STATE_IDLE) {
+                    int lastVisibleItem = manager.findLastVisibleItemPosition();
+                    int totalItemCount = manager.getItemCount();
+                    if (lastVisibleItem == (totalItemCount - 1)) {
+                        requestList(2);
+                    }
+                }else if(newState == RecyclerView.SCROLL_STATE_DRAGGING){
+                    if(recyclerView.getChildAt(0) != null){
+                        int currentPosition = ((RecyclerView.LayoutParams) recyclerView.getChildAt(0).getLayoutParams()).getViewAdapterPosition();
+                        setDayInfo(getDayInfo(mAdapter.getItem(currentPosition).getDay()));
+                    }
+                }
+
+            }
+        });
+
+        filtrateSkeletonScreen = Skeleton.bind(rv_filtrate)
+                .adapter(mFiltrateAdapter)
+                .shimmer(false)
+                .count(6)
+                .load(R.layout.item_cricket_filtrate_skeleton)
+                .show();
+
+        mPresenter.getFiltrateList();
+        requestList(1);
+    }
+
+    private void initTopItem() {
+        ActionBarMenuItem searchItem = menu.addItem(0, R.drawable.ic_ab_search);
+        searchItem.setIconColor(ColorUtil.COLOR_WHITE);
+
+        searchItem.setOnClickListener(v -> {
+//            SearchMatchActivity.forward(getContext());
+        });
+    }
+
+    @Override
+    protected void initActionBar(ActionBar actionBar) {
+        super.initActionBar(actionBar);
+        actionBar.setForceSkipTouches(true);
+        actionBar.setAddToContainer(false);
+        actionBar.setOccupyStatusBar(false);
+        actionBar.setClipContent(false);
+        actionBar.setCastShadows(false);
+        actionBar.setBackButtonImage(R.drawable.ic_ab_back);
+        actionBar.setAllowOverlayTitle(false);
+        actionBar.setBackgroundColor(Color.TRANSPARENT);
+        actionBar.setItemsColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlackText), false);
+        actionBar.setItemsBackgroundColor(Theme.getColor(Theme.key_actionBarWhiteSelector), false);
+    }
+
+    @Override
+    public boolean isLightStatusBar() {
+        int color = Theme.getColor(Theme.key_actionBarDefault, null, true);
+        return ColorUtils.calculateLuminance(color) > 0.7f;
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        showPrivacy();
+    }
+
+    private void showPrivacy() {
+        boolean privacyPolicy = SPUtils.getInstance().get("privacy_policy", false);
+        if (!privacyPolicy) {
+            if (mPopupView == null) {
+                mPopupView = new PrivacyPolicyPopup(getContext(), new PrivacyPolicyPopup.OnContentClickListener() {
+
+                    @Override
+                    public void clickContent(int i) {
+                        mPopupView.dismiss();
+                        if (i==0) {
+                            presentFragment(new WebviewActivity(Constants.WEB_URL_PRIVACY_POLICY, ""));
+                        } else {
+                            presentFragment(new WebviewActivity(Constants.WEB_URL_TERMS_OF_SERVICE, ""));
+                        }
+                    }
+                    @Override
+                    public void decline() {
+                        getParentActivity().finish();
+                        System.exit(0);
+                    }
+                });
+            }
+            new XPopup.Builder(getContext())
+                    .moveUpToKeyboard(false) //如果不加这个,评论弹窗会移动到软键盘上面
+                    .dismissOnTouchOutside(false)
+                    .dismissOnBackPressed(false)
+                    .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
+                    .asCustom(mPopupView)
+                    .show();
+        }
+    }
+
+    private void initStreamDialog() {
+        mStreamDialog = new Dialog(getContext(), R.style.dialog);
+        mStreamDialog.setContentView(R.layout.dialog_streaming);
+        mStreamDialog.setCancelable(true);
+        mStreamDialog.setCanceledOnTouchOutside(true);
+
+        mStreamDialog.getWindow().setWindowAnimations(R.style.bottomToTopAnim);
+        WindowManager.LayoutParams params = mStreamDialog.getWindow().getAttributes();
+        params.width = WindowManager.LayoutParams.MATCH_PARENT;
+        params.gravity = Gravity.BOTTOM;
+        mStreamDialog.getWindow().setAttributes(params);
+        iv_all = mStreamDialog.findViewById(R.id.iv_all);
+        iv_all_author = mStreamDialog.findViewById(R.id.iv_all_author);
+        iv_all_match = mStreamDialog.findViewById(R.id.iv_all_match);
+        iv_all.setSelected(true);
+        mStreamDialog.findViewById(R.id.ll_all_live).setOnClickListener(this);
+        mStreamDialog.findViewById(R.id.ll_author_live).setOnClickListener(this);
+        mStreamDialog.findViewById(R.id.ll_match_live).setOnClickListener(this);
+    }
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (id == R.id.tv_live_now) {
+            tv_live_now.setSelected(!tv_live_now.isSelected());
+            isLiveNow = tv_live_now.isSelected();
+            if(isLiveNow){
+                smart_rl.setEnableRefresh(false);
+            }else{
+                smart_rl.setEnableRefresh(true);
+            }
+            requestList(1);
+        }else if(id == R.id.tv_calendar){
+            //选择日期 时间选择器
+            if(picker == null){
+                initCalendarPicker();
+            }
+            picker.show();
+        }else if(id == R.id.ll_tours){
+            //展开筛选联赛弹窗
+
+        }else if(id == R.id.tv_tours_num){
+            //数量
+        }else if(id == R.id.ll_all_live){
+            if(streamType!=0){
+                streamType = 0;
+                if(iv_all != null){
+                    iv_all.setSelected(true);
+                    iv_all_match.setSelected(false);
+                    iv_all_author.setSelected(false);
+                }
+                ll_streaming.setSelected(false);
+                iv_streaming.setSelected(false);
+                tv_streaming.setSelected(false);
+                requestList(1);
+            }
+            if(mStreamDialog != null){
+                mStreamDialog.dismiss();
+            }
+
+        }else if(id == R.id.ll_match_live){
+            if(streamType!=1){
+                streamType = 1;
+                if(iv_all != null){
+                    iv_all.setSelected(false);
+                    iv_all_match.setSelected(true);
+                    iv_all_author.setSelected(false);
+                }
+                ll_streaming.setSelected(true);
+                iv_streaming.setSelected(true);
+                tv_streaming.setSelected(true);
+                requestList(1);
+            }
+            if(mStreamDialog != null){
+                mStreamDialog.dismiss();
+            }
+
+        }else if(id == R.id.ll_author_live){
+            if(streamType!=2){
+                streamType = 2;
+                if(iv_all != null){
+                    iv_all_match.setSelected(false);
+                    iv_all.setSelected(false);
+                    iv_all_author.setSelected(true);
+                }
+                ll_streaming.setSelected(true);
+                iv_streaming.setSelected(true);
+                tv_streaming.setSelected(true);
+                requestList(1);
+            }
+            if(mStreamDialog != null){
+                mStreamDialog.dismiss();
+            }
+
+        }else if(id == R.id.tv_to_today){
+            recyclerView.smoothScrollToPosition(todayPosition);
+            setDayInfo(getDayInfo(mAdapter.getItem(todayPosition).getDay()));
+        }else if(id == R.id.tv_fresh){
+            ll_empty.setVisibility(View.GONE);
+            recyclerView.setVisibility(View.VISIBLE);
+            if(isLiveNow){
+                tv_live_now.setSelected(false);
+                isLiveNow = false;
+                smart_rl.setEnableRefresh(true);
+            }
+            if(streamType!=0){
+                streamType = 0;
+                if(iv_all != null){
+                    iv_all.setSelected(true);
+                    iv_all_match.setSelected(false);
+                    iv_all_author.setSelected(false);
+                }
+                ll_streaming.setSelected(false);
+                iv_streaming.setSelected(false);
+                tv_streaming.setSelected(false);
+            }
+            tag = "";
+            mPresenter.getFiltrateList();
+            requestList(1);
+        }
+    }
+
+    private void showTodayBtnAnim(int type){
+        switch (type){
+            case 0://从下往上 出现
+                if(tv_to_today.isSelected()){
+                    transAnim(tv_to_today,tv_to_today.getMeasuredHeight() + UIUtil.dip2px(getContext(),20),0);
+                    tv_to_today.setSelected(false);
+                }
+                break;
+            case 1://从上往下 退出
+                if(!tv_to_today.isSelected()){
+                    transAnim(tv_to_today,0,tv_to_today.getMeasuredHeight() + UIUtil.dip2px(getContext(),20));
+                    tv_to_today.setSelected(true);
+                }
+                break;
+        }
+    }
+
+    public void transAnim(View view,float start,float end) {
+        ObjectAnimator mObjectAnimator = ObjectAnimator.ofFloat(view, "translationY",start,end);
+        mObjectAnimator.setDuration(500);
+        mObjectAnimator.setInterpolator(new LinearInterpolator());
+
+        mObjectAnimator.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                super.onAnimationEnd(animation);
+
+            }
+        });
+        mObjectAnimator.start(); // 开始播放动画
+    }
+
+    public void requestList(int type){
+        if(type == 0){
+            if(mFiltrateAdapter.getItemCount() <=1){
+                mPresenter.getFiltrateList();
+            }
+            if(mAdapter.getItemCount() <= 0 && isNotNetWork){
+                requestList(1);
+            }else if(!TextUtils.isEmpty(lastDay)){
+                mPresenter.getCricketMatchList(type,lastDay,tag,streamType,isLiveNow);
+            }else{
+                smart_rl.finishRefresh();
+            }
+        }else if(type == 1){
+            lastDay = "";
+            endDay = "";
+            skeletonLoadLayout.setVisibility(View.VISIBLE);
+            recyclerView.setVisibility(View.GONE);
+            mPresenter.getCricketMatchList(type,new SimpleDateFormat("yyyy-MM-dd").format(singleTimeInMillis),tag,streamType,isLiveNow);
+        }else if(type == 2){
+            if(!TextUtils.isEmpty(endDay)){
+                mPresenter.getCricketMatchList(type,endDay,tag,streamType,isLiveNow);
+            }
+        }
+    }
+
+    @Override
+    public void getDataSuccess(List<CricketFiltrateBean> list) {
+        filtrateCheckedList.clear();
+        selectToursNum = 0;
+        tv_tours_num.setVisibility(View.GONE);
+        if(list!=null){
+            mFiltrateAdapter.setNewData(list);
+            rv_filtrate.setBackgroundColor(Color.TRANSPARENT);
+            filtrateSkeletonScreen.hide();
+        }
+    }
+
+    @Override
+    public void getDataSuccess(int type, CricketAllBean bean) {
+        if(type == 0){
+            smart_rl.finishRefresh();
+        }
+        skeletonLoadLayout.setVisibility(View.GONE);
+        if (bean != null && bean.getItem() != null && bean.getItem().size() > 0) {
+            if(type == 0 || type == 1){
+                this.lastDay = bean.getFrontDay();
+            }
+            if(type == 2 || type == 1){
+                this.endDay = bean.getEndDay();
+            }
+            ll_empty.setVisibility(View.GONE);
+            recyclerView.setVisibility(View.VISIBLE);
+            if(type == 0){
+                todayPosition = todayPosition+bean.getItem().size();
+                mAdapter.addData(0,bean.getItem());
+            }else if(type == 1){
+                todayPosition = 0;
+                setDayInfo(getDayInfo(bean.getItem().get(0).getDay()));
+                mAdapter.setNewData(bean.getItem());;
+                recyclerView.scrollBy(0, (int) (recyclerView.getY() + UIUtil.dip2px(getContext(),60)));
+            }else{
+                mAdapter.addData(bean.getItem());
+            }
+        } else if(mAdapter.getItemCount() == 0){
+            recyclerView.setVisibility(View.GONE);
+            ll_empty.setVisibility(View.VISIBLE);
+        } else if(type == 1 && (!TextUtils.isEmpty(tag) || isLiveNow || streamType != 0)){
+            mAdapter.setNewData(new ArrayList<>());
+            recyclerView.setVisibility(View.GONE);
+            ll_empty.setVisibility(View.VISIBLE);
+        }
+    }
+
+    @Override
+    public void getDataFail(int type, String msg) {
+        smart_rl.finishRefresh();
+        skeletonLoadLayout.setVisibility(View.GONE);
+        if (mAdapter.getItemCount() <= 0) {
+            recyclerView.setVisibility(View.GONE);
+            ll_empty.setVisibility(View.VISIBLE);
+        } else {
+            ToastUtil.show(getContext(),msg);
+        }
+
+        if(getContext().getString(R.string.no_internet_connection).equals(msg)){
+            isNotNetWork = true;
+        }else{
+            isNotNetWork = false;
+        }
+
+    }
+
+    public void setDayInfo(String[] info){
+        singleTimeInMillis = new Date().getTime();
+        tv_date.setText(info[0]);
+        tv_month.setText(info[1]);
+        tv_day.setText(info[2]);
+
+        if(Integer.parseInt(info[3]) < 0){
+            tv_to_today.setCompoundDrawables(null,null,drawableDown,null);
+            showTodayBtnAnim(0);
+        }else if(Integer.parseInt(info[3]) > 0){
+            tv_to_today.setCompoundDrawables(null,null,drawableTop,null);
+            showTodayBtnAnim(0);
+        }else{
+            showTodayBtnAnim(1);
+        }
+    }
+
+    private void initCalendarPicker(){
+        picker = new CalendarPicker(getParentActivity());
+        picker.setColorScheme(new ColorScheme()
+                .weekTextColor(0xFFBDBFC8)
+                .daySelectBackgroundColor(0xFF527da3)
+                .daySelectTextColor(0xFFFFFFFF)
+                .dayStressTextColor(0xFF000000)
+                .dayNormalTextColor(0xFF000000)
+                .dayInvalidTextColor(0xFFC8C8C8));
+        //范围
+        Calendar c = Calendar.getInstance();
+        Calendar c2 = Calendar.getInstance();
+        c.setTime(new Date());
+        c2.setTime(new Date());
+        c.add(Calendar.DATE, -15);
+        c2.add(Calendar.DATE, 15);
+        picker.setRangeDate(c.getTime(),c2.getTime());
+        picker.setTitle("Select Date");
+        picker.getCancelView().setVisibility(View.GONE);
+        picker.getTitleView().setTypeface(Typeface.DEFAULT_BOLD);
+        picker.getTitleView().setTextColor(0xFF000000);
+        picker.getOkView().setText("confirm");
+        if (singleTimeInMillis == 0) {
+            singleTimeInMillis = System.currentTimeMillis();
+        }
+        picker.setBackgroundDrawable(getContext().getResources().getDrawable(R.drawable.shape_white_25dp_half_rec));
+        picker.setSelectedDate(singleTimeInMillis);
+        picker.setOnSingleDatePickListener(date -> {
+            if(singleTimeInMillis != date.getTime()){
+                singleTimeInMillis = date.getTime();
+                requestList(1);
+            }
+        });
+
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    public void getDataSuccess(JsonBean model) {
+
+    }
+
+    @Override
+    public void getDataFail(String msg) {
+
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        setNavigationBarColor(ColorUtil.COLOR_WHITE);
+    }
+}

+ 2 - 1
TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java

@@ -126,6 +126,7 @@ import org.telegram.messenger.Utilities;
 import org.telegram.messenger.XiaomiUtilities;
 import org.telegram.onecric.ui.activity.MatchActivity;
 import org.telegram.onecric.ui.activity.MatchWebActivity;
+import org.telegram.onecric.ui.activity.NewMatchActivity;
 import org.telegram.tgnet.ConnectionsManager;
 import org.telegram.tgnet.RequestDelegate;
 import org.telegram.tgnet.TLObject;
@@ -3501,7 +3502,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
 
         mMainBottomTabContainer.findViewById(R.id.main_bottom_tab_news).setOnClickListener(v -> presentFragment(new NewsActivity(), true, 0));
 
-        mMainBottomTabContainer.findViewById(R.id.main_bottom_tab_match).setOnClickListener(v -> presentFragment(new MatchActivity(), true, 0));
+        mMainBottomTabContainer.findViewById(R.id.main_bottom_tab_match).setOnClickListener(v -> presentFragment(new NewMatchActivity(), true, 0));
 
         mMainBottomTabContainer.findViewById(R.id.main_bottom_tab_rank).setOnClickListener(v -> presentFragment(new RankListActivity(), true, 0));
 

+ 6 - 4
TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java

@@ -145,6 +145,7 @@ import org.telegram.messenger.voip.VoIPPendingCall;
 import org.telegram.messenger.voip.VoIPService;
 import org.telegram.onecric.ui.activity.CricketDetailActivity;
 import org.telegram.onecric.ui.activity.MatchActivity;
+import org.telegram.onecric.ui.activity.NewMatchActivity;
 import org.telegram.tgnet.ConnectionsManager;
 import org.telegram.tgnet.TLObject;
 import org.telegram.tgnet.TLRPC;
@@ -790,7 +791,8 @@ public class LaunchActivity extends BasePermissionsActivity implements ActionBar
 //                drawerLayoutContainer.setAllowOpenDrawer(true, false);
 
 //                NewsActivity newsActivity = new NewsActivity();
-                MatchActivity newsActivity = new MatchActivity();
+//                MatchActivity newsActivity = new MatchActivity();
+                NewMatchActivity newsActivity = new NewMatchActivity();
                 actionBarLayout.addFragmentToStack(newsActivity);
 
             }
@@ -1102,7 +1104,7 @@ public class LaunchActivity extends BasePermissionsActivity implements ActionBar
 //            return new LoginActivity();
 //        }
 //        return new IntroActivity();
-        return new MatchActivity();
+        return new NewMatchActivity();
     }
 
     public void showSelectStatusDialog() {
@@ -1349,7 +1351,7 @@ public class LaunchActivity extends BasePermissionsActivity implements ActionBar
                 layersActionBarLayout.rebuildLogout();
                 rightActionBarLayout.rebuildLogout();
             }
-            presentFragment(new MatchActivity());
+            presentFragment(new NewMatchActivity());
         }
     }
 
@@ -2959,7 +2961,7 @@ public class LaunchActivity extends BasePermissionsActivity implements ActionBar
 //                        actionBarLayout.addFragmentToStack(dialogsActivity);
 //                        drawerLayoutContainer.setAllowOpenDrawer(true, false);
 
-                        MatchActivity newsActivity = new MatchActivity();
+                        NewMatchActivity newsActivity = new NewMatchActivity();
                         actionBarLayout.addFragmentToStack(newsActivity);
                     }
                 }

BIN
TMessagesProj/src/main/res/drawable-hdpi/video_play1.png


BIN
TMessagesProj/src/main/res/drawable-mdpi/video_play1.png


BIN
TMessagesProj/src/main/res/drawable-night-xxhdpi/img_empty_match.png


BIN
TMessagesProj/src/main/res/drawable-xhdpi/video_play1.png


BIN
TMessagesProj/src/main/res/drawable-xxhdpi/video_play1.png


+ 5 - 0
TMessagesProj/src/main/res/drawable/bg_212e58_6.xml

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

+ 7 - 0
TMessagesProj/src/main/res/drawable/bg_gradient_d4d3d8_to_white.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient android:startColor="@color/c_D4D3D8"
+        android:endColor="@color/white"
+        android:centerColor="@color/white"
+        android:angle="270"/>
+</shape>

+ 7 - 0
TMessagesProj/src/main/res/drawable/bg_gradient_dcdbe0_line.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient android:startColor="@color/white"
+        android:centerColor="@color/c_DCDBE0"
+        android:endColor="@color/white"
+        android:angle="270"/>
+</shape>

+ 5 - 0
TMessagesProj/src/main/res/drawable/bg_search2.xml

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

+ 5 - 0
TMessagesProj/src/main/res/drawable/bg_search2_15.xml

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

+ 5 - 0
TMessagesProj/src/main/res/drawable/bg_search_15.xml

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

+ 5 - 0
TMessagesProj/src/main/res/drawable/selector_agree.xml

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

+ 5 - 0
TMessagesProj/src/main/res/drawable/selector_bg_filtrate.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_selected="true" android:drawable="@drawable/shape_30red_15dp_solid_red_bor"/>
+    <item android:drawable="@drawable/shape_white_15dp_solid_grey_bor"/>
+</selector>

+ 5 - 0
TMessagesProj/src/main/res/drawable/selector_filtrate_color.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/c_DC3C23" android:state_selected="true"  />
+    <item android:color="@color/c_1D2550" android:state_selected="false"/>
+</selector>

+ 5 - 0
TMessagesProj/src/main/res/drawable/selector_filtrate_head_arr.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_selected="true" android:drawable="@mipmap/ic_arrow_circle_red"/>
+    <item android:drawable="@mipmap/ic_arrow_circle"/>
+</selector>

+ 5 - 0
TMessagesProj/src/main/res/drawable/selector_filtrate_head_right.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_selected="true" android:drawable="@mipmap/ic_arrow_expert_down_red"/>
+    <item android:drawable="@mipmap/ic_arrow_expert_down"/>
+</selector>

+ 5 - 0
TMessagesProj/src/main/res/drawable/selector_foreground_filtrate.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true" android:drawable="@drawable/shape_80white_15dp_solid_grey_bor"/>
+    <item android:drawable="@color/transparent"/>
+</selector>

+ 5 - 0
TMessagesProj/src/main/res/drawable/selector_foreground_search.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true" android:drawable="@drawable/bg_search2"/>
+    <item android:state_pressed="false" android:drawable="@color/transparent"/>
+</selector>

+ 5 - 0
TMessagesProj/src/main/res/drawable/selector_foreground_white.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true" android:drawable="@color/c_80white"/>
+    <item android:state_pressed="false" android:drawable="@color/transparent"/>
+</selector>

+ 7 - 0
TMessagesProj/src/main/res/drawable/shape_30red_15dp_solid_red_bor.xml

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

+ 7 - 0
TMessagesProj/src/main/res/drawable/shape_80white_15dp_solid_grey_bor.xml

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

+ 5 - 0
TMessagesProj/src/main/res/drawable/shape_btn_red_solid_oval.xml

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

+ 8 - 0
TMessagesProj/src/main/res/drawable/shape_dc3c23_6dp_stroke_rec.xml

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

+ 6 - 0
TMessagesProj/src/main/res/drawable/shape_f1f1f1_15dp_rec.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="15dp"/>
+    <solid android:color="@color/line_color"/>
+</shape>

+ 6 - 0
TMessagesProj/src/main/res/drawable/shape_f1f1f1_3dp_rec.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="3dp"/>
+    <solid android:color="@color/line_color"/>
+</shape>

+ 5 - 0
TMessagesProj/src/main/res/drawable/shape_light_red_1.xml

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

+ 7 - 0
TMessagesProj/src/main/res/drawable/shape_white_15dp_solid_grey_bor.xml

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

+ 6 - 0
TMessagesProj/src/main/res/drawable/shape_white_3dp_rec.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="3dp"/>
+    <solid android:color="@color/white"/>
+</shape>

+ 7 - 0
TMessagesProj/src/main/res/drawable/shape_white_left_4dp_solid_grey_bor.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:topLeftRadius="6dp" android:bottomLeftRadius="6dp"/>
+    <solid android:color="@color/white" />
+    <stroke android:color="@color/c_DCDBE0" android:width="1dp"/>
+</shape>

+ 228 - 0
TMessagesProj/src/main/res/layout/activity_match_new.xml

@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/status_bar_height"
+        android:background="@color/colorActionBarBlue" />
+
+    <androidx.coordinatorlayout.widget.CoordinatorLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/colorNormalBg">
+
+        <com.google.android.material.appbar.AppBarLayout
+            android:id="@+id/match_app_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@color/colorActionBarBlue"
+            android:elevation="0dp">
+
+            <androidx.appcompat.widget.Toolbar
+                android:id="@+id/match_toolbar"
+                android:layout_width="match_parent"
+                android:layout_height="40dp"
+                android:elevation="0dp"
+                app:layout_scrollFlags="scroll|enterAlwaysCollapsed"
+                app:title="@string/CdMatch"
+                app:titleTextColor="#fff" />
+
+        </com.google.android.material.appbar.AppBarLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="vertical"
+            app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:background="@drawable/bg_gradient_d4d3d8_to_white">
+
+                <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/rv_filtrate"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:paddingTop="12dp"
+                    android:paddingBottom="12dp"
+                    android:background="@color/white" />
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:paddingTop="13dp"
+                    android:paddingBottom="@dimen/dp_10"
+                    android:layout_below="@id/rv_filtrate">
+
+                    <TextView
+                        android:id="@+id/tv_day"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:fontFamily="@font/noto_sans_display_semibold"
+                        android:textSize="18sp"
+                        android:textColor="@color/c_111111"
+                        android:paddingLeft="15dp"/>
+
+                    <TextView
+                        android:id="@+id/tv_date"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="16sp"
+                        android:textColor="@color/c_111111"
+                        android:paddingLeft="8dp"/>
+
+                    <TextView
+                        android:id="@+id/tv_month"
+                        android:layout_width="0dp"
+                        android:layout_weight="1"
+                        android:layout_height="wrap_content"
+                        android:textSize="16sp"
+                        android:textColor="@color/c_111111"
+                        android:paddingLeft="8dp"/>
+
+                    <TextView
+                        android:id="@+id/tv_live_now"
+                        android:layout_width="wrap_content"
+                        android:layout_height="24dp"
+                        android:paddingLeft="10dp"
+                        android:paddingRight="10dp"
+                        android:textSize="11sp"
+                        android:textColor="@drawable/selector_filtrate_color"
+                        android:gravity="center"
+                        android:text="Live Now"
+                        android:layout_gravity="center_vertical"
+                        android:foreground="@drawable/selector_foreground_filtrate"
+                        android:background="@drawable/selector_bg_filtrate"
+                        android:layout_marginRight="@dimen/dp_10"/>
+
+                    <View
+                        android:layout_width="0.5dp"
+                        android:layout_height="25dp"
+                        android:background="@drawable/bg_gradient_dcdbe0_line"
+                        android:layout_marginLeft="10dp"
+                        android:layout_marginRight="@dimen/dp_10"
+                        android:layout_gravity="center_vertical"
+                        android:visibility="gone"/>
+
+                    <TextView
+                        android:id="@+id/tv_calendar"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:drawableLeft="@mipmap/ic_check_date"
+                        android:layout_gravity="center_vertical"
+                        android:text="Calendar"
+                        android:drawablePadding="3dp"
+                        android:letterSpacing="0.03"
+                        android:textSize="11sp"
+                        android:textColor="@color/c_1D2550"
+                        android:gravity="center_vertical"
+                        android:fontFamily="@font/noto_sans_display_semibold"
+                        android:foreground="@drawable/selector_foreground_white"
+                        android:paddingRight="12dp"/>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/ll_tours"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:gravity="center_vertical"
+                    android:paddingTop="@dimen/dp_10"
+                    android:paddingBottom="@dimen/dp_10"
+                    android:paddingLeft="8dp"
+                    android:paddingRight="8dp"
+                    android:background="@drawable/shape_white_left_4dp_solid_grey_bor"
+                    android:layout_alignParentRight="true"
+                    android:layout_marginTop="10dp"
+                    android:visibility="gone">
+
+                    <TextView
+                        android:id="@+id/tv_tours_num"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="11sp"
+                        android:textColor="@color/white"
+                        android:paddingLeft="5dp"
+                        android:paddingRight="5dp"
+                        android:layout_marginRight="5dp"
+                        android:background="@drawable/shape_btn_red_solid_oval"
+                        android:visibility="gone"/>
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="Tours"
+                        android:textSize="12sp"
+                        android:textColor="@color/c_1D2550"
+                        android:drawablePadding="7dp"
+                        android:drawableRight="@mipmap/icon_arrow_down"/>
+
+                </LinearLayout>
+
+
+            </RelativeLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:background="@color/c_80DCDBE0"
+                android:layout_gravity="center_vertical" />
+
+            <com.scwang.smart.refresh.layout.SmartRefreshLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:id="@+id/smart_rl"
+                android:background="#FBFBFC">
+
+                <include layout="@layout/base_head_refresh" />
+
+                <FrameLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent">
+
+                    <include layout="@layout/layout_match_empty"/>
+                    <include layout="@layout/item_cricket_skeleton"/>
+
+                    <androidx.recyclerview.widget.RecyclerView
+                        android:id="@+id/recyclerView"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:overScrollMode="never"/>
+
+                    <!--            从下往上出现的动画-->
+
+                    <TextView
+                        android:id="@+id/tv_to_today"
+                        android:layout_width="wrap_content"
+                        android:layout_height="43dp"
+                        android:layout_gravity="right|bottom"
+                        android:layout_marginBottom="20dp"
+                        android:layout_marginRight="12dp"
+                        android:drawableRight="@mipmap/ic_go_today_down"
+                        android:paddingLeft="11dp"
+                        android:paddingRight="11dp"
+                        android:gravity="center"
+                        android:fontFamily="@font/noto_sans_display_semibold"
+                        android:textColor="@color/white"
+                        android:background="@drawable/bg_search_15"/>
+
+                </FrameLayout>
+
+                <include layout="@layout/base_head_loadmore" />
+
+            </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+        </LinearLayout>
+
+    </androidx.coordinatorlayout.widget.CoordinatorLayout>
+</LinearLayout>

+ 92 - 0
TMessagesProj/src/main/res/layout/dialog_streaming.xml

@@ -0,0 +1,92 @@
+<?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="150dp"
+    android:background="@drawable/shape_white_25dp_half_rec"
+    android:gravity="center_vertical">
+
+    <LinearLayout
+        android:id="@+id/ll_all_live"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="40dp">
+
+        <TextView
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:layout_gravity="center_vertical"
+            android:layout_marginLeft="14dp"
+            android:textSize="14dp"
+            android:fontFamily="@font/noto_sans_display_semibold"
+            android:text="All matches(Non-streaming &amp; Streaming)"
+            android:textColor="@color/c_333333"/>
+
+        <ImageView
+            android:id="@+id/iv_all"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginRight="14dp"
+            android:background="@drawable/selector_agree"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/ll_author_live"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:visibility="gone">
+
+        <TextView
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:layout_gravity="center_vertical"
+            android:layout_marginLeft="14dp"
+            android:textSize="14dp"
+            android:textColor="@color/c_333333"
+            android:fontFamily="@font/noto_sans_display_semibold"
+            android:text="Anchor explanation"/>
+
+        <ImageView
+            android:id="@+id/iv_all_author"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginRight="14dp"
+            android:fontFamily="@font/noto_sans_display_semibold"
+            android:background="@drawable/selector_agree"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/ll_match_live"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="40dp">
+
+        <TextView
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:layout_gravity="center_vertical"
+            android:layout_marginLeft="14dp"
+            android:textSize="14dp"
+            android:textColor="@color/c_333333"
+            android:fontFamily="@font/noto_sans_display_semibold"
+            android:text="Streaming on OneCric"/>
+
+        <ImageView
+            android:id="@+id/iv_all_match"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginRight="14dp"
+            android:fontFamily="@font/noto_sans_display_semibold"
+            android:background="@drawable/selector_agree"/>
+
+    </LinearLayout>
+</LinearLayout>

+ 61 - 0
TMessagesProj/src/main/res/layout/item_cricket_day.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <RelativeLayout
+        android:id="@+id/rl_time_title"
+        android:layout_width="match_parent"
+        android:layout_height="60dp"
+        android:orientation="horizontal"
+        android:paddingTop="25dp"
+        android:layout_below="@id/rv_filtrate"
+        android:visibility="visible">
+
+        <TextView
+            android:id="@+id/tv_day"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:fontFamily="@font/noto_sans_display_semibold"
+            android:textSize="18sp"
+            android:textColor="@color/c_111111"
+            android:paddingLeft="15dp"/>
+
+        <TextView
+            android:id="@+id/tv_date"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="16sp"
+            android:textColor="@color/c_111111"
+            android:paddingLeft="8dp"
+            android:layout_toRightOf="@id/tv_day"
+            android:layout_alignBottom="@id/tv_day"/>
+
+        <TextView
+            android:id="@+id/tv_month"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:textSize="16sp"
+            android:textColor="@color/c_111111"
+            android:paddingLeft="8dp"
+            android:layout_toRightOf="@id/tv_date"
+            android:layout_alignParentRight="true"
+            android:layout_alignBottom="@id/tv_day"/>
+
+        <View
+            android:id="@+id/line"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:background="@color/c_DCDBE0"
+            android:layout_below="@id/tv_date"
+            android:layout_marginTop="@dimen/dp_10"/>
+
+    </RelativeLayout>
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/rv_cricket"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"/>
+
+</LinearLayout>

+ 15 - 0
TMessagesProj/src/main/res/layout/item_cricket_filtrate.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/tv_name"
+    android:layout_width="wrap_content"
+    android:layout_height="30dp"
+    android:paddingLeft="11dp"
+    android:paddingRight="11dp"
+    android:maxLines="1"
+    android:singleLine="true"
+    android:background="@drawable/selector_bg_filtrate"
+    android:foreground="@drawable/selector_foreground_filtrate"
+    android:textSize="12sp"
+    android:textColor="@drawable/selector_filtrate_color"
+    android:gravity="center"
+    android:layout_marginRight="8dp"/>

+ 49 - 0
TMessagesProj/src/main/res/layout/item_cricket_filtrate_header.xml

@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="30dp"
+    android:orientation="horizontal"
+    android:paddingLeft="15dp"
+    android:paddingRight="8dp"
+    android:gravity="center_vertical">
+
+    <LinearLayout
+        android:id="@+id/ll_streaming"
+        android:layout_width="wrap_content"
+        android:layout_height="30dp"
+        android:gravity="center"
+        android:orientation="horizontal"
+        android:paddingLeft="11dp"
+        android:paddingRight="11dp"
+        android:paddingTop="5dp"
+        android:paddingBottom="5dp"
+        android:background="@drawable/selector_bg_filtrate"
+        android:foreground="@drawable/selector_foreground_filtrate">
+
+        <ImageView
+            android:id="@+id/iv_streaming"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@drawable/selector_filtrate_head_arr"/>
+
+        <TextView
+            android:id="@+id/tv_streaming"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="2dp"
+            android:text="@string/streaming"
+            android:textSize="12sp"
+            android:textColor="@drawable/selector_filtrate_color"
+            android:drawablePadding="4dp"
+            android:drawableRight="@drawable/selector_filtrate_head_right"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="0.5dp"
+        android:layout_height="20dp"
+        android:background="@color/c_DCDBE0"
+        android:layout_marginLeft="8dp" />
+</LinearLayout>
+

+ 7 - 0
TMessagesProj/src/main/res/layout/item_cricket_filtrate_skeleton.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<View xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/tv_name"
+    android:layout_width="90dp"
+    android:layout_height="30dp"
+    android:background="@drawable/shape_f1f1f1_15dp_rec"
+    android:layout_marginRight="8dp"/>

+ 211 - 0
TMessagesProj/src/main/res/layout/item_cricket_inner_new.xml

@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/shape_white_3dp_rec"
+    android:foreground="@drawable/selector_foreground_white">
+
+    <LinearLayout
+        android:id="@+id/ll_left"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:layout_toLeftOf="@id/fl_status"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentTop="true"
+        android:paddingTop="14dp"
+        android:paddingLeft="15dp"
+        android:paddingBottom="12dp">
+
+        <LinearLayout
+            android:id="@+id/ll_one"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:id="@+id/iv_home_logo"
+                android:layout_width="18dp"
+                android:layout_height="18dp"
+                android:scaleType="fitCenter"
+                android:src="@mipmap/img_team_logo_default" />
+
+            <TextView
+                android:id="@+id/tv_home_name"
+                android:layout_width="0dp"
+                android:layout_weight="1"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="10dp"
+                android:ellipsize="end"
+                android:maxLines="1"
+                android:fontFamily="@font/noto_sans_display_semibold"
+                android:textColor="@color/c_111111"
+                android:textSize="12sp" />
+
+
+            <TextView
+                android:id="@+id/tv_home_score2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textSize="10sp"
+                android:textColor="@color/c_999999"/>
+
+            <TextView
+                android:id="@+id/tv_home_score"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:fontFamily="@font/noto_sans_display_semibold"
+                android:textSize="12sp"
+                android:drawablePadding="2dp"/>
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/ll_two"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/dp_10"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:id="@+id/iv_away_logo"
+                android:layout_width="18dp"
+                android:layout_height="18dp"
+                android:scaleType="fitCenter"
+                android:src="@mipmap/img_team_logo_default" />
+
+            <TextView
+                android:id="@+id/tv_away_name"
+                android:layout_width="0dp"
+                android:layout_weight="1"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="10dp"
+                android:ellipsize="end"
+                android:maxLines="1"
+                android:textColor="@color/c_111111"
+                android:textSize="12sp"
+                android:fontFamily="@font/noto_sans_display_semibold"/>
+
+            <TextView
+                android:id="@+id/tv_away_score2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:gravity="right"
+                android:textSize="10sp"
+                android:textColor="@color/c_999999"/>
+
+            <TextView
+                android:id="@+id/tv_away_score"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:fontFamily="@font/noto_sans_display_semibold"
+                android:textSize="12sp"
+                android:drawablePadding="2dp"/>
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="0.5dp"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="10dp"
+        android:background="@drawable/bg_gradient_dcdbe0_line"
+        android:layout_alignBottom="@id/ll_left"
+        android:layout_alignTop="@id/ll_left"
+        android:layout_alignRight="@id/ll_left"/>
+
+    <LinearLayout
+        android:id="@+id/fl_status"
+        android:layout_width="120dp"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:layout_alignBottom="@id/line"
+        android:layout_alignParentTop="true"
+        android:orientation="vertical"
+        android:gravity="center">
+
+        <TextView
+            android:id="@+id/tv_state_info"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="@color/c_666666"
+            android:textSize="11sp"
+            android:gravity="center"
+            android:layout_gravity="center"/>
+
+        <TextView
+            android:id="@+id/tv_state_time"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="@color/c_111111"
+            android:fontFamily="@font/noto_sans_display_regular"/>
+
+        <TextView
+            android:id="@+id/tv_state_watch_live"
+            android:layout_width="75dp"
+            android:layout_height="24dp"
+            android:text="▶  Watch Live"
+            android:gravity="center"
+            android:paddingLeft="5dp"
+            android:paddingRight="5dp"
+            android:background="@drawable/shape_light_red_1"
+            android:textColor="#EE293A"
+            android:textSize="9sp"
+            android:fontFamily="@font/noto_sans_display_bold"
+            android:layout_marginBottom="10dp"/>
+
+        <TextView
+            android:id="@+id/tv_state_live"
+            android:layout_width="75dp"
+            android:layout_height="24dp"
+            android:text="▶  LIVE"
+            android:paddingLeft="5dp"
+            android:paddingRight="5dp"
+            android:gravity="center"
+            android:background="@drawable/shape_light_red_1"
+            android:textColor="#EE293A"
+            android:textSize="9sp"
+            android:fontFamily="@font/noto_sans_display_bold"
+            android:visibility="gone"/>
+
+        <TextView
+            android:id="@+id/tv_state_score"
+            android:layout_width="wrap_content"
+            android:layout_height="24dp"
+            android:text="Live Scores"
+            android:paddingLeft="5dp"
+            android:paddingRight="5dp"
+            android:gravity="center"
+            android:textColor="@color/c_2C9DE9"
+            android:textSize="11sp"
+            android:drawableLeft="@mipmap/ic_blue_circle"
+            android:drawablePadding="5dp"
+            android:fontFamily="@font/noto_sans_display_bold"/>
+
+    </LinearLayout>
+
+    <TextView
+        android:id="@+id/tv_result"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/ll_left"
+        android:paddingLeft="15dp"
+        android:paddingBottom="5dp"
+        android:layout_marginEnd="12dp"
+        android:textColor="@color/c_666666"
+        android:textSize="11sp"/>
+
+    <View
+        android:id="@+id/line"
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/c_80DCDBE0"
+        android:layout_below="@id/tv_result"
+        android:layout_marginTop="7dp"
+        android:layout_marginBottom="8dp"/>
+
+</RelativeLayout>

+ 41 - 0
TMessagesProj/src/main/res/layout/item_cricket_new.xml

@@ -0,0 +1,41 @@
+<?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="wrap_content">
+
+    <LinearLayout
+        android:id="@+id/ll_title"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:background="@mipmap/bg_cricket_tours"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:paddingLeft="15dp"
+        android:paddingRight="10dp"
+        android:layout_marginTop="8dp">
+
+        <TextView
+            android:id="@+id/tv_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="14sp"
+            android:textColor="@color/c_333333"
+            android:fontFamily="@font/noto_sans_display_semibold"
+            android:drawableRight="@mipmap/icon_arrow_right_three"
+            android:drawablePadding="6dp"/>
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="wrap_content"/>
+
+    </LinearLayout>
+
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/rv_inner"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"/>
+
+</LinearLayout>

+ 340 - 0
TMessagesProj/src/main/res/layout/item_cricket_skeleton.xml

@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/ll_skeleton"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/shape_white_3dp_rec"
+    android:orientation="vertical"
+    android:visibility="gone">
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        android:background="@color/line_color"
+        android:layout_marginTop="15dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingTop="22dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/dp_10"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingLeft="15dp"
+        android:paddingBottom="12dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/line_color"
+        android:layout_marginTop="7dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingTop="22dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/dp_10"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingLeft="15dp"
+        android:paddingBottom="12dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/line_color"
+        android:layout_marginTop="7dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingTop="22dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/dp_10"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingLeft="15dp"
+        android:paddingBottom="12dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/line_color"
+        android:layout_marginTop="7dp"/>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        android:background="@color/line_color"
+        android:layout_marginTop="15dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingTop="22dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/dp_10"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingLeft="15dp"
+        android:paddingBottom="12dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/line_color"
+        android:layout_marginTop="7dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingTop="22dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/dp_10"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingLeft="15dp"
+        android:paddingBottom="12dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/line_color"
+        android:layout_marginTop="7dp"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingTop="22dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/dp_10"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        android:paddingLeft="15dp"
+        android:paddingBottom="12dp"
+        android:paddingRight="130dp">
+
+        <View
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="20dp"
+            android:layout_marginLeft="10dp"
+            android:background="@drawable/shape_f1f1f1_3dp_rec"/>
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/line_color"
+        android:layout_marginTop="7dp"/>
+
+</LinearLayout>

+ 39 - 0
TMessagesProj/src/main/res/layout/layout_match_empty.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/ll_empty"
+    android:orientation="vertical"
+    android:gravity="center"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#FBFBFC"
+    android:visibility="gone">
+
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:background="@mipmap/img_empty_match"/>
+
+    <TextView
+        android:id="@+id/tv_empty"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/No_search_results_for_this_filter"
+        android:textSize="16dp"
+        android:textColor="@color/c_801D2550"/>
+
+    <TextView
+        android:id="@+id/tv_fresh"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingTop="@dimen/dp_10"
+        android:paddingBottom="@dimen/dp_10"
+        android:paddingLeft="@dimen/dp_10"
+        android:paddingRight="@dimen/dp_10"
+        android:text="@string/RESET_FILTERS"
+        android:background="@drawable/shape_dc3c23_6dp_stroke_rec"
+        android:textColor="@color/c_DC3C23"
+        android:fontFamily="@font/noto_sans_display_semibold"
+        android:layout_marginTop="20dp"
+        android:foreground="@drawable/selector_foreground_white"/>
+
+</LinearLayout>

+ 32 - 0
TMessagesProj/src/main/res/layout/layout_match_rv_empty.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/ll_empty"
+    android:orientation="vertical"
+    android:gravity="center_horizontal"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:visibility="visible">
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="A rare day off! "
+        android:textSize="14dp"
+        android:fontFamily="@font/noto_sans_display_semibold"
+        android:textColor="@color/c_1D2550"
+        android:layout_marginTop="10dp"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="No matches on this date"
+        android:textSize="14dp"
+        android:layout_marginTop="5dp"
+        android:textColor="@color/c_1D2550"/>
+
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:background="@mipmap/img_empty_match_rv"/>
+
+</LinearLayout>

BIN
TMessagesProj/src/main/res/mipmap-xhdpi/bg_cricket_tours.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/ic_arrow_circle.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/ic_arrow_circle_red.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/ic_arrow_expert_down.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/ic_arrow_expert_down_red.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/ic_blue_circle.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/ic_check_date.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/ic_go_today_down.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/ic_go_today_up.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/icon_agree_false.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/icon_agree_true.png


BIN
TMessagesProj/src/main/res/mipmap-xhdpi/img_empty_match_rv.png


BIN
TMessagesProj/src/main/res/mipmap-xxhdpi/icon_arrow_left_two.png


BIN
TMessagesProj/src/main/res/mipmap-xxhdpi/icon_notice.png


BIN
TMessagesProj/src/main/res/mipmap-xxhdpi/img_empty_match.png


BIN
TMessagesProj/src/main/res/mipmap-xxhdpi/img_transparent1624.png


+ 9 - 0
TMessagesProj/src/main/res/values/colors.xml

@@ -189,6 +189,15 @@
 
     <color name="c_FEE737">#FEE737</color>
     <color name="c_F9C33D">#F9C33D</color>
+
+
+    <color name="c_30DC3C23">#30DC3C23</color>
+    <color name="c_DCDBE0">#DCDBE0</color>
+    <color name="c_80DCDBE0">#80DCDBE0</color>
+    <color name="c_D4D3D8">#D4D3D8</color>
+    <color name="c_212E58">#00abf0</color>
+    <color name="c_70809B">#70809B</color>
+    <color name="c_80white">#80ffffff</color>
 <!-- __________________________________  OneCric Color  _________________________________________-->
 
 

+ 5 - 0
TMessagesProj/src/main/res/values/strings.xml

@@ -351,6 +351,7 @@
     <string name="empty_common">No data yet</string>
     <string name="empty_match_collect">You don\'t have a favorite match yet, go to it</string>
     <string name="average_value">Average</string>
+
     <!--==============================OneCric结束================================-->
 
 
@@ -6069,5 +6070,9 @@
     <string name="action_settings">Settings</string>
     <string name="msg_token_fmt" translatable="false">FCM registration Token: %s</string>
 
+    <!--    3.16新加-->
+    <string name="match_search_hint">Search for tours and teams...</string>
+    <string name="No_search_results_for_this_filter">No search results for this filter</string>
+    <string name="RESET_FILTERS">RESET FILTERS</string>
 
 </resources>

+ 1 - 1
TMessagesProj/src/main/res/values/styles.xml

@@ -348,7 +348,7 @@
 
     <style name="TvMainBodyStyle">
         <item name="android:lineSpacingExtra">4dp</item>
-        <item name="android:textSize">15sp</item>
+        <item name="android:textSize">14sp</item>
         <item name="android:textColor">@color/c_333333</item>
     </style>