Fix PVR section back navigation

This commit is contained in:
Synced Synapse 2018-03-09 20:05:41 +00:00 committed by Martijn Brekhof
parent 2206b90592
commit 94ed40a823
2 changed files with 15 additions and 7 deletions

View File

@ -40,6 +40,7 @@ public class PVRActivity extends BaseMediaActivity
public static final String CHANNELGROUPID = "channelgroupid";
public static final String CHANNELGROUPTITLE = "channelgrouptitle";
public static final String SINGLECHANNELGROUPTITLE = "singlechannelgrouptitle";
private static final String LISTFRAGMENTTAG = "listfragmenttag";
@ -49,6 +50,8 @@ public class PVRActivity extends BaseMediaActivity
private int selectedChannelGroupId = -1;
private String selectedChannelGroupTitle = null;
private boolean singleChannelGroup = false;
@Override
protected String getActionBarTitle() {
if ( selectedChannelTitle != null ) {
@ -72,6 +75,8 @@ public class PVRActivity extends BaseMediaActivity
selectedChannelGroupId = savedInstanceState.getInt(CHANNELGROUPID, -1);
selectedChannelGroupTitle = savedInstanceState.getString(CHANNELGROUPTITLE, null);
singleChannelGroup = savedInstanceState.getBoolean(SINGLECHANNELGROUPTITLE, false);
}
super.onCreate(savedInstanceState);
}
@ -84,6 +89,8 @@ public class PVRActivity extends BaseMediaActivity
outState.putInt(CHANNELGROUPID, selectedChannelGroupId);
outState.putString(CHANNELGROUPTITLE, selectedChannelGroupTitle);
outState.putBoolean(SINGLECHANNELGROUPTITLE, singleChannelGroup);
}
@Override
@ -94,7 +101,7 @@ public class PVRActivity extends BaseMediaActivity
if (selectedChannelId != -1) {
selectedChannelId = -1;
selectedChannelTitle = null;
updateActionBar(getActionBarTitle(), true);
updateActionBar(getActionBarTitle(), !singleChannelGroup);
getSupportFragmentManager().popBackStack();
return true;
} else if (selectedChannelGroupId != -1) {
@ -123,7 +130,7 @@ public class PVRActivity extends BaseMediaActivity
if (selectedChannelId != -1) {
selectedChannelId = -1;
selectedChannelTitle = null;
updateActionBar(getActionBarTitle(), true);
updateActionBar(getActionBarTitle(), !singleChannelGroup);
} else {
if (selectedChannelGroupId != -1) {
selectedChannelGroupId = -1;
@ -146,9 +153,10 @@ public class PVRActivity extends BaseMediaActivity
* @param channelTitle Title
*/
@TargetApi(21)
public void onChannelGuideSelected(int channelId, String channelTitle) {
selectedChannelId = channelId;
selectedChannelTitle = channelTitle;
public void onChannelGuideSelected(int channelId, String channelTitle, boolean singleChannelGroup) {
this.selectedChannelId = channelId;
this.selectedChannelTitle = channelTitle;
this.singleChannelGroup = singleChannelGroup;
// Replace list fragment
PVRChannelEPGListFragment pvrEPGFragment = PVRChannelEPGListFragment.newInstance(channelId);

View File

@ -61,7 +61,7 @@ public class PVRChannelsListFragment extends Fragment
public static final String SINGLECHANNELGROUP = "singlechannelgroup";
public interface OnPVRChannelSelectedListener {
void onChannelGuideSelected(int channelId, String channelTitle);
void onChannelGuideSelected(int channelId, String channelTitle, boolean singleChannelGroup);
void onChannelGroupSelected(int channelGroupId, String channelGroupTitle);
}
@ -435,7 +435,7 @@ public class PVRChannelsListFragment extends Fragment
}, callbackHandler);
return true;
case R.id.action_epg_item:
listenerActivity.onChannelGuideSelected(channelId, channelName);
listenerActivity.onChannelGuideSelected(channelId, channelName, singleChannelGroup);
return true;
}
return false;