complete rebrand

master
dfsek 1 year ago
parent 2ae3613be7
commit 8ea83c9a2b
  1. 6
      app/build.gradle.kts
  2. 4
      app/src/androidTest/java/com/dfsek/feldspar/ExampleInstrumentedTest.kt
  3. 23
      app/src/main/AndroidManifest.xml
  4. 14
      app/src/main/java/com/dfsek/feldspar/AppState.kt
  5. 8
      app/src/main/java/com/dfsek/feldspar/Feldspar.kt
  6. 4
      app/src/main/java/com/dfsek/feldspar/login/SSORedirectRouterActivity.kt
  7. 7
      app/src/main/java/com/dfsek/feldspar/state/ChatRoomState.kt
  8. 6
      app/src/main/java/com/dfsek/feldspar/state/UserState.kt
  9. 2
      app/src/main/java/com/dfsek/feldspar/state/VerificationState.kt
  10. 12
      app/src/main/java/com/dfsek/feldspar/ui/RoomActivity.kt
  11. 15
      app/src/main/java/com/dfsek/feldspar/ui/SpacesUI.kt
  12. 10
      app/src/main/java/com/dfsek/feldspar/ui/rooms/DirectMessagesActivity.kt
  13. 9
      app/src/main/java/com/dfsek/feldspar/ui/rooms/GroupMessagesActivity.kt
  14. 10
      app/src/main/java/com/dfsek/feldspar/ui/rooms/RoomsUI.kt
  15. 17
      app/src/main/java/com/dfsek/feldspar/ui/settings/AccountActivity.kt
  16. 8
      app/src/main/java/com/dfsek/feldspar/ui/settings/GeneralActivity.kt
  17. 4
      app/src/main/java/com/dfsek/feldspar/ui/settings/SettingsActivity.kt
  18. 3
      app/src/main/java/com/dfsek/feldspar/ui/settings/SettingsUI.kt
  19. 15
      app/src/main/java/com/dfsek/feldspar/ui/settings/ThemeActivity.kt
  20. 8
      app/src/main/java/com/dfsek/feldspar/ui/settings/VerificationActivity.kt
  21. 8
      app/src/main/java/com/dfsek/feldspar/util/EventUtils.kt
  22. 2
      app/src/main/java/com/dfsek/feldspar/util/RoomDisplayNameFallbackProviderImpl.kt
  23. 4
      app/src/main/java/com/dfsek/feldspar/util/TimelineEventWrapper.kt
  24. 19
      app/src/main/java/com/dfsek/feldspar/util/Utils.kt
  25. 2
      app/src/main/java/com/dfsek/feldspar/util/compose_fixes/FixedDefaultFlingBehavior.kt
  26. 0
      app/src/main/java/com/dfsek/feldspar/util/compose_fixes/README.md
  27. 2
      app/src/main/java/com/dfsek/feldspar/util/vector/multipicker/MultipickerUtils.kt
  28. 2
      app/src/main/res/values-night/themes.xml
  29. 8
      app/src/main/res/values/themes.xml
  30. 2
      app/src/test/java/com/dfsek/feldspar/ExampleUnitTest.kt
  31. 2
      buildSrc/build.gradle.kts
  32. 2
      settings.gradle.kts

@ -1,15 +1,15 @@
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.dfsek.dfchat.compose-fixer")
id("com.dfsek.feldspar.compose-fixer")
}
android {
namespace = "com.dfsek.dfchat"
namespace = "com.dfsek.feldspar"
compileSdk = 33
defaultConfig {
applicationId = "com.dfsek.dfchat"
applicationId = "com.dfsek.feldspar"
minSdk = 24
targetSdk = 33
versionCode = 1

@ -1,4 +1,4 @@
package com.dfsek.dfchat
package com.dfsek.feldspar
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.dfsek.dfchat", appContext.packageName)
assertEquals("com.dfsek.feldspar", appContext.packageName)
}
}

@ -18,13 +18,13 @@
android:icon="@drawable/feldspar"
android:roundIcon="@drawable/feldspar"
android:supportsRtl="true"
android:theme="@style/Theme.DfChat"
android:theme="@style/Theme.Feldspar"
tools:targetApi="31">
<activity
android:name=".ui.rooms.DirectMessagesActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar">
android:theme="@style/Theme.Feldspar.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
@ -37,7 +37,7 @@
<activity
android:name=".ui.rooms.GroupMessagesActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar">
android:theme="@style/Theme.Feldspar.NoActionBar">
<meta-data
android:name="android.app.lib_name"
@ -46,7 +46,7 @@
<activity
android:name=".ui.RoomActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar"
android:theme="@style/Theme.Feldspar.NoActionBar"
android:windowSoftInputMode="adjustResize">
<meta-data
@ -56,7 +56,7 @@
<activity
android:name=".ui.settings.SettingsActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar">
android:theme="@style/Theme.Feldspar.NoActionBar">
<meta-data
android:name="android.app.lib_name"
@ -65,7 +65,7 @@
<activity
android:name=".ui.settings.GeneralActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar">
android:theme="@style/Theme.Feldspar.NoActionBar">
<meta-data
android:name="android.app.lib_name"
@ -74,7 +74,7 @@
<activity
android:name=".ui.settings.VerificationActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar">
android:theme="@style/Theme.Feldspar.NoActionBar">
<meta-data
android:name="android.app.lib_name"
@ -83,7 +83,7 @@
<activity
android:name=".ui.settings.AccountActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar">
android:theme="@style/Theme.Feldspar.NoActionBar">
<meta-data
android:name="android.app.lib_name"
android:value=""/>
@ -91,7 +91,7 @@
<activity
android:name=".ui.settings.ThemeActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar">
android:theme="@style/Theme.Feldspar.NoActionBar">
<meta-data
android:name="android.app.lib_name"
android:value=""/>
@ -99,12 +99,12 @@
<activity
android:name=".login.SSORedirectRouterActivity"
android:exported="true"
android:theme="@style/Theme.DfChat.NoActionBar">
android:theme="@style/Theme.Feldspar.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="dfchat"
<data android:scheme="feldspar"
android:host="login" />
</intent-filter>
@ -112,6 +112,7 @@
android:name="android.app.lib_name"
android:value=""/>
</activity>
<!--suppress AndroidDomInspection -->
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"

@ -1,4 +1,4 @@
package com.dfsek.dfchat
package com.dfsek.feldspar
import android.app.Application
import android.content.Context
@ -11,14 +11,12 @@ import androidx.compose.material.lightColors
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import com.dfsek.dfchat.ui.settings.GeneralActivity
import com.dfsek.dfchat.util.GENERAL_PREFS
import com.dfsek.dfchat.util.THEME_KEY
import com.dfsek.dfchat.util.THEME_PREFS
import com.dfsek.dfchat.util.toColor
import kotlinx.coroutines.flow.collectLatest
import com.dfsek.feldspar.ui.settings.GeneralActivity
import com.dfsek.feldspar.util.GENERAL_PREFS
import com.dfsek.feldspar.util.THEME_KEY
import com.dfsek.feldspar.util.THEME_PREFS
import com.dfsek.feldspar.util.toColor
import org.matrix.android.sdk.api.session.Session
import kotlin.math.roundToInt
object AppState {

@ -1,11 +1,11 @@
package com.dfsek.dfchat
package com.dfsek.feldspar
import android.app.Application
import android.content.Context
import android.util.Log
import com.dfsek.dfchat.AppState.Preferences.updatePrefs
import com.dfsek.dfchat.AppState.updateTheme
import com.dfsek.dfchat.util.RoomDisplayNameFallbackProviderImpl
import com.dfsek.feldspar.AppState.Preferences.updatePrefs
import com.dfsek.feldspar.AppState.updateTheme
import com.dfsek.feldspar.util.RoomDisplayNameFallbackProviderImpl
import org.matrix.android.sdk.api.Matrix
import org.matrix.android.sdk.api.MatrixConfiguration

@ -1,8 +1,8 @@
package com.dfsek.dfchat.login
package com.dfsek.feldspar.login
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.dfsek.dfchat.ui.settings.AccountActivity
import com.dfsek.feldspar.ui.settings.AccountActivity
class SSORedirectRouterActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {

@ -1,15 +1,14 @@
package com.dfsek.dfchat.state
package com.dfsek.feldspar.state
import android.util.Log
import androidx.compose.runtime.*
import androidx.lifecycle.LifecycleOwner
import com.dfsek.dfchat.util.TimelineEventWrapper
import com.dfsek.dfchat.util.getAvatarUrl
import com.dfsek.feldspar.util.TimelineEventWrapper
import com.dfsek.feldspar.util.getAvatarUrl
import org.matrix.android.sdk.api.session.Session
import org.matrix.android.sdk.api.session.events.model.getRelationContent
import org.matrix.android.sdk.api.session.events.model.isEdition
import org.matrix.android.sdk.api.session.room.Room
import org.matrix.android.sdk.api.session.room.getTimelineEvent
import org.matrix.android.sdk.api.session.room.sender.SenderInfo
import org.matrix.android.sdk.api.session.room.timeline.*

@ -1,7 +1,7 @@
package com.dfsek.dfchat.state
package com.dfsek.feldspar.state
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.util.getAvatarUrl
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.util.getAvatarUrl
import org.matrix.android.sdk.api.session.Session
class UserState(val client: Session) {

@ -1,4 +1,4 @@
package com.dfsek.dfchat.state
package com.dfsek.feldspar.state
import org.matrix.android.sdk.api.session.Session
import org.matrix.android.sdk.api.session.crypto.verification.VerificationService

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui
package com.dfsek.feldspar.ui
import android.net.Uri
import android.os.Bundle
@ -44,11 +44,11 @@ import androidx.compose.ui.window.Dialog
import coil.compose.AsyncImage
import coil.decode.BitmapFactoryDecoder
import coil.request.ImageRequest
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.state.ChatRoomState
import com.dfsek.dfchat.util.*
import com.dfsek.dfchat.util.compose_fixes.FixedDefaultFlingBehavior.Companion.fixedFlingBehavior
import com.dfsek.dfchat.util.vector.multipicker.toContentAttachmentData
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.state.ChatRoomState
import com.dfsek.feldspar.util.*
import com.dfsek.feldspar.util.compose_fixes.FixedDefaultFlingBehavior.Companion.fixedFlingBehavior
import com.dfsek.feldspar.util.vector.multipicker.toContentAttachmentData
import im.vector.lib.multipicker.MultiPicker
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.launch

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui
package com.dfsek.feldspar.ui
import android.app.Activity
import android.content.Intent
@ -25,14 +25,13 @@ import androidx.compose.ui.unit.sp
import coil.compose.AsyncImage
import coil.decode.BitmapFactoryDecoder
import coil.request.ImageRequest
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.ui.rooms.DirectMessagesActivity
import com.dfsek.dfchat.ui.rooms.GroupMessagesActivity
import com.dfsek.dfchat.ui.settings.SettingsDropdown
import com.dfsek.dfchat.util.getAvatarUrl
import com.dfsek.dfchat.util.getPreviewText
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.ui.rooms.DirectMessagesActivity
import com.dfsek.feldspar.ui.rooms.GroupMessagesActivity
import com.dfsek.feldspar.ui.settings.SettingsDropdown
import com.dfsek.feldspar.util.getAvatarUrl
import com.dfsek.feldspar.util.getPreviewText
import org.matrix.android.sdk.api.query.SpaceFilter
import org.matrix.android.sdk.api.session.Session
import org.matrix.android.sdk.api.session.room.Room
import org.matrix.android.sdk.api.session.room.RoomSummaryQueryParams
import org.matrix.android.sdk.api.session.room.model.RoomSummary

@ -1,20 +1,18 @@
package com.dfsek.dfchat.ui.rooms
package com.dfsek.feldspar.ui.rooms
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.Colors
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.darkColors
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.ui.TopBar
import com.dfsek.dfchat.ui.SelectionUI
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.ui.TopBar
import com.dfsek.feldspar.ui.SelectionUI
import org.matrix.android.sdk.api.session.room.RoomSummaryQueryParams
class DirectMessagesActivity : AppCompatActivity() {

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui.rooms
package com.dfsek.feldspar.ui.rooms
import android.os.Bundle
import androidx.activity.compose.setContent
@ -7,13 +7,12 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.darkColors
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.ui.TopBar
import com.dfsek.dfchat.ui.SelectionUI
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.ui.TopBar
import com.dfsek.feldspar.ui.SelectionUI
import org.matrix.android.sdk.api.query.SpaceFilter
import org.matrix.android.sdk.api.session.room.RoomSummaryQueryParams

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui.rooms
package com.dfsek.feldspar.ui.rooms
import android.app.Activity
import android.content.Intent
@ -22,10 +22,10 @@ import androidx.compose.ui.unit.sp
import coil.compose.AsyncImage
import coil.decode.BitmapFactoryDecoder
import coil.request.ImageRequest
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.ui.RoomActivity
import com.dfsek.dfchat.util.getAvatarUrl
import com.dfsek.dfchat.util.getPreviewText
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.ui.RoomActivity
import com.dfsek.feldspar.util.getAvatarUrl
import com.dfsek.feldspar.util.getPreviewText
import org.matrix.android.sdk.api.session.room.RoomSummaryQueryParams
import org.matrix.android.sdk.api.session.room.model.RoomSummary

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui.settings
package com.dfsek.feldspar.ui.settings
import android.content.Context
import android.content.Intent
@ -33,18 +33,19 @@ import androidx.lifecycle.lifecycleScope
import coil.compose.AsyncImage
import coil.decode.BitmapFactoryDecoder
import coil.request.ImageRequest
import com.dfsek.dfchat.Feldspar
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.state.UserState
import com.dfsek.dfchat.ui.rooms.DirectMessagesActivity
import com.dfsek.dfchat.util.SSO_REDIRECT_URL
import com.dfsek.dfchat.util.openUrlInChromeCustomTab
import com.dfsek.feldspar.Feldspar
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.state.UserState
import com.dfsek.feldspar.ui.rooms.DirectMessagesActivity
import com.dfsek.feldspar.util.SSO_REDIRECT_URL
import com.dfsek.feldspar.util.openUrlInChromeCustomTab
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
import org.matrix.android.sdk.api.auth.data.LoginFlowResult
import org.matrix.android.sdk.api.session.Session
import java.util.concurrent.ThreadLocalRandom
class AccountActivity : AppCompatActivity() {
@ -229,7 +230,7 @@ class AccountActivity : AppCompatActivity() {
AppState.startSession(Feldspar.getMatrix(this@AccountActivity)
.authenticationService()
.getLoginWizard()
.login(username, password, "dfchat"))
.login(username, password, "Feldspar on Android", ThreadLocalRandom.current().nextLong().toString(36)))
AppState.session?.open()
AppState.session?.syncService()?.startSync(true)
visible.value = false

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui.settings
package com.dfsek.feldspar.ui.settings
import android.content.SharedPreferences
import android.os.Bundle
@ -12,9 +12,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.core.content.edit
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.AppState.Preferences.updatePrefs
import com.dfsek.dfchat.util.GENERAL_PREFS
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.AppState.Preferences.updatePrefs
import com.dfsek.feldspar.util.GENERAL_PREFS
import kotlin.math.roundToInt
class GeneralActivity : AppCompatActivity() {

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui.settings
package com.dfsek.feldspar.ui.settings
import android.app.Activity
import android.content.Intent
@ -14,7 +14,7 @@ import androidx.compose.foundation.layout.*
import androidx.compose.material.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.dfsek.dfchat.AppState
import com.dfsek.feldspar.AppState
import kotlin.reflect.KClass
class SettingsActivity : AppCompatActivity() {

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui.settings
package com.dfsek.feldspar.ui.settings
import android.app.Activity
import android.content.Intent
@ -8,7 +8,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.KeyboardArrowLeft
import androidx.compose.material.icons.filled.KeyboardArrowRight
import androidx.compose.material.icons.filled.MoreVert
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment

@ -1,8 +1,7 @@
package com.dfsek.dfchat.ui.settings
package com.dfsek.feldspar.ui.settings
import android.content.SharedPreferences
import android.os.Bundle
import android.os.PersistableBundle
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.background
@ -21,12 +20,12 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.core.content.edit
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.AppState.updateTheme
import com.dfsek.dfchat.util.THEME_KEY
import com.dfsek.dfchat.util.THEME_PREFS
import com.dfsek.dfchat.util.toColor
import com.dfsek.dfchat.util.toHexString
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.AppState.updateTheme
import com.dfsek.feldspar.util.THEME_KEY
import com.dfsek.feldspar.util.THEME_PREFS
import com.dfsek.feldspar.util.toColor
import com.dfsek.feldspar.util.toHexString
class ThemeActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {

@ -1,4 +1,4 @@
package com.dfsek.dfchat.ui.settings
package com.dfsek.feldspar.ui.settings
import android.os.Bundle
import android.util.Log
@ -11,9 +11,9 @@ import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.dfsek.dfchat.AppState
import com.dfsek.dfchat.state.VerificationState
import com.dfsek.dfchat.util.DynamicContent
import com.dfsek.feldspar.AppState
import com.dfsek.feldspar.state.VerificationState
import com.dfsek.feldspar.util.DynamicContent
import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
import org.matrix.android.sdk.api.session.crypto.verification.*

@ -1,4 +1,4 @@
package com.dfsek.dfchat.util
package com.dfsek.feldspar.util
import android.util.Log
import androidx.compose.foundation.layout.PaddingValues
@ -14,7 +14,7 @@ import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.decode.BitmapFactoryDecoder
import coil.request.ImageRequest
import com.dfsek.dfchat.AppState
import com.dfsek.feldspar.AppState
import com.halilibo.richtext.markdown.Markdown
import com.halilibo.richtext.ui.RichText
import com.halilibo.richtext.ui.RichTextThemeIntegration
@ -35,7 +35,7 @@ fun TimelineEvent.RenderMessage(modifier: Modifier = Modifier): Unit = when (roo
EventType.MESSAGE -> RenderMessageEvent(modifier = modifier)
EventType.ENCRYPTED -> Text("Encrypted message (haven't received keys!)", color = MaterialTheme.colors.error)
else -> Text("dfChat unimplemented event ${root.getClearType()}", color = MaterialTheme.colors.error)
else -> Text("Feldspar unimplemented event ${root.getClearType()}", color = MaterialTheme.colors.error)
}
@Composable
@ -90,7 +90,7 @@ fun TimelineEvent.getPreviewText(cut: Boolean = true): String {
EventType.MESSAGE -> getLatestContent()!!.toModel<MessageContent>()?.body ?: ""
EventType.ENCRYPTED -> "Encrypted message (haven't received keys!)"
else -> "dfChat unimplemented event ${root.getClearType()}"
else -> "Feldspar unimplemented event ${root.getClearType()}"
}
if (!cut) return fullText

@ -1,4 +1,4 @@
package com.dfsek.dfchat.util
package com.dfsek.feldspar.util
import org.matrix.android.sdk.api.provider.RoomDisplayNameFallbackProvider

@ -1,4 +1,4 @@
package com.dfsek.dfchat.util
package com.dfsek.feldspar.util
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
@ -22,7 +22,7 @@ import androidx.compose.ui.unit.sp
import coil.compose.AsyncImage
import coil.decode.BitmapFactoryDecoder
import coil.request.ImageRequest
import com.dfsek.dfchat.AppState
import com.dfsek.feldspar.AppState
import org.matrix.android.sdk.api.session.events.model.getMsgType
import org.matrix.android.sdk.api.session.room.model.message.MessageType
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent

@ -1,30 +1,17 @@
package com.dfsek.dfchat.util
package com.dfsek.feldspar.util
import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.provider.MediaStore
import android.util.Log
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.activity.result.ActivityResult
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.browser.customtabs.CustomTabsIntent
import androidx.browser.customtabs.CustomTabsSession
import androidx.compose.runtime.*
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.lifecycle.LiveData
import com.dfsek.dfchat.AppState
import im.vector.lib.multipicker.entity.MultiPickerBaseType
import im.vector.lib.multipicker.entity.MultiPickerFileType
import org.matrix.android.sdk.api.session.content.ContentAttachmentData
import com.dfsek.feldspar.AppState
import org.matrix.android.sdk.api.session.content.ContentUrlResolver
import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeAudio
import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeImage
import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeVideo
fun openUrlInChromeCustomTab(
context: Context,
@ -52,7 +39,7 @@ fun getAvatarUrl(avatarUrl: String?, thumbnailX: Int = 32, thumbnailY: Int = thu
?.resolveThumbnail(avatarUrl, thumbnailX, thumbnailY, ContentUrlResolver.ThumbnailMethod.SCALE)
}
internal const val SSO_REDIRECT_URL = "dfchat://login"
internal const val SSO_REDIRECT_URL = "feldspar://login"
internal const val THEME_PREFS = "theme"
internal const val THEME_KEY = "theme"

@ -1,4 +1,4 @@
package com.dfsek.dfchat.util.compose_fixes
package com.dfsek.feldspar.util.compose_fixes
import androidx.compose.animation.core.AnimationState
import androidx.compose.animation.core.DecayAnimationSpec

@ -1,4 +1,4 @@
package com.dfsek.dfchat.util.vector.multipicker
package com.dfsek.feldspar.util.vector.multipicker
import android.util.Log
import im.vector.lib.multipicker.entity.*

@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.DfChat" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<style name="Theme.Feldspar" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>

@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.DfChat" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<style name="Theme.Feldspar" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
@ -13,10 +13,10 @@
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
<style name="Theme.DfChat.NoActionBar">
<style name="Theme.Feldspar.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.DfChat.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="Theme.DfChat.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
<style name="Theme.Feldspar.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="Theme.Feldspar.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
</resources>

@ -1,4 +1,4 @@
package com.dfsek.dfchat
package com.dfsek.feldspar
import org.junit.Test

@ -20,7 +20,7 @@ dependencies {
gradlePlugin {
plugins {
register("composeFixer") {
id = "com.dfsek.dfchat.compose-fixer"
id = "com.dfsek.feldspar.compose-fixer"
implementationClass = "TransformPlugin"
}
}

@ -14,7 +14,7 @@ dependencyResolutionManagement {
}
}
rootProject.name = "dfChat"
rootProject.name = "Feldspar"
include(":app")
include(":vector:multipicker")
include(":vector:core-utils")

Loading…
Cancel
Save