Merge branch 'dev' into release

pull/373/head
okjack 2 years ago
commit 32b8ef875e
  1. 2
      app/build.gradle
  2. 15
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  3. 16
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java
  4. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  5. 12
      app/src/leanback/java/com/fongmi/android/tv/ui/dialog/MenuDialog.java
  6. 78
      app/src/leanback/java/com/fongmi/android/tv/ui/dialog/MenuKeyDialog.java
  7. 2
      app/src/main/java/com/fongmi/android/tv/api/LiveParser.java
  8. 2
      app/src/main/java/com/fongmi/android/tv/bean/Device.java
  9. 11
      app/src/main/java/com/fongmi/android/tv/utils/Util.java
  10. 1
      app/src/main/res/values-zh-rCN/strings.xml
  11. 1
      app/src/main/res/values-zh-rTW/strings.xml
  12. 1
      app/src/main/res/values/strings.xml

@ -11,7 +11,7 @@ android {
minSdk 21
targetSdk 28
versionCode 231
versionName "2.3.1"
versionName "0329"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]

@ -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();
@ -563,7 +564,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
public Fragment getItem(int position) {
if (position == 0) return new HomeFragment();
Class type = (Class) mAdapter.get(position);
return VodFragment.newInstance(getHome().getKey(), type.getTypeId(), type.getStyle(), type.getExtend(false), type.getTypeFlag().equals("1"));
return VodFragment.newInstance(getHome().getKey(), type.getTypeId(), type.getStyle(), type.getExtend(false), "1".equals(type.getTypeFlag()));
}
@Override
@ -575,4 +576,4 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
}
}
}
}

@ -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) {

@ -1700,6 +1700,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Override
public void onKeyDown() {
showInfo();
showControl(getFocus2());
}

@ -12,6 +12,7 @@ import com.fongmi.android.tv.databinding.DialogMenuBinding;
import com.fongmi.android.tv.ui.activity.HistoryActivity;
import com.fongmi.android.tv.ui.activity.HomeActivity;
import com.fongmi.android.tv.ui.activity.KeepActivity;
import com.fongmi.android.tv.ui.activity.LiveActivity;
import com.fongmi.android.tv.ui.activity.PushActivity;
import com.fongmi.android.tv.ui.activity.SearchActivity;
import com.fongmi.android.tv.ui.activity.SettingActivity;
@ -78,11 +79,12 @@ public class MenuDialog implements MenuAdapter.OnClickListener {
if (dialog != null) dialog.dismiss();
if (position == 0 && activity instanceof HomeActivity) SiteDialog.create(activity).show();
else if (position == 1 && activity instanceof HomeActivity) HistoryDialog.create(activity).type(0).show();
else if (position == 2) HistoryActivity.start(activity);
else if (position == 3) SearchActivity.start(activity);
else if (position == 4) PushActivity.start(activity);
else if (position == 5) KeepActivity.start(activity);
else if (position == 6) SettingActivity.start(activity);
else if (position == 2) LiveActivity.start(activity);
else if (position == 3) HistoryActivity.start(activity);
else if (position == 4) SearchActivity.start(activity);
else if (position == 5) PushActivity.start(activity);
else if (position == 6) KeepActivity.start(activity);
else if (position == 7) SettingActivity.start(activity);
}
}

@ -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();
}
}

@ -35,7 +35,7 @@ public class LiveParser {
if (live.getGroups().size() > 0) return;
if (live.getType() == 0) text(live, getText(live.getUrl()));
if (live.getType() == 1) json(live, getText(live.getUrl()));
if (live.getType() == 2) proxy(live, getText(UrlUtil.convert(live.getUrl())));
if (live.getType() == 2) proxy(live, getText(live.getUrl()));
}
public static void text(Live live, String text) {

@ -34,7 +34,7 @@ public class Device {
public static Device get() {
Device device = new Device();
device.setUuid(Util.getDeviceId());
device.setUuid(Util.getAndroidId());
device.setName(Util.getDeviceName());
device.setIp(Server.get().getAddress());
device.setType(Product.getDeviceType());

@ -14,6 +14,7 @@ import android.os.Build;
import android.os.IBinder;
import android.os.Parcelable;
import android.provider.Settings;
import android.text.TextUtils;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
@ -83,8 +84,14 @@ public class Util {
}
}
public static String getDeviceId() {
return Settings.Secure.getString(Init.context().getContentResolver(), Settings.Secure.ANDROID_ID);
public static String getAndroidId() {
try {
String id = Settings.Secure.getString(Init.context().getContentResolver(), Settings.Secure.ANDROID_ID);
if (TextUtils.isEmpty(id)) throw new NullPointerException();
return id;
} catch (Exception e) {
return "0200000000000000";
}
}
public static String getDeviceName() {

@ -244,6 +244,7 @@
<item>选项弹窗</item>
<item>切换站源</item>
<item>切换线路</item>
<item>直播页面</item>
<item>历史页面</item>
<item>搜索页面</item>
<item>推送页面</item>

@ -244,6 +244,7 @@
<item>選項彈窗</item>
<item>切換站源</item>
<item>切換線路</item>
<item>直播页面</item>
<item>歷史頁面</item>
<item>搜索頁面</item>
<item>推送頁面</item>

@ -244,6 +244,7 @@
<item>Select dialog</item>
<item>Change site</item>
<item>Change config</item>
<item>Live page</item>
<item>History page</item>
<item>Search page</item>
<item>Push page</item>

Loading…
Cancel
Save