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 c5963878..eb38fcae 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; @@ -94,6 +95,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) { @@ -105,6 +108,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 5ef2b327..1c235784 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 @@ -55,6 +55,7 @@ import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ViewUtil; import butterknife.BindView; import butterknife.ButterKnife; @@ -82,6 +83,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; @@ -117,6 +120,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 21d6ca3d..bb193029 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 659766ea..b018768c 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 @@ -33,6 +33,7 @@ import com.kabouzeid.gramophone.service.MusicService; 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; @@ -42,6 +43,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) { @@ -53,6 +56,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/mainactivity/folders/FoldersFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java index 52e815fd..bc6cb58e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java @@ -92,6 +92,8 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi AppBarLayout appbar; @BindView(R.id.recycler_view) FastScrollRecyclerView recyclerView; + @BindView(R.id.status_bar) + View statusBar; private SongFileAdapter adapter; private MaterialCab cab; @@ -168,6 +170,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi setUpBreadCrumbs(); setUpRecyclerView(); setUpAdapter(); + ViewUtil.setStatusBarHeight(getActivity(), statusBar); } private void setUpAppbarColor() { diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java index ab2487af..97828cd0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java @@ -39,6 +39,7 @@ import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ViewUtil; import butterknife.BindView; import butterknife.ButterKnife; @@ -57,6 +58,8 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde AppBarLayout appbar; @BindView(R.id.pager) ViewPager pager; + @BindView(R.id.status_bar) + View statusBar; private MusicLibraryPagerAdapter pagerAdapter; private MaterialCab cab; @@ -90,6 +93,8 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde setUpToolbar(); setUpViewPager(); + setUpStatusBar(); + ViewUtil.setStatusBarHeight(getActivity(), statusBar); } private void setUpToolbar() { @@ -122,6 +127,12 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde pager.addOnPageChangeListener(this); } + private void setUpStatusBar() { + ViewGroup.LayoutParams layoutParams = statusBar.getLayoutParams(); + layoutParams.height = Util.getStatusBarHeight(getMainActivity()); + statusBar.setLayoutParams(layoutParams); + } + public Fragment getCurrentFragment() { return pagerAdapter.getFragment(pager.getCurrentItem()); } 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 db89eded..46ae480b 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 @@ -119,6 +119,12 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum setUpPlayerToolbar(); setUpSubFragments(); + // portrait view doesn't have a statusBar, so can't bind it up top as will throw an exception. + View statusBar = view.findViewById(R.id.status_bar); + if (statusBar != null) { + ViewUtil.setStatusBarHeight(getActivity(), statusBar); + } + setUpRecyclerView(); slidingUpPanelLayout.addPanelSlideListener(this); 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 6387f179..1b07a2f6 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 @@ -114,7 +114,9 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum impl.init(); setUpPlayerToolbar(); + setUpStatusBar(); setUpSubFragments(); + ViewUtil.setStatusBarHeight(getActivity(), playerStatusBar); setUpRecyclerView(); @@ -232,6 +234,12 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum toolbar.setOnMenuItemClickListener(this); } + private void setUpStatusBar() { + ViewGroup.LayoutParams layoutParams = playerStatusBar.getLayoutParams(); + layoutParams.height = Util.getStatusBarHeight(getActivity()); + playerStatusBar.setLayoutParams(layoutParams); + } + @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/Util.java b/app/src/main/java/com/kabouzeid/gramophone/util/Util.java index 567f782a..b71c550b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/Util.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/Util.java @@ -135,4 +135,12 @@ public class Util { } } + public static int getStatusBarHeight(final Context context) { + int result = 0; + int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); + if (resourceId > 0) { + result = context.getResources().getDimensionPixelSize(resourceId); + } + return result; + } } \ No newline at end of file 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">