From 2a622ea4e4910631fbee8e09e1266d33f30a8e90 Mon Sep 17 00:00:00 2001 From: okjack Date: Mon, 24 Jun 2024 21:46:16 +0800 Subject: [PATCH] Fix drawable bug --- .../com/fongmi/android/tv/ui/base/BaseActivity.java | 6 ++---- .../com/fongmi/android/tv/api/config/WallConfig.java | 11 ----------- .../com/fongmi/android/tv/ui/base/BaseActivity.java | 8 +++----- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java index 35ff5f107..f17c584ed 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java @@ -100,7 +100,7 @@ public abstract class BaseActivity extends AppCompatActivity { try { if (!customWall()) return; File file = FileUtil.getWall(Setting.getWall()); - if (file.exists() && file.length() > 0) getWindow().setBackgroundDrawable(WallConfig.drawable(file)); + if (file.exists() && file.length() > 0) getWindow().setBackgroundDrawable(Drawable.createFromPath(file.getAbsolutePath())); else getWindow().setBackgroundDrawableResource(ResUtil.getDrawable(file.getName())); } catch (Exception e) { getWindow().setBackgroundDrawableResource(R.drawable.wallpaper_1); @@ -118,9 +118,7 @@ public abstract class BaseActivity extends AppCompatActivity { @Subscribe(threadMode = ThreadMode.MAIN) public void onRefreshEvent(RefreshEvent event) { - if (event.getType() != RefreshEvent.Type.WALL) return; - WallConfig.get().setDrawable(null); - refreshWall(); + if (event.getType() == RefreshEvent.Type.WALL) refreshWall(); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java index 9f1c187a3..ef7345b14 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java @@ -24,7 +24,6 @@ import java.io.FileOutputStream; public class WallConfig { - private Drawable drawable; private Config config; private boolean sync; @@ -44,12 +43,6 @@ public class WallConfig { return get().getConfig().getDesc(); } - public static Drawable drawable(File file) { - if (get().drawable != null) return get().drawable; - get().setDrawable(Drawable.createFromPath(file.getAbsolutePath())); - return get().drawable; - } - public static void load(Config config, Callback callback) { get().clear().config(config).load(callback); } @@ -74,10 +67,6 @@ public class WallConfig { return config == null ? Config.wall() : config; } - public void setDrawable(Drawable drawable) { - this.drawable = drawable; - } - public void load(Callback callback) { App.execute(() -> loadConfig(callback)); } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java index b95267b5d..c4141186a 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/base/BaseActivity.java @@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.base; import android.app.Activity; import android.graphics.Color; +import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; import android.view.DisplayCutout; @@ -15,7 +16,6 @@ import androidx.viewbinding.ViewBinding; import com.fongmi.android.tv.R; import com.fongmi.android.tv.Setting; -import com.fongmi.android.tv.api.config.WallConfig; import com.fongmi.android.tv.event.RefreshEvent; import com.fongmi.android.tv.utils.FileUtil; import com.fongmi.android.tv.utils.ResUtil; @@ -120,7 +120,7 @@ public abstract class BaseActivity extends AppCompatActivity { try { if (!customWall()) return; File file = FileUtil.getWall(Setting.getWall()); - if (file.exists() && file.length() > 0) getWindow().setBackgroundDrawable(WallConfig.drawable(file)); + if (file.exists() && file.length() > 0) getWindow().setBackgroundDrawable(Drawable.createFromPath(file.getAbsolutePath())); else getWindow().setBackgroundDrawableResource(ResUtil.getDrawable(file.getName())); } catch (Exception e) { getWindow().setBackgroundDrawableResource(R.drawable.wallpaper_1); @@ -129,9 +129,7 @@ public abstract class BaseActivity extends AppCompatActivity { @Subscribe(threadMode = ThreadMode.MAIN) public void onRefreshEvent(RefreshEvent event) { - if (event.getType() != RefreshEvent.Type.WALL) return; - WallConfig.get().setDrawable(null); - refreshWall(); + if (event.getType() == RefreshEvent.Type.WALL) refreshWall(); } @Override