X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/7101a04247be24d9eb3c1aa49b88ec2496c7d2d6..bcc972d63d3ed1d76b51a8a03a27e809983dc756:/src/com/owncloud/android/media/MediaServiceBinder.java?ds=inline diff --git a/src/com/owncloud/android/media/MediaServiceBinder.java b/src/com/owncloud/android/media/MediaServiceBinder.java index 514f65d4..d2a42c77 100644 --- a/src/com/owncloud/android/media/MediaServiceBinder.java +++ b/src/com/owncloud/android/media/MediaServiceBinder.java @@ -1,10 +1,9 @@ /* ownCloud Android client application - * Copyright (C) 2013 ownCloud Inc. + * Copyright (C) 2012-2013 ownCloud Inc. * * 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. + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -21,12 +20,12 @@ package com.owncloud.android.media; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.media.MediaService.State; +import com.owncloud.android.utils.Log_OC; import android.accounts.Account; import android.content.Intent; import android.media.MediaPlayer; import android.os.Binder; -import android.util.Log; import android.widget.MediaController; @@ -66,19 +65,16 @@ public class MediaServiceBinder extends Binder implements MediaController.MediaP @Override public boolean canPause() { - //Log.e(TAG, TAG + " - canPause -> true"); return true; } @Override public boolean canSeekBackward() { - //Log.e(TAG, TAG + " - canSeekBackward -> true"); return true; } @Override public boolean canSeekForward() { - //Log.e(TAG, TAG + " - canSeekForward -> true"); return true; } @@ -86,11 +82,9 @@ public class MediaServiceBinder extends Binder implements MediaController.MediaP public int getBufferPercentage() { MediaPlayer currentPlayer = mService.getPlayer(); if (currentPlayer != null) { - //Log.e(TAG, TAG + " - getBufferPercentage -> 100"); return 100; // TODO update for streamed playback; add OnBufferUpdateListener in MediaService } else { - //Log.e(TAG, TAG + " - getBufferPercentage -> 0"); return 0; } } @@ -100,10 +94,8 @@ public class MediaServiceBinder extends Binder implements MediaController.MediaP MediaPlayer currentPlayer = mService.getPlayer(); if (currentPlayer != null) { int pos = currentPlayer.getCurrentPosition(); - //Log.e(TAG, TAG + " - getCurrentPosition -> " + pos); return pos; } else { - //Log.e(TAG, TAG + " - getCurrentPosition -> 0"); return 0; } } @@ -113,10 +105,8 @@ public class MediaServiceBinder extends Binder implements MediaController.MediaP MediaPlayer currentPlayer = mService.getPlayer(); if (currentPlayer != null) { int dur = currentPlayer.getDuration(); - //Log.e(TAG, TAG + " - getDuration -> " + dur); return dur; } else { - //Log.e(TAG, TAG + " - getDuration -> 0"); return 0; } } @@ -132,20 +122,19 @@ public class MediaServiceBinder extends Binder implements MediaController.MediaP @Override public boolean isPlaying() { MediaService.State currentState = mService.getState(); - //Log.e(TAG, TAG + " - isPlaying -> " + (currentState == State.PLAYING || currentState == State.PREPARING)); - return (currentState == State.PLAYING || currentState == State.PREPARING); + return (currentState == State.PLAYING || (currentState == State.PREPARING && mService.mPlayOnPrepared)); } @Override public void pause() { - Log.d(TAG, "Pausing through binder..."); + Log_OC.d(TAG, "Pausing through binder..."); mService.processPauseRequest(); } @Override public void seekTo(int pos) { - Log.d(TAG, "Seeking " + pos + " through binder..."); + Log_OC.d(TAG, "Seeking " + pos + " through binder..."); MediaPlayer currentPlayer = mService.getPlayer(); MediaService.State currentState = mService.getState(); if (currentPlayer != null && currentState != State.PREPARING && currentState != State.STOPPED) { @@ -155,26 +144,27 @@ public class MediaServiceBinder extends Binder implements MediaController.MediaP @Override public void start() { - Log.d(TAG, "Starting through binder..."); + Log_OC.d(TAG, "Starting through binder..."); mService.processPlayRequest(); // this will finish the service if there is no file preloaded to play } - - public void start(Account account, OCFile file) { - Log.d(TAG, "Loading and starting through binder..."); + public void start(Account account, OCFile file, boolean playImmediately, int position) { + Log_OC.d(TAG, "Loading and starting through binder..."); Intent i = new Intent(mService, MediaService.class); i.putExtra(MediaService.EXTRA_ACCOUNT, account); i.putExtra(MediaService.EXTRA_FILE, file); + i.putExtra(MediaService.EXTRA_PLAY_ON_LOAD, playImmediately); + i.putExtra(MediaService.EXTRA_START_POSITION, position); i.setAction(MediaService.ACTION_PLAY_FILE); mService.startService(i); } - public void registerMediaController(MediaController mediaController) { + public void registerMediaController(MediaControlView mediaController) { mService.setMediaContoller(mediaController); } - public void unregisterMediaController(MediaController mediaController) { + public void unregisterMediaController(MediaControlView mediaController) { if (mediaController != null && mediaController == mService.getMediaController()) { mService.setMediaContoller(null); } @@ -186,6 +176,12 @@ public class MediaServiceBinder extends Binder implements MediaController.MediaP return (currentState == MediaService.State.PLAYING || currentState == MediaService.State.PAUSED); } + + @Override + public int getAudioSessionId() { + return 1; // not really used + } + }