diff --git a/app/build.gradle b/app/build.gradle index 3652e52b8..22f2a01b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.fongmi.android.tv" minSdk 21 targetSdk 28 - versionCode 229 - versionName "0308" + versionCode 230 + versionName "2.3.0" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java index 9a002f60b..dd1eeaccc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java @@ -120,4 +120,10 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl else super.onBackPressed(); } + @Override + protected void onDestroy() { + super.onDestroy(); + RefreshEvent.history(); + } + } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java index b2b2c5b5c..37c369ebc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java @@ -23,6 +23,7 @@ import com.fongmi.android.tv.server.Server; import com.fongmi.android.tv.ui.custom.CustomTextListener; import com.fongmi.android.tv.utils.QRCode; import com.fongmi.android.tv.utils.ResUtil; +import com.fongmi.android.tv.utils.UrlUtil; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.permissionx.guolindev.PermissionX; @@ -140,7 +141,7 @@ public class ConfigDialog implements DialogInterface.OnDismissListener { private void onPositive(View view) { String name = binding.name.getText().toString().trim(); - String text = binding.text.getText().toString().trim(); + String text = UrlUtil.fixUrl(binding.text.getText().toString().trim()); if (edit) Config.find(url, type).url(text).update(); if (text.isEmpty()) Config.delete(url, type); if (name.isEmpty()) callback.setConfig(Config.find(text, type)); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java index eccc14061..7954be411 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/HomeFragment.java @@ -85,7 +85,7 @@ public class HomeFragment extends BaseFragment implements VodPresenter.OnClickLi mBinding.recycler.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { @Override public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { - if (position < 2) getHomeActicity().showToolBar(); + if (position < 4) getHomeActicity().showToolBar(); else getHomeActicity().hideToolBar(); if (mPresenter != null && mPresenter.isDelete()) setHistoryDelete(false); } diff --git a/app/src/main/java/com/fongmi/android/tv/api/Decoder.java b/app/src/main/java/com/fongmi/android/tv/api/Decoder.java index dc7239aec..4702868df 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/Decoder.java +++ b/app/src/main/java/com/fongmi/android/tv/api/Decoder.java @@ -33,7 +33,7 @@ public class Decoder { } private static String fix(String url, String data) { - if (url.startsWith("file") || url.startsWith("assets")) url = UrlUtil.convert(url); + if (url.startsWith("file") || url.startsWith("clan") || url.startsWith("assets")) url = UrlUtil.convert(url); data = data.replace("./", url.substring(0, url.split("\\?")[0].lastIndexOf("/") + 1)); return data; } diff --git a/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java b/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java index d7b2c23f5..573a2d9b3 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java +++ b/app/src/main/java/com/fongmi/android/tv/api/LiveParser.java @@ -113,7 +113,7 @@ public class LiveParser { private static String getText(String url) { if (url.startsWith("file")) return Path.read(url); if (url.startsWith("http")) return OkHttp.string(url); - if (url.startsWith("assets") || url.startsWith("proxy")) return getText(UrlUtil.convert(url)); + if (url.startsWith("assets") || url.startsWith("clan") || url.startsWith("proxy")) return getText(UrlUtil.convert(url)); if (url.length() > 0 && url.length() % 4 == 0) return getText(new String(Base64.decode(url, Base64.DEFAULT))); return ""; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java index d5288f5ee..94bd9204e 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java @@ -18,6 +18,7 @@ import com.fongmi.android.tv.databinding.DialogConfigBinding; import com.fongmi.android.tv.impl.ConfigCallback; import com.fongmi.android.tv.ui.custom.CustomTextListener; import com.fongmi.android.tv.utils.FileChooser; +import com.fongmi.android.tv.utils.UrlUtil; import com.google.android.material.dialog.MaterialAlertDialogBuilder; public class ConfigDialog { @@ -121,7 +122,7 @@ public class ConfigDialog { } private void onPositive(DialogInterface dialog, int which) { - String url = binding.url.getText().toString().trim(); + String url = UrlUtil.fixUrl(binding.url.getText().toString().trim()); String name = binding.name.getText().toString().trim(); if (edit) Config.find(ori, type).url(url).name(name).update(); if (url.isEmpty()) Config.delete(ori, type);