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()));
if (data.length == 0) throw new RuntimeException();
Path.write(FileUtil.getWall(0), data);
App.post(callback::success);
createSnapshot(data);
config.update();
writeCache();
refresh(0);
App.post(callback::success);
} catch (Throwable e) {
if (TextUtils.isEmpty(config.getUrl())) App.post(() -> callback.error(""));
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 {
Bitmap bitmap = Glide.with(App.get()).asBitmap().load(FileUtil.getWall(0)).diskCacheStrategy(DiskCacheStrategy.NONE).override(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()).submit().get();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(FileUtil.getWallCache()));
bitmap.recycle();
private void createSnapshot(byte[] data) throws Exception {
Bitmap bitmap = Glide.with(App.get()).asBitmap().load(data).skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE).override(ResUtil.getScreenWidth(), ResUtil.getScreenHeight()).submit().get();
try (FileOutputStream fos = new FileOutputStream(FileUtil.getWallCache())) {
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
}
}
public boolean needSync(String url) {

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

@ -117,7 +117,7 @@ public class CustomWallView extends FrameLayout implements DefaultLifecycleObser
player.clearMediaItems();
binding.video.setPlayer(null);
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() {

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

Loading…
Cancel
Save