From a9e5bb0a96704e3a59c9b4e02c2ec677ba7f02d0 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Fri, 12 Jun 2020 19:36:09 +0200 Subject: [PATCH] fix statusbar color on older api levels --- .../pixelcat/components/main/MainActivity.kt | 67 ++++++++++--------- .../components/timeline/TimelineFragment.kt | 11 +-- app/src/main/res/layout/activity_main.xml | 1 + app/src/main/res/values/styles.xml | 2 +- 4 files changed, 38 insertions(+), 43 deletions(-) diff --git a/app/src/main/kotlin/at/connyduck/pixelcat/components/main/MainActivity.kt b/app/src/main/kotlin/at/connyduck/pixelcat/components/main/MainActivity.kt index 198dec5..eae95f0 100644 --- a/app/src/main/kotlin/at/connyduck/pixelcat/components/main/MainActivity.kt +++ b/app/src/main/kotlin/at/connyduck/pixelcat/components/main/MainActivity.kt @@ -32,37 +32,38 @@ class MainActivity : BaseActivity() { private lateinit var mainFragmentAdapter: MainFragmentAdapter - private val onNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item -> - return@OnNavigationItemSelectedListener when (item.itemId) { - R.id.navigation_home -> { - binding.mainViewPager.setCurrentItem(0, false) - true - } - R.id.navigation_search -> { - binding.mainViewPager.setCurrentItem(1, false) - true - } - R.id.navigation_compose -> { - val options = Options.init() - .setRequestCode(100) - .setImageQuality(ImageQuality.HIGH) - .setScreenOrientation(Options.SCREEN_ORIENTATION_PORTRAIT) + private val onNavigationItemSelectedListener = + BottomNavigationView.OnNavigationItemSelectedListener { item -> + return@OnNavigationItemSelectedListener when (item.itemId) { + R.id.navigation_home -> { + binding.mainViewPager.setCurrentItem(0, false) + true + } + R.id.navigation_search -> { + binding.mainViewPager.setCurrentItem(1, false) + true + } + R.id.navigation_compose -> { + val options = Options.init() + .setRequestCode(100) + .setImageQuality(ImageQuality.HIGH) + .setScreenOrientation(Options.SCREEN_ORIENTATION_PORTRAIT) - Pix.start(this, options) - false - } - R.id.navigation_notifications -> { - binding.mainViewPager.setCurrentItem(2, false) - true - } - R.id.navigation_profile -> { - binding.mainViewPager.setCurrentItem(3, false) - true - } - else -> false + Pix.start(this, options) + false + } + R.id.navigation_notifications -> { + binding.mainViewPager.setCurrentItem(2, false) + true + } + R.id.navigation_profile -> { + binding.mainViewPager.setCurrentItem(3, false) + true + } + else -> false + } } - } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -71,13 +72,13 @@ class MainActivity : BaseActivity() { setContentView(binding.root) binding.container.setOnApplyWindowInsetsListener { _, insets -> - val top = insets.systemWindowInsetTop + val top = insets.systemWindowInsetTop - val toolbarParams = binding.mainViewPager.layoutParams as LinearLayout.LayoutParams - toolbarParams.topMargin = top + val viewPagerParams = binding.mainViewPager.layoutParams as LinearLayout.LayoutParams + viewPagerParams.topMargin = top - insets.consumeSystemWindowInsets() - } + insets.consumeSystemWindowInsets() + } mainFragmentAdapter = MainFragmentAdapter(this) binding.mainViewPager.adapter = mainFragmentAdapter diff --git a/app/src/main/kotlin/at/connyduck/pixelcat/components/timeline/TimelineFragment.kt b/app/src/main/kotlin/at/connyduck/pixelcat/components/timeline/TimelineFragment.kt index 499513f..fd21f07 100644 --- a/app/src/main/kotlin/at/connyduck/pixelcat/components/timeline/TimelineFragment.kt +++ b/app/src/main/kotlin/at/connyduck/pixelcat/components/timeline/TimelineFragment.kt @@ -1,6 +1,7 @@ package at.connyduck.pixelcat.components.timeline import android.os.Bundle +import android.util.Log import android.view.View import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope @@ -13,6 +14,7 @@ import at.connyduck.pixelcat.dagger.ViewModelFactory import at.connyduck.pixelcat.databinding.FragmentTimelineBinding import at.connyduck.pixelcat.db.entitity.StatusEntity import at.connyduck.pixelcat.util.viewBinding +import com.google.android.material.appbar.AppBarLayout import dagger.android.support.DaggerFragment import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch @@ -38,15 +40,6 @@ class TimelineFragment: DaggerFragment(R.layout.fragment_timeline), TimeLineActi binding.toolbar.setNavigationOnClickListener { binding.timelineRecyclerView.scrollToPosition(0) } - /* binding.timelineContainer.setOnApplyWindowInsetsListener { _, insets -> - val top = insets.systemWindowInsetTop - - val toolbarParams = binding.toolbar.layoutParams as AppBarLayout.LayoutParams - toolbarParams.topMargin = top - - insets.consumeSystemWindowInsets() - - }*/ val adapter = TimelineListAdapter(this) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b500e78..d7f0b98 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -7,6 +7,7 @@ android:layout_height="match_parent" android:background="@drawable/pixelcat_gradient" android:orientation="vertical" + android:fitsSystemWindows="true" tools:context=".components.main.MainActivity">