Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
7fcb4a314e
16 changed files with 144 additions and 47 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue