/* * Copyright (C) 2015 Simon Vig Therkildsen * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.simonvt.cathode.remote; import android.content.ContentValues; import net.simonvt.cathode.jobqueue.Job; import net.simonvt.cathode.provider.DatabaseContract.EpisodeColumns; import net.simonvt.cathode.provider.DatabaseContract.MovieColumns; import net.simonvt.cathode.provider.DatabaseContract.SeasonColumns; import net.simonvt.cathode.provider.DatabaseContract.ShowColumns; import net.simonvt.cathode.provider.ProviderSchematic.Episodes; import net.simonvt.cathode.provider.ProviderSchematic.Lists; import net.simonvt.cathode.provider.ProviderSchematic.Movies; import net.simonvt.cathode.provider.ProviderSchematic.Seasons; import net.simonvt.cathode.provider.ProviderSchematic.Shows; public class LogoutJob extends Job { @Override public String key() { return "LogoutJob"; } @Override public int getPriority() { return PRIORITY_ACTIONS; } @Override public void perform() { ContentValues values; // Clear movie user data values = new ContentValues(); values.put(MovieColumns.WATCHED, false); values.put(MovieColumns.WATCHED_AT, 0); values.put(MovieColumns.USER_RATING, 0); values.put(MovieColumns.RATED_AT, 0); values.put(MovieColumns.IN_COLLECTION, false); values.put(MovieColumns.COLLECTED_AT, 0); values.put(MovieColumns.IN_WATCHLIST, false); values.put(MovieColumns.LISTED_AT, 0); values.put(MovieColumns.WATCHING, false); values.put(MovieColumns.CHECKED_IN, false); values.put(MovieColumns.STARTED_AT, 0); values.put(MovieColumns.EXPIRES_AT, 0); values.put(MovieColumns.HIDDEN_CALENDAR, false); getContentResolver().update(Movies.MOVIES, values, null, null); // Clear episode user data values = new ContentValues(); values.put(EpisodeColumns.USER_RATING, 0); values.put(EpisodeColumns.RATED_AT, 0); values.put(EpisodeColumns.PLAYS, 0); values.put(EpisodeColumns.WATCHED, false); values.put(EpisodeColumns.IN_WATCHLIST, false); values.put(EpisodeColumns.IN_COLLECTION, false); values.put(EpisodeColumns.COLLECTED_AT, 0); values.put(EpisodeColumns.LISTED_AT, 0); values.put(EpisodeColumns.WATCHING, false); values.put(EpisodeColumns.CHECKED_IN, false); values.put(EpisodeColumns.STARTED_AT, 0); values.put(EpisodeColumns.EXPIRES_AT, 0); getContentResolver().update(Episodes.EPISODES, values, null, null); // Clear season user data values = new ContentValues(); values.put(SeasonColumns.USER_RATING, 0); values.put(SeasonColumns.RATED_AT, 0); values.put(SeasonColumns.HIDDEN_WATCHED, false); values.put(SeasonColumns.HIDDEN_COLLECTED, false); getContentResolver().update(Seasons.SEASONS, values, null, null); // Clear show user data values = new ContentValues(); values.put(ShowColumns.USER_RATING, 0); values.put(ShowColumns.RATED_AT, 0); values.put(ShowColumns.IN_WATCHLIST, 0); values.put(ShowColumns.LISTED_AT, 0); values.put(ShowColumns.LAST_WATCHED_AT, 0); values.put(ShowColumns.LAST_COLLECTED_AT, 0); values.put(ShowColumns.HIDDEN_WATCHED, false); values.put(ShowColumns.HIDDEN_COLLECTED, false); values.put(ShowColumns.HIDDEN_CALENDAR, false); getContentResolver().update(Shows.SHOWS, values, null, null); getContentResolver().delete(Lists.LISTS, null, null); } }