From 385bd3589ee99d7abfda73ce2a8177632775c404 Mon Sep 17 00:00:00 2001 From: okjack Date: Tue, 21 May 2024 17:04:33 +0800 Subject: [PATCH] update --- .../tv/ui/activity/SettingCustomActivity.java | 13 ++++++++----- .../fongmi/android/tv/ui/dialog/CacheDirDialog.java | 11 +++++------ .../fongmi/android/tv/impl/CacheDirCallback.java | 6 ++++++ 3 files changed, 19 insertions(+), 11 deletions(-) create mode 100644 app/src/main/java/com/fongmi/android/tv/impl/CacheDirCallback.java diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java index ec65135b2..652a220aa 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java @@ -12,6 +12,7 @@ import com.fongmi.android.tv.R; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.databinding.ActivitySettingCustomBinding; import com.fongmi.android.tv.event.RefreshEvent; +import com.fongmi.android.tv.impl.CacheDirCallback; import com.fongmi.android.tv.ui.base.BaseActivity; import com.fongmi.android.tv.ui.dialog.ButtonsDialog; import com.fongmi.android.tv.ui.dialog.CacheDirDialog; @@ -26,7 +27,7 @@ import com.permissionx.guolindev.PermissionX; import com.tencent.smtt.sdk.QbSdk; import java.util.Locale; -public class SettingCustomActivity extends BaseActivity { +public class SettingCustomActivity extends BaseActivity implements CacheDirCallback { private ActivitySettingCustomBinding mBinding; private String[] quality; @@ -203,10 +204,6 @@ public class SettingCustomActivity extends BaseActivity { }); } - public void setCacheDirText() { - mBinding.cacheDirText.setText(Setting.getCacheDir()); - } - private void setLanguage(View view) { LanguageDialog.create(this).show(); } @@ -239,4 +236,10 @@ public class SettingCustomActivity extends BaseActivity { }).start(); } + @Override + public void setCacheDir(String dir) { + Setting.putCacheDir(dir); + mBinding.cacheDirText.setText(dir); + } + } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/CacheDirDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/CacheDirDialog.java index 962de847a..6d3bbe70a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/CacheDirDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/CacheDirDialog.java @@ -9,7 +9,7 @@ import androidx.recyclerview.widget.GridLayoutManager; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.databinding.DialogCacheDirBinding; -import com.fongmi.android.tv.ui.activity.SettingCustomActivity; +import com.fongmi.android.tv.impl.CacheDirCallback; import com.fongmi.android.tv.ui.adapter.CacheDirAdapter; import com.fongmi.android.tv.ui.custom.SpaceItemDecoration; import com.fongmi.android.tv.utils.ResUtil; @@ -23,7 +23,7 @@ public class CacheDirDialog implements CacheDirAdapter.OnClickListener { private final DialogCacheDirBinding binding; private final CacheDirAdapter adapter; private final AlertDialog dialog; - private final Activity activity; + private final CacheDirCallback callback; private List mItems; private int position; public static CacheDirDialog create(Activity activity) { @@ -40,7 +40,7 @@ public class CacheDirDialog implements CacheDirAdapter.OnClickListener { if (mItems.get(i).equals(cacheDir)) position = i; } this.adapter = new CacheDirAdapter(this, mItems); - this.activity = activity; + this.callback = (CacheDirCallback) activity; this.binding = DialogCacheDirBinding.inflate(LayoutInflater.from(activity)); this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); } @@ -82,9 +82,8 @@ public class CacheDirDialog implements CacheDirAdapter.OnClickListener { @Override public void onItemClick(String path) { - if (dialog != null) dialog.dismiss(); - Setting.putCacheDir(path); - ((SettingCustomActivity) activity).setCacheDirText(); + callback.setCacheDir(path); + dialog.dismiss(); } } diff --git a/app/src/main/java/com/fongmi/android/tv/impl/CacheDirCallback.java b/app/src/main/java/com/fongmi/android/tv/impl/CacheDirCallback.java new file mode 100644 index 000000000..d73b9a18f --- /dev/null +++ b/app/src/main/java/com/fongmi/android/tv/impl/CacheDirCallback.java @@ -0,0 +1,6 @@ +package com.fongmi.android.tv.impl; + +public interface CacheDirCallback { + + void setCacheDir(String dir); +}