From 3d49373f26d3caded3d25ba1c1451d8a81511664 Mon Sep 17 00:00:00 2001 From: simonfi Date: Thu, 30 Mar 2017 11:45:04 +1300 Subject: [PATCH] implement dynamically sized status bar in *most of the activities/fragments. --- .../kabouzeid/gramophone/ui/activities/AboutActivity.java | 4 ++++ .../gramophone/ui/activities/AlbumDetailActivity.java | 4 ++++ .../gramophone/ui/activities/ArtistDetailActivity.java | 4 ++++ .../gramophone/ui/activities/PlaylistDetailActivity.java | 4 ++++ .../kabouzeid/gramophone/ui/activities/SearchActivity.java | 4 ++++ .../gramophone/ui/activities/SettingsActivity.java | 4 ++++ .../ui/fragments/player/card/CardPlayerFragment.java | 4 ++++ .../ui/fragments/player/flat/FlatPlayerFragment.java | 1 + .../main/java/com/kabouzeid/gramophone/util/ViewUtil.java | 7 +++++++ app/src/main/res/layout/shadow_statusbar_toolbar.xml | 1 + 10 files changed, 37 insertions(+) diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java index 71ddbe33..3af15a4f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AboutActivity.java @@ -21,6 +21,7 @@ import com.kabouzeid.gramophone.dialogs.DonationsDialog; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.ui.activities.bugreport.BugReportActivity; import com.kabouzeid.gramophone.ui.activities.intro.AppIntroActivity; +import com.kabouzeid.gramophone.util.ViewUtil; import butterknife.BindView; import butterknife.ButterKnife; @@ -91,6 +92,8 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen AppCompatButton maartenCorpelGooglePlus; @BindView(R.id.aleksandar_tesic_google_plus) AppCompatButton aleksandarTesicGooglePlus; + @BindView(R.id.status_bar) + View statusBar; @Override protected void onCreate(Bundle savedInstanceState) { @@ -102,6 +105,7 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen setStatusbarColorAuto(); setNavigationbarColorAuto(); setTaskDescriptionColorAuto(); + ViewUtil.setStatusBarHeight(this, statusBar); setUpViews(); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java index 20de7ebf..c3929f9d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java @@ -44,6 +44,7 @@ import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ViewUtil; import butterknife.BindView; import butterknife.ButterKnife; @@ -71,6 +72,8 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements TextView albumTitleView; @BindView(R.id.list_background) View songsBackgroundView; + @BindView(R.id.status_bar) + View statusBar; private AlbumSongAdapter adapter; @@ -92,6 +95,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements setUpObservableListViewParams(); setUpToolBar(); setUpViews(); + ViewUtil.setStatusBarHeight(this, statusBar); getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java index ccf973a5..51212268 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java @@ -54,6 +54,7 @@ import com.kabouzeid.gramophone.util.ArtistSignatureUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ViewUtil; import butterknife.BindView; import butterknife.ButterKnife; @@ -81,6 +82,8 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement TextView artistName; @BindView(R.id.toolbar) Toolbar toolbar; + @BindView(R.id.status_bar) + View statusBar; View songListHeader; RecyclerView albumRecyclerView; @@ -114,6 +117,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement setUpObservableListViewParams(); setUpViews(); setUpToolbar(); + ViewUtil.setStatusBarHeight(this, statusBar); getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java index ad403225..e5ace2cb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java @@ -37,6 +37,7 @@ import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PlaylistsUtil; +import com.kabouzeid.gramophone.util.ViewUtil; import java.util.ArrayList; import java.util.List; @@ -59,6 +60,8 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme Toolbar toolbar; @BindView(android.R.id.empty) TextView empty; + @BindView(R.id.status_bar) + View statusBar; private Playlist playlist; @@ -77,6 +80,7 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme setStatusbarColorAuto(); setNavigationbarColorAuto(); setTaskDescriptionColorAuto(); + ViewUtil.setStatusBarHeight(this, statusBar); playlist = getIntent().getExtras().getParcelable(EXTRA_PLAYLIST); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java index 2947c15c..e410618a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java @@ -27,6 +27,7 @@ import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader; import com.kabouzeid.gramophone.ui.activities.base.AbsMusicServiceActivity; import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ViewUtil; import java.util.ArrayList; import java.util.Collections; @@ -46,6 +47,8 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie Toolbar toolbar; @BindView(android.R.id.empty) TextView empty; + @BindView(R.id.status_bar) + View statusBar; SearchView searchView; @@ -62,6 +65,7 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie setStatusbarColorAuto(); setNavigationbarColorAuto(); setTaskDescriptionColorAuto(); + ViewUtil.setStatusBarHeight(this, statusBar); recyclerView.setLayoutManager(new LinearLayoutManager(this)); adapter = new SearchAdapter(this, Collections.emptyList()); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java index 858c28c8..002ee600 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java @@ -30,6 +30,7 @@ import com.kabouzeid.gramophone.preferences.NowPlayingScreenPreferenceDialog; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; +import com.kabouzeid.gramophone.util.ViewUtil; import butterknife.BindView; import butterknife.ButterKnife; @@ -39,6 +40,8 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia @BindView(R.id.toolbar) Toolbar toolbar; + @BindView(R.id.status_bar) + View statusBar; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -50,6 +53,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia setStatusbarColorAuto(); setNavigationbarColorAuto(); setTaskDescriptionColorAuto(); + ViewUtil.setStatusBarHeight(this, statusBar); toolbar.setBackgroundColor(ThemeStore.primaryColor(this)); setSupportActionBar(toolbar); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java index 55b3c09f..38c460a6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java @@ -232,6 +232,10 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum } }); toolbar.setOnMenuItemClickListener(this); + + ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)toolbar.getLayoutParams(); + lp.setMargins(lp.leftMargin, Util.getStatusBarHeight(getActivity()), lp.rightMargin, lp.bottomMargin); + toolbar.requestLayout(); } @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java index 85747263..91c1e78e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java @@ -116,6 +116,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum setUpPlayerToolbar(); setUpStatusBar(); setUpSubFragments(); + ViewUtil.setStatusBarHeight(getActivity(), playerStatusBar); setUpRecyclerView(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java index db92315a..0974cb59 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java @@ -16,6 +16,7 @@ import android.support.annotation.ColorInt; import android.support.v4.view.ViewCompat; import android.util.DisplayMetrics; import android.view.View; +import android.view.ViewGroup; import android.view.animation.PathInterpolator; import android.widget.TextView; @@ -96,4 +97,10 @@ public class ViewUtil { DisplayMetrics metrics = resources.getDisplayMetrics(); return px / metrics.density; } + + public static void setStatusBarHeight(final Context context, View statusBar) { + ViewGroup.LayoutParams lp = statusBar.getLayoutParams(); + lp.height = Util.getStatusBarHeight(context); + statusBar.requestLayout(); + } } \ No newline at end of file diff --git a/app/src/main/res/layout/shadow_statusbar_toolbar.xml b/app/src/main/res/layout/shadow_statusbar_toolbar.xml index 94e0e1d4..772bff6b 100644 --- a/app/src/main/res/layout/shadow_statusbar_toolbar.xml +++ b/app/src/main/res/layout/shadow_statusbar_toolbar.xml @@ -11,6 +11,7 @@ android:layout_height="wrap_content">