mirror of
https://github.com/tabidachinokaze/Electro.git
synced 2026-03-01 03:49:43 +08:00
refactor: 修改包名
This commit is contained in:
@@ -29,11 +29,11 @@ val commitHash = providers.exec {
|
||||
val buildDateTime: String = SimpleDateFormat("yy.MMddHH").format(Date())
|
||||
|
||||
android {
|
||||
namespace = "cn.tabidachi.electro"
|
||||
namespace = "moe.tabidachi.electro"
|
||||
compileSdk = 36
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "cn.tabidachi.electro"
|
||||
applicationId = "moe.tabidachi.electro"
|
||||
minSdk = 28
|
||||
targetSdk = 36
|
||||
versionCode = commitCount.toInt()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
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("cn.tabidachi.electro", appContext.packageName)
|
||||
assertEquals("moe.tabidachi.electro", appContext.packageName)
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,7 @@
|
||||
<application
|
||||
android:name=".ElectroApplication"
|
||||
android:allowBackup="true"
|
||||
android:allowNativeHeapPointerTagging="false"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
@@ -32,15 +33,13 @@
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.Electro"
|
||||
android:allowNativeHeapPointerTagging="false"
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name="cn.tabidachi.electro.LocationActivity"
|
||||
android:name=".LocationActivity"
|
||||
android:exported="true"
|
||||
android:launchMode="standard"
|
||||
android:theme="@style/Theme.Electro">
|
||||
</activity>
|
||||
android:theme="@style/Theme.Electro" />
|
||||
|
||||
<meta-data
|
||||
android:name="com.amap.api.v2.apikey"
|
||||
@@ -108,7 +107,7 @@
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="cn.tabidachi.electro.FileProvider"
|
||||
android:authorities="${applicationId}.FileProvider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
package cn.tabidachi.electro.data.database
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverters
|
||||
import cn.tabidachi.electro.data.database.dao.AccountDao
|
||||
import cn.tabidachi.electro.data.database.dao.ChunkDao
|
||||
import cn.tabidachi.electro.data.database.dao.DialogDao
|
||||
import cn.tabidachi.electro.data.database.dao.DownloadDao
|
||||
import cn.tabidachi.electro.data.database.dao.MessageDao
|
||||
import cn.tabidachi.electro.data.database.dao.MessageSendRequestDao
|
||||
import cn.tabidachi.electro.data.database.dao.PathDao
|
||||
import cn.tabidachi.electro.data.database.dao.QueryUserDao
|
||||
import cn.tabidachi.electro.data.database.dao.SearchDao
|
||||
import cn.tabidachi.electro.data.database.dao.SessionDao
|
||||
import cn.tabidachi.electro.data.database.dao.SessionSearchDao
|
||||
import cn.tabidachi.electro.data.database.dao.SessionUserDao
|
||||
import cn.tabidachi.electro.data.database.dao.UserDao
|
||||
import cn.tabidachi.electro.data.database.entity.Account
|
||||
import cn.tabidachi.electro.data.database.entity.Chunk
|
||||
import cn.tabidachi.electro.data.database.entity.Dialog
|
||||
import cn.tabidachi.electro.data.database.entity.Download
|
||||
import cn.tabidachi.electro.data.database.entity.ListTypeConverter
|
||||
import cn.tabidachi.electro.data.database.entity.Message
|
||||
import cn.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import cn.tabidachi.electro.data.database.entity.Path
|
||||
import cn.tabidachi.electro.data.database.entity.Search
|
||||
import cn.tabidachi.electro.data.database.entity.Session
|
||||
import cn.tabidachi.electro.data.database.entity.SessionSearch
|
||||
import cn.tabidachi.electro.data.database.entity.SessionUser
|
||||
import cn.tabidachi.electro.data.database.entity.User
|
||||
import cn.tabidachi.electro.model.UserQuery
|
||||
|
||||
@Database(
|
||||
entities = [
|
||||
Dialog::class,
|
||||
Message::class,
|
||||
MessageSendRequest::class,
|
||||
SessionSearch::class,
|
||||
Path::class,
|
||||
SessionUser::class,
|
||||
Account::class,
|
||||
Chunk::class,
|
||||
Download::class,
|
||||
User::class,
|
||||
Session::class,
|
||||
UserQuery::class,
|
||||
Search::class
|
||||
],
|
||||
version = 1,
|
||||
exportSchema = false
|
||||
)
|
||||
@TypeConverters(ListTypeConverter::class)
|
||||
abstract class ElectroDatabase : RoomDatabase() {
|
||||
abstract fun messageDao(): MessageDao
|
||||
abstract fun messageSendRequestDao(): MessageSendRequestDao
|
||||
abstract fun dialogDao(): DialogDao
|
||||
abstract fun sessionSearchDao(): SessionSearchDao
|
||||
abstract fun pathDao(): PathDao
|
||||
abstract fun sessionUserDao(): SessionUserDao
|
||||
abstract fun accountDao(): AccountDao
|
||||
abstract fun chunkDao(): ChunkDao
|
||||
abstract fun downloadDao(): DownloadDao
|
||||
abstract fun userDao(): UserDao
|
||||
abstract fun sessionDao(): SessionDao
|
||||
abstract fun queryUserDao(): QueryUserDao
|
||||
abstract fun searchDao(): SearchDao
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
package cn.tabidachi.electro.ui.common.attachment
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
package cn.tabidachi.electro.ui.common.attachment
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.app.Application
|
||||
import android.graphics.Bitmap
|
||||
@@ -39,8 +39,8 @@ import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.window.Dialog
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import cn.tabidachi.electro.ext.longTimeFormat
|
||||
import cn.tabidachi.electro.ui.theme.ElectroTheme
|
||||
import moe.tabidachi.electro.ext.longTimeFormat
|
||||
import moe.tabidachi.electro.ui.theme.ElectroTheme
|
||||
import coil3.compose.AsyncImage
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Intent
|
||||
@@ -12,10 +12,10 @@ import androidx.core.app.NotificationManagerCompat
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import cn.tabidachi.electro.ext.checkPermission
|
||||
import cn.tabidachi.electro.ui.call.CallRoute
|
||||
import cn.tabidachi.electro.ui.call.call
|
||||
import cn.tabidachi.electro.ui.theme.ElectroTheme
|
||||
import moe.tabidachi.electro.ext.checkPermission
|
||||
import moe.tabidachi.electro.ui.call.CallRoute
|
||||
import moe.tabidachi.electro.ui.call.call
|
||||
import moe.tabidachi.electro.ui.theme.ElectroTheme
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.app.Application
|
||||
import coil3.ImageLoader
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
@@ -7,7 +7,6 @@ import android.view.inputmethod.InputConnection
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.ui.platform.AbstractComposeView
|
||||
import androidx.compose.ui.platform.ViewCompositionStrategy
|
||||
import androidx.core.view.inputmethod.EditorInfoCompat
|
||||
import androidx.core.view.inputmethod.InputConnectionCompat
|
||||
import io.ktor.http.ContentType
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.Manifest
|
||||
import android.app.Notification
|
||||
@@ -21,7 +21,6 @@ import androidx.core.app.ActivityCompat
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import androidx.core.graphics.drawable.toBitmap
|
||||
import cn.tabidachi.electro.data.network.Ktor
|
||||
import com.google.firebase.messaging.FirebaseMessagingService
|
||||
import com.google.firebase.messaging.RemoteMessage
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
@@ -32,6 +31,7 @@ import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.SupervisorJob
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import moe.tabidachi.electro.data.network.Ktor
|
||||
import javax.inject.Inject
|
||||
import kotlin.random.Random
|
||||
|
||||
@@ -39,7 +39,8 @@ import kotlin.random.Random
|
||||
class ElectroMessagingService : FirebaseMessagingService() {
|
||||
private val scope = CoroutineScope(Dispatchers.Default + SupervisorJob())
|
||||
|
||||
@Inject lateinit var ktor: Ktor
|
||||
@Inject
|
||||
lateinit var ktor: Ktor
|
||||
override fun onNewToken(token: String) {
|
||||
super.onNewToken(token)
|
||||
Log.d(TAG, "onNewToken: $token")
|
||||
@@ -182,7 +183,7 @@ class ElectroNotification(
|
||||
}
|
||||
}
|
||||
|
||||
const val DECLINE_ACTION = "cn.tabidachi.electro.ACTION_CALL_DECLINE"
|
||||
const val ANSWER_ACTION = "cn.tabidachi.electro.ACTION_CALL_ANSWER"
|
||||
const val OFFER_ACTION = "cn.tabidachi.electro.ACTION_CALL_OFFER"
|
||||
const val CALL_ACTION = "cn.tabidachi.electro.ACTION_CALL"
|
||||
const val DECLINE_ACTION = "${BuildConfig.APPLICATION_ID}.ACTION_CALL_DECLINE"
|
||||
const val ANSWER_ACTION = "${BuildConfig.APPLICATION_ID}.ACTION_CALL_ANSWER"
|
||||
const val OFFER_ACTION = "${BuildConfig.APPLICATION_ID}.ACTION_CALL_OFFER"
|
||||
const val CALL_ACTION = "${BuildConfig.APPLICATION_ID}.ACTION_CALL"
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.app.Application
|
||||
import android.net.Uri
|
||||
import androidx.core.net.toUri
|
||||
import cn.tabidachi.electro.data.network.Ktor
|
||||
import moe.tabidachi.electro.data.network.Ktor
|
||||
import io.ktor.client.request.get
|
||||
import io.ktor.client.request.url
|
||||
import io.ktor.client.statement.bodyAsChannel
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.app.Application
|
||||
import android.util.Log
|
||||
@@ -7,15 +7,15 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import cn.tabidachi.electro.data.Repository
|
||||
import cn.tabidachi.electro.data.network.Ktor
|
||||
import cn.tabidachi.electro.ext.dataStore
|
||||
import cn.tabidachi.electro.ktx.TAG
|
||||
import cn.tabidachi.electro.ui.auth.AuthRoute
|
||||
import cn.tabidachi.electro.ui.sessions.SessionsRoute
|
||||
import cn.tabidachi.electro.ui.splash.SplashRoute
|
||||
import cn.tabidachi.electro.ui.theme.DarkLight
|
||||
import cn.tabidachi.electro.ui.theme.Theme
|
||||
import moe.tabidachi.electro.data.Repository
|
||||
import moe.tabidachi.electro.data.network.Ktor
|
||||
import moe.tabidachi.electro.ext.dataStore
|
||||
import moe.tabidachi.electro.ktx.TAG
|
||||
import moe.tabidachi.electro.ui.auth.AuthRoute
|
||||
import moe.tabidachi.electro.ui.sessions.SessionsRoute
|
||||
import moe.tabidachi.electro.ui.splash.SplashRoute
|
||||
import moe.tabidachi.electro.ui.theme.DarkLight
|
||||
import moe.tabidachi.electro.ui.theme.Theme
|
||||
import com.google.firebase.messaging.FirebaseMessaging
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import io.ktor.client.request.post
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.content.Context
|
||||
import android.hardware.camera2.CameraCharacteristics
|
||||
@@ -7,9 +7,9 @@ import android.hardware.camera2.CameraMetadata
|
||||
import android.media.AudioManager
|
||||
import android.util.Log
|
||||
import androidx.core.content.getSystemService
|
||||
import cn.tabidachi.electro.ui.call.PeerConnectionObserver
|
||||
import cn.tabidachi.electro.ui.call.RemoteSessionDescription
|
||||
import cn.tabidachi.electro.ui.call.SessionDescriptionObserver
|
||||
import moe.tabidachi.electro.ui.call.PeerConnectionObserver
|
||||
import moe.tabidachi.electro.ui.call.RemoteSessionDescription
|
||||
import moe.tabidachi.electro.ui.call.SessionDescriptionObserver
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.SupervisorJob
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
@@ -9,10 +9,10 @@ import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.core.view.WindowCompat
|
||||
import cn.tabidachi.electro.model.attachment.LocationAttachment
|
||||
import cn.tabidachi.electro.ui.map.DragDropSelectPointScreen
|
||||
import cn.tabidachi.electro.ui.theme.ElectroTheme
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import moe.tabidachi.electro.model.attachment.LocationAttachment
|
||||
import moe.tabidachi.electro.ui.map.DragDropSelectPointScreen
|
||||
import moe.tabidachi.electro.ui.theme.ElectroTheme
|
||||
|
||||
@AndroidEntryPoint
|
||||
class LocationActivity : ComponentActivity() {
|
||||
@@ -29,7 +29,8 @@ class LocationActivity : ComponentActivity() {
|
||||
DragDropSelectPointScreen(
|
||||
onBack = {
|
||||
finishAndRemoveTask()
|
||||
}, onSelectLocationClick = {
|
||||
},
|
||||
onSelectLocationClick = {
|
||||
val attachment = LocationAttachment {
|
||||
latitude = it.latitude
|
||||
longitude = it.longitude
|
||||
@@ -39,7 +40,8 @@ class LocationActivity : ComponentActivity() {
|
||||
}
|
||||
setResult(114514, intent)
|
||||
finishAndRemoveTask()
|
||||
}, onPoiClick = {
|
||||
},
|
||||
onPoiClick = {
|
||||
val attachment = LocationAttachment {
|
||||
latitude = it.latLonPoint.latitude
|
||||
longitude = it.latLonPoint.longitude
|
||||
@@ -59,4 +61,4 @@ class LocationActivity : ComponentActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import android.app.Activity
|
||||
import android.os.Bundle
|
||||
@@ -11,10 +11,10 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.core.view.WindowCompat
|
||||
import cn.tabidachi.electro.ext.toast
|
||||
import cn.tabidachi.electro.ui.ElectroNavGraph
|
||||
import cn.tabidachi.electro.ui.common.ReleaseDialog
|
||||
import cn.tabidachi.electro.ui.theme.ElectroTheme
|
||||
import moe.tabidachi.electro.ext.toast
|
||||
import moe.tabidachi.electro.ui.ElectroNavGraph
|
||||
import moe.tabidachi.electro.ui.common.ReleaseDialog
|
||||
import moe.tabidachi.electro.ui.theme.ElectroTheme
|
||||
import com.microsoft.appcenter.distribute.Distribute
|
||||
import com.microsoft.appcenter.distribute.DistributeListener
|
||||
import com.microsoft.appcenter.distribute.ReleaseDetails
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro
|
||||
package moe.tabidachi.electro
|
||||
|
||||
import androidx.datastore.preferences.core.longPreferencesKey
|
||||
import androidx.datastore.preferences.core.stringPreferencesKey
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import android.content.ComponentCallbacks
|
||||
import android.content.res.Configuration
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.ComposableTargetMarker
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.annotation.UiThread
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.ui.graphics.Color
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.toArgb
|
||||
import cn.tabidachi.electro.R
|
||||
import moe.tabidachi.electro.R
|
||||
import com.amap.api.maps.AMap
|
||||
import com.amap.api.maps.model.BitmapDescriptor
|
||||
import com.amap.api.maps.model.BitmapDescriptorFactory
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.toArgb
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import com.amap.api.maps.AMap
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.ui.graphics.Color
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.AbstractApplier
|
||||
import com.amap.api.maps.AMap
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import kotlin.contracts.ExperimentalContracts
|
||||
import kotlin.contracts.contract
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import com.amap.api.maps.AMap
|
||||
import com.amap.api.maps.model.LatLngBounds
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import com.amap.api.maps.AMap
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import java.util.Objects
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import com.amap.api.maps.AMap
|
||||
import com.amap.api.maps.MapView
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.ComposeNode
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.ComposeNode
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.ComposeNode
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.ComposeNode
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.amap
|
||||
package moe.tabidachi.electro.amap
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.ComposeNode
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.coil
|
||||
package moe.tabidachi.electro.coil
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.Bitmap
|
||||
@@ -54,4 +54,4 @@ class BlurTransformation(
|
||||
hardwareRenderer.destroy()
|
||||
return bitmap
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data
|
||||
package moe.tabidachi.electro.data
|
||||
|
||||
import android.app.Application
|
||||
import android.net.Uri
|
||||
@@ -6,46 +6,46 @@ import androidx.core.database.getIntOrNull
|
||||
import androidx.core.database.getLongOrNull
|
||||
import androidx.core.database.getStringOrNull
|
||||
import androidx.core.net.toUri
|
||||
import cn.tabidachi.electro.ElectroStorage
|
||||
import cn.tabidachi.electro.data.database.ElectroDatabase
|
||||
import cn.tabidachi.electro.data.database.entity.Chunk
|
||||
import cn.tabidachi.electro.data.database.entity.Dialog
|
||||
import cn.tabidachi.electro.data.database.entity.Download
|
||||
import cn.tabidachi.electro.data.database.entity.Message
|
||||
import cn.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import cn.tabidachi.electro.data.database.entity.Path
|
||||
import cn.tabidachi.electro.data.database.entity.RelationState
|
||||
import cn.tabidachi.electro.data.database.entity.Search
|
||||
import cn.tabidachi.electro.data.database.entity.SessionSearch
|
||||
import cn.tabidachi.electro.data.database.entity.SessionType
|
||||
import cn.tabidachi.electro.data.database.entity.SessionUser
|
||||
import cn.tabidachi.electro.data.database.entity.SessionUserState
|
||||
import cn.tabidachi.electro.data.database.entity.User
|
||||
import cn.tabidachi.electro.data.network.Ktor
|
||||
import cn.tabidachi.electro.data.network.MinIO
|
||||
import cn.tabidachi.electro.ext.md5
|
||||
import cn.tabidachi.electro.ext.md5WithCopy
|
||||
import cn.tabidachi.electro.ext.regex
|
||||
import cn.tabidachi.electro.model.UserQuery
|
||||
import cn.tabidachi.electro.model.attachment.Attachment
|
||||
import cn.tabidachi.electro.model.attachment.AudioAttachment
|
||||
import cn.tabidachi.electro.model.attachment.DocumentAttachment
|
||||
import cn.tabidachi.electro.model.attachment.FileAttachment
|
||||
import cn.tabidachi.electro.model.attachment.ImageAttachment
|
||||
import cn.tabidachi.electro.model.attachment.LocationAttachment
|
||||
import cn.tabidachi.electro.model.attachment.VideoAttachment
|
||||
import cn.tabidachi.electro.model.attachment.VoiceAttachment
|
||||
import cn.tabidachi.electro.model.attachment.WebRTCAttachment
|
||||
import cn.tabidachi.electro.model.attachment.deserialize
|
||||
import cn.tabidachi.electro.model.attachment.serialize
|
||||
import cn.tabidachi.electro.model.request.ChannelUpdateRequest
|
||||
import cn.tabidachi.electro.model.request.GroupUpdateRequest
|
||||
import cn.tabidachi.electro.model.request.MessageRequest
|
||||
import cn.tabidachi.electro.model.request.MessageSyncRequest
|
||||
import cn.tabidachi.electro.model.request.UserUpdateRequest
|
||||
import cn.tabidachi.electro.model.response.ChannelRole
|
||||
import cn.tabidachi.electro.model.response.GroupRole
|
||||
import cn.tabidachi.electro.model.response.Response
|
||||
import moe.tabidachi.electro.ElectroStorage
|
||||
import moe.tabidachi.electro.data.database.ElectroDatabase
|
||||
import moe.tabidachi.electro.data.database.entity.Chunk
|
||||
import moe.tabidachi.electro.data.database.entity.Dialog
|
||||
import moe.tabidachi.electro.data.database.entity.Download
|
||||
import moe.tabidachi.electro.data.database.entity.Message
|
||||
import moe.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import moe.tabidachi.electro.data.database.entity.Path
|
||||
import moe.tabidachi.electro.data.database.entity.RelationState
|
||||
import moe.tabidachi.electro.data.database.entity.Search
|
||||
import moe.tabidachi.electro.data.database.entity.SessionSearch
|
||||
import moe.tabidachi.electro.data.database.entity.SessionType
|
||||
import moe.tabidachi.electro.data.database.entity.SessionUser
|
||||
import moe.tabidachi.electro.data.database.entity.SessionUserState
|
||||
import moe.tabidachi.electro.data.database.entity.User
|
||||
import moe.tabidachi.electro.data.network.Ktor
|
||||
import moe.tabidachi.electro.data.network.MinIO
|
||||
import moe.tabidachi.electro.ext.md5
|
||||
import moe.tabidachi.electro.ext.md5WithCopy
|
||||
import moe.tabidachi.electro.ext.regex
|
||||
import moe.tabidachi.electro.model.UserQuery
|
||||
import moe.tabidachi.electro.model.attachment.Attachment
|
||||
import moe.tabidachi.electro.model.attachment.AudioAttachment
|
||||
import moe.tabidachi.electro.model.attachment.DocumentAttachment
|
||||
import moe.tabidachi.electro.model.attachment.FileAttachment
|
||||
import moe.tabidachi.electro.model.attachment.ImageAttachment
|
||||
import moe.tabidachi.electro.model.attachment.LocationAttachment
|
||||
import moe.tabidachi.electro.model.attachment.VideoAttachment
|
||||
import moe.tabidachi.electro.model.attachment.VoiceAttachment
|
||||
import moe.tabidachi.electro.model.attachment.WebRTCAttachment
|
||||
import moe.tabidachi.electro.model.attachment.deserialize
|
||||
import moe.tabidachi.electro.model.attachment.serialize
|
||||
import moe.tabidachi.electro.model.request.ChannelUpdateRequest
|
||||
import moe.tabidachi.electro.model.request.GroupUpdateRequest
|
||||
import moe.tabidachi.electro.model.request.MessageRequest
|
||||
import moe.tabidachi.electro.model.request.MessageSyncRequest
|
||||
import moe.tabidachi.electro.model.request.UserUpdateRequest
|
||||
import moe.tabidachi.electro.model.response.ChannelRole
|
||||
import moe.tabidachi.electro.model.response.GroupRole
|
||||
import moe.tabidachi.electro.model.response.Response
|
||||
import io.ktor.client.request.get
|
||||
import io.ktor.client.request.head
|
||||
import io.ktor.client.request.header
|
||||
@@ -0,0 +1,68 @@
|
||||
package moe.tabidachi.electro.data.database
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverters
|
||||
import moe.tabidachi.electro.data.database.dao.AccountDao
|
||||
import moe.tabidachi.electro.data.database.dao.ChunkDao
|
||||
import moe.tabidachi.electro.data.database.dao.DialogDao
|
||||
import moe.tabidachi.electro.data.database.dao.DownloadDao
|
||||
import moe.tabidachi.electro.data.database.dao.MessageDao
|
||||
import moe.tabidachi.electro.data.database.dao.MessageSendRequestDao
|
||||
import moe.tabidachi.electro.data.database.dao.PathDao
|
||||
import moe.tabidachi.electro.data.database.dao.QueryUserDao
|
||||
import moe.tabidachi.electro.data.database.dao.SearchDao
|
||||
import moe.tabidachi.electro.data.database.dao.SessionDao
|
||||
import moe.tabidachi.electro.data.database.dao.SessionSearchDao
|
||||
import moe.tabidachi.electro.data.database.dao.SessionUserDao
|
||||
import moe.tabidachi.electro.data.database.dao.UserDao
|
||||
import moe.tabidachi.electro.data.database.entity.Account
|
||||
import moe.tabidachi.electro.data.database.entity.Chunk
|
||||
import moe.tabidachi.electro.data.database.entity.Dialog
|
||||
import moe.tabidachi.electro.data.database.entity.Download
|
||||
import moe.tabidachi.electro.data.database.entity.ListTypeConverter
|
||||
import moe.tabidachi.electro.data.database.entity.Message
|
||||
import moe.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import moe.tabidachi.electro.data.database.entity.Path
|
||||
import moe.tabidachi.electro.data.database.entity.Search
|
||||
import moe.tabidachi.electro.data.database.entity.Session
|
||||
import moe.tabidachi.electro.data.database.entity.SessionSearch
|
||||
import moe.tabidachi.electro.data.database.entity.SessionUser
|
||||
import moe.tabidachi.electro.data.database.entity.User
|
||||
import moe.tabidachi.electro.model.UserQuery
|
||||
|
||||
@Database(
|
||||
entities = [
|
||||
Dialog::class,
|
||||
Message::class,
|
||||
MessageSendRequest::class,
|
||||
SessionSearch::class,
|
||||
Path::class,
|
||||
SessionUser::class,
|
||||
Account::class,
|
||||
Chunk::class,
|
||||
Download::class,
|
||||
User::class,
|
||||
Session::class,
|
||||
UserQuery::class,
|
||||
Search::class
|
||||
],
|
||||
version = 1,
|
||||
exportSchema = false
|
||||
)
|
||||
@TypeConverters(ListTypeConverter::class)
|
||||
abstract class ElectroDatabase : RoomDatabase() {
|
||||
abstract fun messageDao(): MessageDao
|
||||
abstract fun messageSendRequestDao(): MessageSendRequestDao
|
||||
abstract fun dialogDao(): DialogDao
|
||||
abstract fun sessionSearchDao(): SessionSearchDao
|
||||
abstract fun pathDao(): PathDao
|
||||
abstract fun sessionUserDao(): SessionUserDao
|
||||
abstract fun accountDao(): AccountDao
|
||||
abstract fun chunkDao(): ChunkDao
|
||||
abstract fun downloadDao(): DownloadDao
|
||||
abstract fun userDao(): UserDao
|
||||
abstract fun sessionDao(): SessionDao
|
||||
abstract fun queryUserDao(): QueryUserDao
|
||||
abstract fun searchDao(): SearchDao
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.Account
|
||||
import moe.tabidachi.electro.data.database.entity.Account
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.Chunk
|
||||
import moe.tabidachi.electro.data.database.entity.Chunk
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.Dialog
|
||||
import moe.tabidachi.electro.data.database.entity.Dialog
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.Download
|
||||
import moe.tabidachi.electro.data.database.entity.Download
|
||||
|
||||
@Dao
|
||||
interface DownloadDao {
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.Message
|
||||
import moe.tabidachi.electro.data.database.entity.Message
|
||||
|
||||
@Dao
|
||||
interface MessageDao {
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import moe.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.Path
|
||||
import moe.tabidachi.electro.data.database.entity.Path
|
||||
|
||||
@Dao
|
||||
interface PathDao {
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.model.UserQuery
|
||||
import moe.tabidachi.electro.model.UserQuery
|
||||
|
||||
@Dao
|
||||
interface QueryUserDao {
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.Search
|
||||
import moe.tabidachi.electro.data.database.entity.Search
|
||||
|
||||
@Dao
|
||||
interface SearchDao {
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.Session
|
||||
import moe.tabidachi.electro.data.database.entity.Session
|
||||
|
||||
@Dao
|
||||
interface SessionDao {
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.SessionSearch
|
||||
import moe.tabidachi.electro.data.database.entity.SessionSearch
|
||||
|
||||
@Dao
|
||||
interface SessionSearchDao {
|
||||
@@ -1,12 +1,12 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.SessionType
|
||||
import cn.tabidachi.electro.data.database.entity.SessionUser
|
||||
import moe.tabidachi.electro.data.database.entity.SessionType
|
||||
import moe.tabidachi.electro.data.database.entity.SessionUser
|
||||
|
||||
@Dao
|
||||
interface SessionUserDao {
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.tabidachi.electro.data.database.dao
|
||||
package moe.tabidachi.electro.data.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import cn.tabidachi.electro.data.database.entity.User
|
||||
import moe.tabidachi.electro.data.database.entity.User
|
||||
|
||||
@Dao
|
||||
interface UserDao {
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.Ignore
|
||||
@@ -1,8 +1,6 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.TypeConverter
|
||||
import kotlinx.serialization.decodeFromString
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
|
||||
object ListTypeConverter {
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import cn.tabidachi.electro.data.network.DialogResponse
|
||||
import cn.tabidachi.electro.model.Identifiable
|
||||
import moe.tabidachi.electro.data.network.DialogResponse
|
||||
import moe.tabidachi.electro.model.Identifiable
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Entity(primaryKeys = ["sid", "uid"])
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
@@ -1,23 +1,23 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.room.Entity
|
||||
import androidx.room.Ignore
|
||||
import androidx.room.PrimaryKey
|
||||
import cn.tabidachi.electro.R
|
||||
import cn.tabidachi.electro.model.Describable
|
||||
import cn.tabidachi.electro.model.Identifiable
|
||||
import cn.tabidachi.electro.model.attachment.Attachment
|
||||
import cn.tabidachi.electro.model.attachment.AudioAttachment
|
||||
import cn.tabidachi.electro.model.attachment.FileAttachment
|
||||
import cn.tabidachi.electro.model.attachment.ImageAttachment
|
||||
import cn.tabidachi.electro.model.attachment.LocationAttachment
|
||||
import cn.tabidachi.electro.model.attachment.VideoAttachment
|
||||
import cn.tabidachi.electro.model.attachment.VoiceAttachment
|
||||
import cn.tabidachi.electro.model.attachment.WebRTCAttachment
|
||||
import cn.tabidachi.electro.model.attachment.deserialize
|
||||
import cn.tabidachi.electro.model.response.MessageSendResponse
|
||||
import moe.tabidachi.electro.R
|
||||
import moe.tabidachi.electro.model.Describable
|
||||
import moe.tabidachi.electro.model.Identifiable
|
||||
import moe.tabidachi.electro.model.attachment.Attachment
|
||||
import moe.tabidachi.electro.model.attachment.AudioAttachment
|
||||
import moe.tabidachi.electro.model.attachment.FileAttachment
|
||||
import moe.tabidachi.electro.model.attachment.ImageAttachment
|
||||
import moe.tabidachi.electro.model.attachment.LocationAttachment
|
||||
import moe.tabidachi.electro.model.attachment.VideoAttachment
|
||||
import moe.tabidachi.electro.model.attachment.VoiceAttachment
|
||||
import moe.tabidachi.electro.model.attachment.WebRTCAttachment
|
||||
import moe.tabidachi.electro.model.attachment.deserialize
|
||||
import moe.tabidachi.electro.model.response.MessageSendResponse
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Entity
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import cn.tabidachi.electro.model.Identifiable
|
||||
import moe.tabidachi.electro.model.Identifiable
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Entity
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
enum class RelationState {
|
||||
NONE, CONTACT, BLOCK
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import cn.tabidachi.electro.model.Identifiable
|
||||
import moe.tabidachi.electro.model.Identifiable
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
enum class SessionType {
|
||||
NONE, P2P, ROOM, CHANNEL
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.tabidachi.electro.data.database.entity
|
||||
package moe.tabidachi.electro.data.database.entity
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import cn.tabidachi.electro.model.Identifiable
|
||||
import moe.tabidachi.electro.model.Identifiable
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@@ -1,35 +1,35 @@
|
||||
package cn.tabidachi.electro.data.network
|
||||
package moe.tabidachi.electro.data.network
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import cn.tabidachi.electro.BuildConfig
|
||||
import cn.tabidachi.electro.data.database.entity.Message
|
||||
import cn.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import cn.tabidachi.electro.data.database.entity.RelationState
|
||||
import cn.tabidachi.electro.data.database.entity.Session
|
||||
import cn.tabidachi.electro.data.database.entity.SessionSearch
|
||||
import cn.tabidachi.electro.data.database.entity.SessionType
|
||||
import cn.tabidachi.electro.data.database.entity.SessionUserState
|
||||
import cn.tabidachi.electro.data.database.entity.User
|
||||
import cn.tabidachi.electro.ext.ELECTRO
|
||||
import cn.tabidachi.electro.ext.MINIO
|
||||
import cn.tabidachi.electro.model.UserQuery
|
||||
import cn.tabidachi.electro.model.request.CaptchaRequest
|
||||
import cn.tabidachi.electro.model.request.ChannelUpdateRequest
|
||||
import cn.tabidachi.electro.model.request.GroupUpdateRequest
|
||||
import cn.tabidachi.electro.model.request.InviteRequest
|
||||
import cn.tabidachi.electro.model.request.LoginRequest
|
||||
import cn.tabidachi.electro.model.request.MessageRequest
|
||||
import cn.tabidachi.electro.model.request.MessageSyncRequest
|
||||
import cn.tabidachi.electro.model.request.MessageSyncResponse
|
||||
import cn.tabidachi.electro.model.request.RegisterRequest
|
||||
import cn.tabidachi.electro.model.request.SessionCreateRequest
|
||||
import cn.tabidachi.electro.model.request.UserUpdateRequest
|
||||
import cn.tabidachi.electro.model.response.AuthResponse
|
||||
import cn.tabidachi.electro.model.response.ChannelRole
|
||||
import cn.tabidachi.electro.model.response.GroupRole
|
||||
import cn.tabidachi.electro.model.response.MessageSendResponse
|
||||
import cn.tabidachi.electro.model.response.Response
|
||||
import moe.tabidachi.electro.BuildConfig
|
||||
import moe.tabidachi.electro.data.database.entity.Message
|
||||
import moe.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import moe.tabidachi.electro.data.database.entity.RelationState
|
||||
import moe.tabidachi.electro.data.database.entity.Session
|
||||
import moe.tabidachi.electro.data.database.entity.SessionSearch
|
||||
import moe.tabidachi.electro.data.database.entity.SessionType
|
||||
import moe.tabidachi.electro.data.database.entity.SessionUserState
|
||||
import moe.tabidachi.electro.data.database.entity.User
|
||||
import moe.tabidachi.electro.ext.ELECTRO
|
||||
import moe.tabidachi.electro.ext.MINIO
|
||||
import moe.tabidachi.electro.model.UserQuery
|
||||
import moe.tabidachi.electro.model.request.CaptchaRequest
|
||||
import moe.tabidachi.electro.model.request.ChannelUpdateRequest
|
||||
import moe.tabidachi.electro.model.request.GroupUpdateRequest
|
||||
import moe.tabidachi.electro.model.request.InviteRequest
|
||||
import moe.tabidachi.electro.model.request.LoginRequest
|
||||
import moe.tabidachi.electro.model.request.MessageRequest
|
||||
import moe.tabidachi.electro.model.request.MessageSyncRequest
|
||||
import moe.tabidachi.electro.model.request.MessageSyncResponse
|
||||
import moe.tabidachi.electro.model.request.RegisterRequest
|
||||
import moe.tabidachi.electro.model.request.SessionCreateRequest
|
||||
import moe.tabidachi.electro.model.request.UserUpdateRequest
|
||||
import moe.tabidachi.electro.model.response.AuthResponse
|
||||
import moe.tabidachi.electro.model.response.ChannelRole
|
||||
import moe.tabidachi.electro.model.response.GroupRole
|
||||
import moe.tabidachi.electro.model.response.MessageSendResponse
|
||||
import moe.tabidachi.electro.model.response.Response
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.engine.cio.CIO
|
||||
import io.ktor.client.plugins.HttpSend
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.tabidachi.electro.data.network
|
||||
package moe.tabidachi.electro.data.network
|
||||
|
||||
import android.util.Log
|
||||
import cn.tabidachi.electro.model.response.Response
|
||||
import moe.tabidachi.electro.model.response.Response
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.engine.cio.CIO
|
||||
import io.ktor.client.plugins.cache.HttpCache
|
||||
@@ -21,7 +21,6 @@ import io.ktor.http.contentType
|
||||
import io.ktor.serialization.kotlinx.json.json
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.serialization.decodeFromString
|
||||
import kotlinx.serialization.json.Json
|
||||
import java.io.File
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.tabidachi.electro.data.network
|
||||
package moe.tabidachi.electro.data.network
|
||||
|
||||
import cn.tabidachi.electro.BuildConfig
|
||||
import moe.tabidachi.electro.BuildConfig
|
||||
import io.minio.BucketExistsArgs
|
||||
import io.minio.GetObjectArgs
|
||||
import io.minio.GetObjectResponse
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.tabidachi.electro.data.network
|
||||
package moe.tabidachi.electro.data.network
|
||||
|
||||
import android.util.Log
|
||||
import cn.tabidachi.electro.model.WebSocketMessage
|
||||
import moe.tabidachi.electro.model.WebSocketMessage
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.plugins.websocket.ClientWebSocketSession
|
||||
import io.ktor.client.plugins.websocket.cio.webSocketRawSession
|
||||
@@ -24,8 +24,6 @@ import kotlinx.coroutines.flow.asSharedFlow
|
||||
import kotlinx.coroutines.flow.takeWhile
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.decodeFromString
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import org.koitharu.pausingcoroutinedispatcher.launchPausing
|
||||
import java.util.concurrent.atomic.AtomicInteger
|
||||
@@ -1,13 +1,13 @@
|
||||
package cn.tabidachi.electro.di
|
||||
package moe.tabidachi.electro.di
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
import cn.tabidachi.electro.ElectroStorage
|
||||
import cn.tabidachi.electro.data.Repository
|
||||
import cn.tabidachi.electro.data.database.ElectroDatabase
|
||||
import cn.tabidachi.electro.data.network.Ktor
|
||||
import cn.tabidachi.electro.data.network.MinIO
|
||||
import moe.tabidachi.electro.ElectroStorage
|
||||
import moe.tabidachi.electro.data.Repository
|
||||
import moe.tabidachi.electro.data.database.ElectroDatabase
|
||||
import moe.tabidachi.electro.data.network.Ktor
|
||||
import moe.tabidachi.electro.data.network.MinIO
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
import android.content.ContentResolver
|
||||
import android.net.Uri
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
@@ -14,7 +14,7 @@ import androidx.core.content.FileProvider
|
||||
import androidx.datastore.core.DataStore
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import androidx.datastore.preferences.preferencesDataStore
|
||||
import cn.tabidachi.electro.AudioPreviewActivity
|
||||
import moe.tabidachi.electro.AudioPreviewActivity
|
||||
import java.io.File
|
||||
|
||||
val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "electro")
|
||||
@@ -22,7 +22,7 @@ val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "el
|
||||
fun Context.openExternal(file: File, type: String) {
|
||||
val uri = FileProvider.getUriForFile(
|
||||
this,
|
||||
"cn.tabidachi.electro.FileProvider",
|
||||
"$packageName.FileProvider",
|
||||
file
|
||||
)
|
||||
val intent = Intent(Intent.ACTION_VIEW).apply {
|
||||
@@ -35,7 +35,7 @@ fun Context.openExternal(file: File, type: String) {
|
||||
fun Context.fileProvider(path: String): Uri {
|
||||
return FileProvider.getUriForFile(
|
||||
this,
|
||||
"cn.tabidachi.electro.FileProvider",
|
||||
"$packageName.FileProvider",
|
||||
File(path)
|
||||
)
|
||||
}
|
||||
@@ -43,7 +43,7 @@ fun Context.fileProvider(path: String): Uri {
|
||||
fun Context.openExternal(path: String, type: String) {
|
||||
val uri = FileProvider.getUriForFile(
|
||||
this,
|
||||
"cn.tabidachi.electro.FileProvider",
|
||||
"$packageName.FileProvider",
|
||||
File(path)
|
||||
)
|
||||
val intent = Intent(Intent.ACTION_VIEW).apply {
|
||||
@@ -56,7 +56,7 @@ fun Context.openExternal(path: String, type: String) {
|
||||
fun Context.audioPreview(path: String) {
|
||||
val uri = FileProvider.getUriForFile(
|
||||
this,
|
||||
"cn.tabidachi.electro.FileProvider",
|
||||
"$packageName.FileProvider",
|
||||
File(path)
|
||||
)
|
||||
val intent = Intent(this, AudioPreviewActivity::class.java).apply {
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
import java.io.File
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
import java.io.InputStream
|
||||
import java.io.OutputStream
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
fun <T> MutableList<T>.addIfAbsent(element: T): Boolean {
|
||||
return if (contains(element)) {
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
import java.text.DateFormat
|
||||
import java.text.SimpleDateFormat
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.calculateEndPadding
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
fun String.isEmail() = matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$".toRegex())
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.ext
|
||||
package moe.tabidachi.electro.ext
|
||||
|
||||
import io.ktor.http.URLProtocol
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.icons.rounded
|
||||
package moe.tabidachi.electro.icons.rounded
|
||||
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.ui.graphics.Color
|
||||
@@ -1,3 +1,3 @@
|
||||
package cn.tabidachi.electro.ktx
|
||||
package moe.tabidachi.electro.ktx
|
||||
|
||||
val Any.TAG: String get() = this::class.java.simpleName
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
import android.graphics.BitmapFactory
|
||||
import android.media.MediaMetadataRetriever
|
||||
@@ -10,17 +10,17 @@ import androidx.compose.runtime.mutableStateListOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.geometry.Offset
|
||||
import cn.tabidachi.electro.data.Repository
|
||||
import cn.tabidachi.electro.data.database.entity.Message
|
||||
import cn.tabidachi.electro.data.database.entity.MessageType
|
||||
import cn.tabidachi.electro.data.database.entity.User
|
||||
import cn.tabidachi.electro.ext.addIfAbsent
|
||||
import cn.tabidachi.electro.model.attachment.Attachment
|
||||
import cn.tabidachi.electro.model.attachment.DocumentAttachment
|
||||
import cn.tabidachi.electro.model.attachment.LocationAttachment
|
||||
import cn.tabidachi.electro.model.attachment.WebRTCAttachment
|
||||
import cn.tabidachi.electro.ui.common.BubbleType
|
||||
import cn.tabidachi.electro.ui.common.MessageMenu
|
||||
import moe.tabidachi.electro.data.Repository
|
||||
import moe.tabidachi.electro.data.database.entity.Message
|
||||
import moe.tabidachi.electro.data.database.entity.MessageType
|
||||
import moe.tabidachi.electro.data.database.entity.User
|
||||
import moe.tabidachi.electro.ext.addIfAbsent
|
||||
import moe.tabidachi.electro.model.attachment.Attachment
|
||||
import moe.tabidachi.electro.model.attachment.DocumentAttachment
|
||||
import moe.tabidachi.electro.model.attachment.LocationAttachment
|
||||
import moe.tabidachi.electro.model.attachment.WebRTCAttachment
|
||||
import moe.tabidachi.electro.ui.common.BubbleType
|
||||
import moe.tabidachi.electro.ui.common.MessageMenu
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
interface Identifiable {
|
||||
fun identification(): String
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateListOf
|
||||
@@ -6,13 +6,13 @@ import androidx.compose.runtime.mutableStateMapOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.runtime.snapshots.SnapshotStateList
|
||||
import cn.tabidachi.electro.data.Repository
|
||||
import cn.tabidachi.electro.data.database.entity.Message
|
||||
import cn.tabidachi.electro.data.network.Ktor
|
||||
import cn.tabidachi.electro.data.network.MessageType
|
||||
import cn.tabidachi.electro.model.attachment.Attachment
|
||||
import cn.tabidachi.electro.model.attachment.deserialize
|
||||
import cn.tabidachi.electro.ui.common.BubbleType
|
||||
import moe.tabidachi.electro.data.Repository
|
||||
import moe.tabidachi.electro.data.database.entity.Message
|
||||
import moe.tabidachi.electro.data.network.Ktor
|
||||
import moe.tabidachi.electro.data.network.MessageType
|
||||
import moe.tabidachi.electro.model.attachment.Attachment
|
||||
import moe.tabidachi.electro.model.attachment.deserialize
|
||||
import moe.tabidachi.electro.ui.common.BubbleType
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
import android.media.MediaPlayer
|
||||
import androidx.compose.runtime.getValue
|
||||
@@ -1,13 +1,13 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
import android.media.MediaPlayer
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import cn.tabidachi.electro.data.Repository
|
||||
import cn.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import cn.tabidachi.electro.data.database.entity.MessageType
|
||||
import cn.tabidachi.electro.model.attachment.Attachment
|
||||
import moe.tabidachi.electro.data.Repository
|
||||
import moe.tabidachi.electro.data.database.entity.MessageSendRequest
|
||||
import moe.tabidachi.electro.data.database.entity.MessageType
|
||||
import moe.tabidachi.electro.model.attachment.Attachment
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model
|
||||
package moe.tabidachi.electro.model
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package cn.tabidachi.electro.model.attachment
|
||||
package moe.tabidachi.electro.model.attachment
|
||||
|
||||
import cn.tabidachi.electro.data.database.entity.MessageType
|
||||
import kotlinx.serialization.decodeFromString
|
||||
import kotlinx.serialization.encodeToString
|
||||
import moe.tabidachi.electro.data.database.entity.MessageType
|
||||
import kotlinx.serialization.json.Json
|
||||
|
||||
sealed interface Attachment {
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model.attachment
|
||||
package moe.tabidachi.electro.model.attachment
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.tabidachi.electro.model.attachment
|
||||
package moe.tabidachi.electro.model.attachment
|
||||
|
||||
sealed interface DocumentAttachment : Attachment {
|
||||
// mime类型
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user