[mobile] fix crash

pull/123/head
FongMi 3 years ago
parent 3103ca63ff
commit 4af369975a
  1. 2
      app/src/mobile/AndroidManifest.xml
  2. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  3. 26
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  4. 9
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/HomeFragment.java

@ -33,7 +33,7 @@
<activity
android:name=".ui.activity.DetailActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:launchMode="singleTop"
android:launchMode="singleTask"
android:resizeableActivity="true"
android:screenOrientation="fullUser"
android:supportsPictureInPicture="true"

@ -36,7 +36,6 @@ import com.fongmi.android.tv.databinding.ActivityDetailBinding;
import com.fongmi.android.tv.db.AppDatabase;
import com.fongmi.android.tv.event.ErrorEvent;
import com.fongmi.android.tv.event.PlayerEvent;
import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.model.SiteViewModel;
import com.fongmi.android.tv.player.ExoUtil;
import com.fongmi.android.tv.player.Players;
@ -844,6 +843,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (Utils.hasPIP() && isInPictureInPictureMode()) return;
if (isFullscreen()) Utils.hideSystemUI(this);
if (ResUtil.isLand(this)) enterFullscreen();
}
@ -864,7 +864,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
@Override
protected void onStop() {
super.onStop();
RefreshEvent.history();
onPause(false);
setStop(true);
}

@ -12,6 +12,7 @@ import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewbinding.ViewBinding;
import androidx.viewpager.widget.ViewPager;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.ApiConfig;
import com.fongmi.android.tv.bean.Class;
@ -119,14 +120,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
@Subscribe(threadMode = ThreadMode.MAIN)
public void onRefreshEvent(RefreshEvent event) {
switch (event.getType()) {
case HISTORY:
getHomeFragment().getHistory();
break;
case VIDEO:
homeContent();
break;
}
if (event.getType() == RefreshEvent.Type.VIDEO) homeContent();
}
private void homeContent() {
@ -141,13 +135,6 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
return types;
}
public void setAdapter(Result result) {
result.setTypes(getTypes(result));
mTypeAdapter.addAll(result.getTypes());
for (Class item : mTypeAdapter.getTypes()) if (result.getFilters().containsKey(item.getTypeId())) item.setFilters(result.getFilters().get(item.getTypeId()));
mPageAdapter.notifyDataSetChanged();
}
@Override
public void setSite(Site item) {
ApiConfig.get().setHome(item);
@ -173,6 +160,13 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
Utils.toggleFab(dy, mBinding.filter);
}
public void setAdapter(Result result) {
result.setTypes(getTypes(result));
mTypeAdapter.addAll(result.getTypes());
for (Class item : mTypeAdapter.getTypes()) if (result.getFilters().containsKey(item.getTypeId())) item.setFilters(result.getFilters().get(item.getTypeId()));
App.post(() -> mPageAdapter.notifyDataSetChanged());
}
public boolean canBack() {
try {
if (mBinding.pager.getCurrentItem() == 0) return getHomeFragment().canBack();
@ -191,7 +185,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
class PageAdapter extends FragmentStatePagerAdapter {
public PageAdapter(@NonNull FragmentManager fm) {
super(fm);
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
}
@NonNull

@ -57,7 +57,6 @@ public class HomeFragment extends BaseFragment implements VodAdapter.OnClickList
mBinding.progressLayout.showProgress();
setRecyclerView();
setViewModel();
getHistory();
getVideo();
}
@ -81,7 +80,7 @@ public class HomeFragment extends BaseFragment implements VodAdapter.OnClickList
mViewModel.result.observe(getViewLifecycleOwner(), this::setAdapter);
}
public void getHistory() {
private void getHistory() {
mHistoryAdapter.addAll(History.get());
}
@ -142,4 +141,10 @@ public class HomeFragment extends BaseFragment implements VodAdapter.OnClickList
mHistoryManager.setSpanCount(Product.getColumn(getActivity()));
mRecommendManager.setSpanCount(Product.getColumn(getActivity()));
}
@Override
public void onResume() {
super.onResume();
getHistory();
}
}

Loading…
Cancel
Save