refactoring to id.databisnis.bachot

This commit is contained in:
2026-02-20 14:01:46 +07:00
parent e5bfd1c4b0
commit 8d43893962
3932 changed files with 23073 additions and 23073 deletions
+2 -2
View File
@@ -12,12 +12,12 @@ import extension.readLocalProperty
import extension.testCommonDependencies
plugins {
id("io.element.android-compose-library")
id("id.databisnis.android.bachot-compose-library")
id("kotlin-parcelize")
}
android {
namespace = "io.element.android.features.location.api"
namespace = "id.databisnis.android.bachot.features.location.api"
buildFeatures {
buildConfig = true
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api
package id.databisnis.android.bachot.features.location.api
import android.annotation.SuppressLint
import android.os.Parcelable
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api
package id.databisnis.android.bachot.features.location.api
interface LocationService {
fun isServiceAvailable(): Boolean
@@ -6,12 +6,12 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api
package id.databisnis.android.bachot.features.location.api
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node
import io.element.android.libraries.architecture.FeatureEntryPoint
import io.element.android.libraries.matrix.api.timeline.Timeline
import id.databisnis.android.bachot.libraries.architecture.FeatureEntryPoint
import id.databisnis.android.bachot.libraries.matrix.api.timeline.Timeline
/**
* The "Send location" screen.
@@ -6,12 +6,12 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api
package id.databisnis.android.bachot.features.location.api
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node
import io.element.android.libraries.architecture.FeatureEntryPoint
import io.element.android.libraries.architecture.NodeInputs
import id.databisnis.android.bachot.libraries.architecture.FeatureEntryPoint
import id.databisnis.android.bachot.libraries.architecture.NodeInputs
interface ShowLocationEntryPoint : FeatureEntryPoint {
data class Inputs(
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api
package id.databisnis.android.bachot.features.location.api
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.BoxWithConstraints
@@ -28,14 +28,14 @@ import coil3.Extras
import coil3.compose.AsyncImagePainter
import coil3.compose.rememberAsyncImagePainter
import coil3.request.ImageRequest
import io.element.android.compound.theme.ElementTheme
import io.element.android.features.location.api.internal.StaticMapPlaceholder
import io.element.android.features.location.api.internal.StaticMapUrlBuilder
import io.element.android.features.location.api.internal.centerBottomEdge
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.utils.CommonDrawables
import id.databisnis.android.bachot.compound.theme.ElementTheme
import id.databisnis.android.bachot.features.location.api.internal.StaticMapPlaceholder
import id.databisnis.android.bachot.features.location.api.internal.StaticMapUrlBuilder
import id.databisnis.android.bachot.features.location.api.internal.centerBottomEdge
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Icon
import id.databisnis.android.bachot.libraries.designsystem.utils.CommonDrawables
/**
* Shows a static map image downloaded via a third party service's static maps API.
@@ -6,9 +6,9 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api.internal
package id.databisnis.android.bachot.features.location.api.internal
import io.element.android.features.location.api.BuildConfig
import id.databisnis.android.bachot.features.location.api.BuildConfig
import kotlin.math.roundToInt
/**
@@ -8,9 +8,9 @@
@file:JvmName("TileServerStyleUriBuilderKt")
package io.element.android.features.location.api.internal
package id.databisnis.android.bachot.features.location.api.internal
import io.element.android.features.location.api.BuildConfig
import id.databisnis.android.bachot.features.location.api.BuildConfig
internal class MapTilerTileServerStyleUriBuilder(
private val baseUrl: String,
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api.internal
package id.databisnis.android.bachot.features.location.api.internal
import androidx.compose.foundation.layout.BoxScope
import androidx.compose.ui.Modifier
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api.internal
package id.databisnis.android.bachot.features.location.api.internal
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
@@ -23,14 +23,14 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.features.location.api.R
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.ui.strings.CommonStrings
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
import id.databisnis.android.bachot.features.location.api.R
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
import id.databisnis.android.bachot.libraries.designsystem.theme.components.CircularProgressIndicator
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Icon
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Text
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
@Composable
internal fun StaticMapPlaceholder(
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api.internal
package id.databisnis.android.bachot.features.location.api.internal
/**
* Builds an URL for a 3rd party service provider static maps API.
@@ -6,11 +6,11 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api.internal
package id.databisnis.android.bachot.features.location.api.internal
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import io.element.android.compound.theme.ElementTheme
import id.databisnis.android.bachot.compound.theme.ElementTheme
/**
* Builds a style URI for a MapLibre compatible tile server.
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api
package id.databisnis.android.bachot.features.location.api
import com.google.common.truth.Truth.assertThat
import org.junit.Test
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api.internal
package id.databisnis.android.bachot.features.location.api.internal
import com.google.common.truth.Truth.assertThat
import org.junit.Test
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.api.internal
package id.databisnis.android.bachot.features.location.api.internal
import com.google.common.truth.Truth.assertThat
import org.junit.Test
+2 -2
View File
@@ -10,11 +10,11 @@ import extension.testCommonDependencies
*/
plugins {
id("io.element.android-compose-library")
id("id.databisnis.android.bachot-compose-library")
}
android {
namespace = "io.element.android.features.location.impl"
namespace = "id.databisnis.android.bachot.features.location.impl"
testOptions {
unitTests {
isIncludeAndroidResources = true
@@ -6,12 +6,12 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl
package id.databisnis.android.bachot.features.location.impl
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import io.element.android.features.location.api.BuildConfig
import io.element.android.features.location.api.LocationService
import id.databisnis.android.bachot.features.location.api.BuildConfig
import id.databisnis.android.bachot.features.location.api.LocationService
@ContributesBinding(AppScope::class)
class DefaultLocationService : LocationService {
@@ -6,17 +6,17 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common
package id.databisnis.android.bachot.features.location.impl.common
import android.Manifest
import android.view.Gravity
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.ui.graphics.Color
import io.element.android.compound.theme.ElementTheme
import io.element.android.libraries.maplibre.compose.MapLocationSettings
import io.element.android.libraries.maplibre.compose.MapSymbolManagerSettings
import io.element.android.libraries.maplibre.compose.MapUiSettings
import id.databisnis.android.bachot.compound.theme.ElementTheme
import id.databisnis.android.bachot.libraries.maplibre.compose.MapLocationSettings
import id.databisnis.android.bachot.libraries.maplibre.compose.MapSymbolManagerSettings
import id.databisnis.android.bachot.libraries.maplibre.compose.MapUiSettings
import org.maplibre.android.camera.CameraPosition
import org.maplibre.android.geometry.LatLng
@@ -6,12 +6,12 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common
package id.databisnis.android.bachot.features.location.impl.common
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
import io.element.android.libraries.ui.strings.CommonStrings
import id.databisnis.android.bachot.libraries.designsystem.components.dialogs.ConfirmationDialog
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
@Composable
internal fun PermissionDeniedDialog(
@@ -6,12 +6,12 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common
package id.databisnis.android.bachot.features.location.impl.common
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
import io.element.android.libraries.ui.strings.CommonStrings
import id.databisnis.android.bachot.libraries.designsystem.components.dialogs.ConfirmationDialog
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
@Composable
internal fun PermissionRationaleDialog(
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.actions
package id.databisnis.android.bachot.features.location.impl.common.actions
import android.content.Context
import android.content.Intent
@@ -15,10 +15,10 @@ import androidx.annotation.VisibleForTesting
import androidx.core.net.toUri
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import io.element.android.features.location.api.Location
import io.element.android.libraries.androidutils.system.openAppSettingsPage
import io.element.android.libraries.core.extensions.runCatchingExceptions
import io.element.android.libraries.di.annotations.ApplicationContext
import id.databisnis.android.bachot.features.location.api.Location
import id.databisnis.android.bachot.libraries.androidutils.system.openAppSettingsPage
import id.databisnis.android.bachot.libraries.core.extensions.runCatchingExceptions
import id.databisnis.android.bachot.libraries.di.annotations.ApplicationContext
import timber.log.Timber
import java.util.Locale
@@ -6,9 +6,9 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.actions
package id.databisnis.android.bachot.features.location.impl.common.actions
import io.element.android.features.location.api.Location
import id.databisnis.android.bachot.features.location.api.Location
interface LocationActions {
fun share(location: Location, label: String?)
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.permissions
package id.databisnis.android.bachot.features.location.impl.common.permissions
import androidx.compose.runtime.Composable
import com.google.accompanist.permissions.ExperimentalPermissionsApi
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.permissions
package id.databisnis.android.bachot.features.location.impl.common.permissions
sealed interface PermissionsEvents {
data object RequestPermissions : PermissionsEvents
@@ -6,9 +6,9 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.permissions
package id.databisnis.android.bachot.features.location.impl.common.permissions
import io.element.android.libraries.architecture.Presenter
import id.databisnis.android.bachot.libraries.architecture.Presenter
interface PermissionsPresenter : Presenter<PermissionsState> {
fun interface Factory {
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.permissions
package id.databisnis.android.bachot.features.location.impl.common.permissions
data class PermissionsState(
val permissions: Permissions,
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.ui
package id.databisnis.android.bachot.features.location.impl.common.ui
import androidx.compose.foundation.layout.size
import androidx.compose.material3.FloatingActionButtonDefaults
@@ -14,11 +14,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import io.element.android.compound.theme.ElementTheme
import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.libraries.designsystem.theme.components.FloatingActionButton
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.ui.strings.CommonStrings
import id.databisnis.android.bachot.compound.theme.ElementTheme
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
import id.databisnis.android.bachot.libraries.designsystem.theme.components.FloatingActionButton
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Icon
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
/**
* Ref: See design in https://www.figma.com/design/0MMNu7cTOzLOlWb7ctTkv3/Element-X?node-id=3426-141111
@@ -6,15 +6,15 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import io.element.android.features.location.api.SendLocationEntryPoint
import io.element.android.libraries.architecture.createNode
import io.element.android.libraries.matrix.api.timeline.Timeline
import id.databisnis.android.bachot.features.location.api.SendLocationEntryPoint
import id.databisnis.android.bachot.libraries.architecture.createNode
import id.databisnis.android.bachot.libraries.matrix.api.timeline.Timeline
@ContributesBinding(AppScope::class)
class DefaultSendLocationEntryPoint : SendLocationEntryPoint {
@@ -6,9 +6,9 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
import io.element.android.features.location.api.Location
import id.databisnis.android.bachot.features.location.api.Location
sealed interface SendLocationEvents {
data class SendLocation(
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -17,12 +17,12 @@ import com.bumble.appyx.core.plugin.Plugin
import dev.zacsweers.metro.Assisted
import dev.zacsweers.metro.AssistedInject
import im.vector.app.features.analytics.plan.MobileScreen
import io.element.android.annotations.ContributesNode
import io.element.android.libraries.architecture.NodeInputs
import io.element.android.libraries.architecture.inputs
import io.element.android.libraries.di.RoomScope
import io.element.android.libraries.matrix.api.timeline.Timeline
import io.element.android.services.analytics.api.AnalyticsService
import id.databisnis.android.bachot.annotations.ContributesNode
import id.databisnis.android.bachot.libraries.architecture.NodeInputs
import id.databisnis.android.bachot.libraries.architecture.inputs
import id.databisnis.android.bachot.libraries.di.RoomScope
import id.databisnis.android.bachot.libraries.matrix.api.timeline.Timeline
import id.databisnis.android.bachot.services.analytics.api.AnalyticsService
@ContributesNode(RoomScope::class)
@AssistedInject
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@@ -20,21 +20,21 @@ import dev.zacsweers.metro.Assisted
import dev.zacsweers.metro.AssistedFactory
import dev.zacsweers.metro.AssistedInject
import im.vector.app.features.analytics.plan.Composer
import io.element.android.features.location.impl.common.MapDefaults
import io.element.android.features.location.impl.common.actions.LocationActions
import io.element.android.features.location.impl.common.permissions.PermissionsEvents
import io.element.android.features.location.impl.common.permissions.PermissionsPresenter
import io.element.android.features.location.impl.common.permissions.PermissionsState
import io.element.android.features.messages.api.MessageComposerContext
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.core.extensions.flatMap
import io.element.android.libraries.core.meta.BuildMeta
import io.element.android.libraries.matrix.api.room.CreateTimelineParams
import io.element.android.libraries.matrix.api.room.JoinedRoom
import io.element.android.libraries.matrix.api.room.location.AssetType
import io.element.android.libraries.matrix.api.timeline.Timeline
import io.element.android.libraries.textcomposer.model.MessageComposerMode
import io.element.android.services.analytics.api.AnalyticsService
import id.databisnis.android.bachot.features.location.impl.common.MapDefaults
import id.databisnis.android.bachot.features.location.impl.common.actions.LocationActions
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsEvents
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsPresenter
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsState
import id.databisnis.android.bachot.features.messages.api.MessageComposerContext
import id.databisnis.android.bachot.libraries.architecture.Presenter
import id.databisnis.android.bachot.libraries.core.extensions.flatMap
import id.databisnis.android.bachot.libraries.core.meta.BuildMeta
import id.databisnis.android.bachot.libraries.matrix.api.room.CreateTimelineParams
import id.databisnis.android.bachot.libraries.matrix.api.room.JoinedRoom
import id.databisnis.android.bachot.libraries.matrix.api.room.location.AssetType
import id.databisnis.android.bachot.libraries.matrix.api.timeline.Timeline
import id.databisnis.android.bachot.libraries.textcomposer.model.MessageComposerMode
import id.databisnis.android.bachot.services.analytics.api.AnalyticsService
import kotlinx.coroutines.launch
@AssistedInject
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
data class SendLocationState(
val permissionDialog: Dialog,
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
@@ -31,27 +31,27 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import io.element.android.features.location.api.Location
import io.element.android.features.location.api.internal.centerBottomEdge
import io.element.android.features.location.api.internal.rememberTileStyleUrl
import io.element.android.features.location.impl.R
import io.element.android.features.location.impl.common.MapDefaults
import io.element.android.features.location.impl.common.PermissionDeniedDialog
import io.element.android.features.location.impl.common.PermissionRationaleDialog
import io.element.android.features.location.impl.common.ui.LocationFloatingActionButton
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.BottomSheetScaffold
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.designsystem.utils.CommonDrawables
import io.element.android.libraries.maplibre.compose.CameraMode
import io.element.android.libraries.maplibre.compose.CameraMoveStartedReason
import io.element.android.libraries.maplibre.compose.MapLibreMap
import io.element.android.libraries.maplibre.compose.rememberCameraPositionState
import io.element.android.libraries.ui.strings.CommonStrings
import id.databisnis.android.bachot.features.location.api.Location
import id.databisnis.android.bachot.features.location.api.internal.centerBottomEdge
import id.databisnis.android.bachot.features.location.api.internal.rememberTileStyleUrl
import id.databisnis.android.bachot.features.location.impl.R
import id.databisnis.android.bachot.features.location.impl.common.MapDefaults
import id.databisnis.android.bachot.features.location.impl.common.PermissionDeniedDialog
import id.databisnis.android.bachot.features.location.impl.common.PermissionRationaleDialog
import id.databisnis.android.bachot.features.location.impl.common.ui.LocationFloatingActionButton
import id.databisnis.android.bachot.libraries.designsystem.components.button.BackButton
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
import id.databisnis.android.bachot.libraries.designsystem.theme.components.BottomSheetScaffold
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Icon
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Text
import id.databisnis.android.bachot.libraries.designsystem.theme.components.TopAppBar
import id.databisnis.android.bachot.libraries.designsystem.utils.CommonDrawables
import id.databisnis.android.bachot.libraries.maplibre.compose.CameraMode
import id.databisnis.android.bachot.libraries.maplibre.compose.CameraMoveStartedReason
import id.databisnis.android.bachot.libraries.maplibre.compose.MapLibreMap
import id.databisnis.android.bachot.libraries.maplibre.compose.rememberCameraPositionState
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
import org.maplibre.android.camera.CameraPosition
@OptIn(ExperimentalMaterial3Api::class)
@@ -6,14 +6,14 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import io.element.android.features.location.api.ShowLocationEntryPoint
import io.element.android.libraries.architecture.createNode
import id.databisnis.android.bachot.features.location.api.ShowLocationEntryPoint
import id.databisnis.android.bachot.libraries.architecture.createNode
@ContributesBinding(AppScope::class)
class DefaultShowLocationEntryPoint : ShowLocationEntryPoint {
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
sealed interface ShowLocationEvents {
data object Share : ShowLocationEvents
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -17,11 +17,11 @@ import com.bumble.appyx.core.plugin.Plugin
import dev.zacsweers.metro.Assisted
import dev.zacsweers.metro.AssistedInject
import im.vector.app.features.analytics.plan.MobileScreen
import io.element.android.annotations.ContributesNode
import io.element.android.features.location.api.ShowLocationEntryPoint
import io.element.android.libraries.architecture.inputs
import io.element.android.libraries.di.RoomScope
import io.element.android.services.analytics.api.AnalyticsService
import id.databisnis.android.bachot.annotations.ContributesNode
import id.databisnis.android.bachot.features.location.api.ShowLocationEntryPoint
import id.databisnis.android.bachot.libraries.architecture.inputs
import id.databisnis.android.bachot.libraries.di.RoomScope
import id.databisnis.android.bachot.services.analytics.api.AnalyticsService
@ContributesNode(RoomScope::class)
@AssistedInject
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@@ -18,14 +18,14 @@ import androidx.compose.runtime.setValue
import dev.zacsweers.metro.Assisted
import dev.zacsweers.metro.AssistedFactory
import dev.zacsweers.metro.AssistedInject
import io.element.android.features.location.api.Location
import io.element.android.features.location.impl.common.MapDefaults
import io.element.android.features.location.impl.common.actions.LocationActions
import io.element.android.features.location.impl.common.permissions.PermissionsEvents
import io.element.android.features.location.impl.common.permissions.PermissionsPresenter
import io.element.android.features.location.impl.common.permissions.PermissionsState
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.core.meta.BuildMeta
import id.databisnis.android.bachot.features.location.api.Location
import id.databisnis.android.bachot.features.location.impl.common.MapDefaults
import id.databisnis.android.bachot.features.location.impl.common.actions.LocationActions
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsEvents
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsPresenter
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsState
import id.databisnis.android.bachot.libraries.architecture.Presenter
import id.databisnis.android.bachot.libraries.core.meta.BuildMeta
@AssistedInject
class ShowLocationPresenter(
@@ -6,9 +6,9 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import io.element.android.features.location.api.Location
import id.databisnis.android.bachot.features.location.api.Location
data class ShowLocationState(
val permissionDialog: Dialog,
@@ -6,10 +6,10 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.location.api.Location
import id.databisnis.android.bachot.features.location.api.Location
private const val APP_NAME = "ApplicationName"
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.consumeWindowInsets
@@ -22,30 +22,30 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.compound.tokens.generated.TypographyTokens
import io.element.android.features.location.api.internal.rememberTileStyleUrl
import io.element.android.features.location.impl.common.MapDefaults
import io.element.android.features.location.impl.common.PermissionDeniedDialog
import io.element.android.features.location.impl.common.PermissionRationaleDialog
import io.element.android.features.location.impl.common.ui.LocationFloatingActionButton
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.IconButton
import io.element.android.libraries.designsystem.theme.components.Scaffold
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.designsystem.utils.CommonDrawables
import io.element.android.libraries.maplibre.compose.CameraMode
import io.element.android.libraries.maplibre.compose.CameraMoveStartedReason
import io.element.android.libraries.maplibre.compose.IconAnchor
import io.element.android.libraries.maplibre.compose.MapLibreMap
import io.element.android.libraries.maplibre.compose.Symbol
import io.element.android.libraries.maplibre.compose.rememberCameraPositionState
import io.element.android.libraries.maplibre.compose.rememberSymbolState
import io.element.android.libraries.ui.strings.CommonStrings
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
import id.databisnis.android.bachot.compound.tokens.generated.TypographyTokens
import id.databisnis.android.bachot.features.location.api.internal.rememberTileStyleUrl
import id.databisnis.android.bachot.features.location.impl.common.MapDefaults
import id.databisnis.android.bachot.features.location.impl.common.PermissionDeniedDialog
import id.databisnis.android.bachot.features.location.impl.common.PermissionRationaleDialog
import id.databisnis.android.bachot.features.location.impl.common.ui.LocationFloatingActionButton
import id.databisnis.android.bachot.libraries.designsystem.components.button.BackButton
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Icon
import id.databisnis.android.bachot.libraries.designsystem.theme.components.IconButton
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Scaffold
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Text
import id.databisnis.android.bachot.libraries.designsystem.theme.components.TopAppBar
import id.databisnis.android.bachot.libraries.designsystem.utils.CommonDrawables
import id.databisnis.android.bachot.libraries.maplibre.compose.CameraMode
import id.databisnis.android.bachot.libraries.maplibre.compose.CameraMoveStartedReason
import id.databisnis.android.bachot.libraries.maplibre.compose.IconAnchor
import id.databisnis.android.bachot.libraries.maplibre.compose.MapLibreMap
import id.databisnis.android.bachot.libraries.maplibre.compose.Symbol
import id.databisnis.android.bachot.libraries.maplibre.compose.rememberCameraPositionState
import id.databisnis.android.bachot.libraries.maplibre.compose.rememberSymbolState
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
import kotlinx.collections.immutable.toImmutableMap
import org.maplibre.android.camera.CameraPosition
import org.maplibre.android.geometry.LatLng
@@ -6,10 +6,10 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl
package id.databisnis.android.bachot.features.location.impl
import com.google.common.truth.Truth.assertThat
import io.element.android.features.location.api.BuildConfig
import id.databisnis.android.bachot.features.location.api.BuildConfig
import org.junit.Test
class DefaultLocationServiceTest {
@@ -6,9 +6,9 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl
package id.databisnis.android.bachot.features.location.impl
import io.element.android.features.location.impl.common.permissions.PermissionsState
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsState
fun aPermissionsState(
permissions: PermissionsState.Permissions = PermissionsState.Permissions.NoneGranted,
@@ -6,10 +6,10 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.actions
package id.databisnis.android.bachot.features.location.impl.common.actions
import com.google.common.truth.Truth.assertThat
import io.element.android.features.location.api.Location
import id.databisnis.android.bachot.features.location.api.Location
import org.junit.Test
import java.net.URLEncoder
import java.util.Locale
@@ -6,9 +6,9 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.actions
package id.databisnis.android.bachot.features.location.impl.common.actions
import io.element.android.features.location.api.Location
import id.databisnis.android.bachot.features.location.api.Location
class FakeLocationActions : LocationActions {
var sharedLocation: Location? = null
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.common.permissions
package id.databisnis.android.bachot.features.location.impl.common.permissions
import androidx.compose.runtime.Composable
@@ -6,19 +6,19 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import com.bumble.appyx.core.modality.BuildContext
import com.google.common.truth.Truth.assertThat
import io.element.android.features.location.impl.common.actions.FakeLocationActions
import io.element.android.features.location.impl.common.permissions.FakePermissionsPresenter
import io.element.android.features.messages.test.FakeMessageComposerContext
import io.element.android.libraries.matrix.api.timeline.Timeline
import io.element.android.libraries.matrix.test.core.aBuildMeta
import io.element.android.libraries.matrix.test.room.FakeJoinedRoom
import io.element.android.services.analytics.test.FakeAnalyticsService
import io.element.android.tests.testutils.node.TestParentNode
import id.databisnis.android.bachot.features.location.impl.common.actions.FakeLocationActions
import id.databisnis.android.bachot.features.location.impl.common.permissions.FakePermissionsPresenter
import id.databisnis.android.bachot.features.messages.test.FakeMessageComposerContext
import id.databisnis.android.bachot.libraries.matrix.api.timeline.Timeline
import id.databisnis.android.bachot.libraries.matrix.test.core.aBuildMeta
import id.databisnis.android.bachot.libraries.matrix.test.room.FakeJoinedRoom
import id.databisnis.android.bachot.services.analytics.test.FakeAnalyticsService
import id.databisnis.android.bachot.tests.testutils.node.TestParentNode
import org.junit.Rule
import org.junit.Test
@@ -6,35 +6,35 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.send
package id.databisnis.android.bachot.features.location.impl.send
import app.cash.molecule.RecompositionMode
import app.cash.molecule.moleculeFlow
import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
import im.vector.app.features.analytics.plan.Composer
import io.element.android.features.location.api.Location
import io.element.android.features.location.impl.aPermissionsState
import io.element.android.features.location.impl.common.actions.FakeLocationActions
import io.element.android.features.location.impl.common.permissions.FakePermissionsPresenter
import io.element.android.features.location.impl.common.permissions.PermissionsEvents
import io.element.android.features.location.impl.common.permissions.PermissionsPresenter
import io.element.android.features.location.impl.common.permissions.PermissionsState
import io.element.android.features.messages.test.FakeMessageComposerContext
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.room.JoinedRoom
import io.element.android.libraries.matrix.api.room.location.AssetType
import io.element.android.libraries.matrix.api.timeline.Timeline
import io.element.android.libraries.matrix.api.timeline.item.event.toEventOrTransactionId
import io.element.android.libraries.matrix.test.AN_EVENT_ID
import io.element.android.libraries.matrix.test.core.aBuildMeta
import io.element.android.libraries.matrix.test.room.FakeJoinedRoom
import io.element.android.libraries.matrix.test.timeline.FakeTimeline
import io.element.android.libraries.textcomposer.model.MessageComposerMode
import io.element.android.services.analytics.test.FakeAnalyticsService
import io.element.android.tests.testutils.WarmUpRule
import io.element.android.tests.testutils.lambda.lambdaRecorder
import io.element.android.tests.testutils.lambda.value
import id.databisnis.android.bachot.features.location.api.Location
import id.databisnis.android.bachot.features.location.impl.aPermissionsState
import id.databisnis.android.bachot.features.location.impl.common.actions.FakeLocationActions
import id.databisnis.android.bachot.features.location.impl.common.permissions.FakePermissionsPresenter
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsEvents
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsPresenter
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsState
import id.databisnis.android.bachot.features.messages.test.FakeMessageComposerContext
import id.databisnis.android.bachot.libraries.matrix.api.core.EventId
import id.databisnis.android.bachot.libraries.matrix.api.room.JoinedRoom
import id.databisnis.android.bachot.libraries.matrix.api.room.location.AssetType
import id.databisnis.android.bachot.libraries.matrix.api.timeline.Timeline
import id.databisnis.android.bachot.libraries.matrix.api.timeline.item.event.toEventOrTransactionId
import id.databisnis.android.bachot.libraries.matrix.test.AN_EVENT_ID
import id.databisnis.android.bachot.libraries.matrix.test.core.aBuildMeta
import id.databisnis.android.bachot.libraries.matrix.test.room.FakeJoinedRoom
import id.databisnis.android.bachot.libraries.matrix.test.timeline.FakeTimeline
import id.databisnis.android.bachot.libraries.textcomposer.model.MessageComposerMode
import id.databisnis.android.bachot.services.analytics.test.FakeAnalyticsService
import id.databisnis.android.bachot.tests.testutils.WarmUpRule
import id.databisnis.android.bachot.tests.testutils.lambda.lambdaRecorder
import id.databisnis.android.bachot.tests.testutils.lambda.value
import kotlinx.coroutines.delay
import kotlinx.coroutines.test.runTest
import org.junit.Rule
@@ -6,18 +6,18 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import com.bumble.appyx.core.modality.BuildContext
import com.google.common.truth.Truth.assertThat
import io.element.android.features.location.api.Location
import io.element.android.features.location.api.ShowLocationEntryPoint
import io.element.android.features.location.impl.common.actions.FakeLocationActions
import io.element.android.features.location.impl.common.permissions.FakePermissionsPresenter
import io.element.android.libraries.matrix.test.core.aBuildMeta
import io.element.android.services.analytics.test.FakeAnalyticsService
import io.element.android.tests.testutils.node.TestParentNode
import id.databisnis.android.bachot.features.location.api.Location
import id.databisnis.android.bachot.features.location.api.ShowLocationEntryPoint
import id.databisnis.android.bachot.features.location.impl.common.actions.FakeLocationActions
import id.databisnis.android.bachot.features.location.impl.common.permissions.FakePermissionsPresenter
import id.databisnis.android.bachot.libraries.matrix.test.core.aBuildMeta
import id.databisnis.android.bachot.services.analytics.test.FakeAnalyticsService
import id.databisnis.android.bachot.tests.testutils.node.TestParentNode
import org.junit.Rule
import org.junit.Test
@@ -6,21 +6,21 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import app.cash.molecule.RecompositionMode
import app.cash.molecule.moleculeFlow
import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
import io.element.android.features.location.api.Location
import io.element.android.features.location.impl.aPermissionsState
import io.element.android.features.location.impl.common.actions.FakeLocationActions
import io.element.android.features.location.impl.common.permissions.FakePermissionsPresenter
import io.element.android.features.location.impl.common.permissions.PermissionsEvents
import io.element.android.features.location.impl.common.permissions.PermissionsPresenter
import io.element.android.features.location.impl.common.permissions.PermissionsState
import io.element.android.libraries.matrix.test.core.aBuildMeta
import io.element.android.tests.testutils.WarmUpRule
import id.databisnis.android.bachot.features.location.api.Location
import id.databisnis.android.bachot.features.location.impl.aPermissionsState
import id.databisnis.android.bachot.features.location.impl.common.actions.FakeLocationActions
import id.databisnis.android.bachot.features.location.impl.common.permissions.FakePermissionsPresenter
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsEvents
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsPresenter
import id.databisnis.android.bachot.features.location.impl.common.permissions.PermissionsState
import id.databisnis.android.bachot.libraries.matrix.test.core.aBuildMeta
import id.databisnis.android.bachot.tests.testutils.WarmUpRule
import kotlinx.coroutines.delay
import kotlinx.coroutines.test.runTest
import org.junit.Rule
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.impl.show
package id.databisnis.android.bachot.features.location.impl.show
import androidx.activity.ComponentActivity
import androidx.compose.runtime.CompositionLocalProvider
@@ -17,13 +17,13 @@ import androidx.compose.ui.test.onNodeWithContentDescription
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.performClick
import androidx.test.ext.junit.runners.AndroidJUnit4
import io.element.android.libraries.testtags.TestTags
import io.element.android.libraries.ui.strings.CommonStrings
import io.element.android.tests.testutils.EnsureNeverCalled
import io.element.android.tests.testutils.EventsRecorder
import io.element.android.tests.testutils.clickOn
import io.element.android.tests.testutils.ensureCalledOnce
import io.element.android.tests.testutils.pressBack
import id.databisnis.android.bachot.libraries.testtags.TestTags
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
import id.databisnis.android.bachot.tests.testutils.EnsureNeverCalled
import id.databisnis.android.bachot.tests.testutils.EventsRecorder
import id.databisnis.android.bachot.tests.testutils.clickOn
import id.databisnis.android.bachot.tests.testutils.ensureCalledOnce
import id.databisnis.android.bachot.tests.testutils.pressBack
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TestRule
+2 -2
View File
@@ -7,11 +7,11 @@
*/
plugins {
id("io.element.android-library")
id("id.databisnis.android.bachot-library")
}
android {
namespace = "io.element.android.features.location.test"
namespace = "id.databisnis.android.bachot.features.location.test"
}
dependencies {
@@ -6,9 +6,9 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.test
package id.databisnis.android.bachot.features.location.test
import io.element.android.features.location.api.LocationService
import id.databisnis.android.bachot.features.location.api.LocationService
class FakeLocationService(
private val isServiceAvailable: Boolean = false,
@@ -6,13 +6,13 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.test
package id.databisnis.android.bachot.features.location.test
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node
import io.element.android.features.location.api.SendLocationEntryPoint
import io.element.android.libraries.matrix.api.timeline.Timeline
import io.element.android.tests.testutils.lambda.lambdaError
import id.databisnis.android.bachot.features.location.api.SendLocationEntryPoint
import id.databisnis.android.bachot.libraries.matrix.api.timeline.Timeline
import id.databisnis.android.bachot.tests.testutils.lambda.lambdaError
class FakeSendLocationEntryPoint : SendLocationEntryPoint {
override fun createNode(
@@ -6,12 +6,12 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.features.location.test
package id.databisnis.android.bachot.features.location.test
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node
import io.element.android.features.location.api.ShowLocationEntryPoint
import io.element.android.tests.testutils.lambda.lambdaError
import id.databisnis.android.bachot.features.location.api.ShowLocationEntryPoint
import id.databisnis.android.bachot.tests.testutils.lambda.lambdaError
class FakeShowLocationEntryPoint : ShowLocationEntryPoint {
override fun createNode(