diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e1316b4d32589d7b54cbf7614aed597d0cb87b5a..09ec17e0b4adcd0c95c4c499e9143b2a05909369 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -133,6 +133,12 @@ android:label="@string/settings_highlightlist_title" android:parentActivityName=".ui.coresettings.CoreSettingsActivity" android:windowSoftInputMode="adjustResize" /> + <activity + android:name=".ui.coresettings.highlightrule.HighlightRuleActivity" + android:exported="false" + android:label="@string/settings_highlightrule_title" + android:parentActivityName=".ui.coresettings.CoreSettingsActivity" + android:windowSoftInputMode="adjustResize" /> <activity android:name=".ui.coresettings.networkconfig.NetworkConfigActivity" android:exported="false" diff --git a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt index 89ff18ff4a93a16849e41143da00d0e9b905b0ed..128843238055d56495d06396ba1a6456ef83a4cc 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt @@ -28,6 +28,7 @@ import de.kuschku.quasseldroid.ui.coresettings.chatlist.ChatlistEditActivity import de.kuschku.quasseldroid.ui.coresettings.chatlist.ChatlistEditFragmentProvider import de.kuschku.quasseldroid.ui.coresettings.highlightlist.HighlightListActivity import de.kuschku.quasseldroid.ui.coresettings.highlightlist.HighlightListFragmentProvider +import de.kuschku.quasseldroid.ui.coresettings.highlightrule.HighlightRuleFragment import de.kuschku.quasseldroid.ui.coresettings.identity.IdentityCreateActivity import de.kuschku.quasseldroid.ui.coresettings.identity.IdentityCreateFragmentProvider import de.kuschku.quasseldroid.ui.coresettings.identity.IdentityEditActivity @@ -106,6 +107,9 @@ abstract class ActivityModule { @ContributesAndroidInjector(modules = [HighlightListFragmentProvider::class]) abstract fun bindHighlightListActivity(): HighlightListActivity + @ContributesAndroidInjector(modules = [HighlightRuleFragment::class]) + abstract fun bindHighlightRuleFragment(): HighlightRuleFragment + @ContributesAndroidInjector(modules = [IgnoreItemFragmentProvider::class]) abstract fun bindIgnoreItemActivity(): IgnoreItemActivity diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleActivity.kt new file mode 100644 index 0000000000000000000000000000000000000000..b2136afa5309ae57a897a4dde12c184e34cbec4c --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleActivity.kt @@ -0,0 +1,24 @@ +package de.kuschku.quasseldroid.ui.coresettings.highlightrule + +import android.content.Context +import android.content.Intent +import de.kuschku.libquassel.quassel.syncables.HighlightRuleManager +import de.kuschku.quasseldroid.util.ui.SettingsActivity + +class HighlightRuleActivity : SettingsActivity(HighlightRuleFragment()) { + companion object { + fun launch( + context: Context, + rule: HighlightRuleManager.HighlightRule? = null + ) = context.startActivity(intent(context, rule)) + + fun intent( + context: Context, + rule: HighlightRuleManager.HighlightRule? = null + ) = Intent(context, HighlightRuleActivity::class.java).apply { + if (rule != null) { + putExtra("item", rule) + } + } + } +} diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragment.kt new file mode 100644 index 0000000000000000000000000000000000000000..4c3229b719d8f524796c777f851819b598d5efaa --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragment.kt @@ -0,0 +1,23 @@ +package de.kuschku.quasseldroid.ui.coresettings.highlightrule + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import de.kuschku.quasseldroid.ui.coresettings.SettingsFragment + +class HighlightRuleFragment : SettingsFragment(), SettingsFragment.Savable, + SettingsFragment.Changeable { + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + return super.onCreateView(inflater, container, savedInstanceState) + } + + override fun hasChanged(): Boolean { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + override fun onSave(): Boolean { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } +} diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragmentProvider.kt new file mode 100644 index 0000000000000000000000000000000000000000..bf5308b6a082bcc8b5751bb17f306e96723f97fc --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightrule/HighlightRuleFragmentProvider.kt @@ -0,0 +1,10 @@ +package de.kuschku.quasseldroid.ui.coresettings.highlightrule + +import dagger.Module +import dagger.android.ContributesAndroidInjector + +@Module +abstract class HighlightRuleFragmentProvider { + @ContributesAndroidInjector + abstract fun bindHighlightRuleFragment(): HighlightRuleFragment +} diff --git a/app/src/main/res/values-de/strings_settings.xml b/app/src/main/res/values-de/strings_settings.xml index 1cf6b7cd1b088e99112d1d6a59fb508bce2e5e8f..af48a964e92b0ce1f031d44a9c2a41f3be8723f0 100644 --- a/app/src/main/res/values-de/strings_settings.xml +++ b/app/src/main/res/values-de/strings_settings.xml @@ -97,6 +97,8 @@ <string name="settings_highlightlist_title">Hervorhebungen</string> + <string name="settings_highlightrule_title">Hervorhebungsregel</string> + <string name="settings_aliaslist_title">Aliase</string> <string name="settings_networkconfig_title">IRC Konfiguration</string> diff --git a/app/src/main/res/values/strings_settings.xml b/app/src/main/res/values/strings_settings.xml index b4ec6650922998d00a9a8ce899dbbb27814840b5..be879b38addf3850d5dd1b699941fc153ecc3bc3 100644 --- a/app/src/main/res/values/strings_settings.xml +++ b/app/src/main/res/values/strings_settings.xml @@ -97,6 +97,8 @@ <string name="settings_highlightlist_title">Highlights</string> + <string name="settings_highlightrule_title">Highlight Rule</string> + <string name="settings_aliaslist_title">Aliases</string> <string name="settings_networkconfig_title">IRC Config</string> diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt index 670ea62a660dd8aa502d518aad55d2e74d933bef..8176eec97277ab36c15c22874129e038477f4eb2 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt @@ -3,6 +3,7 @@ package de.kuschku.libquassel.quassel.syncables import de.kuschku.libquassel.protocol.* import de.kuschku.libquassel.quassel.syncables.interfaces.IHighlightRuleManager import de.kuschku.libquassel.session.SignalProxy +import java.io.Serializable class HighlightRuleManager( proxy: SignalProxy @@ -15,7 +16,7 @@ class HighlightRuleManager( val isInverse: Boolean = false, val sender: String, val channel: String - ) + ) : Serializable override fun toVariantMap(): QVariantMap = mapOf( "HighlightRuleList" to QVariant.of(initHighlightRuleList(), Type.QVariantMap),