HomeMenuKey

pull/371/head
okjack 2 years ago
parent 3ee4176c10
commit 86a171acba
  1. 11
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 16
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java
  3. 78
      app/src/leanback/java/com/fongmi/android/tv/ui/dialog/MenuKeyDialog.java

@ -482,11 +482,12 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
if (Setting.getHomeMenuKey() == 0) MenuDialog.create(this).show();
else if (Setting.getHomeMenuKey() == 1) SiteDialog.create(this).show();
else if (Setting.getHomeMenuKey() == 2) HistoryDialog.create(this).type(0).show();
else if (Setting.getHomeMenuKey() == 3) HistoryActivity.start(this);
else if (Setting.getHomeMenuKey() == 4) SearchActivity.start(this);
else if (Setting.getHomeMenuKey() == 5) PushActivity.start(this);
else if (Setting.getHomeMenuKey() == 6) KeepActivity.start(this);
else if (Setting.getHomeMenuKey() == 7) SettingActivity.start(this);
else if (Setting.getHomeMenuKey() == 3) LiveActivity.start(this);
else if (Setting.getHomeMenuKey() == 4) HistoryActivity.start(this);
else if (Setting.getHomeMenuKey() == 5) SearchActivity.start(this);
else if (Setting.getHomeMenuKey() == 6) PushActivity.start(this);
else if (Setting.getHomeMenuKey() == 7) KeepActivity.start(this);
else if (Setting.getHomeMenuKey() == 8) SettingActivity.start(this);
}
if (!isHomeFragment && KeyUtil.isMenuKey(event)) updateFilter((Class) mAdapter.get(mBinding.pager.getCurrentItem()));
if (!isHomeFragment && KeyUtil.isBackKey(event) && event.isLongPress() && getFragment().goRoot()) setCoolDown();

@ -13,6 +13,7 @@ import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.dialog.ButtonsDialog;
import com.fongmi.android.tv.ui.dialog.DisplayDialog;
import com.fongmi.android.tv.ui.dialog.MenuKeyDialog;
import com.fongmi.android.tv.utils.ResUtil;
import java.util.Locale;
@ -25,7 +26,6 @@ public class SettingCustomActivity extends BaseActivity {
private String[] episode;
private String[] fullscreenMenuKey;
private String[] smallWindowBackKey;
private String[] homeMenuKey;
private String[] homeUI;
@Override
@ -52,7 +52,7 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.homeSiteLockText.setText(getSwitch(Setting.isHomeSiteLock()));
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));
mBinding.smallWindowBackKeyText.setText((smallWindowBackKey = ResUtil.getStringArray(R.array.select_small_window_back_key))[Setting.getSmallWindowBackKey()]);
mBinding.homeMenuKeyText.setText((homeMenuKey = ResUtil.getStringArray(R.array.select_home_menu_key))[Setting.getHomeMenuKey()]);
mBinding.homeMenuKeyText.setText((ResUtil.getStringArray(R.array.select_home_menu_key))[Setting.getHomeMenuKey()]);
mBinding.aggregatedSearchText.setText(getSwitch(Setting.isAggregatedSearch()));
mBinding.homeUIText.setText((homeUI = ResUtil.getStringArray(R.array.select_home_ui))[Setting.getHomeUI()]);
mBinding.homeHistoryText.setText(getSwitch(Setting.isHomeHistory()));
@ -70,7 +70,7 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.homeSiteLock.setOnClickListener(this::setHomeSiteLock);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.smallWindowBackKey.setOnClickListener(this::setSmallWindowBackKey);
mBinding.homeMenuKey.setOnClickListener(this::setHomeMenuKey);
mBinding.homeMenuKey.setOnClickListener(this::onHomeMenuKey);
mBinding.aggregatedSearch.setOnClickListener(this::setAggregatedSearch);
mBinding.homeUI.setOnClickListener(this::setHomeUI);
mBinding.homeButtons.setOnClickListener(this::onHomeButtons);
@ -141,10 +141,12 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.smallWindowBackKeyText.setText(smallWindowBackKey[index]);
}
private void setHomeMenuKey(View view) {
int index = Setting.getHomeMenuKey();
Setting.putHomeMenuKey(index = index == homeMenuKey.length - 1 ? 0 : ++index);
mBinding.homeMenuKeyText.setText(homeMenuKey[index]);
private void onHomeMenuKey(View view) {
MenuKeyDialog.create(this).show();
}
public void setHomeMenuText() {
mBinding.homeMenuKeyText.setText((ResUtil.getStringArray(R.array.select_home_menu_key))[Setting.getHomeMenuKey()]);
}
private void setAggregatedSearch(View view) {

@ -0,0 +1,78 @@
package com.fongmi.android.tv.ui.dialog;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.WindowManager;
import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.GridLayoutManager;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.databinding.DialogMenuBinding;
import com.fongmi.android.tv.ui.activity.SettingCustomActivity;
import com.fongmi.android.tv.ui.adapter.MenuAdapter;
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MenuKeyDialog implements MenuAdapter.OnClickListener {
private final DialogMenuBinding binding;
private final MenuAdapter adapter;
private final AlertDialog dialog;
private final Activity activity;
public static MenuKeyDialog create(Activity activity) {
return new MenuKeyDialog(activity);
}
public MenuKeyDialog(Activity activity) {
String[] items = ResUtil.getStringArray(R.array.select_home_menu_key);
List<String> mItems = new ArrayList<>(Arrays.asList(items));
this.adapter = new MenuAdapter(this, mItems);
this.activity = activity;
this.binding = DialogMenuBinding.inflate(LayoutInflater.from(activity));
this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create();
}
public void show() {
initView();
}
private void initView() {
setRecyclerView();
setDialog();
}
private void setRecyclerView() {
binding.recycler.setAdapter(adapter);
binding.recycler.setHasFixedSize(true);
binding.recycler.setItemAnimator(null);
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16));
binding.recycler.setLayoutManager(new GridLayoutManager(dialog.getContext(), 1));
binding.recycler.post(() -> binding.recycler.scrollToPosition(Setting.getHomeMenuKey()));
}
private void setDialog() {
WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
params.width = (int) (ResUtil.getScreenWidth() * 0.4f);
dialog.getWindow().setAttributes(params);
dialog.getWindow().setDimAmount(0);
dialog.show();
}
@Override
public void onItemClick(int position) {
if (dialog != null) dialog.dismiss();
Setting.putHomeMenuKey(position);
((SettingCustomActivity) activity).setHomeMenuText();
}
}
Loading…
Cancel
Save