[mobile] fix some bug

pull/123/head
FongMi 3 years ago
parent 58f4328b6c
commit 94a76d52eb
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 7
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  3. 12
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java
  4. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/FragmentStateManager.java

@ -416,7 +416,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
onRefresh(); onRefresh();
} }
private void reverseEpisode() { private void reverseEpisode(boolean scroll) {
for (int i = 0; i < mFlagAdapter.size(); i++) Collections.reverse(((Vod.Flag) mFlagAdapter.get(i)).getEpisodes()); for (int i = 0; i < mFlagAdapter.size(); i++) Collections.reverse(((Vod.Flag) mFlagAdapter.get(i)).getEpisodes());
setEpisodeAdapter(getFlag().getEpisodes()); setEpisodeAdapter(getFlag().getEpisodes());
mBinding.episode.setSelectedPosition(getEpisodePosition()); mBinding.episode.setSelectedPosition(getEpisodePosition());

@ -398,9 +398,10 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
onItemClick(episode); onItemClick(episode);
} }
private void reverseEpisode() { private void reverseEpisode(boolean scroll) {
mFlagAdapter.reverse(); mFlagAdapter.reverse();
setEpisodeAdapter(getFlag().getEpisodes()); setEpisodeAdapter(getFlag().getEpisodes());
if (scroll) mBinding.episode.scrollToPosition(mEpisodeAdapter.getPosition());
} }
private void onMore() { private void onMore() {
@ -411,7 +412,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private void onReverse() { private void onReverse() {
mHistory.setRevSort(!mHistory.isRevSort()); mHistory.setRevSort(!mHistory.isRevSort());
reverseEpisode(); reverseEpisode(false);
} }
private void onFull() { private void onFull() {
@ -659,7 +660,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mHistory = History.find(getHistoryKey()); mHistory = History.find(getHistoryKey());
mHistory = mHistory == null ? createHistory(item) : mHistory; mHistory = mHistory == null ? createHistory(item) : mHistory;
onItemClick(mHistory.getFlag()); onItemClick(mHistory.getFlag());
if (mHistory.isRevSort()) reverseEpisode(); if (mHistory.isRevSort()) reverseEpisode(true);
mBinding.control.opening.setText(mHistory.getOpening() == 0 ? getString(R.string.play_op) : mPlayers.stringToTime(mHistory.getOpening())); mBinding.control.opening.setText(mHistory.getOpening() == 0 ? getString(R.string.play_op) : mPlayers.stringToTime(mHistory.getOpening()));
mBinding.control.ending.setText(mHistory.getEnding() == 0 ? getString(R.string.play_ed) : mPlayers.stringToTime(mHistory.getEnding())); mBinding.control.ending.setText(mHistory.getEnding() == 0 ? getString(R.string.play_ed) : mPlayers.stringToTime(mHistory.getEnding()));
mBinding.control.speed.setText(mPlayers.setSpeed(mHistory.getSpeed())); mBinding.control.speed.setText(mPlayers.setSpeed(mHistory.getSpeed()));

@ -105,17 +105,11 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
@Override @Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) { public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) { if (mBinding.navigation.getSelectedItemId() == item.getItemId()) return false;
case R.id.vod: if (item.getItemId() == R.id.vod) return mManager.change(0);
mManager.change(0); if (item.getItemId() == R.id.setting) return mManager.change(1);
return true;
case R.id.setting:
mManager.change(1);
return true;
default:
return false; return false;
} }
}
@Override @Override
public void onBackPressed() { public void onBackPressed() {

@ -20,7 +20,7 @@ public abstract class FragmentStateManager {
public abstract Fragment getItem(int position); public abstract Fragment getItem(int position);
public void change(int position) { public boolean change(int position) {
FragmentTransaction ft = fm.beginTransaction(); FragmentTransaction ft = fm.beginTransaction();
Fragment fragment = fm.findFragmentByTag(getTag(position)); Fragment fragment = fm.findFragmentByTag(getTag(position));
if (fragment == null) ft.add(container.getId(), fragment = getItem(position), getTag(position)); if (fragment == null) ft.add(container.getId(), fragment = getItem(position), getTag(position));
@ -30,6 +30,7 @@ public abstract class FragmentStateManager {
ft.setPrimaryNavigationFragment(fragment); ft.setPrimaryNavigationFragment(fragment);
ft.setReorderingAllowed(true); ft.setReorderingAllowed(true);
ft.commitNowAllowingStateLoss(); ft.commitNowAllowingStateLoss();
return true;
} }
private String getTag(int position) { private String getTag(int position) {

Loading…
Cancel
Save