package tech.salroid.filmy.database; import android.content.ContentResolver; import android.content.ContentUris; import android.net.Uri; import android.provider.BaseColumns; /* * Filmy Application for Android * Copyright (c) 2016 Ramankit Singh (http://github.com/webianks). * * 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. */ public class FilmContract { // The "Content authority" is a name for the entire content provider, similar to the // relationship between a domain name and its website. A convenient string to use for the // content authority is the package name for the app, which is guaranteed to be unique on the // device public static final String CONTENT_AUTHORITY = "tech.salroid.filmy"; // Use CONTENT_AUTHORITY to create the base of all URI'FilmyAuthenticator which apps will use to contact // the content provider. public static final Uri BASE_CONTENT_URI = Uri.parse("content://" + CONTENT_AUTHORITY); public static final String TRENDING_PATH_MOVIE = "trending_movie"; public static final String INTHEATERS_PATH_MOVIE = "intheaters_movie"; public static final String UPCOMING_PATH_MOVIE = "upcoming_movie"; public static final String PATH_CAST = "cast"; public static final String PATH_SAVE = "save"; public static final class MoviesEntry implements BaseColumns { public static final String TABLE_NAME = "trending"; public static final String MOVIE_ID = "movie_id"; public static final String MOVIE_YEAR = "movie_year"; public static final String MOVIE_POSTER_LINK = "movie_poster"; public static final String MOVIE_TITLE = "movie_title"; public static final String MOVIE_BANNER = "movie_banner"; public static final String MOVIE_DESCRIPTION = "movie_description"; public static final String MOVIE_TAGLINE = "movie_tagline"; public static final String MOVIE_TRAILER = "movie_trailer"; public static final String MOVIE_RATING = "movie_rating"; public static final String MOVIE_RUNTIME = "movie_runtime"; public static final String MOVIE_RELEASED = "movie_release"; public static final String MOVIE_CERTIFICATION = "movie_certification"; public static final String MOVIE_LANGUAGE = "movie_language"; public static final Uri CONTENT_URI = BASE_CONTENT_URI.buildUpon().appendPath(TRENDING_PATH_MOVIE).build(); public static final String CONTENT_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE + "/" + CONTENT_AUTHORITY + "/" + TRENDING_PATH_MOVIE; public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE + "/" + CONTENT_AUTHORITY + "/" + TRENDING_PATH_MOVIE; public static Uri buildMovieUri(long id) { return ContentUris.withAppendedId(CONTENT_URI, id); } public static Uri buildMovieByTag(String movieTag) { return CONTENT_URI.buildUpon().appendPath(movieTag).build(); } public static Uri buildMovieUriWithMovieId(String movieId) { return CONTENT_URI.buildUpon().appendQueryParameter(MOVIE_ID, movieId).build(); } public static Uri buildMovieWithMovieId(String movieId) { return CONTENT_URI.buildUpon().appendPath(movieId).build(); } public static String getMovieIdFromUri(Uri uri) { return uri.getPathSegments().get(1); } } public static final class InTheatersMoviesEntry implements BaseColumns { public static final String TABLE_NAME = "intheaters"; public static final Uri CONTENT_URI = BASE_CONTENT_URI.buildUpon().appendPath(INTHEATERS_PATH_MOVIE).build(); public static Uri buildMovieUri(long id) { return ContentUris.withAppendedId(CONTENT_URI, id); } public static Uri buildMovieByTag(String movieTag) { return CONTENT_URI.buildUpon().appendPath(movieTag).build(); } public static Uri buildMovieWithMovieId(String movieId) { return CONTENT_URI.buildUpon().appendPath(movieId).build(); } public static String getMovieIdFromUri(Uri uri) { return uri.getPathSegments().get(1); } } public static final class UpComingMoviesEntry implements BaseColumns { public static final String TABLE_NAME = "upcoming"; public static final Uri CONTENT_URI = BASE_CONTENT_URI.buildUpon().appendPath(UPCOMING_PATH_MOVIE).build(); public static Uri buildMovieUri(long id) { return ContentUris.withAppendedId(CONTENT_URI, id); } public static Uri buildMovieByTag(String movieTag) { return CONTENT_URI.buildUpon().appendPath(movieTag).build(); } public static Uri buildMovieWithMovieId(String movieId) { return CONTENT_URI.buildUpon().appendPath(movieId).build(); } public static String getMovieIdFromUri(Uri uri) { return uri.getPathSegments().get(1); } } public static final class CastEntry implements BaseColumns { public static final String TABLE_NAME = "cast"; public static final String CAST_MOVIE_ID = "cast_movie_id"; public static final String CAST_ID = "cast_id"; public static final String CAST_ROLE = "cast_role"; public static final String CAST_POSTER_LINK = "cast_poster"; public static final String CAST_NAME = "cast_name"; public static final Uri CONTENT_URI = BASE_CONTENT_URI.buildUpon().appendPath(PATH_CAST).build(); public static final String CONTENT_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE + "/" + CONTENT_AUTHORITY + "/" + PATH_CAST; public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE + "/" + CONTENT_AUTHORITY + "/" + PATH_CAST; public static Uri buildCastUri(long id) { return ContentUris.withAppendedId(CONTENT_URI, id); } public static Uri buildCastUriByMovieId(String movieId) { return CONTENT_URI.buildUpon().appendQueryParameter(CAST_MOVIE_ID, movieId).build(); } public static String getMovieIdFromUri(Uri uri) { return uri.getPathSegments().get(1); } } public static final class SaveEntry implements BaseColumns { public static final String TABLE_NAME = "save"; public static final String SAVE_ID = "save_id"; public static final String SAVE_YEAR = "save_year"; public static final String SAVE_POSTER_LINK = "save_poster"; public static final String SAVE_TITLE = "save_title"; public static final String SAVE_BANNER = "save_banner"; public static final String SAVE_DESCRIPTION = "save_description"; public static final String SAVE_TAGLINE = "save_tagline"; public static final String SAVE_TRAILER = "save_trailer"; public static final String SAVE_RATING = "save_rating"; public static final String SAVE_RUNTIME = "save_runtime"; public static final String SAVE_RELEASED = "save_release"; public static final String SAVE_CERTIFICATION = "save_certification"; public static final String SAVE_LANGUAGE = "save_language"; public static final String SAVE_FLAG = "save_flag"; public static final Uri CONTENT_URI = BASE_CONTENT_URI.buildUpon().appendPath(PATH_SAVE).build(); public static final String CONTENT_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE + "/" + CONTENT_AUTHORITY + "/" + PATH_SAVE; public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE + "/" + CONTENT_AUTHORITY + "/" + PATH_SAVE; public static Uri buildMovieUri(long id) { return ContentUris.withAppendedId(CONTENT_URI, id); } public static Uri buildMovieByTag(String movieTag) { return CONTENT_URI.buildUpon().appendPath(movieTag).build(); } public static Uri buildMovieUriWithMovieId(String movieId) { return CONTENT_URI.buildUpon().appendQueryParameter(SAVE_ID, movieId).build(); } public static Uri buildMovieWithMovieId(String movieId) { return CONTENT_URI.buildUpon().appendPath(movieId).build(); } public static String getMovieIdFromUri(Uri uri) { return uri.getPathSegments().get(1); } } }