/*- * Copyright (C) 2011 Peter Baldwin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.peterbaldwin.vlcremote.intent; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import org.peterbaldwin.vlcremote.model.Status; import org.peterbaldwin.vlcremote.service.StatusService; public final class Intents { /** * Plays a media URI with VLC (usually streaming audio/video). * <p> * For example, {@code http://www.example.com/video.mp4} */ public static final String ACTION_VIEW = "org.peterbaldwin.vlcremote.intent.action.VIEW"; /** * Plays a browse URI (local file). * <p> * For example, * {@code http://mediaserver/requests/browse.xml?dir=...&file=...} */ public static final String ACTION_PLAY = "org.peterbaldwin.vlcremote.intent.action.PLAY"; /** * Streams a media file. */ public static final String ACTION_STREAM = "org.peterbaldwin.vlcremote.intent.action.STREAM"; /** * Enqueues a browse URI (local file). * <p> * For example, * {@code http://mediaserver/requests/browse.xml?dir=...&file=...} */ public static final String ACTION_ENQUEUE = "org.peterbaldwin.vlcremote.intent.action.ENQUEUE"; public static final String ACTION_MANUAL_APPWIDGET_UPDATE = "org.peterbaldwin.vlcremote.intent.action.MANUAL_APPWIDGET_UPDATE"; public static final String ACTION_PROGRAMMATIC_APPWIDGET_UPDATE = "org.peterbaldwin.vlcremote.intent.action.PROGRAMMATIC_APPWIDGET_UPDATE"; public static final String ACTION_STATUS = "org.peterbaldwin.vlcremote.intent.action.STATUS"; public static final String ACTION_PLAYLIST = "org.peterbaldwin.vlcremote.intent.action.PLAYLIST"; public static final String ACTION_ART = "org.peterbaldwin.vlcremote.intent.action.ART"; public static final String ACTION_ERROR = "org.peterbaldwin.vlcremote.intent.action.ERROR"; public static final String ACTION_NOTIFICATION_CREATE = "org.peterbaldwin.vlcremote.intent.action.notification.CREATE"; public static final String ACTION_NOTIFICATION_CANCEL = "org.peterbaldwin.vlcremote.intent.action.notification.CANCEL"; public static final String EXTRA_STATUS = "org.peterbaldwin.vlcremote.intent.extra.STATUS"; public static final String EXTRA_PLAYLIST = "org.peterbaldwin.vlcremote.intent.extra.PLAYLIST"; public static final String EXTRA_BITMAP = "org.peterbaldwin.vlcremote.intent.extra.BITMAP"; public static final String EXTRA_THROWABLE = "org.peterbaldwin.vlcremote.intent.extra.THROWABLE"; public static final String EXTRA_FLAGS = "org.peterbaldwin.vlcremote.intent.extra.FLAGS"; public static final String ACTION_REMOTE_VIEW = "org.openintents.remote.intent.action.VIEW"; public static final String EXTRA_REMOTE_HOST = "org.openintents.remote.intent.extra.HOST"; public static final String EXTRA_REMOTE_PORT = "org.openintents.remote.intent.extra.PORT"; /** * Indicates if the command was generated by the user or programmatically. * <p> * This value is echoed back in the broadcast response. * <p> * The value can be used to determine whether or not it is appropriate to * display an error message to the user. */ public static final int FLAG_PROGRAMMATIC = 1 << 0; /** * Instructs the service to only run the command if the media is playing. */ public static final int FLAG_ONLY_IF_PLAYING = 1 << 1; /** * Instructs the service to only run the command if the media is paused. */ public static final int FLAG_ONLY_IF_PAUSED = 1 << 2; /** * Instructs the service to call {@link VLC#setResumeOnIdle()} if and only * if the command is executed successfully. */ public static final int FLAG_SET_RESUME_ON_IDLE = 1 << 3; public static Intent status(Status status) { Intent intent = new Intent(ACTION_STATUS); intent.putExtra(EXTRA_STATUS, status); return intent; } public static Intent art(Bitmap bitmap) { Intent intent = new Intent(ACTION_ART); intent.putExtra(EXTRA_BITMAP, bitmap); return intent; } public static Intent error(Throwable t) { Intent intent = new Intent(ACTION_ERROR); intent.putExtra(EXTRA_THROWABLE, t); return intent; } public static Intent service(Context context, String action) { Intent i = new Intent(action); i.setClass(context, StatusService.class); return i; } private Intents() { } }