Use marshmallows dark statusbar icons on light primary colors.
This commit is contained in:
parent
2269853b07
commit
d7f57bb1f1
8 changed files with 75 additions and 12 deletions
|
|
@ -243,7 +243,9 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
|
|||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
ViewUtil.setToolbarContentColorForBackground(this, toolbar, getThemeColorPrimary());
|
||||
boolean darkContent = ColorUtil.useDarkTextColorOnBackground(getThemeColorPrimary());
|
||||
ViewUtil.setToolbarContentDark(this, toolbar, darkContent);
|
||||
setUseDarkStatusBarIcons(darkContent);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ import butterknife.Bind;
|
|||
import butterknife.ButterKnife;
|
||||
|
||||
public class MainActivity extends AbsSlidingMusicPanelActivity
|
||||
implements KabViewsDisableAble, CabHolder {
|
||||
implements KabViewsDisableAble, CabHolder, DrawerLayout.DrawerListener {
|
||||
|
||||
public static final String TAG = MainActivity.class.getSimpleName();
|
||||
|
||||
|
|
@ -223,7 +223,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
public void run() {
|
||||
DonationDialog.create().show(getSupportFragmentManager(), "DONATION_DIALOG");
|
||||
}
|
||||
}, 300);
|
||||
}, 200);
|
||||
break;
|
||||
case R.id.nav_settings:
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
|
|
@ -239,7 +239,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
public void run() {
|
||||
startActivity(new Intent(MainActivity.this, AboutActivity.class));
|
||||
}
|
||||
}, 300);
|
||||
}, 200);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
|
|
@ -249,6 +249,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
|
||||
private void setUpDrawerLayout() {
|
||||
setUpNavigationView();
|
||||
drawerLayout.setDrawerListener(this);
|
||||
}
|
||||
|
||||
private void updateNavigationDrawerHeader() {
|
||||
|
|
@ -339,7 +340,9 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
menu.removeItem(R.id.action_grid_size);
|
||||
menu.removeItem(R.id.action_colored_footers);
|
||||
}
|
||||
ViewUtil.setToolbarContentColorForBackground(this, toolbar, getThemeColorPrimary());
|
||||
boolean darkContent = ColorUtil.useDarkTextColorOnBackground(getThemeColorPrimary());
|
||||
ViewUtil.setToolbarContentDark(this, toolbar, darkContent);
|
||||
setUseDarkStatusBarIcons(darkContent);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -614,4 +617,24 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDrawerSlide(View drawerView, float slideOffset) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDrawerOpened(View drawerView) {
|
||||
setUseDarkStatusBarIcons(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDrawerClosed(View drawerView) {
|
||||
setUseDarkStatusBarIcons(ColorUtil.useDarkTextColorOnBackground(getThemeColorPrimary()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDrawerStateChanged(int newState) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -159,7 +159,9 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_playlist_detail, menu);
|
||||
ViewUtil.setToolbarContentColorForBackground(this, toolbar, getThemeColorPrimary());
|
||||
boolean darkContent = ColorUtil.useDarkTextColorOnBackground(getThemeColorPrimary());
|
||||
ViewUtil.setToolbarContentDark(this, toolbar, darkContent);
|
||||
setUseDarkStatusBarIcons(darkContent);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -217,7 +219,9 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
|
||||
@Override
|
||||
public void onPause() {
|
||||
recyclerViewDragDropManager.cancelDrag();
|
||||
if (recyclerViewDragDropManager != null) {
|
||||
recyclerViewDragDropManager.cancelDrag();
|
||||
}
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import com.afollestad.materialdialogs.color.ColorChooserDialog;
|
|||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.prefs.ColorChooserPreference;
|
||||
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
|
||||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
|
@ -80,7 +81,9 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
ViewUtil.setToolbarContentColorForBackground(this, toolbar, getThemeColorPrimary());
|
||||
boolean darkContent = ColorUtil.useDarkTextColorOnBackground(getThemeColorPrimary());
|
||||
ViewUtil.setToolbarContentDark(this, toolbar, darkContent);
|
||||
setUseDarkStatusBarIcons(darkContent);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
|
||||
private int navigationBarColor;
|
||||
private int taskColor;
|
||||
private boolean useDarkStatusBarIcons;
|
||||
|
||||
private AbsPlayerFragment playerFragment;
|
||||
private MiniPlayerFragment miniPlayerFragment;
|
||||
|
|
@ -99,6 +100,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
|
||||
@Override
|
||||
public void onPanelCollapsed(View view) {
|
||||
super.setUseDarkStatusBarIcons(useDarkStatusBarIcons);
|
||||
super.notifyTaskColorChange(taskColor);
|
||||
if (shouldColorNavigationBar()) {
|
||||
super.setNavigationBarColor(navigationBarColor);
|
||||
|
|
@ -110,6 +112,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
|
||||
@Override
|
||||
public void onPanelExpanded(View view) {
|
||||
super.setUseDarkStatusBarIcons(false);
|
||||
int playerFragmentColor = playerFragment.getPaletteColor();
|
||||
super.notifyTaskColorChange(playerFragmentColor);
|
||||
if (shouldColorNavigationBar()) {
|
||||
|
|
@ -179,6 +182,14 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
super.onBackPressed();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUseDarkStatusBarIcons(boolean useDarkIcons) {
|
||||
useDarkStatusBarIcons = useDarkIcons;
|
||||
if (getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
||||
super.setUseDarkStatusBarIcons(useDarkIcons);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setNavigationBarColor(@ColorInt int color) {
|
||||
this.navigationBarColor = color;
|
||||
|
|
|
|||
|
|
@ -151,6 +151,18 @@ public abstract class AbsThemeActivity extends AppCompatActivity implements KabV
|
|||
getWindow().setStatusBarColor(ColorUtil.shiftColorDown(color));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void setUseDarkStatusBarIcons(boolean useDarkIcons) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
int systemUiVisibility = getWindow().getDecorView().getSystemUiVisibility();
|
||||
if (useDarkIcons) {
|
||||
getWindow().getDecorView().setSystemUiVisibility(systemUiVisibility | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||
} else {
|
||||
getWindow().getDecorView().setSystemUiVisibility(systemUiVisibility & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected final void setNavigationBarThemeColor() {
|
||||
|
|
|
|||
|
|
@ -208,7 +208,9 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
|
|||
if (shouldColorNavigationBar())
|
||||
setNavigationBarColor(paletteColorPrimary);
|
||||
header.setBackgroundColor(paletteColorPrimary);
|
||||
ViewUtil.setToolbarContentColorForBackground(this, toolbar, paletteColorPrimary);
|
||||
boolean darkContent = ColorUtil.useDarkTextColorOnBackground(paletteColorPrimary);
|
||||
ViewUtil.setToolbarContentDark(this, toolbar, darkContent);
|
||||
setUseDarkStatusBarIcons(darkContent);
|
||||
notifyTaskColorChange(paletteColorPrimary);
|
||||
}
|
||||
|
||||
|
|
@ -250,7 +252,9 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
|
|||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
ViewUtil.setToolbarContentColorForBackground(this, toolbar, paletteColorPrimary);
|
||||
boolean darkContent = ColorUtil.useDarkTextColorOnBackground(paletteColorPrimary);
|
||||
ViewUtil.setToolbarContentDark(this, toolbar, darkContent);
|
||||
setUseDarkStatusBarIcons(darkContent);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
|
|
@ -313,7 +317,9 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
|
|||
setNavigationBarColor(paletteColorPrimary);
|
||||
setStatusBarColor(paletteColorPrimary);
|
||||
header.setBackgroundColor(paletteColorPrimary);
|
||||
ViewUtil.setToolbarContentColorForBackground(AbsTagEditorActivity.this, toolbar, paletteColorPrimary);
|
||||
boolean darkContent = ColorUtil.useDarkTextColorOnBackground(paletteColorPrimary);
|
||||
ViewUtil.setToolbarContentDark(AbsTagEditorActivity.this, toolbar, darkContent);
|
||||
setUseDarkStatusBarIcons(darkContent);
|
||||
notifyTaskColorChange(paletteColorPrimary);
|
||||
} else {
|
||||
resetColors();
|
||||
|
|
|
|||
|
|
@ -147,7 +147,9 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
|
|||
|
||||
@Override
|
||||
public void onPause() {
|
||||
recyclerViewDragDropManager.cancelDrag();
|
||||
if (recyclerViewDragDropManager != null) {
|
||||
recyclerViewDragDropManager.cancelDrag();
|
||||
}
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue