From d1aa0f0407476800ef4dd7a3d956731f24c9adcd Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sun, 24 Jan 2021 17:39:14 +0200 Subject: [PATCH] Fix action mode --- .travis.yml | 2 ++ .../koitharu/kotatsu/base/ui/BaseActivity.kt | 25 ++++++++++++++++--- .../kotatsu/details/ui/DetailsActivity.kt | 4 --- app/src/main/res/layout/item_empty_state.xml | 1 + app/src/main/res/values/dimens.xml | 2 +- app/src/main/res/values/themes.xml | 1 + 6 files changed, 26 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6187fee35..9cec1af6c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,4 +6,6 @@ android: - build-tools-30.0.3 - platform-tools-30.0.5 - tools +before_install: + - yes | sdkmanager "platforms;android-30" script: ./gradlew -Dorg.gradle.jvmargs=-Xmx1536m assembleDebug lintDebug \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseActivity.kt b/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseActivity.kt index 5bd4a51a3..96b169111 100644 --- a/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseActivity.kt @@ -4,20 +4,22 @@ import android.os.Bundle import android.view.KeyEvent import android.view.MenuItem import android.view.View +import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.view.ActionMode +import androidx.appcompat.widget.ActionBarContextView import androidx.appcompat.widget.Toolbar import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat import androidx.core.graphics.Insets -import androidx.core.view.OnApplyWindowInsetsListener -import androidx.core.view.ViewCompat -import androidx.core.view.WindowCompat -import androidx.core.view.WindowInsetsCompat +import androidx.core.view.* import androidx.viewbinding.ViewBinding import org.koin.android.ext.android.get import org.koitharu.kotatsu.BuildConfig import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.exceptions.resolve.ExceptionResolver import org.koitharu.kotatsu.core.prefs.AppSettings +import org.koitharu.kotatsu.utils.ext.getThemeColor abstract class BaseActivity : AppCompatActivity(), OnApplyWindowInsetsListener { @@ -80,4 +82,19 @@ abstract class BaseActivity : AppCompatActivity(), OnApplyWindo (findViewById(R.id.toolbar) as? Toolbar)?.let(this::setSupportActionBar) } + override fun onSupportActionModeStarted(mode: ActionMode) { + super.onSupportActionModeStarted(mode) + val insets = ViewCompat.getRootWindowInsets(binding.root) + ?.getInsets(WindowInsetsCompat.Type.systemBars()) ?: return + val view = findViewById(androidx.appcompat.R.id.action_mode_bar) + view?.updateLayoutParams { + topMargin = insets.top + } + window?.statusBarColor = ContextCompat.getColor(this, R.color.grey_dark) + } + + override fun onSupportActionModeFinished(mode: ActionMode) { + super.onSupportActionModeFinished(mode) + window?.statusBarColor = getThemeColor(android.R.attr.statusBarColor) + } } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt index 1a8247046..1c91d09e5 100644 --- a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt @@ -10,7 +10,6 @@ import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.appcompat.view.ActionMode import androidx.appcompat.widget.Toolbar -import androidx.core.content.ContextCompat import androidx.core.content.pm.ShortcutManagerCompat import androidx.core.graphics.Insets import androidx.core.net.toFile @@ -38,7 +37,6 @@ import org.koitharu.kotatsu.download.DownloadService import org.koitharu.kotatsu.search.ui.global.GlobalSearchActivity import org.koitharu.kotatsu.utils.ShareHelper import org.koitharu.kotatsu.utils.ext.getDisplayMessage -import org.koitharu.kotatsu.utils.ext.getThemeColor class DetailsActivity : BaseActivity(), TabLayoutMediator.TabConfigurationStrategy { @@ -223,13 +221,11 @@ class DetailsActivity : BaseActivity(), override fun onSupportActionModeStarted(mode: ActionMode) { super.onSupportActionModeStarted(mode) binding.pager.isUserInputEnabled = false - window?.statusBarColor = ContextCompat.getColor(this, R.color.grey_dark) } override fun onSupportActionModeFinished(mode: ActionMode) { super.onSupportActionModeFinished(mode) binding.pager.isUserInputEnabled = true - window?.statusBarColor = getThemeColor(android.R.attr.statusBarColor) } companion object { diff --git a/app/src/main/res/layout/item_empty_state.xml b/app/src/main/res/layout/item_empty_state.xml index 15b561922..caf0845ad 100644 --- a/app/src/main/res/layout/item_empty_state.xml +++ b/app/src/main/res/layout/item_empty_state.xml @@ -5,6 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" + android:padding="20dp" android:textAppearance="?android:textAppearanceMedium" android:textColor="?android:textColorSecondary" tools:text="@tools:sample/lorem[3]" /> \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index d338a4c4a..72f06e47f 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,6 +1,6 @@ - 2dp + 2.5dp 84dp 120dp 46dp diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 4d3014e85..925617c24 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,6 +1,7 @@