From f6566eae4ab3d31e3a682b9b5d7f9a2fa705f797 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Wed, 2 Jan 2019 13:57:32 +0100 Subject: [PATCH] Fixes #172 and #174 --- .../chat/buffers/BufferViewConfigFragment.kt | 4 +- .../ui/coresettings/CoreSettingsFragment.kt | 23 +++ .../highlightlist/HighlightListFragment.kt | 12 ++ .../quasseldroid/util/ui/BannerView.kt | 56 ++++++ .../quasseldroid/util/ui/WarningBarView.kt | 4 +- .../res/layout/settings_highlightlist.xml | 176 ++++++++++-------- app/src/main/res/layout/settings_list.xml | 11 +- .../widget_advertisement_support_patreon.xml | 77 +------- app/src/main/res/layout/widget_banner.xml | 81 ++++++++ .../main/res/layout/widget_warning_bar.xml | 8 +- app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/styles_widgets.xml | 30 ++- 12 files changed, 311 insertions(+), 174 deletions(-) create mode 100644 app/src/main/java/de/kuschku/quasseldroid/util/ui/BannerView.kt create mode 100644 app/src/main/res/layout/widget_banner.xml diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt index f9a396634..a4c7c5812 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt @@ -74,7 +74,7 @@ class BufferViewConfigFragment : ServiceBoundFragment() { lateinit var chatList: RecyclerView @BindView(R.id.feature_context_bufferactivitysync) - lateinit var featureContextBufferactivitysync: WarningBarView + lateinit var featureContextBufferActivitySync: WarningBarView @Inject lateinit var appearanceSettings: AppearanceSettings @@ -286,7 +286,7 @@ class BufferViewConfigFragment : ServiceBoundFragment() { } viewModel.features.toLiveData().observe(this, Observer { - featureContextBufferactivitysync.setMode( + featureContextBufferActivitySync.setMode( if (it.hasFeature(ExtendedFeature.BufferActivitySync)) WarningBarView.MODE_NONE else WarningBarView.MODE_ICON ) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt index 777218ec8..f8bb0c9b7 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt @@ -48,10 +48,18 @@ import de.kuschku.quasseldroid.ui.coresettings.network.NetworkEditActivity import de.kuschku.quasseldroid.ui.coresettings.networkconfig.NetworkConfigActivity import de.kuschku.quasseldroid.util.helper.combineLatest import de.kuschku.quasseldroid.util.helper.toLiveData +import de.kuschku.quasseldroid.util.helper.visibleIf +import de.kuschku.quasseldroid.util.missingfeatures.MissingFeature +import de.kuschku.quasseldroid.util.missingfeatures.MissingFeaturesDialog +import de.kuschku.quasseldroid.util.missingfeatures.RequiredFeatures import de.kuschku.quasseldroid.util.service.ServiceBoundFragment +import de.kuschku.quasseldroid.util.ui.BannerView import io.reactivex.Observable class CoreSettingsFragment : ServiceBoundFragment() { + @BindView(R.id.feature_context_missing) + lateinit var featureContextMissing: BannerView + @BindView(R.id.coreinfo) lateinit var coreinfo: View @@ -161,6 +169,21 @@ class CoreSettingsFragment : ServiceBoundFragment() { chatListAdapter.submitList(it.orEmpty()) }) + var missingFeatureList: List<MissingFeature> = emptyList() + viewModel.features.toLiveData().observe(this, Observer { features -> + missingFeatureList = RequiredFeatures.features.filter { + it.feature !in features.enabledFeatures + } + featureContextMissing.visibleIf(missingFeatureList.isNotEmpty()) + }) + + featureContextMissing.setOnClickListener { + MissingFeaturesDialog.Builder(requireActivity()) + .missingFeatures(missingFeatureList) + .readOnly(true) + .show() + } + networkconfig.setOnClickListener { NetworkConfigActivity.launch(requireContext()) } diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragment.kt index ef6485ec6..65e4b00e4 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragment.kt @@ -35,6 +35,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import butterknife.BindView import butterknife.ButterKnife +import de.kuschku.libquassel.quassel.ExtendedFeature import de.kuschku.libquassel.quassel.syncables.HighlightRuleManager import de.kuschku.libquassel.quassel.syncables.interfaces.IHighlightRuleManager import de.kuschku.libquassel.util.Optional @@ -42,9 +43,13 @@ import de.kuschku.quasseldroid.R import de.kuschku.quasseldroid.ui.coresettings.SettingsFragment import de.kuschku.quasseldroid.ui.coresettings.highlightrule.HighlightRuleActivity import de.kuschku.quasseldroid.util.helper.toLiveData +import de.kuschku.quasseldroid.util.ui.WarningBarView class HighlightListFragment : SettingsFragment(), SettingsFragment.Savable, SettingsFragment.Changeable { + @BindView(R.id.feature_context_coresidehighlights) + lateinit var featureContextCoreSideHighlights: WarningBarView + @BindView(R.id.highlight_nick_type) lateinit var highlightNickType: Spinner @@ -140,6 +145,13 @@ class HighlightListFragment : SettingsFragment(), SettingsFragment.Savable, } }) + viewModel.features.toLiveData().observe(this, Observer { + featureContextCoreSideHighlights.setMode( + if (it.hasFeature(ExtendedFeature.CoreSideHighlights)) WarningBarView.MODE_NONE + else WarningBarView.MODE_ICON + ) + }) + return view } diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ui/BannerView.kt b/app/src/main/java/de/kuschku/quasseldroid/util/ui/BannerView.kt new file mode 100644 index 000000000..1569f6384 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/BannerView.kt @@ -0,0 +1,56 @@ +package de.kuschku.quasseldroid.util.ui + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.widget.FrameLayout +import android.widget.TextView +import androidx.annotation.StringRes +import androidx.appcompat.widget.AppCompatImageView +import butterknife.BindView +import butterknife.ButterKnife +import de.kuschku.quasseldroid.R +import de.kuschku.quasseldroid.util.helper.use + +class BannerView : FrameLayout { + @BindView(R.id.icon) + lateinit var icon: AppCompatImageView + + @BindView(R.id.text) + lateinit var text: TextView + + @BindView(R.id.button) + lateinit var button: TextView + + constructor(context: Context) : + this(context, null) + + constructor(context: Context, attrs: AttributeSet?) : + this(context, attrs, 0) + + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : + super(context, attrs, defStyleAttr) { + + LayoutInflater.from(context).inflate(R.layout.widget_banner, this, true) + ButterKnife.bind(this) + + context.theme.obtainStyledAttributes(attrs, R.styleable.BannerView, 0, 0).use { + if (it.hasValue(R.styleable.BannerView_icon)) + icon.setImageDrawable(it.getDrawable(R.styleable.BannerView_icon)) + + if (it.hasValue(R.styleable.BannerView_text)) + text.text = it.getString(R.styleable.BannerView_text) + + if (it.hasValue(R.styleable.BannerView_buttonText)) + button.text = it.getString(R.styleable.BannerView_buttonText) + } + } + + fun setText(content: String) { + text.text = content + } + + fun setText(@StringRes content: Int) { + text.setText(content) + } +} diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ui/WarningBarView.kt b/app/src/main/java/de/kuschku/quasseldroid/util/ui/WarningBarView.kt index 82d35fea1..6d02d505e 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/ui/WarningBarView.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/WarningBarView.kt @@ -5,7 +5,7 @@ import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import android.view.View -import android.widget.LinearLayout +import android.widget.FrameLayout import android.widget.TextView import androidx.annotation.IntDef import androidx.annotation.StringRes @@ -15,7 +15,7 @@ import butterknife.ButterKnife import de.kuschku.quasseldroid.R import de.kuschku.quasseldroid.util.helper.use -class WarningBarView : LinearLayout { +class WarningBarView : FrameLayout { @BindView(R.id.icon) lateinit var icon: AppCompatImageView diff --git a/app/src/main/res/layout/settings_highlightlist.xml b/app/src/main/res/layout/settings_highlightlist.xml index 7922e7529..1197d7ea2 100644 --- a/app/src/main/res/layout/settings_highlightlist.xml +++ b/app/src/main/res/layout/settings_highlightlist.xml @@ -24,110 +24,124 @@ android:layout_height="match_parent" android:scrollbars="vertical"> - <LinearLayout style="@style/Widget.CoreSettings.Wrapper"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> - <LinearLayout + <de.kuschku.quasseldroid.util.ui.WarningBarView + android:id="@+id/feature_context_coresidehighlights" android:layout_width="match_parent" android:layout_height="wrap_content" - android:minHeight="48dp"> + app:icon="@drawable/ic_alert" + app:mode="none" + app:text="@string/label_feature_context_coresidehighlights" /> - <androidx.appcompat.widget.AppCompatImageView - style="@style/Widget.CoreSettings.PrimaryItemIcon" - app:srcCompat="@drawable/ic_server_network" /> + <LinearLayout style="@style/Widget.CoreSettings.Wrapper"> - <TextView - style="@style/Widget.CoreSettings.PrimaryItemSwitch" - android:text="@string/settings_highlightlist_highlight_nick" /> - </LinearLayout> - - <LinearLayout - style="@style/Widget.CoreSettings.DependentGroup" - android:visibility="visible"> - - <Spinner - android:id="@+id/highlight_nick_type" - style="@style/Widget.FullWidthSpinner" - tools:listitem="@layout/widget_spinner_item_inline" /> - - <androidx.appcompat.widget.SwitchCompat - android:id="@+id/is_case_sensitive" - style="@style/Widget.CoreSettings.PrimaryItemSwitch" - android:text="@string/settings_highlightlist_nicks_case_sensitive" /> - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="48dp"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="48dp"> - <androidx.appcompat.widget.AppCompatImageView - style="@style/Widget.CoreSettings.PrimaryItemIcon" - app:srcCompat="@drawable/ic_server_network" /> + <androidx.appcompat.widget.AppCompatImageView + style="@style/Widget.CoreSettings.PrimaryItemIcon" + app:srcCompat="@drawable/ic_server_network" /> - <TextView - style="@style/Widget.CoreSettings.PrimaryItemSwitch" - android:text="@string/settings_highlightlist_rules" /> - </LinearLayout> + <TextView + style="@style/Widget.CoreSettings.PrimaryItemSwitch" + android:text="@string/settings_highlightlist_highlight_nick" /> + </LinearLayout> - <LinearLayout - style="@style/Widget.CoreSettings.DependentGroup" - android:visibility="visible"> + <LinearLayout + style="@style/Widget.CoreSettings.DependentGroup" + android:visibility="visible"> + + <Spinner + android:id="@+id/highlight_nick_type" + style="@style/Widget.FullWidthSpinner" + tools:listitem="@layout/widget_spinner_item_inline" /> + + <androidx.appcompat.widget.SwitchCompat + android:id="@+id/is_case_sensitive" + style="@style/Widget.CoreSettings.PrimaryItemSwitch" + android:text="@string/settings_highlightlist_nicks_case_sensitive" /> + </LinearLayout> - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/highlight_rules" + <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - tools:itemCount="2" - tools:listitem="@layout/settings_highlightlist_rule" /> + android:minHeight="48dp"> - <LinearLayout - style="@style/Widget.CoreSettings.EditTextLayout" - android:orientation="horizontal"> + <androidx.appcompat.widget.AppCompatImageView + style="@style/Widget.CoreSettings.PrimaryItemIcon" + app:srcCompat="@drawable/ic_server_network" /> - <Button - android:id="@+id/new_highlight_rule" - style="@style/Widget.Button.Borderless.Colored" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/label_new_highlight_rule" /> + <TextView + style="@style/Widget.CoreSettings.PrimaryItemSwitch" + android:text="@string/settings_highlightlist_rules" /> </LinearLayout> - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="48dp"> - <androidx.appcompat.widget.AppCompatImageView - style="@style/Widget.CoreSettings.PrimaryItemIcon" - app:srcCompat="@drawable/ic_server_network" /> - - <TextView - style="@style/Widget.CoreSettings.PrimaryItemSwitch" - android:text="@string/settings_highlightlist_ignore_rules" /> - </LinearLayout> + <LinearLayout + style="@style/Widget.CoreSettings.DependentGroup" + android:visibility="visible"> - <LinearLayout - style="@style/Widget.CoreSettings.DependentGroup" - android:visibility="visible"> + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/highlight_rules" + android:layout_width="match_parent" + android:layout_height="wrap_content" + tools:itemCount="2" + tools:listitem="@layout/settings_highlightlist_rule" /> + + <LinearLayout + style="@style/Widget.CoreSettings.EditTextLayout" + android:orientation="horizontal"> + + <Button + android:id="@+id/new_highlight_rule" + style="@style/Widget.Button.Borderless.Colored" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/label_new_highlight_rule" /> + </LinearLayout> + </LinearLayout> - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/highlight_ignore_rules" + <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - tools:itemCount="2" - tools:listitem="@layout/settings_highlightlist_rule" /> + android:minHeight="48dp"> + + <androidx.appcompat.widget.AppCompatImageView + style="@style/Widget.CoreSettings.PrimaryItemIcon" + app:srcCompat="@drawable/ic_server_network" /> + + <TextView + style="@style/Widget.CoreSettings.PrimaryItemSwitch" + android:text="@string/settings_highlightlist_ignore_rules" /> + </LinearLayout> <LinearLayout - style="@style/Widget.CoreSettings.EditTextLayout" - android:orientation="horizontal"> + style="@style/Widget.CoreSettings.DependentGroup" + android:visibility="visible"> - <Button - android:id="@+id/new_highlight_ignore_rule" - style="@style/Widget.Button.Borderless.Colored" - android:layout_width="wrap_content" + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/highlight_ignore_rules" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="@string/label_new_highlight_ignore_rule" /> + tools:itemCount="2" + tools:listitem="@layout/settings_highlightlist_rule" /> + + <LinearLayout + style="@style/Widget.CoreSettings.EditTextLayout" + android:orientation="horizontal"> + + <Button + android:id="@+id/new_highlight_ignore_rule" + style="@style/Widget.Button.Borderless.Colored" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/label_new_highlight_ignore_rule" /> + </LinearLayout> </LinearLayout> </LinearLayout> </LinearLayout> diff --git a/app/src/main/res/layout/settings_list.xml b/app/src/main/res/layout/settings_list.xml index 267253e85..cc8cb4ad7 100644 --- a/app/src/main/res/layout/settings_list.xml +++ b/app/src/main/res/layout/settings_list.xml @@ -29,6 +29,15 @@ android:layout_height="wrap_content" android:orientation="vertical"> + <de.kuschku.quasseldroid.util.ui.BannerView + android:id="@+id/feature_context_missing" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="8dp" + app:buttonText="@string/label_feature_context_missing_button" + app:icon="@drawable/ic_alert" + app:text="@string/label_feature_context_missing" /> + <LinearLayout style="@style/Widget.CoreSettings.PrimaryItemGroupHeader"> <androidx.appcompat.widget.AppCompatImageView @@ -76,8 +85,8 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="72dp" android:layout_marginStart="72dp" + android:layout_marginLeft="72dp" android:orientation="vertical"> <androidx.recyclerview.widget.RecyclerView diff --git a/app/src/main/res/layout/widget_advertisement_support_patreon.xml b/app/src/main/res/layout/widget_advertisement_support_patreon.xml index 737115f9d..2df27a3f5 100644 --- a/app/src/main/res/layout/widget_advertisement_support_patreon.xml +++ b/app/src/main/res/layout/widget_advertisement_support_patreon.xml @@ -1,77 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +<de.kuschku.quasseldroid.util.ui.BannerView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?colorBackgroundSnackbar" - android:baselineAligned="false" - android:clipToPadding="false" - android:focusable="true" - android:foreground="?selectableItemBackground" - android:orientation="vertical" - android:paddingStart="?android:attr/listPreferredItemPaddingLeft" - android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" - android:paddingEnd="?android:attr/listPreferredItemPaddingRight" - android:paddingRight="?android:attr/listPreferredItemPaddingRight" - android:theme="?attr/actionBarTheme"> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginStart="-4dp" - android:layout_marginLeft="-4dp" - android:baselineAligned="false" - android:gravity="center_vertical" - android:minHeight="?android:attr/listPreferredItemHeightSmall" - android:orientation="horizontal"> - - <FrameLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:gravity="start|center_vertical" - android:minWidth="60dp" - android:orientation="horizontal" - android:paddingStart="0dp" - android:paddingLeft="0dp" - android:paddingTop="4dp" - android:paddingEnd="12dp" - android:paddingRight="12dp" - android:paddingBottom="4dp"> - - <androidx.appcompat.widget.AppCompatImageView - android:layout_width="32dp" - android:layout_height="32dp" - app:srcCompat="@drawable/ic_splash" - app:tint="?android:textColorPrimary" /> - </FrameLayout> - - <LinearLayout - android:layout_width="0dip" - android:layout_height="wrap_content" - android:layout_weight="1" - android:orientation="vertical" - android:paddingTop="16dp" - android:paddingBottom="16dp"> - - <TextView - style="@style/Widget.RtlConformTextView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:maxLines="10" - android:text="@string/advertisement_support_patreon" - android:textAppearance="?android:attr/textAppearanceSmall" - android:textColor="?android:textColorPrimary" /> - </LinearLayout> - - </LinearLayout> - - - <TextView - style="@style/Widget.Button.Borderless.Colored" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end" - android:clickable="false" - android:text="@string/advertisement_support_button" - android:textColor="?android:textColorPrimary" /> -</LinearLayout> + app:buttonText="@string/advertisement_support_button" + app:icon="@drawable/ic_splash" + app:text="@string/advertisement_support_patreon" /> diff --git a/app/src/main/res/layout/widget_banner.xml b/app/src/main/res/layout/widget_banner.xml new file mode 100644 index 000000000..d88b1d2c0 --- /dev/null +++ b/app/src/main/res/layout/widget_banner.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?colorBackgroundSnackbar" + android:baselineAligned="false" + android:clipToPadding="false" + android:focusable="true" + android:foreground="?selectableItemBackground" + android:orientation="vertical" + android:paddingStart="?android:attr/listPreferredItemPaddingLeft" + android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" + android:paddingEnd="?android:attr/listPreferredItemPaddingRight" + android:paddingRight="?android:attr/listPreferredItemPaddingRight" + android:theme="?attr/actionBarTheme"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="-4dp" + android:layout_marginLeft="-4dp" + android:baselineAligned="false" + android:gravity="center_vertical" + android:minHeight="?android:attr/listPreferredItemHeightSmall" + android:orientation="horizontal"> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:gravity="start|center_vertical" + android:minWidth="60dp" + android:orientation="horizontal" + android:paddingStart="0dp" + android:paddingLeft="0dp" + android:paddingTop="4dp" + android:paddingEnd="12dp" + android:paddingRight="12dp" + android:paddingBottom="4dp"> + + <androidx.appcompat.widget.AppCompatImageView + android:id="@+id/icon" + android:layout_width="32dp" + android:layout_height="32dp" + app:tint="?android:textColorPrimary" + tools:srcCompat="@drawable/ic_alert" /> + </FrameLayout> + + <LinearLayout + android:layout_width="0dip" + android:layout_height="wrap_content" + android:layout_weight="1" + android:orientation="vertical" + android:paddingTop="16dp" + android:paddingBottom="16dp"> + + <TextView + android:id="@+id/text" + style="@style/Widget.RtlConformTextView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:maxLines="10" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="?android:textColorPrimary" + tools:text="Your core is missing features that are required for Quasseldroid to work correctly." /> + </LinearLayout> + + </LinearLayout> + + + <TextView + android:id="@+id/button" + style="@style/Widget.Button.Borderless.Colored" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end" + android:clickable="false" + android:textColor="?android:textColorPrimary" + tools:text="Details" /> +</LinearLayout> diff --git a/app/src/main/res/layout/widget_warning_bar.xml b/app/src/main/res/layout/widget_warning_bar.xml index 29a35c059..f7e13214a 100644 --- a/app/src/main/res/layout/widget_warning_bar.xml +++ b/app/src/main/res/layout/widget_warning_bar.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?colorBackgroundSnackbar" @@ -18,9 +17,7 @@ android:layout_height="20dp" android:layout_gravity="center_vertical" android:visibility="gone" - app:tint="?android:textColorPrimary" - tools:srcCompat="@drawable/ic_alert" - tools:visibility="visible" /> + app:tint="?android:textColorPrimary" /> <me.zhanghai.android.materialprogressbar.MaterialProgressBar android:id="@+id/progress" @@ -37,7 +34,6 @@ android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" - android:textColor="?android:textColorPrimary" - tools:text="@string/label_feature_context_bufferactivitysync" /> + android:textColor="?android:textColorPrimary" /> </LinearLayout> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cd7b72e6a..374286472 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -138,6 +138,9 @@ <string name="label_feature_backlogfiltertype">Required for receiving past notifications after connecting</string> <string name="label_feature_context_bufferactivitysync">Quasseldroid cannot highlight unread chats. Upgrade your core to Quassel v0.13 to resolve this.</string> + <string name="label_feature_context_coresidehighlights">Quasseldroid cannot configure highlights. Upgrade your core to Quassel v0.13 to resolve this.</string> + <string name="label_feature_context_missing">Your core is missing features that are required for Quasseldroid to work correctly.</string> + <string name="label_feature_context_missing_button">Details</string> <string name="notification_channel_background" translatable="false">background</string> <string name="notification_channel_connection_title">Connection</string> diff --git a/app/src/main/res/values/styles_widgets.xml b/app/src/main/res/values/styles_widgets.xml index feef8d4c3..aa4d1431d 100644 --- a/app/src/main/res/values/styles_widgets.xml +++ b/app/src/main/res/values/styles_widgets.xml @@ -336,15 +336,27 @@ <item name="insetBackground">#4000</item> </style> - <!-- NavigationDrawerLayout --> + <attr name="icon" format="reference" /> + <attr name="text" format="string" /> + <attr name="mode"> + <enum name="none" value="0" /> + <enum name="text" value="1" /> + <enum name="icon" value="2" /> + <enum name="progress" value="3" /> + </attr> + <attr name="buttonText" format="string" /> + + <!-- WarningBarView --> <declare-styleable name="WarningBarView"> - <attr name="icon" format="reference" /> - <attr name="text" format="string" /> - <attr name="mode"> - <enum name="none" value="0" /> - <enum name="text" value="1" /> - <enum name="icon" value="2" /> - <enum name="progress" value="3" /> - </attr> + <attr name="icon" /> + <attr name="text" /> + <attr name="mode" /> + </declare-styleable> + + <!-- BannerView --> + <declare-styleable name="BannerView"> + <attr name="icon" /> + <attr name="text" /> + <attr name="buttonText" /> </declare-styleable> </resources> -- GitLab