From 07cbe3a91b71afc6efe99c4b66d30b1a6174c3e0 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 20 Apr 2023 23:33:50 +0800 Subject: [PATCH] [leanback] clean code --- .../android/tv/ui/activity/SearchActivity.java | 12 +++++++++++- .../android/tv/ui/custom/dialog/SiteDialog.java | 7 +++---- .../android/tv/ui/presenter/SitePresenter.java | 2 ++ app/src/leanback/res/layout/adapter_site.xml | 6 ++---- app/src/mobile/res/layout/adapter_site.xml | 6 ++---- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java index ef89553e5..1c1bb39f9 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java @@ -14,8 +14,10 @@ import androidx.viewbinding.ViewBinding; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; import com.fongmi.android.tv.bean.Hot; +import com.fongmi.android.tv.bean.Site; import com.fongmi.android.tv.bean.Suggest; import com.fongmi.android.tv.databinding.ActivitySearchBinding; +import com.fongmi.android.tv.impl.SiteCallback; import com.fongmi.android.tv.net.Callback; import com.fongmi.android.tv.net.OkHttp; import com.fongmi.android.tv.ui.adapter.RecordAdapter; @@ -34,7 +36,7 @@ import java.util.List; import okhttp3.Call; import okhttp3.Response; -public class SearchActivity extends BaseActivity implements WordAdapter.OnClickListener, RecordAdapter.OnClickListener, CustomKeyboard.Callback { +public class SearchActivity extends BaseActivity implements WordAdapter.OnClickListener, RecordAdapter.OnClickListener, CustomKeyboard.Callback, SiteCallback { private ActivitySearchBinding mBinding; private RecordAdapter mRecordAdapter; @@ -154,6 +156,14 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL PushActivity.start(this); } + @Override + public void setSite(Site item) { + } + + @Override + public void onChanged() { + } + @Override protected void onResume() { super.onResume(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java index 6ea88173e..67336ed20 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/SiteDialog.java @@ -30,10 +30,10 @@ public class SiteDialog implements SitePresenter.OnClickListener { } public SiteDialog(Activity activity) { - this.callback = (activity instanceof SiteCallback) ? (SiteCallback) activity : null; this.binding = DialogSiteBinding.inflate(LayoutInflater.from(activity)); - this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); this.adapter = new ArrayObjectAdapter(presenter = new SitePresenter(this)); + this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); + this.callback = (SiteCallback) activity; } public SiteDialog search() { @@ -71,7 +71,7 @@ public class SiteDialog implements SitePresenter.OnClickListener { if (adapter.size() == 0) return; WindowManager.LayoutParams params = dialog.getWindow().getAttributes(); params.width = (int) (ResUtil.getScreenWidth() * width); - params.height = (int) (ResUtil.getScreenHeight() * 0.736f); + params.height = (int) (ResUtil.getScreenHeight() * 0.738f); dialog.getWindow().setAttributes(params); dialog.getWindow().setDimAmount(0); dialog.show(); @@ -79,7 +79,6 @@ public class SiteDialog implements SitePresenter.OnClickListener { @Override public void onTextClick(Site item) { - if (callback == null) return; callback.setSite(item); dialog.dismiss(); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java index a7d3ab549..c43b8f523 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java @@ -53,7 +53,9 @@ public class SitePresenter extends Presenter { Site item = (Site) object; ViewHolder holder = (ViewHolder) viewHolder; holder.binding.text.setText(item.getName()); + holder.binding.text.setEnabled(!search || change); holder.binding.text.setFocusable(!search || change); + holder.binding.text.setSelected(item.isActivated()); holder.binding.text.setActivated(item.isActivated()); holder.binding.search.setImageResource(item.getSearchIcon()); holder.binding.change.setImageResource(item.getChangeIcon()); diff --git a/app/src/leanback/res/layout/adapter_site.xml b/app/src/leanback/res/layout/adapter_site.xml index 003fab19e..e52e08add 100644 --- a/app/src/leanback/res/layout/adapter_site.xml +++ b/app/src/leanback/res/layout/adapter_site.xml @@ -31,8 +31,7 @@ android:focusableInTouchMode="true" android:padding="8dp" android:scaleType="fitCenter" - android:src="@drawable/ic_site_search_on" - app:tint="@color/text" /> + android:src="@drawable/ic_site_search_on" /> + android:src="@drawable/ic_site_change_on" /> \ No newline at end of file diff --git a/app/src/mobile/res/layout/adapter_site.xml b/app/src/mobile/res/layout/adapter_site.xml index 7d35ea76c..4ea9a675c 100644 --- a/app/src/mobile/res/layout/adapter_site.xml +++ b/app/src/mobile/res/layout/adapter_site.xml @@ -28,8 +28,7 @@ android:background="@drawable/shape_text_round" android:padding="8dp" android:scaleType="fitCenter" - android:src="@drawable/ic_site_search_on" - app:tint="@color/text" /> + android:src="@drawable/ic_site_search_on" /> + android:src="@drawable/ic_site_change_on" /> \ No newline at end of file