Merge remote-tracking branch 'origin/master'

This commit is contained in:
Karim Abou Zeid 2015-06-15 15:49:51 +02:00
commit 7fcb4a314e
16 changed files with 144 additions and 47 deletions

View file

@ -29,7 +29,7 @@ public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics.Builder().disabled(BuildConfig.DEBUG).build());
if (!BuildConfig.DEBUG) Fabric.with(this, new Crashlytics());
MusicPlayerRemote.init(this);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build();
ImageLoader.getInstance().init(config);

View file

@ -111,6 +111,7 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
public void onReceive(Context context, Intent intent) {
if (intent.getAction().compareTo(AudioManager.ACTION_AUDIO_BECOMING_NOISY) == 0) {
pausePlaying(true);
pausePlaying(false);
}
}
};
@ -311,7 +312,14 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
}
public boolean isPlaying() {
return player != null && isPlayerPrepared && !fadingDown && player.isPlaying();
return isPlaying(false);
}
private boolean isPlaying(boolean alsoIfIsFadingDown) {
if (!alsoIfIsFadingDown)
return player != null && isPlayerPrepared && player.isPlaying() && !fadingDown;
else
return player != null && isPlayerPrepared && player.isPlaying();
}
public void saveQueues() {
@ -707,8 +715,8 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
}
private void pause() {
fadingDown = false;
if (isPlaying()) {
playerHandler.removeMessages(FADEUPANDRESUME);
if (isPlaying(true)) {
player.pause();
notifyChange(PLAYSTATE_CHANGED);
}
@ -720,14 +728,14 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
playerHandler.removeMessages(FADEDOWNANDPAUSE);
playerHandler.sendEmptyMessage(FADEUPANDRESUME);
} else {
player.setVolume(1f, 1f);
if (player != null) player.setVolume(1f, 1f);
resume();
}
}
private void resume() {
fadingDown = false;
if (!isPlaying()) {
playerHandler.removeMessages(FADEDOWNANDPAUSE);
if (!isPlaying(true)) {
if (requestFocus()) {
if (isPlayerPrepared()) {
player.start();
@ -934,7 +942,8 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
} else {
currentDuckVolume = .2f;
}
service.player.setVolume(currentDuckVolume, currentDuckVolume);
if (service.player != null)
service.player.setVolume(currentDuckVolume, currentDuckVolume);
break;
case UNDUCK:
@ -944,7 +953,8 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
} else {
currentDuckVolume = 1.0f;
}
service.player.setVolume(currentDuckVolume, currentDuckVolume);
if (service.player != null)
service.player.setVolume(currentDuckVolume, currentDuckVolume);
break;
case FADEDOWNANDPAUSE:
@ -952,7 +962,6 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
service.fadingDown = true;
service.notifyChange(PLAYSTATE_CHANGED);
}
service.fadingDown = true;
currentPlayPauseFadeVolume -= .1f;
if (currentPlayPauseFadeVolume > 0f) {
sendEmptyMessageDelayed(FADEDOWNANDPAUSE, 10);
@ -961,10 +970,15 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
service.fadingDown = false;
service.pausePlaying(true);
}
service.player.setVolume(currentPlayPauseFadeVolume, currentPlayPauseFadeVolume);
if (service.player != null)
service.player.setVolume(currentPlayPauseFadeVolume, currentPlayPauseFadeVolume);
break;
case FADEUPANDRESUME:
if (service.fadingDown) {
service.fadingDown = false;
service.notifyChange(PLAYSTATE_CHANGED);
}
service.resume();
currentPlayPauseFadeVolume += .1f;
if (currentPlayPauseFadeVolume < 1.0f) {
@ -972,7 +986,8 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
} else {
currentPlayPauseFadeVolume = 1.0f;
}
service.player.setVolume(currentPlayPauseFadeVolume, currentPlayPauseFadeVolume);
if (service.player != null)
service.player.setVolume(currentPlayPauseFadeVolume, currentPlayPauseFadeVolume);
break;
case FOCUSCHANGE:
@ -1003,9 +1018,6 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
// Lost focus for a short time, but it's ok to keep playing
// at an attenuated level
if (!service.isPlayerPrepared()) {
service.setUpMediaPlayerIfNeeded();
}
removeMessages(UNDUCK);
sendEmptyMessage(DUCK);
break;

View file

@ -79,18 +79,21 @@ public class MusicControllerActivity extends AbsFabActivity {
private int lastTextColor = -2;
private Thread progressViewsUpdateThread;
private final boolean opaqueStatusBar = PreferenceUtils.getInstance(this).opaqueStatusbarNowPlaying();
private final boolean opaqueToolBar = opaqueStatusBar && PreferenceUtils.getInstance(this).opaqueToolbarNowPlaying();
private final boolean forceSquareAlbumArt = PreferenceUtils.getInstance(this).forceAlbumArtSquared();
private final boolean largerTitleBox = PreferenceUtils.getInstance(this).largerTitleBoxNowPlaying();
private final boolean alternativeProgressSlider = PreferenceUtils.getInstance(this).alternativeProgressSliderNowPlaying();
private final boolean showPlaybackControllerCard = PreferenceUtils.getInstance(this).playbackControllerCardNowPlaying();
private boolean opaqueStatusBar;
private boolean opaqueToolBar;
private boolean forceSquareAlbumArt;
private boolean largerTitleBox;
private boolean alternativeProgressSlider;
private boolean showPlaybackControllerCard;
@Override
protected void onCreate(Bundle savedInstanceState) {
setStatusBarTransparent();
super.onCreate(savedInstanceState);
initAppeareanceVars();
setContentView(alternativeProgressSlider ? R.layout.activity_music_controller_alternative_progress_slider : R.layout.activity_music_controller);
initViews();
@ -140,6 +143,15 @@ public class MusicControllerActivity extends AbsFabActivity {
}
}
private void initAppeareanceVars() {
opaqueStatusBar = PreferenceUtils.getInstance(this).opaqueStatusbarNowPlaying();
opaqueToolBar = opaqueStatusBar && PreferenceUtils.getInstance(this).opaqueToolbarNowPlaying();
forceSquareAlbumArt = PreferenceUtils.getInstance(this).forceAlbumArtSquared();
largerTitleBox = PreferenceUtils.getInstance(this).largerTitleBoxNowPlaying();
alternativeProgressSlider = PreferenceUtils.getInstance(this).alternativeProgressSliderNowPlaying();
showPlaybackControllerCard = PreferenceUtils.getInstance(this).playbackControllerCardNowPlaying();
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);

View file

@ -4,6 +4,7 @@ import android.os.Bundle;
import com.crashlytics.android.Crashlytics;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.BuildConfig;
import com.kabouzeid.gramophone.interfaces.KabViewsDisableAble;
import com.kabouzeid.gramophone.misc.AppKeys;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
@ -25,7 +26,7 @@ public abstract class AbsBaseActivity extends AbsThemeActivity implements KabVie
@Override
protected void onCreate(Bundle savedInstanceState) {
Crashlytics.setString(AppKeys.CL_CURRENT_ACTIVITY, getTag());
if (!BuildConfig.DEBUG) Crashlytics.setString(AppKeys.CL_CURRENT_ACTIVITY, getTag());
super.onCreate(savedInstanceState);
try {
App.bus.register(uiPreferenceChangeListener);

View file

@ -87,7 +87,8 @@ public abstract class AbsThemeActivity extends AppCompatActivity implements KabV
protected final void setStatusBarColor(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
getWindow().setStatusBarColor(Util.shiftColorDown(color));
else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// also do this on Lollipop in case the user modified the statusbar height
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
final View statusBar = getWindow().getDecorView().getRootView().findViewById(R.id.status_bar);
if (statusBar != null) statusBar.setBackgroundColor(color);
}