diff --git a/.gitignore b/.gitignore index 87bd51c7ec71093d73c6d1aaa026dcf6960ea3dc..621fa5e5fb9c7c8bf39cb9a471349de94b900c26 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,6 @@ /.idea/ .DS_Store /captures -.externalNativeBuild build/ /reports/ /persistence/schemas/ -/deploy.sh diff --git a/app/src/main/java/de/kuschku/quasseldroid/Quasseldroid.kt b/app/src/main/java/de/kuschku/quasseldroid/Quasseldroid.kt index 74382421db0e1246de39ca8a1b5d56f43c045488..baa4c0bd399bc08b3519cd252f6e490b74ba3ad8 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/Quasseldroid.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/Quasseldroid.kt @@ -29,7 +29,6 @@ import de.kuschku.malheur.CrashHandler import de.kuschku.quasseldroid.dagger.DaggerAppComponent import de.kuschku.quasseldroid.persistence.AccountDatabase import de.kuschku.quasseldroid.persistence.LegacyAccountDatabase -import de.kuschku.quasseldroid.persistence.QuasselDatabase import de.kuschku.quasseldroid.settings.AppearanceSettings import de.kuschku.quasseldroid.settings.SettingsMigration import de.kuschku.quasseldroid.settings.SettingsMigrationManager diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt index 5af5c7b4a864988e018b20e9b78166639e2a539d..b8582825865bf84c9be291d4500ad886f0bad963 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt @@ -616,7 +616,7 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc onNewIntent(intent) } - var bufferData: BufferData? = null + private var bufferData: BufferData? = null var actionMode: ActionMode? = null private var statusBarColor: Int? = null diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/client/ClientSettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/client/ClientSettingsFragment.kt index 8f9c8bb6cc49c9e3bd1c458130a81f9bda7ea657..0dceab577971907515b684c32f0e4b7ab0e77564 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/client/ClientSettingsFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/client/ClientSettingsFragment.kt @@ -79,13 +79,13 @@ class ClientSettingsFragment : DaggerPreferenceFragmentCompat(), } } - fun updateSummary(preference: Preference) { + private fun updateSummary(preference: Preference) { if (preference is ListPreference) { preference.summary = preference.entry } } - fun initSummary(preference: Preference) { + private fun initSummary(preference: Preference) { if (preference is PreferenceGroup) { (0 until preference.preferenceCount).asSequence().map(preference::getPreference).forEach(::initSummary) } else { diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/AndroidHandlerThread.kt b/app/src/main/java/de/kuschku/quasseldroid/util/AndroidHandlerThread.kt index 542ecf4ccfa830d2f0753a5638647231f6c573b9..9ef6511b59d2dd1f44c732643f8f47587c559eba 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/AndroidHandlerThread.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/AndroidHandlerThread.kt @@ -30,7 +30,7 @@ class AndroidHandlerThread(name: String) : HandlerThread(name) { private var handler: Handler? = null - fun started(): AndroidHandlerThread { + private fun started(): AndroidHandlerThread { onCreate() return this } diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ColorContext.kt b/app/src/main/java/de/kuschku/quasseldroid/util/ColorContext.kt index 37aedae6e47814efe8b532b37fb8a6c50de77b60..fd78460ef5be025391bd49cb6025fbd0fcc57f9d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/ColorContext.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ColorContext.kt @@ -11,7 +11,7 @@ import de.kuschku.quasseldroid.util.ui.TextDrawable import de.kuschku.quasseldroid.viewmodel.EditorViewModel class ColorContext(context: Context, private val messageSettings: MessageSettings) { - val senderColors = context.theme.styledAttributes( + private val senderColors = context.theme.styledAttributes( R.attr.senderColor0, R.attr.senderColor1, R.attr.senderColor2, R.attr.senderColor3, R.attr.senderColor4, R.attr.senderColor5, R.attr.senderColor6, R.attr.senderColor7, R.attr.senderColor8, R.attr.senderColor9, R.attr.senderColorA, R.attr.senderColorB, @@ -22,15 +22,15 @@ class ColorContext(context: Context, private val messageSettings: MessageSetting } } - val selfColor = context.theme.styledAttributes(R.attr.colorForegroundSecondary) { + private val selfColor = context.theme.styledAttributes(R.attr.colorForegroundSecondary) { getColor(0, 0) } - val textColor = context.theme.styledAttributes(R.attr.colorBackground) { + private val textColor = context.theme.styledAttributes(R.attr.colorBackground) { getColor(0, 0) } - val radius = context.resources.getDimensionPixelSize(R.dimen.avatar_radius) + private val radius = context.resources.getDimensionPixelSize(R.dimen.avatar_radius) fun prepareTextDrawable(@ColorInt textColor: Int = this.textColor) = diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/avatars/MatrixModelLoader.kt b/app/src/main/java/de/kuschku/quasseldroid/util/avatars/MatrixModelLoader.kt index 8e05c6436c888fc99514040d2af6a664d9e2686b..f7c86c20f8245a08f61a0d8302304f65f329043f 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/avatars/MatrixModelLoader.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/avatars/MatrixModelLoader.kt @@ -25,7 +25,8 @@ import com.bumptech.glide.signature.ObjectKey import de.kuschku.quasseldroid.viewmodel.data.Avatar import java.io.InputStream -class MatrixModelLoader(val api: MatrixApi) : ModelLoader<Avatar.MatrixAvatar, InputStream> { +class MatrixModelLoader(private val api: MatrixApi) : + ModelLoader<Avatar.MatrixAvatar, InputStream> { override fun buildLoadData(model: Avatar.MatrixAvatar, width: Int, height: Int, options: Options): ModelLoader.LoadData<InputStream>? { return ModelLoader.LoadData(ObjectKey(model), MatrixDataFetcher(model, api)) diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ContentFormatter.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ContentFormatter.kt index 9437ecc90f6fba92483d22d509c22eef6707b5fa..e835ec7afd0a4cab5fbea013d28a28dd75a9caa8 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ContentFormatter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ContentFormatter.kt @@ -42,7 +42,7 @@ import org.intellij.lang.annotations.Language import javax.inject.Inject class ContentFormatter @Inject constructor( - private val context: Context, + context: Context, private val ircFormatDeserializer: IrcFormatDeserializer, private val messageSettings: MessageSettings ) { diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatDeserializer.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatDeserializer.kt index 5a2fbd7fd30f6d2bdff6789ca687600cb77b45ce..223e7430887a5e9028f08dc5139572adb5408447 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatDeserializer.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatDeserializer.kt @@ -33,7 +33,7 @@ import javax.inject.Inject * color and format codes */ class IrcFormatDeserializer @Inject constructor(context: Context) { - val mircColors = listOf( + private val mircColors = listOf( R.color.mircColor00, R.color.mircColor01, R.color.mircColor02, R.color.mircColor03, R.color.mircColor04, R.color.mircColor05, R.color.mircColor06, R.color.mircColor07, R.color.mircColor08, R.color.mircColor09, R.color.mircColor10, R.color.mircColor11, @@ -64,7 +64,7 @@ class IrcFormatDeserializer @Inject constructor(context: Context) { /** * Function to handle mIRC formatted strings * - * @param str mIRC formatted String + * @param content mIRC formatted String * @return a CharSequence with Android’s span format representing the input string */ fun formatString(content: String?, colorize: Boolean): CharSequence { diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt index eb3ff188ab978e858d0f2d4f119e4fca2cfba304..dcf56c508fd8051cb029d63f99a3b83accb4a9f3 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt @@ -30,7 +30,7 @@ import java.util.* import javax.inject.Inject class IrcFormatSerializer @Inject constructor(context: Context) { - val mircColors = listOf( + private val mircColors = listOf( R.color.mircColor00, R.color.mircColor01, R.color.mircColor02, R.color.mircColor03, R.color.mircColor04, R.color.mircColor05, R.color.mircColor06, R.color.mircColor07, R.color.mircColor08, R.color.mircColor09, R.color.mircColor10, R.color.mircColor11, diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ui/BetterLinkMovementMethod.java b/app/src/main/java/de/kuschku/quasseldroid/util/ui/BetterLinkMovementMethod.java index c567b48c1d9e86919c4e06bf3252b619882caefb..cf61c319bdbea647443e816de6b43fd03f910ffd 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/ui/BetterLinkMovementMethod.java +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/BetterLinkMovementMethod.java @@ -440,8 +440,8 @@ public class BetterLinkMovementMethod extends LinkMovementMethod { * A wrapper to support all {@link ClickableSpan}s that may or may not provide URLs. */ protected static class ClickableSpanWithText { - private ClickableSpan span; - private String text; + private final ClickableSpan span; + private final String text; private ClickableSpanWithText(ClickableSpan span, String text) { this.span = span; diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ui/settings/PreferenceDialogFragmentCompat.java b/app/src/main/java/de/kuschku/quasseldroid/util/ui/settings/PreferenceDialogFragmentCompat.java index e816b3e55d3e030de8e0821fb67b70675d9a73fe..4c86df671d435eefb78f4d3da9f13228506d22f4 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/ui/settings/PreferenceDialogFragmentCompat.java +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/settings/PreferenceDialogFragmentCompat.java @@ -26,7 +26,6 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.annotation.LayoutRes; import android.support.annotation.NonNull; -import android.support.annotation.RestrictTo; import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.support.v7.app.AlertDialog; @@ -44,8 +43,6 @@ import com.afollestad.materialdialogs.MaterialDialog; import de.kuschku.quasseldroid.R; -import static android.support.annotation.RestrictTo.Scope.LIBRARY_GROUP; - /** * Abstract base class which presents a dialog associated with a * {@link android.support.v7.preference.DialogPreference}. Since the preference object may @@ -208,10 +205,7 @@ public abstract class PreferenceDialogFragmentCompat extends DialogFragment impl * Returns whether the preference needs to display a soft input method when the dialog * is displayed. Default is false. Subclasses should override this method if they need * the soft input method brought up automatically. - * - * @hide */ - @RestrictTo(LIBRARY_GROUP) protected boolean needInputMethod() { return false; } diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ui/settings/RingtonePreference.kt b/app/src/main/java/de/kuschku/quasseldroid/util/ui/settings/RingtonePreference.kt index e87f33555ff0cbfbc00b3a208f7a22a5714da03f..cc01413b7676a6d9e56321300c575a7eaa55fc16 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/ui/settings/RingtonePreference.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/settings/RingtonePreference.kt @@ -29,9 +29,9 @@ import android.text.TextUtils import android.util.AttributeSet import de.kuschku.quasseldroid.R -class RingtonePreference : DialogPreference, - RequiresActivityLauncher, - OnActivityResultListener { +open class RingtonePreference : DialogPreference, + RequiresActivityLauncher, + OnActivityResultListener { private val TAG = "RingtonePreference" private var mRingtoneType: Int = 0 diff --git a/lib/src/main/java/de/kuschku/libquassel/protocol/Message.kt b/lib/src/main/java/de/kuschku/libquassel/protocol/Message.kt index f7e53537816482218c64402cbe6506f3a9e77d92..140b625ec0351b8c27f12bf70ee419cda82694da 100644 --- a/lib/src/main/java/de/kuschku/libquassel/protocol/Message.kt +++ b/lib/src/main/java/de/kuschku/libquassel/protocol/Message.kt @@ -24,7 +24,7 @@ import de.kuschku.libquassel.util.flag.Flag import de.kuschku.libquassel.util.flag.Flags import org.threeten.bp.Instant -class Message( +data class Message( val messageId: MsgId, val time: Instant, val type: Message_Types, @@ -86,24 +86,4 @@ class Message( override fun toString(): String { return "Message(messageId=$messageId, time=$time, type=$type, flag=$flag, bufferInfo=$bufferInfo, sender='$sender', senderPrefixes='$senderPrefixes', content='$content')" } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (javaClass != other?.javaClass) return false - - other as Message - - if (messageId != other.messageId) return false - if (time != other.time) return false - if (type != other.type) return false - if (flag != other.flag) return false - if (bufferInfo != other.bufferInfo) return false - if (sender != other.sender) return false - if (senderPrefixes != other.senderPrefixes) return false - if (realName != other.realName) return false - if (avatarUrl != other.avatarUrl) return false - if (content != other.content) return false - - return true - } } diff --git a/lib/src/main/java/de/kuschku/libquassel/session/ISession.kt b/lib/src/main/java/de/kuschku/libquassel/session/ISession.kt index 7bacb7c22a3e69c54a15230fa3c4493539aec4f0..11e5244d577c5cb04f8c4b45ac1d417bf4b00195 100644 --- a/lib/src/main/java/de/kuschku/libquassel/session/ISession.kt +++ b/lib/src/main/java/de/kuschku/libquassel/session/ISession.kt @@ -56,7 +56,8 @@ interface ISession : Closeable { val rpcHandler: RpcHandler? val initStatus: Observable<Pair<Int, Int>> - fun network(networkId: NetworkId): Network? + fun network(id: NetworkId): Network? + fun identity(id: IdentityId): Identity? val proxy: SignalProxy val error: Flowable<Error> @@ -93,7 +94,8 @@ interface ISession : Closeable { override val initStatus: Observable<Pair<Int, Int>> = Observable.just(0 to 0) override val lag: Observable<Long> = Observable.just(0L) - override fun network(networkId: NetworkId) = null + override fun network(id: NetworkId): Network? = null + override fun identity(id: IdentityId): Identity? = null override fun login(user: String, pass: String) = Unit override fun close() = Unit diff --git a/lib/src/main/java/de/kuschku/libquassel/session/SessionManager.kt b/lib/src/main/java/de/kuschku/libquassel/session/SessionManager.kt index 24ea3d1e2cbcd1762a8fd50510c5295fdb59f227..a0b87ceaf92620cb6df1195664ef168e861bc02d 100644 --- a/lib/src/main/java/de/kuschku/libquassel/session/SessionManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/session/SessionManager.kt @@ -38,8 +38,8 @@ import javax.net.ssl.X509TrustManager class SessionManager( offlineSession: ISession, - val backlogStorage: BacklogStorage, - val notificationManager: NotificationManager?, + private val backlogStorage: BacklogStorage, + private val notificationManager: NotificationManager?, val handlerService: HandlerService, private val disconnectFromCore: () -> Unit, private val initCallback: (Session) -> Unit, @@ -58,7 +58,7 @@ class SessionManager( private var lastSession: ISession = offlineSession val state: Observable<ConnectionState> = inProgressSession.switchMap(ISession::state) - val initStatus: Observable<Pair<Int, Int>> = inProgressSession.switchMap(ISession::initStatus) + private val initStatus: Observable<Pair<Int, Int>> = inProgressSession.switchMap(ISession::initStatus) val session: Observable<ISession> = state.map { connectionState -> if (connectionState == ConnectionState.CONNECTED) inProgressSession.value @@ -66,8 +66,7 @@ class SessionManager( lastSession } - var hasErrored: Boolean = false - private set + private var hasErrored: Boolean = false val error: Flowable<Error> get() = inProgressSession diff --git a/persistence/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt b/persistence/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt index d7d9e905655101bc686a367b177768f34c827702..94c20f52a712d5300f8f7c56cb7d22b12c77f71b 100644 --- a/persistence/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt +++ b/persistence/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt @@ -125,11 +125,11 @@ abstract class QuasselDatabase : RoomDatabase() { @Query("UPDATE filtered SET filtered = :filtered WHERE accountId = :accountId AND bufferId = :bufferId") fun setFiltered(accountId: Long, bufferId: Int, filtered: Int) - @Query("SELECT filtered FROM filtered WHERE bufferId = :bufferId AND accountId = :accountId UNION SELECT :default as filtered ORDER BY filtered DESC LIMIT 1") - fun get(accountId: Long, bufferId: Int, default: Int): Int + @Query("SELECT filtered FROM filtered WHERE bufferId = :bufferId AND accountId = :accountId UNION SELECT :defaultValue as filtered ORDER BY filtered DESC LIMIT 1") + fun get(accountId: Long, bufferId: Int, defaultValue: Int): Int - @Query("SELECT filtered FROM filtered WHERE bufferId = :bufferId AND accountId = :accountId UNION SELECT :default as filtered ORDER BY filtered DESC LIMIT 1") - fun listen(accountId: Long, bufferId: Int, default: Int): LiveData<Int> + @Query("SELECT filtered FROM filtered WHERE bufferId = :bufferId AND accountId = :accountId UNION SELECT :defaultValue as filtered ORDER BY filtered DESC LIMIT 1") + fun listen(accountId: Long, bufferId: Int, defaultValue: Int): LiveData<Int> @Query("SELECT * FROM filtered WHERE accountId = :accountId") fun listen(accountId: Long): LiveData<List<Filtered>> diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt index 0a0d88a5830c690a2d89dced1c572abb42e6f7b6..d147b446684742e0b4716f372819ae546d7b8020 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt @@ -71,7 +71,6 @@ class QuasselViewModel : ViewModel() { val bufferViewConfigId = BehaviorSubject.createDefault(-1) - val MAX_RECENT_MESSAGES = 20 val recentlySentMessages = BehaviorSubject.createDefault(emptyList<CharSequence>()) fun addRecentlySentMessage(message: CharSequence) { recentlySentMessages.onNext( @@ -523,4 +522,8 @@ class QuasselViewModel : ViewModel() { } val bufferListThrottled = bufferList.distinctUntilChanged().throttleLast(100, TimeUnit.MILLISECONDS) + + companion object { + const val MAX_RECENT_MESSAGES = 20 + } }