use of com.battlelancer.seriesguide.SgApp in project SeriesGuide by UweTrottmann.
the class RateDialogFragment method rate.
private void rate(Rating rating) {
Bundle args = getArguments();
String itemType = args.getString(InitBundle.ITEM_TYPE);
if (itemType == null) {
return;
}
int itemId = args.getInt(InitBundle.ITEM_ID);
SgApp app = SgApp.from(getActivity());
BaseRateItemTask task = null;
switch(itemType) {
case ITEM_MOVIE:
{
task = new RateMovieTask(app, rating, itemId);
break;
}
case ITEM_SHOW:
{
task = new RateShowTask(app, rating, itemId);
break;
}
case ITEM_EPISODE:
{
task = new RateEpisodeTask(app, rating, itemId);
break;
}
}
if (task != null) {
AsyncTaskCompat.executeParallel(task);
}
dismiss();
}
use of com.battlelancer.seriesguide.SgApp in project SeriesGuide by UweTrottmann.
the class NotificationActionReceiver method onReceive.
@Override
public void onReceive(Context context, Intent intent) {
if (!intent.hasExtra(EXTRA_EPISODE_TVDBID)) {
return;
}
int episodeTvdbvId = intent.getIntExtra(EXTRA_EPISODE_TVDBID, -1);
if (episodeTvdbvId <= 0) {
return;
}
Context appContext = context.getApplicationContext();
if (!(appContext instanceof SgApp)) {
return;
}
SgApp app = (SgApp) appContext;
// query for episode details
Cursor query = context.getContentResolver().query(SeriesGuideContract.Episodes.buildEpisodeWithShowUri(episodeTvdbvId), new String[] { SeriesGuideContract.Shows.REF_SHOW_ID, SeriesGuideContract.Episodes.SEASON, SeriesGuideContract.Episodes.NUMBER }, null, null, null);
if (query == null) {
return;
}
if (query.moveToFirst()) {
int showTvdbId = query.getInt(0);
int season = query.getInt(1);
int episode = query.getInt(2);
// mark episode watched
EpisodeTools.episodeWatched(app, showTvdbId, episodeTvdbvId, season, episode, EpisodeFlags.WATCHED);
}
query.close();
// dismiss the notification
NotificationManagerCompat manager = NotificationManagerCompat.from(context);
manager.cancel(SgApp.NOTIFICATION_EPISODE_ID);
// replicate delete intent
NotificationService.handleDeleteIntent(context, intent);
}
use of com.battlelancer.seriesguide.SgApp in project SeriesGuide by UweTrottmann.
the class TraktCancelCheckinDialogFragment method onCreateDialog.
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity().getApplicationContext();
final Bundle args = getArguments();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(context.getString(R.string.traktcheckin_inprogress, mWait < 0 ? context.getString(R.string.not_available) : DateUtils.formatElapsedTime(mWait)));
final SgApp app = SgApp.from(getActivity());
builder.setPositiveButton(R.string.traktcheckin_cancel, new OnClickListener() {
@Override
@SuppressLint("CommitTransaction")
public void onClick(DialogInterface dialog, int which) {
AsyncTask<String, Void, String> cancelCheckinTask = new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... params) {
// check for credentials
if (!TraktCredentials.get(context).hasCredentials()) {
return context.getString(R.string.trakt_error_credentials);
}
try {
retrofit2.Response<Void> response = traktCheckin.get().deleteActiveCheckin().execute();
if (response.isSuccessful()) {
return null;
} else {
if (SgTrakt.isUnauthorized(context, response)) {
return context.getString(R.string.trakt_error_credentials);
}
SgTrakt.trackFailedRequest(context, "delete check-in", response);
}
} catch (IOException e) {
SgTrakt.trackFailedRequest(context, "delete check-in", e);
}
return context.getString(R.string.api_error_generic, context.getString(R.string.trakt));
}
@Override
protected void onPostExecute(String message) {
if (message == null) {
// all good
Toast.makeText(context, R.string.checkin_canceled_success_trakt, Toast.LENGTH_SHORT).show();
// relaunch the trakt task which called us to
// try the check in again
AsyncTaskCompat.executeParallel(new TraktTask(app, args));
} else {
// well, something went wrong
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}
}
};
AsyncTaskCompat.executeParallel(cancelCheckinTask);
}
});
builder.setNegativeButton(R.string.traktcheckin_wait, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// broadcast check-in success
EventBus.getDefault().post(new TraktTask.TraktActionCompleteEvent(TraktAction.valueOf(args.getString(InitBundle.TRAKTACTION)), true, null));
}
});
return builder.create();
}
Aggregations