Fix PVR section back navigation
This commit is contained in:
parent
2206b90592
commit
94ed40a823
|
@ -40,6 +40,7 @@ public class PVRActivity extends BaseMediaActivity
|
||||||
|
|
||||||
public static final String CHANNELGROUPID = "channelgroupid";
|
public static final String CHANNELGROUPID = "channelgroupid";
|
||||||
public static final String CHANNELGROUPTITLE = "channelgrouptitle";
|
public static final String CHANNELGROUPTITLE = "channelgrouptitle";
|
||||||
|
public static final String SINGLECHANNELGROUPTITLE = "singlechannelgrouptitle";
|
||||||
|
|
||||||
private static final String LISTFRAGMENTTAG = "listfragmenttag";
|
private static final String LISTFRAGMENTTAG = "listfragmenttag";
|
||||||
|
|
||||||
|
@ -49,6 +50,8 @@ public class PVRActivity extends BaseMediaActivity
|
||||||
private int selectedChannelGroupId = -1;
|
private int selectedChannelGroupId = -1;
|
||||||
private String selectedChannelGroupTitle = null;
|
private String selectedChannelGroupTitle = null;
|
||||||
|
|
||||||
|
private boolean singleChannelGroup = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getActionBarTitle() {
|
protected String getActionBarTitle() {
|
||||||
if ( selectedChannelTitle != null ) {
|
if ( selectedChannelTitle != null ) {
|
||||||
|
@ -72,6 +75,8 @@ public class PVRActivity extends BaseMediaActivity
|
||||||
|
|
||||||
selectedChannelGroupId = savedInstanceState.getInt(CHANNELGROUPID, -1);
|
selectedChannelGroupId = savedInstanceState.getInt(CHANNELGROUPID, -1);
|
||||||
selectedChannelGroupTitle = savedInstanceState.getString(CHANNELGROUPTITLE, null);
|
selectedChannelGroupTitle = savedInstanceState.getString(CHANNELGROUPTITLE, null);
|
||||||
|
|
||||||
|
singleChannelGroup = savedInstanceState.getBoolean(SINGLECHANNELGROUPTITLE, false);
|
||||||
}
|
}
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
}
|
}
|
||||||
|
@ -84,6 +89,8 @@ public class PVRActivity extends BaseMediaActivity
|
||||||
|
|
||||||
outState.putInt(CHANNELGROUPID, selectedChannelGroupId);
|
outState.putInt(CHANNELGROUPID, selectedChannelGroupId);
|
||||||
outState.putString(CHANNELGROUPTITLE, selectedChannelGroupTitle);
|
outState.putString(CHANNELGROUPTITLE, selectedChannelGroupTitle);
|
||||||
|
|
||||||
|
outState.putBoolean(SINGLECHANNELGROUPTITLE, singleChannelGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -94,7 +101,7 @@ public class PVRActivity extends BaseMediaActivity
|
||||||
if (selectedChannelId != -1) {
|
if (selectedChannelId != -1) {
|
||||||
selectedChannelId = -1;
|
selectedChannelId = -1;
|
||||||
selectedChannelTitle = null;
|
selectedChannelTitle = null;
|
||||||
updateActionBar(getActionBarTitle(), true);
|
updateActionBar(getActionBarTitle(), !singleChannelGroup);
|
||||||
getSupportFragmentManager().popBackStack();
|
getSupportFragmentManager().popBackStack();
|
||||||
return true;
|
return true;
|
||||||
} else if (selectedChannelGroupId != -1) {
|
} else if (selectedChannelGroupId != -1) {
|
||||||
|
@ -123,7 +130,7 @@ public class PVRActivity extends BaseMediaActivity
|
||||||
if (selectedChannelId != -1) {
|
if (selectedChannelId != -1) {
|
||||||
selectedChannelId = -1;
|
selectedChannelId = -1;
|
||||||
selectedChannelTitle = null;
|
selectedChannelTitle = null;
|
||||||
updateActionBar(getActionBarTitle(), true);
|
updateActionBar(getActionBarTitle(), !singleChannelGroup);
|
||||||
} else {
|
} else {
|
||||||
if (selectedChannelGroupId != -1) {
|
if (selectedChannelGroupId != -1) {
|
||||||
selectedChannelGroupId = -1;
|
selectedChannelGroupId = -1;
|
||||||
|
@ -146,9 +153,10 @@ public class PVRActivity extends BaseMediaActivity
|
||||||
* @param channelTitle Title
|
* @param channelTitle Title
|
||||||
*/
|
*/
|
||||||
@TargetApi(21)
|
@TargetApi(21)
|
||||||
public void onChannelGuideSelected(int channelId, String channelTitle) {
|
public void onChannelGuideSelected(int channelId, String channelTitle, boolean singleChannelGroup) {
|
||||||
selectedChannelId = channelId;
|
this.selectedChannelId = channelId;
|
||||||
selectedChannelTitle = channelTitle;
|
this.selectedChannelTitle = channelTitle;
|
||||||
|
this.singleChannelGroup = singleChannelGroup;
|
||||||
|
|
||||||
// Replace list fragment
|
// Replace list fragment
|
||||||
PVRChannelEPGListFragment pvrEPGFragment = PVRChannelEPGListFragment.newInstance(channelId);
|
PVRChannelEPGListFragment pvrEPGFragment = PVRChannelEPGListFragment.newInstance(channelId);
|
||||||
|
|
|
@ -61,7 +61,7 @@ public class PVRChannelsListFragment extends Fragment
|
||||||
public static final String SINGLECHANNELGROUP = "singlechannelgroup";
|
public static final String SINGLECHANNELGROUP = "singlechannelgroup";
|
||||||
|
|
||||||
public interface OnPVRChannelSelectedListener {
|
public interface OnPVRChannelSelectedListener {
|
||||||
void onChannelGuideSelected(int channelId, String channelTitle);
|
void onChannelGuideSelected(int channelId, String channelTitle, boolean singleChannelGroup);
|
||||||
void onChannelGroupSelected(int channelGroupId, String channelGroupTitle);
|
void onChannelGroupSelected(int channelGroupId, String channelGroupTitle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -435,7 +435,7 @@ public class PVRChannelsListFragment extends Fragment
|
||||||
}, callbackHandler);
|
}, callbackHandler);
|
||||||
return true;
|
return true;
|
||||||
case R.id.action_epg_item:
|
case R.id.action_epg_item:
|
||||||
listenerActivity.onChannelGuideSelected(channelId, channelName);
|
listenerActivity.onChannelGuideSelected(channelId, channelName, singleChannelGroup);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue