From 17fe0e827d3cb732413837cd2edc094b3e496eff Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Fri, 27 Oct 2023 15:13:36 +0300 Subject: [PATCH] Refactor extensions --- .../org/futo/circles/core/base/Constants.kt | 26 ------------------- .../org/futo/circles/core/di/ApiModule.kt | 2 +- .../feature/rageshake/BugReportDataSource.kt | 1 - .../feature/rageshake/RageshakeUrlHelper.kt | 15 +++++++++++ .../feature/room/share/ShareRoomViewModel.kt | 4 +-- .../circles/core/feature/share/ShareUrl.kt | 15 +++++++++++ 6 files changed, 33 insertions(+), 30 deletions(-) create mode 100644 core/src/main/java/org/futo/circles/core/feature/rageshake/RageshakeUrlHelper.kt create mode 100644 core/src/main/java/org/futo/circles/core/feature/share/ShareUrl.kt diff --git a/core/src/main/java/org/futo/circles/core/base/Constants.kt b/core/src/main/java/org/futo/circles/core/base/Constants.kt index 0b6ca0840..d5f610932 100644 --- a/core/src/main/java/org/futo/circles/core/base/Constants.kt +++ b/core/src/main/java/org/futo/circles/core/base/Constants.kt @@ -1,31 +1,5 @@ package org.futo.circles.core.base -import org.futo.circles.core.BuildConfig -import org.futo.circles.core.provider.MatrixSessionProvider - const val FILE_PROVIDER_AUTHORITY_EXTENSION = ".provider" - const val MediaCaptionFieldKey = "caption" - const val READ_ONLY_ROLE = -10 - -fun getRageShakeUrl(): String = "https://rageshake.${getCirclesDomain()}/bugreports/submit/" - -fun getCirclesDomain(): String { - if (BuildConfig.DEBUG) return CirclesAppConfig.usServerDomain - val homeServerUrl = MatrixSessionProvider.currentSession?.sessionParams?.homeServerUrl ?: "" - if (homeServerUrl.contains(CirclesAppConfig.usServerDomain)) return CirclesAppConfig.usServerDomain - if (homeServerUrl.contains(CirclesAppConfig.euServerDomain)) return CirclesAppConfig.euServerDomain - return CirclesAppConfig.usServerDomain -} - -const val SHARE_ROOM_URL_PREFIX = "https://circu.li/room/" -const val SHARE_PROFILE_URL_PREFIX = "https://circu.li/profile/" - -fun buildShareRoomUrl(roomId: String, roomName: String, topic: String?) = - SHARE_ROOM_URL_PREFIX + roomId + "/$roomName" + if (topic.isNullOrEmpty()) "" else "/$topic" - -fun buildShareProfileUrl(sharedSpaceId: String) = - MatrixSessionProvider.currentSession?.myUserId?.let { userId -> - "$SHARE_PROFILE_URL_PREFIX$userId/$sharedSpaceId" - } ?: "" diff --git a/core/src/main/java/org/futo/circles/core/di/ApiModule.kt b/core/src/main/java/org/futo/circles/core/di/ApiModule.kt index 5cc644c07..ffeab1be2 100644 --- a/core/src/main/java/org/futo/circles/core/di/ApiModule.kt +++ b/core/src/main/java/org/futo/circles/core/di/ApiModule.kt @@ -7,7 +7,7 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import okhttp3.OkHttpClient -import org.futo.circles.core.base.getRageShakeUrl +import org.futo.circles.core.feature.rageshake.getRageShakeUrl import org.futo.circles.core.feature.rageshake.io.BugreportApiService import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory diff --git a/core/src/main/java/org/futo/circles/core/feature/rageshake/BugReportDataSource.kt b/core/src/main/java/org/futo/circles/core/feature/rageshake/BugReportDataSource.kt index 5bc5ae569..40ffa1726 100644 --- a/core/src/main/java/org/futo/circles/core/feature/rageshake/BugReportDataSource.kt +++ b/core/src/main/java/org/futo/circles/core/feature/rageshake/BugReportDataSource.kt @@ -3,7 +3,6 @@ package org.futo.circles.core.feature.rageshake import okhttp3.ResponseBody import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.createResult -import org.futo.circles.core.base.getRageShakeUrl import org.futo.circles.core.feature.rageshake.io.BugreportApiService import javax.inject.Inject diff --git a/core/src/main/java/org/futo/circles/core/feature/rageshake/RageshakeUrlHelper.kt b/core/src/main/java/org/futo/circles/core/feature/rageshake/RageshakeUrlHelper.kt new file mode 100644 index 000000000..59a5c53ff --- /dev/null +++ b/core/src/main/java/org/futo/circles/core/feature/rageshake/RageshakeUrlHelper.kt @@ -0,0 +1,15 @@ +package org.futo.circles.core.feature.rageshake + +import org.futo.circles.core.BuildConfig +import org.futo.circles.core.base.CirclesAppConfig +import org.futo.circles.core.provider.MatrixSessionProvider + +fun getRageShakeUrl(): String = "https://rageshake.${getCirclesDomain()}/bugreports/submit/" + +fun getCirclesDomain(): String { + if (BuildConfig.DEBUG) return CirclesAppConfig.usServerDomain + val homeServerUrl = MatrixSessionProvider.currentSession?.sessionParams?.homeServerUrl ?: "" + if (homeServerUrl.contains(CirclesAppConfig.usServerDomain)) return CirclesAppConfig.usServerDomain + if (homeServerUrl.contains(CirclesAppConfig.euServerDomain)) return CirclesAppConfig.euServerDomain + return CirclesAppConfig.usServerDomain +} \ No newline at end of file diff --git a/core/src/main/java/org/futo/circles/core/feature/room/share/ShareRoomViewModel.kt b/core/src/main/java/org/futo/circles/core/feature/room/share/ShareRoomViewModel.kt index d374bc922..181636268 100644 --- a/core/src/main/java/org/futo/circles/core/feature/room/share/ShareRoomViewModel.kt +++ b/core/src/main/java/org/futo/circles/core/feature/room/share/ShareRoomViewModel.kt @@ -3,9 +3,9 @@ package org.futo.circles.core.feature.room.share import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import dagger.hilt.android.lifecycle.HiltViewModel -import org.futo.circles.core.base.buildShareProfileUrl -import org.futo.circles.core.base.buildShareRoomUrl import org.futo.circles.core.extensions.getOrThrow +import org.futo.circles.core.feature.share.buildShareProfileUrl +import org.futo.circles.core.feature.share.buildShareRoomUrl import org.futo.circles.core.mapping.nameOrId import org.futo.circles.core.provider.MatrixSessionProvider import org.matrix.android.sdk.api.session.getRoom diff --git a/core/src/main/java/org/futo/circles/core/feature/share/ShareUrl.kt b/core/src/main/java/org/futo/circles/core/feature/share/ShareUrl.kt new file mode 100644 index 000000000..b8ada37a8 --- /dev/null +++ b/core/src/main/java/org/futo/circles/core/feature/share/ShareUrl.kt @@ -0,0 +1,15 @@ +package org.futo.circles.core.feature.share + +import org.futo.circles.core.provider.MatrixSessionProvider + +private const val BASE_SHARE_URL = "https://circu.li/" +const val SHARE_ROOM_URL_PREFIX = "https://circu.li/room/" +const val SHARE_PROFILE_URL_PREFIX = "https://circu.li/profile/" + +fun buildShareRoomUrl(roomId: String, roomName: String, topic: String?) = + SHARE_ROOM_URL_PREFIX + roomId + "/$roomName" + if (topic.isNullOrEmpty()) "" else "/$topic" + +fun buildShareProfileUrl(sharedSpaceId: String) = + MatrixSessionProvider.currentSession?.myUserId?.let { userId -> + "$SHARE_PROFILE_URL_PREFIX$userId/$sharedSpaceId" + } ?: "" \ No newline at end of file -- GitLab