Skip to content
Snippets Groups Projects
Verified Commit 16839ae1 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Add tooltips and content description to next/finish buttons

parent f3320890
No related branches found
No related tags found
No related merge requests found
...@@ -21,6 +21,7 @@ package de.kuschku.quasseldroid.ui.setup ...@@ -21,6 +21,7 @@ package de.kuschku.quasseldroid.ui.setup
import android.content.Context import android.content.Context
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.drawable.Drawable
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable import android.os.Parcelable
...@@ -29,6 +30,7 @@ import android.view.ViewGroup ...@@ -29,6 +30,7 @@ import android.view.ViewGroup
import androidx.annotation.ColorRes import androidx.annotation.ColorRes
import androidx.annotation.DrawableRes import androidx.annotation.DrawableRes
import androidx.appcompat.widget.ActionMenuView import androidx.appcompat.widget.ActionMenuView
import androidx.core.graphics.drawable.DrawableCompat
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter import androidx.fragment.app.FragmentStatePagerAdapter
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
...@@ -44,10 +46,7 @@ import de.kuschku.quasseldroid.ui.clientsettings.about.AboutActivity ...@@ -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.client.ClientSettingsActivity
import de.kuschku.quasseldroid.ui.clientsettings.crash.CrashActivity import de.kuschku.quasseldroid.ui.clientsettings.crash.CrashActivity
import de.kuschku.quasseldroid.ui.clientsettings.whitelist.WhitelistActivity import de.kuschku.quasseldroid.ui.clientsettings.whitelist.WhitelistActivity
import de.kuschku.quasseldroid.util.helper.observeSticky import de.kuschku.quasseldroid.util.helper.*
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.ui.LocaleHelper import de.kuschku.quasseldroid.util.ui.LocaleHelper
abstract class SetupActivity : DaggerAppCompatActivity() { abstract class SetupActivity : DaggerAppCompatActivity() {
...@@ -89,13 +88,20 @@ abstract class SetupActivity : DaggerAppCompatActivity() { ...@@ -89,13 +88,20 @@ abstract class SetupActivity : DaggerAppCompatActivity() {
private lateinit var pageChangeListener: SetupActivityViewPagerPageChangeListener private lateinit var pageChangeListener: SetupActivityViewPagerPageChangeListener
private fun pageChanged() { private fun pageChanged() {
currentPage.value = adapter.getItem(viewPager.currentItem) val page = adapter.getItem(viewPager.currentItem)
val drawable = if (viewPager.currentItem == adapter.totalCount - 1) currentPage.value = page
R.drawable.ic_check
else val finish = viewPager.currentItem == adapter.totalCount - 1
R.drawable.ic_arrow_right button.contentDescription =
button.setImageResource(drawable) if (finish) descriptionFinish
currentPage.value?.requestFocus() else descriptionNext
button.setTooltip()
button.setImageDrawable(
if (finish) drawableFinish
else drawableNext
)
page.requestFocus()
} }
fun updateRecentsHeader() { fun updateRecentsHeader() {
...@@ -109,6 +115,12 @@ abstract class SetupActivity : DaggerAppCompatActivity() { ...@@ -109,6 +115,12 @@ abstract class SetupActivity : DaggerAppCompatActivity() {
updateRecentsHeader() 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?) { override fun onCreate(savedInstanceState: Bundle?) {
setTheme(R.style.Theme_SetupTheme) setTheme(R.style.Theme_SetupTheme)
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
...@@ -117,6 +129,16 @@ abstract class SetupActivity : DaggerAppCompatActivity() { ...@@ -117,6 +129,16 @@ abstract class SetupActivity : DaggerAppCompatActivity() {
setContentView(R.layout.activity_setup) setContentView(R.layout.activity_setup)
ButterKnife.bind(this) 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 menuView.popupTheme = R.style.Widget_PopupOverlay_Light
menuInflater.inflate(R.menu.activity_setup, menuView.menu) menuInflater.inflate(R.menu.activity_setup, menuView.menu)
menuView.setOnMenuItemClickListener { menuView.setOnMenuItemClickListener {
......
...@@ -42,12 +42,10 @@ ...@@ -42,12 +42,10 @@
android:layout_gravity="right|bottom" android:layout_gravity="right|bottom"
android:layout_marginRight="24dp" android:layout_marginRight="24dp"
android:layout_marginBottom="24dp" android:layout_marginBottom="24dp"
android:tint="#ffffff"
app:backgroundTint="#8A000000" app:backgroundTint="#8A000000"
app:elevation="0dip" app:elevation="0dip"
app:fabSize="normal" app:fabSize="normal"
app:pressedTranslationZ="0dip" app:pressedTranslationZ="0dip"
app:tint="#ffffff"
tools:ignore="RtlHardcoded" /> tools:ignore="RtlHardcoded" />
</merge> </merge>
...@@ -42,12 +42,10 @@ ...@@ -42,12 +42,10 @@
android:layout_gravity="right|bottom" android:layout_gravity="right|bottom"
android:layout_marginRight="24dp" android:layout_marginRight="24dp"
android:layout_marginBottom="24dp" android:layout_marginBottom="24dp"
android:tint="#ffffff"
app:backgroundTint="#8A000000" app:backgroundTint="#8A000000"
app:elevation="0dip" app:elevation="0dip"
app:fabSize="normal" app:fabSize="normal"
app:pressedTranslationZ="0dip" app:pressedTranslationZ="0dip"
app:tint="#ffffff"
tools:ignore="RtlHardcoded" /> tools:ignore="RtlHardcoded" />
</merge> </merge>
...@@ -42,9 +42,7 @@ ...@@ -42,9 +42,7 @@
android:layout_gravity="right|bottom" android:layout_gravity="right|bottom"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:layout_marginBottom="16dp" android:layout_marginBottom="16dp"
android:tint="#ffffff"
app:fabSize="normal" app:fabSize="normal"
app:tint="#ffffff"
tools:ignore="RtlHardcoded" tools:ignore="RtlHardcoded"
tools:src="@drawable/ic_arrow_right" /> tools:src="@drawable/ic_arrow_right" />
......
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
<string name="label_edit_topic">Edit Topic</string> <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_edit_topic_long">Open dialog to change the channel topic</string>
<string name="label_filter_messages">Filter Messages</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_perm">Hide Permanently</string>
<string name="label_hide_temp">Hide Temporarily</string> <string name="label_hide_temp">Hide Temporarily</string>
<string name="label_ignore">Ignore</string> <string name="label_ignore">Ignore</string>
...@@ -69,6 +70,7 @@ ...@@ -69,6 +70,7 @@
<string name="label_mark_read">Mark Read</string> <string name="label_mark_read">Mark Read</string>
<string name="label_mention">Mention</string> <string name="label_mention">Mention</string>
<string name="label_mention_long">Copy username into input line</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_account">New Account</string>
<string name="label_new_chatlist">New Chatlist</string> <string name="label_new_chatlist">New Chatlist</string>
<string name="label_new_highlight_rule">New Highlight Rule</string> <string name="label_new_highlight_rule">New Highlight Rule</string>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment