diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b0ed122c1383f3f6a0d13a7661634147ec7b659f..e0be7a433e733c1af5f3f9c4d03fda9316e08cb4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,36 +6,36 @@ variables: cache: key: "$CI_PROJECT_NAME" paths: - - ".gradle/wrapper" - - ".gradle/caches" + - ".gradle/wrapper" + - ".gradle/caches" before_script: - - "export GRADLE_USER_HOME=$(pwd)/.gradle" - - "export ANDROID_HOME=/android-sdk-linux" - - "export PATH=$PATH:/android-sdk-linux/platform-tools/" - - "chmod +x ./gradlew" +- "export GRADLE_USER_HOME=$(pwd)/.gradle" +- "export ANDROID_HOME=/android-sdk-linux" +- "export PATH=$PATH:/android-sdk-linux/platform-tools/" +- "chmod +x ./gradlew" - - "echo $SIGNING_KEYSTORE | base64 -d > /root/signing.keystore" - - "echo $SIGNING_PROPERTIES | base64 -d > signing.properties" +- "echo $SIGNING_KEYSTORE | base64 -d > /root/signing.keystore" +- "echo $SIGNING_PROPERTIES | base64 -d > signing.properties" stages: - - "build" - - "test" - - "deploy" +- "build" +- "test" +- "deploy" build: stage: "build" script: - - "./gradlew assembleRelease -x lintRelease -x lintVitalRelease" - - "cp app/build/outputs/apk/release/*.apk ." + - "./gradlew assembleRelease -x lintRelease -x lintVitalRelease" + - "cp app/build/outputs/apk/release/*.apk ." artifacts: paths: - - "*.apk" + - "*.apk" test: stage: "test" script: - - "./gradlew check" + - "./gradlew check" artifacts: reports: junit: "*/build/test-results/*/TEST-*.xml" diff --git a/app/sampledata/features.json b/app/sampledata/features.json index 9b813e3c899edecb9d1919ef3559b0a6adda42b2..d49f8a321db97515c14e9ed48bd349ab6e66e84c 100644 --- a/app/sampledata/features.json +++ b/app/sampledata/features.json @@ -1,64 +1,64 @@ { "data": [ - { - "name": "SynchronizedMarkerLine", - "description": "Required for synchronizing the last position in channels" - }, - { - "name": "SaslAuthentication", - "description": "Required for SASL" - }, - { - "name": "SaslExternal", - "description": "Required for SASL with certificates" - }, - { - "name": "HideInactiveNetworks", - "description": "Required for hiding inactive networks from chat lists" - }, - { - "name": "PasswordChange", - "description": "Required for changing passwords from the client" - }, - { - "name": "CapNegotiation", - "description": "Required for IRCv3 capabilities" - }, - { - "name": "VerifyServerSSL", - "description": "Required for verifying the SSL certificate of IRC networks you connect to" - }, - { - "name": "CustomRateLimits", - "description": "Required for custom rate limits for IRC networks" - }, - { - "name": "AwayFormatTimestamp", - "description": "Required for custom formatted timestamps in away messages" - }, - { - "name": "BufferActivitySync", - "description": "Required for seeing activity of chats in the chat list" - }, - { - "name": "CoreSideHighlights", - "description": "Required for highlights" - }, - { - "name": "SenderPrefixes", - "description": "Required for seeing prefix modes (+, @) of users in channels" - }, - { - "name": "RemoteDisconnect", - "description": "Required for remote disconnects of your own clients" - }, - { - "name": "RichMessages", - "description": "Required for seeing real names or IRCv3 or Gravatar avatars in messages" - }, - { - "name": "BacklogFilterType", - "description": "Required for receiving past notifications after connecting" - } -] + { + "name": "SynchronizedMarkerLine", + "description": "Required for synchronizing the last position in channels" + }, + { + "name": "SaslAuthentication", + "description": "Required for SASL" + }, + { + "name": "SaslExternal", + "description": "Required for SASL with certificates" + }, + { + "name": "HideInactiveNetworks", + "description": "Required for hiding inactive networks from chat lists" + }, + { + "name": "PasswordChange", + "description": "Required for changing passwords from the client" + }, + { + "name": "CapNegotiation", + "description": "Required for IRCv3 capabilities" + }, + { + "name": "VerifyServerSSL", + "description": "Required for verifying the SSL certificate of IRC networks you connect to" + }, + { + "name": "CustomRateLimits", + "description": "Required for custom rate limits for IRC networks" + }, + { + "name": "AwayFormatTimestamp", + "description": "Required for custom formatted timestamps in away messages" + }, + { + "name": "BufferActivitySync", + "description": "Required for seeing activity of chats in the chat list" + }, + { + "name": "CoreSideHighlights", + "description": "Required for highlights" + }, + { + "name": "SenderPrefixes", + "description": "Required for seeing prefix modes (+, @) of users in channels" + }, + { + "name": "RemoteDisconnect", + "description": "Required for remote disconnects of your own clients" + }, + { + "name": "RichMessages", + "description": "Required for seeing real names or IRCv3 or Gravatar avatars in messages" + }, + { + "name": "BacklogFilterType", + "description": "Required for receiving past notifications after connecting" + } + ] } diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt index 360084482aced62380f0dcce98591a45b8c261e7..dbb2434146c207966373928996d65cb9cf6f66e9 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt @@ -141,7 +141,7 @@ class MessageListFragment : ServiceBoundFragment() { true } ?: false } - R.id.action_copy -> { + R.id.action_copy -> { val builder = SpannableStringBuilder() viewModel.selectedMessages.value.values.asSequence().sortedBy { it.original.messageId diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/NetworkAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/NetworkAdapter.kt index 2c3a3b4082ccd11ee2c9387dafc27e6558fa0529..aedf2d7c6265006116e92491de2975ee06ff8f30 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/NetworkAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/chatlist/NetworkAdapter.kt @@ -34,7 +34,8 @@ import de.kuschku.quasseldroid.R import de.kuschku.quasseldroid.util.ui.ContextThemeWrapper import de.kuschku.quasseldroid.util.ui.RecyclerSpinnerAdapter -class NetworkAdapter(@StringRes private val fallbackName: Int) : RecyclerSpinnerAdapter<NetworkAdapter.NetworkViewHolder>(), +class NetworkAdapter(@StringRes private val fallbackName: Int) : + RecyclerSpinnerAdapter<NetworkAdapter.NetworkViewHolder>(), ThemedSpinnerAdapter { var data = listOf<INetwork.NetworkInfo?>(null) @@ -73,7 +74,8 @@ class NetworkAdapter(@StringRes private val fallbackName: Int) : RecyclerSpinner override fun getItemId(position: Int) = getItem(position)?.networkId?.toLong() ?: -1 override fun hasStableIds() = true override fun getCount() = data.size - class NetworkViewHolder(@StringRes private val fallbackName: Int, itemView: View) : RecyclerView.ViewHolder(itemView) { + class NetworkViewHolder(@StringRes private val fallbackName: Int, itemView: View) : + RecyclerView.ViewHolder(itemView) { @BindView(android.R.id.text1) lateinit var text: TextView diff --git a/settings.gradle b/settings.gradle index ee35cd8474d514f9dbd53a8203c3cadf6a47ab45..da7acbdfdd724a0ee101832ab573f28cc54c2cd8 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,14 +17,14 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -include ':invokerannotations', - ':invokergenerator', - ':lib', - ':lifecycle-ktx', - ':desktop', - ":viewmodel", - ":persistence", - ':malheur', - ':app' - rootProject.buildFileName = 'build.gradle.kts' + +include ':app', + ':desktop', + ':invokerannotations', + ':invokergenerator', + ':lib', + ':lifecycle-ktx', + ':malheur', + ":persistence", + ":viewmodel"