pull/594/head
jhengazuki 2 months ago
parent 2f3f39d30c
commit 79e8e2e976
  1. 13
      app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java
  2. 10
      app/src/main/java/com/fongmi/android/tv/bean/Config.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java
  4. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java

@ -80,10 +80,10 @@ public class WallConfig {
byte[] data = OkHttp.bytes(UrlUtil.convert(getUrl())); byte[] data = OkHttp.bytes(UrlUtil.convert(getUrl()));
if (data.length == 0) throw new RuntimeException(); if (data.length == 0) throw new RuntimeException();
Path.write(FileUtil.getWall(0), data); Path.write(FileUtil.getWall(0), data);
App.post(callback::success); createSnapshot(data);
config.update(); config.update();
writeCache();
refresh(0); refresh(0);
App.post(callback::success);
} catch (Throwable e) { } catch (Throwable e) {
if (TextUtils.isEmpty(config.getUrl())) App.post(() -> callback.error("")); if (TextUtils.isEmpty(config.getUrl())) App.post(() -> callback.error(""));
else App.post(() -> callback.error(Notify.getError(R.string.error_config_get, e))); else App.post(() -> callback.error(Notify.getError(R.string.error_config_get, e)));
@ -91,10 +91,11 @@ public class WallConfig {
} }
} }
private void writeCache() throws Exception { private void createSnapshot(byte[] data) throws Exception {
Bitmap bitmap = Glide.with(App.get()).asBitmap().load(FileUtil.getWall(0)).diskCacheStrategy(DiskCacheStrategy.NONE).override(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()).submit().get(); Bitmap bitmap = Glide.with(App.get()).asBitmap().load(data).skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE).override(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()).submit().get();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(FileUtil.getWallCache())); try (FileOutputStream fos = new FileOutputStream(FileUtil.getWallCache())) {
bitmap.recycle(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
}
} }
public boolean needSync(String url) { public boolean needSync(String url) {

@ -195,9 +195,13 @@ public class Config {
} }
public static void delete(String url, int type) { public static void delete(String url, int type) {
if (type == 2) Path.clear(FileUtil.getWall(0)); if (type != 2) {
if (type == 2) AppDatabase.get().getConfigDao().delete(type); AppDatabase.get().getConfigDao().delete(url, type);
else AppDatabase.get().getConfigDao().delete(url, type); } else {
Path.clear(FileUtil.getWall(0));
Path.clear(FileUtil.getWallCache());
AppDatabase.get().getConfigDao().delete(type);
}
} }
public static Config vod() { public static Config vod() {

@ -117,7 +117,7 @@ public class CustomWallView extends FrameLayout implements DefaultLifecycleObser
player.clearMediaItems(); player.clearMediaItems();
binding.video.setPlayer(null); binding.video.setPlayer(null);
binding.video.setVisibility(GONE); binding.video.setVisibility(GONE);
Glide.with(binding.image).asGif().load(file).placeholder(cache).error(cache).diskCacheStrategy(DiskCacheStrategy.NONE).override(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()).into(binding.image); Glide.with(binding.image).asGif().load(file).placeholder(cache).error(cache).skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE).override(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()).into(binding.image);
} }
private void loadImage() { private void loadImage() {

@ -286,6 +286,12 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
Notify.dismiss(); Notify.dismiss();
setCacheText(); setCacheText();
} }
@Override
public void error(String msg) {
Notify.dismiss();
Notify.show(msg);
}
}); });
} }

Loading…
Cancel
Save