mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-12 03:07:42 +00:00
Repackage PickDisplayName
This commit is contained in:
@@ -0,0 +1,69 @@
|
|||||||
|
package org.thoughtcrime.securesms.onboarding.pickname
|
||||||
|
|
||||||
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.Spacer
|
||||||
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.layout.width
|
||||||
|
import androidx.compose.material.Text
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Alignment
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
import network.loki.messenger.R
|
||||||
|
import org.thoughtcrime.securesms.ui.PreviewTheme
|
||||||
|
import org.thoughtcrime.securesms.ui.base
|
||||||
|
import org.thoughtcrime.securesms.ui.components.OutlineButton
|
||||||
|
import org.thoughtcrime.securesms.ui.components.SessionOutlinedTextField
|
||||||
|
import org.thoughtcrime.securesms.ui.contentDescription
|
||||||
|
import org.thoughtcrime.securesms.ui.h4
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Composable
|
||||||
|
fun PreviewDisplayName() {
|
||||||
|
PreviewTheme {
|
||||||
|
DisplayName(State())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun DisplayName(state: State, onChange: (String) -> Unit = {}, onContinue: () -> Unit = {}) {
|
||||||
|
Column(
|
||||||
|
verticalArrangement = Arrangement.spacedBy(20.dp),
|
||||||
|
modifier = Modifier
|
||||||
|
.padding(horizontal = 50.dp)
|
||||||
|
.padding(bottom = 12.dp)
|
||||||
|
) {
|
||||||
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
|
Text(stringResource(state.title), style = h4)
|
||||||
|
Text(
|
||||||
|
stringResource(state.description),
|
||||||
|
style = base,
|
||||||
|
modifier = Modifier.padding(bottom = 12.dp))
|
||||||
|
|
||||||
|
SessionOutlinedTextField(
|
||||||
|
text = state.displayName,
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.contentDescription(R.string.AccessibilityId_enter_display_name),
|
||||||
|
placeholder = stringResource(R.string.displayNameEnter),
|
||||||
|
onChange = onChange,
|
||||||
|
onContinue = onContinue,
|
||||||
|
error = state.error?.let { stringResource(it) }
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(modifier = Modifier.weight(2f))
|
||||||
|
|
||||||
|
OutlineButton(
|
||||||
|
stringResource(R.string.continue_2),
|
||||||
|
modifier = Modifier
|
||||||
|
.contentDescription(R.string.AccessibilityId_continue)
|
||||||
|
.align(Alignment.CenterHorizontally)
|
||||||
|
.width(262.dp),
|
||||||
|
onClick = onContinue,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
@@ -4,35 +4,16 @@ import android.content.Context
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
|
||||||
import androidx.compose.foundation.layout.Column
|
|
||||||
import androidx.compose.foundation.layout.Spacer
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
|
||||||
import androidx.compose.foundation.layout.padding
|
|
||||||
import androidx.compose.foundation.layout.width
|
|
||||||
import androidx.compose.material.Text
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.ui.Alignment
|
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.res.stringResource
|
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import network.loki.messenger.R
|
|
||||||
import org.session.libsession.utilities.TextSecurePreferences
|
import org.session.libsession.utilities.TextSecurePreferences
|
||||||
import org.thoughtcrime.securesms.ApplicationContext
|
import org.thoughtcrime.securesms.ApplicationContext
|
||||||
import org.thoughtcrime.securesms.BaseActionBarActivity
|
import org.thoughtcrime.securesms.BaseActionBarActivity
|
||||||
import org.thoughtcrime.securesms.home.startHomeActivity
|
import org.thoughtcrime.securesms.home.startHomeActivity
|
||||||
import org.thoughtcrime.securesms.onboarding.messagenotifications.startMessageNotificationsActivity
|
import org.thoughtcrime.securesms.onboarding.messagenotifications.startMessageNotificationsActivity
|
||||||
import org.thoughtcrime.securesms.ui.PreviewTheme
|
|
||||||
import org.thoughtcrime.securesms.ui.base
|
|
||||||
import org.thoughtcrime.securesms.ui.components.OutlineButton
|
|
||||||
import org.thoughtcrime.securesms.ui.components.SessionOutlinedTextField
|
|
||||||
import org.thoughtcrime.securesms.ui.contentDescription
|
|
||||||
import org.thoughtcrime.securesms.ui.h4
|
|
||||||
import org.thoughtcrime.securesms.ui.setComposeContent
|
import org.thoughtcrime.securesms.ui.setComposeContent
|
||||||
import org.thoughtcrime.securesms.util.setUpActionBarSessionLogo
|
import org.thoughtcrime.securesms.util.setUpActionBarSessionLogo
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -71,53 +52,6 @@ class PickDisplayNameActivity : BaseActionBarActivity() {
|
|||||||
val state = viewModel.stateFlow.collectAsState()
|
val state = viewModel.stateFlow.collectAsState()
|
||||||
DisplayName(state.value, viewModel::onChange) { viewModel.onContinue(this) }
|
DisplayName(state.value, viewModel::onChange) { viewModel.onContinue(this) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@Preview
|
|
||||||
@Composable
|
|
||||||
fun PreviewDisplayName() {
|
|
||||||
PreviewTheme {
|
|
||||||
DisplayName(State())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
fun DisplayName(state: State, onChange: (String) -> Unit = {}, onContinue: () -> Unit = {}) {
|
|
||||||
Column(
|
|
||||||
verticalArrangement = Arrangement.spacedBy(20.dp),
|
|
||||||
modifier = Modifier
|
|
||||||
.padding(horizontal = 50.dp)
|
|
||||||
.padding(bottom = 12.dp)
|
|
||||||
) {
|
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
|
||||||
Text(stringResource(state.title), style = h4)
|
|
||||||
Text(
|
|
||||||
stringResource(state.description),
|
|
||||||
style = base,
|
|
||||||
modifier = Modifier.padding(bottom = 12.dp))
|
|
||||||
|
|
||||||
SessionOutlinedTextField(
|
|
||||||
text = state.displayName,
|
|
||||||
modifier = Modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.contentDescription(R.string.AccessibilityId_enter_display_name),
|
|
||||||
placeholder = stringResource(R.string.displayNameEnter),
|
|
||||||
onChange = onChange,
|
|
||||||
onContinue = onContinue,
|
|
||||||
error = state.error?.let { stringResource(it) }
|
|
||||||
)
|
|
||||||
|
|
||||||
Spacer(modifier = Modifier.weight(2f))
|
|
||||||
|
|
||||||
OutlineButton(
|
|
||||||
stringResource(R.string.continue_2),
|
|
||||||
modifier = Modifier
|
|
||||||
.contentDescription(R.string.AccessibilityId_continue)
|
|
||||||
.align(Alignment.CenterHorizontally)
|
|
||||||
.width(262.dp),
|
|
||||||
onClick = onContinue,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.startPickDisplayNameActivity(failedToLoad: Boolean = false, flags: Int = 0) {
|
fun Context.startPickDisplayNameActivity(failedToLoad: Boolean = false, flags: Int = 0) {
|
||||||
|
Reference in New Issue
Block a user