123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751 |
- package com.github.tvbox.osc.ui.fragment;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.TextView;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.recyclerview.widget.DiffUtil;
- import com.github.tvbox.osc.R;
- import com.github.tvbox.osc.api.ApiConfig;
- import com.github.tvbox.osc.base.BaseActivity;
- import com.github.tvbox.osc.base.BaseLazyFragment;
- import com.github.tvbox.osc.bean.IJKCode;
- import com.github.tvbox.osc.bean.SourceBean;
- import com.github.tvbox.osc.event.RefreshEvent;
- import com.github.tvbox.osc.player.thirdparty.RemoteTVBox;
- import com.github.tvbox.osc.ui.activity.HomeActivity;
- import com.github.tvbox.osc.ui.activity.SettingActivity;
- import com.github.tvbox.osc.ui.adapter.SelectDialogAdapter;
- import com.github.tvbox.osc.ui.dialog.AboutDialog;
- import com.github.tvbox.osc.ui.dialog.ApiDialog;
- import com.github.tvbox.osc.ui.dialog.BackupDialog;
- import com.github.tvbox.osc.ui.dialog.SearchRemoteTvDialog;
- import com.github.tvbox.osc.ui.dialog.SelectDialog;
- import com.github.tvbox.osc.ui.dialog.XWalkInitDialog;
- import com.github.tvbox.osc.util.FastClickCheckUtil;
- import com.github.tvbox.osc.util.HawkConfig;
- import com.github.tvbox.osc.util.HistoryHelper;
- import com.github.tvbox.osc.util.OkGoHelper;
- import com.github.tvbox.osc.util.PlayerHelper;
- import com.lzy.okgo.OkGo;
- import com.lzy.okgo.callback.FileCallback;
- import com.lzy.okgo.model.Progress;
- import com.lzy.okgo.model.Response;
- import com.orhanobut.hawk.Hawk;
- import com.github.tvbox.osc.ui.adapter.ApiHistoryDialogAdapter;
- import com.github.tvbox.osc.ui.dialog.ApiHistoryDialog;
- import org.greenrobot.eventbus.EventBus;
- import org.jetbrains.annotations.NotNull;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.List;
- import okhttp3.HttpUrl;
- import tv.danmaku.ijk.media.player.IjkMediaPlayer;
- /**
- * @author pj567
- * @date :2020/12/23
- * @description:
- */
- public class ModelSettingFragment extends BaseLazyFragment {
- private TextView tvDebugOpen;
- private TextView tvMediaCodec;
- private TextView tvParseWebView;
- private TextView tvPlay;
- private TextView tvRender;
- private TextView tvScale;
- private TextView tvApi;
- private TextView tvHomeApi;
- private TextView tvDns;
- private TextView tvHomeRec;
- private TextView tvHistoryNum;
- private TextView tvSearchView;
- private TextView tvShowPreviewText;
- private TextView tvFastSearchText;
- private TextView tvRecStyleText;
- private TextView tvHomeShow;
- ///private TextView tvLocale;
- private TextView tvPIP;
-
- public static ModelSettingFragment newInstance() {
- return new ModelSettingFragment().setArguments();
- }
- public ModelSettingFragment setArguments() {
- return this;
- }
- @Override
- protected int getLayoutResID() {
- return R.layout.fragment_model;
- }
- @Override
- protected void init() {
- tvPIP = findViewById(R.id.tvPIP);
- tvPIP.setText(Hawk.get(HawkConfig.PIC_IN_PIC, false) ? "开启" : "关闭");
- //tvLocale = findViewById(R.id.tvLocale);
- //tvLocale.setText(getLocaleView(Hawk.get(HawkConfig.HOME_LOCALE, 0)));
- tvHomeShow = findViewById(R.id.tvHomeShow);
- tvHomeShow.setText(Hawk.get(HawkConfig.HOME_SHOW_SOURCE, false) ? "开启" : "关闭");
-
- tvFastSearchText = findViewById(R.id.showFastSearchText);
- tvFastSearchText.setText(Hawk.get(HawkConfig.FAST_SEARCH_MODE, false) ? "已开启" : "已关闭");
- tvRecStyleText = findViewById(R.id.showRecStyleText);
- tvRecStyleText.setText(Hawk.get(HawkConfig.HOME_REC_STYLE, false) ? "是" : "否");
- tvShowPreviewText = findViewById(R.id.showPreviewText);
- tvShowPreviewText.setText(Hawk.get(HawkConfig.SHOW_PREVIEW, true) ? "开启" : "关闭");
- tvDebugOpen = findViewById(R.id.tvDebugOpen);
- tvParseWebView = findViewById(R.id.tvParseWebView);
- tvMediaCodec = findViewById(R.id.tvMediaCodec);
- tvPlay = findViewById(R.id.tvPlay);
- tvRender = findViewById(R.id.tvRenderType);
- tvScale = findViewById(R.id.tvScaleType);
- tvApi = findViewById(R.id.tvApi);
- tvHomeApi = findViewById(R.id.tvHomeApi);
- tvDns = findViewById(R.id.tvDns);
- tvHomeRec = findViewById(R.id.tvHomeRec);
- tvHistoryNum = findViewById(R.id.tvHistoryNum);
- tvSearchView = findViewById(R.id.tvSearchView);
- tvMediaCodec.setText(Hawk.get(HawkConfig.IJK_CODEC, ""));
- tvDebugOpen.setText(Hawk.get(HawkConfig.DEBUG_OPEN, false) ? "已打开" : "已关闭");
- tvParseWebView.setText(Hawk.get(HawkConfig.PARSE_WEBVIEW, true) ? "系统自带" : "XWalkView");
- tvApi.setText(Hawk.get(HawkConfig.API_URL, ""));
- tvDns.setText(OkGoHelper.dnsHttpsList.get(Hawk.get(HawkConfig.DOH_URL, 0)));
- tvHomeRec.setText(getHomeRecName(Hawk.get(HawkConfig.HOME_REC, 0)));
- tvHistoryNum.setText(HistoryHelper.getHistoryNumName(Hawk.get(HawkConfig.HISTORY_NUM, 0)));
- tvSearchView.setText(getSearchView(Hawk.get(HawkConfig.SEARCH_VIEW, 0)));
- tvHomeApi.setText(ApiConfig.get().getHomeSourceBean().getName());
- tvScale.setText(PlayerHelper.getScaleName(Hawk.get(HawkConfig.PLAY_SCALE, 0)));
- tvPlay.setText(PlayerHelper.getPlayerName(Hawk.get(HawkConfig.PLAY_TYPE, 0)));
- tvRender.setText(PlayerHelper.getRenderName(Hawk.get(HawkConfig.PLAY_RENDER, 0)));
- findViewById(R.id.llDebug).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- Hawk.put(HawkConfig.DEBUG_OPEN, !Hawk.get(HawkConfig.DEBUG_OPEN, false));
- tvDebugOpen.setText(Hawk.get(HawkConfig.DEBUG_OPEN, false) ? "已打开" : "已关闭");
- }
- });
- //数据显示
- // Switch to show / hide source header --------------------------
- findViewById(R.id.llHomeShow).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- Hawk.put(HawkConfig.HOME_SHOW_SOURCE, !Hawk.get(HawkConfig.HOME_SHOW_SOURCE, false));
- tvHomeShow.setText(Hawk.get(HawkConfig.HOME_SHOW_SOURCE, true) ? "开启" : "关闭");
- }
- });
-
- //画中画
- // Switch to ON / OFF Picture-In-Picture -------------------------
- findViewById(R.id.llPIP).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- Hawk.put(HawkConfig.PIC_IN_PIC, !Hawk.get(HawkConfig.PIC_IN_PIC, false));
- tvPIP.setText(Hawk.get(HawkConfig.PIC_IN_PIC, true) ? "开启" : "关闭");
- }
- });
- //历史配置列表
- findViewById(R.id.apiHistory).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ArrayList<String> history = Hawk.get(HawkConfig.API_HISTORY, new ArrayList<String>());
- if (history.isEmpty())
- return;
- String current = Hawk.get(HawkConfig.API_URL, "");
- int idx = 0;
- if (history.contains(current))
- idx = history.indexOf(current);
- ApiHistoryDialog dialog = new ApiHistoryDialog(getContext());
- dialog.setTip("历史配置列表");
- dialog.setAdapter(new ApiHistoryDialogAdapter.SelectDialogInterface() {
- @Override
- public void click(String value) {
- inputApi.setText(value);
- listener.onchange(value);
- dialog.dismiss();
- }
- @Override
- public void del(String value, ArrayList<String> data) {
- Hawk.put(HawkConfig.API_HISTORY, data);
- }
- }, history, idx);
- dialog.show();
- }
- });
- findViewById(R.id.storagePermission).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (XXPermissions.isGranted(getContext(), Permission.Group.STORAGE)) {
- Toast.makeText(getContext(), "已获得存储权限", Toast.LENGTH_SHORT).show();
- } else {
- XXPermissions.with(getContext())
- .permission(Permission.Group.STORAGE)
- .request(new OnPermissionCallback() {
- @Override
- public void onGranted(List<String> permissions, boolean all) {
- if (all) {
- Toast.makeText(getContext(), "已获得存储权限", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onDenied(List<String> permissions, boolean never) {
- if (never) {
- Toast.makeText(getContext(), "获取存储权限失败,请在系统设置中开启", Toast.LENGTH_SHORT).show();
- XXPermissions.startPermissionActivity((Activity) getContext(), permissions);
- } else {
- Toast.makeText(getContext(), "获取存储权限失败", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- }
- });
- refreshQRCode();
- }
- private void refreshQRCode() {
- String address = ControlManager.get().getAddress(false);
- tvAddress.setText(String.format("手机/电脑扫描上方二维码或者直接浏览器访问地址\n%s", address));
- ivQRCode.setImageBitmap(QRCodeGen.generateBitmap(address, AutoSizeUtils.mm2px(getContext(), 300), AutoSizeUtils.mm2px(getContext(), 300)));
- }
- public void setOnListener(OnListener listener) {
- this.listener = listener;
- }
- OnListener listener = null;
- public interface OnListener {
- void onchange(String api);
- }
- }
-
- findViewById(R.id.llParseWebVew).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- boolean useSystem = !Hawk.get(HawkConfig.PARSE_WEBVIEW, true);
- Hawk.put(HawkConfig.PARSE_WEBVIEW, useSystem);
- tvParseWebView.setText(Hawk.get(HawkConfig.PARSE_WEBVIEW, true) ? "系统自带" : "XWalkView");
- if (!useSystem) {
- Toast.makeText(mContext, "注意: XWalkView只适用于部分低Android版本,Android5.0以上推荐使用系统自带", Toast.LENGTH_LONG).show();
- XWalkInitDialog dialog = new XWalkInitDialog(mContext);
- dialog.setOnListener(new XWalkInitDialog.OnListener() {
- @Override
- public void onchange() {
- }
- });
- dialog.show();
- }
- }
- });
- findViewById(R.id.llBackup).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- BackupDialog dialog = new BackupDialog(mActivity);
- dialog.show();
- }
- });
- findViewById(R.id.llAbout).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- AboutDialog dialog = new AboutDialog(mActivity);
- dialog.show();
- }
- });
- findViewById(R.id.llWp).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- if (!ApiConfig.get().wallpaper.isEmpty())
- OkGo.<File>get(ApiConfig.get().wallpaper).execute(new FileCallback(requireActivity().getFilesDir().getAbsolutePath(), "wp") {
- @Override
- public void onSuccess(Response<File> response) {
- ((BaseActivity) requireActivity()).changeWallpaper(true);
- }
- @Override
- public void onError(Response<File> response) {
- super.onError(response);
- }
- @Override
- public void downloadProgress(Progress progress) {
- super.downloadProgress(progress);
- }
- });
- }
- });
- findViewById(R.id.llWpRecovery).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- File wp = new File(requireActivity().getFilesDir().getAbsolutePath() + "/wp");
- if (wp.exists())
- wp.delete();
- ((BaseActivity) requireActivity()).changeWallpaper(true);
- }
- });
- findViewById(R.id.llHomeApi).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- List<SourceBean> sites = ApiConfig.get().getSourceBeanList();
- if (sites.size() > 0) {
- SelectDialog<SourceBean> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("请选择首页数据源");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<SourceBean>() {
- @Override
- public void click(SourceBean value, int pos) {
- ApiConfig.get().setSourceBean(value);
- tvHomeApi.setText(ApiConfig.get().getHomeSourceBean().getName());
- Intent intent =new Intent(mContext, HomeActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
- Bundle bundle = new Bundle();
- bundle.putBoolean("useCache", true);
- intent.putExtras(bundle);
- startActivity(intent);
- }
- @Override
- public String getDisplay(SourceBean val) {
- return val.getName();
- }
- }, new DiffUtil.ItemCallback<SourceBean>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull SourceBean oldItem, @NonNull @NotNull SourceBean newItem) {
- return oldItem == newItem;
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull SourceBean oldItem, @NonNull @NotNull SourceBean newItem) {
- return oldItem.getKey().equals(newItem.getKey());
- }
- }, sites, sites.indexOf(ApiConfig.get().getHomeSourceBean()));
- dialog.show();
- }
- }
- });
- findViewById(R.id.llDns).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- int dohUrl = Hawk.get(HawkConfig.DOH_URL, 0);
- SelectDialog<String> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("请选择安全DNS");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<String>() {
- @Override
- public void click(String value, int pos) {
- tvDns.setText(OkGoHelper.dnsHttpsList.get(pos));
- Hawk.put(HawkConfig.DOH_URL, pos);
- String url = OkGoHelper.getDohUrl(pos);
- OkGoHelper.dnsOverHttps.setUrl(url.isEmpty() ? null : HttpUrl.get(url));
- IjkMediaPlayer.toggleDotPort(pos > 0);
- }
- @Override
- public String getDisplay(String val) {
- return val;
- }
- }, new DiffUtil.ItemCallback<String>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull String oldItem, @NonNull @NotNull String newItem) {
- return oldItem.equals(newItem);
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull String oldItem, @NonNull @NotNull String newItem) {
- return oldItem.equals(newItem);
- }
- }, OkGoHelper.dnsHttpsList, dohUrl);
- dialog.show();
- }
- });
- findViewById(R.id.llApi).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- ApiDialog dialog = new ApiDialog(mActivity);
- EventBus.getDefault().register(dialog);
- dialog.setOnListener(new ApiDialog.OnListener() {
- @Override
- public void onchange(String api) {
- Hawk.put(HawkConfig.API_URL, api);
- tvApi.setText(api);
- }
- });
- dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
- @Override
- public void onDismiss(DialogInterface dialog) {
- ((BaseActivity) mActivity).hideSysBar();
- EventBus.getDefault().unregister(dialog);
- }
- });
- dialog.show();
- }
- });
- findViewById(R.id.llMediaCodec).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- List<IJKCode> ijkCodes = ApiConfig.get().getIjkCodes();
- if (ijkCodes == null || ijkCodes.size() == 0)
- return;
- FastClickCheckUtil.check(v);
- int defaultPos = 0;
- String ijkSel = Hawk.get(HawkConfig.IJK_CODEC, "");
- for (int j = 0; j < ijkCodes.size(); j++) {
- if (ijkSel.equals(ijkCodes.get(j).getName())) {
- defaultPos = j;
- break;
- }
- }
- SelectDialog<IJKCode> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("请选择IJK解码");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<IJKCode>() {
- @Override
- public void click(IJKCode value, int pos) {
- value.selected(true);
- tvMediaCodec.setText(value.getName());
- }
- @Override
- public String getDisplay(IJKCode val) {
- return val.getName();
- }
- }, new DiffUtil.ItemCallback<IJKCode>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull IJKCode oldItem, @NonNull @NotNull IJKCode newItem) {
- return oldItem == newItem;
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull IJKCode oldItem, @NonNull @NotNull IJKCode newItem) {
- return oldItem.getName().equals(newItem.getName());
- }
- }, ijkCodes, defaultPos);
- dialog.show();
- }
- });
- findViewById(R.id.llScale).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- int defaultPos = Hawk.get(HawkConfig.PLAY_SCALE, 0);
- ArrayList<Integer> players = new ArrayList<>();
- players.add(0);
- players.add(1);
- players.add(2);
- players.add(3);
- players.add(4);
- players.add(5);
- SelectDialog<Integer> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("请选择默认画面缩放");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<Integer>() {
- @Override
- public void click(Integer value, int pos) {
- Hawk.put(HawkConfig.PLAY_SCALE, value);
- tvScale.setText(PlayerHelper.getScaleName(value));
- }
- @Override
- public String getDisplay(Integer val) {
- return PlayerHelper.getScaleName(val);
- }
- }, new DiffUtil.ItemCallback<Integer>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- }, players, defaultPos);
- dialog.show();
- }
- });
- findViewById(R.id.llPlay).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- int playerType = Hawk.get(HawkConfig.PLAY_TYPE, 0);
- int defaultPos = 0;
- ArrayList<Integer> players = PlayerHelper.getExistPlayerTypes();
- ArrayList<Integer> renders = new ArrayList<>();
- for(int p = 0; p<players.size(); p++) {
- renders.add(p);
- if (players.get(p) == playerType) {
- defaultPos = p;
- }
- }
- SelectDialog<Integer> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("请选择默认播放器");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<Integer>() {
- @Override
- public void click(Integer value, int pos) {
- Integer thisPlayerType = players.get(pos);
- Hawk.put(HawkConfig.PLAY_TYPE, thisPlayerType);
- tvPlay.setText(PlayerHelper.getPlayerName(thisPlayerType));
- PlayerHelper.init();
- }
- @Override
- public String getDisplay(Integer val) {
- Integer playerType = players.get(val);
- return PlayerHelper.getPlayerName(playerType);
- }
- }, new DiffUtil.ItemCallback<Integer>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- }, renders, defaultPos);
- dialog.show();
- }
- });
- findViewById(R.id.llRender).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- int defaultPos = Hawk.get(HawkConfig.PLAY_RENDER, 0);
- ArrayList<Integer> renders = new ArrayList<>();
- renders.add(0);
- renders.add(1);
- SelectDialog<Integer> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("请选择默认渲染方式");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<Integer>() {
- @Override
- public void click(Integer value, int pos) {
- Hawk.put(HawkConfig.PLAY_RENDER, value);
- tvRender.setText(PlayerHelper.getRenderName(value));
- PlayerHelper.init();
- }
- @Override
- public String getDisplay(Integer val) {
- return PlayerHelper.getRenderName(val);
- }
- }, new DiffUtil.ItemCallback<Integer>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- }, renders, defaultPos);
- dialog.show();
- }
- });
- findViewById(R.id.llHomeRec).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- int defaultPos = Hawk.get(HawkConfig.HOME_REC, 0);
- ArrayList<Integer> types = new ArrayList<>();
- types.add(0);
- types.add(1);
- types.add(2);
- SelectDialog<Integer> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("请选择首页列表数据");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<Integer>() {
- @Override
- public void click(Integer value, int pos) {
- Hawk.put(HawkConfig.HOME_REC, value);
- tvHomeRec.setText(getHomeRecName(value));
- }
- @Override
- public String getDisplay(Integer val) {
- return getHomeRecName(val);
- }
- }, new DiffUtil.ItemCallback<Integer>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- }, types, defaultPos);
- dialog.show();
- }
- });
- findViewById(R.id.llSearchView).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- int defaultPos = Hawk.get(HawkConfig.SEARCH_VIEW, 0);
- ArrayList<Integer> types = new ArrayList<>();
- types.add(0);
- types.add(1);
- SelectDialog<Integer> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("请选择搜索视图");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<Integer>() {
- @Override
- public void click(Integer value, int pos) {
- Hawk.put(HawkConfig.SEARCH_VIEW, value);
- tvSearchView.setText(getSearchView(value));
- }
- @Override
- public String getDisplay(Integer val) {
- return getSearchView(val);
- }
- }, new DiffUtil.ItemCallback<Integer>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- }, types, defaultPos);
- dialog.show();
- }
- });
- SettingActivity.callback = new SettingActivity.DevModeCallback() {
- @Override
- public void onChange() {
- findViewById(R.id.llDebug).setVisibility(View.VISIBLE);
- }
- };
- findViewById(R.id.showPreview).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- Hawk.put(HawkConfig.SHOW_PREVIEW, !Hawk.get(HawkConfig.SHOW_PREVIEW, true));
- tvShowPreviewText.setText(Hawk.get(HawkConfig.SHOW_PREVIEW, true) ? "开启" : "关闭");
- }
- });
- findViewById(R.id.llHistoryNum).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- int defaultPos = Hawk.get(HawkConfig.HISTORY_NUM, 0);
- ArrayList<Integer> types = new ArrayList<>();
- types.add(0);
- types.add(1);
- types.add(2);
- SelectDialog<Integer> dialog = new SelectDialog<>(mActivity);
- dialog.setTip("保留历史记录数量");
- dialog.setAdapter(new SelectDialogAdapter.SelectDialogInterface<Integer>() {
- @Override
- public void click(Integer value, int pos) {
- Hawk.put(HawkConfig.HISTORY_NUM, value);
- tvHistoryNum.setText(HistoryHelper.getHistoryNumName(value));
- }
- @Override
- public String getDisplay(Integer val) {
- return HistoryHelper.getHistoryNumName(val);
- }
- }, new DiffUtil.ItemCallback<Integer>() {
- @Override
- public boolean areItemsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- @Override
- public boolean areContentsTheSame(@NonNull @NotNull Integer oldItem, @NonNull @NotNull Integer newItem) {
- return oldItem.intValue() == newItem.intValue();
- }
- }, types, defaultPos);
- dialog.show();
- }
- });
- findViewById(R.id.showFastSearch).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- Hawk.put(HawkConfig.FAST_SEARCH_MODE, !Hawk.get(HawkConfig.FAST_SEARCH_MODE, false));
- tvFastSearchText.setText(Hawk.get(HawkConfig.FAST_SEARCH_MODE, false) ? "已开启" : "已关闭");
- }
- });
- findViewById(R.id.llHomeRecStyle).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FastClickCheckUtil.check(v);
- Hawk.put(HawkConfig.HOME_REC_STYLE, !Hawk.get(HawkConfig.HOME_REC_STYLE, false));
- tvRecStyleText.setText(Hawk.get(HawkConfig.HOME_REC_STYLE, false) ? "是" : "否");
- }
- });
- findViewById(R.id.llSearchTv).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- FastClickCheckUtil.check(view);
- loadingSearchRemoteTvDialog = new SearchRemoteTvDialog(mActivity);
- EventBus.getDefault().register(loadingSearchRemoteTvDialog);
- loadingSearchRemoteTvDialog.setTip("搜索附近TVBox");
- loadingSearchRemoteTvDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
- @Override
- public void onDismiss(DialogInterface dialogInterface) {
- EventBus.getDefault().unregister(loadingSearchRemoteTvDialog);
- }
- });
-
- loadingSearchRemoteTvDialog.show();
- RemoteTVBox tv = new RemoteTVBox();
- remoteTvHostList = new ArrayList<>();
- foundRemoteTv = false;
- view.postDelayed(new Runnable() {
- @Override
- public void run() {
- new Thread(new Runnable() {
- @Override
- public void run() {
- RemoteTVBox.searchAvalible(tv.new Callback() {
- @Override
- public void found(String viewHost, boolean end) {
- remoteTvHostList.add(viewHost);
- if (end) {
- foundRemoteTv = true;
- EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_SETTING_SEARCH_TV));
- }
- }
- @Override
- public void fail(boolean all, boolean end) {
- if (end) {
- if (all) {
- foundRemoteTv = false;
- } else {
- foundRemoteTv = true;
- }
- EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_SETTING_SEARCH_TV));
- }
- }
- });
- }
- }).start();
- }
- }, 500);
- }
- });
- }
- public static SearchRemoteTvDialog loadingSearchRemoteTvDialog;
- public static List<String> remoteTvHostList;
- public static boolean foundRemoteTv;
-
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- SettingActivity.callback = null;
- }
- String getHomeRecName(int type) {
- if (type == 1) {
- return "站点推荐";
- } else if (type == 2) {
- return "观看历史";
- } else {
- return "豆瓣热播";
- }
- }
- String getSearchView(int type) {
- if (type == 0) {
- return "文字列表";
- } else {
- return "缩略图";
- }
- }
- }
|