diff --git a/panel-no-op/src/main/kotlin/com/redmadrobot/debug/noop/plugin/servers/DebugStage.kt b/panel-no-op/src/main/kotlin/com/redmadrobot/debug/noop/plugin/servers/DebugStage.kt deleted file mode 100644 index 118038e7..00000000 --- a/panel-no-op/src/main/kotlin/com/redmadrobot/debug/noop/plugin/servers/DebugStage.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.redmadrobot.debug.plugin.servers.data.model - -data class DebugStage( - val id: Int = 0, - val name: String, - val hosts: Map, - val isDefault: Boolean = false -) diff --git a/panel-no-op/src/main/kotlin/com/redmadrobot/debug/noop/plugin/servers/interceptor/DebugStageInterceptor.kt b/panel-no-op/src/main/kotlin/com/redmadrobot/debug/noop/plugin/servers/interceptor/DebugStageInterceptor.kt deleted file mode 100644 index 2c225b07..00000000 --- a/panel-no-op/src/main/kotlin/com/redmadrobot/debug/noop/plugin/servers/interceptor/DebugStageInterceptor.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.redmadrobot.debug.plugin.servers.interceptor - -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage -import okhttp3.Interceptor -import okhttp3.Request -import okhttp3.Response - -public class DebugStageInterceptor(private val tag: String) : Interceptor { - - public fun modifyRequest(block: (Request, DebugStage) -> Request): DebugStageInterceptor { - return this - } - - override fun intercept(chain: Interceptor.Chain): Response { - return chain.proceed(chain.request()) - } -} diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServerSelectedEvent.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServerSelectedEvent.kt index a99d706c..a35d0527 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServerSelectedEvent.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServerSelectedEvent.kt @@ -2,8 +2,5 @@ package com.redmadrobot.debug.plugin.servers import com.redmadrobot.debug.core.DebugEvent import com.redmadrobot.debug.plugin.servers.data.model.DebugServer -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage public data class ServerSelectedEvent(val debugServer: DebugServer) : DebugEvent - -public data class StageSelectedEvent(val debugServer: DebugStage) : DebugEvent diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServersPlugin.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServersPlugin.kt index 19f8145c..f0f95af8 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServersPlugin.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServersPlugin.kt @@ -8,13 +8,11 @@ import com.redmadrobot.debug.core.internal.EditablePlugin import com.redmadrobot.debug.core.internal.PluginDependencyContainer import com.redmadrobot.debug.core.plugin.Plugin import com.redmadrobot.debug.plugin.servers.data.model.DebugServer -import com.redmadrobot.debug.plugin.servers.data.model.DebugServerData -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage import com.redmadrobot.debug.plugin.servers.ui.ServersScreen import kotlinx.coroutines.runBlocking public class ServersPlugin( - private val preInstalledServers: List = emptyList(), + private val preInstalledServers: List = emptyList(), ) : Plugin(), EditablePlugin { init { @@ -34,14 +32,6 @@ public class ServersPlugin( public fun getDefaultServer(): DebugServer { return getPlugin().getContainer().serversRepository.getDefault() } - - public fun getSelectedStage(): DebugStage? { - return getPlugin().getContainer().stagesRepository.getSelectedStage() - } - - public fun getDefaultStage(): DebugStage? { - return getPlugin().getContainer().stagesRepository.getDefault() - } } public constructor(preInstalledServers: DebugDataProvider>) : this( diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServersPluginContainer.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServersPluginContainer.kt index 80b7228f..161a9c6f 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServersPluginContainer.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ServersPluginContainer.kt @@ -3,40 +3,27 @@ package com.redmadrobot.debug.plugin.servers import com.redmadrobot.debug.core.internal.CommonContainer import com.redmadrobot.debug.core.internal.PluginDependencyContainer import com.redmadrobot.debug.plugin.servers.data.DebugServerRepository -import com.redmadrobot.debug.plugin.servers.data.DebugStageRepository import com.redmadrobot.debug.plugin.servers.data.model.DebugServer -import com.redmadrobot.debug.plugin.servers.data.model.DebugServerData -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage import com.redmadrobot.debug.plugin.servers.data.storage.ServersPluginDatabase import com.redmadrobot.debug.plugin.servers.ui.ServersViewModel internal class ServersPluginContainer( - private val preinstalledStages: List, + private val preinstalledServers: List, private val container: CommonContainer ) : PluginDependencyContainer { - private val pluginStorage by lazy { ServersPluginDatabase.getInstance(container.context) } val serversRepository by lazy { DebugServerRepository( - container.context, - pluginStorage.getDebugServersDao(), - preinstalledStages.filterIsInstance(), - ) - } - - val stagesRepository by lazy { - DebugStageRepository( - container.context, - pluginStorage.getDebugStagesDao(), - preinstalledStages.filterIsInstance() + context = container.context, + debugServersDao = pluginStorage.getDebugServersDao(), + preInstalledServers = preinstalledServers, ) } fun createServersViewModel(): ServersViewModel { return ServersViewModel( serversRepository, - stagesRepository ) } } diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/DebugServerRepository.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/DebugServerRepository.kt index 6c6f6376..aee7e805 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/DebugServerRepository.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/DebugServerRepository.kt @@ -13,7 +13,6 @@ internal class DebugServerRepository( private val debugServersDao: DebugServersDao, private val preInstalledServers: List ) { - companion object { private const val SELECTED_SERVER_URL = "SELECTED_SERVER_URL" private const val SELECTED_SERVER_NAME = "SELECTED_SERVER_NAME" diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/DebugStageRepository.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/DebugStageRepository.kt deleted file mode 100644 index 21474eb0..00000000 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/DebugStageRepository.kt +++ /dev/null @@ -1,66 +0,0 @@ -package com.redmadrobot.debug.plugin.servers.data - -import android.content.Context -import androidx.core.content.edit -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage -import com.redmadrobot.debug.plugin.servers.data.storage.DebugStagesDao -import com.redmadrobot.debug.plugin.servers.data.storage.SharedPreferencesProvider -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.withContext - -internal class DebugStageRepository( - private val context: Context, - private val debugStagesDao: DebugStagesDao, - private val preInstalledStages: List, -) { - - companion object { - private const val SELECTED_STAGE_HOSTS_HASH = "SELECTED_STAGE_HOSTS_HASH" - private const val SELECTED_STAGE_NAME = "SELECTED_STAGE_NAME" - } - - private val sharedPreferences by lazy { - SharedPreferencesProvider.get(context) - } - - fun getPreInstalledStages(): List { - return preInstalledStages - } - - fun saveSelectedStage(selectedStage: DebugStage) { - sharedPreferences.edit { - putString(SELECTED_STAGE_NAME, selectedStage.name) - putInt(SELECTED_STAGE_HOSTS_HASH, selectedStage.hosts.hashCode()) - } - } - - fun getSelectedStage(): DebugStage? { - val stageName = sharedPreferences.getString(SELECTED_STAGE_NAME, null) - val hostsHash = sharedPreferences.getInt(SELECTED_STAGE_HOSTS_HASH, -1) - - return if (stageName != null) { - preInstalledStages - .find { it.name == stageName && it.hosts.hashCode() == hostsHash } - ?: debugStagesDao.getStage(stageName) - ?: getDefault() - } else { - getDefault() - } - } - - fun getDefault(): DebugStage? { - return preInstalledStages.firstOrNull { it.isDefault } - } - - suspend fun getStages(): List { - return withContext(Dispatchers.IO) { - debugStagesDao.getAll() - } - } - - suspend fun updateStage(server: DebugStage) { - withContext(Dispatchers.IO) { - debugStagesDao.update(server) - } - } -} diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugServer.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugServer.kt index 554c77ec..6d7779a7 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugServer.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugServer.kt @@ -6,11 +6,11 @@ import androidx.room.PrimaryKey @Entity(tableName = DebugServer.TABLE_NAME) public data class DebugServer( @PrimaryKey(autoGenerate = true) - override val id: Int = 0, - override val name: String, + val id: Int = 0, + val name: String, val url: String, - override val isDefault: Boolean = false -) : DebugServerData { + val isDefault: Boolean = false +) { internal companion object { const val TABLE_NAME = "debug_server" } diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugServerData.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugServerData.kt deleted file mode 100644 index 85c2ecb9..00000000 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugServerData.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.redmadrobot.debug.plugin.servers.data.model - -public interface DebugServerData { - public val id: Int - public val name: String - public val isDefault: Boolean -} diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugStage.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugStage.kt deleted file mode 100644 index d8335758..00000000 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/model/DebugStage.kt +++ /dev/null @@ -1,23 +0,0 @@ -package com.redmadrobot.debug.plugin.servers.data.model - -import androidx.room.Entity -import androidx.room.PrimaryKey - -@Entity(tableName = DebugStage.TABLE_NAME) -public data class DebugStage( - @PrimaryKey(autoGenerate = true) - override val id: Int = 0, - override val name: String, - val hosts: Map, - override val isDefault: Boolean = false -) : DebugServerData { - - internal companion object { - const val TABLE_NAME = "debug_stage" - } - - override fun equals(other: Any?): Boolean { - val otherServer = other as DebugStage - return this.hosts.size == otherServer.hosts.size && this.hosts == otherServer.hosts - } -} diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/DbConverters.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/DbConverters.kt deleted file mode 100644 index 9cd85265..00000000 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/DbConverters.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.redmadrobot.debug.plugin.servers.data.storage - -import androidx.room.TypeConverter -import kotlinx.serialization.decodeFromString -import kotlinx.serialization.encodeToString -import kotlinx.serialization.json.Json - - -internal class DbConverters { - - @TypeConverter - fun fromMap(map: Map?): String { - return Json.encodeToString(map ?: emptyMap()) - } - - @TypeConverter - fun toMap(data: String?): Map { - return data?.let { Json.decodeFromString(data) } ?: emptyMap() - } -} \ No newline at end of file diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/DebugStagesDao.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/DebugStagesDao.kt deleted file mode 100644 index 417e02af..00000000 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/DebugStagesDao.kt +++ /dev/null @@ -1,23 +0,0 @@ -package com.redmadrobot.debug.plugin.servers.data.storage - -import androidx.room.* -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage - -@Dao -internal interface DebugStagesDao { - - @Query("SELECT * FROM ${DebugStage.TABLE_NAME}") - suspend fun getAll(): List - - @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun insert(server: DebugStage) - - @Delete - suspend fun remove(server: DebugStage) - - @Update - suspend fun update(server: DebugStage) - - @Query("SELECT * FROM ${DebugStage.TABLE_NAME} WHERE name = :name") - fun getStage(name: String): DebugStage? -} diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/ServersPluginDatabase.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/ServersPluginDatabase.kt index dc168d83..cf514a06 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/ServersPluginDatabase.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/data/storage/ServersPluginDatabase.kt @@ -4,20 +4,15 @@ import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase -import androidx.room.TypeConverters import com.redmadrobot.debug.plugin.servers.data.model.DebugServer -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage @Database( - entities = [DebugServer::class, DebugStage::class], - version = 2 + entities = [DebugServer::class], + version = 3 ) -@TypeConverters(DbConverters::class) internal abstract class ServersPluginDatabase : RoomDatabase() { abstract fun getDebugServersDao(): DebugServersDao - abstract fun getDebugStagesDao(): DebugStagesDao - companion object { private const val DATABASE_NAME = "servers_plugin_db" diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/interceptor/DebugStageInterceptor.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/interceptor/DebugStageInterceptor.kt deleted file mode 100644 index ae859e57..00000000 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/interceptor/DebugStageInterceptor.kt +++ /dev/null @@ -1,65 +0,0 @@ -package com.redmadrobot.debug.plugin.servers.interceptor - -import com.redmadrobot.debug.core.DebugPanel -import com.redmadrobot.debug.core.extension.getPlugin -import com.redmadrobot.debug.plugin.servers.ServersPlugin -import com.redmadrobot.debug.plugin.servers.ServersPluginContainer -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage -import okhttp3.HttpUrl -import okhttp3.Interceptor -import okhttp3.Request -import okhttp3.Response -import java.net.URI - -public class DebugStageInterceptor(private val hostName: String) : Interceptor { - - private var requestModifier: ((Request, DebugStage) -> Request?)? = null - - private val stageRepository by lazy { - getPlugin() - .getContainer() - .stagesRepository - } - - /** - * Additional request modification - * */ - public fun modifyRequest(block: (Request, DebugStage) -> Request): DebugStageInterceptor { - this.requestModifier = block - return this - } - - override fun intercept(chain: Interceptor.Chain): Response { - val originalRequest = chain.request() - - if (!DebugPanel.isInitialized) { - return chain.proceed(originalRequest) - } - - val debugStage = stageRepository.getSelectedStage() - val host = debugStage?.hosts?.get(hostName) - var currentRequest = originalRequest - - if (host != null) { - val newUrl = originalRequest.getNewUrl(host) - if (newUrl != originalRequest.url) { - currentRequest = originalRequest.newBuilder().url(newUrl).build() - } - } - - val modifiedRequest = debugStage?.let { stage -> - requestModifier?.invoke(currentRequest, stage) - } - - return chain.proceed(modifiedRequest ?: currentRequest) - } - - - private fun Request.getNewUrl(debugServer: String): HttpUrl { - val serverUri = URI(debugServer) - return this.url.newBuilder() - .scheme(serverUri.scheme) - .host(serverUri.host) - .build() - } -} diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersScreen.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersScreen.kt index f90ae23a..1e527a67 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersScreen.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersScreen.kt @@ -50,7 +50,6 @@ import com.redmadrobot.debug.plugin.servers.R import com.redmadrobot.debug.plugin.servers.ServersPlugin import com.redmadrobot.debug.plugin.servers.ServersPluginContainer import com.redmadrobot.debug.plugin.servers.data.model.DebugServer -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage @SuppressLint("UnusedMaterialScaffoldPaddingParameter") @Composable @@ -84,7 +83,6 @@ internal fun ServersScreen( state = state, isEditMode = isEditMode, onServerClick = if (!isEditMode) viewModel::onServerClicked else viewModel::onEditServerClicked, - onStageClick = viewModel::onStageClicked, onServerDeleteClick = viewModel::onRemoveServerClicked ) } @@ -110,19 +108,12 @@ private fun ServersScreenLayout( isEditMode: Boolean, onServerClick: (DebugServer) -> Unit, onServerDeleteClick: (DebugServer) -> Unit, - onStageClick: (DebugStage) -> Unit, ) { LazyColumn( modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.spacedBy(8.dp), contentPadding = PaddingValues(start = 16.dp, end = 16.dp, bottom = 64.dp), ) { - StageItems( - items = state.preInstalledStages, - titleRes = R.string.pre_installed_stages, - isSelectable = !isEditMode, - onItemClick = onStageClick.takeIf { !isEditMode }, - ) ServerItems( items = state.preInstalledServers, titleRes = R.string.pre_installed_servers, @@ -131,12 +122,6 @@ private fun ServersScreenLayout( onItemClick = onServerClick.takeIf { !isEditMode }, onDeleteClick = onServerDeleteClick, ) - StageItems( - items = state.addedStages, - titleRes = R.string.added_stages, - isSelectable = !isEditMode, - onItemClick = onStageClick, - ) ServerItems( items = state.addedServers, titleRes = R.string.added_servers, @@ -170,24 +155,6 @@ private fun LazyListScope.ServerItems( } } -private fun LazyListScope.StageItems( - items: List, - @StringRes titleRes: Int, - isSelectable: Boolean, - onItemClick: ((DebugStage) -> Unit)? = null, -) { - if (items.isEmpty()) return - - TitleItem(titleRes) - items(items) { item -> - StageItem( - stage = item.server, - selected = item.isSelected && isSelectable, - onItemClick = onItemClick, - ) - } -} - private fun LazyListScope.TitleItem(@StringRes titleRes: Int) { item { Text( @@ -257,54 +224,6 @@ private fun ServerItem( } } -@Composable -private fun StageItem( - stage: DebugStage, - selected: Boolean, - onItemClick: ((DebugStage) -> Unit)? = null, -) { - Card( - modifier = Modifier - .fillMaxWidth() - .defaultMinSize(minHeight = 56.dp) - .clickable { onItemClick?.invoke(stage) } - ) { - Column( - modifier = Modifier - .fillMaxSize() - .padding(16.dp) - ) { - Row( - modifier = Modifier.fillMaxSize(), - horizontalArrangement = Arrangement.spacedBy(32.dp), - verticalAlignment = Alignment.CenterVertically - ) { - Icon( - painter = painterResource(R.drawable.icon_stage), - contentDescription = null, - tint = MaterialTheme.colors.primary - ) - Text(stage.name, fontWeight = FontWeight.SemiBold) - Box(modifier = Modifier.weight(1f)) { - if (selected) { - Icon( - painterResource(R.drawable.icon_selected), - contentDescription = null, - modifier = Modifier.align(Alignment.CenterEnd) - ) - } - } - } - Spacer(modifier = Modifier.height(8.dp)) - Column { - stage.hosts.forEach { (key, value) -> - Text(text = "$key: $value", color = Color.Gray, fontSize = 12.sp) - } - } - } - } -} - @Composable private fun ServerDialog( state: ServerDialogState, diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersViewModel.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersViewModel.kt index bd49eab3..b5afda9c 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersViewModel.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersViewModel.kt @@ -8,11 +8,8 @@ import com.redmadrobot.debug.core.internal.PluginViewModel import com.redmadrobot.debug.plugin.servers.R import com.redmadrobot.debug.plugin.servers.ServerSelectedEvent import com.redmadrobot.debug.plugin.servers.ServersPlugin -import com.redmadrobot.debug.plugin.servers.StageSelectedEvent import com.redmadrobot.debug.plugin.servers.data.DebugServerRepository -import com.redmadrobot.debug.plugin.servers.data.DebugStageRepository import com.redmadrobot.debug.plugin.servers.data.model.DebugServer -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -22,7 +19,6 @@ import kotlinx.coroutines.launch internal class ServersViewModel( private val serversRepository: DebugServerRepository, - private val stagesRepository: DebugStageRepository ) : PluginViewModel() { private val _state = MutableStateFlow(ServersViewState()) @@ -34,9 +30,7 @@ internal class ServersViewModel( serversState.copy( preInstalledServers = serversRepository.getPreInstalledServers() .mapToServerItems(), - preInstalledStages = stagesRepository.getPreInstalledStages().mapToStageItems(), addedServers = serversRepository.getServers().mapToServerItems(), - addedStages = stagesRepository.getStages().mapToStageItems() ) } } @@ -175,17 +169,6 @@ internal class ServersViewModel( } } - fun onStageClicked(debugStage: DebugStage) { - viewModelScope.launch { - val selectedStage = stagesRepository.getSelectedStage() - if (debugStage != selectedStage) { - stagesRepository.saveSelectedStage(debugStage) - getPlugin().pushEvent(StageSelectedEvent(debugStage)) - loadServers() - } - } - } - private suspend fun List.mapToServerItems(): List { val selectedServer = serversRepository.getSelectedServer() return map { debugServer -> @@ -193,12 +176,4 @@ internal class ServersViewModel( ServerItemData(debugServer, isSelected) } } - - private fun List.mapToStageItems(): List { - val selectedStage = stagesRepository.getSelectedStage() - return map { debugStage -> - val isSelected = debugStage == selectedStage - StageItemData(debugStage, isSelected) - } - } } diff --git a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersViewState.kt b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersViewState.kt index 79add53e..e54ea5c3 100644 --- a/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersViewState.kt +++ b/plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers/ui/ServersViewState.kt @@ -1,13 +1,10 @@ package com.redmadrobot.debug.plugin.servers.ui import com.redmadrobot.debug.plugin.servers.data.model.DebugServer -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage internal data class ServersViewState( val preInstalledServers: List = emptyList(), val addedServers: List = emptyList(), - val preInstalledStages: List = emptyList(), - val addedStages: List = emptyList(), val serverDialogState: ServerDialogState = ServerDialogState() ) @@ -25,4 +22,3 @@ internal data class ServerDialogErrors( ) internal data class ServerItemData(val server: DebugServer, val isSelected: Boolean) -internal data class StageItemData(val server: DebugStage, val isSelected: Boolean) diff --git a/plugins/plugin-servers/src/main/res/drawable/icon_stage.xml b/plugins/plugin-servers/src/main/res/drawable/icon_stage.xml deleted file mode 100644 index dcde3147..00000000 --- a/plugins/plugin-servers/src/main/res/drawable/icon_stage.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/plugins/plugin-servers/src/main/res/values/strings.xml b/plugins/plugin-servers/src/main/res/values/strings.xml index 8e6c23fd..2f66365a 100644 --- a/plugins/plugin-servers/src/main/res/values/strings.xml +++ b/plugins/plugin-servers/src/main/res/values/strings.xml @@ -1,13 +1,11 @@ Pre-installed servers - Pre-installed stages https://google.com Wrong host format. Must be filled save Default server Added servers - Added stages Name diff --git a/sample/src/debug/kotlin/com/redmadrobot/debug_sample/debug_data/DebugServersProvider.kt b/sample/src/debug/kotlin/com/redmadrobot/debug_sample/debug_data/DebugServersProvider.kt index 27e9cb81..9d6bbf97 100644 --- a/sample/src/debug/kotlin/com/redmadrobot/debug_sample/debug_data/DebugServersProvider.kt +++ b/sample/src/debug/kotlin/com/redmadrobot/debug_sample/debug_data/DebugServersProvider.kt @@ -1,12 +1,9 @@ package com.redmadrobot.debug_sample.debug_data import com.redmadrobot.debug.plugin.servers.data.model.DebugServer -import com.redmadrobot.debug.plugin.servers.data.model.DebugServerData -import com.redmadrobot.debug.plugin.servers.data.model.DebugStage class DebugServersProvider { - - fun provideData(): List { + fun provideData(): List { return listOf( DebugServer( name = "debug 1", @@ -22,15 +19,6 @@ class DebugServersProvider { DebugServer( name = "debug 4", url = "https://testserver4.com" ), - DebugStage( - name = "debug stage 1", - hosts = mapOf( - "main" to "https://testserver1main.com", - "s3" to "https://testserver1s3.com", - "wss" to "https://testserver1wss.com" - ), - isDefault = true - ), ) } }