[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. 14
      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();
}
private void reverseEpisode() {
private void reverseEpisode(boolean scroll) {
for (int i = 0; i < mFlagAdapter.size(); i++) Collections.reverse(((Vod.Flag) mFlagAdapter.get(i)).getEpisodes());
setEpisodeAdapter(getFlag().getEpisodes());
mBinding.episode.setSelectedPosition(getEpisodePosition());

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

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

@ -20,7 +20,7 @@ public abstract class FragmentStateManager {
public abstract Fragment getItem(int position);
public void change(int position) {
public boolean change(int position) {
FragmentTransaction ft = fm.beginTransaction();
Fragment fragment = fm.findFragmentByTag(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.setReorderingAllowed(true);
ft.commitNowAllowingStateLoss();
return true;
}
private String getTag(int position) {

Loading…
Cancel
Save