From cb8e43d4c4f445cabafa9cae14f4a75d3e6dab14 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Mon, 11 Mar 2019 19:41:51 +0100 Subject: [PATCH] Fixes bug where icon of forward button in setup disappeared --- .../ui/setup/ServiceBoundSetupActivity.kt | 19 ++++----------- .../quasseldroid/ui/setup/SetupActivity.kt | 19 ++++----------- app/src/main/res/drawable/ic_forward.xml | 23 +++++++++++++++++++ .../layout-sw600dp-land/activity_setup.xml | 3 +++ .../res/layout-sw600dp/activity_setup.xml | 3 +++ app/src/main/res/layout/activity_setup.xml | 3 +++ 6 files changed, 40 insertions(+), 30 deletions(-) create mode 100644 app/src/main/res/drawable/ic_forward.xml diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSetupActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSetupActivity.kt index d813d329c..fd8005c1a 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSetupActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSetupActivity.kt @@ -22,13 +22,11 @@ package de.kuschku.quasseldroid.ui.setup import android.content.Context import android.content.SharedPreferences import android.content.pm.PackageManager -import android.graphics.drawable.Drawable import android.os.Build import android.os.Bundle import androidx.annotation.ColorRes import androidx.annotation.DrawableRes import androidx.appcompat.widget.ActionMenuView -import androidx.core.graphics.drawable.DrawableCompat import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Observer import androidx.viewpager.widget.ViewPager @@ -128,9 +126,10 @@ abstract class ServiceBoundSetupActivity : if (finish) descriptionFinish else descriptionNext button.setTooltip() - button.setImageDrawable( - if (finish) drawableFinish - else drawableNext + button.setImageState( + if (finish) intArrayOf(android.R.attr.state_checked) + else intArrayOf(-android.R.attr.state_checked), + true ) page.requestFocus() @@ -147,9 +146,6 @@ abstract class ServiceBoundSetupActivity : updateRecentsHeader() } - private var drawableFinish: Drawable? = null - private var drawableNext: Drawable? = null - private var descriptionFinish: String? = null private var descriptionNext: String? = null @@ -162,13 +158,6 @@ abstract class ServiceBoundSetupActivity : setContentView(R.layout.activity_setup) ButterKnife.bind(this) - drawableFinish = getVectorDrawableCompat(R.drawable.ic_check)?.mutate()?.also { - DrawableCompat.setTint(it, -1) - } - drawableNext = getVectorDrawableCompat(R.drawable.ic_arrow_right)?.mutate()?.also { - DrawableCompat.setTint(it, -1) - } - descriptionFinish = getString(R.string.label_finish) descriptionNext = getString(R.string.label_next) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/SetupActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/SetupActivity.kt index 0a028877c..a24d8dee2 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/SetupActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/SetupActivity.kt @@ -21,13 +21,11 @@ package de.kuschku.quasseldroid.ui.setup import android.content.Context import android.content.pm.PackageManager -import android.graphics.drawable.Drawable import android.os.Build import android.os.Bundle import androidx.annotation.ColorRes import androidx.annotation.DrawableRes import androidx.appcompat.widget.ActionMenuView -import androidx.core.graphics.drawable.DrawableCompat import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Observer import androidx.viewpager.widget.ViewPager @@ -91,9 +89,10 @@ abstract class SetupActivity : DaggerAppCompatActivity() { if (finish) descriptionFinish else descriptionNext button.setTooltip() - button.setImageDrawable( - if (finish) drawableFinish - else drawableNext + button.setImageState( + if (finish) intArrayOf(android.R.attr.state_checked) + else intArrayOf(-android.R.attr.state_checked), + true ) page.requestFocus() @@ -110,9 +109,6 @@ abstract class SetupActivity : DaggerAppCompatActivity() { updateRecentsHeader() } - private var drawableFinish: Drawable? = null - private var drawableNext: Drawable? = null - private var descriptionFinish: String? = null private var descriptionNext: String? = null @@ -124,13 +120,6 @@ abstract class SetupActivity : DaggerAppCompatActivity() { setContentView(R.layout.activity_setup) ButterKnife.bind(this) - drawableFinish = getVectorDrawableCompat(R.drawable.ic_check)?.mutate()?.also { - DrawableCompat.setTint(it, -1) - } - drawableNext = getVectorDrawableCompat(R.drawable.ic_arrow_right)?.mutate()?.also { - DrawableCompat.setTint(it, -1) - } - descriptionFinish = getString(R.string.label_finish) descriptionNext = getString(R.string.label_next) diff --git a/app/src/main/res/drawable/ic_forward.xml b/app/src/main/res/drawable/ic_forward.xml new file mode 100644 index 000000000..c88e0724e --- /dev/null +++ b/app/src/main/res/drawable/ic_forward.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + Quasseldroid - Quassel client for Android + + Copyright (c) 2019 Janne Koschinski + Copyright (c) 2019 The Quassel Project + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License version 3 as published + by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see <http://www.gnu.org/licenses/>. + --> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:drawable="@drawable/ic_arrow_right" android:state_checked="false" /> + <item android:drawable="@drawable/ic_check" android:state_checked="true" /> +</selector> diff --git a/app/src/main/res/layout-sw600dp-land/activity_setup.xml b/app/src/main/res/layout-sw600dp-land/activity_setup.xml index 770f5f222..0132d5ddd 100644 --- a/app/src/main/res/layout-sw600dp-land/activity_setup.xml +++ b/app/src/main/res/layout-sw600dp-land/activity_setup.xml @@ -37,6 +37,7 @@ <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/next_button" + style="@style/Widget.MaterialComponents.FloatingActionButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" @@ -46,6 +47,8 @@ app:elevation="0dip" app:fabSize="normal" app:pressedTranslationZ="0dip" + app:srcCompat="@drawable/ic_forward" + app:tint="#ffffffff" tools:ignore="RtlHardcoded" /> </merge> diff --git a/app/src/main/res/layout-sw600dp/activity_setup.xml b/app/src/main/res/layout-sw600dp/activity_setup.xml index 770f5f222..0132d5ddd 100644 --- a/app/src/main/res/layout-sw600dp/activity_setup.xml +++ b/app/src/main/res/layout-sw600dp/activity_setup.xml @@ -37,6 +37,7 @@ <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/next_button" + style="@style/Widget.MaterialComponents.FloatingActionButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" @@ -46,6 +47,8 @@ app:elevation="0dip" app:fabSize="normal" app:pressedTranslationZ="0dip" + app:srcCompat="@drawable/ic_forward" + app:tint="#ffffffff" tools:ignore="RtlHardcoded" /> </merge> diff --git a/app/src/main/res/layout/activity_setup.xml b/app/src/main/res/layout/activity_setup.xml index 316c9ace6..0b43a4400 100644 --- a/app/src/main/res/layout/activity_setup.xml +++ b/app/src/main/res/layout/activity_setup.xml @@ -37,12 +37,15 @@ <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/next_button" + style="@style/Widget.MaterialComponents.FloatingActionButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" android:layout_marginRight="16dp" android:layout_marginBottom="16dp" app:fabSize="normal" + app:srcCompat="@drawable/ic_forward" + app:tint="#ffffffff" tools:ignore="RtlHardcoded" tools:src="@drawable/ic_arrow_right" /> -- GitLab