zengjiebin 7 роки тому
батько
коміт
6993911cbb
41 змінених файлів з 217 додано та 282 видалено
  1. 10 0
      app/build.gradle
  2. 24 4
      app/src/main/java/com/sheep/gamegroup/module/plugin/model/Plugin.java
  3. 6 15
      app/src/main/java/com/sheep/gamegroup/module/plugin/util/SheepPluginUtil.java
  4. 23 0
      app/src/main/java/com/sheep/gamegroup/module/skin/util/CustomSDCardLoader.java
  5. 130 0
      app/src/main/java/com/sheep/gamegroup/module/skin/util/SkinUtil.java
  6. 6 31
      app/src/main/java/com/sheep/gamegroup/util/MainTab.java
  7. 8 1
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  8. 1 1
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  9. 3 1
      app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java
  10. 1 1
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogGameOrTaskOrGift.java
  11. 1 1
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtGameCenter.java
  12. 0 4
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java
  13. 0 4
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java
  14. 0 5
      app/src/main/java/com/sheep/jiuyan/samllsheep/Config.java
  15. 3 6
      app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java
  16. BIN
      app/src/main/res/drawable-xxhdpi/christmas_homepage_faxian.png
  17. BIN
      app/src/main/res/drawable-xxhdpi/christmas_homepage_faxian_click.png
  18. BIN
      app/src/main/res/drawable-xxhdpi/christmas_homepage_wode.png
  19. BIN
      app/src/main/res/drawable-xxhdpi/christmas_homepage_wode_click.png
  20. BIN
      app/src/main/res/drawable-xxhdpi/christmas_homepage_zhuanqian.png
  21. BIN
      app/src/main/res/drawable-xxhdpi/christmas_homepage_zhuanqian_click.png
  22. BIN
      app/src/main/res/drawable-xxhdpi/christmas_tab_click_yaoqing.png
  23. BIN
      app/src/main/res/drawable-xxhdpi/christmas_tab_game.png
  24. BIN
      app/src/main/res/drawable-xxhdpi/christmas_tab_game_blue.png
  25. BIN
      app/src/main/res/drawable-xxhdpi/christmas_tab_yaoqing.png
  26. 0 8
      app/src/main/res/drawable/christmas_drawable_selector_askgetmoney.xml
  27. 0 8
      app/src/main/res/drawable/christmas_drawable_selector_find.xml
  28. 0 8
      app/src/main/res/drawable/christmas_drawable_selector_game_center.xml
  29. 0 8
      app/src/main/res/drawable/christmas_drawable_selector_personalcenter.xml
  30. 0 8
      app/src/main/res/drawable/christmas_drawable_selector_task.xml
  31. 0 12
      app/src/main/res/drawable/christmas_shape_red_stroke_rectangle_no_lb.xml
  32. 0 113
      app/src/main/res/layout/christmas_dialog_game_or_task_or_gift.xml
  33. 0 30
      app/src/main/res/layout/christmas_x_msg_dialog_btn_purple_blue.xml
  34. 1 0
      app/src/main/res/layout/net_empty_xrecycler.xml
  35. BIN
      app/src/main/res/mipmap-xhdpi/home_blue_bg.webp
  36. BIN
      app/src/main/res/mipmap-xxhdpi/christmas_bg_pc_top.png
  37. BIN
      app/src/main/res/mipmap-xxhdpi/christmas_bg_qiangrew.png
  38. BIN
      app/src/main/res/mipmap-xxhdpi/christmas_huanyig.png
  39. BIN
      app/src/main/res/mipmap-xxhdpi/christmas_lanse.png
  40. BIN
      app/src/main/res/mipmap-xxhdpi/christmas_red_package_floatbtn.png
  41. 0 13
      app/src/main/res/values/dd_styles.xml

+ 10 - 0
app/build.gradle

@@ -444,6 +444,16 @@ dependencies {
     implementation group: 'androidx.annotation', name: 'annotation', version: '1.0.1'
     //鸿途信达 广告sdk
     implementation(name: 'ad-htxd-201901071720', ext: 'aar')
+    //切换皮肤框架
+//    implementation 'skin.support:skin-support:4.0.1'                   // skin-support
+//    implementation 'skin.support:skin-support-appcompat:4.0.1'         // skin-support 基础控件支持
+//    implementation 'skin.support:skin-support-design:4.0.1'            // skin-support-design material design 控件支持[可选]
+//    implementation 'skin.support:skin-support-cardview:4.0.1'          // skin-support-cardview CardView 控件支持[可选]
+//    implementation 'skin.support:skin-support-constraint-layout:4.0.1' // skin-support-constraint-layout ConstraintLayout 控件支持[可选]
+    implementation 'skin.support:skin-support:3.1.1'                   // skin-support 基础控件支持
+    implementation 'skin.support:skin-support-design:3.1.1'            // skin-support-design material design 控件支持[可选]
+    implementation 'skin.support:skin-support-cardview:3.1.1'          // skin-support-cardview CardView 控件支持[可选]
+    implementation 'skin.support:skin-support-constraint-layout:3.1.1' // skin-support-constraint-layout ConstraintLayout 控件支持[可选]
 }
 
 static def releaseTime() {

+ 24 - 4
app/src/main/java/com/sheep/gamegroup/module/plugin/model/Plugin.java

@@ -2,6 +2,7 @@ package com.sheep.gamegroup.module.plugin.model;
 
 import com.didi.virtualapk.PluginManager;
 import com.kfzs.cfyl.media.MediaApp;
+import com.kfzs.cfyl.share_library.util.CallBackAPI;
 import com.kfzs.cfyl.share_library.util.ContextHolder;
 import com.sheep.gamegroup.module.plugin.util.SheepPluginUtil;
 import com.sheep.gamegroup.util.LogUtil;
@@ -40,7 +41,7 @@ public enum  Plugin {
                     return false;
                 }
             }
-            return super.loadPlugin();
+            return loadMediaPlugin();
         }
     },
     media_zip_so(BuildConfig.APPLICATION_ID, ".zip") {
@@ -49,10 +50,27 @@ public enum  Plugin {
             ContextHolder.loadLibrary = false;//设置为false,代表加载本地so
             File pluginFile = SheepPluginUtil.getFile(this);
             ZipUtil.unZip(pluginFile.getAbsolutePath(), ContextHolder.getLocalSoFileDir(), false);
-            return super.loadPlugin();
+            return loadMediaPlugin();
+        }
+    },
+    media_library(BuildConfig.APPLICATION_ID, "") {
+        @Override
+        public boolean loadPlugin() {
+            return loadMediaPlugin();
+        }
+    },
+    skin_new_year(BuildConfig.APPLICATION_ID + ".skin_new_year", ".skin"){
+        @Override
+        public boolean loadPlugin() {
+            return true;
+        }
+    },
+    skin_christmas(BuildConfig.APPLICATION_ID + ".skin_christmas", ".skin"){
+        @Override
+        public boolean loadPlugin() {
+            return true;
         }
     },
-    media_library(BuildConfig.APPLICATION_ID, "") ,
     ;
     private final String packageName;//启动时的包名
     private final String suffix;//下载的文件的后缀(后缀为空代表不下载)
@@ -67,7 +85,9 @@ public enum  Plugin {
     }
 
     private boolean isLoadCgeLibrary;
-    public boolean loadPlugin() {
+    public abstract boolean loadPlugin();
+    public boolean loadMediaPlugin() {
+        CallBackAPI.get().setPackageName(getPackageName());
         if(isLoadCgeLibrary){
             return true;
         }

+ 6 - 15
app/src/main/java/com/sheep/gamegroup/module/plugin/util/SheepPluginUtil.java

@@ -5,13 +5,7 @@ import android.content.Context;
 import android.text.TextUtils;
 
 import com.alibaba.fastjson.JSONObject;
-import com.didi.virtualapk.PluginManager;
-import com.didi.virtualapk.internal.LoadedPlugin;
-import com.didi.virtualapk.internal.utils.PluginUtil;
-import com.kfzs.cfyl.share_library.util.CallBackAPI;
 import com.sheep.gamegroup.absBase.AbsObserver;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.module.plugin.model.ClientPackage;
 import com.sheep.gamegroup.module.plugin.model.Plugin;
 import com.sheep.gamegroup.util.DataUtil;
@@ -24,8 +18,6 @@ import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.dialog.DialogProgress;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
-import com.sheep.jiuyan.samllsheep.utils.G;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 
@@ -37,10 +29,7 @@ import java.util.Locale;
 import io.reactivex.Observable;
 import io.reactivex.ObservableEmitter;
 import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.ObservableSource;
 import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.functions.Function;
-import io.reactivex.functions.Predicate;
 import io.reactivex.schedulers.Schedulers;
 import okhttp3.Call;
 
@@ -78,6 +67,8 @@ public class SheepPluginUtil {
                                     return null;
                                 }
                             }
+                            //保存当前插件对应的md5
+                            DataUtil.getInstance().putData(getKey(plugin), clientPackage.getMd_5());
                             return clientPackage.getDowload_url();
                         }
                         return null;
@@ -97,10 +88,7 @@ public class SheepPluginUtil {
                         }
                     });
         }).subscribeOn(Schedulers.io())
-                .filter(plugin1 -> {
-                    CallBackAPI.get().setPackageName(plugin1.getPackageName());
-                    return plugin1.loadPlugin();
-                });
+                .filter(Plugin::loadPlugin);
     }
 
     /**
@@ -211,4 +199,7 @@ public class SheepPluginUtil {
     public static File getFile(String key, Plugin plugin) {
         return new File(getDir(), key.hashCode() + plugin.getSuffix());
     }
+    public static File getFileByName(String name, Plugin plugin) {
+        return new File(getDir(), name);
+    }
 }

+ 23 - 0
app/src/main/java/com/sheep/gamegroup/module/skin/util/CustomSDCardLoader.java

@@ -0,0 +1,23 @@
+package com.sheep.gamegroup.module.skin.util;
+
+import android.content.Context;
+
+import skin.support.load.SkinSDCardLoader;
+
+/**
+ * Created by realicing on 2019/1/15.
+ * realicing@sina.com
+ */
+public class CustomSDCardLoader extends SkinSDCardLoader {
+    public static final int SKIN_LOADER_STRATEGY_SDCARD = Integer.MAX_VALUE;
+
+    @Override
+    protected String getSkinPath(Context context, String skinName) {
+        return SkinUtil.getSkinPath(skinName);
+    }
+
+    @Override
+    public int getType() {
+        return SKIN_LOADER_STRATEGY_SDCARD;
+    }
+}

+ 130 - 0
app/src/main/java/com/sheep/gamegroup/module/skin/util/SkinUtil.java

@@ -0,0 +1,130 @@
+package com.sheep.gamegroup.module.skin.util;
+
+import android.app.Activity;
+import android.text.TextUtils;
+
+import com.sheep.gamegroup.absBase.AbsObserver;
+import com.sheep.gamegroup.module.plugin.model.Plugin;
+import com.sheep.gamegroup.module.plugin.util.SheepPluginUtil;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.PreferenceUtils;
+import com.sheep.gamegroup.util.TestUtil;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+import rx.functions.Action1;
+import skin.support.SkinCompatManager;
+//import skin.support.app.SkinAppCompatViewInflater;
+import skin.support.app.SkinCardViewInflater;
+import skin.support.constraint.app.SkinConstraintViewInflater;
+import skin.support.design.app.SkinMaterialViewInflater;
+
+/**
+ * Created by realicing on 2019/1/15.
+ * realicing@sina.com
+ *
+ * 换肤工具类
+ */
+public class SkinUtil {
+    //初始化皮肤框架
+    public static void init() {
+        SkinCompatManager.withoutActivity(SheepApp.getInstance())
+                .addStrategy(new CustomSDCardLoader())         // 自定义加载策略,指定SDCard路径
+//                .addInflater(new SkinAppCompatViewInflater())           // 基础控件换肤初始化
+                .addInflater(new SkinMaterialViewInflater())            // material design 控件换肤初始化[可选]
+                .addInflater(new SkinConstraintViewInflater())          // ConstraintLayout 控件换肤初始化[可选]
+                .addInflater(new SkinCardViewInflater())                // CardView v7 控件换肤初始化[可选]
+//                .setSkinStatusBarColorEnable(false)                     // 关闭状态栏换肤,默认打开[可选]
+                .setSkinWindowBackgroundEnable(false)                   // 关闭windowBackground换肤,默认打开[可选]
+                .loadSkin();
+    }
+
+    //恢复默认皮肤
+    public static void restoreDefaultTheme() {
+        // 恢复应用默认皮肤
+        SkinCompatManager.getInstance().restoreDefaultTheme();
+    }
+
+    private static Plugin curPlugin;
+    public static final String KEY_CUR_SKIN_MD5 = "cur_skin";//当前正在使用的皮肤的key
+    //切换皮肤
+    public static void changeSkin(Action1<Object> action1) {
+        curPlugin = getSkinByTime();//需要加载的皮肤
+        String curSkinMd5 = PreferenceUtils.getPrefString(SheepApp.getInstance(), KEY_CUR_SKIN_MD5, null);
+        if(curPlugin == null){//默认皮肤
+            if(curSkinMd5 != null){
+                restoreDefaultTheme();
+            }
+            action1.call(null);
+            return;
+        }
+        Activity activity = SheepApp.getInstance().getCurrentActivity();
+        SheepPluginUtil.checkAndRunPlugin(activity, curPlugin)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new AbsObserver<Plugin>() {
+                    @Override
+                    public void onNext(Plugin plugin) {
+                        if(!SheepPluginUtil.getFile(plugin).exists()){//检查文件是否存在
+                            action1.call(null);
+                            return;
+                        }
+                        Object md5 = DataUtil.getInstance().getData(SheepPluginUtil.getKey(plugin));
+                        String skinName = SheepPluginUtil.getFileName(curPlugin);
+                        if(curSkinMd5 != null && md5 instanceof String && TextUtils.equals(md5.toString(), curSkinMd5)){//已经加载皮肤
+                            action1.call(null);
+                            return;
+                        }
+                        // 指定皮肤插件
+                        SkinCompatManager.getInstance().loadSkin(skinName, new SkinCompatManager.SkinLoaderListener() {
+                            @Override
+                            public void onStart() {
+                                LogUtil.println(SkinUtil.class.getSimpleName(), "changeSkin", "loadSkin", skinName, "onStart");
+                            }
+
+                            @Override
+                            public void onSuccess() {
+                                LogUtil.println(SkinUtil.class.getSimpleName(), "changeSkin", "loadSkin", skinName, "onSuccess");
+                                if(md5 instanceof String)
+                                    PreferenceUtils.setPrefString(SheepApp.getInstance(), KEY_CUR_SKIN_MD5, md5.toString());
+                                action1.call(null);
+                            }
+
+                            @Override
+                            public void onFailed(String errMsg) {
+                                LogUtil.println(SkinUtil.class.getSimpleName(), "changeSkin", "loadSkin", skinName, "onFailed", errMsg);
+                                action1.call(errMsg);
+                            }
+                        }, CustomSDCardLoader.SKIN_LOADER_STRATEGY_SDCARD);
+                    }
+                });
+    }
+
+    //根据时间生成对应的主题
+    private static Plugin getSkinByTime() {
+        java.util.Calendar curCalendar = java.util.Calendar.getInstance();
+        int year = curCalendar.get(java.util.Calendar.YEAR);
+        int month = curCalendar.get(java.util.Calendar.MONTH);
+        int day = curCalendar.get(java.util.Calendar.DAY_OF_MONTH);
+        if(isNewYear(year, month, day)){//春节
+            return Plugin.skin_new_year;
+        } else if(isChristmas(year, month, day)){//元旦
+            return Plugin.skin_christmas;
+        }
+        return null;
+    }
+
+    private static boolean isChristmas(int year, int month, int day) {
+        return year == 2019 && month == 1 || TestUtil.isDev();
+    }
+
+    private static boolean isNewYear(int year, int month, int day) {
+        return year == 2019 && month == 2 && day > 3 && day < 20;
+    }
+
+    public static String getSkinPath(String skinName) {
+        return SheepPluginUtil.getFileByName(skinName, curPlugin).getAbsolutePath();
+    }
+}

+ 6 - 31
app/src/main/java/com/sheep/gamegroup/util/MainTab.java

@@ -24,13 +24,9 @@ public enum MainTab {
             return new FgtSmallSheep();
         }
         @Override
-        public int getNormalDrawableId() {
+        public int getDrawableId() {
             return R.drawable.drawable_selector_task;
         }
-        @Override
-        public int getChristmasDrawableId() {
-            return R.drawable.christmas_drawable_selector_task;
-        }
     },
 //    FgtMainAudit(R.string.main_tab_audit) {
 //        @Override
@@ -50,13 +46,9 @@ public enum MainTab {
         }
 
         @Override
-        public int getNormalDrawableId() {
+        public int getDrawableId() {
             return R.drawable.drawable_selector_game_center;
         }
-        @Override
-        public int getChristmasDrawableId() {
-            return R.drawable.christmas_drawable_selector_game_center;
-        }
     },
     FgtMainAskGetMoney(R.string.main_tab_invite) {
         @Override
@@ -65,13 +57,9 @@ public enum MainTab {
         }
 
         @Override
-        public int getNormalDrawableId() {
+        public int getDrawableId() {
             return R.drawable.drawable_selector_askgetmoney;
         }
-        @Override
-        public int getChristmasDrawableId() {
-            return R.drawable.christmas_drawable_selector_askgetmoney;
-        }
     },
     Fgt_Find(R.string.main_tab_find) {
         @Override
@@ -80,13 +68,9 @@ public enum MainTab {
         }
 
         @Override
-        public int getNormalDrawableId() {
+        public int getDrawableId() {
             return R.drawable.drawable_selector_find;
         }
-        @Override
-        public int getChristmasDrawableId() {
-            return R.drawable.christmas_drawable_selector_find;
-        }
     },
     FgtPersonnalCenter(R.string.personal_center) {
         @Override
@@ -95,14 +79,9 @@ public enum MainTab {
         }
 
         @Override
-        public int getNormalDrawableId() {
+        public int getDrawableId() {
             return R.drawable.drawable_selector_personalcenter;
         }
-
-        @Override
-        public int getChristmasDrawableId() {
-            return R.drawable.christmas_drawable_selector_personalcenter;
-        }
     }
 //    ,
     //    Bp(R.string.tab_viewpager_borrowplay) {
@@ -130,9 +109,5 @@ public enum MainTab {
         return stringId;
     }
 
-    public int getDrawableId(){
-        return Config.USE_CHRISTMAS_THEME ? getChristmasDrawableId() : getNormalDrawableId();
-    }
-    public abstract int getNormalDrawableId();
-    public abstract int getChristmasDrawableId();
+    public abstract int getDrawableId();
 }

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

@@ -44,6 +44,7 @@ import com.sheep.gamegroup.model.entity.Video;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.module.plugin.model.Plugin;
 import com.sheep.gamegroup.module.plugin.util.SheepPluginUtil;
+import com.sheep.gamegroup.module.skin.util.SkinUtil;
 import com.sheep.gamegroup.module.yf_shop.model.ReceiveCouponsCheckResq;
 import com.sheep.gamegroup.usage.AppUsageManager;
 import com.sheep.gamegroup.util.js.BaseActWeb;
@@ -259,7 +260,7 @@ public class TestUtil {
      */
     public static void test(final Activity activity) {
         final String[] items = {"复制token", "添加token", "复制打点数据", "从jenkins下载小绵羊安装包", "测试表情包",
-                "我的游戏", "优惠券弹窗", "填写收件地址弹窗",
+                "切换皮肤", "默认皮肤", "我的游戏", "优惠券弹窗", "填写收件地址弹窗",
                 "朗读文字", "游戏搜索", "测试插件","测试bitmap", "剪切视频", "我的关注", "足迹",
                 "测试联通卡", "测试联通卡2", "测试签名1", "测试签名2", "测试孔剑秋faq正式服",
                 "跳转QQ1", "跳转QQ2", "跳转QQ3", "跳转白白QQ", "龙猫竞猜", "龙猫竞猜-scheme",
@@ -279,6 +280,12 @@ public class TestUtil {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         switch (items[which]) {
+                            case "切换皮肤":
+                                SkinUtil.changeSkin(null);
+                                break;
+                            case "默认皮肤":
+                                SkinUtil.restoreDefaultTheme();
+                                break;
                             case "我的游戏":
                                 Jump2View.getInstance().goActMyGameList(activity);
                                 break;

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

@@ -376,7 +376,7 @@ public class ViewUtil {
      * @param mActivity 当前Activity,
      */
     public void showRobDutyDialog(final Activity mActivity, RobTask robTask) {
-        showRobDutyDialog(mActivity, robTask, Config.getGameOrTaskOrGiftLayoutId(), null);
+        showRobDutyDialog(mActivity, robTask, R.layout.dialog_game_or_task_or_gift, null);
     }
 
     /**

+ 3 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -26,6 +26,7 @@ import com.sheep.gamegroup.model.entity.Advertising;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.RouserArticlesEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.module.skin.util.SkinUtil;
 import com.sheep.gamegroup.module.yf_shop.model.ReceiveCouponsCheckResq;
 import com.sheep.gamegroup.module.yf_shop.model.ReceiveCouponsResp;
 import com.sheep.gamegroup.util.ApiJSONUtil;
@@ -54,6 +55,7 @@ import pub.devrel.easypermissions.AfterPermissionGranted;
 import pub.devrel.easypermissions.EasyPermissions;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
+import rx.functions.Action1;
 
 import static com.sheep.gamegroup.util.CommonUtil.JUMP_FIND_ACT;
 import static com.sheep.gamegroup.util.CommonUtil.JUMP_FIND_GMAE;
@@ -199,7 +201,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     private void gotoNext() {
         if (!isClick) {
             isClick = true;
-            Jump2View.getInstance().gotoGuide(activity);
+            SkinUtil.changeSkin(s -> Jump2View.getInstance().gotoGuide(activity));
         }
     }
 

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogGameOrTaskOrGift.java

@@ -206,7 +206,7 @@ public class DialogGameOrTaskOrGift {
     private AlertDialog mAlertDialog;
 
     public AlertDialog showDialog() {
-        View view = View.inflate(activity, Config.getGameOrTaskOrGiftLayoutId(), null);
+        View view = View.inflate(activity, R.layout.dialog_game_or_task_or_gift, null);
         mAlertDialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
                 .setView(view)
                 .create();

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

@@ -21,7 +21,7 @@ import butterknife.OnClick;
 /**
  * Created by realicing on 2018/6/27.
  * realicing@sina.com
- * 主页--发现模块
+ * 主页--游戏模块
  */
 public class FgtGameCenter extends BaseFragment {
 

+ 0 - 4
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java

@@ -160,10 +160,6 @@ public class FgtPersonalCenter extends BaseFragment {
             img_baseactivity_title.setVisibility(View.INVISIBLE);
             txt_baseactivity_title.setVisibility(View.INVISIBLE);
         }
-        if (Config.USE_CHRISTMAS_THEME) {
-            View homeTopView = (View) img_baseactivity_title.getParent().getParent();
-            homeTopView.setBackgroundResource(R.mipmap.christmas_bg_pc_top);
-        }
         ViewUtil.setText(audit_activity, getString(R.string.audit_activity, ViewUtil.INDENT));
         ViewUtil.setVisibility(audit_activity_oval, false);
         ViewUtil.setText(audit_success, getString(R.string.audit_success, ViewUtil.INDENT));

+ 0 - 4
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -705,10 +705,6 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
         });
         //上面的搜索
         ViewUtil.setVisibility(home_search_msg_tv, false);
-        if(Config.USE_CHRISTMAS_THEME){
-//            LayoutParamsUtil.resetLayoutParams(ivDuty, new Lp().setWidth(G.getRealPix(57)).setHeight(G.getRealPix(62)));
-            ivDuty.setImageResource(R.mipmap.christmas_red_package_floatbtn);
-        }
     }
 
     private int curPosition = 0;

+ 0 - 5
app/src/main/java/com/sheep/jiuyan/samllsheep/Config.java

@@ -8,11 +8,6 @@ public class Config {
     public final static String BUGLY_APPID = "0dd998212c";
     public static final String SHEEP_PAY = "sheeppay://";
     public static final String SHEEP = "sheep://";
-    public static boolean USE_CHRISTMAS_THEME = true;//是否使用圣诞主题
-
-    public static int getGameOrTaskOrGiftLayoutId() {
-        return USE_CHRISTMAS_THEME ? R.layout.christmas_dialog_game_or_task_or_gift : R.layout.dialog_game_or_task_or_gift;
-    }
 
     //有范商城
     public final static String YF_SHOP_NAME = "有范商城";

+ 3 - 6
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -26,6 +26,7 @@ import com.sheep.gamegroup.di.components.NetComponent;
 import com.sheep.gamegroup.di.modules.NetModule;
 import com.sheep.gamegroup.module.ad_htxd.model.ArticleAd;
 import com.sheep.gamegroup.module.login.LoginAct;
+import com.sheep.gamegroup.module.skin.util.SkinUtil;
 import com.sheep.gamegroup.usage.AppUsageManager;
 import com.sheep.gamegroup.util.AppUtil;
 import com.sheep.gamegroup.util.CertificationUtil;
@@ -48,11 +49,7 @@ import com.sheep.jiuyan.samllsheep.service.DownloadService;
 import com.sheep.jiuyan.samllsheep.service.FloatShotScreenService;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
-import com.shuyu.gsyvideoplayer.cache.CacheFactory;
-import com.shuyu.gsyvideoplayer.cache.ProxyCacheManager;
-import com.shuyu.gsyvideoplayer.player.IjkPlayerManager;
 import com.shuyu.gsyvideoplayer.player.PlayerFactory;
-import com.shuyu.gsyvideoplayer.player.SystemPlayerManager;
 import com.squareup.leakcanary.LeakCanary;
 import com.squareup.leakcanary.RefWatcher;
 import com.tencent.bugly.Bugly;
@@ -71,7 +68,6 @@ import cn.jpush.android.api.JPushInterface;
 import ren.yale.android.cachewebviewlib.WebViewCacheInterceptor;
 import ren.yale.android.cachewebviewlib.WebViewCacheInterceptorInst;
 import tv.danmaku.ijk.media.exo2.Exo2PlayerManager;
-import tv.danmaku.ijk.media.exo2.ExoPlayerCacheManager;
 
 /**
  * Created by kemllor on 2017/12/21.
@@ -291,7 +287,8 @@ public class SheepApp extends MultiDexApplication {
             PManager.getInstance().setChannel(this, 18122801);
             PManager.getInstance().onCreate(this);
         }
-
+        //初始化换肤框架
+        SkinUtil.init();
     }
 
     private void initBdLocationOption() {

BIN
app/src/main/res/drawable-xxhdpi/christmas_homepage_faxian.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_homepage_faxian_click.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_homepage_wode.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_homepage_wode_click.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_homepage_zhuanqian.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_homepage_zhuanqian_click.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_tab_click_yaoqing.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_tab_game.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_tab_game_blue.png


BIN
app/src/main/res/drawable-xxhdpi/christmas_tab_yaoqing.png


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

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

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

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

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

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

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

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

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

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

+ 0 - 12
app/src/main/res/drawable/christmas_shape_red_stroke_rectangle_no_lb.xml

@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <corners
-        android:topLeftRadius="10dp"
-        android:topRightRadius="10dp"
-        android:bottomRightRadius="10dp"/>
-    <stroke
-        android:width="1px"
-        android:color="#FDDD36" />
-
-</shape>

+ 0 - 113
app/src/main/res/layout/christmas_dialog_game_or_task_or_gift.xml

@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-
-    <LinearLayout
-        android:id="@+id/dialog_content"
-        android:layout_width="344dp"
-        android:layout_height="418dp"
-        android:layout_centerInParent="true"
-        android:background="@mipmap/christmas_bg_qiangrew"
-        android:gravity="center_horizontal"
-        android:orientation="vertical">
-
-        <ImageView
-            android:id="@+id/dialog_iv"
-            android:layout_width="@dimen/content_padding_65"
-            android:layout_height="@dimen/content_padding_65"
-            android:layout_marginTop="120dp"
-            android:src="@drawable/loading_01" />
-
-        <TextView
-            android:id="@+id/dialog_name_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:text="永恒仙域"
-            android:textColor="#ffffff"
-            android:textSize="12sp" />
-
-        <ImageView
-            android:id="@+id/dialog_iv_2"
-            android:layout_width="80dp"
-            android:layout_height="@dimen/content_padding_65"
-            android:layout_marginTop="90dp"
-            android:src="@mipmap/change_make_money"
-            android:visibility="gone" />
-
-        <TextView
-            android:id="@+id/dialog_tip"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/cur_xian_jin_amount"
-            android:textColor="#999999"
-            android:textSize="11sp"
-            android:visibility="gone" />
-
-        <LinearLayout
-            android:id="@+id/dialog_amount_container"
-            android:layout_width="match_parent"
-            android:layout_height="45dp"
-            android:gravity="center"
-            android:orientation="horizontal">
-
-            <TextView
-                android:id="@+id/dialog_amount_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="+1元"
-                android:textColor="#ffffff"
-                android:textSize="18sp"
-                android:textStyle="bold" />
-
-            <View
-                android:id="@+id/dialog_line"
-                android:layout_width="5dp"
-                android:layout_height="1dp" />
-
-            <TextView
-                android:id="@+id/dialog_gift_tv"
-                style="@style/christmas_style_xian_jin"
-                android:text="现金" />
-        </LinearLayout>
-
-        <TextView
-            android:id="@+id/dialog_gift_code_tv"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="50dp"
-            android:layout_marginTop="5dp"
-            android:layout_marginEnd="50dp"
-            android:text="@string/gift_bag_code"
-            android:textColor="#fffd2d54"
-            android:textSize="11sp"
-            android:visibility="invisible" />
-
-        <TextView
-            android:id="@+id/dialog_gift_info_tv"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="50dp"
-            android:layout_marginTop="5dp"
-            android:layout_marginEnd="50dp"
-            android:text="*领取礼包并复制礼包码后可进入游戏中粘贴礼包码兑换礼包"
-            android:maxLines="2"
-            android:ellipsize="end"
-            android:textColor="#ffffffff"
-            android:textSize="11sp"
-            android:visibility="invisible" />
-
-        <include layout="@layout/christmas_x_msg_dialog_btn_purple_blue" />
-    </LinearLayout>
-
-    <ImageView
-        android:id="@+id/dialog_close"
-        android:layout_width="45dp"
-        android:layout_height="45dp"
-        android:layout_below="@+id/dialog_content"
-        android:layout_centerHorizontal="true"
-        android:layout_marginTop="20dp"
-        android:src="@mipmap/close" />
-
-</RelativeLayout>

+ 0 - 30
app/src/main/res/layout/christmas_x_msg_dialog_btn_purple_blue.xml

@@ -1,30 +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:layout_marginStart="40dp"
-    android:layout_marginEnd="40dp"
-    android:orientation="horizontal">
-
-    <TextView
-        android:id="@+id/dialog_btn_left"
-        style="@style/style_button"
-        android:background="@mipmap/christmas_huanyig"
-        android:layout_width="0dp"
-        android:layout_weight="5"
-        android:text="换一个" />
-
-    <View
-        android:id="@+id/dialog_btn_center"
-        android:layout_width="0dp"
-        android:layout_height="1dp"
-        android:layout_weight="1" />
-
-    <TextView
-        android:id="@+id/dialog_btn_right"
-        style="@style/style_button"
-        android:background="@mipmap/christmas_lanse"
-        android:layout_width="0dp"
-        android:layout_weight="5"
-        android:text="立即赚钱" />
-</LinearLayout>

+ 1 - 0
app/src/main/res/layout/net_empty_xrecycler.xml

@@ -2,6 +2,7 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@color/white"
     android:fitsSystemWindows="true">
 
     <include

BIN
app/src/main/res/mipmap-xhdpi/home_blue_bg.webp


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


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


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


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


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


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

@@ -466,17 +466,4 @@
         <item name="android:textSize">9sp</item>
         <item name="android:background">@drawable/shape_red_stroke_rectangle_no_lb</item>
     </style>
-    <!--现金、福利 textView样式-->
-    <style name="christmas_style_xian_jin">
-        <item name="android:layout_width">wrap_content</item>
-        <item name="android:layout_height">wrap_content</item>
-        <item name="android:textColor">#FDDD36</item>
-        <item name="android:paddingTop">1dp</item>
-        <item name="android:paddingBottom">1dp</item>
-        <item name="android:paddingStart">5dp</item>
-        <item name="android:paddingEnd">5dp</item>
-        <item name="android:gravity">center</item>
-        <item name="android:textSize">9sp</item>
-        <item name="android:background">@drawable/christmas_shape_red_stroke_rectangle_no_lb</item>
-    </style>
 </resources>