From 76f346b545d2a41f815b552d5b29f6633af845fd Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Mon, 10 Dec 2018 20:51:24 +0100 Subject: [PATCH] Minor fixes --- .../util/missingfeatures/MissingFeature.kt | 1 + .../util/missingfeatures/MissingFeaturesDialog.kt | 10 ++++++++++ .../util/missingfeatures/QuasselVersion.kt | 5 +++++ .../util/missingfeatures/RequiredFeatures.kt | 15 +++++++++++++++ .../main/res/layout/dialog_missing_features.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 7 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/QuasselVersion.kt diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeature.kt b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeature.kt index f77ec3355..136cce47c 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeature.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeature.kt @@ -24,5 +24,6 @@ import de.kuschku.libquassel.quassel.ExtendedFeature data class MissingFeature( val feature: ExtendedFeature, + val minimumVersion: QuasselVersion, @StringRes val description: Int ) diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt index 6ba174d50..c877f4614 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt @@ -22,6 +22,8 @@ package de.kuschku.quasseldroid.util.missingfeatures import android.app.Dialog import android.content.DialogInterface import android.os.Bundle +import android.text.Html +import android.widget.TextView import androidx.fragment.app.DialogFragment import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentManager @@ -31,6 +33,7 @@ import butterknife.BindView import butterknife.ButterKnife import com.afollestad.materialdialogs.MaterialDialog import de.kuschku.quasseldroid.R +import de.kuschku.quasseldroid.util.ui.BetterLinkMovementMethod import java.io.Serializable class MissingFeaturesDialog : DialogFragment() { @@ -40,6 +43,9 @@ class MissingFeaturesDialog : DialogFragment() { @BindView(R.id.list) lateinit var list: RecyclerView + @BindView(R.id.message) + lateinit var message: TextView + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val dialog = MaterialDialog.Builder(requireContext()) .customView(R.layout.dialog_missing_features, true) @@ -51,6 +57,10 @@ class MissingFeaturesDialog : DialogFragment() { } .build() ButterKnife.bind(this, dialog.customView!!) + val version = builder?.missingFeatures?.maxBy(MissingFeature::minimumVersion)?.minimumVersion + ?: QuasselVersion.VERSION_0_13 + message.text = Html.fromHtml(getString(R.string.info_missing_features, version.humanName)) + message.movementMethod = BetterLinkMovementMethod.newInstance() list.layoutManager = LinearLayoutManager(list.context) val adapter = MissingFeaturesAdapter() list.adapter = adapter diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/QuasselVersion.kt b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/QuasselVersion.kt new file mode 100644 index 000000000..c5ca1e34c --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/QuasselVersion.kt @@ -0,0 +1,5 @@ +package de.kuschku.quasseldroid.util.missingfeatures + +enum class QuasselVersion(val humanName: String) { + VERSION_0_13("v0.13"); +} diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/RequiredFeatures.kt b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/RequiredFeatures.kt index c1083b3fb..36c22d186 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/RequiredFeatures.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/RequiredFeatures.kt @@ -25,34 +25,49 @@ import de.kuschku.quasseldroid.R object RequiredFeatures { val features = listOf( MissingFeature(ExtendedFeature.SynchronizedMarkerLine, + QuasselVersion.VERSION_0_13, R.string.label_feature_synchronizedmarkerline), MissingFeature(ExtendedFeature.SaslAuthentication, + QuasselVersion.VERSION_0_13, R.string.label_feature_saslauthentication), MissingFeature(ExtendedFeature.SaslExternal, + QuasselVersion.VERSION_0_13, R.string.label_feature_saslexternal), MissingFeature(ExtendedFeature.HideInactiveNetworks, + QuasselVersion.VERSION_0_13, R.string.label_feature_hideinactivenetworks), MissingFeature(ExtendedFeature.PasswordChange, + QuasselVersion.VERSION_0_13, R.string.label_feature_passwordchange), MissingFeature(ExtendedFeature.CapNegotiation, + QuasselVersion.VERSION_0_13, R.string.label_feature_capnegotiation), MissingFeature(ExtendedFeature.VerifyServerSSL, + QuasselVersion.VERSION_0_13, R.string.label_feature_verifyserverssl), MissingFeature(ExtendedFeature.CustomRateLimits, + QuasselVersion.VERSION_0_13, R.string.label_feature_customratelimits), MissingFeature(ExtendedFeature.AwayFormatTimestamp, + QuasselVersion.VERSION_0_13, R.string.label_feature_awayformattimestamp), MissingFeature(ExtendedFeature.BufferActivitySync, + QuasselVersion.VERSION_0_13, R.string.label_feature_bufferactivitysync), MissingFeature(ExtendedFeature.CoreSideHighlights, + QuasselVersion.VERSION_0_13, R.string.label_feature_coresidehighlights), MissingFeature(ExtendedFeature.SenderPrefixes, + QuasselVersion.VERSION_0_13, R.string.label_feature_senderprefixes), MissingFeature(ExtendedFeature.RemoteDisconnect, + QuasselVersion.VERSION_0_13, R.string.label_feature_remotedisconnect), MissingFeature(ExtendedFeature.RichMessages, + QuasselVersion.VERSION_0_13, R.string.label_feature_richmessages), MissingFeature(ExtendedFeature.BacklogFilterType, + QuasselVersion.VERSION_0_13, R.string.label_feature_backlogfiltertype) ) } diff --git a/app/src/main/res/layout/dialog_missing_features.xml b/app/src/main/res/layout/dialog_missing_features.xml index 196bd7426..8f7720ffd 100644 --- a/app/src/main/res/layout/dialog_missing_features.xml +++ b/app/src/main/res/layout/dialog_missing_features.xml @@ -26,6 +26,7 @@ android:paddingTop="8dp"> <TextView + android:id="@+id/message" style="@style/Widget.RtlConformTextView" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -35,7 +36,6 @@ android:paddingRight="?listPreferredItemPaddingRight" android:paddingStart="?listPreferredItemPaddingLeft" android:paddingTop="8dp" - android:text="@string/info_missing_features" android:textColor="?colorTextPrimary" android:textSize="16sp" /> diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index e364d5f50..412580b37 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -134,7 +134,7 @@ <string name="notification_channel_old_highlight_title">Alte Benachrichtigungen</string> <string name="label_missing_features">Fehlende Features</string> - <string name="info_missing_features">Deinem Core fehlen bestimmte Features die benötigt werden damit Quasseldroid korrekt funktionieren kann</string> + <string name="info_missing_features">Deinem Core fehlen bestimmte Features die benötigt werden damit Quasseldroid korrekt funktionieren kann. Du solltest deinen Quassel Core auf Version %1$s oder neuer <a href="https://quassel-irc.org>updaten</a>.</string> <string name="buffer_delete_confirmation">Bist du sicher, dass du diesen Chat auf ewig löschen möchtest?</string> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0a942722b..87b8e7f80 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -139,7 +139,7 @@ <string name="notification_channel_old_highlight_title">Old Highlights</string> <string name="label_missing_features">Missing Features</string> - <string name="info_missing_features">Your core is missing features that are required for Quasseldroid to work correctly.</string> + <string name="info_missing_features">Your core is missing features that are required for Quasseldroid to work correctly. You should <a href="https://quassel-irc.org>upgrade</a> your Quassel core to %1$s or newer.</string> <string name="buffer_delete_confirmation">Do you want to delete this buffer permanently?</string> -- GitLab