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 280eb8bc234498523059e74e90b88ac4e16692b4..9b1df118651b2ebe9a7f2ef36787c9fadbc34bc9 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,6 +21,7 @@ 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 android.os.Parcelable @@ -29,6 +30,7 @@ import android.view.ViewGroup import androidx.annotation.ColorRes import androidx.annotation.DrawableRes import androidx.appcompat.widget.ActionMenuView +import androidx.core.graphics.drawable.DrawableCompat import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentStatePagerAdapter import androidx.lifecycle.MutableLiveData @@ -44,10 +46,7 @@ import de.kuschku.quasseldroid.ui.clientsettings.about.AboutActivity import de.kuschku.quasseldroid.ui.clientsettings.client.ClientSettingsActivity import de.kuschku.quasseldroid.ui.clientsettings.crash.CrashActivity import de.kuschku.quasseldroid.ui.clientsettings.whitelist.WhitelistActivity -import de.kuschku.quasseldroid.util.helper.observeSticky -import de.kuschku.quasseldroid.util.helper.or -import de.kuschku.quasseldroid.util.helper.switchMap -import de.kuschku.quasseldroid.util.helper.updateRecentsHeaderIfExisting +import de.kuschku.quasseldroid.util.helper.* import de.kuschku.quasseldroid.util.ui.LocaleHelper abstract class SetupActivity : DaggerAppCompatActivity() { @@ -89,13 +88,20 @@ abstract class SetupActivity : DaggerAppCompatActivity() { private lateinit var pageChangeListener: SetupActivityViewPagerPageChangeListener private fun pageChanged() { - currentPage.value = adapter.getItem(viewPager.currentItem) - val drawable = if (viewPager.currentItem == adapter.totalCount - 1) - R.drawable.ic_check - else - R.drawable.ic_arrow_right - button.setImageResource(drawable) - currentPage.value?.requestFocus() + val page = adapter.getItem(viewPager.currentItem) + currentPage.value = page + + val finish = viewPager.currentItem == adapter.totalCount - 1 + button.contentDescription = + if (finish) descriptionFinish + else descriptionNext + button.setTooltip() + button.setImageDrawable( + if (finish) drawableFinish + else drawableNext + ) + + page.requestFocus() } fun updateRecentsHeader() { @@ -109,6 +115,12 @@ 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 + override fun onCreate(savedInstanceState: Bundle?) { setTheme(R.style.Theme_SetupTheme) super.onCreate(savedInstanceState) @@ -117,6 +129,16 @@ 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) + menuView.popupTheme = R.style.Widget_PopupOverlay_Light menuInflater.inflate(R.menu.activity_setup, menuView.menu) menuView.setOnMenuItemClickListener { 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 09e1a90a4b3ca98210210c22c53aa72e18384cd6..770f5f222dfb81e9d724dc751325ee364d5af8d1 100644 --- a/app/src/main/res/layout-sw600dp-land/activity_setup.xml +++ b/app/src/main/res/layout-sw600dp-land/activity_setup.xml @@ -42,12 +42,10 @@ android:layout_gravity="right|bottom" android:layout_marginRight="24dp" android:layout_marginBottom="24dp" - android:tint="#ffffff" app:backgroundTint="#8A000000" app:elevation="0dip" app:fabSize="normal" app:pressedTranslationZ="0dip" - app:tint="#ffffff" 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 09e1a90a4b3ca98210210c22c53aa72e18384cd6..770f5f222dfb81e9d724dc751325ee364d5af8d1 100644 --- a/app/src/main/res/layout-sw600dp/activity_setup.xml +++ b/app/src/main/res/layout-sw600dp/activity_setup.xml @@ -42,12 +42,10 @@ android:layout_gravity="right|bottom" android:layout_marginRight="24dp" android:layout_marginBottom="24dp" - android:tint="#ffffff" app:backgroundTint="#8A000000" app:elevation="0dip" app:fabSize="normal" app:pressedTranslationZ="0dip" - app:tint="#ffffff" 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 61a3da6a6aa3a81f86f6a01fc2a1d2e8393f721b..316c9ace6e80d3c5c2ca048ac174cd564eb44899 100644 --- a/app/src/main/res/layout/activity_setup.xml +++ b/app/src/main/res/layout/activity_setup.xml @@ -42,9 +42,7 @@ android:layout_gravity="right|bottom" android:layout_marginRight="16dp" android:layout_marginBottom="16dp" - android:tint="#ffffff" app:fabSize="normal" - app:tint="#ffffff" tools:ignore="RtlHardcoded" tools:src="@drawable/ic_arrow_right" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ca13816f425b7573904968c0407a1ecceec55ccf..084d80cc0b6626609cdec32fc48b309c728c3eef 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -52,6 +52,7 @@ <string name="label_edit_topic">Edit Topic</string> <string name="label_edit_topic_long">Open dialog to change the channel topic</string> <string name="label_filter_messages">Filter Messages</string> + <string name="label_finish">Finish</string> <string name="label_hide_perm">Hide Permanently</string> <string name="label_hide_temp">Hide Temporarily</string> <string name="label_ignore">Ignore</string> @@ -69,6 +70,7 @@ <string name="label_mark_read">Mark Read</string> <string name="label_mention">Mention</string> <string name="label_mention_long">Copy username into input line</string> + <string name="label_next">Next</string> <string name="label_new_account">New Account</string> <string name="label_new_chatlist">New Chatlist</string> <string name="label_new_highlight_rule">New Highlight Rule</string>