Check if fragment is attached to activity on API callbacks, to prevent crashes.
This commit is contained in:
parent
7a4352f221
commit
c7d822e68a
|
@ -155,16 +155,16 @@ public class AddonDetailsFragment extends Fragment {
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<AddonType.Details>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<AddonType.Details>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(AddonType.Details result) {
|
public void onSucess(AddonType.Details result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
displayAddonDetails(result);
|
displayAddonDetails(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
if (isAdded()) {
|
if (!isAdded()) return;
|
||||||
Toast.makeText(getActivity(),
|
Toast.makeText(getActivity(),
|
||||||
String.format(getString(R.string.error_getting_addon_info), description),
|
String.format(getString(R.string.error_getting_addon_info), description),
|
||||||
Toast.LENGTH_SHORT).show();
|
Toast.LENGTH_SHORT).show();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}, callbackHandler);
|
}, callbackHandler);
|
||||||
}
|
}
|
||||||
|
@ -199,6 +199,7 @@ public class AddonDetailsFragment extends Fragment {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -213,21 +214,19 @@ public class AddonDetailsFragment extends Fragment {
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
if (isAdded()) {
|
if (!isAdded()) return;
|
||||||
int messageResId = (!isEnabled) ? R.string.addon_enabled : R.string.addon_disabled;
|
int messageResId = (!isEnabled) ? R.string.addon_enabled : R.string.addon_disabled;
|
||||||
Toast.makeText(getActivity(), messageResId, Toast.LENGTH_SHORT).show();
|
Toast.makeText(getActivity(), messageResId, Toast.LENGTH_SHORT).show();
|
||||||
setupEnableButton(!isEnabled);
|
setupEnableButton(!isEnabled);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
if (isAdded()) {
|
if (!isAdded()) return;
|
||||||
Toast.makeText(getActivity(),
|
Toast.makeText(getActivity(),
|
||||||
String.format(getString(R.string.general_error_executing_action), description),
|
String.format(getString(R.string.general_error_executing_action), description),
|
||||||
Toast.LENGTH_SHORT)
|
Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}, callbackHandler);
|
}, callbackHandler);
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,6 +183,8 @@ public class AddonListFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<List<AddonType.Details>>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<List<AddonType.Details>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(List<AddonType.Details> result) {
|
public void onSucess(List<AddonType.Details> result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
|
|
||||||
adapter.clear();
|
adapter.clear();
|
||||||
for (AddonType.Details addon : result) {
|
for (AddonType.Details addon : result) {
|
||||||
if (addon.type.equals(AddonType.Types.UNKNOWN) ||
|
if (addon.type.equals(AddonType.Types.UNKNOWN) ||
|
||||||
|
@ -203,14 +205,14 @@ public class AddonListFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
if (isAdded()) {
|
if (!isAdded()) return;
|
||||||
// To prevent the empty text from appearing on the first load, set it now
|
|
||||||
emptyView.setText(getString(R.string.no_addons_found_refresh));
|
// To prevent the empty text from appearing on the first load, set it now
|
||||||
Toast.makeText(getActivity(),
|
emptyView.setText(getString(R.string.no_addons_found_refresh));
|
||||||
String.format(getString(R.string.error_getting_addon_info), description),
|
Toast.makeText(getActivity(),
|
||||||
Toast.LENGTH_SHORT).show();
|
String.format(getString(R.string.error_getting_addon_info), description),
|
||||||
swipeRefreshLayout.setRefreshing(false);
|
Toast.LENGTH_SHORT).show();
|
||||||
}
|
swipeRefreshLayout.setRefreshing(false);
|
||||||
}
|
}
|
||||||
}, callbackHandler);
|
}, callbackHandler);
|
||||||
}
|
}
|
||||||
|
|
|
@ -263,6 +263,7 @@ public class AlbumDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Check whether we should switch to the remote
|
// Check whether we should switch to the remote
|
||||||
boolean switchToRemote = PreferenceManager
|
boolean switchToRemote = PreferenceManager
|
||||||
.getDefaultSharedPreferences(getActivity())
|
.getDefaultSharedPreferences(getActivity())
|
||||||
|
@ -277,6 +278,7 @@ public class AlbumDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -464,6 +466,7 @@ public class AlbumDetailsFragment extends Fragment
|
||||||
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Ok, loop through the playlists, looking for the audio one
|
// Ok, loop through the playlists, looking for the audio one
|
||||||
int audioPlaylistId = -1;
|
int audioPlaylistId = -1;
|
||||||
for (PlaylistType.GetPlaylistsReturnType playlist : result) {
|
for (PlaylistType.GetPlaylistsReturnType playlist : result) {
|
||||||
|
@ -484,6 +487,7 @@ public class AlbumDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.item_added_to_playlist, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.item_added_to_playlist, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -491,6 +495,7 @@ public class AlbumDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -504,6 +509,7 @@ public class AlbumDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
|
|
@ -341,6 +341,7 @@ public class MovieDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Check whether we should switch to the remote
|
// Check whether we should switch to the remote
|
||||||
boolean switchToRemote = PreferenceManager
|
boolean switchToRemote = PreferenceManager
|
||||||
.getDefaultSharedPreferences(getActivity())
|
.getDefaultSharedPreferences(getActivity())
|
||||||
|
@ -355,6 +356,7 @@ public class MovieDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -369,6 +371,7 @@ public class MovieDetailsFragment extends Fragment
|
||||||
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Ok, loop through the playlists, looking for the video one
|
// Ok, loop through the playlists, looking for the video one
|
||||||
int videoPlaylistId = -1;
|
int videoPlaylistId = -1;
|
||||||
for (PlaylistType.GetPlaylistsReturnType playlist : result) {
|
for (PlaylistType.GetPlaylistsReturnType playlist : result) {
|
||||||
|
@ -385,6 +388,7 @@ public class MovieDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.item_added_to_playlist, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.item_added_to_playlist, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -392,6 +396,7 @@ public class MovieDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -405,6 +410,7 @@ public class MovieDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -432,9 +438,9 @@ public class MovieDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Force a refresh, but don't show a message
|
// Force a refresh, but don't show a message
|
||||||
if (isAdded())
|
startSync(true);
|
||||||
startSync(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -300,6 +300,7 @@ public class MusicVideoDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Check whether we should switch to the remote
|
// Check whether we should switch to the remote
|
||||||
boolean switchToRemote = PreferenceManager
|
boolean switchToRemote = PreferenceManager
|
||||||
.getDefaultSharedPreferences(getActivity())
|
.getDefaultSharedPreferences(getActivity())
|
||||||
|
@ -314,6 +315,7 @@ public class MusicVideoDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -328,6 +330,7 @@ public class MusicVideoDetailsFragment extends Fragment
|
||||||
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Ok, loop through the playlists, looking for the video one
|
// Ok, loop through the playlists, looking for the video one
|
||||||
int videoPlaylistId = -1;
|
int videoPlaylistId = -1;
|
||||||
for (PlaylistType.GetPlaylistsReturnType playlist : result) {
|
for (PlaylistType.GetPlaylistsReturnType playlist : result) {
|
||||||
|
@ -344,37 +347,32 @@ public class MusicVideoDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
if (isAdded()) {
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.item_added_to_playlist, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.item_added_to_playlist, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
if (isAdded()) {
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}, callbackHandler);
|
}, callbackHandler);
|
||||||
} else {
|
} else {
|
||||||
if (isAdded()) {
|
Toast.makeText(getActivity(), R.string.no_suitable_playlist, Toast.LENGTH_SHORT)
|
||||||
Toast.makeText(getActivity(), R.string.no_suitable_playlist, Toast.LENGTH_SHORT)
|
.show();
|
||||||
.show();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
if (isAdded()) {
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}, callbackHandler);
|
}, callbackHandler);
|
||||||
}
|
}
|
||||||
|
|
|
@ -245,6 +245,7 @@ public class NowPlayingFragment extends Fragment
|
||||||
private ApiCallback<Integer> defaultPlaySpeedChangedCallback = new ApiCallback<Integer>() {
|
private ApiCallback<Integer> defaultPlaySpeedChangedCallback = new ApiCallback<Integer>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(Integer result) {
|
public void onSucess(Integer result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
UIUtils.setPlayPauseButtonIcon(getActivity(), playButton, result);
|
UIUtils.setPlayPauseButtonIcon(getActivity(), playButton, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -311,6 +312,7 @@ public class NowPlayingFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<Boolean>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<Boolean>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(Boolean result) {
|
public void onSucess(Boolean result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
if (result) {
|
if (result) {
|
||||||
Resources.Theme theme = getActivity().getTheme();
|
Resources.Theme theme = getActivity().getTheme();
|
||||||
TypedArray styledAttributes = theme.obtainStyledAttributes(new int[] {
|
TypedArray styledAttributes = theme.obtainStyledAttributes(new int[] {
|
||||||
|
@ -324,9 +326,7 @@ public class NowPlayingFragment extends Fragment
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) { }
|
||||||
|
|
||||||
}
|
|
||||||
}, callbackHandler);
|
}, callbackHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -336,6 +336,7 @@ public class NowPlayingFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Force a refresh
|
// Force a refresh
|
||||||
hostConnectionObserver.forceRefreshResults();
|
hostConnectionObserver.forceRefreshResults();
|
||||||
}
|
}
|
||||||
|
@ -351,6 +352,7 @@ public class NowPlayingFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
hostConnectionObserver.forceRefreshResults();
|
hostConnectionObserver.forceRefreshResults();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -445,6 +447,7 @@ public class NowPlayingFragment extends Fragment
|
||||||
getProperties.execute(hostManager.getConnection(), new ApiCallback<ApplicationType.PropertyValue>() {
|
getProperties.execute(hostManager.getConnection(), new ApiCallback<ApplicationType.PropertyValue>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(ApplicationType.PropertyValue result) {
|
public void onSucess(ApplicationType.PropertyValue result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Ok, we've got a version, decide which method to call
|
// Ok, we've got a version, decide which method to call
|
||||||
if (result.version.major < 13) {
|
if (result.version.major < 13) {
|
||||||
showDownloadSubtitlesPreGotham();
|
showDownloadSubtitlesPreGotham();
|
||||||
|
@ -455,6 +458,7 @@ public class NowPlayingFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Something went wrong
|
// Something went wrong
|
||||||
Toast.makeText(getActivity(),
|
Toast.makeText(getActivity(),
|
||||||
String.format(getString(R.string.error_getting_properties), description),
|
String.format(getString(R.string.error_getting_properties), description),
|
||||||
|
@ -481,12 +485,14 @@ public class NowPlayingFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Notify enclosing activity to switch panels
|
// Notify enclosing activity to switch panels
|
||||||
nowPlayingListener.SwitchToRemotePanel();
|
nowPlayingListener.SwitchToRemotePanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
Toast.makeText(getActivity(),
|
Toast.makeText(getActivity(),
|
||||||
String.format(getString(R.string.error_executing_subtitles), description),
|
String.format(getString(R.string.error_executing_subtitles), description),
|
||||||
Toast.LENGTH_SHORT).show();
|
Toast.LENGTH_SHORT).show();
|
||||||
|
|
|
@ -382,11 +382,13 @@ public class PlaylistFragment extends Fragment
|
||||||
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
getPlaylistItems(getActivePlayerResult, getItemResult, result);
|
getPlaylistItems(getActivePlayerResult, getItemResult, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Oops
|
// Oops
|
||||||
displayErrorGettingPlaylistMessage(description);
|
displayErrorGettingPlaylistMessage(description);
|
||||||
}
|
}
|
||||||
|
@ -434,6 +436,7 @@ public class PlaylistFragment extends Fragment
|
||||||
getItems.execute(hostManager.getConnection(), new ApiCallback<List<ListType.ItemsAll>>() {
|
getItems.execute(hostManager.getConnection(), new ApiCallback<List<ListType.ItemsAll>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(List<ListType.ItemsAll> result) {
|
public void onSucess(List<ListType.ItemsAll> result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Ok, we've got all the info, save and display playlist
|
// Ok, we've got all the info, save and display playlist
|
||||||
lastGetPlaylistItemsResult = result;
|
lastGetPlaylistItemsResult = result;
|
||||||
displayPlaylist(getItemResult, result);
|
displayPlaylist(getItemResult, result);
|
||||||
|
@ -441,6 +444,7 @@ public class PlaylistFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Oops
|
// Oops
|
||||||
displayErrorGettingPlaylistMessage(description);
|
displayErrorGettingPlaylistMessage(description);
|
||||||
}
|
}
|
||||||
|
|
|
@ -270,6 +270,7 @@ public class RemoteFragment extends Fragment
|
||||||
private ApiCallback<Integer> defaultPlaySpeedChangedCallback = new ApiCallback<Integer>() {
|
private ApiCallback<Integer> defaultPlaySpeedChangedCallback = new ApiCallback<Integer>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(Integer result) {
|
public void onSucess(Integer result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
UIUtils.setPlayPauseButtonIcon(getActivity(), playButton, result);
|
UIUtils.setPlayPauseButtonIcon(getActivity(), playButton, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -228,7 +228,7 @@ public class SettingsFragment extends PreferenceFragment
|
||||||
|
|
||||||
// update UI accordingly
|
// update UI accordingly
|
||||||
mSettings.hasBoughtCoffee = hasUpgrade;
|
mSettings.hasBoughtCoffee = hasUpgrade;
|
||||||
setupPreferences(mSettings.hasBoughtCoffee);
|
if (isAdded()) setupPreferences(mSettings.hasBoughtCoffee);
|
||||||
mSettings.save();
|
mSettings.save();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -334,6 +334,7 @@ public class TVShowEpisodeDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Check whether we should switch to the remote
|
// Check whether we should switch to the remote
|
||||||
boolean switchToRemote = PreferenceManager
|
boolean switchToRemote = PreferenceManager
|
||||||
.getDefaultSharedPreferences(getActivity())
|
.getDefaultSharedPreferences(getActivity())
|
||||||
|
@ -348,6 +349,7 @@ public class TVShowEpisodeDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -362,6 +364,7 @@ public class TVShowEpisodeDetailsFragment extends Fragment
|
||||||
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
getPlaylists.execute(hostManager.getConnection(), new ApiCallback<ArrayList<PlaylistType.GetPlaylistsReturnType>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
public void onSucess(ArrayList<PlaylistType.GetPlaylistsReturnType> result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Ok, loop through the playlists, looking for the video one
|
// Ok, loop through the playlists, looking for the video one
|
||||||
int videoPlaylistId = -1;
|
int videoPlaylistId = -1;
|
||||||
for (PlaylistType.GetPlaylistsReturnType playlist : result) {
|
for (PlaylistType.GetPlaylistsReturnType playlist : result) {
|
||||||
|
@ -378,6 +381,7 @@ public class TVShowEpisodeDetailsFragment extends Fragment
|
||||||
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
action.execute(hostManager.getConnection(), new ApiCallback<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.item_added_to_playlist, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.item_added_to_playlist, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
@ -385,12 +389,14 @@ public class TVShowEpisodeDetailsFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(int errorCode, String description) {
|
public void onError(int errorCode, String description) {
|
||||||
|
if (!isAdded()) return;
|
||||||
// Got an error, show toast
|
// Got an error, show toast
|
||||||
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.unable_to_connect_to_xbmc, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
}
|
}
|
||||||
}, callbackHandler);
|
}, callbackHandler);
|
||||||
} else {
|
} else {
|
||||||
|
if (!isAdded()) return;
|
||||||
Toast.makeText(getActivity(), R.string.no_suitable_playlist, Toast.LENGTH_SHORT)
|
Toast.makeText(getActivity(), R.string.no_suitable_playlist, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
}
|
}
|
||||||
|
@ -417,8 +423,8 @@ public class TVShowEpisodeDetailsFragment extends Fragment
|
||||||
@Override
|
@Override
|
||||||
public void onSucess(String result) {
|
public void onSucess(String result) {
|
||||||
// Force a refresh, but don't show a message
|
// Force a refresh, but don't show a message
|
||||||
if (isAdded())
|
if (!isAdded()) return;
|
||||||
startSync(true);
|
startSync(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue