diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomHorizontalGridView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomHorizontalGridView.java index 2d691cf0e..77794433a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomHorizontalGridView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomHorizontalGridView.java @@ -35,7 +35,7 @@ public class CustomHorizontalGridView extends HorizontalGridView { @Override protected void initAttributes(@NonNull Context context, @Nullable AttributeSet attrs) { super.initAttributes(context, attrs); - this.shake = ResUtil.getAnim(R.anim.shake); + this.shake = isInEditMode() ? null : ResUtil.getAnim(R.anim.shake); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomRowPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomRowPresenter.java index 89cc52e67..9ef4b5916 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomRowPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomRowPresenter.java @@ -15,7 +15,7 @@ public class CustomRowPresenter extends ListRowPresenter { private final int strategy; public CustomRowPresenter(int spacing) { - this(spacing, FocusHighlight.ZOOM_FACTOR_MEDIUM); + this(spacing, FocusHighlight.ZOOM_FACTOR_SMALL); } @SuppressLint("RestrictedApi") diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomVerticalGridView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomVerticalGridView.java index bbe900066..9f469f2fa 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomVerticalGridView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomVerticalGridView.java @@ -74,7 +74,7 @@ public class CustomVerticalGridView extends VerticalGridView { } public boolean moveToTop() { - if (views == null) return false; + if (views == null || getSelectedPosition() == 0) return false; for (View view : views) view.setVisibility(View.VISIBLE); for (View view : views) if (view.getId() == R.id.recycler) view.requestFocus(); scrollToPosition(0); diff --git a/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java b/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java index c807c2b48..afb5db3ac 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java @@ -222,6 +222,7 @@ public class ApiConfig { this.lives.clear(); this.flags.clear(); this.parses.clear(); + this.loader.clear(); this.home = null; return this; } diff --git a/app/src/main/java/com/fongmi/android/tv/api/JarLoader.java b/app/src/main/java/com/fongmi/android/tv/api/JarLoader.java index 5221190c5..dd5c5cd17 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/JarLoader.java +++ b/app/src/main/java/com/fongmi/android/tv/api/JarLoader.java @@ -32,6 +32,12 @@ public class JarLoader { this.methods = new ConcurrentHashMap<>(); } + public void clear() { + this.loaders.clear(); + this.spiders.clear(); + this.methods.clear(); + } + public void load(String key, File file) { try { DexClassLoader loader = new DexClassLoader(file.getAbsolutePath(), FileUtil.getCachePath(), null, App.get().getClassLoader());