diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 875a1122..a74ebba4 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -2,21 +2,27 @@ diff --git a/app/src/main/java/chat/revolt/MainActivity.kt b/app/src/main/java/chat/revolt/MainActivity.kt index a339f100..af3bb9b4 100644 --- a/app/src/main/java/chat/revolt/MainActivity.kt +++ b/app/src/main/java/chat/revolt/MainActivity.kt @@ -22,8 +22,8 @@ import chat.revolt.screens.login.LoginScreen import chat.revolt.screens.login.MfaScreen import chat.revolt.ui.theme.RevoltTheme import com.google.accompanist.navigation.animation.AnimatedNavHost -import com.google.accompanist.navigation.animation.rememberAnimatedNavController import com.google.accompanist.navigation.animation.composable +import com.google.accompanist.navigation.animation.rememberAnimatedNavController import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint diff --git a/app/src/main/java/chat/revolt/api/RevoltAPI.kt b/app/src/main/java/chat/revolt/api/RevoltAPI.kt index ce78e3df..eaad8bfc 100644 --- a/app/src/main/java/chat/revolt/api/RevoltAPI.kt +++ b/app/src/main/java/chat/revolt/api/RevoltAPI.kt @@ -16,8 +16,8 @@ import io.ktor.client.plugins.logging.* import io.ktor.client.plugins.websocket.* import io.ktor.serialization.kotlinx.json.* import kotlinx.coroutines.runBlocking -import kotlinx.serialization.json.Json import kotlinx.serialization.Serializable +import kotlinx.serialization.json.Json const val REVOLT_BASE = "https://api.revolt.chat" const val REVOLT_SUPPORT = "https://support.revolt.chat" diff --git a/app/src/main/java/chat/revolt/api/realtime/RealtimeSocket.kt b/app/src/main/java/chat/revolt/api/realtime/RealtimeSocket.kt index 578fa84a..5812382b 100644 --- a/app/src/main/java/chat/revolt/api/realtime/RealtimeSocket.kt +++ b/app/src/main/java/chat/revolt/api/realtime/RealtimeSocket.kt @@ -13,7 +13,7 @@ import chat.revolt.api.realtime.frames.sendable.PingFrame import io.ktor.client.plugins.websocket.* import io.ktor.websocket.* import kotlinx.coroutines.channels.consumeEach -import java.util.Calendar +import java.util.* enum class DisconnectionState { Disconnected, diff --git a/app/src/main/java/chat/revolt/api/schemas/User.kt b/app/src/main/java/chat/revolt/api/schemas/User.kt index 5b758daf..1c373c79 100644 --- a/app/src/main/java/chat/revolt/api/schemas/User.kt +++ b/app/src/main/java/chat/revolt/api/schemas/User.kt @@ -1,9 +1,9 @@ package chat.revolt.api.schemas import kotlinx.serialization.* -import kotlinx.serialization.json.* import kotlinx.serialization.descriptors.* import kotlinx.serialization.encoding.* +import kotlinx.serialization.json.* @Serializable data class User( diff --git a/app/src/main/java/chat/revolt/components/generic/CollapsibleCard.kt b/app/src/main/java/chat/revolt/components/generic/CollapsibleCard.kt index 37056c9f..d1ba61a1 100644 --- a/app/src/main/java/chat/revolt/components/generic/CollapsibleCard.kt +++ b/app/src/main/java/chat/revolt/components/generic/CollapsibleCard.kt @@ -6,7 +6,10 @@ import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.KeyboardArrowDown import androidx.compose.material.icons.filled.KeyboardArrowUp -import androidx.compose.material3.* +import androidx.compose.material3.Card +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight diff --git a/app/src/main/java/chat/revolt/components/screens/chat/AttachmentManager.kt b/app/src/main/java/chat/revolt/components/screens/chat/AttachmentManager.kt index 0bfdcb75..e60391b0 100644 --- a/app/src/main/java/chat/revolt/components/screens/chat/AttachmentManager.kt +++ b/app/src/main/java/chat/revolt/components/screens/chat/AttachmentManager.kt @@ -4,17 +4,23 @@ import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.horizontalScroll -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Close -import androidx.compose.material3.* +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import chat.revolt.api.routes.microservices.autumn.FileArgs import chat.revolt.R +import chat.revolt.api.routes.microservices.autumn.FileArgs @Composable fun AttachmentManager( diff --git a/app/src/main/java/chat/revolt/components/screens/chat/ChannelIcon.kt b/app/src/main/java/chat/revolt/components/screens/chat/ChannelIcon.kt index a044d3ba..e043a563 100644 --- a/app/src/main/java/chat/revolt/components/screens/chat/ChannelIcon.kt +++ b/app/src/main/java/chat/revolt/components/screens/chat/ChannelIcon.kt @@ -8,8 +8,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource -import chat.revolt.api.schemas.ChannelType import chat.revolt.R +import chat.revolt.api.schemas.ChannelType @Composable fun ChannelIcon( diff --git a/app/src/main/java/chat/revolt/components/screens/home/LinkOnHome.kt b/app/src/main/java/chat/revolt/components/screens/home/LinkOnHome.kt index c857a614..552c9e0a 100644 --- a/app/src/main/java/chat/revolt/components/screens/home/LinkOnHome.kt +++ b/app/src/main/java/chat/revolt/components/screens/home/LinkOnHome.kt @@ -6,7 +6,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.AccountBox -import androidx.compose.material3.* +import androidx.compose.material3.ElevatedButton +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/app/src/main/java/chat/revolt/screens/about/AboutScreen.kt b/app/src/main/java/chat/revolt/screens/about/AboutScreen.kt index 6a9c9c6c..f41e5721 100644 --- a/app/src/main/java/chat/revolt/screens/about/AboutScreen.kt +++ b/app/src/main/java/chat/revolt/screens/about/AboutScreen.kt @@ -2,8 +2,10 @@ package chat.revolt.screens.about import android.os.Build import androidx.compose.foundation.layout.* -import androidx.compose.material3.* -import chat.revolt.R +import androidx.compose.material3.Button +import androidx.compose.material3.ElevatedButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf @@ -19,6 +21,7 @@ import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController import chat.revolt.BuildConfig +import chat.revolt.R import chat.revolt.api.REVOLT_BASE import chat.revolt.api.routes.misc.Root import chat.revolt.api.routes.misc.getRootRoute diff --git a/app/src/main/java/chat/revolt/screens/chat/ChatRouterScreen.kt b/app/src/main/java/chat/revolt/screens/chat/ChatRouterScreen.kt index 0e626327..e42ba5cc 100644 --- a/app/src/main/java/chat/revolt/screens/chat/ChatRouterScreen.kt +++ b/app/src/main/java/chat/revolt/screens/chat/ChatRouterScreen.kt @@ -29,17 +29,17 @@ import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController +import chat.revolt.R import chat.revolt.api.REVOLT_FILES import chat.revolt.api.RevoltAPI -import chat.revolt.components.generic.RemoteImage -import chat.revolt.screens.chat.views.HomeScreen -import chat.revolt.R import chat.revolt.api.realtime.DisconnectionState import chat.revolt.api.realtime.RealtimeSocket import chat.revolt.api.schemas.ChannelType import chat.revolt.components.chat.DisconnectedNotice +import chat.revolt.components.generic.RemoteImage import chat.revolt.components.screens.chat.DrawerChannel import chat.revolt.screens.chat.views.ChannelScreen +import chat.revolt.screens.chat.views.HomeScreen import kotlinx.coroutines.launch class ChatRouterViewModel : ViewModel() { diff --git a/app/src/main/java/chat/revolt/screens/chat/views/ChannelScreen.kt b/app/src/main/java/chat/revolt/screens/chat/views/ChannelScreen.kt index 8ac26bb5..6aeb005d 100644 --- a/app/src/main/java/chat/revolt/screens/chat/views/ChannelScreen.kt +++ b/app/src/main/java/chat/revolt/screens/chat/views/ChannelScreen.kt @@ -33,32 +33,31 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController +import chat.revolt.R +import chat.revolt.RevoltTweenFloat +import chat.revolt.RevoltTweenInt import chat.revolt.api.RevoltAPI import chat.revolt.api.realtime.RealtimeSocket import chat.revolt.api.realtime.frames.receivable.ChannelStartTypingFrame import chat.revolt.api.realtime.frames.receivable.ChannelStopTypingFrame import chat.revolt.api.realtime.frames.receivable.MessageFrame +import chat.revolt.api.routes.channel.fetchMessagesFromChannel import chat.revolt.api.routes.channel.sendMessage +import chat.revolt.api.routes.microservices.autumn.FileArgs +import chat.revolt.api.routes.microservices.autumn.MAX_ATTACHMENTS_PER_MESSAGE +import chat.revolt.api.routes.microservices.autumn.uploadToAutumn import chat.revolt.api.routes.user.addUserIfUnknown import chat.revolt.api.schemas.Channel -import chat.revolt.api.schemas.Message as MessageSchema import chat.revolt.components.chat.Message -import kotlinx.coroutines.launch -import chat.revolt.R -import chat.revolt.RevoltTweenFloat -import chat.revolt.RevoltTweenInt -import chat.revolt.api.routes.channel.fetchMessagesFromChannel -import chat.revolt.api.routes.microservices.autumn.FileArgs import chat.revolt.components.chat.MessageField import chat.revolt.components.generic.CollapsibleCard import chat.revolt.components.generic.PageHeader -import chat.revolt.components.screens.chat.ChannelIcon -import androidx.compose.runtime.getValue -import chat.revolt.api.routes.microservices.autumn.MAX_ATTACHMENTS_PER_MESSAGE -import chat.revolt.api.routes.microservices.autumn.uploadToAutumn import chat.revolt.components.screens.chat.AttachmentManager +import chat.revolt.components.screens.chat.ChannelIcon import io.ktor.http.* +import kotlinx.coroutines.launch import java.io.File +import chat.revolt.api.schemas.Message as MessageSchema class ChannelScreenViewModel : ViewModel() { private var _channel by mutableStateOf(null) diff --git a/app/src/main/java/chat/revolt/screens/chat/views/HomeScreen.kt b/app/src/main/java/chat/revolt/screens/chat/views/HomeScreen.kt index aedda60b..81539fe0 100644 --- a/app/src/main/java/chat/revolt/screens/chat/views/HomeScreen.kt +++ b/app/src/main/java/chat/revolt/screens/chat/views/HomeScreen.kt @@ -1,19 +1,19 @@ package chat.revolt.screens.chat.views -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Column import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Close -import androidx.compose.runtime.* +import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.ViewModel import androidx.navigation.NavController +import chat.revolt.R import chat.revolt.api.RevoltAPI +import chat.revolt.components.generic.PageHeader import chat.revolt.components.screens.home.LinkOnHome import chat.revolt.persistence.KVStorage import dagger.hilt.android.lifecycle.HiltViewModel -import chat.revolt.R -import chat.revolt.components.generic.PageHeader import kotlinx.coroutines.runBlocking import javax.inject.Inject diff --git a/app/src/main/java/chat/revolt/screens/login/GreeterScreen.kt b/app/src/main/java/chat/revolt/screens/login/GreeterScreen.kt index 403888a0..7de09241 100644 --- a/app/src/main/java/chat/revolt/screens/login/GreeterScreen.kt +++ b/app/src/main/java/chat/revolt/screens/login/GreeterScreen.kt @@ -1,7 +1,6 @@ package chat.revolt.screens.login import androidx.compose.foundation.Image -import chat.revolt.R import androidx.compose.foundation.layout.* import androidx.compose.material3.Button import androidx.compose.material3.ElevatedButton @@ -19,6 +18,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.navigation.NavController +import chat.revolt.R @Composable fun GreeterScreen(navController: NavController) { diff --git a/app/src/main/java/chat/revolt/screens/login/LoginScreen.kt b/app/src/main/java/chat/revolt/screens/login/LoginScreen.kt index be747f9f..07f88b11 100644 --- a/app/src/main/java/chat/revolt/screens/login/LoginScreen.kt +++ b/app/src/main/java/chat/revolt/screens/login/LoginScreen.kt @@ -6,7 +6,10 @@ import androidx.compose.material3.Button import androidx.compose.material3.ElevatedButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text -import androidx.compose.runtime.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource diff --git a/app/src/main/java/chat/revolt/screens/login/MfaScreen.kt b/app/src/main/java/chat/revolt/screens/login/MfaScreen.kt index a1bc444f..017587c2 100644 --- a/app/src/main/java/chat/revolt/screens/login/MfaScreen.kt +++ b/app/src/main/java/chat/revolt/screens/login/MfaScreen.kt @@ -4,7 +4,10 @@ import android.util.Log import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material3.* +import androidx.compose.material3.Button +import androidx.compose.material3.ElevatedButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/app/src/main/java/chat/revolt/ui/theme/Typography.kt b/app/src/main/java/chat/revolt/ui/theme/Typography.kt index 663268b5..262ceb13 100644 --- a/app/src/main/java/chat/revolt/ui/theme/Typography.kt +++ b/app/src/main/java/chat/revolt/ui/theme/Typography.kt @@ -2,11 +2,11 @@ package chat.revolt.ui.theme import androidx.compose.material3.Typography import androidx.compose.ui.text.TextStyle -import chat.revolt.R import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.sp +import chat.revolt.R private val Inter = FontFamily( Font(R.font.inter_thin, FontWeight.Thin),