From 130699b8e16dd4c312ac7f59d150e834f85f71a9 Mon Sep 17 00:00:00 2001 From: zhanglyt <108105801+zhanglyt@users.noreply.github.com> Date: Sat, 23 Jul 2022 17:18:36 +0800 Subject: [PATCH 1/5] Update ModelSettingFragment.java --- .../osc/ui/fragment/ModelSettingFragment.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java index 713bd240..25033c07 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java @@ -25,11 +25,16 @@ import com.github.tvbox.osc.util.FastClickCheckUtil; import com.github.tvbox.osc.util.HawkConfig; import com.github.tvbox.osc.util.OkGoHelper; import com.github.tvbox.osc.util.PlayerHelper; +import com.lzy.okgo.OkGo; +import com.lzy.okgo.callback.FileCallback; +import com.lzy.okgo.model.Progress; +import com.lzy.okgo.model.Response; import com.orhanobut.hawk.Hawk; import org.greenrobot.eventbus.EventBus; import org.jetbrains.annotations.NotNull; +import java.io.File; import java.util.ArrayList; import java.util.List; @@ -134,6 +139,29 @@ public class ModelSettingFragment extends BaseLazyFragment { dialog.show(); } }); + findViewById(R.id.llWp).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + FastClickCheckUtil.check(v); + if (!ApiConfig.get().wallpaper.isEmpty()) + OkGo.get(ApiConfig.get().wallpaper).execute(new FileCallback(requireActivity().getFilesDir().getAbsolutePath(), "wp") { + @Override + public void onSuccess(Response response) { + ((BaseActivity) requireActivity()).changeWallpaper(true); + } + + @Override + public void onError(Response response) { + super.onError(response); + } + + @Override + public void downloadProgress(Progress progress) { + super.downloadProgress(progress); + } + }); + } + }); findViewById(R.id.llHomeApi).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -485,4 +513,4 @@ public class ModelSettingFragment extends BaseLazyFragment { return "缩略图"; } } -} \ No newline at end of file +} From cdbf7234a4f42e0a3cd4fa0455754e677b0c7476 Mon Sep 17 00:00:00 2001 From: zhanglyt <108105801+zhanglyt@users.noreply.github.com> Date: Sat, 23 Jul 2022 17:19:34 +0800 Subject: [PATCH 2/5] Update BaseActivity.java --- .../github/tvbox/osc/base/BaseActivity.java | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java b/app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java index 88bf660c..4b48f2e5 100644 --- a/app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java @@ -4,6 +4,8 @@ import android.content.Context; import android.content.Intent; import android.content.res.AssetManager; import android.content.res.Resources; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; import android.os.Build; import android.os.Bundle; import android.os.Looper; @@ -14,6 +16,7 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.PermissionChecker; +import com.github.tvbox.osc.R; import com.github.tvbox.osc.callback.EmptyCallback; import com.github.tvbox.osc.callback.LoadingCallback; import com.github.tvbox.osc.util.AppManager; @@ -22,6 +25,7 @@ import com.kingja.loadsir.core.LoadService; import com.kingja.loadsir.core.LoadSir; import java.io.BufferedReader; +import java.io.File; import java.io.IOException; import java.io.InputStreamReader; @@ -63,6 +67,7 @@ public abstract class BaseActivity extends AppCompatActivity implements CustomAd protected void onResume() { super.onResume(); hideSysBar(); + changeWallpaper(false); } public void hideSysBar() { @@ -171,4 +176,43 @@ public abstract class BaseActivity extends AppCompatActivity implements CustomAd return !(screenRatio >= 4.0f); } -} \ No newline at end of file + protected static BitmapDrawable globalWp = null; + + public void changeWallpaper(boolean force) { + if (!force && globalWp != null) + getWindow().setBackgroundDrawable(globalWp); + try { + File wp = new File(getFilesDir().getAbsolutePath() + "/wp"); + if (wp.exists()) { + BitmapFactory.Options opts = new BitmapFactory.Options(); + opts.inJustDecodeBounds = true; + BitmapFactory.decodeFile(wp.getAbsolutePath(), opts); + // 从Options中获取图片的分辨率 + int imageHeight = opts.outHeight; + int imageWidth = opts.outWidth; + int picHeight = 720; + int picWidth = 1080; + int scaleX = imageWidth / picWidth; + int scaleY = imageHeight / picHeight; + int scale = 1; + if (scaleX > scaleY && scaleY >= 1) { + scale = scaleX; + } + if (scaleX < scaleY && scaleX >= 1) { + scale = scaleY; + } + opts.inJustDecodeBounds = false; + // 采样率 + opts.inSampleSize = scale; + globalWp = new BitmapDrawable(BitmapFactory.decodeFile(wp.getAbsolutePath(), opts)); + } + } catch (Throwable throwable) { + throwable.printStackTrace(); + globalWp = null; + } + if (globalWp != null) + getWindow().setBackgroundDrawable(globalWp); + else + getWindow().setBackgroundDrawableResource(R.drawable.app_bg); + } +} From 7354f280f1089c02e19ec827bd13b197dfd29f1c Mon Sep 17 00:00:00 2001 From: zhanglyt <108105801+zhanglyt@users.noreply.github.com> Date: Sat, 23 Jul 2022 17:20:40 +0800 Subject: [PATCH 3/5] Update ApiConfig.java --- app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java index 143e6180..8034c7bf 100644 --- a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java @@ -55,6 +55,7 @@ public class ApiConfig { private List vipParseFlags; private List ijkCodes; private String spider = null; + public String wallpaper = ""; private SourceBean emptyHome = new SourceBean(); @@ -226,6 +227,8 @@ public class ApiConfig { JsonObject infoJson = new Gson().fromJson(jsonStr, JsonObject.class); // spider spider = DefaultConfig.safeJsonString(infoJson, "spider", ""); + // wallpaper + wallpaper = DefaultConfig.safeJsonString(infoJson, "wallpaper", ""); // 远端站点源 SourceBean firstSite = null; for (JsonElement opt : infoJson.get("sites").getAsJsonArray()) { @@ -494,4 +497,4 @@ public class ApiConfig { String fix = lanLink.substring(0, lanLink.indexOf("/file/") + 6); return content.replace("clan://", fix); } -} \ No newline at end of file +} From 18f823ec0b0df0c4a1b03a54c8dedff7920fb95b Mon Sep 17 00:00:00 2001 From: zhanglyt <108105801+zhanglyt@users.noreply.github.com> Date: Sat, 23 Jul 2022 18:26:38 +0800 Subject: [PATCH 4/5] Update styles.xml --- app/src/main/res/values/styles.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 1deb4e2c..ee105052 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -16,7 +16,7 @@ true true - @drawable/app_bg + @android:color/transparent - \ No newline at end of file + From 65bdaaf977bd4bc90a32ddc4fdbf67a050e98617 Mon Sep 17 00:00:00 2001 From: zhanglyt <108105801+zhanglyt@users.noreply.github.com> Date: Sat, 23 Jul 2022 18:27:57 +0800 Subject: [PATCH 5/5] Update fragment_model.xml --- app/src/main/res/layout/fragment_model.xml | 100 +++++++++++++++------ 1 file changed, 73 insertions(+), 27 deletions(-) diff --git a/app/src/main/res/layout/fragment_model.xml b/app/src/main/res/layout/fragment_model.xml index 1c3516e0..b721aab9 100644 --- a/app/src/main/res/layout/fragment_model.xml +++ b/app/src/main/res/layout/fragment_model.xml @@ -532,37 +532,83 @@ + android:focusable="false" + android:orientation="horizontal"> - + - + - + + + + + + + + + + + + + - \ No newline at end of file +