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

Cleaned up code

parent f8a34e74
No related branches found
No related tags found
No related merge requests found
...@@ -47,7 +47,6 @@ import de.kuschku.libquassel.protocol.Buffer_Type ...@@ -47,7 +47,6 @@ import de.kuschku.libquassel.protocol.Buffer_Type
import de.kuschku.libquassel.protocol.Message import de.kuschku.libquassel.protocol.Message
import de.kuschku.libquassel.protocol.Message_Type import de.kuschku.libquassel.protocol.Message_Type
import de.kuschku.libquassel.protocol.message.HandshakeMessage import de.kuschku.libquassel.protocol.message.HandshakeMessage
import de.kuschku.libquassel.quassel.ExtendedFeature
import de.kuschku.libquassel.session.Error import de.kuschku.libquassel.session.Error
import de.kuschku.libquassel.util.Optional import de.kuschku.libquassel.util.Optional
import de.kuschku.libquassel.util.flag.and import de.kuschku.libquassel.util.flag.and
...@@ -69,8 +68,8 @@ import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActiv ...@@ -69,8 +68,8 @@ import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActiv
import de.kuschku.quasseldroid.ui.setup.user.UserSetupActivity import de.kuschku.quasseldroid.ui.setup.user.UserSetupActivity
import de.kuschku.quasseldroid.util.helper.* import de.kuschku.quasseldroid.util.helper.*
import de.kuschku.quasseldroid.util.irc.format.IrcFormatDeserializer import de.kuschku.quasseldroid.util.irc.format.IrcFormatDeserializer
import de.kuschku.quasseldroid.util.missingfeatures.MissingFeature
import de.kuschku.quasseldroid.util.missingfeatures.MissingFeaturesDialog import de.kuschku.quasseldroid.util.missingfeatures.MissingFeaturesDialog
import de.kuschku.quasseldroid.util.missingfeatures.RequiredFeatures
import de.kuschku.quasseldroid.util.service.ServiceBoundActivity import de.kuschku.quasseldroid.util.service.ServiceBoundActivity
import de.kuschku.quasseldroid.util.ui.DragInterceptBottomSheetBehavior import de.kuschku.quasseldroid.util.ui.DragInterceptBottomSheetBehavior
import de.kuschku.quasseldroid.util.ui.MaterialContentLoadingProgressBar import de.kuschku.quasseldroid.util.ui.MaterialContentLoadingProgressBar
...@@ -464,58 +463,20 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc ...@@ -464,58 +463,20 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
drawerLayout.openDrawer(Gravity.START) drawerLayout.openDrawer(Gravity.START)
} }
connectedAccount = accountId connectedAccount = accountId
viewModel.session.value?.orNull()?.let { viewModel.session.value?.orNull()?.let { session ->
if (it.identities.isEmpty()) { if (session.identities.isEmpty()) {
UserSetupActivity.launch(this) UserSetupActivity.launch(this)
} }
val missingFeatures = listOf( val missingFeatures = RequiredFeatures.features.filter {
ExtendedFeature.SynchronizedMarkerLine, it.feature !in session.features.core.enabledFeatures
ExtendedFeature.SaslAuthentication, }
ExtendedFeature.SaslExternal,
ExtendedFeature.HideInactiveNetworks,
ExtendedFeature.PasswordChange,
ExtendedFeature.CapNegotiation,
ExtendedFeature.VerifyServerSSL,
ExtendedFeature.CustomRateLimits,
ExtendedFeature.AwayFormatTimestamp,
ExtendedFeature.BufferActivitySync,
ExtendedFeature.CoreSideHighlights,
ExtendedFeature.SenderPrefixes,
ExtendedFeature.RemoteDisconnect,
ExtendedFeature.RichMessages,
ExtendedFeature.BacklogFilterType
) - it.features.core.enabledFeatures
if (missingFeatures.isNotEmpty()) { if (missingFeatures.isNotEmpty()) {
runInBackground { runInBackground {
val accounts = accountDatabase.accounts() val accounts = accountDatabase.accounts()
val account = accounts.findById(accountId) val account = accounts.findById(accountId)
if (account?.acceptedMissingFeatures == false) { if (account?.acceptedMissingFeatures == false) {
val dialog = MissingFeaturesDialog.Builder(this) val dialog = MissingFeaturesDialog.Builder(this)
.missingFeatures(missingFeatures.mapNotNull { feature -> .missingFeatures(missingFeatures)
when (feature) {
ExtendedFeature.SynchronizedMarkerLine -> R.string.label_feature_synchronizedmarkerline
ExtendedFeature.SaslAuthentication -> R.string.label_feature_saslauthentication
ExtendedFeature.SaslExternal -> R.string.label_feature_saslexternal
ExtendedFeature.HideInactiveNetworks -> R.string.label_feature_hideinactivenetworks
ExtendedFeature.PasswordChange -> R.string.label_feature_passwordchange
ExtendedFeature.CapNegotiation -> R.string.label_feature_capnegotiation
ExtendedFeature.VerifyServerSSL -> R.string.label_feature_verifyserverssl
ExtendedFeature.CustomRateLimits -> R.string.label_feature_customratelimits
ExtendedFeature.AwayFormatTimestamp -> R.string.label_feature_awayformattimestamp
ExtendedFeature.BufferActivitySync -> R.string.label_feature_bufferactivitysync
ExtendedFeature.CoreSideHighlights -> R.string.label_feature_coresidehighlights
ExtendedFeature.SenderPrefixes -> R.string.label_feature_senderprefixes
ExtendedFeature.RemoteDisconnect -> R.string.label_feature_remotedisconnect
ExtendedFeature.RichMessages -> R.string.label_feature_richmessages
ExtendedFeature.BacklogFilterType -> R.string.label_feature_backlogfiltertype
else -> null
}?.let {
MissingFeature(
feature = feature,
description = it
)
}
})
.positiveListener(MaterialDialog.SingleButtonCallback { _, _ -> .positiveListener(MaterialDialog.SingleButtonCallback { _, _ ->
runInBackground { runInBackground {
accounts.save(account.copy(acceptedMissingFeatures = true)) accounts.save(account.copy(acceptedMissingFeatures = true))
......
/*
* Quasseldroid - Quassel client for Android
*
* Copyright (c) 2018 Janne Koschinski
* Copyright (c) 2018 The Quassel Project
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
* by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.quasseldroid.util.missingfeatures
import de.kuschku.libquassel.quassel.ExtendedFeature
import de.kuschku.quasseldroid.R
object RequiredFeatures {
val features = listOf(
MissingFeature(ExtendedFeature.SynchronizedMarkerLine,
R.string.label_feature_synchronizedmarkerline),
MissingFeature(ExtendedFeature.SaslAuthentication,
R.string.label_feature_saslauthentication),
MissingFeature(ExtendedFeature.SaslExternal,
R.string.label_feature_saslexternal),
MissingFeature(ExtendedFeature.HideInactiveNetworks,
R.string.label_feature_hideinactivenetworks),
MissingFeature(ExtendedFeature.PasswordChange,
R.string.label_feature_passwordchange),
MissingFeature(ExtendedFeature.CapNegotiation,
R.string.label_feature_capnegotiation),
MissingFeature(ExtendedFeature.VerifyServerSSL,
R.string.label_feature_verifyserverssl),
MissingFeature(ExtendedFeature.CustomRateLimits,
R.string.label_feature_customratelimits),
MissingFeature(ExtendedFeature.AwayFormatTimestamp,
R.string.label_feature_awayformattimestamp),
MissingFeature(ExtendedFeature.BufferActivitySync,
R.string.label_feature_bufferactivitysync),
MissingFeature(ExtendedFeature.CoreSideHighlights,
R.string.label_feature_coresidehighlights),
MissingFeature(ExtendedFeature.SenderPrefixes,
R.string.label_feature_senderprefixes),
MissingFeature(ExtendedFeature.RemoteDisconnect,
R.string.label_feature_remotedisconnect),
MissingFeature(ExtendedFeature.RichMessages,
R.string.label_feature_richmessages),
MissingFeature(ExtendedFeature.BacklogFilterType,
R.string.label_feature_backlogfiltertype)
)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment