Browse Source

功能开发:改版礼包列表页面,解决冲突。重构礼包详情页面

Sora 1 year ago
parent
commit
f370d8c5cb
80 changed files with 2240 additions and 2917 deletions
  1. 3 3
      .idea/gradle.xml
  2. 0 26
      WaterWaveProgress/src/androidTest/java/com/bingfor/waterwaveprogress/ExampleInstrumentedTest.java
  3. 2 4
      app/build.gradle
  4. 69 45
      app/src/main/java/com/sheep/gamegroup/absBase/BaseActivity.java
  5. 0 148
      app/src/main/java/com/sheep/gamegroup/dateview/DataPickerDialog.java
  6. 0 128
      app/src/main/java/com/sheep/gamegroup/dateview/TimePickerDialog.java
  7. 54 0
      app/src/main/java/com/sheep/gamegroup/gaiban/mainpage/findgame/FindGameFragment.java
  8. 54 0
      app/src/main/java/com/sheep/gamegroup/gaiban/mainpage/fuli/FuliFragment.java
  9. 57 0
      app/src/main/java/com/sheep/gamegroup/gaiban/mainpage/mine/MineFragment.java
  10. 1 0
      app/src/main/java/com/sheep/gamegroup/module/game/activity/ActGitBagList.java
  11. 2 2
      app/src/main/java/com/sheep/gamegroup/module/game/activity/ActMyGameList.java
  12. 3 18
      app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGameCenter.java
  13. 26 7
      app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGiftBagList.java
  14. 297 313
      app/src/main/java/com/sheep/gamegroup/module/guide/NewbieGuideHelper.java
  15. 13 28
      app/src/main/java/com/sheep/gamegroup/module/home/fragment/HomeWrapperFragment.java
  16. 1 1
      app/src/main/java/com/sheep/gamegroup/module/pay/fragment/CompletionInfoFragment.java
  17. 8 44
      app/src/main/java/com/sheep/gamegroup/module/search/GiftHolder.java
  18. 19 6
      app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java
  19. 184 24
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  20. 13 43
      app/src/main/java/com/sheep/gamegroup/util/MainTab.java
  21. 38 8
      app/src/main/java/com/sheep/gamegroup/util/js/KFZSJs.java
  22. 56 92
      app/src/main/java/com/sheep/gamegroup/view/activity/ActGiftDetail.java
  23. 152 356
      app/src/main/java/com/sheep/gamegroup/view/activity/ActMain.java
  24. 1 2
      app/src/main/java/com/sheep/gamegroup/view/activity/ActVideoDetail.java
  25. 7 6
      app/src/main/java/com/sheep/gamegroup/view/activity/MiddleAct.java
  26. 33 0
      app/src/main/java/com/sheep/gamegroup/view/activity/homepage/data/BottomTab.java
  27. 0 79
      app/src/main/java/com/sheep/gamegroup/view/adapter/DownloadWelfareAdapter.java
  28. 28 63
      app/src/main/java/com/sheep/gamegroup/view/adapter/GiftCenterAdapter.java
  29. 0 66
      app/src/main/java/com/sheep/gamegroup/view/adapter/VoucherUseLogAdapter.java
  30. 41 73
      app/src/main/java/com/sheep/gamegroup/view/adapter/WelfareAdapter.java
  31. 68 0
      app/src/main/java/com/sheep/gamegroup/view/customview/CheckableImageButton.java
  32. 52 45
      app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment2.java
  33. 3 2
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtDownloadWelfareList.java
  34. 1 1
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtEveryDayShare.java
  35. 4 3
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtGiftCenter.java
  36. 0 40
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMyDownloadWelfareList.java
  37. 57 62
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java
  38. 1 1
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSearchApp.java
  39. 4 3
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSignCardRecord.java
  40. 29 24
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java
  41. 1 1
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtUserNoviceGuidance.java
  42. 0 285
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtWelfareCenter.java
  43. 0 44
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtWelfareUseRecord.java
  44. 14 8
      app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseFragment.java
  45. 4 0
      app/src/main/res/drawable/divider_12dp.xml
  46. 7 0
      app/src/main/res/drawable/gradient_libao_detail.xml
  47. 8 0
      app/src/main/res/drawable/gradient_mine_fragment.xml
  48. 5 0
      app/src/main/res/drawable/icon_tab_find_game.xml
  49. 5 0
      app/src/main/res/drawable/icon_tab_fuli.xml
  50. 5 0
      app/src/main/res/drawable/icon_tab_home.xml
  51. 5 0
      app/src/main/res/drawable/icon_tab_mine.xml
  52. 24 0
      app/src/main/res/drawable/lianxi_kefu.xml
  53. 7 0
      app/src/main/res/drawable/libao_line_16dp.xml
  54. 30 0
      app/src/main/res/drawable/mine_download.xml
  55. 24 0
      app/src/main/res/drawable/mine_libao.xml
  56. 27 0
      app/src/main/res/drawable/mine_person_info.xml
  57. 24 0
      app/src/main/res/drawable/mine_setting.xml
  58. 24 0
      app/src/main/res/drawable/mine_zichan.xml
  59. 5 0
      app/src/main/res/drawable/round_arrow_forward_ios_24.xml
  60. 5 0
      app/src/main/res/drawable/round_rect_12dp.xml
  61. 0 6
      app/src/main/res/layout-v21/main_frame_layout.xml
  62. 48 119
      app/src/main/res/layout/act_bottom_bar.xml
  63. 206 94
      app/src/main/res/layout/act_gift_detail.xml
  64. 0 118
      app/src/main/res/layout/act_main.xml
  65. 6 4
      app/src/main/res/layout/include_article_video_top.xml
  66. 63 185
      app/src/main/res/layout/item_download_welfare.xml
  67. 23 0
      app/src/main/res/layout/layout_home_tab.xml
  68. 0 88
      app/src/main/res/layout/layout_picker_data.xml
  69. 0 117
      app/src/main/res/layout/layout_picker_time.xml
  70. 244 0
      app/src/main/res/layout/mine_fragment.xml
  71. 19 0
      app/src/main/res/menu/activity_home_bottom_bar.xml
  72. 4 0
      app/src/main/res/values/colors.xml
  73. 5 0
      app/src/main/res/values/strings.xml
  74. 13 0
      app/src/main/res/values/styles.xml
  75. 1 1
      gradle/wrapper/gradle-wrapper.properties
  76. 0 26
      media/app/src/androidTest/java/com/kfzs/cfyl/media/ExampleInstrumentedTest.java
  77. 0 26
      media/share_library/src/androidTest/java/com/kfzs/cfyl/share_library/ExampleInstrumentedTest.java
  78. 0 13
      shortcut_lib/src/androidTest/java/com/xys/shortcut_lib/ApplicationTest.java
  79. 3 3
      view/build.gradle
  80. 0 13
      view/src/androidTest/java/com/kfzs/android/view/ApplicationTest.java

+ 3 - 3
.idea/gradle.xml

@@ -4,10 +4,9 @@
   <component name="GradleSettings">
     <option name="linkedExternalProjectsSettings">
       <GradleProjectSettings>
-        <option name="testRunner" value="GRADLE" />
-        <option name="distributionType" value="DEFAULT_WRAPPED" />
+        <option name="testRunner" value="CHOOSE_PER_TEST" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
-        <option name="gradleJvm" value="jbr-17" />
+        <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
         <option name="modules">
           <set>
             <option value="$PROJECT_DIR$" />
@@ -27,6 +26,7 @@
             <option value="$PROJECT_DIR$/view" />
           </set>
         </option>
+        <option name="resolveExternalAnnotations" value="false" />
       </GradleProjectSettings>
     </option>
   </component>

+ 0 - 26
WaterWaveProgress/src/androidTest/java/com/bingfor/waterwaveprogress/ExampleInstrumentedTest.java

@@ -1,26 +0,0 @@
-package com.bingfor.waterwaveprogress;
-
-import android.content.Context;
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumentation test, which will execute on an Android device.
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-    @Test
-    public void useAppContext() throws Exception {
-        // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getTargetContext();
-
-        assertEquals("com.bingfor.waterwaveprogress.test", appContext.getPackageName());
-    }
-}

+ 2 - 4
app/build.gradle

@@ -44,10 +44,8 @@ android {
         abortOnError false
         disable 'MissingTranslation'
     }
-
-    dexOptions {
-        preDexLibraries = false
-        javaMaxHeapSize "6g"
+    buildFeatures {
+        viewBinding = true
     }
 
     packagingOptions {

+ 69 - 45
app/src/main/java/com/sheep/gamegroup/absBase/BaseActivity.java

@@ -5,14 +5,17 @@ import android.content.res.Resources;
 import android.graphics.Color;
 import android.os.Build;
 import android.os.Bundle;
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.ActionBar;
-import androidx.appcompat.widget.Toolbar;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.Window;
 import android.view.WindowManager;
 import android.view.inputmethod.InputMethodManager;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.widget.Toolbar;
+import androidx.viewbinding.ViewBinding;
+
 import com.r0adkll.slidr.Slidr;
 import com.r0adkll.slidr.model.SlidrConfig;
 import com.r0adkll.slidr.model.SlidrListener;
@@ -24,9 +27,12 @@ import com.sheep.gamegroup.view.dialog.DialogLoading;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
+
 import org.greenrobot.eventbus.EventBus;
+
 import java.lang.reflect.Field;
 import java.util.concurrent.TimeUnit;
+
 import butterknife.ButterKnife;
 import butterknife.Unbinder;
 import io.reactivex.Observable;
@@ -51,6 +57,7 @@ public abstract class BaseActivity extends RxAppCompatActivity implements BackHa
     }
 
     private static long lastClickTime;
+
     public static boolean isFastDoubleClick() {
         long time = System.currentTimeMillis();
         long timeD = time - lastClickTime;
@@ -91,7 +98,7 @@ public abstract class BaseActivity extends RxAppCompatActivity implements BackHa
             window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
 //            window.setStatusBarColor(Color.TRANSPARENT);
         }
-        if(showWhiteStatusBar()){
+        if (showWhiteStatusBar()) {
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                 getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
                 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
@@ -109,8 +116,14 @@ public abstract class BaseActivity extends RxAppCompatActivity implements BackHa
             Toolbar toolbar = (Toolbar) actionBar.getCustomView().getParent();
             toolbar.setContentInsetsRelative(0, 0);
         }
-        if (getLayoutId() != 0) {
-            setContentView(getLayoutId());
+        ViewBinding binding = getViewBinding();
+        //如果采用了ViewBinding,就设置ViewBinding
+        if (binding != null) {
+            setContentView(binding.getRoot());
+        } else {
+            if (getLayoutId() != 0) {
+                setContentView(getLayoutId());
+            }
         }
         if (needButterKnife())
             unbinder = ButterKnife.bind(this);
@@ -119,6 +132,10 @@ public abstract class BaseActivity extends RxAppCompatActivity implements BackHa
         initSlidr();
     }
 
+    protected ViewBinding getViewBinding() {
+        return null;
+    }
+
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
         if (newConfig.fontScale != 1)//非默认值
@@ -137,54 +154,61 @@ public abstract class BaseActivity extends RxAppCompatActivity implements BackHa
         return res;
     }
 
-    protected boolean showWhiteStatusBar(){return false;}
-    protected int getTitleLayoutId(){
+    protected boolean showWhiteStatusBar() {
+        return false;
+    }
+
+    protected int getTitleLayoutId() {
         return R.layout.title;
     }
-    protected void initSlidr(){
+
+    protected void initSlidr() {
         SlidrConfig config = new SlidrConfig.Builder()
 //                .primaryColor(getResources().getColor(R.color.primary)
 //                        .secondaryColor(getResources().getColor(R.color.secondary)
 //                                .position(SlidrPosition.LEFT|RIGHT|TOP|BOTTOM|VERTICAL|HORIZONTAL)
-                                .position(SlidrPosition.HORIZONTAL)
-                                .sensitivity(0.2f)
-                                .scrimColor(Color.BLACK)
-                                .scrimStartAlpha(0.8f)
-                                .scrimEndAlpha(0f)
-                                .velocityThreshold(2400)
-                                .distanceThreshold(0.25f)
-                                .edge(true)
-                                .edgeSize(0.18f) // The % of the screen that counts as the edge, default 18%
-                                .listener(new SlidrListener(){
-
-                                    @Override
-                                    public void onSlideStateChanged(int state) {
-                                        LogUtil.println("SlidrConfig", "onSlideStateChanged", state);
-                                    }
-
-                                    @Override
-                                    public void onSlideChange(float percent) {
-                                        LogUtil.println("SlidrConfig", "onSlideChange", percent);
-                                    }
-
-                                    @Override
-                                    public void onSlideOpened() {
-                                        LogUtil.println("SlidrConfig", "onSlideOpened");
-                                    }
-
-                                    @Override
-                                    public void onSlideClosed() {
-                                        LogUtil.println("SlidrConfig", "onSlideClosed");
-                                    }
-                                })
-                                .build();
+                .position(SlidrPosition.HORIZONTAL)
+                .sensitivity(0.2f)
+                .scrimColor(Color.BLACK)
+                .scrimStartAlpha(0.8f)
+                .scrimEndAlpha(0f)
+                .velocityThreshold(2400)
+                .distanceThreshold(0.25f)
+                .edge(true)
+                .edgeSize(0.18f) // The % of the screen that counts as the edge, default 18%
+                .listener(new SlidrListener() {
+
+                    @Override
+                    public void onSlideStateChanged(int state) {
+                        LogUtil.println("SlidrConfig", "onSlideStateChanged", state);
+                    }
+
+                    @Override
+                    public void onSlideChange(float percent) {
+                        LogUtil.println("SlidrConfig", "onSlideChange", percent);
+                    }
+
+                    @Override
+                    public void onSlideOpened() {
+                        LogUtil.println("SlidrConfig", "onSlideOpened");
+                    }
+
+                    @Override
+                    public void onSlideClosed() {
+                        LogUtil.println("SlidrConfig", "onSlideClosed");
+                    }
+                })
+                .build();
 
         Slidr.attach(this, config);
     }
 
+    Bundle saveInstanceState;
+
     @Override
     public void onPostCreate(Bundle bundle) {
         super.onPostCreate(bundle);
+        saveInstanceState = bundle;
         initView();
         initListener();
         initData();
@@ -400,7 +424,7 @@ public abstract class BaseActivity extends RxAppCompatActivity implements BackHa
 
     @Override
     public void onBackPressed() {
-        if(checkBackPressed()){
+        if (checkBackPressed()) {
             super.onBackPressed();
         }
     }
@@ -408,10 +432,10 @@ public abstract class BaseActivity extends RxAppCompatActivity implements BackHa
     public boolean checkBackPressed() {
         //if判断里面就调用了来自Fragment的onBackPressed()
         //一样!!,如果onBackPressed是返回false,就会进入条件内进行默认的操作
-        if(backHandleFragment == null || !backHandleFragment.onBackPressed()){
-            if(getSupportFragmentManager().getBackStackEntryCount() == 0){
+        if (backHandleFragment == null || !backHandleFragment.onBackPressed()) {
+            if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
                 return true;
-            }else{
+            } else {
                 getSupportFragmentManager().popBackStack();
             }
         }

+ 0 - 148
app/src/main/java/com/sheep/gamegroup/dateview/DataPickerDialog.java

@@ -1,148 +0,0 @@
-package com.sheep.gamegroup.dateview;
-
-import android.app.Dialog;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.TextView;
-
-import com.sheep.jiuyan.samllsheep.R;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class DataPickerDialog extends Dialog {
-
-    private Params params;
-
-    public DataPickerDialog(Context context, int themeResId) {
-        super(context, themeResId);
-    }
-
-    private void setParams(DataPickerDialog.Params params) {
-        this.params = params;
-    }
-
-
-    public void setSelection(String itemValue) {
-        if (params.dataList.size() > 0) {
-            int idx = params.dataList.indexOf(itemValue);
-            if (idx >= 0) {
-                params.initSelection = idx;
-                params.loopData.setCurrentItem(params.initSelection);
-            }
-        }
-    }
-
-    public interface OnDataSelectedListener {
-        void onDataSelected(String itemValue, int position);
-        void onCancel();
-    }
-
-    private static final class Params {
-        private boolean shadow = true;
-        private boolean canCancel = true;
-        private LoopView loopData;
-        private String title;
-        private String unit;
-        private int initSelection;
-        private OnDataSelectedListener callback;
-        private final List<String> dataList = new ArrayList<>();
-    }
-
-    public static class Builder {
-        private final Context context;
-        private final DataPickerDialog.Params params;
-
-        public Builder(Context context) {
-            this.context = context;
-            params = new DataPickerDialog.Params();
-        }
-
-        private final String getCurrDateValue() {
-            return params.loopData.getCurrentItemValue();
-        }
-
-        public Builder setData(List<String> dataList) {
-            params.dataList.clear();
-            params.dataList.addAll(dataList);
-            return this;
-        }
-
-        public Builder setTitle(String title) {
-            params.title = title;
-            return this;
-        }
-
-        public Builder setUnit(String unit) {
-            params.unit = unit;
-            return this;
-        }
-
-        public Builder setSelection(int selection) {
-            params.initSelection = selection;
-            return this;
-        }
-
-        public Builder setOnDataSelectedListener(OnDataSelectedListener onDataSelectedListener) {
-            params.callback = onDataSelectedListener;
-            return this;
-        }
-
-
-        public DataPickerDialog create() {
-            final DataPickerDialog dialog = new DataPickerDialog(context, params.shadow ? R.style.Theme_Light_NoTitle_Dialog : R.style.Theme_Light_NoTitle_NoShadow_Dialog);
-            View view = LayoutInflater.from(context).inflate(R.layout.layout_picker_data, null);
-
-            if (!TextUtils.isEmpty(params.title)) {
-                TextView txTitle = (TextView) view.findViewById(R.id.tx_title);
-                txTitle.setText(params.title);
-                txTitle.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View view) {
-                        dialog.dismiss();
-                        params.callback.onCancel();
-                    }
-                });
-            }
-            if (!TextUtils.isEmpty(params.unit)) {
-                TextView txUnit = (TextView) view.findViewById(R.id.tx_unit);
-                txUnit.setText(params.unit);
-            }
-
-            final LoopView loopData = (LoopView) view.findViewById(R.id.loop_data);
-            loopData.setArrayList(params.dataList);
-            loopData.setNotLoop();
-            if (params.dataList.size() > 0) loopData.setCurrentItem(params.initSelection);
-            view.findViewById(R.id.tx_finish).setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                    params.callback.onDataSelected(getCurrDateValue(),loopData.getCurrentItem());
-                }
-            });
-
-            Window win = dialog.getWindow();
-            win.getDecorView().setPadding(0, 0, 0, 0);
-            WindowManager.LayoutParams lp = win.getAttributes();
-            lp.width = WindowManager.LayoutParams.MATCH_PARENT;
-            lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
-            win.setAttributes(lp);
-            win.setGravity(Gravity.BOTTOM);
-            win.setWindowAnimations(R.style.Rising);
-
-            dialog.setContentView(view);
-            dialog.setCanceledOnTouchOutside(params.canCancel);
-            dialog.setCancelable(params.canCancel);
-
-            params.loopData = loopData;
-            dialog.setParams(params);
-
-            return dialog;
-        }
-    }
-}

+ 0 - 128
app/src/main/java/com/sheep/gamegroup/dateview/TimePickerDialog.java

@@ -1,128 +0,0 @@
-package com.sheep.gamegroup.dateview;
-
-import android.app.Dialog;
-import android.content.Context;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
-
-import com.sheep.jiuyan.samllsheep.R;
-
-import java.util.Arrays;
-import java.util.List;
-
-public class TimePickerDialog extends Dialog {
-
-    public interface OnTimeSelectedListener {
-        void onTimeSelected(int[] times);
-    }
-
-
-    private Params params;
-
-    public TimePickerDialog(Context context, int themeResId) {
-        super(context, themeResId);
-    }
-
-    private void setParams(TimePickerDialog.Params params) {
-        this.params = params;
-    }
-
-
-    private static final class Params {
-        private boolean shadow = true;
-        private boolean canCancel = true;
-        private LoopView loopHour, loopMin;
-        private OnTimeSelectedListener callback;
-    }
-
-    public static class Builder {
-        private final Context context;
-        private final TimePickerDialog.Params params;
-
-        public Builder(Context context) {
-            this.context = context;
-            params = new TimePickerDialog.Params();
-        }
-
-        /**
-         * 获取当前选择的时间
-         *
-         * @return int[]数组形式返回。例[12,30]
-         */
-        private final int[] getCurrDateValues() {
-            int currHour = Integer.parseInt(params.loopHour.getCurrentItemValue());
-            int currMin = Integer.parseInt(params.loopMin.getCurrentItemValue());
-            return new int[]{currHour, currMin};
-        }
-
-        public TimePickerDialog create() {
-            final TimePickerDialog dialog = new TimePickerDialog(context, params.shadow ? R.style.Theme_Light_NoTitle_Dialog : R.style.Theme_Light_NoTitle_NoShadow_Dialog);
-            View view = LayoutInflater.from(context).inflate(R.layout.layout_picker_time, null);
-
-            final LoopView loopHour = (LoopView) view.findViewById(R.id.loop_hour);
-
-            //修改优化边界值 by lmt 16/ 9 /12.禁用循环滑动,循环滑动有bug
-            loopHour.setCyclic(false);
-            loopHour.setArrayList(d(0, 24));
-            loopHour.setCurrentItem(12);
-
-            final LoopView loopMin = (LoopView) view.findViewById(R.id.loop_min);
-            loopMin.setCyclic(false);
-            loopMin.setArrayList(d(0, 60));
-            loopMin.setCurrentItem(30);
-
-            view.findViewById(R.id.tx_finish).setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                    params.callback.onTimeSelected(getCurrDateValues());
-                }
-            });
-
-            Window win = dialog.getWindow();
-            win.getDecorView().setPadding(0, 0, 0, 0);
-            WindowManager.LayoutParams lp = win.getAttributes();
-            lp.width = WindowManager.LayoutParams.MATCH_PARENT;
-            lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
-            win.setAttributes(lp);
-            win.setGravity(Gravity.BOTTOM);
-            win.setWindowAnimations(R.style.Rising);
-
-            dialog.setContentView(view);
-            dialog.setCanceledOnTouchOutside(params.canCancel);
-            dialog.setCancelable(params.canCancel);
-
-            params.loopHour = loopHour;
-            params.loopMin = loopMin;
-            dialog.setParams(params);
-
-            return dialog;
-        }
-
-
-        public Builder setOnTimeSelectedListener(OnTimeSelectedListener onTimeSelectedListener) {
-            params.callback = onTimeSelectedListener;
-            return this;
-        }
-
-
-        /**
-         * 将数字传化为集合,并且补充0
-         *
-         * @param startNum 数字起点
-         * @param count    数字个数
-         * @return
-         */
-        private static List<String> d(int startNum, int count) {
-            String[] values = new String[count];
-            for (int i = startNum; i < startNum + count; i++) {
-                String tempValue = (i < 10 ? "0" : "") + i;
-                values[i - startNum] = tempValue;
-            }
-            return Arrays.asList(values);
-        }
-    }
-}

+ 54 - 0
app/src/main/java/com/sheep/gamegroup/gaiban/mainpage/findgame/FindGameFragment.java

@@ -0,0 +1,54 @@
+package com.sheep.gamegroup.gaiban.mainpage.findgame;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.FragmentTransaction;
+
+import com.sheep.gamegroup.model.entity.WebParams;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+
+public class FindGameFragment extends BaseFragment {
+
+
+    private BaseFragment contentFragment;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.common_container_v2;
+    }
+
+    @Override
+    public void onViewCreated() {
+        contentFragment = (BaseFragment) getChildFragmentManager().findFragmentByTag("fragment_content");
+        FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
+        if (contentFragment == null) {
+//            contentFragment = ViewUtil.newWebFragment(new WebParams(Config.getUrlByPath(Config.PATH_APP_HOME)).hideProgress());
+            contentFragment = ViewUtil.newWebFragment(new WebParams("http://10.8.200.228:8082/#/game-center").hideProgress());
+            transaction.add(R.id.frame_container, contentFragment, "fragment_content").show(contentFragment);
+        } else {
+            transaction.show(contentFragment);
+        }
+        transaction.commitAllowingStateLoss();
+    }
+
+    @Override
+    public void initDataOnVisibleToUser() {
+        if (contentFragment != null) contentFragment.initDataOnVisibleToUser();
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+    }
+
+    public static FindGameFragment newInstance() {
+
+        Bundle args = new Bundle();
+
+        FindGameFragment fragment = new FindGameFragment();
+        fragment.setArguments(args);
+        return fragment;
+    }
+}

+ 54 - 0
app/src/main/java/com/sheep/gamegroup/gaiban/mainpage/fuli/FuliFragment.java

@@ -0,0 +1,54 @@
+package com.sheep.gamegroup.gaiban.mainpage.fuli;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.FragmentTransaction;
+
+import com.sheep.gamegroup.model.entity.WebParams;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+
+public class FuliFragment extends BaseFragment {
+
+
+    private BaseFragment contentFragment;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.common_container_v2;
+    }
+
+    @Override
+    public void onViewCreated() {
+        contentFragment = (BaseFragment) getChildFragmentManager().findFragmentByTag("fragment_content");
+        FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
+        if (contentFragment == null) {
+//            contentFragment = ViewUtil.newWebFragment(new WebParams(Config.getUrlByPath(Config.PATH_APP_HOME)).hideProgress());
+            contentFragment = ViewUtil.newWebFragment(new WebParams("http://10.8.200.228:8082/#/welfare-center").hideProgress());
+            transaction.add(R.id.frame_container, contentFragment, "fragment_content").show(contentFragment);
+        } else {
+            transaction.show(contentFragment);
+        }
+        transaction.commitAllowingStateLoss();
+    }
+
+    @Override
+    public void initDataOnVisibleToUser() {
+        if (contentFragment != null) contentFragment.initDataOnVisibleToUser();
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+    }
+
+    public static FuliFragment newInstance() {
+
+        Bundle args = new Bundle();
+
+        FuliFragment fragment = new FuliFragment();
+        fragment.setArguments(args);
+        return fragment;
+    }
+}

+ 57 - 0
app/src/main/java/com/sheep/gamegroup/gaiban/mainpage/mine/MineFragment.java

@@ -0,0 +1,57 @@
+package com.sheep.gamegroup.gaiban.mainpage.mine;
+
+import android.os.Bundle;
+
+import androidx.core.widget.NestedScrollView;
+
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+import com.sheep.jiuyan.samllsheep.databinding.MineFragmentBinding;
+
+import java.util.Objects;
+
+public class MineFragment extends BaseFragment {
+    @Override
+    public int getLayoutId() {
+        return R.layout.mine_fragment;
+    }
+
+    @Override
+    public void onViewCreated() {
+        MineFragmentBinding binding = MineFragmentBinding.bind(Objects.requireNonNull(getView()));
+        binding.scrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
+            if (scrollY > oldScrollY) {
+            } else {
+            }
+        });
+        binding.myDownload.setOnClickListener(v -> {
+            Jump2View.getInstance().goActDownloadManager(getActivity());
+        });
+        binding.mineLibao.setOnClickListener(v -> {
+            Jump2View.getInstance().goMyWelfare(getActivity());
+        });
+        binding.mineZichan.setOnClickListener(v -> {
+            Jump2View.getInstance().goMyMoney(getActivity());
+        });
+        binding.setting.setOnClickListener(v -> {
+            Jump2View.getInstance().goSetting(getActivity());
+        });
+        binding.personInfo.setOnClickListener(v -> {
+            Jump2View.getInstance().goPersionInfo(getActivity());
+        });
+        binding.lianxiKefu.setOnClickListener(v -> {
+            //todo 这里是显示客服的对话框
+        });
+
+    }
+
+    public static MineFragment newInstance() {
+
+        Bundle args = new Bundle();
+
+        MineFragment fragment = new MineFragment();
+        fragment.setArguments(args);
+        return fragment;
+    }
+}

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/module/game/activity/ActGitBagList.java

@@ -11,6 +11,7 @@ import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 /**
  * Created by realicing on 2019/4/2.
  * realicing@sina.com
+ * 这个是游戏礼包列表页面
  */
 public class ActGitBagList extends BaseContainerActivity {
 

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/module/game/activity/ActMyGameList.java

@@ -14,7 +14,7 @@ import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 /**
  * Created by realicing on 2018/11/23.
  * realicing@sina.com
- *
+ * <p>
  * 小绵羊3.4.9新增--我的游戏列表
  */
 public class ActMyGameList extends BaseContainerActivity {
@@ -32,7 +32,7 @@ public class ActMyGameList extends BaseContainerActivity {
                 .setShowOrHide(this, true)
                 .setTitle(this, getString(R.string.my_games))
                 .setRightBtn(this, "更多", 0, view -> {
-                    ActionUtil.getInstance().addNextAction(ActMain.class.getSimpleName(), MainTab.FgtGameCenter);
+                    ActionUtil.getInstance().addNextAction(ActMain.class.getSimpleName(), MainTab.findGame);
                     Jump2View.getInstance().newTaskTopStartAct(ActMyGameList.this, ActMain.class, null);
                 })
                 .setTitleFinish(this);

+ 3 - 18
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGameCenter.java

@@ -1,25 +1,20 @@
 package com.sheep.gamegroup.module.game.fragment;
 
 import android.os.Bundle;
-
-import com.google.android.material.tabs.TabLayout;
-
-import androidx.viewpager.widget.ViewPager;
 import android.view.View;
 import android.widget.ImageView;
 
-import com.alibaba.fastjson.JSONObject;
+import androidx.viewpager.widget.ViewPager;
+
 import com.bumptech.glide.Glide;
-import com.sheep.gamegroup.event.BigEvent;
+import com.google.android.material.tabs.TabLayout;
 import com.sheep.gamegroup.event.WebViewEvent;
 import com.sheep.gamegroup.greendao.DDProviderHelper;
 import com.sheep.gamegroup.greendao.download.SheepAd;
 import com.sheep.gamegroup.model.entity.WebParams;
-import com.sheep.gamegroup.module.guide.NewbieGuideHelper;
 import com.sheep.gamegroup.module.webview.fragment.FgtWeb;
 import com.sheep.gamegroup.module.webview.fragment.FgtWebX5;
 import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.activity.helper.AdHelper;
 import com.sheep.gamegroup.view.adapter.TitleFragmentListAdapter;
@@ -176,14 +171,4 @@ public class FgtGameCenter extends BaseFragment {
         }
     }
 
-    @Subscribe
-    public void onEventMainThread(BigEvent event) {
-        LogUtil.logI("BigEvent:" + JSONObject.toJSONString(event));
-        switch (event.getEventTypes()) {
-            case GUIDE_SHOW_GAME:
-                new NewbieGuideHelper(getActivity()).show(NewbieGuideHelper.GUIDE_GAME);
-                break;
-        }
-    }
-
 }

+ 26 - 7
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGiftBagList.java

@@ -1,12 +1,14 @@
 package com.sheep.gamegroup.module.game.fragment;
 
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.sheep.gamegroup.event.BigEvent;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -15,12 +17,14 @@ import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.view.adapter.GiftCenterAdapter;
 import com.sheep.gamegroup.view.adapter.WelfareAdapter;
 import com.sheep.gamegroup.view.fragment.BaseListFragment2;
+import com.sheep.jiuyan.samllsheep.R;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 
 import java.util.Locale;
 
+import cn.modificator.waterwave_progress.WidgetUtil;
 import io.reactivex.Observable;
 import rx.functions.Action1;
 
@@ -42,6 +46,7 @@ public class FgtGiftBagList extends BaseListFragment2<GiftBagApp> implements Act
         return fragment;
     }
 
+
     public static FgtGiftBagList newInstanceByTagId(int tag_id) {
         FgtGiftBagList fragment = new FgtGiftBagList();
         Bundle bundle = new Bundle();
@@ -60,6 +65,7 @@ public class FgtGiftBagList extends BaseListFragment2<GiftBagApp> implements Act
         }
         return rootView;
     }
+
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -82,7 +88,7 @@ public class FgtGiftBagList extends BaseListFragment2<GiftBagApp> implements Act
 
     @Subscribe
     public void onEventMainThread(BigEvent event) {
-        CommonUtil.getInstance().setEventResultViewStatus(event, view_list);
+        CommonUtil.getInstance().setEventResultViewStatus(event, binding.viewList);
     }
 
     @Override
@@ -97,11 +103,24 @@ public class FgtGiftBagList extends BaseListFragment2<GiftBagApp> implements Act
     }
 
     @Override
+    protected Drawable getItemDecorationDrawable() {
+        return getResources().getDrawable(R.drawable.divider_12dp);
+    }
+
+    @Override
+    public void initView() {
+        super.initView();
+        binding.getRoot().setBackground(getActivity().getDrawable(R.drawable.gradient_mine_fragment));
+        int dp12 = WidgetUtil.Dp2Px(getContext(), 12);
+        binding.viewList.setPadding(dp12, 0, dp12, 0);
+    }
+
+    @Override
     protected String getKey(int page, int per_page) {
-        if(app_id > 0){
+        if (app_id > 0) {
             return String.format(Locale.CHINA, "app/gift_bag?page=%d&per_page=%d&app_id=%d", page, per_page, app_id);
         }
-        if(tag_id > 0){
+        if (tag_id > 0) {
             return String.format(Locale.CHINA, "app/gift_bag?page=%d&per_page=%d&tag_id=%d", page, per_page, tag_id);
         }
         return String.format(Locale.CHINA, "app/gift_bag?page=%d&per_page=%d", page, per_page);
@@ -109,10 +128,10 @@ public class FgtGiftBagList extends BaseListFragment2<GiftBagApp> implements Act
 
     @Override
     protected Observable<BaseMessage> getApi(ApiService apiService) {
-        if(app_id > 0){
+        if (app_id > 0) {
             return apiService.getGiftBagListByAppId(page, per_page, app_id);
         }
-        if(tag_id > 0){
+        if (tag_id > 0) {
             return apiService.getGiftBagListByTagId(page, per_page, tag_id);
         }
         return apiService.getGiftBagList(page, per_page);

+ 297 - 313
app/src/main/java/com/sheep/gamegroup/module/guide/NewbieGuideHelper.java

@@ -1,313 +1,297 @@
-package com.sheep.gamegroup.module.guide;
-
-import android.app.Activity;
-import android.util.Log;
-import android.view.Gravity;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.animation.AlphaAnimation;
-import android.view.animation.Animation;
-import com.app.hubert.guide.NewbieGuide;
-import com.app.hubert.guide.core.Builder;
-import com.app.hubert.guide.core.Controller;
-import com.app.hubert.guide.listener.OnGuideChangedListener;
-import com.app.hubert.guide.listener.OnLayoutInflatedListener;
-import com.app.hubert.guide.listener.OnPageChangedListener;
-import com.app.hubert.guide.model.GuidePage;
-import com.app.hubert.guide.model.HighLight;
-import com.app.hubert.guide.model.HighlightOptions;
-import com.app.hubert.guide.model.RelativeGuide;
-import com.kfzs.duanduan.cardview.ScreenUtil;
-import com.sheep.gamegroup.event.BigEvent;
-import com.sheep.gamegroup.event.EventTypes;
-import com.sheep.gamegroup.module.game.fragment.FgtGameCenter;
-import com.sheep.gamegroup.module.home.fragment.FgtHome;
-import com.sheep.gamegroup.module.home.fragment.FgtMainHeader;
-import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.view.activity.ActMain;
-import com.sheep.gamegroup.view.fragment.FgtPersonalCenter;
-import com.sheep.gamegroup.view.fragment.FgtSmallSheep;
-import com.sheep.jiuyan.samllsheep.R;
-import org.greenrobot.eventbus.EventBus;
-import org.xutils.common.util.LogUtil;
-import java.util.Arrays;
-import java.util.List;
-import static com.sheep.gamegroup.event.EventTypes.GUIDE_SWITCH_GAME;
-
-public class NewbieGuideHelper {
-
-    private final static String TAG = "NewbieGuide";
-
-    public final static int GUIDE_HOME = 0;
-    public final static int GUIDE_GAME = 1;
-    public final static int GUIDE_USER = 2;
-    public final static int GUIDE_FAQ = 3;
-    public final static int GUIDE_MONEY = 4;
-
-    private Activity mActivity;
-    private Animation enterAnimation;
-    private Animation exitAnimation;
-
-    private boolean goon = true;
-
-    public NewbieGuideHelper(Activity mActivity) {
-        this.mActivity = mActivity;
-        enterAnimation = new AlphaAnimation(0f, 1f);
-        enterAnimation.setDuration(300);
-        enterAnimation.setFillAfter(true);
-
-        exitAnimation = new AlphaAnimation(1f, 0f);
-        exitAnimation.setDuration(300);
-        exitAnimation.setFillAfter(true);
-    }
-
-    public void show(int type) {
-        List<GuidePage> pages = null;
-        if (type == GUIDE_HOME) {
-            pages = Arrays.asList(getPage2(), getPage3());
-        } else if (type == GUIDE_USER) {
-            pages = Arrays.asList(getPage6());
-        } else if (type == GUIDE_MONEY) {
-            pages = Arrays.asList(getPage5());
-        } else if (type == GUIDE_FAQ) {
-            pages = Arrays.asList(getPage7());
-        } else if (type == GUIDE_GAME) {
-            pages = Arrays.asList(getPage8(), getPage9(), getPage10());
-        } else {
-            return;
-        }
-        Builder builder = NewbieGuide.with(mActivity)
-                .setLabel("page_" + type)//设置引导层标示区分不同引导层,必传!否则报错
-                .setOnGuideChangedListener(new OnGuideChangedListener() {
-                    @Override
-                    public void onShowed(Controller controller) {
-                        LogUtil.i(TAG + " onShowed: ");
-                        //引导层显示
-                    }
-
-                    @Override
-                    public void onRemoved(Controller controller) {
-                        if (!goon) {
-                            EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.GUIDE_SHOW_HOME));
-                            return;
-                        }
-                        Log.e(TAG, "NewbieGuide  onRemoved: "+type);
-                        if (type == GUIDE_HOME) {
-                            Jump2View.getInstance().goPersonnalCenterView(mActivity, "newbie");
-                        } else if (type == GUIDE_USER) {
-                            FgtPersonalCenter.scrollToBottom(mActivity);
-                        } else if (type == GUIDE_FAQ) {
-                            FgtPersonalCenter.scrollToTop(mActivity);
-                        } else if (type == GUIDE_MONEY) {
-                            EventBus.getDefault().post(new BigEvent(GUIDE_SWITCH_GAME));
-                            mActivity.finish();
-                        } else if (type == GUIDE_GAME) {
-                            EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.FGT_SHEEP_SHOW_NEW_USER_HONG_BAO));
-                        }else {
-                            EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.GUIDE_SHOW_HOME));
-                        }
-                    }
-                })
-                .setOnPageChangedListener(new OnPageChangedListener() {
-
-                    @Override
-                    public void onPageChanged(int page) {
-                        //引导页切换,page为当前页位置,从0开始
-                    }
-                })
-                .alwaysShow(true);//是否每次都显示引导层,默认false,只显示一次
-        for (GuidePage page : pages) {
-            builder.addGuidePage(page);
-        }
-        builder.show();
-    }
-
-    private GuidePage getPage1() {
-        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_1, Gravity.RIGHT, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 30);
-                marginInfo.topMargin += ScreenUtil.dip2px(mActivity, 20);
-            }
-        };
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(ActMain.tabBtn1.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
-                .addHighLightWithOptions(FgtSmallSheep.listRef.get(), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).useMaxSize(false).setOffsetWidth(0.25f).setOffsetHeight(0.5f).build())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private GuidePage getPage2() {
-        RelativeGuide relativeGuide1 = new RelativeGuide(R.layout.newbie_guide_2_1, Gravity.RIGHT, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 70);
-                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 40);
-            }
-        };
-        RelativeGuide relativeGuide2 = new RelativeGuide(R.layout.newbie_guide_2_2, Gravity.LEFT, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.rightMargin -= ScreenUtil.dip2px(mActivity, 40);
-            }
-        };
-        RelativeGuide relativeGuide3 = new RelativeGuide(R.layout.newbie_guide_2_3, Gravity.BOTTOM, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 200);
-                marginInfo.topMargin += ScreenUtil.dip2px(mActivity, 4);
-            }
-        };
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(FgtMainHeader.menuBtn.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide3).useMaxSize(true).build())
-                //.addHighLightWithOptions(FgtMainHeader.msgRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide2).useMaxSize(true).build())
-                //.addHighLightWithOptions(FgtHome.newsRef.get(), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide1).useMaxSize(false).setOffsetLeft(0.2f).setOffsetWidth(0.6f).build())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画;
-    }
-
-    private GuidePage getPage3() {
-        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_3_1, Gravity.RIGHT, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 50);
-                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 4);
-            }
-        };
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(ActMain.tabBtn1.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
-                .addHighLightWithOptions(FgtMainHeader.faceRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).useMaxSize(true).build())
-                .setLayoutRes(R.layout.newbie_guide_3_2)
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private GuidePage getPage4() {
-        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_4, Gravity.LEFT, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.rightMargin -= ScreenUtil.dip2px(mActivity, 20);
-                marginInfo.topMargin += ScreenUtil.dip2px(mActivity, 10);
-            }
-        };
-        int round = ScreenUtil.dip2px(mActivity, 20);
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(ActMain.tabBtn1.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
-                .addHighLightWithOptions(FgtHome.meetRef.get(), HighLight.Shape.ROUND_RECTANGLE, round, 0, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
-                .setLayoutRes(R.layout.newbie_guide_cancel)
-                .setOnLayoutInflatedListener(new OnBackgroundListener())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private GuidePage getPage5() {
-        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_5, Gravity.BOTTOM, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-            }
-        };
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(FgtPersonalCenter.myMoneyRef.get(), HighLight.Shape.RECTANGLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
-                .setLayoutRes(R.layout.newbie_guide_cancel)
-                .setLayoutRes(R.layout.newbie_guide_cancel)
-                .setOnLayoutInflatedListener(new OnBackgroundListener())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private GuidePage getPage6() {
-        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_6, Gravity.TOP, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.bottomMargin -= ScreenUtil.dip2px(mActivity, 100);
-            }
-        };
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(FgtPersonalCenter.accountDetailRef.get(), HighLight.Shape.RECTANGLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
-                .setLayoutRes(R.layout.newbie_guide_cancel)
-                .setOnLayoutInflatedListener(new OnBackgroundListener())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private GuidePage getPage7() {
-        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_7, Gravity.TOP, 0);
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(FgtPersonalCenter.fagRef.get(), HighLight.Shape.RECTANGLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
-                .setLayoutRes(R.layout.newbie_guide_cancel)
-                .setOnLayoutInflatedListener(new OnBackgroundListener())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private GuidePage getPage8() {
-        RelativeGuide relativeGuide1 = new RelativeGuide(R.layout.newbie_guide_8_1, Gravity.BOTTOM, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 40);
-            }
-        };
-        RelativeGuide relativeGuide2 = new RelativeGuide(R.layout.newbie_guide_8_2, Gravity.BOTTOM, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 43);
-                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 36);
-            }
-        };
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(ActMain.tabBtn2.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
-                //.addHighLightWithOptions(FgtMainHeader.downloadRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide2).build())
-                .addHighLightWithOptions(FgtGameCenter.getTab(0), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide1).build())
-                .setLayoutRes(R.layout.newbie_guide_8_3)
-                .setOnLayoutInflatedListener(new OnBackgroundListener())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private GuidePage getPage9() {
-        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_9, Gravity.BOTTOM, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 40);
-                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 50);
-            }
-        };
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(ActMain.tabBtn2.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
-                .addHighLightWithOptions(FgtGameCenter.getTab(1), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
-                .setLayoutRes(R.layout.newbie_guide_cancel)
-                .setOnLayoutInflatedListener(new OnBackgroundListener())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private GuidePage getPage10() {
-        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_10, Gravity.LEFT, 0) {
-            @Override
-            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
-                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 50);
-                marginInfo.rightMargin -= ScreenUtil.dip2px(mActivity, 80);
-            }
-        };
-        return GuidePage.newInstance()//创建一个实例
-                .addHighLightWithOptions(ActMain.tabBtn2.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
-                .addHighLightWithOptions(FgtGameCenter.getTab(3), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
-                .setLayoutRes(R.layout.newbie_guide_cancel)
-                .setOnLayoutInflatedListener(new OnBackgroundListener())
-                .setEnterAnimation(enterAnimation)//进入动画
-                .setExitAnimation(exitAnimation);//退出动画
-    }
-
-    private class OnBackgroundListener implements OnLayoutInflatedListener {
-
-        @Override
-        public void onLayoutInflated(View view, Controller controller) {
-            view.findViewById(R.id.cancel_guide_btn).setOnClickListener(v -> {
-                goon = false;
-                controller.remove();
-                EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.FGT_SHEEP_SHOW_NEW_USER_HONG_BAO));
-            });
-        }
-    }
-
-}
+//package com.sheep.gamegroup.module.guide;
+//
+//import android.app.Activity;
+//import android.util.Log;
+//import android.view.Gravity;
+//import android.view.View;
+//import android.view.ViewGroup;
+//import android.view.animation.AlphaAnimation;
+//import android.view.animation.Animation;
+//import com.app.hubert.guide.NewbieGuide;
+//import com.app.hubert.guide.core.Builder;
+//import com.app.hubert.guide.core.Controller;
+//import com.app.hubert.guide.listener.OnGuideChangedListener;
+//import com.app.hubert.guide.listener.OnLayoutInflatedListener;
+//import com.app.hubert.guide.listener.OnPageChangedListener;
+//import com.app.hubert.guide.model.GuidePage;
+//import com.app.hubert.guide.model.HighLight;
+//import com.app.hubert.guide.model.HighlightOptions;
+//import com.app.hubert.guide.model.RelativeGuide;
+//import com.kfzs.duanduan.cardview.ScreenUtil;
+//import com.sheep.gamegroup.event.BigEvent;
+//import com.sheep.gamegroup.event.EventTypes;
+//import com.sheep.gamegroup.module.game.fragment.FgtGameCenter;
+//import com.sheep.gamegroup.module.home.fragment.FgtHome;
+//import com.sheep.gamegroup.module.home.fragment.FgtMainHeader;
+//import com.sheep.gamegroup.util.Jump2View;
+//import com.sheep.gamegroup.view.activity.ActMain;
+//import com.sheep.gamegroup.view.fragment.FgtPersonalCenter;
+//import com.sheep.gamegroup.view.fragment.FgtSmallSheep;
+//import com.sheep.jiuyan.samllsheep.R;
+//import org.greenrobot.eventbus.EventBus;
+//import org.xutils.common.util.LogUtil;
+//import java.util.Arrays;
+//import java.util.List;
+//import static com.sheep.gamegroup.event.EventTypes.GUIDE_SWITCH_GAME;
+//
+//public class NewbieGuideHelper {
+//
+//    private final static String TAG = "NewbieGuide";
+//
+//    public final static int GUIDE_HOME = 0;
+//    public final static int GUIDE_GAME = 1;
+//    public final static int GUIDE_USER = 2;
+//    public final static int GUIDE_FAQ = 3;
+//    public final static int GUIDE_MONEY = 4;
+//
+//    private Activity mActivity;
+//    private Animation enterAnimation;
+//    private Animation exitAnimation;
+//
+//    private boolean goon = true;
+//
+//    public NewbieGuideHelper(Activity mActivity) {
+//        this.mActivity = mActivity;
+//        enterAnimation = new AlphaAnimation(0f, 1f);
+//        enterAnimation.setDuration(300);
+//        enterAnimation.setFillAfter(true);
+//
+//        exitAnimation = new AlphaAnimation(1f, 0f);
+//        exitAnimation.setDuration(300);
+//        exitAnimation.setFillAfter(true);
+//    }
+//
+//    public void show(int type) {
+//        List<GuidePage> pages = null;
+//        if (type == GUIDE_HOME) {
+//            pages = Arrays.asList(getPage2(), getPage3());
+//        } else if (type == GUIDE_USER) {
+//            pages = Arrays.asList(getPage6());
+//        } else if (type == GUIDE_MONEY) {
+//            pages = Arrays.asList(getPage5());
+//        } else if (type == GUIDE_FAQ) {
+//            pages = Arrays.asList(getPage7());
+//        } else if (type == GUIDE_GAME) {
+//            pages = Arrays.asList(getPage8(), getPage9(), getPage10());
+//        } else {
+//            return;
+//        }
+//        Builder builder = NewbieGuide.with(mActivity)
+//                .setLabel("page_" + type)//设置引导层标示区分不同引导层,必传!否则报错
+//                .setOnGuideChangedListener(new OnGuideChangedListener() {
+//                    @Override
+//                    public void onShowed(Controller controller) {
+//                        LogUtil.i(TAG + " onShowed: ");
+//                        //引导层显示
+//                    }
+//
+//                    @Override
+//                    public void onRemoved(Controller controller) {
+//                        if (!goon) {
+//                            EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.GUIDE_SHOW_HOME));
+//                            return;
+//                        }
+//                        Log.e(TAG, "NewbieGuide  onRemoved: "+type);
+//                        if (type == GUIDE_HOME) {
+//                            Jump2View.getInstance().goPersonnalCenterView(mActivity, "newbie");
+//                        } else if (type == GUIDE_USER) {
+//                            FgtPersonalCenter.scrollToBottom(mActivity);
+//                        } else if (type == GUIDE_FAQ) {
+//                            FgtPersonalCenter.scrollToTop(mActivity);
+//                        } else if (type == GUIDE_MONEY) {
+//                            EventBus.getDefault().post(new BigEvent(GUIDE_SWITCH_GAME));
+//                            mActivity.finish();
+//                        } else if (type == GUIDE_GAME) {
+//                            EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.FGT_SHEEP_SHOW_NEW_USER_HONG_BAO));
+//                        }else {
+//                            EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.GUIDE_SHOW_HOME));
+//                        }
+//                    }
+//                })
+//                .setOnPageChangedListener(new OnPageChangedListener() {
+//
+//                    @Override
+//                    public void onPageChanged(int page) {
+//                        //引导页切换,page为当前页位置,从0开始
+//                    }
+//                })
+//                .alwaysShow(true);//是否每次都显示引导层,默认false,只显示一次
+//        for (GuidePage page : pages) {
+//            builder.addGuidePage(page);
+//        }
+//        builder.show();
+//    }
+//    private GuidePage getPage2() {
+//        RelativeGuide relativeGuide1 = new RelativeGuide(R.layout.newbie_guide_2_1, Gravity.RIGHT, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 70);
+//                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 40);
+//            }
+//        };
+//        RelativeGuide relativeGuide2 = new RelativeGuide(R.layout.newbie_guide_2_2, Gravity.LEFT, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.rightMargin -= ScreenUtil.dip2px(mActivity, 40);
+//            }
+//        };
+//        RelativeGuide relativeGuide3 = new RelativeGuide(R.layout.newbie_guide_2_3, Gravity.BOTTOM, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 200);
+//                marginInfo.topMargin += ScreenUtil.dip2px(mActivity, 4);
+//            }
+//        };
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(FgtMainHeader.menuBtn.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide3).useMaxSize(true).build())
+//                //.addHighLightWithOptions(FgtMainHeader.msgRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide2).useMaxSize(true).build())
+//                //.addHighLightWithOptions(FgtHome.newsRef.get(), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide1).useMaxSize(false).setOffsetLeft(0.2f).setOffsetWidth(0.6f).build())
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画;
+//    }
+//
+//    private GuidePage getPage3() {
+//        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_3_1, Gravity.RIGHT, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 50);
+//                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 4);
+//            }
+//        };
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(ActMain.tabHome.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
+//                .addHighLightWithOptions(FgtMainHeader.faceRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).useMaxSize(true).build())
+//                .setLayoutRes(R.layout.newbie_guide_3_2)
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画
+//    }
+//
+//    private GuidePage getPage4() {
+//        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_4, Gravity.LEFT, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.rightMargin -= ScreenUtil.dip2px(mActivity, 20);
+//                marginInfo.topMargin += ScreenUtil.dip2px(mActivity, 10);
+//            }
+//        };
+//        int round = ScreenUtil.dip2px(mActivity, 20);
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(ActMain.tabHome.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
+//                .addHighLightWithOptions(FgtHome.meetRef.get(), HighLight.Shape.ROUND_RECTANGLE, round, 0, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
+//                .setLayoutRes(R.layout.newbie_guide_cancel)
+//                .setOnLayoutInflatedListener(new OnBackgroundListener())
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画
+//    }
+//
+//    private GuidePage getPage5() {
+//        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_5, Gravity.BOTTOM, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//            }
+//        };
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(FgtPersonalCenter.myMoneyRef.get(), HighLight.Shape.RECTANGLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
+//                .setLayoutRes(R.layout.newbie_guide_cancel)
+//                .setLayoutRes(R.layout.newbie_guide_cancel)
+//                .setOnLayoutInflatedListener(new OnBackgroundListener())
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画
+//    }
+//
+//    private GuidePage getPage6() {
+//        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_6, Gravity.TOP, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.bottomMargin -= ScreenUtil.dip2px(mActivity, 100);
+//            }
+//        };
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(FgtPersonalCenter.accountDetailRef.get(), HighLight.Shape.RECTANGLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
+//                .setLayoutRes(R.layout.newbie_guide_cancel)
+//                .setOnLayoutInflatedListener(new OnBackgroundListener())
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画
+//    }
+//
+//    private GuidePage getPage7() {
+//        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_7, Gravity.TOP, 0);
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(FgtPersonalCenter.fagRef.get(), HighLight.Shape.RECTANGLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
+//                .setLayoutRes(R.layout.newbie_guide_cancel)
+//                .setOnLayoutInflatedListener(new OnBackgroundListener())
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画
+//    }
+//
+//    private GuidePage getPage8() {
+//        RelativeGuide relativeGuide1 = new RelativeGuide(R.layout.newbie_guide_8_1, Gravity.BOTTOM, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 40);
+//            }
+//        };
+//        RelativeGuide relativeGuide2 = new RelativeGuide(R.layout.newbie_guide_8_2, Gravity.BOTTOM, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 43);
+//                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 36);
+//            }
+//        };
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(ActMain.tabFindGame.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
+//                //.addHighLightWithOptions(FgtMainHeader.downloadRef.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().setRelativeGuide(relativeGuide2).build())
+//                .addHighLightWithOptions(FgtGameCenter.getTab(0), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide1).build())
+//                .setLayoutRes(R.layout.newbie_guide_8_3)
+//                .setOnLayoutInflatedListener(new OnBackgroundListener())
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画
+//    }
+//
+//    private GuidePage getPage9() {
+//        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_9, Gravity.BOTTOM, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 40);
+//                marginInfo.leftMargin -= ScreenUtil.dip2px(mActivity, 50);
+//            }
+//        };
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(ActMain.tabFindGame.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
+//                .addHighLightWithOptions(FgtGameCenter.getTab(1), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
+//                .setLayoutRes(R.layout.newbie_guide_cancel)
+//                .setOnLayoutInflatedListener(new OnBackgroundListener())
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画
+//    }
+//
+//    private GuidePage getPage10() {
+//        RelativeGuide relativeGuide = new RelativeGuide(R.layout.newbie_guide_10, Gravity.LEFT, 0) {
+//            @Override
+//            protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
+//                marginInfo.topMargin -= ScreenUtil.dip2px(mActivity, 50);
+//                marginInfo.rightMargin -= ScreenUtil.dip2px(mActivity, 80);
+//            }
+//        };
+//        return GuidePage.newInstance()//创建一个实例
+//                .addHighLightWithOptions(ActMain.tabFindGame.get(), HighLight.Shape.CIRCLE, new HighlightOptions.Builder().useMaxSize(false).build())
+//                .addHighLightWithOptions(FgtGameCenter.getTab(3), HighLight.Shape.OVAL, new HighlightOptions.Builder().setRelativeGuide(relativeGuide).build())
+//                .setLayoutRes(R.layout.newbie_guide_cancel)
+//                .setOnLayoutInflatedListener(new OnBackgroundListener())
+//                .setEnterAnimation(enterAnimation)//进入动画
+//                .setExitAnimation(exitAnimation);//退出动画
+//    }
+//
+//    private class OnBackgroundListener implements OnLayoutInflatedListener {
+//
+//        @Override
+//        public void onLayoutInflated(View view, Controller controller) {
+//            view.findViewById(R.id.cancel_guide_btn).setOnClickListener(v -> {
+//                goon = false;
+//                controller.remove();
+//                EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.FGT_SHEEP_SHOW_NEW_USER_HONG_BAO));
+//            });
+//        }
+//    }
+//
+//}

+ 13 - 28
app/src/main/java/com/sheep/gamegroup/module/home/fragment/HomeWrapperFragment.java

@@ -1,23 +1,16 @@
 package com.sheep.gamegroup.module.home.fragment;
 
+import android.os.Bundle;
+
 import androidx.fragment.app.FragmentTransaction;
-import android.view.View;
-import com.kfzs.duanduan.cardview.ScreenUtil;
-import com.sheep.gamegroup.event.BigEvent;
+
 import com.sheep.gamegroup.model.entity.WebParams;
-import com.sheep.gamegroup.module.guide.NewbieGuideHelper;
-import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
 
 public class HomeWrapperFragment extends BaseFragment {
 
-    private View frame_container;
-
     private BaseFragment contentFragment;
 
     @Override
@@ -27,13 +20,12 @@ public class HomeWrapperFragment extends BaseFragment {
 
     @Override
     public void onViewCreated() {
-        EventBus.getDefault().register(this);
-        frame_container = getView().findViewById(R.id.frame_container);
-        frame_container.setPadding(0, ScreenUtil.dip2px(getContext(), 8), 0, 0);
+//        frame_container.setPadding(0, ScreenUtil.dip2px(getContext(), 8), 0, 0);
         contentFragment = (BaseFragment) getChildFragmentManager().findFragmentByTag("fragment_content");
         FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
         if (contentFragment == null) {
-            contentFragment = ViewUtil.newWebFragment(new WebParams(Config.getUrlByPath(Config.PATH_APP_HOME)).hideProgress());
+//            contentFragment = ViewUtil.newWebFragment(new WebParams(Config.getUrlByPath(Config.PATH_APP_HOME)).hideProgress());
+            contentFragment = ViewUtil.newWebFragment(new WebParams("http://10.8.200.228:8082/#/home").hideProgress());
             transaction.add(R.id.frame_container, contentFragment, "fragment_content").show(contentFragment);
         } else {
             transaction.show(contentFragment);
@@ -48,22 +40,15 @@ public class HomeWrapperFragment extends BaseFragment {
 
     @Override
     public void onDestroy() {
-        EventBus.getDefault().unregister(this);
         super.onDestroy();
     }
 
-    @Subscribe
-    public void onEventMainThread(BigEvent event) {
-        switch (event.getEventTypes()) {
-            case GUIDE_SHOW_HOME:
-                getActivity().runOnUiThread(() -> {
-                    CommonUtil.getInstance().checkNewbieGuideViewed(i -> {
-                        if (i == 0) {
-                            new NewbieGuideHelper(getActivity()).show(NewbieGuideHelper.GUIDE_HOME);
-                        }
-                    });
-                });
-                break;
-        }
+    public static HomeWrapperFragment newInstance() {
+
+        Bundle args = new Bundle();
+
+        HomeWrapperFragment fragment = new HomeWrapperFragment();
+        fragment.setArguments(args);
+        return fragment;
     }
 }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/pay/fragment/CompletionInfoFragment.java

@@ -25,7 +25,7 @@ public class CompletionInfoFragment extends AbsConfirmFragment {
 
     @Override
     public void onConfirm() {
-        Jump2View.getInstance().goPersionInfo(getContext(), null);
+        Jump2View.getInstance().goPersionInfo(getContext());
         getActivity().finish();
     }
 }

+ 8 - 44
app/src/main/java/com/sheep/gamegroup/module/search/GiftHolder.java

@@ -1,46 +1,17 @@
 package com.sheep.gamegroup.module.search;
 
-import androidx.annotation.NonNull;
-
 import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
+
+import androidx.annotation.NonNull;
 
 import com.sheep.gamegroup.model.entity.GiftBagApp;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.jiuyan.samllsheep.R;
-
-import butterknife.BindView;
+import com.sheep.jiuyan.samllsheep.databinding.ItemDownloadWelfareBinding;
 
 public class GiftHolder extends SearchResultHolder<GiftBagApp> {
 
-    @BindView(R.id.item_download_welfare_iv)
-    ImageView item_download_welfare_iv;
-    @BindView(R.id.item_download_welfare_tip_iv)
-    ImageView item_download_welfare_tip_iv;
-    @BindView(R.id.item_download_welfare_iv2)
-    ImageView item_download_welfare_iv2;
-    @BindView(R.id.item_download_welfare_name_tv)
-    TextView item_download_welfare_name_tv;
-    @BindView(R.id.item_download_welfare_money)
-    TextView item_download_welfare_money;
-    @BindView(R.id.item_download_welfare_num_tv)
-    TextView item_download_welfare_num_tv;
-    @BindView(R.id.item_download_welfare_num_tv1)
-    TextView item_download_welfare_num_tv1;
-    @BindView(R.id.item_download_welfare_date_tv)
-    TextView item_download_welfare_date_tv;
-    @BindView(R.id.item_download_welfare_btn_bottom)
-    TextView item_download_welfare_btn_bottom;
-    @BindView(R.id.item_download_welfare_btn_top)
-    TextView item_download_welfare_btn_top;
-    @BindView(R.id.item_download_welfare_btn_center)
-    TextView item_download_welfare_btn_center;
-    @BindView(R.id.item_download_welfare_line)
-    View item_download_welfare_line;
-
     public GiftHolder(@NonNull View itemView) {
         super(itemView);
         itemView.setOnClickListener((v) -> {
@@ -50,18 +21,11 @@ public class GiftHolder extends SearchResultHolder<GiftBagApp> {
 
     @Override
     public void configView() {
-        item_download_welfare_money.setVisibility(View.GONE);
-        item_download_welfare_btn_bottom.setVisibility(View.GONE);
-        item_download_welfare_btn_top.setVisibility(View.GONE);
-        item_download_welfare_num_tv1.setVisibility(View.GONE);
-        item_download_welfare_iv2.setVisibility(View.GONE);
-        item_download_welfare_btn_center.setVisibility(View.VISIBLE);
-        GlideImageLoader.setGameImage(item_download_welfare_iv, item.getApp().getIcon());
-        ViewUtil.setText(item_download_welfare_name_tv, item.getGift_bag().getGiftName());
-        ViewUtil.setText(item_download_welfare_date_tv, item.getGift_bag().getDateText());
-        item_download_welfare_tip_iv.setVisibility(View.GONE);
-        ViewUtil.setText(item_download_welfare_num_tv, item.getGift_bag().getLastNumText());
-        item_download_welfare_btn_center.setText("领取");
+        ItemDownloadWelfareBinding binding = ItemDownloadWelfareBinding.bind(itemView);
+        binding.btn.setVisibility(View.VISIBLE);
+        GlideImageLoader.setGameImage(binding.icon, item.getApp().getIcon());
+        ViewUtil.setText(binding.tvTitle, item.getGift_bag().getGiftName());
+        binding.btn.setText("领取");
     }
 
 }

+ 19 - 6
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java

@@ -1,5 +1,7 @@
 package com.sheep.gamegroup.module.webview.fragment;
 
+import static android.app.Activity.RESULT_OK;
+
 import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -10,8 +12,6 @@ import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
 import android.provider.MediaStore;
-import androidx.appcompat.app.ActionBar;
-import androidx.appcompat.app.AlertDialog;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
 import android.util.Log;
@@ -23,11 +23,24 @@ import android.view.animation.AnimationUtils;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.ProgressBar;
+
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AlertDialog;
+
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.dateview.DateUtil;
 import com.sheep.gamegroup.event.WXLoginAuthEvent;
 import com.sheep.gamegroup.model.entity.WebParams;
-import com.sheep.gamegroup.util.*;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.Constant;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.DeviceUtil;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.SharedPreferencesUtil;
+import com.sheep.gamegroup.util.StringUtils;
+import com.sheep.gamegroup.util.TestUtil;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.h5game.H5GameUtil;
 import com.sheep.gamegroup.util.js.KFZSJs;
 import com.sheep.gamegroup.view.activity.ActMain;
@@ -56,6 +69,8 @@ import com.yalantis.ucrop.util.FileUtils;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.StringCallback;
 
+import org.greenrobot.eventbus.EventBus;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -67,9 +82,6 @@ import butterknife.BindView;
 import cn.finalteam.rxgalleryfinal.utils.CameraUtil;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import okhttp3.Call;
-import org.greenrobot.eventbus.EventBus;
-
-import static android.app.Activity.RESULT_OK;
 
 /**
  * Created by realicing on 2019/4/12.
@@ -245,6 +257,7 @@ public class FgtWebX5 extends BaseFgtWebX5 {
         webSetting.setAllowFileAccess(true);
         webSetting.setAppCacheEnabled(true);
         webSetting.setDatabaseEnabled(true);
+
         webSetting.setCacheMode(WebSettings.LOAD_DEFAULT);
         webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND);
         /*webSetting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

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

@@ -1,5 +1,44 @@
 package com.sheep.gamegroup.util;
 
+import static com.sheep.gamegroup.model.entity.TaskEty.TASK_TYPE_CREDIT_CARD;
+import static com.sheep.gamegroup.model.entity.TaskEty.TASK_TYPE_REWARD;
+import static com.sheep.gamegroup.model.entity.TaskEty.TASK_TYPE_VIDEO_AD;
+import static com.sheep.gamegroup.model.entity.TaskEty.TASK_TYPE_WELFARE;
+import static com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail.AUTO_DOWNLOAD;
+import static com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail.KEY_HAS_WELFARE;
+import static com.sheep.gamegroup.util.Constant.REQUEST_CODE_GOT_REWARDS;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.ASK_MAKE_MONEY_INVITATION;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.FIND_ITEM;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_DOWNLOAD_WELFARE_LIST;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_EVERY_DAY_MORE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_GIFT_CENTER;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_GROUP_DETAIL;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_GROUP_SEARCH;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_INSTEAD_OF_RECHARGE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_MY_WELFARE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_PLAY_GAME_DETAIL;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_WELFARE_SPECIAL_AREA;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_DETAIL;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.MI_DONG_VIEW;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.RECHARGE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.RECHARGE_QQ;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.SEARCH_GAME;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.SETTING;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.SYSTEM_NOTIFICATION_DETAIL;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_ABOUT_US;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_CHANGE_PASSWORD;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_FEEDBACK;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_FIND_APP_ORDER;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_GAME_ACCOUNT;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_INFO;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_INFO_ADDR;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_MY_MONEY;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_NEW_VERSION;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_TASK_RECORD;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.XIAOMI_GAME_LIST;
+import static com.sheep.jiuyan.samllsheep.service.FloatShotScreenService.SET_SHOW_OR_HIDE;
+import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
+
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
@@ -9,7 +48,7 @@ import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
-import cn.finalteam.rxgalleryfinal.utils.CameraUtil;
+
 import com.kfzs.cfyl.share_library.util.CallBackAPI;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
@@ -23,12 +62,52 @@ import com.sheep.gamegroup.greendao.DDProviderHelper;
 import com.sheep.gamegroup.greendao.download.DownLoadInfo;
 import com.sheep.gamegroup.greendao.download.SdkLoginUser;
 import com.sheep.gamegroup.greendao.download.SheepAd;
-import com.sheep.gamegroup.model.entity.*;
+import com.sheep.gamegroup.model.entity.Agreement;
+import com.sheep.gamegroup.model.entity.Applications;
+import com.sheep.gamegroup.model.entity.Article;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.BulletinEnty;
+import com.sheep.gamegroup.model.entity.CheckUserLabel;
+import com.sheep.gamegroup.model.entity.CommendApp;
+import com.sheep.gamegroup.model.entity.Container;
+import com.sheep.gamegroup.model.entity.CreditCard;
+import com.sheep.gamegroup.model.entity.DialogConfig;
+import com.sheep.gamegroup.model.entity.DialogEntity;
+import com.sheep.gamegroup.model.entity.DiscoveryTopic;
+import com.sheep.gamegroup.model.entity.DiscoveryVideo;
+import com.sheep.gamegroup.model.entity.GameEntity;
+import com.sheep.gamegroup.model.entity.GameListTag;
+import com.sheep.gamegroup.model.entity.GameListType;
+import com.sheep.gamegroup.model.entity.GiftBagApp;
+import com.sheep.gamegroup.model.entity.HomeListEntity;
+import com.sheep.gamegroup.model.entity.IDBean;
+import com.sheep.gamegroup.model.entity.LoginEntity;
+import com.sheep.gamegroup.model.entity.Mission;
+import com.sheep.gamegroup.model.entity.NewbieTask;
+import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
+import com.sheep.gamegroup.model.entity.Release_task;
+import com.sheep.gamegroup.model.entity.RouserArticlesEntity;
+import com.sheep.gamegroup.model.entity.SystemNotification;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.UserEntity;
+import com.sheep.gamegroup.model.entity.VersionInfo;
+import com.sheep.gamegroup.model.entity.Video;
+import com.sheep.gamegroup.model.entity.WebParams;
+import com.sheep.gamegroup.model.entity.WebviewEntity;
+import com.sheep.gamegroup.model.entity.XianWanEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.model.util.ShowRedDot;
 import com.sheep.gamegroup.module.find.activity.ActFind;
 import com.sheep.gamegroup.module.find.activity.ActMediaChoose;
-import com.sheep.gamegroup.module.game.activity.*;
+import com.sheep.gamegroup.module.game.activity.ActDownloadManager;
+import com.sheep.gamegroup.module.game.activity.ActGameCenterType;
+import com.sheep.gamegroup.module.game.activity.ActGameGroupMore;
+import com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail;
+import com.sheep.gamegroup.module.game.activity.ActGameRank;
+import com.sheep.gamegroup.module.game.activity.ActGitBagList;
+import com.sheep.gamegroup.module.game.activity.ActMyGameList;
+import com.sheep.gamegroup.module.game.activity.ActWelfareSpecialArea;
 import com.sheep.gamegroup.module.game.model.GameCenterType;
 import com.sheep.gamegroup.module.game.model.GameGroup;
 import com.sheep.gamegroup.module.game.model.GiftTags;
@@ -49,7 +128,91 @@ import com.sheep.gamegroup.module.webview.fragment.FgtWebX5;
 import com.sheep.gamegroup.module.yf_shop.model.ReceiveCouponsCheckResq;
 import com.sheep.gamegroup.module.yf_shop.model.ReceiveCouponsResp;
 import com.sheep.gamegroup.util.share.ShareLinkConfig;
-import com.sheep.gamegroup.view.activity.*;
+import com.sheep.gamegroup.view.activity.ActApprenticeRedPacket;
+import com.sheep.gamegroup.view.activity.ActArticleComment;
+import com.sheep.gamegroup.view.activity.ActAudit;
+import com.sheep.gamegroup.view.activity.ActBindMobileRegister;
+import com.sheep.gamegroup.view.activity.ActCoinCenter;
+import com.sheep.gamegroup.view.activity.ActCommentGameApp;
+import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
+import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
+import com.sheep.gamegroup.view.activity.ActDownloadWelfareList;
+import com.sheep.gamegroup.view.activity.ActEntertainmentLuckDraw;
+import com.sheep.gamegroup.view.activity.ActEveryDayShare;
+import com.sheep.gamegroup.view.activity.ActExchangeCMCC;
+import com.sheep.gamegroup.view.activity.ActExchangeMall;
+import com.sheep.gamegroup.view.activity.ActFootprint;
+import com.sheep.gamegroup.view.activity.ActGameAccount;
+import com.sheep.gamegroup.view.activity.ActGameAgencyRecharge;
+import com.sheep.gamegroup.view.activity.ActGameCenter;
+import com.sheep.gamegroup.view.activity.ActGcGameAppDetail;
+import com.sheep.gamegroup.view.activity.ActGiftCenter;
+import com.sheep.gamegroup.view.activity.ActGiftDetail;
+import com.sheep.gamegroup.view.activity.ActGuide;
+import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
+import com.sheep.gamegroup.view.activity.ActGuideOnHook;
+import com.sheep.gamegroup.view.activity.ActImg;
+import com.sheep.gamegroup.view.activity.ActInputAndPickerImg;
+import com.sheep.gamegroup.view.activity.ActInvitation;
+import com.sheep.gamegroup.view.activity.ActLoadH5;
+import com.sheep.gamegroup.view.activity.ActMain;
+import com.sheep.gamegroup.view.activity.ActMiDong;
+import com.sheep.gamegroup.view.activity.ActModifyThird;
+import com.sheep.gamegroup.view.activity.ActMyFocus;
+import com.sheep.gamegroup.view.activity.ActMyMoney;
+import com.sheep.gamegroup.view.activity.ActMyWelfare;
+import com.sheep.gamegroup.view.activity.ActNewAboutUs;
+import com.sheep.gamegroup.view.activity.ActNewbieTaskList;
+import com.sheep.gamegroup.view.activity.ActNotice;
+import com.sheep.gamegroup.view.activity.ActPlayGameList;
+import com.sheep.gamegroup.view.activity.ActPlayGameRecommendList;
+import com.sheep.gamegroup.view.activity.ActPlayGameUserLikeList;
+import com.sheep.gamegroup.view.activity.ActPlayVideo;
+import com.sheep.gamegroup.view.activity.ActPublishArticle;
+import com.sheep.gamegroup.view.activity.ActSearchApp;
+import com.sheep.gamegroup.view.activity.ActSearchGame;
+import com.sheep.gamegroup.view.activity.ActSetting;
+import com.sheep.gamegroup.view.activity.ActSignCard;
+import com.sheep.gamegroup.view.activity.ActSignCardRecord;
+import com.sheep.gamegroup.view.activity.ActSysNfDetail;
+import com.sheep.gamegroup.view.activity.ActUnderstandSheep;
+import com.sheep.gamegroup.view.activity.ActUserAppHome;
+import com.sheep.gamegroup.view.activity.ActUserLabelList;
+import com.sheep.gamegroup.view.activity.ActUserNoviceGuidance;
+import com.sheep.gamegroup.view.activity.ActVideoComment;
+import com.sheep.gamegroup.view.activity.ActVideoDetail;
+import com.sheep.gamegroup.view.activity.ActWebX5;
+import com.sheep.gamegroup.view.activity.ActWebX5NewProcess;
+import com.sheep.gamegroup.view.activity.ActWebX5Single;
+import com.sheep.gamegroup.view.activity.ActXianWanWeb;
+import com.sheep.gamegroup.view.activity.ActXiaomiGame;
+import com.sheep.gamegroup.view.activity.AskGetMoneyAct;
+import com.sheep.gamegroup.view.activity.BindOrChangeWeixinAct;
+import com.sheep.gamegroup.view.activity.ChangeTelAct;
+import com.sheep.gamegroup.view.activity.ChangeWxOrTelAct;
+import com.sheep.gamegroup.view.activity.CommitWxAct;
+import com.sheep.gamegroup.view.activity.CommitWxCodeAct;
+import com.sheep.gamegroup.view.activity.DialogToastAct;
+import com.sheep.gamegroup.view.activity.FeedbackAct;
+import com.sheep.gamegroup.view.activity.GameTaskOrderListAct;
+import com.sheep.gamegroup.view.activity.GamemakeMoneyAct;
+import com.sheep.gamegroup.view.activity.LieMakeMoneyAct;
+import com.sheep.gamegroup.view.activity.PersonalCenterAct;
+import com.sheep.gamegroup.view.activity.PersonalInfoAct;
+import com.sheep.gamegroup.view.activity.RealNameAuthenAct;
+import com.sheep.gamegroup.view.activity.RechargeAct;
+import com.sheep.gamegroup.view.activity.RechargeQAct;
+import com.sheep.gamegroup.view.activity.RechargeResultAct;
+import com.sheep.gamegroup.view.activity.SignRankingsAct;
+import com.sheep.gamegroup.view.activity.TaskDetailAct;
+import com.sheep.gamegroup.view.activity.TaskDetailAddQQAct;
+import com.sheep.gamegroup.view.activity.TaskDetailCreditCardAct;
+import com.sheep.gamegroup.view.activity.TaskListAct;
+import com.sheep.gamegroup.view.activity.TryMakeMoneyact;
+import com.sheep.gamegroup.view.activity.WebviewAct;
+import com.sheep.gamegroup.view.activity.WithdrawalAct;
+import com.sheep.gamegroup.view.activity.WithdrawalListAct;
+import com.sheep.gamegroup.view.activity.WithdrawalResultAct;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTask1;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTaskRegisterSuccess;
 import com.sheep.gamegroup.view.fragment.FgtMainAudit;
@@ -72,35 +235,32 @@ import com.youmi.android.offer.BaseActYmPermissionCheck;
 import com.youmi.android.offer.YmConfig;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
+
+import org.afinal.simplecache.DataKey;
+import org.greenrobot.eventbus.EventBus;
+import org.xutils.ex.DbException;
+
+import java.io.File;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import cn.finalteam.rxgalleryfinal.utils.CameraUtil;
 import io.reactivex.Completable;
 import io.reactivex.Observable;
 import io.reactivex.ObservableOnSubscribe;
 import io.reactivex.ObservableSource;
 import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.functions.Action;
 import io.reactivex.functions.Function;
 import io.reactivex.schedulers.Schedulers;
 import me.iwf.photopicker.PhotoPicker;
 import me.iwf.photopicker.PhotoPreview;
 import okhttp3.Call;
-import org.afinal.simplecache.DataKey;
-import org.greenrobot.eventbus.EventBus;
-import org.xutils.ex.DbException;
 import rx.functions.Action1;
 
-import java.io.File;
-import java.io.Serializable;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-
-import static com.sheep.gamegroup.model.entity.TaskEty.*;
-import static com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail.AUTO_DOWNLOAD;
-import static com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail.KEY_HAS_WELFARE;
-import static com.sheep.gamegroup.util.Constant.REQUEST_CODE_GOT_REWARDS;
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.*;
-import static com.sheep.jiuyan.samllsheep.service.FloatShotScreenService.SET_SHOW_OR_HIDE;
-import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
-
 /**
  * Created by ljy on 2018/3/18.
  */
@@ -683,7 +843,7 @@ public class Jump2View {
      * @param context
      * @param o
      */
-    public void goPersionInfo(Context context, Object o) {
+    public void goPersionInfo(Context context) {
         Intent i = new Intent(context, PersonalInfoAct.class);
         context.startActivity(i);
         USER_INFO.onEvent();
@@ -1122,7 +1282,7 @@ public class Jump2View {
      * @param context
      * @param o
      */
-    public void goMyMoney(Context context, Object o) {
+    public void goMyMoney(Context context) {
         Intent intent = new Intent(context, ActMyMoney.class);
         context.startActivity(intent);
         USER_MY_MONEY.onEvent();
@@ -2067,7 +2227,7 @@ public class Jump2View {
     /**
      * 设置界面
      */
-    public void goSetting(Activity activity, Object o) {
+    public void goSetting(Activity activity) {
         Intent intent = new Intent(activity, ActSetting.class);
         activity.startActivity(intent);
         SETTING.onEvent();

+ 13 - 43
app/src/main/java/com/sheep/gamegroup/util/MainTab.java

@@ -2,10 +2,10 @@ package com.sheep.gamegroup.util;
 
 import androidx.fragment.app.Fragment;
 
-import com.sheep.gamegroup.module.game.fragment.FgtGameCenter;
-import com.sheep.gamegroup.module.home.fragment.FgtWrapper;
+import com.sheep.gamegroup.gaiban.mainpage.findgame.FindGameFragment;
+import com.sheep.gamegroup.gaiban.mainpage.fuli.FuliFragment;
+import com.sheep.gamegroup.gaiban.mainpage.mine.MineFragment;
 import com.sheep.gamegroup.module.home.fragment.HomeWrapperFragment;
-import com.sheep.jiuyan.samllsheep.R;
 
 /**
  * Created by realicing on 2018/1/4.
@@ -13,53 +13,23 @@ import com.sheep.jiuyan.samllsheep.R;
  */
 
 public enum MainTab {
-    FgtSmallSheep(R.string.main_tab_make_money) {
-        @Override
+    homepage() {
         public Fragment getFragment() {
-//            return new FgtHome();
-            return new HomeWrapperFragment();
+            return HomeWrapperFragment.newInstance();
         }
-
-        @Override
-        public int getDrawableId() {
-            return R.drawable.drawable_selector_task;
-        }
-    },
-    FgtMainAskGetMoney(R.string.empty) {
-        @Override
+    }, findGame() {
         public Fragment getFragment() {
-            return new FgtWrapper();
+            return FindGameFragment.newInstance();
         }
-
-        @Override
-        public int getDrawableId() {
-            return R.drawable.drawable_selector_askgetmoney;
-        }
-    },
-    FgtGameCenter(R.string.tab_viewpager_gamestore) {
-        @Override
+    }, fuli() {
         public Fragment getFragment() {
-            return new FgtGameCenter();
+            return FuliFragment.newInstance();
         }
-
-        @Override
-        public int getDrawableId() {
-            return R.drawable.drawable_selector_game_center;
+    }, mine() {
+        public Fragment getFragment() {
+            return MineFragment.newInstance();
         }
-    },
-    ;
-    private int stringId;
-
-    MainTab(int stringId) {
-        this.stringId = stringId;
-    }
+    };
 
     public abstract Fragment getFragment();
-
-
-    public int getStringId() {
-        return stringId;
-    }
-
-    public abstract int getDrawableId();
 }

+ 38 - 8
app/src/main/java/com/sheep/gamegroup/util/js/KFZSJs.java

@@ -1,5 +1,7 @@
 package com.sheep.gamegroup.util.js;
 
+import static com.sheep.gamegroup.view.activity.ActPay.RESULT_CODE;
+
 import android.Manifest;
 import android.app.Activity;
 import android.content.ComponentName;
@@ -7,14 +9,17 @@ import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.provider.MediaStore;
-import androidx.core.app.ActivityCompat;
-import androidx.core.content.ContextCompat;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 import android.webkit.JavascriptInterface;
+
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.kfzs.duanduan.utils.StatusBarUtils;
 import com.sheep.gamegroup.absBase.AbsObserver;
 import com.sheep.gamegroup.event.WXLoginAuthEvent;
 import com.sheep.gamegroup.event.WebViewEvent;
@@ -36,7 +41,21 @@ import com.sheep.gamegroup.module.qrcode.ScanQRCodeActivity;
 import com.sheep.gamegroup.module.user.activity.ActVip;
 import com.sheep.gamegroup.module.user.model.BuyVipReq;
 import com.sheep.gamegroup.module.user.model.TempUserResp;
-import com.sheep.gamegroup.util.*;
+import com.sheep.gamegroup.util.ApiJSONUtil;
+import com.sheep.gamegroup.util.ApiUtil;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.Constant;
+import com.sheep.gamegroup.util.ContactUtil;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.DeviceUtil;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.LocationUtils;
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.QQUtil;
+import com.sheep.gamegroup.util.SMSUtil;
+import com.sheep.gamegroup.util.StringUtils;
+import com.sheep.gamegroup.util.SysAppUtil;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.h5game.H5GameUtil;
 import com.sheep.gamegroup.util.share.ShareLinkConfig;
 import com.sheep.gamegroup.view.activity.ActInvitation;
@@ -71,12 +90,11 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import cn.finalteam.rxgalleryfinal.utils.CameraUtil;
+import cn.modificator.waterwave_progress.WidgetUtil;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 import rx.functions.Action1;
 
-import static com.sheep.gamegroup.view.activity.ActPay.RESULT_CODE;
-
 /**
  * Created by realicing on 2018/11/23.
  * realicing@sina.com
@@ -85,7 +103,7 @@ import static com.sheep.gamegroup.view.activity.ActPay.RESULT_CODE;
 public class KFZSJs {
     private Activity activity;
     private IWeb iWeb;
-//    商城微信支付referer
+    //    商城微信支付referer
     public String referer;
 
     public KFZSJs(Activity activity) {
@@ -268,7 +286,7 @@ public class KFZSJs {
 
     @JavascriptInterface
     public void goMyMoney() {
-        Jump2View.getInstance().goMyMoney(activity, null);
+        Jump2View.getInstance().goMyMoney(activity);
     }
 
     @JavascriptInterface
@@ -707,12 +725,18 @@ public class KFZSJs {
         Jump2View.getInstance().goActPlayGameList(activity, type);
     }
 
+    //打开游戏礼包列表
     @JavascriptInterface
     public void gotoGameGroupDetail(int id) {
         Jump2View.getInstance().goActGameGroupDetail(id);
     }
 
     @JavascriptInterface
+    public void goSearch() {
+        Jump2View.getInstance().goActSearch(activity);
+    }
+
+    @JavascriptInterface
     public void gotoGameDetail(int id) {
         Jump2View.getInstance().goPlayGameDetail(id);
     }
@@ -737,6 +761,12 @@ public class KFZSJs {
 
     }
 
+    //给网页增加状态栏高度的返回
+    @JavascriptInterface
+    public int getStatusBarHeight() {
+        return  WidgetUtil.Px2Dp(activity,StatusBarUtils.getStatusBarHeight(activity));
+    }
+
     @JavascriptInterface
     public void goNotice(String text) {
         BulletinEnty item = JSONObject.parseObject(text, BulletinEnty.class);
@@ -980,7 +1010,7 @@ public class KFZSJs {
     }
 
     @JavascriptInterface
-    public void setReferer(String referer){
+    public void setReferer(String referer) {
         Log.e("Snow", "setReferer: " + referer);
         this.referer = referer;
     }

+ 56 - 92
app/src/main/java/com/sheep/gamegroup/view/activity/ActGiftDetail.java

@@ -1,64 +1,34 @@
 package com.sheep.gamegroup.view.activity;
 
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
+import android.view.LayoutInflater;
+
+import androidx.viewbinding.ViewBinding;
 
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.GiftBagApp;
 import com.sheep.gamegroup.util.DataUtil;
-import com.sheep.gamegroup.util.GlideImageLoader;
-import com.sheep.gamegroup.util.StringUtils;
-import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.gamegroup.util.share.ShareLinkConfig;
-import com.sheep.gamegroup.view.adapter.GiftCenterAdapter;
 import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.utils.G;
-import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
-
-import butterknife.BindView;
-
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_COPY_CODE;
+import com.sheep.jiuyan.samllsheep.databinding.ActGiftDetailBinding;
 
 /**
  * Created by realicing on 2018/9/14.
  * realicing@sina.com
  */
 public class ActGiftDetail extends BaseActivity {
-    @BindView(R.id.gift_detail_time)
-    TextView gift_detail_time;
-    @BindView(R.id.gift_detail_content)
-    TextView gift_detail_content;
-    @BindView(R.id.gift_detail_tip)
-    TextView gift_detail_tip;
-
-    @BindView(R.id.item_download_welfare_iv)
-    ImageView item_download_welfare_iv;
-    @BindView(R.id.item_download_welfare_name_tv)
-    TextView item_download_welfare_name_tv;
-    @BindView(R.id.item_download_welfare_iv2)
-    ImageView item_download_welfare_iv2;
-    @BindView(R.id.item_download_welfare_date_tv)
-    TextView item_download_welfare_date_tv;
-    @BindView(R.id.item_download_welfare_num_tv)
-    TextView item_download_welfare_num_tv;
-    @BindView(R.id.item_download_welfare_money)
-    TextView item_download_welfare_money;
-    @BindView(R.id.item_download_welfare_btn_center)
-    TextView item_download_welfare_btn_center;
-    @BindView(R.id.item_download_welfare_btn_bottom)
-    TextView item_download_welfare_btn_bottom;
-    @BindView(R.id.item_download_welfare_line)
-    View item_download_welfare_line;
-    @BindView(R.id.item_download_welfare_vip_flag)
-    View item_download_welfare_vip_flag;
 
     @Override
     protected int getLayoutId() {
         return R.layout.act_gift_detail;
     }
 
+    ActGiftDetailBinding binding;
+
+    @Override
+    protected ViewBinding getViewBinding() {
+        binding = ActGiftDetailBinding.inflate(LayoutInflater.from(this));
+        return binding;
+    }
+
     @Override
     protected boolean showWhiteStatusBar() {
         return true;
@@ -66,26 +36,17 @@ public class ActGiftDetail extends BaseActivity {
 
     @Override
     public void initView() {
-        TitleBarUtils.getInstance()
-                .setTitleFinish(this)
-                .setShowOrHide(this, true)
-                .setTitle(this, "礼包详情")
-                .setRightBtn(this, "分享", 0, new View.OnClickListener() {
-                    @Override
-                    public void onClick(View view) {
-                        new ShareLinkConfig().toShare(ActGiftDetail.this);
-                    }
-                });
-        item_download_welfare_line.setVisibility(View.GONE);
-        item_download_welfare_btn_bottom.setVisibility(View.GONE);
-        item_download_welfare_date_tv.setVisibility(View.GONE);
-        item_download_welfare_iv2.setVisibility(View.GONE);
-        item_download_welfare_money.setVisibility(View.GONE);
-        item_download_welfare_num_tv.setVisibility(View.GONE);
-        item_download_welfare_btn_bottom.setVisibility(View.GONE);
-        item_download_welfare_vip_flag.setVisibility(View.GONE);
-        ViewUtil.setDefaultText(item_download_welfare_name_tv);
-        item_download_welfare_btn_center.setVisibility(View.VISIBLE);
+//        TitleBarUtils.getInstance()
+//                .setTitleFinish(this)
+//                .setShowOrHide(this, true)
+//                .setTitle(this, "礼包详情")
+//                .setRightBtn(this, "分享", 0, new View.OnClickListener() {
+//                    @Override
+//                    public void onClick(View view) {
+//                        new ShareLinkConfig().toShare(ActGiftDetail.this);
+//                    }
+//                })
+//                .setTitleBackgroud(this, getResources().getColor(R.color.translate));
 
     }
 
@@ -94,38 +55,41 @@ public class ActGiftDetail extends BaseActivity {
     @Override
     public void initData() {
         data = DataUtil.getObject(getIntent(), GiftBagApp.class);
-        if (data.getApp() != null)
-            GlideImageLoader.setGameImage(item_download_welfare_iv, data.getApp().getIcon());
+        if (data.getApp() != null) {
+            //这个是图标
+//            GlideImageLoader.setGameImage(item_download_welfare_iv, data.getApp().getIcon());
+        }
         if (data.getGift_bag() != null) {
-            ViewUtil.setText(item_download_welfare_name_tv, data.getGift_bag().getGiftName());
-            ViewUtil.setText(gift_detail_time, data.getGift_bag().getDateText2());
-            ViewUtil.setText(gift_detail_content, data.getGift_bag().getGiftContent());
-            ViewUtil.setText(gift_detail_tip, data.getGift_bag().getUseMethod());
-            ViewUtil.setVisibility(item_download_welfare_vip_flag, data.getGift_bag().getIsVip() == 1);
-            if (TextUtils.isEmpty(data.getCode())) {//没有code,就视为没有领取礼包
-                item_download_welfare_btn_center.setText("领取");
-                item_download_welfare_btn_center.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View view) {
-                        GiftCenterAdapter.receiveGiftBag(ActGiftDetail.this, data, null);
-                    }
-                });
-            } else {
-                item_download_welfare_btn_center.setText("复制");
-                item_download_welfare_btn_center.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View view) {
-                        GIFT_BAG_COPY_CODE.onEvent("gift_bag_id", data.getGift_bag().getId(), "gift_bag_code", data.getCode());
-                        StringUtils.CopyText(data.getCode());
-                        G.showToast("复制成功");
-                    }
-                });
-            }
+            //这个是游戏包的内容
+//            ViewUtil.setText(item_download_welfare_name_tv, data.getGift_bag().getGiftName());
+//            ViewUtil.setText(gift_detail_time, data.getGift_bag().getDateText2());
+//            ViewUtil.setText(gift_detail_content, data.getGift_bag().getGiftContent());
+//            ViewUtil.setText(gift_detail_tip, data.getGift_bag().getUseMethod());
+//            ViewUtil.setVisibility(item_download_welfare_vip_flag, data.getGift_bag().getIsVip() == 1);
+//            if (TextUtils.isEmpty(data.getCode())) {//没有code,就视为没有领取礼包
+//                item_download_welfare_btn_center.setText("领取");
+//                item_download_welfare_btn_center.setOnClickListener(new View.OnClickListener() {
+//                    @Override
+//                    public void onClick(View view) {
+//                        GiftCenterAdapter.receiveGiftBag(ActGiftDetail.this, data, null);
+//                    }
+//                });
+//            } else {
+//                item_download_welfare_btn_center.setText("复制");
+//                item_download_welfare_btn_center.setOnClickListener(new View.OnClickListener() {
+//                    @Override
+//                    public void onClick(View view) {
+//                        GIFT_BAG_COPY_CODE.onEvent("gift_bag_id", data.getGift_bag().getId(), "gift_bag_code", data.getCode());
+//                        StringUtils.CopyText(data.getCode());
+//                        G.showToast("复制成功");
+//                    }
+//                });
+//            }
         } else {
-            ViewUtil.setDefaultText(item_download_welfare_name_tv);
-            ViewUtil.setDefaultText(gift_detail_time);
-            ViewUtil.setDefaultText(gift_detail_content);
-            ViewUtil.setDefaultText(gift_detail_tip);
+//            ViewUtil.setDefaultText(item_download_welfare_name_tv);
+//            ViewUtil.setDefaultText(gift_detail_time);
+//            ViewUtil.setDefaultText(gift_detail_content);
+//            ViewUtil.setDefaultText(gift_detail_tip);
         }
     }
 

File diff suppressed because it is too large
+ 152 - 356
app/src/main/java/com/sheep/gamegroup/view/activity/ActMain.java


+ 1 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/ActVideoDetail.java

@@ -4,7 +4,7 @@ import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.os.Bundle;
 import androidx.annotation.Nullable;
-import com.google.android.material.internal.CheckableImageButton;
+import com.sheep.gamegroup.view.customview.CheckableImageButton;
 import androidx.appcompat.widget.AppCompatCheckedTextView;
 import android.text.TextUtils;
 import android.view.GestureDetector;
@@ -77,7 +77,6 @@ public class ActVideoDetail extends BaseUMActivity {
     ImageView video_avatar_iv;
     @BindView(R.id.video_focus_iv)
     CheckableImageButton video_focus_iv;
-
     //bottom
     @BindView(R.id.video_bottom)
     View video_bottom;

+ 7 - 6
app/src/main/java/com/sheep/gamegroup/view/activity/MiddleAct.java

@@ -1,10 +1,15 @@
 package com.sheep.gamegroup.view.activity;
 
+import static com.sheep.gamegroup.view.activity.CommitWxCodeAct.ALTER_CODE;
+import static com.sheep.gamegroup.view.activity.CommitWxCodeAct.ALTER_INFO;
+import static com.sheep.gamegroup.view.activity.CommitWxCodeAct.HAS_DEBLOCKED;
+
 import android.app.Activity;
 import android.os.Bundle;
-import androidx.annotation.Nullable;
 import android.text.TextUtils;
 
+import androidx.annotation.Nullable;
+
 import com.alibaba.fastjson.JSONObject;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.model.entity.JPushMessage;
@@ -21,10 +26,6 @@ import java.util.Locale;
 import cn.jpush.android.api.JPushInterface;
 import rx.functions.Action1;
 
-import static com.sheep.gamegroup.view.activity.CommitWxCodeAct.ALTER_CODE;
-import static com.sheep.gamegroup.view.activity.CommitWxCodeAct.ALTER_INFO;
-import static com.sheep.gamegroup.view.activity.CommitWxCodeAct.HAS_DEBLOCKED;
-
 /**
  * Created by realicing on 2018/5/10.
  * realicing@sina.com
@@ -143,7 +144,7 @@ public class MiddleAct extends Activity {
                 Jump2View.getInstance().goRechargeAct(activity, "推送");
                 break;
             case 65://我的资产
-                Jump2View.getInstance().goMyMoney(activity, null);
+                Jump2View.getInstance().goMyMoney(activity);
                 break;
 //                        case 66://安全中心
 //                            Jump2View.getInstance().goAccountAndSecurit(activity,null);

+ 33 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/homepage/data/BottomTab.java

@@ -0,0 +1,33 @@
+package com.sheep.gamegroup.view.activity.homepage.data;
+
+import com.sheep.gamegroup.util.MainTab;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.databinding.LayoutHomeTabBinding;
+
+public class BottomTab {
+    int selectedIcon;
+    int unselectedIcon;
+    int title;
+    public LayoutHomeTabBinding view;
+    public MainTab mainTab;
+
+    public BottomTab(LayoutHomeTabBinding view, int selectedIcon, int unselectedIcon, int title, MainTab mainTab) {
+        this.selectedIcon = selectedIcon;
+        this.unselectedIcon = unselectedIcon;
+        this.title = title;
+        this.view = view;
+        this.mainTab = mainTab;
+        init();
+    }
+
+    public void init() {
+        view.text.setText(view.getRoot().getContext().getString(title));
+        view.text.setTextColor(view.getRoot().getContext().getResources().getColor(R.color.text66));
+        view.image.setImageDrawable(view.getRoot().getResources().getDrawable(unselectedIcon));
+    }
+
+    public void choice() {
+        view.text.setTextColor(view.getRoot().getContext().getResources().getColor(R.color.foreground));
+        view.image.setImageDrawable(view.getRoot().getResources().getDrawable(selectedIcon));
+    }
+}

+ 0 - 79
app/src/main/java/com/sheep/gamegroup/view/adapter/DownloadWelfareAdapter.java

@@ -1,79 +0,0 @@
-package com.sheep.gamegroup.view.adapter;
-
-import android.app.Activity;
-import android.content.Context;
-import android.graphics.Color;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.sheep.gamegroup.model.entity.DownloadWelfare;
-import com.sheep.gamegroup.util.GlideImageLoader;
-import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.util.ViewHolder;
-import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.jiuyan.samllsheep.R;
-
-import java.util.List;
-
-/**
- * Created by realicing on 2018/8/28.
- * realicing@sina.com
- */
-public class DownloadWelfareAdapter extends AdbCommonRecycler<DownloadWelfare>{
-    public DownloadWelfareAdapter(Context context, List<DownloadWelfare> list) {
-        super(context, list);
-    }
-    @Override
-    public int getViewIdByType(int type) {
-        return R.layout.item_download_welfare;
-    }
-
-    @Override
-    public void convert(ViewHolder holder, final DownloadWelfare item) {
-        ImageView item_download_welfare_iv = (ImageView)holder.getView(R.id.item_download_welfare_iv);
-        ImageView item_download_welfare_iv2 = (ImageView)holder.getView(R.id.item_download_welfare_iv2);
-        TextView item_download_welfare_name_tv = (TextView)holder.getView(R.id.item_download_welfare_name_tv);
-        TextView item_download_welfare_money = (TextView)holder.getView(R.id.item_download_welfare_money);
-        TextView item_download_welfare_num_tv = (TextView)holder.getView(R.id.item_download_welfare_num_tv);
-        TextView item_download_welfare_num_tv1 = (TextView)holder.getView(R.id.item_download_welfare_num_tv1);
-        TextView item_download_welfare_date_tv = (TextView)holder.getView(R.id.item_download_welfare_date_tv);
-        TextView item_download_welfare_btn_bottom = (TextView)holder.getView(R.id.item_download_welfare_btn_bottom);
-        View item_download_welfare_line = holder.getView(R.id.item_download_welfare_line);
-
-        item_download_welfare_iv2.setVisibility(View.GONE);
-        item_download_welfare_money.setTextColor(Color.parseColor("#ff999999"));
-        item_download_welfare_line.setVisibility(holder.getAdapterPosition() + 1 == getItemCount() ? View.GONE : View.VISIBLE);
-        item_download_welfare_btn_bottom.setText("去使用");
-        item_download_welfare_btn_bottom.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (item.getGame_id() != null) {
-                    ViewUtil.showGamePayAccount((Activity) context, item.getGame_id(), item.getName());
-                }
-
-            }
-        });
-        if(item == null){
-            ViewUtil.setDefaultText(item_download_welfare_name_tv);
-            ViewUtil.setDefaultText(item_download_welfare_num_tv);
-            ViewUtil.setDefaultText(item_download_welfare_num_tv1);
-            ViewUtil.setDefaultText(item_download_welfare_date_tv);
-            ViewUtil.setDefaultText(item_download_welfare_money);
-        } else if(context instanceof Activity){
-            GlideImageLoader.setGameImage(item_download_welfare_iv, item.getIcon());
-            ViewUtil.setText(item_download_welfare_name_tv, item.getName());
-            ViewUtil.setText(item_download_welfare_money, item.getUseBalanceText());
-            ViewUtil.setText(item_download_welfare_num_tv, item.getGiftRatioText());
-            ViewUtil.setH5Text(item_download_welfare_num_tv1, item.getBalanceH5());
-            ViewUtil.setText(item_download_welfare_date_tv, item.getDateText());
-            holder.itemView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    Jump2View.getInstance().goGameTaskDetailView(context,  item.getRelease_id(), item.getGame_id(),1);
-                }
-            });
-        }
-    }
-
-}

+ 28 - 63
app/src/main/java/com/sheep/gamegroup/view/adapter/GiftCenterAdapter.java

@@ -1,21 +1,21 @@
 package com.sheep.gamegroup.view.adapter;
 
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_COPY_CODE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_RECEIVE;
+import static com.sheep.gamegroup.view.adapter.WelfareAdapter.RECEIVE_FAILED;
+import static com.sheep.gamegroup.view.adapter.WelfareAdapter.TO_REFRESH;
+
 import android.app.Activity;
 import android.content.Context;
 import android.text.TextUtils;
-import android.view.Gravity;
 import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
 
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.Applications;
+import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.GiftBag;
 import com.sheep.gamegroup.model.entity.GiftBagApp;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.StringUtils;
@@ -23,21 +23,15 @@ import com.sheep.gamegroup.util.ViewHolder;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.databinding.ItemDownloadWelfareBinding;
 import com.sheep.jiuyan.samllsheep.service.DownloadService;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
 import java.util.List;
-import java.util.Locale;
 
 import io.reactivex.android.schedulers.AndroidSchedulers;
-import rx.functions.Action1;
 import io.reactivex.schedulers.Schedulers;
-
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_COPY_CODE;
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_LOOK_TIP;
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_RECEIVE;
-import static com.sheep.gamegroup.view.adapter.WelfareAdapter.RECEIVE_FAILED;
-import static com.sheep.gamegroup.view.adapter.WelfareAdapter.TO_REFRESH;
+import rx.functions.Action1;
 
 /**
  * Created by realicing on 2018/8/28.
@@ -59,57 +53,28 @@ public class GiftCenterAdapter extends AdbCommonRecycler<GiftBagApp> {
 
     @Override
     public void convert(ViewHolder holder, final GiftBagApp item) {
-        ImageView item_download_welfare_vip_flag = (ImageView) holder.getView(R.id.item_download_welfare_vip_flag);
-        ImageView item_download_welfare_iv = (ImageView) holder.getView(R.id.item_download_welfare_iv);
-        ImageView item_download_welfare_tip_iv = (ImageView) holder.getView(R.id.item_download_welfare_tip_iv);
-        ImageView item_download_welfare_iv2 = (ImageView) holder.getView(R.id.item_download_welfare_iv2);
-        TextView item_download_welfare_name_tv = (TextView) holder.getView(R.id.item_download_welfare_name_tv);
-        TextView item_download_welfare_money = (TextView) holder.getView(R.id.item_download_welfare_money);
-        TextView item_download_welfare_num_tv = (TextView) holder.getView(R.id.item_download_welfare_num_tv);
-        TextView item_download_welfare_num_tv1 = (TextView) holder.getView(R.id.item_download_welfare_num_tv1);
-        TextView item_download_welfare_date_tv = (TextView) holder.getView(R.id.item_download_welfare_date_tv);
-        TextView item_download_welfare_btn_bottom = (TextView) holder.getView(R.id.item_download_welfare_btn_bottom);
-        TextView item_download_welfare_btn_top = (TextView) holder.getView(R.id.item_download_welfare_btn_top);
-        TextView item_download_welfare_btn_center = (TextView) holder.getView(R.id.item_download_welfare_btn_center);
-        View item_download_welfare_line = holder.getView(R.id.item_download_welfare_line);
-        item_download_welfare_line.setVisibility(holder.getAdapterPosition() + 1 == getItemCount() ? View.GONE : View.VISIBLE);
-        item_download_welfare_money.setVisibility(View.GONE);
-        item_download_welfare_btn_bottom.setVisibility(View.GONE);
-        item_download_welfare_btn_top.setVisibility(View.GONE);
-        item_download_welfare_num_tv1.setVisibility(View.GONE);
-        item_download_welfare_iv2.setVisibility(View.GONE);
-        item_download_welfare_btn_center.setVisibility(View.VISIBLE);
-        if (item == null) {
-            ViewUtil.setDefaultText(item_download_welfare_name_tv);
-            ViewUtil.setDefaultText(item_download_welfare_num_tv);
-            ViewUtil.setDefaultText(item_download_welfare_date_tv);
-            item_download_welfare_iv2.setVisibility(View.GONE);
-            item_download_welfare_tip_iv.setVisibility(View.GONE);
-        } else if (context instanceof Activity) {
+        ItemDownloadWelfareBinding binding = ItemDownloadWelfareBinding.bind(holder.itemView);
+
+        if (context instanceof Activity) {
             final Applications itemApp = item.getApp();
             final GiftBag itemGiftBag = item.getGift_bag();
             if (itemApp == null || itemGiftBag == null) {
                 return;
             }
-            GlideImageLoader.setGameImage(item_download_welfare_iv, itemApp.getIcon());
-            ViewUtil.setText(item_download_welfare_name_tv, itemGiftBag.getGiftName());
-            ViewUtil.setText(item_download_welfare_date_tv, itemGiftBag.getDateText());
-            ViewUtil.setVisibility(item_download_welfare_vip_flag, item.getGift_bag().getIsVip() == 1);
+            GlideImageLoader.setGameImage(binding.icon, itemApp.getIcon());
+            ViewUtil.setText(binding.tvTitle, itemGiftBag.getGiftName());
+            ViewUtil.setText(binding.tvContent, itemGiftBag.getDateText());
             if (TextUtils.isEmpty(item.getCode())) {//没有code,就视为没有领取礼包
-                item_download_welfare_tip_iv.setVisibility(View.GONE);
-                ViewUtil.setText(item_download_welfare_num_tv, itemGiftBag.getLastNumText());
-                item_download_welfare_btn_center.setText("领取");
-                item_download_welfare_btn_center.setOnClickListener(new View.OnClickListener() {
+                binding.btn.setText("领取");
+                binding.btn.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View view) {
                         receiveGiftBag((Activity) context, item, action1);
                     }
                 });
             } else {
-                item_download_welfare_tip_iv.setVisibility(View.VISIBLE);
-                ViewUtil.setH5Text(item_download_welfare_num_tv, String.format(Locale.CHINA, "兑换码:<font color='#33CCFF'>%s</font>", item.getCode()));
-                item_download_welfare_btn_center.setText("复制");
-                item_download_welfare_btn_center.setOnClickListener(new View.OnClickListener() {
+                binding.btn.setText("复制");
+                binding.btn.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View view) {
                         GIFT_BAG_COPY_CODE.onEvent("gift_bag_id", item.getGift_bag().getId(), "gift_bag_code", item.getCode());
@@ -117,15 +82,15 @@ public class GiftCenterAdapter extends AdbCommonRecycler<GiftBagApp> {
                         G.showToast(R.string.success_copy_code);
                     }
                 });
-                item_download_welfare_tip_iv.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View view) {
-                        GIFT_BAG_LOOK_TIP.onEvent("gift_bag_id", item.getGift_bag().getId());
-                        ViewUtil.showMsgDialog(context, new DialogConfig().setTitle("礼包使用说明").setBtnLeftText("我知道了")
-                                .setMsgGravity(Gravity.START)
-                                .setMsg(String.format(Locale.CHINA, "礼包内容:\n%s\n\n使用方式:\n%s", itemGiftBag.getGiftContent(), itemGiftBag.getUseMethod())));
-                    }
-                });
+//                item_download_welfare_tip_iv.setOnClickListener(new View.OnClickListener() {
+//                    @Override
+//                    public void onClick(View view) {
+//                        GIFT_BAG_LOOK_TIP.onEvent("gift_bag_id", item.getGift_bag().getId());
+//                        ViewUtil.showMsgDialog(context, new DialogConfig().setTitle("礼包使用说明").setBtnLeftText("我知道了")
+//                                .setMsgGravity(Gravity.START)
+//                                .setMsg(String.format(Locale.CHINA, "礼包内容:\n%s\n\n使用方式:\n%s", itemGiftBag.getGiftContent(), itemGiftBag.getUseMethod())));
+//                    }
+//                });
             }
             holder.itemView.setOnClickListener(new View.OnClickListener() {
                 @Override
@@ -148,7 +113,7 @@ public class GiftCenterAdapter extends AdbCommonRecycler<GiftBagApp> {
     public static void receiveGiftBag(final Activity activity, final GiftBagApp item, final Action1<Integer> action1) {
         if (item.getGift_bag().getIsVip() == 1) {
             CommonUtil.getInstance().getUserInfo(true, user -> {
-                if(!user.isVIP()){
+                if (!user.isVIP()) {
                     ViewUtil.showConfirmDialog(activity, "温馨提示", "该礼包为VIP特权礼包,推荐您成为VIP用户,领取礼包~!",
                             "放弃", "成为VIP", diag -> {
                             },

+ 0 - 66
app/src/main/java/com/sheep/gamegroup/view/adapter/VoucherUseLogAdapter.java

@@ -1,66 +0,0 @@
-package com.sheep.gamegroup.view.adapter;
-
-import android.app.Activity;
-import android.content.Context;
-import android.graphics.Color;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.sheep.gamegroup.model.entity.VoucherUseLog;
-import com.sheep.gamegroup.util.GlideImageLoader;
-import com.sheep.gamegroup.util.ViewHolder;
-import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.jiuyan.samllsheep.R;
-
-import java.util.List;
-
-/**
- * Created by realicing on 2018/8/28.
- * realicing@sina.com
- */
-public class VoucherUseLogAdapter extends AdbCommonRecycler<VoucherUseLog>{
-    public VoucherUseLogAdapter(Context context, List<VoucherUseLog> list) {
-        super(context, list);
-    }
-    @Override
-    public int getViewIdByType(int type) {
-        return R.layout.item_download_welfare;
-    }
-
-    @Override
-    public void convert(ViewHolder holder, final VoucherUseLog item) {
-        ImageView item_download_welfare_iv = (ImageView)holder.getView(R.id.item_download_welfare_iv);
-        ImageView item_download_welfare_iv2 = (ImageView)holder.getView(R.id.item_download_welfare_iv2);
-        TextView item_download_welfare_name_tv = (TextView)holder.getView(R.id.item_download_welfare_name_tv);
-        TextView item_download_welfare_money = (TextView)holder.getView(R.id.item_download_welfare_money);
-        TextView item_download_welfare_money_bottom = (TextView)holder.getView(R.id.item_download_welfare_money_bottom);
-        TextView item_download_welfare_num_tv = (TextView)holder.getView(R.id.item_download_welfare_num_tv);
-        TextView item_download_welfare_num_tv1 = (TextView)holder.getView(R.id.item_download_welfare_num_tv1);
-        TextView item_download_welfare_date_tv = (TextView)holder.getView(R.id.item_download_welfare_date_tv);
-        TextView item_download_welfare_btn_bottom = (TextView)holder.getView(R.id.item_download_welfare_btn_bottom);
-        View item_download_welfare_line = holder.getView(R.id.item_download_welfare_line);
-
-        item_download_welfare_iv2.setVisibility(View.GONE);
-        item_download_welfare_num_tv1.setVisibility(View.GONE);
-        item_download_welfare_btn_bottom.setVisibility(View.GONE);
-        item_download_welfare_money_bottom.setVisibility(View.VISIBLE);
-        item_download_welfare_money.setTextColor(Color.parseColor("#ff999999"));
-        item_download_welfare_line.setVisibility(holder.getAdapterPosition() + 1 == getItemCount() ? View.GONE : View.VISIBLE);
-        if(item == null){
-            ViewUtil.setDefaultText(item_download_welfare_name_tv);
-            ViewUtil.setDefaultText(item_download_welfare_num_tv);
-            ViewUtil.setDefaultText(item_download_welfare_num_tv1);
-            ViewUtil.setDefaultText(item_download_welfare_date_tv);
-            ViewUtil.setDefaultText(item_download_welfare_money);
-        } else if(context instanceof Activity){
-            GlideImageLoader.setGameImage(item_download_welfare_iv, item.getIcon());
-            ViewUtil.setText(item_download_welfare_name_tv, item.getName());
-            ViewUtil.setText(item_download_welfare_num_tv, item.getGiftRatioText());
-            ViewUtil.setH5Text(item_download_welfare_money, item.getSurplusText());
-            ViewUtil.setText(item_download_welfare_money_bottom, item.getConsumptionAmountText());
-            ViewUtil.setText(item_download_welfare_date_tv, item.getDateText());
-        }
-    }
-
-}

+ 41 - 73
app/src/main/java/com/sheep/gamegroup/view/adapter/WelfareAdapter.java

@@ -1,10 +1,10 @@
 package com.sheep.gamegroup.view.adapter;
 
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.RECEIVE_AWARD_GAME_TASK;
+
 import android.app.Activity;
 import android.content.Context;
 import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
 
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -22,6 +22,7 @@ import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.databinding.ItemDownloadWelfareBinding;
 import com.sheep.jiuyan.samllsheep.service.DownloadService;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
@@ -31,21 +32,21 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 import rx.functions.Action1;
 
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.RECEIVE_AWARD_GAME_TASK;
-import static com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp.PUBLIC_TAG_PREFIX_TEXTVIEW_LIST;
-
 /**
  * Created by realicing on 2018/8/28.
  * realicing@sina.com
  */
-public class WelfareAdapter extends AdbCommonRecycler<Release_task>{
+public class WelfareAdapter extends AdbCommonRecycler<Release_task> {
     private Action1<Integer> action1;
+
     public WelfareAdapter(Context context, List<Release_task> list, Action1<Integer> action1) {
         super(context, list);
         this.action1 = action1;
     }
+
     public static final int TO_REFRESH = 1;
     public static final int RECEIVE_FAILED = -1;//领取失败
+
     @Override
     public int getViewIdByType(int type) {
         return R.layout.item_download_welfare;
@@ -53,45 +54,20 @@ public class WelfareAdapter extends AdbCommonRecycler<Release_task>{
 
     @Override
     public void convert(ViewHolder holder, final Release_task item) {
-        ImageView item_download_welfare_iv = (ImageView)holder.getView(R.id.item_download_welfare_iv);
-        ImageView item_download_welfare_iv2 = (ImageView)holder.getView(R.id.item_download_welfare_iv2);
-        TextView item_download_welfare_name_tv = (TextView)holder.getView(R.id.item_download_welfare_name_tv);
-        TextView item_download_welfare_money = (TextView)holder.getView(R.id.item_download_welfare_money);
-        TextView item_download_welfare_num_tv = (TextView)holder.getView(R.id.item_download_welfare_num_tv);
-        TextView item_download_welfare_num_tv1 = (TextView)holder.getView(R.id.item_download_welfare_num_tv1);
-        TextView item_download_welfare_date_tv = (TextView)holder.getView(R.id.item_download_welfare_date_tv);
-        TextView item_download_welfare_btn_bottom = (TextView)holder.getView(R.id.item_download_welfare_btn_bottom);
-        TextView item_download_welfare_btn_top = (TextView)holder.getView(R.id.item_download_welfare_btn_top);
-        View item_download_welfare_line = holder.getView(R.id.item_download_welfare_line);
-        item_download_welfare_line.setVisibility(holder.getAdapterPosition() + 1 == getItemCount() ? View.GONE : View.VISIBLE);
-        item_download_welfare_num_tv1.setVisibility(View.GONE);
-        if(item == null){
-            ViewUtil.setDefaultText(item_download_welfare_name_tv);
-            ViewUtil.setDefaultText(item_download_welfare_num_tv);
-            ViewUtil.setDefaultText(item_download_welfare_date_tv);
-            ViewUtil.setDefaultText(item_download_welfare_money);
-            item_download_welfare_iv2.setVisibility(View.GONE);
-        } else if(context instanceof Activity){
+        ItemDownloadWelfareBinding binding = ItemDownloadWelfareBinding.bind(holder.itemView);
+        if (context instanceof Activity) {
             final TaskEty itemTask = item.getTask();
-            if(itemTask == null){
+            if (itemTask == null) {
                 return;
             }
-            GlideImageLoader.setGameImage(item_download_welfare_iv, itemTask.getIcon());
-            ViewUtil.setText(item_download_welfare_name_tv, item.getName());
-            ViewUtil.setH5Text(item_download_welfare_money, item.getH5BonusText());
-//            ViewUtil.setText(item_download_welfare_num_tv, item.getGiftRatioText());
-            ViewUtil.setText(item_download_welfare_date_tv, item.getDateText());
-            item_download_welfare_iv2.setVisibility(item.isTaskFinished()? View.VISIBLE : View.INVISIBLE);
+            GlideImageLoader.setGameImage(binding.icon, itemTask.getIcon());
+            ViewUtil.setText(binding.tvTitle, item.getName());
+            ViewUtil.setH5Text(binding.tvContent, item.getH5BonusText());
 
-            item_download_welfare_btn_bottom.setTag(PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + itemTask.getDownload_link());
-            switch (item.getUser_task_status()){//1,已接受任务 2,正在进行中,3完成任务,4放弃任务,5任务失败,6审核失败,7提交审核,8任务已下线,9至少完成了一个任务了
+            switch (item.getUser_task_status()) {//1,已接受任务 2,正在进行中,3完成任务,4放弃任务,5任务失败,6审核失败,7提交审核,8任务已下线,9至少完成了一个任务了
                 case 0:
-                    ViewUtil.setText(item_download_welfare_num_tv, item.getLastNumText());
-                    item_download_welfare_money.setVisibility(View.VISIBLE);
-                    item_download_welfare_btn_top.setVisibility(View.INVISIBLE);
-                    item_download_welfare_btn_bottom.setEnabled(true);
-                    item_download_welfare_btn_bottom.setText("下载领取");
-                    item_download_welfare_btn_bottom.setOnClickListener(new View.OnClickListener() {
+                    binding.btn.setText("下载领取");
+                    binding.btn.setOnClickListener(new View.OnClickListener() {
                         @Override
                         public void onClick(View view) {
                             acceptedTask(item.getId());
@@ -100,21 +76,17 @@ public class WelfareAdapter extends AdbCommonRecycler<Release_task>{
                     break;
                 case 1:
                 case 2:
-                    ViewUtil.setText(item_download_welfare_num_tv, item.getLastNumText());
-                    item_download_welfare_money.setVisibility(View.VISIBLE);
-                    item_download_welfare_btn_top.setVisibility(View.INVISIBLE);
-                    item_download_welfare_btn_bottom.setEnabled(true);
-                    item.getDownloadHelper().updateDownloadTaskView(true, itemTask, item_download_welfare_btn_bottom);
-                    if(item.getDownloadHelper().getDownLoadType() == DownloadUtil.STATUS_INSTALLED){//已经安装的话
-                        item_download_welfare_btn_bottom.setText("领取奖励");
-                        item_download_welfare_btn_bottom.setOnClickListener(new View.OnClickListener() {
+                    item.getDownloadHelper().updateDownloadTaskView(true, itemTask, binding.btn);
+                    if (item.getDownloadHelper().getDownLoadType() == DownloadUtil.STATUS_INSTALLED) {//已经安装的话
+                        binding.btn.setText("领取奖励");
+                        binding.btn.setOnClickListener(new View.OnClickListener() {
                             @Override
                             public void onClick(View view) {
                                 if (itemTask.isGameReservationCantDownload()) {
                                     CommonUtil.getInstance().reservationGameTask(item, new Action1<Integer>() {
                                         @Override
                                         public void call(Integer integer) {
-                                            if(action1 != null)
+                                            if (action1 != null)
                                                 action1.call(TO_REFRESH);
                                         }
                                     });
@@ -126,36 +98,31 @@ public class WelfareAdapter extends AdbCommonRecycler<Release_task>{
                     }
                     break;
                 case 3:
-                    ViewUtil.setH5Text(item_download_welfare_num_tv, item.getH5BonusText());
-                    item_download_welfare_money.setVisibility(View.INVISIBLE);
-                    item_download_welfare_btn_top.setVisibility(View.VISIBLE);
-                    item.getDownloadHelper().updateDownloadTaskView(true, itemTask, item_download_welfare_btn_bottom);
-                    if(item.getDownloadHelper().getDownLoadType() == DownloadUtil.STATUS_INSTALLED) {//已经安装的话
-                        item_download_welfare_btn_bottom.setText("启动");
+                    item.getDownloadHelper().updateDownloadTaskView(true, itemTask, binding.btn);
+                    if (item.getDownloadHelper().getDownLoadType() == DownloadUtil.STATUS_INSTALLED) {//已经安装的话
+                        binding.btn.setText("启动");
                     }
-                    item_download_welfare_btn_top.setText("充值");
-                    item_download_welfare_btn_top.setEnabled(true);
-                    item_download_welfare_btn_top.setOnClickListener(new View.OnClickListener() {
-                        @Override
-                        public void onClick(View view) {
-                            if (itemTask.getThird_task_id() != null) {
-                                ViewUtil.showGamePayAccount((Activity) context, itemTask);
-                            }
-                        }
-                    });
+                    //这个是按钮2
+//                    item_download_welfare_btn_top.setText("充值");
+//                    item_download_welfare_btn_top.setEnabled(true);
+//                    item_download_welfare_btn_top.setOnClickListener(new View.OnClickListener() {
+//                        @Override
+//                        public void onClick(View view) {
+//                            if (itemTask.getThird_task_id() != null) {
+//                                ViewUtil.showGamePayAccount((Activity) context, itemTask);
+//                            }
+//                        }
+//                    });
                     break;
                 default:
-                    ViewUtil.setText(item_download_welfare_num_tv, item.getLastNumText());
-                    item_download_welfare_money.setVisibility(View.VISIBLE);
-                    item_download_welfare_btn_top.setVisibility(View.INVISIBLE);
-                    item_download_welfare_btn_bottom.setText("已经下线");
-                    item_download_welfare_btn_bottom.setEnabled(false);
+                    binding.btn.setText("已经下线");
+                    binding.btn.setEnabled(false);
                     break;
             }
             holder.itemView.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View view) {
-                    Jump2View.getInstance().goGameTaskDetailView(context,  item.getId(), itemTask.getThird_task_id(),1);
+                    Jump2View.getInstance().goGameTaskDetailView(context, item.getId(), itemTask.getThird_task_id(), 1);
                 }
             });
             DownloadService.setDownLoadLongClick(holder.itemView, item.getTask());
@@ -187,11 +154,12 @@ public class WelfareAdapter extends AdbCommonRecycler<Release_task>{
 
                     @Override
                     public void onNext(BaseMessage baseMessage) {//领取任务成功
-                        if(action1 != null)
+                        if (action1 != null)
                             action1.call(TO_REFRESH);
                     }
                 });
     }
+
     /**
      * 领取奖励
      */
@@ -213,7 +181,7 @@ public class WelfareAdapter extends AdbCommonRecycler<Release_task>{
                     public void onNext(BaseMessage baseMessage) {
                         //这里领取了奖励,要刷新用户信息
                         CommonUtil.getInstance().updateUserInfo(null);
-                        if(action1 != null)
+                        if (action1 != null)
                             action1.call(TO_REFRESH);
                     }
                 });

+ 68 - 0
app/src/main/java/com/sheep/gamegroup/view/customview/CheckableImageButton.java

@@ -0,0 +1,68 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package com.sheep.gamegroup.view.customview;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.accessibility.AccessibilityEvent;
+import android.widget.Checkable;
+
+import androidx.appcompat.R.attr;
+import androidx.appcompat.widget.AppCompatImageButton;
+import androidx.core.view.AccessibilityDelegateCompat;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
+
+public class CheckableImageButton extends AppCompatImageButton implements Checkable {
+    private static final int[] DRAWABLE_STATE_CHECKED = new int[]{16842912};
+    private boolean checked;
+
+    public CheckableImageButton(Context context) {
+        this(context, (AttributeSet) null);
+    }
+
+    public CheckableImageButton(Context context, AttributeSet attrs) {
+        this(context, attrs, attr.imageButtonStyle);
+    }
+
+    public CheckableImageButton(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegateCompat() {
+            public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
+                super.onInitializeAccessibilityEvent(host, event);
+                event.setChecked(CheckableImageButton.this.isChecked());
+            }
+
+            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
+                super.onInitializeAccessibilityNodeInfo(host, info);
+                info.setCheckable(true);
+                info.setChecked(CheckableImageButton.this.isChecked());
+            }
+        });
+    }
+
+    public void setChecked(boolean checked) {
+        if (this.checked != checked) {
+            this.checked = checked;
+            this.refreshDrawableState();
+            this.sendAccessibilityEvent(2048);
+        }
+
+    }
+
+    public boolean isChecked() {
+        return this.checked;
+    }
+
+    public void toggle() {
+        this.setChecked(!this.checked);
+    }
+
+    public int[] onCreateDrawableState(int extraSpace) {
+        return this.checked ? mergeDrawableStates(super.onCreateDrawableState(extraSpace + DRAWABLE_STATE_CHECKED.length), DRAWABLE_STATE_CHECKED) : super.onCreateDrawableState(extraSpace);
+    }
+}

+ 52 - 45
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment2.java

@@ -1,11 +1,14 @@
 package com.sheep.gamegroup.view.fragment;
 
 import android.app.Activity;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
+import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
 import android.view.View;
 
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.jcodecraeer.xrecyclerview.XRecyclerView;
 import com.sheep.gamegroup.absBase.AbsObserver;
 import com.sheep.gamegroup.absBase.ILoadMore;
@@ -21,10 +24,10 @@ import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+import com.sheep.jiuyan.samllsheep.databinding.NetEmptyXrecyclerBinding;
 
 import java.util.List;
 
-import butterknife.BindView;
 import io.reactivex.Observable;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
@@ -50,7 +53,7 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
         initListener();
         switch (refreshDataType()) {
             case REFRESH_ON_CREATE:
-                ViewUtil.refreshXrv(view_list);
+                ViewUtil.refreshXrv(binding.viewList);
                 break;
             case REFRESH_ON_RESUME:
                 break;
@@ -64,30 +67,26 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
     public static final int REFRESH_ON_CREATE = 0;
     public static final int REFRESH_ON_RESUME = 1;
     public static final int REFRESH_ON_YOURSELF = -1;
-    @BindView(R.id.empty_view)
-    protected View empty_view;
-    @BindView(R.id.check_net_ll)
-    protected View check_net_ll;
-    @BindView(R.id.view_list)
-    protected XRecyclerView view_list;
+
 
     protected BaseMessage lastMessage;//最后一个网络获取的结果
     protected int page = 1;//页数
     protected int per_page = DataUtil.PER_PAGE;
     private boolean loadMore;
     protected boolean loading = false;
+    protected NetEmptyXrecyclerBinding binding;
 
     public void initView() {
-
+        binding = NetEmptyXrecyclerBinding.bind(getView());
     }
 
     protected View bottomLine;
 
     public void initListener() {
-        if(view_list == null){
+        if (binding.viewList == null) {
             return;
         }
-        view_list.setLoadingListener(new XRecyclerView.LoadingListener() {
+        binding.viewList.setLoadingListener(new XRecyclerView.LoadingListener() {
             @Override
             public void onRefresh() {
                 refreshData();
@@ -99,9 +98,19 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
 
             }
         });
-        bottomLine = ViewUtil.setBottomLine(view_list, getNoMoreCallBack());
-        view_list.setLayoutManager(getLayoutManager());
-        view_list.setAdapter(getAdapter());
+        bottomLine = ViewUtil.setBottomLine(binding.viewList, getNoMoreCallBack());
+        binding.viewList.setLayoutManager(getLayoutManager());
+        binding.viewList.setAdapter(getAdapter());
+        if(getItemDecorationDrawable()!=null) {
+            DividerItemDecoration itemDecoration = new DividerItemDecoration(binding.viewList.getContext(), RecyclerView.VERTICAL);
+            itemDecoration.setDrawable(getItemDecorationDrawable());
+            binding.viewList.addItemDecoration(itemDecoration);
+
+        }
+    }
+
+    protected Drawable getItemDecorationDrawable() {
+        return null;
     }
 
     protected RecyclerView.LayoutManager getLayoutManager() {
@@ -115,20 +124,21 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
                 page += 1;
                 initData();
             } else {
-                if(view_list != null) {
-                    view_list.setNoMore(true);
+                if (binding.viewList != null) {
+                    binding.viewList.setNoMore(true);
                 }
                 setNoMore(true);
             }
         } else {
-            if(view_list != null){
-                view_list.loadMoreComplete();
+            if (binding.viewList != null) {
+                binding.viewList.loadMoreComplete();
             }
         }
     }
+
     //还有数据没有获取
     protected boolean hasMore() {
-        if(lastMessage != null && lastMessage.getTotal() > 0){
+        if (lastMessage != null && lastMessage.getTotal() > 0) {
             return lastMessage.getTotal() > ListUtil.size(list);
         }
         return ListUtil.size(list) >= per_page * page;
@@ -154,17 +164,17 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
             lastCacheList = DataUtil.getInstance().getCacheList(urlKey, getTClass());
             loadList(lastCacheList);
         }
-        if(loading) return;
+        if (loading) return;
         loading = true;
         SysAppUtil.checkNet(new AbsObserver<Integer>() {
             @Override
             public void onNext(Integer result) {
                 if (result != 0) {//无网络
-                    if (check_net_ll != null)
-                        check_net_ll.setVisibility(View.VISIBLE);
+                    if (binding.checkNetLl != null)
+                        binding.checkNetLl.getRoot().setVisibility(View.VISIBLE);
                 } else {
-                    if (check_net_ll != null)
-                        check_net_ll.setVisibility(View.GONE);
+                    if (binding.checkNetLl != null)
+                        binding.checkNetLl.getRoot().setVisibility(View.GONE);
                 }
             }
         });
@@ -204,7 +214,7 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
     public void onResume() {
         super.onResume();
         if (refreshDataType() == REFRESH_ON_RESUME) {
-            ViewUtil.refreshXrv(view_list);
+            ViewUtil.refreshXrv(binding.viewList);
         }
     }
 
@@ -220,14 +230,14 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
     public void clear() {
         lastMessage = null;
         setNoMore(false);
-        empty_view.setVisibility(View.INVISIBLE);
+        binding.emptyView.getRoot().setVisibility(View.INVISIBLE);
         list.clear();
         page = 1;
     }
 
     public void refreshData() {
         clear();
-        ViewUtil.notifyDataSetChanged(view_list);
+        ViewUtil.notifyDataSetChanged(binding.viewList);
         initData();
     }
 
@@ -243,30 +253,26 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
         loadMore = false;
         updateEmptyView();
         if (page == 1) {
-            if(view_list != null)
-                view_list.refreshComplete();
+            if (binding.viewList != null)
+                binding.viewList.refreshComplete();
         } else {
-            if(view_list != null)
-                view_list.loadMoreComplete();
+            if (binding.viewList != null)
+                binding.viewList.loadMoreComplete();
         }
-        ViewUtil.notifyDataSetChanged(view_list);
+        ViewUtil.notifyDataSetChanged(binding.viewList);
         notifyData();
-        if(view_list != null && view_list.getAdapter() != null)
-            view_list.getFootView().setVisibility(view_list.getAdapter().getItemCount() == 0 ? View.GONE : View.VISIBLE);
+        if (binding.viewList != null && binding.viewList.getAdapter() != null)
+            binding.viewList.getFootView().setVisibility(binding.viewList.getAdapter().getItemCount() == 0 ? View.GONE : View.VISIBLE);
     }
 
     protected void updateEmptyView() {
-        CommonUtil.getInstance().updateEmptyView(empty_view, list.isEmpty());
+        CommonUtil.getInstance().updateEmptyView(binding.emptyView.getRoot(), list.isEmpty());
     }
 
     @Override
     public void onDestroyView() {
         super.onDestroyView();
-        // any time,when you finish your activity or fragment,call this below
-        if (view_list != null) {
-            view_list.destroy(); // this will totally release XR's memory
-            view_list = null;
-        }
+        binding.viewList.destroy();
     }
 
 
@@ -285,13 +291,14 @@ public abstract class BaseListFragment2<T> extends BaseFragment implements IRefr
     protected abstract Class<T> getTClass();
 
     //刷新数据的回调,子类可以实现自己的需求
-    public void notifyData(){
+    public void notifyData() {
 
     }
+
     @Override
     public void doNextAction(Object action) {
-        if(action instanceof String) {
-            if(TextUtils.equals((String) action, IRefresh.class.getSimpleName())){
+        if (action instanceof String) {
+            if (TextUtils.equals((String) action, IRefresh.class.getSimpleName())) {
                 refreshData();
             }
         }

+ 3 - 2
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtDownloadWelfareList.java

@@ -1,9 +1,10 @@
 package com.sheep.gamegroup.view.fragment;
 
 import android.os.Bundle;
+import android.view.View;
+
 import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.RecyclerView;
-import android.view.View;
 
 import com.sheep.gamegroup.event.BigEvent;
 import com.sheep.gamegroup.model.api.ApiService;
@@ -62,7 +63,7 @@ public class FgtDownloadWelfareList extends BaseListFragment2<Release_task> impl
     }
     @Subscribe
     public void onEventMainThread(BigEvent event) {
-        CommonUtil.getInstance().setEventResultViewStatus(event, view_list);
+        CommonUtil.getInstance().setEventResultViewStatus(event, binding.viewList);
     }
     @Override
     protected RecyclerView.Adapter getAdapter() {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtEveryDayShare.java

@@ -27,7 +27,7 @@ public class FgtEveryDayShare extends BaseListFragment2<EveryDayShare>{
                 .setShowOrHide(getActivity(), true)
                 .setTitle(getActivity(), "每日分享")
                 .setTitleFinish(getActivity());
-        view_list.setLoadingMoreEnabled(false);
+        binding.viewList.setLoadingMoreEnabled(false);
     }
 
     @Override

+ 4 - 3
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtGiftCenter.java

@@ -1,9 +1,10 @@
 package com.sheep.gamegroup.view.fragment;
 
 import android.os.Bundle;
+import android.view.View;
+
 import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.RecyclerView;
-import android.view.View;
 
 import com.sheep.gamegroup.event.BigEvent;
 import com.sheep.gamegroup.model.api.ApiService;
@@ -12,8 +13,8 @@ import com.sheep.gamegroup.model.entity.GiftBagApp;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.gamegroup.view.adapter.WelfareAdapter;
 import com.sheep.gamegroup.view.adapter.GiftCenterAdapter;
+import com.sheep.gamegroup.view.adapter.WelfareAdapter;
 import com.sheep.jiuyan.samllsheep.R;
 
 import org.greenrobot.eventbus.EventBus;
@@ -72,7 +73,7 @@ public class FgtGiftCenter extends BaseListFragment2<GiftBagApp> implements Acti
 
     @Subscribe
     public void onEventMainThread(BigEvent event) {
-        CommonUtil.getInstance().setEventResultViewStatus(event, view_list);
+        CommonUtil.getInstance().setEventResultViewStatus(event, binding.viewList);
     }
 
     @Override

+ 0 - 40
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMyDownloadWelfareList.java

@@ -1,40 +0,0 @@
-package com.sheep.gamegroup.view.fragment;
-
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.sheep.gamegroup.model.api.ApiService;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.DownloadWelfare;
-import com.sheep.gamegroup.view.adapter.DownloadWelfareAdapter;
-
-import java.util.Locale;
-
-import io.reactivex.Observable;
-
-/**
- * 我的福利--下载福利
- * Created by realicing on 2018/8/28.
- * realicing@sina.com
- */
-public class FgtMyDownloadWelfareList extends BaseListFragment2<DownloadWelfare> {
-    @Override
-    protected RecyclerView.Adapter getAdapter() {
-        return new DownloadWelfareAdapter(activity, list);
-    }
-
-    @Override
-    protected String getKey(int page, int per_page) {
-        return String.format(Locale.CHINA, "app/game_consumption/my_voucher?page=%d&per_page=%d", page, per_page);
-    }
-
-    @Override
-    protected Observable<BaseMessage> getApi(ApiService apiService) {
-        return apiService.getMyWelfareList(page, per_page);
-    }
-
-    @Override
-    protected Class<DownloadWelfare> getTClass() {
-        return DownloadWelfare.class;
-    }
-
-}

+ 57 - 62
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java

@@ -1,29 +1,47 @@
 package com.sheep.gamegroup.view.fragment;
 
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_FAQ;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_SHARE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_UPGRADE;
+import static com.sheep.gamegroup.util.ViewUtil.backgroundAlpha;
+
 import android.app.ActionBar;
 import android.app.Activity;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.GradientDrawable;
-import android.os.Handler;
-import android.os.Message;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
 import android.text.TextUtils;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.widget.*;
-import butterknife.BindView;
-import butterknife.OnClick;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.ScrollView;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.kfzs.duanduan.cardview.ScreenUtil;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
-import com.sheep.gamegroup.model.entity.*;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.Mission;
+import com.sheep.gamegroup.model.entity.UserEntity;
+import com.sheep.gamegroup.model.entity.UserTaskExistsNew;
+import com.sheep.gamegroup.model.entity.WebParams;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.module.guide.NewbieGuideHelper;
 import com.sheep.gamegroup.module.home.adapter.AdpHomeList;
-import com.sheep.gamegroup.util.*;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.GlideImageLoader;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.SysAppUtil;
+import com.sheep.gamegroup.util.TestUtil;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.share.ShareLinkConfig;
 import com.sheep.gamegroup.view.activity.PersonalCenterAct;
 import com.sheep.jiuyan.samllsheep.Config;
@@ -34,20 +52,21 @@ import com.sheep.jiuyan.samllsheep.bean.UserCenterModule;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.uuzuche.lib_zxing.DisplayUtil;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
+
 import org.afinal.simplecache.ACache;
 import org.afinal.simplecache.ApiKey;
 import org.greenrobot.eventbus.EventBus;
-import rx.functions.Action1;
 
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
-import static com.sheep.gamegroup.util.UMConfigUtils.Event.*;
-import static com.sheep.gamegroup.util.ViewUtil.backgroundAlpha;
+import butterknife.BindView;
+import butterknife.OnClick;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+import rx.functions.Action1;
 
 /**
  * 个人中心
@@ -131,24 +150,6 @@ public class FgtPersonalCenter extends BaseFragment {
         isNewbie = is;
     }
 
-    public static void scrollToBottom(Activity activity) {
-        scrollRef.get().fullScroll(View.FOCUS_DOWN);
-        new Handler() {
-            public void handleMessage(Message msg) {
-                new NewbieGuideHelper(activity).show(NewbieGuideHelper.GUIDE_FAQ);
-            }
-        }.sendEmptyMessageDelayed(0, 300);
-    }
-
-    public static void scrollToTop(Activity activity) {
-        scrollRef.get().fullScroll(View.FOCUS_UP);
-        new Handler() {
-            public void handleMessage(Message msg) {
-                new NewbieGuideHelper(activity).show(NewbieGuideHelper.GUIDE_MONEY);
-            }
-        }.sendEmptyMessageDelayed(0, 300);
-    }
-
     @Override
     public int getLayoutId() {
         return R.layout.fgt_personalcenter_layout;
@@ -165,18 +166,11 @@ public class FgtPersonalCenter extends BaseFragment {
         accountDetailRef = new WeakReference<>(account_detail_layout);
         fagRef = new WeakReference<>(faq_layout);
         scrollRef = new WeakReference<>(scroll_view);
-        if (isNewbie) {
-            new Handler() {
-                public void handleMessage(Message msg) {
-                    new NewbieGuideHelper(getActivity()).show(NewbieGuideHelper.GUIDE_USER);
-                }
-            }.sendEmptyMessageDelayed(0, 500);
-        }
     }
 
     @Override
     public void initViewOnVisibleToUser() {
-        ibtn_baseactivity_right.setOnClickListener((v) -> Jump2View.getInstance().goSetting(activity, null));
+        ibtn_baseactivity_right.setOnClickListener((v) -> Jump2View.getInstance().goSetting(activity));
 
         if (activity instanceof PersonalCenterAct) {
             img_baseactivity_title.setVisibility(View.VISIBLE);
@@ -279,22 +273,23 @@ public class FgtPersonalCenter extends BaseFragment {
                 int offset = moduleList.computeHorizontalScrollOffset();
                 //Log.i("dx------",range+"****"+extent+"****"+offset);
                 //此处获取seekbar的getThumb,就是可以滑动的小的滚动游标
-                GradientDrawable gradientDrawable =(GradientDrawable) seekBar_indicator.getThumb();
+                GradientDrawable gradientDrawable = (GradientDrawable) seekBar_indicator.getThumb();
                 //根据列表的个数,动态设置游标的大小,设置游标的时候,progress进度的颜色设置为和seekbar的颜色设置的一样的,所以就不显示进度了。
                 //gradientDrawable.setSize(extent/(userCenterModuleList.size()/2),5);
                 //设置可滚动区域
-                seekBar_indicator.setMax(range-extent);
-                if (dx==0){
+                seekBar_indicator.setMax(range - extent);
+                if (dx == 0) {
                     seekBar_indicator.setProgress(0);
-                }else if (dx>0){
+                } else if (dx > 0) {
 //                    int ss = (int)(tt/2.3f);
                     //Log.i("dx------","右滑");
                     seekBar_indicator.setProgress(offset);
-                }else if (dx<0){
+                } else if (dx < 0) {
                     //Log.i("dx------","左滑");
                     seekBar_indicator.setProgress(offset);
                 }
             }
+
             @Override
             public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                 super.onScrollStateChanged(recyclerView, newState);
@@ -335,7 +330,7 @@ public class FgtPersonalCenter extends BaseFragment {
         moduleList.setNestedScrollingEnabled(false);
         moduleList.setLayoutManager(manager);
         if (itemCount > 4) itemCount = 4;
-        int w = ((ScreenUtil.getScreenWidth(getActivity()) - DisplayUtil.dip2px(getContext(),32))/ itemCount);
+        int w = ((ScreenUtil.getScreenWidth(getActivity()) - DisplayUtil.dip2px(getContext(), 32)) / itemCount);
         AdpHomeList<UserCenterModule> adapter = new AdpHomeList<>(R.layout.item_my_list_but3, w, userCenterModuleList);
         adapter.bindToRecyclerView(moduleList);
         adapter.setOnItemClickListener((adapter1, view, position) -> CommonUtil.getInstance().goNative(SheepApp.getInstance().getCurrentActivity(), ListUtil.getItem(userCenterModuleList, position), "个人中心"));
@@ -458,8 +453,8 @@ public class FgtPersonalCenter extends BaseFragment {
             return;
         }
         View view = LayoutInflater.from(mActivity).inflate(R.layout.dialog_redpackage_after_invitation, null, false);
-        TextView tvGetRedPackage = view.findViewById(R.id.tv_get_redpackage);
-        TextView tvMoney = view.findViewById(R.id.tv_money);
+//        TextView tvGetRedPackage = view.findViewById(R.id.tv_get_redpackage);
+//        TextView tvMoney = view.findViewById(R.id.tv_money);
         ImageView ivClose = view.findViewById(R.id.iv_close);
         final PopupWindow popupWindow = new PopupWindow(mActivity);
         popupWindow.setContentView(view);
@@ -477,16 +472,16 @@ public class FgtPersonalCenter extends BaseFragment {
             e.printStackTrace();
         }
         popupWindow.setOnDismissListener(new ViewUtil.PopDismissListener(mActivity));
-        tvMoney.setText("1");
-        tvGetRedPackage.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                //   CommonUtil.getInstance().updateUserInfo(null);
-                updateUserInfo(null);
-                popupWindow.dismiss();
-                ivRedpackage.setVisibility(View.GONE);
-            }
-        });
+//        tvMoney.setText("1");
+//        tvGetRedPackage.setOnClickListener(new View.OnClickListener() {
+//            @Override
+//            public void onClick(View v) {
+//                //   CommonUtil.getInstance().updateUserInfo(null);
+//                updateUserInfo(null);
+//                popupWindow.dismiss();
+//                ivRedpackage.setVisibility(View.GONE);
+//            }
+//        });
         ivClose.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -557,10 +552,10 @@ public class FgtPersonalCenter extends BaseFragment {
                 if (TestUtil.isTest()) {
                     TestUtil.test(activity);
                 } else
-                    Jump2View.getInstance().goPersionInfo(activity, null);
+                    Jump2View.getInstance().goPersionInfo(activity);
                 break;
             case R.id.account_detail_layout://个人资料
-                Jump2View.getInstance().goPersionInfo(activity, null);
+                Jump2View.getInstance().goPersionInfo(activity);
                 break;
             /*case R.id.my_pet_layout://我的宠物
 //         Jump2View.getInstance().goWeb(activity, Config.getUrlByPath(Config.PATH_MY_PET), "我的宠物");
@@ -578,7 +573,7 @@ public class FgtPersonalCenter extends BaseFragment {
             case R.id.personalcenter_item_price_ic://我的资产
             case R.id.personalcenter_item_price_tag://我的资产
             case R.id.personalcenter_item_price_tv://我的资产
-                Jump2View.getInstance().goMyMoney(activity, null);
+                Jump2View.getInstance().goMyMoney(activity);
                 break;
 /*            case R.id.account_task_layout://任务记录
                 Jump2View.getInstance().goAuditTastList(activity, null);

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSearchApp.java

@@ -25,7 +25,7 @@ public class FgtSearchApp extends BaseListFragment2<GameEntity> {
     @Override
     public void initView() {
         super.initView();
-        view_list.setPullRefreshEnabled(false);
+        binding.viewList.setPullRefreshEnabled(false);
     }
 
     private String name;

+ 4 - 3
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSignCardRecord.java

@@ -1,11 +1,12 @@
 package com.sheep.gamegroup.view.fragment;
 
 import android.graphics.Color;
-import androidx.recyclerview.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.TextView;
 
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.haibin.calendarview.Calendar;
 import com.haibin.calendarview.CalendarView;
 import com.kfzs.appstore.utils.adapter.recyclerview.RecyclerViewAdapter;
@@ -50,9 +51,9 @@ public class FgtSignCardRecord extends BaseListFragment2<PunchLog> {
         CalendarMonthView.class.getSimpleName();
         per_page = 100;
         super.initView();
-        view_list.setNestedScrollingEnabled(false);
+        binding.viewList.setNestedScrollingEnabled(false);
         View view = LayoutInflater.from(activity).inflate(R.layout.header_sign_card_record, null);
-        view_list.addHeaderView(view);
+        binding.viewList.addHeaderView(view);
         sign_card_record_cv = view.findViewById(R.id.sign_card_record_cv);
         year_month_tv = view.findViewById(R.id.year_month_tv);
         total_award = view.findViewById(R.id.total_award);

+ 29 - 24
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -10,16 +10,6 @@ import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import androidx.annotation.NonNull;
-import com.google.android.material.tabs.TabLayout;
-import androidx.fragment.app.Fragment;
-import androidx.core.app.NotificationManagerCompat;
-import androidx.viewpager.widget.ViewPager;
-import androidx.core.widget.NestedScrollView;
-import androidx.appcompat.app.AlertDialog;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
 import android.text.TextUtils;
 import android.transition.ChangeBounds;
 import android.transition.TransitionManager;
@@ -36,10 +26,22 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.PopupWindow;
 import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.core.app.NotificationManagerCompat;
+import androidx.core.widget.NestedScrollView;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.viewpager.widget.ViewPager;
+
 import com.alibaba.fastjson.JSONArray;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
 import com.bumptech.glide.request.RequestOptions;
+import com.google.android.material.tabs.TabLayout;
 import com.kfzs.duanduan.cardview.ScreenUtil;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
@@ -92,7 +94,6 @@ import com.sheep.gamegroup.util.ViewHolder;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.string.SpannableSb;
 import com.sheep.gamegroup.util.viewHelper.LayoutParamsUtil;
-import com.sheep.gamegroup.view.activity.ActMain;
 import com.sheep.gamegroup.view.activity.NotificationsUtils;
 import com.sheep.gamegroup.view.activity.helper.AdHelper;
 import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
@@ -107,16 +108,20 @@ import com.sunfusheng.marqueeview.MarqueeView;
 import com.youth.banner.Banner;
 import com.youth.banner.BannerConfig;
 import com.youth.banner.loader.ImageLoader;
+
 import org.afinal.simplecache.ApiKey;
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
+
 import java.lang.ref.WeakReference;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+
 import javax.inject.Inject;
+
 import butterknife.BindView;
 import butterknife.OnClick;
 import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -232,8 +237,8 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                     tryMakeMoneyAdp.notifyDataSetChanged();
                     break;
                 case WHAT_TRY_SHOW_HB:
-                    ((ActMain) getActivity()).switchFragment(0);
-                    showRedPackage(activity);
+//                    ((ActMain) getActivity()).switchFragment(0);
+//                    showRedPackage(activity);
                     break;
             }
 
@@ -343,8 +348,8 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
             return;
         }
         View view = LayoutInflater.from(mActivity).inflate(R.layout.dialog_redpackage_after_invitation, null, false);
-        TextView tvGetRedPackage = view.findViewById(R.id.tv_get_redpackage);
-        TextView tvMoney = view.findViewById(R.id.tv_money);
+//        TextView tvGetRedPackage = view.findViewById(R.id.tv_get_redpackage);
+//        TextView tvMoney = view.findViewById(R.id.tv_money);
         ImageView ivClose = view.findViewById(R.id.iv_close);
         final PopupWindow popupWindow = new PopupWindow(mActivity);
         popupWindow.setContentView(view);
@@ -362,15 +367,15 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
             e.printStackTrace();
         }
         popupWindow.setOnDismissListener(new ViewUtil.PopDismissListener(mActivity));
-        tvMoney.setText("1");
-        tvGetRedPackage.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                //   CommonUtil.getInstance().updateUserInfo(null);
-                updateUserInfo(null);
-                popupWindow.dismiss();
-            }
-        });
+//        tvMoney.setText("1");
+//        tvGetRedPackage.setOnClickListener(new View.OnClickListener() {
+//            @Override
+//            public void onClick(View v) {
+//                //   CommonUtil.getInstance().updateUserInfo(null);
+//                updateUserInfo(null);
+//                popupWindow.dismiss();
+//            }
+//        });
         ivClose.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtUserNoviceGuidance.java

@@ -25,7 +25,7 @@ public class FgtUserNoviceGuidance extends BaseListFragment2<NoviceGuidance> {
                 .setShowOrHide(getActivity(), true)
                 .setTitle(getActivity(), "新手引导")
                 .setTitleFinish(getActivity());
-        view_list.setLoadingMoreEnabled(false);
+        binding.viewList.setLoadingMoreEnabled(false);
     }
 
     private AdpNoviceGuidance adapter;

+ 0 - 285
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtWelfareCenter.java

@@ -1,285 +0,0 @@
-package com.sheep.gamegroup.view.fragment;
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.Bundle;
-import androidx.annotation.Nullable;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.sheep.gamegroup.event.BigEvent;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.GiftBagApp;
-import com.sheep.gamegroup.model.entity.Release_task;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.GlideImageLoader;
-import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.util.ViewHolder;
-import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
-import com.sheep.gamegroup.view.adapter.WelfareAdapter;
-import com.sheep.gamegroup.view.adapter.GiftCenterAdapter;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.base.BaseFragment;
-import com.sheep.jiuyan.samllsheep.service.DownloadService;
-
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import butterknife.BindView;
-import butterknife.OnClick;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * Created by realicing on 2018/8/28.
- * realicing@sina.com
- */
-public class FgtWelfareCenter extends BaseFragment{
-    @BindView(R.id.refresh)
-    SwipeRefreshLayout refresh;
-    @BindView(R.id.wc_hot_welfare_list)
-    RecyclerView wcHotWelfareList;
-    @BindView(R.id.wc_all_welfare)
-    TextView wcAllWelfare;
-    @BindView(R.id.wc_download_welfare_list)
-    RecyclerView wcDownloadWelfareList;
-    @BindView(R.id.wc_all_gift)
-    TextView wcAllGift;
-    @BindView(R.id.wc_gift_center_title_line)
-    View wc_gift_center_title_line;
-    @BindView(R.id.wc_gift_center_title_container)
-    View wc_gift_center_title_container;
-    @BindView(R.id.wc_gift_center_list)
-    RecyclerView wcGiftCenterList;
-    @BindView(R.id.bottom_line_text)
-    TextView bottomLineText;
-    @BindView(R.id.wc_hot_welfare_list_ll)
-    LinearLayout wc_hot_welfare_list_ll;
-    @BindView(R.id.wc_download_welfare_list_ll)
-    LinearLayout wc_download_welfare_list_ll;
-    @BindView(R.id.bottom_line)
-    LinearLayout bottomLine;
-
-    @Override
-    public int getLayoutId() {
-        return R.layout.fgt_welfare_center;
-    }
-    private List<Release_task> hotWelfareList = ListUtil.emptyList();
-    private List<Release_task> downloadWelfareList = ListUtil.emptyList();
-    private List<GiftBagApp> giftCenterList = ListUtil.emptyList();
-    private Activity activity;
-    @Override
-    public void onViewCreated() {
-        activity = getActivity();
-        final Context context = SheepApp.getInstance();
-        //热门福利
-        LinearLayoutManager hotLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
-        wcHotWelfareList.setHasFixedSize(true);
-        wcHotWelfareList.setNestedScrollingEnabled(false);
-        wcHotWelfareList.setLayoutManager(hotLayoutManager);
-        wcHotWelfareList.setAdapter(new AdbCommonRecycler<Release_task>(context, hotWelfareList) {
-            @Override
-            public int getViewIdByType(int type) {
-                return R.layout.item_hot_welfare;
-            }
-
-            @Override
-            public void convert(ViewHolder holder, final Release_task item) {
-                ImageView item_hot_welfare_iv = holder.getView(R.id.item_hot_welfare_iv);
-                TextView item_hot_welfare_tv = holder.getView(R.id.item_hot_welfare_tv);
-                if(item == null || item.getTask() == null){
-                    ViewUtil.setDefaultText(item_hot_welfare_tv);
-                } else {
-                    GlideImageLoader.setGameImage(item_hot_welfare_iv, item.getTask().getIcon());
-                    ViewUtil.setText(item_hot_welfare_tv, item.getName());
-                    DownloadService.setDownLoadLongClick(holder.itemView, item.getTask());
-                }
-                holder.itemView.setOnClickListener(view -> {
-                    if(item != null && item.getTask() != null)
-                        Jump2View.getInstance().goGameTaskDetailView(activity,  item.getId(), item.getTask().getThird_task_id(),1);
-                });
-            }
-        });
-        //下载福利
-        LinearLayoutManager downloadLayoutManager = new LinearLayoutManager(context);
-        wcDownloadWelfareList.setHasFixedSize(true);
-        wcDownloadWelfareList.setNestedScrollingEnabled(false);
-        wcDownloadWelfareList.setLayoutManager(downloadLayoutManager);
-        wcDownloadWelfareList.setAdapter(new WelfareAdapter(activity, downloadWelfareList, integer -> {
-            switch (integer){
-                case WelfareAdapter.TO_REFRESH:
-                    refreshDownloadWelfare = true;
-                    refreshData();
-                    break;
-            }
-        }));
-        //礼包中心
-        LinearLayoutManager layoutManager = new LinearLayoutManager(context);
-        wcGiftCenterList.setHasFixedSize(true);
-        wcGiftCenterList.setNestedScrollingEnabled(false);
-        wcGiftCenterList.setLayoutManager(layoutManager);
-        wcGiftCenterList.setAdapter(new GiftCenterAdapter(activity, giftCenterList, integer -> {
-            switch (integer){
-                case WelfareAdapter.TO_REFRESH:
-                    refreshGiftCenter = true;
-                    refreshData();
-                    break;
-            }
-        }));
-        refresh.setOnRefreshListener(this::initData);
-    }
-
-    @Override
-    public void initDataOnVisibleToUser() {
-        if(activity == null){
-            onViewCreated();
-        }
-        initData();
-    }
-
-    public void initData() {
-        refreshHotWelfare = true;
-        refreshDownloadWelfare = true;
-        refreshGiftCenter = true;
-        refreshData();
-    }
-
-    private boolean refreshHotWelfare = true;
-    private boolean refreshDownloadWelfare = true;
-    private boolean refreshGiftCenter = true;
-    private final static int DEFAULT_COUNT = 5;//下载福利与礼包中心默认显示条数
-    //刷新数据
-    private void refreshData() {
-        if(refreshHotWelfare || refreshDownloadWelfare || refreshGiftCenter) {
-            refresh.setRefreshing(true);
-        }
-        //热门福利
-        if(refreshHotWelfare) {
-            SheepApp.getInstance().getNetComponent().getApiService().getHotWelfareList()
-                    .subscribeOn(Schedulers.io())
-                    .observeOn(AndroidSchedulers.mainThread())
-                    .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                        @Override
-                        public void onNext(BaseMessage baseMessage) {
-                            refreshHotWelfare = false;
-                            ArrayList<Release_task> newList = baseMessage.getDataList(Release_task.class);
-                            hotWelfareList.clear();
-                            ListUtil.addAll(hotWelfareList, newList);
-                            ViewUtil.notifyDataSetChanged(wcHotWelfareList);
-                            notifyDataSetChanged();
-                        }
-
-                        @Override
-                        public void onError(BaseMessage baseMessage) {
-                            refreshHotWelfare = false;
-                            hotWelfareList.clear();
-                            ViewUtil.notifyDataSetChanged(wcHotWelfareList);
-                            notifyDataSetChanged();
-                        }
-                    });
-        }
-        //下载福利
-        if(refreshDownloadWelfare) {
-            SheepApp.getInstance().getNetComponent().getApiService().getDownWelfareList(1,DEFAULT_COUNT)
-                    .subscribeOn(Schedulers.io())
-                    .observeOn(AndroidSchedulers.mainThread())
-                    .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                        @Override
-                        public void onNext(BaseMessage baseMessage) {
-                            refreshDownloadWelfare = false;
-                            ArrayList<Release_task> newList = baseMessage.getDataList(Release_task.class);
-                            downloadWelfareList.clear();
-                            ListUtil.addAll(downloadWelfareList, newList);
-                            ViewUtil.notifyDataSetChanged(wcDownloadWelfareList);
-                            notifyDataSetChanged();
-                        }
-
-                        @Override
-                        public void onError(BaseMessage baseMessage) {
-                            refreshDownloadWelfare = false;
-                            downloadWelfareList.clear();
-                            ViewUtil.notifyDataSetChanged(wcDownloadWelfareList);
-                            notifyDataSetChanged();
-                        }
-                    });
-        }
-        //礼包中心
-        if(refreshGiftCenter) {
-            SheepApp.getInstance().getNetComponent().getApiService().getGiftBagList(1, DEFAULT_COUNT)
-                    .subscribeOn(Schedulers.io())
-                    .observeOn(AndroidSchedulers.mainThread())
-                    .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                        @Override
-                        public void onNext(BaseMessage baseMessage) {
-                            refreshGiftCenter = false;
-                            ArrayList<GiftBagApp> newList = baseMessage.getDataList(GiftBagApp.class);
-                            giftCenterList.clear();
-                            ListUtil.addAll(giftCenterList, newList);
-                            ViewUtil.notifyDataSetChanged(wcGiftCenterList);
-                            notifyDataSetChanged();
-                        }
-
-                        @Override
-                        public void onError(BaseMessage baseMessage) {
-                            refreshGiftCenter = false;
-                            giftCenterList.clear();
-                            ViewUtil.notifyDataSetChanged(wcGiftCenterList);
-                            notifyDataSetChanged();
-                        }
-                    });
-        }
-    }
-
-    private void notifyDataSetChanged() {
-        if(refresh == null || wc_gift_center_title_container == null || wc_gift_center_title_line == null){
-            return;
-        }
-        if(!refreshHotWelfare && !refreshDownloadWelfare && !refreshGiftCenter)
-            refresh.setRefreshing(false);
-        wc_gift_center_title_container.setVisibility(giftCenterList.isEmpty() ? View.GONE : View.VISIBLE);
-        wc_gift_center_title_line.setVisibility(giftCenterList.isEmpty() ? View.GONE : View.VISIBLE);
-        ViewUtil.setVisibility(wc_hot_welfare_list_ll, !hotWelfareList.isEmpty());
-        ViewUtil.setVisibility(wc_download_welfare_list_ll, !downloadWelfareList.isEmpty());
-    }
-
-
-    @OnClick({R.id.wc_all_welfare, R.id.wc_all_gift})
-    public void onViewClicked(View view) {
-        switch (view.getId()) {
-            case R.id.wc_all_welfare://全部福利
-                Jump2View.getInstance().goWelfareList(activity);
-                break;
-            case R.id.wc_all_gift://全部礼包
-                Jump2View.getInstance().goGiftCenter(activity);
-                break;
-        }
-    }
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        EventBus.getDefault().register(this);
-    }
-
-    @Subscribe
-    public void onEventMainThread(BigEvent event) {
-        CommonUtil.getInstance().setEventResultViewStatus(event, wcDownloadWelfareList);
-    }
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        EventBus.getDefault().unregister(this);
-    }
-}

+ 0 - 44
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtWelfareUseRecord.java

@@ -1,44 +0,0 @@
-package com.sheep.gamegroup.view.fragment;
-
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.sheep.gamegroup.model.api.ApiService;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.VoucherUseLog;
-import com.sheep.gamegroup.view.adapter.VoucherUseLogAdapter;
-
-import java.util.Locale;
-
-import io.reactivex.Observable;
-
-/**
- * 我的福利--使用记录
- * Created by realicing on 2018/8/28.
- * realicing@sina.com
- */
-public class FgtWelfareUseRecord extends BaseListFragment2<VoucherUseLog> {
-    @Override
-    protected boolean isFirstGetACache() {
-        return false;
-    }
-    @Override
-    protected RecyclerView.Adapter getAdapter() {
-        return new VoucherUseLogAdapter(activity, list);
-    }
-
-    @Override
-    protected String getKey(int page, int per_page) {
-        return String.format(Locale.CHINA, "app/game_consumption/voucher_use_log?page=%d&per_page=%d", page, per_page);
-    }
-
-    @Override
-    protected Observable<BaseMessage> getApi(ApiService apiService) {
-        return apiService.getMyWelfareLogList(page, per_page);
-    }
-
-    @Override
-    protected Class<VoucherUseLog> getTClass() {
-        return VoucherUseLog.class;
-    }
-
-}

+ 14 - 8
app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseFragment.java

@@ -6,19 +6,24 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.ActivityInfo;
 import android.os.Bundle;
-import androidx.annotation.IdRes;
-import androidx.annotation.Nullable;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
+import androidx.annotation.IdRes;
+import androidx.annotation.Nullable;
+
 import com.sheep.gamegroup.absBase.AbsObserver;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.event.WXLoginAuthEvent;
 import com.sheep.gamegroup.model.api.BackHandleInterface;
-import com.sheep.gamegroup.util.*;
+import com.sheep.gamegroup.util.ActionUtil;
+import com.sheep.gamegroup.util.AppUtil;
+import com.sheep.gamegroup.util.GsonUtils;
+import com.sheep.gamegroup.util.ProcessEventUtil;
+import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.view.dialog.DialogLoading;
 import com.tencent.mm.opensdk.modelpay.PayResp;
 import com.trello.rxlifecycle2.components.support.RxFragment;
@@ -159,11 +164,12 @@ public abstract class BaseFragment extends RxFragment {
      */
 
     boolean hasRegister = false;
+
     public void registerBroadcastReceiver() {
         IntentFilter intentFilter = new IntentFilter(ProcessEventUtil.ACTION_BROADCAST_RECEIVER_PROCESS_EVENT);
-        if(hasRegister){
+        if (hasRegister) {
             getContext().unregisterReceiver(getBroadcastReceiver());
-        }else {
+        } else {
             getContext().registerReceiver(getBroadcastReceiver(), intentFilter);
         }
         hasRegister = true;
@@ -176,18 +182,18 @@ public abstract class BaseFragment extends RxFragment {
             broadcastReceiver = new BroadcastReceiver() {
                 @Override
                 public void onReceive(Context context, Intent intent) {
-                    if(AppUtil.isWebProcess(context)){
+                    if (AppUtil.isWebProcess(context)) {
                         String broadcast_type = intent.getStringExtra(ProcessEventUtil.KEY_BROADCAST_TYPE);
                         if (broadcast_type.equals(ProcessEventUtil.TYPE_BROADCAST_PROCESS_EVENT)) {
                             switch (intent.getStringExtra(ProcessEventUtil.KEY_PROCESS_EVENT_TYPE)) {
                                 case ProcessEventUtil.EVENT_WX_LOGIN_AUTH:
-                                    Log.d("######","···收到微信登录广播");
+                                    Log.d("######", "···收到微信登录广播");
                                     onProcessEvent(GsonUtils.getGlobalGson().fromJson(intent.getStringExtra(ProcessEventUtil.KEY_PROCESS_EVENT_JSON), WXLoginAuthEvent.class));
                                     context.unregisterReceiver(getBroadcastReceiver());
                                     hasRegister = false;
                                     break;
                                 case ProcessEventUtil.EVENT_PAY_RESP:
-                                    Log.d("######","···收到支付广播");
+                                    Log.d("######", "···收到支付广播");
                                     onProcessEvent(GsonUtils.getGlobalGson().fromJson(intent.getStringExtra(ProcessEventUtil.KEY_PROCESS_EVENT_JSON), PayResp.class));
                                     context.unregisterReceiver(getBroadcastReceiver());
                                     hasRegister = false;

+ 4 - 0
app/src/main/res/drawable/divider_12dp.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <size android:height="12dp" />
+</shape>

+ 7 - 0
app/src/main/res/drawable/gradient_libao_detail.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+        android:angle="270"
+        android:endColor="#43DEFF"
+        android:startColor="#00B1F7" />
+</shape>

+ 8 - 0
app/src/main/res/drawable/gradient_mine_fragment.xml

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

+ 5 - 0
app/src/main/res/drawable/icon_tab_find_game.xml

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

+ 5 - 0
app/src/main/res/drawable/icon_tab_fuli.xml

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

+ 5 - 0
app/src/main/res/drawable/icon_tab_home.xml

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

+ 5 - 0
app/src/main/res/drawable/icon_tab_mine.xml

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

File diff suppressed because it is too large
+ 24 - 0
app/src/main/res/drawable/lianxi_kefu.xml


+ 7 - 0
app/src/main/res/drawable/libao_line_16dp.xml

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

+ 30 - 0
app/src/main/res/drawable/mine_download.xml

@@ -0,0 +1,30 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    android:width="29dp"
+    android:height="29dp"
+    android:viewportWidth="29"
+    android:viewportHeight="29">
+  <path
+      android:pathData="M12,0L17,0A12,12 0,0 1,29 12L29,17A12,12 0,0 1,17 29L12,29A12,12 0,0 1,0 17L0,12A12,12 0,0 1,12 0z">
+    <aapt:attr name="android:fillColor">
+      <gradient 
+          android:startX="1.055"
+          android:startY="3.783"
+          android:endX="16.969"
+          android:endY="27.388"
+          android:type="linear">
+        <item android:offset="0" android:color="#FF43DEFF"/>
+        <item android:offset="0.948" android:color="#FF00B1F7"/>
+      </gradient>
+    </aapt:attr>
+  </path>
+  <path
+      android:pathData="M12,8.5C12,8.224 12.224,8 12.5,8L16.5,8C16.776,8 17,8.224 17,8.5V17.5C17,17.776 16.776,18 16.5,18H12.5C12.224,18 12,17.776 12,17.5V8.5Z"
+      android:fillColor="#ffffff"/>
+  <path
+      android:pathData="M14.158,20.666C14.352,20.853 14.658,20.853 14.852,20.666L20.106,15.61C20.43,15.298 20.209,14.75 19.759,14.75H9.25C8.8,14.75 8.579,15.298 8.904,15.61L14.158,20.666Z"
+      android:fillColor="#ffffff"/>
+  <path
+      android:pathData="M9.5,20.5C9.5,20.224 9.724,20 10,20H19C19.276,20 19.5,20.224 19.5,20.5C19.5,20.776 19.276,21 19,21H10C9.724,21 9.5,20.776 9.5,20.5Z"
+      android:fillColor="#ffffff"/>
+</vector>

File diff suppressed because it is too large
+ 24 - 0
app/src/main/res/drawable/mine_libao.xml


File diff suppressed because it is too large
+ 27 - 0
app/src/main/res/drawable/mine_person_info.xml


File diff suppressed because it is too large
+ 24 - 0
app/src/main/res/drawable/mine_setting.xml


File diff suppressed because it is too large
+ 24 - 0
app/src/main/res/drawable/mine_zichan.xml


+ 5 - 0
app/src/main/res/drawable/round_arrow_forward_ios_24.xml

@@ -0,0 +1,5 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#999999" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
+      
+    <path android:fillColor="@android:color/white" android:pathData="M7.38,21.01c0.49,0.49 1.28,0.49 1.77,0l8.31,-8.31c0.39,-0.39 0.39,-1.02 0,-1.41L9.15,2.98c-0.49,-0.49 -1.28,-0.49 -1.77,0s-0.49,1.28 0,1.77L14.62,12l-7.25,7.25c-0.48,0.48 -0.48,1.28 0.01,1.76z"/>
+    
+</vector>

+ 5 - 0
app/src/main/res/drawable/round_rect_12dp.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="12dp" />
+    <solid android:color="@android:color/white" />
+</shape>

+ 0 - 6
app/src/main/res/layout-v21/main_frame_layout.xml

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

+ 48 - 119
app/src/main/res/layout/act_bottom_bar.xml

@@ -1,130 +1,59 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout
-        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:id="@+id/main_layout"
+<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/main_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <FrameLayout
+        android:id="@+id/frame_container"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        app:layout_constraintBottom_toTopOf="@+id/tab_container"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <LinearLayout
+        android:id="@+id/tab_container"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-    <ImageView
-            android:id="@+id/test_click_qqgame"
+        android:layout_height="wrap_content"
+        android:backgroundTint="@color/white"
+        android:clipChildren="false"
+        android:gravity="bottom"
+
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        tools:backgroundTint="@color/gray_F5F5F5">
+
+        <include
+            android:id="@+id/tab_home_homepage"
+            layout="@layout/layout_home_tab"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:adjustViewBounds="true"
-            android:src="@mipmap/home_blue_bg"/>
+            android:layout_weight="1" />
 
-    <RelativeLayout
-            android:id="@+id/main_header"
+        <include
+            android:id="@+id/tab_home_find_game"
+            layout="@layout/layout_home_tab"
             android:layout_width="match_parent"
-            android:layout_height="40dp"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginTop="42dp"/>
+            android:layout_height="wrap_content"
+            android:layout_weight="1" />
 
-    <include
-            android:id="@+id/frame_container"
-            layout="@layout/main_frame_layout"
+        <include
+            android:id="@+id/tab_home_fuli"
+            layout="@layout/layout_home_tab"
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:layout_marginBottom="64dp"
-            android:layout_marginTop="82dp"/>
+            android:layout_height="wrap_content"
+            android:layout_weight="1" />
 
-    <com.sheep.gamegroup.view.customview.BottomTabLayout
-            android:id="@+id/tab_container"
+        <include
+            android:id="@+id/tab_home_mine"
+            layout="@layout/layout_home_tab"
             android:layout_width="match_parent"
-            android:layout_height="92dp"
-            android:backgroundTint="@color/white"
-            tools:backgroundTint="@color/gray_F5F5F5"
-            android:gravity="bottom"
-            android:clipChildren="false"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toEndOf="parent">
-
-        <LinearLayout
-                android:id="@+id/tab_1"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginTop="28dp"
-                android:gravity="center"
-                android:orientation="vertical"
-                android:layout_weight="1">
-
-            <ImageView
-                    android:id="@+id/tab_1_iv"
-                    android:layout_width="32dp"
-                    android:layout_height="32dp"
-                    tools:src="@drawable/shouye"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintEnd_toEndOf="parent"/>
-
-            <TextView
-                    android:id="@+id/tab_1_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    app:layout_constraintStart_toStartOf="@id/tab_1_iv"
-                    app:layout_constraintEnd_toEndOf="@id/tab_1_iv"
-                    app:layout_constraintTop_toBottomOf="@id/tab_1_iv"
-                    android:text="首页"/>
-
-        </LinearLayout>
-
-        <Space
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_weight="1"/>
-
-        <LinearLayout
-                android:id="@+id/tab_3"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginTop="28dp"
-                android:orientation="vertical"
-                android:gravity="center"
-                android:layout_weight="1">
-
-            <ImageView
-                    android:id="@+id/tab_3_iv"
-                    android:layout_width="32dp"
-                    android:layout_height="32dp"
-                    tools:src="@drawable/youxi"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintEnd_toEndOf="parent"/>
-
-            <TextView
-                    android:id="@+id/tab_3_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    app:layout_constraintTop_toBottomOf="@id/tab_3_iv"
-                    app:layout_constraintStart_toStartOf="@id/tab_3_iv"
-                    app:layout_constraintEnd_toEndOf="@id/tab_3_iv"
-                    android:text="游戏"/>
-
-        </LinearLayout>
-
-    </com.sheep.gamegroup.view.customview.BottomTabLayout>
-
-    <ImageView
-            android:id="@+id/tab_2"
-            android:layout_width="64dp"
-            android:layout_height="64dp"
-            android:layout_marginBottom="12dp"
-            android:scaleType="centerCrop"
-            android:layout_weight="1"
-            android:background="@drawable/anim_wxhb"
-            app:layout_constraintEnd_toEndOf="@+id/tab_container"
-            app:layout_constraintStart_toStartOf="@+id/tab_container"
-            app:layout_constraintBottom_toBottomOf="@+id/tab_container"/>
-
+            android:layout_height="wrap_content"
+            android:layout_weight="1" />
+    </LinearLayout>
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 206 - 94
app/src/main/res/layout/act_gift_detail.xml

@@ -1,100 +1,212 @@
 <?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:background="@color/bg"
     android:fitsSystemWindows="true"
-    android:orientation="vertical"
-    android:background="@color/bg">
-
-    <include layout="@layout/item_download_welfare" />
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:paddingTop="12dp"
-        android:paddingBottom="12dp"
-        android:paddingEnd="16dp"
-        android:paddingStart="16dp"
-        android:text="使用有效期"
-        android:textColor="#ff333333"
-        android:textSize="13sp" />
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:layout_marginEnd="16dp"
-        android:layout_marginStart="16dp"
-        android:background="#ffe6e6e6" />
-
-    <TextView
-        android:id="@+id/gift_detail_time"
-        android:layout_width="wrap_content"
-        android:layout_height="40dp"
-        android:gravity="center"
-        android:paddingEnd="16dp"
-        android:paddingStart="16dp"
-        android:text="2018.07.26 - 2018.11.01"
-        android:textColor="#ff2ebef2"
-        android:textSize="12sp" />
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="35dp"
-        android:gravity="center"
-        android:paddingEnd="16dp"
-        android:paddingStart="16dp"
-        android:text="礼包内容"
-        android:textColor="#ff333333"
-        android:textSize="13sp" />
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:layout_marginEnd="16dp"
-        android:layout_marginStart="16dp"
-        android:background="#ffe6e6e6" />
-
-    <TextView
-        android:id="@+id/gift_detail_content"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:paddingTop="14dp"
-        android:paddingBottom="14dp"
-        android:paddingEnd="16dp"
-        android:paddingStart="16dp"
-        android:lineSpacingExtra="10dp"
-        android:text="元宝*88,士兵*60w"
-        android:textColor="#ff2ebef2"
-        android:textSize="12sp" />
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="35dp"
-        android:gravity="center"
-        android:paddingEnd="16dp"
-        android:paddingStart="16dp"
-        android:text="使用方法"
-        android:textColor="#ff333333"
-        android:textSize="13sp" />
-
-    <View
+    android:orientation="vertical">
+
+    <androidx.coordinatorlayout.widget.CoordinatorLayout
         android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:layout_marginEnd="16dp"
-        android:layout_marginStart="16dp"
-        android:background="#ffe6e6e6" />
-
-    <TextView
-        android:id="@+id/gift_detail_tip"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:paddingTop="14dp"
-        android:paddingBottom="14dp"
-        android:paddingEnd="16dp"
-        android:paddingStart="16dp"
-        android:lineSpacingExtra="10dp"
-        android:text="在兑换码界面输入即可领取"
-        android:textColor="#ff2ebef2"
-        android:textSize="12sp" />
-</LinearLayout>
+        android:layout_height="match_parent">
+
+        <com.google.android.material.appbar.AppBarLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <com.google.android.material.appbar.CollapsingToolbarLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                app:contentScrim="@android:color/white"
+                app:layout_scrollFlags="scroll|exitUntilCollapsed"
+                app:title="礼包详情"
+                app:titleEnabled="true">
+
+                <androidx.appcompat.widget.Toolbar
+                    android:id="@+id/toolbar"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content" />
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/gradient_libao_detail"
+                    app:layout_collapseMode="parallax">
+
+                    <ImageView
+                        android:id="@+id/imageView4"
+                        android:layout_width="86dp"
+                        android:layout_height="86dp"
+                        android:layout_marginTop="112dp"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:src="@drawable/icon" />
+
+                    <TextView
+                        android:id="@+id/tvGameName"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:textColor="@android:color/white"
+                        android:textSize="16dp"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toBottomOf="@+id/imageView4"
+                        tools:text="标题" />
+
+                    <ImageView
+                        android:layout_width="0dp"
+                        android:layout_height="16dp"
+                        android:layout_marginTop="28dp"
+                        android:src="@drawable/libao_line_16dp"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toBottomOf="@+id/tvGameName" />
+                </androidx.constraintlayout.widget.ConstraintLayout>
+            </com.google.android.material.appbar.CollapsingToolbarLayout>
+        </com.google.android.material.appbar.AppBarLayout>
+
+        <androidx.core.widget.NestedScrollView
+            android:id="@+id/scrollView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:padding="24dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="礼包名称"
+                    android:textColor="@android:color/black"
+                    android:textSize="14sp" />
+
+                <TextView
+                    android:id="@+id/tvTitle"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:textColor="@color/text66"
+                    tools:text="礼包名称" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:gravity="center"
+                    android:text="礼包内容"
+                    android:textColor="@color/black"
+                    android:textSize="14sp"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+
+                <TextView
+                    android:id="@+id/gift_detail_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:textColor="@color/text66"
+                    android:textSize="12sp"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    tools:text="元宝*88,士兵*60w" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:gravity="center"
+                    android:text="使用有效期"
+                    android:textColor="#ff333333"
+                    android:textSize="14sp"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+
+                <TextView
+                    android:id="@+id/gift_detail_time"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:textColor="@color/text66"
+                    android:textSize="14sp"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    tools:text="2018.07.26 - 2018.11.01" />
+
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:gravity="center"
+                    android:text="使用方法"
+                    android:textColor="@color/black"
+                    android:textSize="14sp"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+
+                <TextView
+                    android:id="@+id/gift_detail_tip"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:textColor="@color/text66"
+                    android:textSize="14sp"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    tools:text="在兑换码界面输入即可领取" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:gravity="center"
+                    android:text="兑换码"
+                    android:textColor="@color/black"
+                    android:textSize="14sp"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+                <!--                兑换码-->
+                <LinearLayout
+                    android:id="@+id/llCode"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/tvCode"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textColor="@color/text66"
+                        android:textSize="14sp"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="在兑换码界面输入即可领取" />
+
+                    <TextView
+                        android:id="@+id/btnCopy"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="12dp"
+                        android:text="复制" />
+                </LinearLayout>
+
+                <Button
+                    style="@style/login_theme_round_button"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="60dp"
+                    android:text="立即领取" />
+            </LinearLayout>
+        </androidx.core.widget.NestedScrollView>
+    </androidx.coordinatorlayout.widget.CoordinatorLayout>
+
+</LinearLayout>

+ 0 - 118
app/src/main/res/layout/act_main.xml

@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.coordinatorlayout.widget.CoordinatorLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:app="http://schemas.android.com/apk/res-auto"
-        android:id="@+id/main_layout"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-    <ImageView
-            android:src="@mipmap/home_blue_bg"
-            android:adjustViewBounds="true"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"/>
-
-    <com.google.android.material.appbar.AppBarLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-
-        <RelativeLayout
-                android:id="@+id/main_header"
-                android:layout_width="match_parent"
-                android:layout_height="40dp"
-                android:layout_marginTop="32dp">
-        </RelativeLayout>
-
-    </com.google.android.material.appbar.AppBarLayout>
-
-    <androidx.core.widget.NestedScrollView
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            app:layout_behavior="@string/appbar_scrolling_view_behavior">
-        <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="match_parent">
-
-            <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:padding="@dimen/content_padding_24"
-                    android:background="@color/black"/>
-        </LinearLayout>
-
-    </androidx.core.widget.NestedScrollView>
-
-
-    <LinearLayout
-            android:id="@+id/tab_container"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/bottom_height"
-            android:layout_gravity="bottom"
-            android:layout_alignParentBottom="true"
-            android:background="@color/white"
-            android:orientation="horizontal"
-            android:paddingTop="4dp">
-
-        <View
-                android:layout_width="0dp"
-                android:layout_height="@dimen/tab_height"
-                android:layout_weight="1"/>
-
-        <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="@dimen/tab_height"
-                android:drawableTop="@drawable/drawable_selector_task"
-                android:gravity="center"
-                android:minWidth="@dimen/tab_width"
-                android:text="@string/tab_viewpager_gamestore"
-                android:textColor="@color/selector_color_main_tab"
-                android:textSize="10sp"/>
-
-        <View
-                android:layout_width="0dp"
-                android:layout_height="@dimen/tab_height"
-                android:layout_weight="2"/>
-
-
-        <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="@dimen/tab_height"
-                android:drawableTop="@drawable/drawable_selector_askgetmoney"
-                android:gravity="center"
-                android:elevation="2dp"
-                android:minWidth="@dimen/tab_width"
-                android:text="@string/mine_hoggerel"
-                android:textColor="@color/selector_color_main_tab"
-                android:textSize="10sp"/>
-
-
-        <View
-                android:layout_width="0dp"
-                android:layout_height="@dimen/tab_height"
-                android:layout_weight="2"/>
-
-        <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="@dimen/tab_height"
-                android:drawableTop="@drawable/drawable_selector_personalcenter"
-                android:gravity="center"
-                android:minWidth="@dimen/tab_width"
-                android:text="@string/tab_viewpager_borrowplay"
-                android:textColor="@color/selector_color_main_tab"
-                android:textSize="10sp"/>
-
-        <View
-                android:layout_width="0dp"
-                android:layout_height="@dimen/tab_height"
-                android:layout_weight="1"/>
-    </LinearLayout>
-
-    <View
-            android:id="@+id/tab_line"
-            android:layout_width="match_parent"
-            android:layout_height="1dp"
-            android:layout_gravity="bottom"
-            android:layout_marginBottom="34dp"
-            android:background="#AAe2e2e2"/>
-
-</androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 6 - 4
app/src/main/res/layout/include_article_video_top.xml

@@ -1,10 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/video_top"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:background="#33000000">
+    android:background="#33000000"
+    tools:viewBindingIgnore="true">
 
     <ImageView
         android:id="@+id/video_back_iv"
@@ -23,8 +25,8 @@
         android:layout_height="66dp"
         android:layout_marginTop="15dp"
         android:onClick="onClickAvatar"
-        android:paddingTop="18dp"
         android:paddingStart="18dp"
+        android:paddingTop="18dp"
         android:paddingEnd="18dp"
         android:paddingBottom="8dp"
         android:src="@drawable/avatar"
@@ -40,7 +42,7 @@
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 
-    <android.support.design.widget.CheckableImageButton
+    <com.sheep.gamegroup.view.customview.CheckableImageButton
         android:id="@+id/video_focus_iv"
         android:layout_width="34dp"
         android:layout_height="24dp"
@@ -48,8 +50,8 @@
         android:layout_marginEnd="20dp"
         android:background="@null"
         android:onClick="onClickVideoFocus"
-        android:paddingTop="10dp"
         android:paddingStart="10dp"
+        android:paddingTop="10dp"
         android:paddingEnd="10dp"
         android:src="@drawable/selector_focus"
         app:layout_constraintEnd_toEndOf="parent"

+ 63 - 185
app/src/main/res/layout/item_download_welfare.xml

@@ -1,191 +1,69 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
-    android:orientation="vertical">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
+    android:background="@drawable/round_rect_12dp"
+    android:padding="12dp">
+
+    <ImageView
+        android:id="@+id/icon"
+        android:layout_width="62dp"
+        android:layout_height="62dp"
+        android:src="@drawable/icon_lj"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/tvTitle"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginEnd="16dp"
-        android:layout_marginStart="16dp">
-
-        <ImageView
-            android:id="@+id/item_download_welfare_iv"
-            android:layout_width="62dp"
-            android:layout_height="62dp"
-            android:layout_marginTop="16dp"
-            android:src="@drawable/icon_lj"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-
-        <LinearLayout
-            android:layout_width="0dp"
-            android:layout_height="62dp"
-            android:layout_marginStart="@dimen/content_padding"
-            android:layout_marginTop="16dp"
-            android:orientation="vertical"
-            android:layout_marginEnd="@dimen/find_bt_with"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toEndOf="@+id/item_download_welfare_iv"
-            app:layout_constraintTop_toTopOf="parent">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:gravity="center_vertical"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:id="@+id/item_download_welfare_name_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:ellipsize="middle"
-                    android:gravity="start"
-                    android:maxLines="2"
-                    android:text="游戏名称"
-                    android:textColor="#444444"
-                    android:textSize="14sp" />
-
-                <ImageView
-                    android:id="@+id/item_download_welfare_tip_iv"
-                    android:layout_width="25dp"
-                    android:layout_height="25dp"
-                    android:padding="5dp"
-                    android:src="@mipmap/tip"
-                    android:visibility="gone"/>
-                <ImageView
-                    android:id="@+id/item_download_welfare_vip_flag"
-                    android:adjustViewBounds="true"
-                    android:src="@mipmap/gift_vip"
-                    android:layout_width="16dp"
-                    android:visibility="gone"
-                    android:layout_height="wrap_content" />
-            </LinearLayout>
-
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="3" />
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:gravity="center_vertical"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:id="@+id/item_download_welfare_num_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="首充500送500"
-                    android:lines="1"
-                    android:textColor="#cc8e8e8e"
-                    android:textSize="10sp" />
-
-                <TextView
-                    android:id="@+id/item_download_welfare_num_tv1"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="@dimen/content_padding"
-                    android:lines="1"
-                    android:textColor="#cc8e8e8e"
-                    android:textSize="10sp" />
-
-            </LinearLayout>
-
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1" />
-
-            <TextView
-                android:id="@+id/item_download_welfare_date_tv"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="@dimen/content_padding_8"
-                android:layout_marginTop="@dimen/content_padding_2"
-                android:lines="1"
-                android:text="2018/08/20"
-                android:textColor="#8e8e8e"
-                android:textSize="10sp" />
-        </LinearLayout>
-
-        <ImageView
-            android:id="@+id/item_download_welfare_iv2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="5dp"
-            android:src="@mipmap/yilingq"
-            android:layout_marginEnd="85dp"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <TextView
-            android:id="@+id/item_download_welfare_money"
-            android:layout_width="@dimen/find_bt_with"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="21dp"
-            android:gravity="center"
-            android:text="+10元"
-            android:textColor="@color/txt_red"
-            android:textSize="12sp"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <TextView
-            android:id="@+id/item_download_welfare_money_bottom"
-            android:layout_width="@dimen/find_bt_with"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="5dp"
-            android:gravity="center"
-            android:text="+10元"
-            android:textColor="@color/txt_red"
-            android:textSize="12sp"
-            android:visibility="gone"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent" />
-
-        <TextView
-            android:id="@+id/item_download_welfare_btn_top"
-            style="@style/style_button_find"
-            android:layout_marginTop="21dp"
-            android:text="@string/task_cancel"
-            android:visibility="invisible"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <TextView
-            android:id="@+id/item_download_welfare_btn_center"
-            style="@style/style_button_find"
-            android:layout_centerInParent="true"
-            android:layout_marginTop="16dp"
-            android:text="@string/task_cancel"
-            android:visibility="gone"
-            app:layout_constraintBottom_toBottomOf="@+id/item_download_welfare_iv"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <TextView
-            android:id="@+id/item_download_welfare_btn_bottom"
-            style="@style/style_button_find"
-            android:layout_marginBottom="5dp"
-            android:text="@string/task_cancel"
-            app:layout_constraintBottom_toBottomOf="@+id/item_download_welfare_iv"
-            app:layout_constraintEnd_toEndOf="parent" />
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="16dp" />
+        android:layout_marginStart="8dp"
+        android:ellipsize="middle"
+        android:gravity="start"
+        android:textColor="@color/text33"
+        android:textSize="16sp"
+        app:layout_constrainedWidth="true"
+        app:layout_constraintEnd_toStartOf="@+id/arrow"
+        app:layout_constraintHorizontal_bias="0"
+        app:layout_constraintHorizontal_chainStyle="packed"
+        app:layout_constraintStart_toEndOf="@+id/icon"
+        app:layout_constraintTop_toTopOf="@+id/icon"
+        tools:text="游戏名称" />
+
+    <ImageView
+        android:id="@+id/arrow"
+        android:layout_width="12dp"
+        android:layout_height="12dp"
+        android:layout_marginRight="6dp"
+        android:src="@drawable/round_arrow_forward_ios_24"
+        android:tint="@color/text33"
+        app:layout_constraintBottom_toBottomOf="@+id/tvTitle"
+        app:layout_constraintEnd_toStartOf="@+id/btn"
+        app:layout_constraintHorizontal_chainStyle="packed"
+        app:layout_constraintStart_toEndOf="@+id/tvTitle"
+        app:layout_constraintTop_toTopOf="@+id/tvTitle" />
+
+    <TextView
+        android:id="@+id/tvContent"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="2dp"
+        android:lines="1"
+        android:textColor="@color/text99"
+        android:textSize="12sp"
+        app:layout_constraintEnd_toEndOf="@+id/tvTitle"
+        app:layout_constraintStart_toStartOf="@+id/tvTitle"
+        app:layout_constraintTop_toBottomOf="@+id/tvTitle"
+        tools:text="首充500送500" />
+
+    <TextView
+        android:id="@+id/btn"
+        style="@style/style_button_find"
+        android:text="@string/task_cancel"
+        app:layout_constraintBottom_toBottomOf="@+id/icon"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="@+id/icon" />
+</androidx.constraintlayout.widget.ConstraintLayout>
 
-    <View
-        android:id="@+id/item_download_welfare_line"
-        android:layout_width="match_parent"
-        android:layout_height="0.5dp"
-        android:layout_marginEnd="16dp"
-        android:layout_marginStart="16dp"
-        android:background="@color/gray_F0F0F0" />
-</LinearLayout>

+ 23 - 0
app/src/main/res/layout/layout_home_tab.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:gravity="center"
+    android:orientation="vertical"
+    android:paddingTop="8dp"
+    android:paddingBottom="8dp">
+
+    <ImageView
+        android:id="@+id/image"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        tools:src="@drawable/tab_fuli_selected" />
+
+    <TextView
+        android:id="@+id/text"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textSize="10sp"
+        tools:text="标题" />
+</LinearLayout>

+ 0 - 88
app/src/main/res/layout/layout_picker_data.xml

@@ -1,88 +0,0 @@
-<?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">
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="40dip"
-        android:background="#F8F8F8">
-
-        <TextView
-            android:id="@+id/tx_title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical|left"
-            android:layout_marginLeft="22dip"
-            android:textColor="#5677ee"
-            android:textSize="15sp" />
-
-        <TextView
-            android:id="@+id/tx_finish"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical|right"
-            android:paddingBottom="10dip"
-            android:paddingLeft="15dip"
-            android:paddingRight="15dip"
-            android:paddingTop="10dip"
-            android:text="@string/timepicker_finish"
-            android:textColor="#5677ee"
-            android:textSize="15sp" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="#FFFFFF"
-            android:orientation="horizontal"
-            android:paddingBottom="5dip"
-            android:paddingTop="5dip">
-
-            <FrameLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content">
-
-                <com.example.liangmutian.mypicker.LoopView
-                    android:id="@+id/loop_data"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_horizontal" />
-
-                <TextView
-                    android:id="@+id/tx_unit"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center"
-                    android:layout_marginLeft="40dip"
-                    android:textColor="#B3B3B3" />
-            </FrameLayout>
-        </LinearLayout>
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:layout_gravity="center_vertical"
-            android:layout_marginBottom="15dip"
-            android:background="#A5A5A5" />
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:layout_gravity="center_vertical"
-            android:layout_marginTop="15dip"
-            android:background="#A5A5A5" />
-
-    </FrameLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="#E2E2E2" />
-
-</LinearLayout>

+ 0 - 117
app/src/main/res/layout/layout_picker_time.xml

@@ -1,117 +0,0 @@
-<?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">
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="40dip"
-        android:background="#F8F8F8">
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical|left"
-            android:layout_marginLeft="22dip"
-            android:text="取消"
-            android:textColor="#5677ee"
-            android:textSize="15sp" />
-
-        <TextView
-            android:id="@+id/tx_finish"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical|right"
-            android:paddingBottom="10dip"
-            android:paddingLeft="15dip"
-            android:paddingRight="15dip"
-            android:paddingTop="10dip"
-            android:text="@string/timepicker_finish"
-            android:textColor="#5677ee"
-            android:textSize="15sp" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="#FFFFFF"
-            android:orientation="horizontal"
-            android:paddingBottom="5dip"
-            android:paddingTop="5dip">
-
-            <View
-                android:layout_width="0dip"
-                android:layout_height="0dip"
-                android:layout_weight="1" />
-
-            <FrameLayout
-                android:layout_width="110dip"
-                android:layout_height="wrap_content">
-
-                <com.example.liangmutian.mypicker.LoopView
-                    android:id="@+id/loop_hour"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_horizontal" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center"
-                    android:layout_marginLeft="40dip"
-                    android:text="@string/timepicker_hour"
-                    android:textColor="#B3B3B3" />
-            </FrameLayout>
-
-            <FrameLayout
-                android:layout_width="110dip"
-                android:layout_height="wrap_content">
-
-                <com.example.liangmutian.mypicker.LoopView
-                    android:id="@+id/loop_min"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_horizontal" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_vertical|right"
-                    android:layout_marginRight="15dip"
-                    android:text="@string/timepicker_min"
-                    android:textColor="#B3B3B3" />
-            </FrameLayout>
-
-            <View
-                android:layout_width="0dip"
-                android:layout_height="0dip"
-                android:layout_weight="1" />
-        </LinearLayout>
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:layout_gravity="center_vertical"
-            android:layout_marginBottom="15dip"
-            android:background="#A5A5A5" />
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:layout_gravity="center_vertical"
-            android:layout_marginTop="15dip"
-            android:background="#A5A5A5" />
-
-    </FrameLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="#E2E2E2" />
-
-</LinearLayout>

+ 244 - 0
app/src/main/res/layout/mine_fragment.xml

@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout 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="match_parent"
+    android:background="@android:color/white">
+
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="285dp"
+        android:adjustViewBounds="true"
+        android:scaleType="centerCrop"
+        android:src="@drawable/gradient_mine_fragment"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <androidx.core.widget.NestedScrollView
+        android:id="@+id/scroll_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <ImageView
+                android:id="@+id/imageView5"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="68dp"
+                android:src="@drawable/logo"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <TextView
+                android:id="@+id/textView2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="12dp"
+                android:text="登录/注册"
+                android:textColor="#000000"
+                app:layout_constraintEnd_toEndOf="@+id/imageView5"
+                app:layout_constraintStart_toStartOf="@+id/imageView5"
+                app:layout_constraintTop_toBottomOf="@+id/imageView5" />
+
+            <LinearLayout
+                android:id="@+id/myDownload"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="40dp"
+                android:gravity="center"
+                android:paddingStart="20dp"
+                android:paddingTop="16dp"
+                android:paddingEnd="20dp"
+                android:paddingBottom="16dp"
+                app:layout_constraintTop_toBottomOf="@+id/textView2">
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/mine_download" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginEnd="12dp"
+                    android:layout_weight="1"
+                    android:text="我的下载"
+                    android:textColor="@color/text33"
+                    android:textSize="14sp" />
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/round_arrow_forward_ios_24" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/mineLibao"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:paddingStart="20dp"
+                android:paddingTop="16dp"
+                android:paddingEnd="20dp"
+                android:paddingBottom="16dp"
+                app:layout_constraintTop_toBottomOf="@+id/myDownload">
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/mine_libao" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginEnd="12dp"
+                    android:layout_weight="1"
+                    android:text="我的礼包"
+                    android:textColor="@color/text33"
+                    android:textSize="14sp" />
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/round_arrow_forward_ios_24" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/mineZichan"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:paddingStart="20dp"
+                android:paddingTop="16dp"
+                android:paddingEnd="20dp"
+                android:paddingBottom="16dp"
+                app:layout_constraintTop_toBottomOf="@+id/mineLibao">
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/mine_zichan" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginEnd="12dp"
+                    android:layout_weight="1"
+                    android:text="我的资产"
+                    android:textColor="@color/text33"
+                    android:textSize="14sp" />
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/round_arrow_forward_ios_24" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/lianxiKefu"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:paddingStart="20dp"
+                android:paddingTop="16dp"
+                android:paddingEnd="20dp"
+                android:paddingBottom="16dp"
+                app:layout_constraintTop_toBottomOf="@+id/mineZichan">
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/lianxi_kefu" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginEnd="12dp"
+                    android:layout_weight="1"
+                    android:text="联系客服"
+                    android:textColor="@color/text33"
+                    android:textSize="14sp" />
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/round_arrow_forward_ios_24" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/personInfo"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:paddingStart="20dp"
+                android:paddingTop="16dp"
+                android:paddingEnd="20dp"
+                android:paddingBottom="16dp"
+                app:layout_constraintTop_toBottomOf="@+id/lianxiKefu">
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/mine_person_info" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginEnd="12dp"
+                    android:layout_weight="1"
+                    android:text="个人资料"
+                    android:textColor="@color/text33"
+                    android:textSize="14sp" />
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/round_arrow_forward_ios_24" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/setting"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:paddingStart="20dp"
+                android:paddingTop="16dp"
+                android:paddingEnd="20dp"
+                android:paddingBottom="16dp"
+                app:layout_constraintTop_toBottomOf="@+id/personInfo">
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/mine_setting" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginEnd="12dp"
+                    android:layout_weight="1"
+                    android:text="设置"
+                    android:textColor="@color/text33"
+                    android:textSize="14sp" />
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/round_arrow_forward_ios_24" />
+            </LinearLayout>
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </androidx.core.widget.NestedScrollView>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 19 - 0
app/src/main/res/menu/activity_home_bottom_bar.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:id="@+id/tabHome"
+        android:icon="@drawable/icon_tab_home"
+        android:title="@string/homepage" />
+    <item
+        android:id="@+id/tabFindGame"
+        android:icon="@drawable/icon_tab_find_game"
+        android:title="@string/find_game" />
+    <item
+        android:id="@+id/tabFuli"
+        android:icon="@drawable/icon_tab_fuli"
+        android:title="@string/fuli" />
+    <item
+        android:id="@+id/tabMine"
+        android:icon="@drawable/icon_tab_mine"
+        android:title="@string/mine" />
+</menu>

+ 4 - 0
app/src/main/res/values/colors.xml

@@ -25,4 +25,8 @@
     <color name="color_tab_nor">#000000</color>
     <color name="mask_black">#60000000</color>
     <color name="home_bottom">@color/white</color>
+    <color name="text66">#FF666666</color>
+    <color name="foreground">#FF00C1F7</color>
+    <color name="text33">#333333</color>
+    <color name="text99">#999999</color>
 </resources>

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

@@ -232,4 +232,9 @@
 
     <!-- TODO: Remove or change this placeholder text -->
     <string name="hello_blank_fragment">Hello blank fragment</string>
+    <string name="homepage">首页</string>
+    <string name="find_game">找游戏</string>
+    <string name="fuli">福利</string>
+    <string name="mine">我的</string>
+    <string name="immediate_receive">立即领取</string>
 </resources>

+ 13 - 0
app/src/main/res/values/styles.xml

@@ -62,13 +62,16 @@
         <item name="android:textSize">@dimen/text_size_13</item>
         <item name="android:textColor">@color/black_6_3</item>
     </style>
+
     <style name="login_edit_style_name" parent="login_edit_style">
         <item name="android:digits">@string/digits_username</item>
         <item name="android:background">@drawable/selector_login_edit_text</item>
     </style>
+
     <style name="login_edit_style_mobile" parent="login_edit_style">
         <item name="android:digits">@string/digits_mobile</item>
     </style>
+
     <style name="login_edit_style_pwd" parent="login_edit_style">
         <item name="android:digits">@string/digits_password</item>
     </style>
@@ -117,4 +120,14 @@
         <item name="android:gravity">center</item>
         <item name="android:orientation">vertical</item>
     </style>
+
+    <style name="home_tab_label">
+        <item name="android:color">@color/text66</item>
+        <item name="android:textSize">10sp</item>
+    </style>
+
+    <style name="home_tab_label_selected">
+        <item name="android:color">@color/foreground</item>
+        <item name="android:textSize">10sp</item>
+    </style>
 </resources>

+ 1 - 1
gradle/wrapper/gradle-wrapper.properties

@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists

+ 0 - 26
media/app/src/androidTest/java/com/kfzs/cfyl/media/ExampleInstrumentedTest.java

@@ -1,26 +0,0 @@
-package com.kfzs.cfyl.media;
-
-import android.content.Context;
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-    @Test
-    public void useAppContext() {
-        // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getTargetContext();
-
-        assertEquals("com.kfzs.cfyl.media", appContext.getPackageName());
-    }
-}

+ 0 - 26
media/share_library/src/androidTest/java/com/kfzs/cfyl/share_library/ExampleInstrumentedTest.java

@@ -1,26 +0,0 @@
-package com.kfzs.cfyl.share_library;
-
-import android.content.Context;
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-    @Test
-    public void useAppContext() {
-        // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getTargetContext();
-
-        assertEquals("com.kfzs.cfyl.share_library.test", appContext.getPackageName());
-    }
-}

+ 0 - 13
shortcut_lib/src/androidTest/java/com/xys/shortcut_lib/ApplicationTest.java

@@ -1,13 +0,0 @@
-package com.xys.shortcut_lib;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
- */
-public class ApplicationTest extends ApplicationTestCase<Application> {
-    public ApplicationTest() {
-        super(Application.class);
-    }
-}

+ 3 - 3
view/build.gradle

@@ -14,9 +14,9 @@ android {
         abortOnError false
     }
 
-    dexOptions {
-        preDexLibraries = false
-    }
+//    dexOptions {
+//        preDexLibraries = false
+//    }
     buildTypes {
         release {
             minifyEnabled false

+ 0 - 13
view/src/androidTest/java/com/kfzs/android/view/ApplicationTest.java

@@ -1,13 +0,0 @@
-package com.kfzs.android.view;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
- */
-public class ApplicationTest extends ApplicationTestCase<Application> {
-    public ApplicationTest() {
-        super(Application.class);
-    }
-}