home refresh

pull/356/head
okjack 2 years ago
parent 4effdecabf
commit b39424cea8
  1. 29
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java
  3. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/TypePresenter.java
  4. 11
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java
  5. 20
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java

@ -287,22 +287,22 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override
public void setConfig(Config config) {
setConfig(config, "");
}
private void setConfig(Config config, String success) {
if (config.getUrl().startsWith("file") && !PermissionX.isGranted(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> load(config));
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> load(config, success));
} else {
load(config);
load(config, success);
}
}
public void initConfig() {
initConfig("");
}
public void initConfig(String success) {
if (isLoading()) return;
WallConfig.get().init();
LiveConfig.get().init().load();
VodConfig.get().init().load(getCallback(success), true);
VodConfig.get().init().load(getCallback(""), true);
setLoading(true);
}
@ -335,11 +335,11 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
}));
}
private void load(Config config) {
private void load(Config config, String success) {
switch (config.getType()) {
case 0:
getHomeFragment().mBinding.progressLayout.showProgress();
VodConfig.load(config, getCallback(""));
VodConfig.load(config, getCallback(success));
break;
}
}
@ -375,12 +375,19 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
FileUtil.clearCache(new Callback() {
@Override
public void success() {
VodConfig.get().getConfig().json("").save();
initConfig(ResUtil.getString(R.string.config_refreshed));
setConfig(VodConfig.get().getConfig().json("").save(), ResUtil.getString(R.string.config_refreshed));
}
});
}
@Override
public boolean onItemLongClick(Class item) {
if (mBinding.pager.getCurrentItem() != 0) return true;
onRefresh();
return true;
}
@Override
public void setSite(Site item) {
VodConfig.get().setHome(item);

@ -160,6 +160,11 @@ public class VodActivity extends BaseActivity implements TypePresenter.OnClickLi
updateFilter(item);
}
@Override
public boolean onItemLongClick(Class item) {
return true;
}
@Override
public void onRefresh(Class item) {
getFragment().onRefresh();

@ -24,6 +24,8 @@ public class TypePresenter extends Presenter {
void onItemClick(Class item);
void onRefresh(Class item);
boolean onItemLongClick(Class item);
}
@Override
@ -40,6 +42,7 @@ public class TypePresenter extends Presenter {
holder.binding.text.setCompoundDrawablesWithIntrinsicBounds(0, 0, getIcon(item), 0);
holder.binding.text.setListener(() -> mListener.onRefresh(item));
setOnClickListener(holder, view -> mListener.onItemClick(item));
holder.view.setOnLongClickListener(view -> mListener.onItemLongClick(item));
}
@Override

@ -103,24 +103,19 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
if (savedInstanceState == null) mManager.change(0);
}
public void initConfig() {
initConfig("");
}
public void initConfig(String success) {
private void initConfig() {
WallConfig.get().init();
LiveConfig.get().init().load();
VodConfig.get().init().load(getCallback(success), true);
VodConfig.get().init().load(getCallback(), true);
}
private Callback getCallback(String success) {
private Callback getCallback() {
return new Callback() {
@Override
public void success() {
checkAction(getIntent());
RefreshEvent.config();
RefreshEvent.video();
if (!TextUtils.isEmpty(success)) Notify.show(success);
}
@Override

@ -3,6 +3,7 @@ package com.fongmi.android.tv.ui.fragment;
import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -37,7 +38,6 @@ import com.fongmi.android.tv.model.SiteViewModel;
import com.fongmi.android.tv.ui.activity.CollectActivity;
import com.fongmi.android.tv.ui.activity.HistoryActivity;
import com.fongmi.android.tv.ui.activity.KeepActivity;
import com.fongmi.android.tv.ui.activity.MainActivity;
import com.fongmi.android.tv.ui.activity.VideoActivity;
import com.fongmi.android.tv.ui.adapter.TypeAdapter;
import com.fongmi.android.tv.ui.base.BaseFragment;
@ -219,8 +219,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
FileUtil.clearCache(new Callback() {
@Override
public void success() {
VodConfig.get().getConfig().json("").save();
if (getActivity() instanceof MainActivity) ((MainActivity) getActivity()).initConfig(ResUtil.getString(R.string.config_refreshed));
setConfig(VodConfig.get().getConfig().json("").save(), ResUtil.getString(R.string.config_refreshed));
}
});
return true;
@ -283,27 +282,32 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
@Override
public void setConfig(Config config) {
setConfig(config, "");
}
private void setConfig(Config config, String success) {
if (config.getUrl().startsWith("file") && !PermissionX.isGranted(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> load(config));
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> load(config, success));
} else {
load(config);
load(config, success);
}
}
private void load(Config config) {
private void load(Config config, String success) {
switch (config.getType()) {
case 0:
Notify.progress(getActivity());
VodConfig.load(config, getCallback());
VodConfig.load(config, getCallback(success));
break;
}
}
private Callback getCallback() {
private Callback getCallback(String success) {
return new Callback() {
@Override
public void success() {
setConfig();
if (!TextUtils.isEmpty(success)) Notify.show(success);
}
@Override

Loading…
Cancel
Save