diff --git a/app/build.gradle b/app/build.gradle
index c0e6003fb..1e3afa89b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "com.fongmi.android.tv"
minSdk 21
targetSdk 29
- versionCode 65
- versionName "1.6.5"
+ versionCode 66
+ versionName "1.6.6"
ndk { abiFilters "armeabi-v7a" }
}
diff --git a/app/src/leanback/java/com/fongmi/android/tv/Product.java b/app/src/leanback/java/com/fongmi/android/tv/Product.java
new file mode 100644
index 000000000..3d75d9815
--- /dev/null
+++ b/app/src/leanback/java/com/fongmi/android/tv/Product.java
@@ -0,0 +1,17 @@
+package com.fongmi.android.tv;
+
+import android.content.res.Resources;
+
+import me.jessyan.autosize.AutoSizeCompat;
+
+public class Product {
+
+ public static Resources hackResources(Resources resources) {
+ try {
+ AutoSizeCompat.autoConvertDensityOfGlobal(resources);
+ return resources;
+ } catch (Exception ignored) {
+ return resources;
+ }
+ }
+}
diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
index 885bd70ad..821dc7c0f 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
@@ -97,6 +97,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private boolean mAutoMode;
private History mHistory;
private Players mPlayers;
+ private String mSiteKey;
private int mCurrent;
private Runnable mR1;
private Runnable mR2;
@@ -197,6 +198,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mPlayers = new Players().init();
mR1 = this::hideControl;
mR2 = this::setTraffic;
+ mSiteKey = getKey();
setRecyclerView();
setVideoView();
setViewModel();
@@ -256,7 +258,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mBinding.part.setAdapter(new ItemBridgeAdapter(mPartAdapter = new ArrayObjectAdapter(mPartPresenter = new PartPresenter(item -> initSearch(item, false)))));
mBinding.search.setHorizontalSpacing(ResUtil.dp2px(8));
mBinding.search.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
- mBinding.search.setAdapter(new ItemBridgeAdapter(mSearchAdapter = new ArrayObjectAdapter(new SearchPresenter(this::getDetail))));
+ mBinding.search.setAdapter(new ItemBridgeAdapter(mSearchAdapter = new ArrayObjectAdapter(new SearchPresenter(this::setSearch))));
mBinding.control.parse.setHorizontalSpacing(ResUtil.dp2px(8));
mBinding.control.parse.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
mBinding.control.parse.setAdapter(new ItemBridgeAdapter(mParseAdapter = new ArrayObjectAdapter(new ParsePresenter(this::setParseActivated))));
@@ -835,14 +837,14 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
private void checkFlag() {
- int position = mBinding.flag.getSelectedPosition();
+ int position = isGone(mBinding.flag) ? -1 : mBinding.flag.getSelectedPosition();
if (position == mFlagAdapter.size() - 1) checkSearch();
else nextFlag(position);
}
private void checkSearch() {
- if (isAutoMode() && mSearchAdapter.size() > 0) nextSite();
- else initSearch(getName(), true);
+ if (mSearchAdapter.size() == 0) initSearch(getName(), true);
+ else if (isAutoMode()) nextSite();
}
private void initSearch(String keyword, boolean auto) {
@@ -882,6 +884,11 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
if (isInitAuto()) nextSite();
}
+ private void setSearch(Vod item) {
+ setAutoMode(false);
+ getDetail(item);
+ }
+
private boolean mismatch(Vod item) {
String keyword = mBinding.part.getTag().toString();
if (isAutoMode()) return !item.getVodName().equals(keyword);
@@ -903,6 +910,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private void nextSite() {
if (mSearchAdapter.size() == 0) return;
Vod vod = (Vod) mSearchAdapter.get(0);
+ if (vod.getSiteKey().equals(mSiteKey)) return;
Notify.show(getString(R.string.play_switch_site, vod.getSiteName()));
mSearchAdapter.removeItems(0, 1);
setInitAuto(false);
diff --git a/app/src/leanback/res/layout/activity_detail.xml b/app/src/leanback/res/layout/activity_detail.xml
index 874540560..a25028496 100644
--- a/app/src/leanback/res/layout/activity_detail.xml
+++ b/app/src/leanback/res/layout/activity_detail.xml
@@ -21,7 +21,7 @@
true
-
-
-
-
diff --git a/app/src/main/java/com/fongmi/android/tv/ui/activity/BaseActivity.java b/app/src/main/java/com/fongmi/android/tv/ui/activity/BaseActivity.java
index ad73bd9be..f33f1ac0a 100644
--- a/app/src/main/java/com/fongmi/android/tv/ui/activity/BaseActivity.java
+++ b/app/src/main/java/com/fongmi/android/tv/ui/activity/BaseActivity.java
@@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.activity;
import android.app.Activity;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -9,6 +10,7 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewbinding.ViewBinding;
+import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.WallConfig;
import com.fongmi.android.tv.event.RefreshEvent;
@@ -65,6 +67,11 @@ public abstract class BaseActivity extends AppCompatActivity {
setWall();
}
+ @Override
+ public Resources getResources() {
+ return Product.hackResources(super.getResources());
+ }
+
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Notify.java b/app/src/main/java/com/fongmi/android/tv/utils/Notify.java
index 7cbd7ced4..a03b098a6 100644
--- a/app/src/main/java/com/fongmi/android/tv/utils/Notify.java
+++ b/app/src/main/java/com/fongmi/android/tv/utils/Notify.java
@@ -33,9 +33,8 @@ public class Notify {
}
public static void progress(Context context) {
- ViewProgressBinding binding = ViewProgressBinding.inflate(LayoutInflater.from(context));
- get().mDialog = new MaterialAlertDialogBuilder(context).setView(binding.getRoot()).create();
- get().mDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
+ dismiss();
+ get().create(context);
get().mDialog.show();
}
@@ -43,6 +42,12 @@ public class Notify {
if (get().mDialog != null && get().mDialog.isShowing()) get().mDialog.dismiss();
}
+ private void create(Context context) {
+ ViewProgressBinding binding = ViewProgressBinding.inflate(LayoutInflater.from(context));
+ mDialog = new MaterialAlertDialogBuilder(context).setView(binding.getRoot()).create();
+ mDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
+ }
+
private void makeText(String message) {
if (mToast != null) mToast.cancel();
if (TextUtils.isEmpty(message)) return;
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
new file mode 100644
index 000000000..7069776a4
--- /dev/null
+++ b/app/src/main/res/values/styles.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/mobile/java/com/fongmi/android/tv/Product.java b/app/src/mobile/java/com/fongmi/android/tv/Product.java
new file mode 100644
index 000000000..316acd3c8
--- /dev/null
+++ b/app/src/mobile/java/com/fongmi/android/tv/Product.java
@@ -0,0 +1,10 @@
+package com.fongmi.android.tv;
+
+import android.content.res.Resources;
+
+public class Product {
+
+ public static Resources hackResources(Resources resources) {
+ return resources;
+ }
+}
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java
index 789e28bb2..18940bb3b 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java
@@ -41,6 +41,7 @@ public class SiteFragment extends BaseFragment implements VodAdapter.OnClickList
@Override
protected void initView() {
+ mBinding.progressLayout.showProgress();
setRecyclerView();
}
diff --git a/app/src/mobile/res/layout/activity_detail.xml b/app/src/mobile/res/layout/activity_detail.xml
index 3bf703a44..c4fc192d1 100644
--- a/app/src/mobile/res/layout/activity_detail.xml
+++ b/app/src/mobile/res/layout/activity_detail.xml
@@ -15,7 +15,7 @@
@style/BottomSheetDialog
-
-
-
-