1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-11 18:20:25 +09:00

Redesign | Auth | 1 (#1928)

This commit is contained in:
Evgenii Kozlov 2021-11-16 16:22:03 +03:00 committed by GitHub
parent 978e86fb9b
commit 481495f42a
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 352 additions and 267 deletions

View file

@ -2,6 +2,10 @@
## Version 0.4.1 (WIP)
### Design & UX 🔳
* Redesigned authentification flow (#1928)
### Fixes & tech 🚒
* Sets | Should not crash when state is not initialized when displaying a view's filters (#1929)

View file

@ -32,6 +32,9 @@ class InvitationFragment : NavigationFragment(R.layout.fragment_invitation) {
)
}
}
btnBack.setOnClickListener {
navObserver.onChanged(EventWrapper(AppNavigation.Command.Exit))
}
}
override fun injectDependencies() {}

View file

@ -78,12 +78,7 @@ class KeychainLoginFragment : NavigationFragment(R.layout.fragment_keychain_logi
)
}
backButton.setOnClickListener { vm.onBackButtonPressed() }
tvqrcode.setOnClickListener {
showAlert()
}
ivqrcode.setOnClickListener {
showAlert()
}
tvqrcode.setOnClickListener { showAlert() }
}
private fun showAlert() {

View file

@ -7,13 +7,16 @@ import androidx.activity.addCallback
import androidx.fragment.app.viewModels
import androidx.lifecycle.Observer
import com.anytypeio.anytype.R
import com.anytypeio.anytype.core_utils.ext.gone
import com.anytypeio.anytype.core_utils.ext.showSnackbar
import com.anytypeio.anytype.core_utils.ext.toast
import com.anytypeio.anytype.core_utils.ext.visible
import com.anytypeio.anytype.di.common.componentManager
import com.anytypeio.anytype.presentation.auth.account.SetupNewAccountViewModel
import com.anytypeio.anytype.presentation.auth.account.SetupNewAccountViewModelFactory
import com.anytypeio.anytype.presentation.auth.account.SetupNewAccountViewState
import com.anytypeio.anytype.ui.base.NavigationFragment
import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.fragment_setup_new_account.*
import javax.inject.Inject
@ -45,21 +48,25 @@ class SetupNewAccountFragment : NavigationFragment(R.layout.fragment_setup_new_a
override fun onChanged(state: SetupNewAccountViewState) {
when (state) {
is SetupNewAccountViewState.Loading -> {
tvError.gone()
disableBackNavigation()
icon.startAnimation(animation)
}
is SetupNewAccountViewState.Success -> {
tvError.gone()
enableBackNavigation()
animation.cancel()
}
is SetupNewAccountViewState.Error -> {
enableBackNavigation()
animation.cancel()
root.showSnackbar(state.message)
tvError.text = state.message
tvError.visible()
}
is SetupNewAccountViewState.InvalidCodeError -> {
enableBackNavigation()
animation.cancel()
tvError.gone()
requireActivity().toast(state.message)
}
}

View file

@ -8,6 +8,7 @@ import androidx.fragment.app.viewModels
import androidx.lifecycle.Observer
import androidx.lifecycle.lifecycleScope
import com.anytypeio.anytype.R
import com.anytypeio.anytype.core_utils.ext.gone
import com.anytypeio.anytype.core_utils.ext.invisible
import com.anytypeio.anytype.core_utils.ext.subscribe
import com.anytypeio.anytype.core_utils.ext.visible
@ -38,8 +39,11 @@ open class SetupSelectedAccountFragment :
}
private val errorObserver = Observer<String> {
error.text = it
tvError.visible()
tvError.text = it
rotationAnimation.cancel()
blinkingAnimation.cancel()
tvMigrationInProgress.gone()
}
private val vm : SetupSelectedAccountViewModel by viewModels { factory }
@ -51,7 +55,7 @@ open class SetupSelectedAccountFragment :
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadingIcon.startAnimation(rotationAnimation)
icon.startAnimation(rotationAnimation)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#4D000000" />
<solid android:color="#DFDDD0" />
</shape>

View file

@ -1,19 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="20dp"
android:viewportWidth="24"
android:viewportHeight="20">
<group>
<clip-path
android:pathData="M8.0313,0C6.9267,0 6.0313,0.8954 6.0313,2L3,2C1.3432,2 0,3.3431 0,5V17C0,18.6569 1.3432,20 3,20H21C22.6569,20 24,18.6569 24,17V5C24,3.3431 22.6569,2 21,2H18.0312C18.0312,0.8954 17.1358,0 16.0312,0H8.0313Z"
android:fillType="evenOdd"/>
<path
android:pathData="M6.0313,2V3.5H7.5313V2H6.0313ZM3,2V3.5V2ZM18.0312,2H16.5312V3.5H18.0312V2ZM7.5313,2C7.5313,1.7239 7.7551,1.5 8.0313,1.5V-1.5C6.0982,-1.5 4.5313,0.067 4.5313,2H7.5313ZM3,3.5L6.0313,3.5V0.5L3,0.5V3.5ZM1.5,5C1.5,4.1716 2.1716,3.5 3,3.5V0.5C0.5147,0.5 -1.5,2.5147 -1.5,5H1.5ZM1.5,17V5H-1.5V17H1.5ZM3,18.5C2.1716,18.5 1.5,17.8284 1.5,17H-1.5C-1.5,19.4853 0.5147,21.5 3,21.5V18.5ZM21,18.5H3V21.5H21V18.5ZM22.5,17C22.5,17.8284 21.8284,18.5 21,18.5V21.5C23.4853,21.5 25.5,19.4853 25.5,17H22.5ZM22.5,5V17H25.5V5H22.5ZM21,3.5C21.8284,3.5 22.5,4.1716 22.5,5H25.5C25.5,2.5147 23.4853,0.5 21,0.5V3.5ZM18.0312,3.5H21V0.5H18.0312V3.5ZM16.0312,1.5C16.3074,1.5 16.5312,1.7239 16.5312,2H19.5312C19.5312,0.067 17.9642,-1.5 16.0312,-1.5V1.5ZM8.0313,1.5H16.0312V-1.5H8.0313V1.5Z"
android:fillColor="#ffffff"/>
</group>
android:width="40dp"
android:height="30dp"
android:viewportWidth="40"
android:viewportHeight="30">
<path
android:pathData="M16.25,11C16.25,13.3472 14.3472,15.25 12,15.25C9.6528,15.25 7.75,13.3472 7.75,11C7.75,8.6528 9.6528,6.75 12,6.75C14.3472,6.75 16.25,8.6528 16.25,11Z"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#ffffff"/>
android:pathData="M3,4C1.3432,4 0,5.3432 0,7V27C0,28.6569 1.3432,30 3,30H37C38.6569,30 40,28.6569 40,27V7C40,5.3432 38.6569,4 37,4H3ZM27.5,17C27.5,21.1421 24.1421,24.5 20,24.5C15.8579,24.5 12.5,21.1421 12.5,17C12.5,12.8579 15.8579,9.5 20,9.5C24.1421,9.5 27.5,12.8579 27.5,17ZM29,17C29,21.9706 24.9706,26 20,26C15.0294,26 11,21.9706 11,17C11,12.0294 15.0294,8 20,8C24.9706,8 29,12.0294 29,17Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
<path
android:pathData="M12.4472,1.1056C12.786,0.428 13.4785,0 14.2361,0H25.7639C26.5215,0 27.214,0.428 27.5528,1.1056L29.5528,5.1056C30.2177,6.4354 29.2507,8 27.7639,8H12.2361C10.7493,8 9.7823,6.4354 10.4472,5.1056L12.4472,1.1056Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -1,19 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="110dp"
android:height="19dp"
android:viewportWidth="110"
android:viewportHeight="19">
<path
android:fillColor="#ffffff"
android:pathData="M6.962,18.977C10.276,18.977 12.962,16.29 12.962,12.977C12.962,9.663 10.276,6.977 6.962,6.977C3.648,6.977 0.962,9.663 0.962,12.977C0.962,16.29 3.648,18.977 6.962,18.977Z" />
<path
android:fillColor="#ffffff"
android:pathData="M15.031,3.972h3.949v15.005h-3.949z" />
<path
android:fillColor="#ffffff"
android:pathData="M15.031,0.023V4.023H3.031V0.023L15.031,0.023Z" />
<path
android:fillColor="#ffffff"
android:fillType="evenOdd"
android:pathData="M39.263,4.004H36.217V5.727C35.608,4.656 34.326,3.752 32.708,3.752C31.364,3.752 30.166,4.256 29.305,5.202C28.444,6.147 27.918,7.555 27.918,9.383V9.551C27.918,11.378 28.444,12.786 29.284,13.731C30.145,14.719 31.343,15.223 32.708,15.223C34.41,15.223 35.65,14.383 36.217,13.311V14.991H39.263V4.004ZM33.465,12.849C31.784,12.849 30.86,11.736 30.86,9.572V9.404C30.86,7.156 31.952,6.084 33.486,6.084C35.082,6.084 36.175,7.198 36.175,9.404V9.572C36.175,11.778 35.145,12.849 33.465,12.849ZM42.216,4.004H45.263V5.748C45.83,4.656 46.985,3.752 48.834,3.752C49.927,3.752 50.83,4.088 51.502,4.761C52.153,5.454 52.532,6.546 52.532,7.996V14.992H49.485V8.437C49.485,6.925 48.897,6.231 47.553,6.231C46.229,6.231 45.263,7.03 45.263,8.647V14.992H42.216V4.004ZM57.935,13.878L53.565,4.004H56.842L59.51,10.601L61.968,4.004H64.889L58.943,18.732H56.002L57.935,13.878ZM70.015,15.202C67.683,15.202 66.464,14.026 66.464,11.736V1.229H69.49V4.004H72.207V6.168H69.49V11.462C69.49,12.324 69.889,12.765 70.708,12.765C71.504,12.765 71.879,12.574 72.207,12.394V14.723C71.632,14.998 71.038,15.202 70.015,15.202ZM77.926,13.878L73.557,4.004H76.834L79.502,10.601L81.96,4.004H84.88L78.935,18.732H75.993L77.926,13.878ZM86.25,4.004H89.296V5.727C89.905,4.656 91.187,3.752 92.804,3.752C94.149,3.752 95.346,4.256 96.208,5.202C97.069,6.147 97.594,7.555 97.594,9.383V9.551C97.594,11.378 97.069,12.786 96.229,13.731C95.367,14.719 94.17,15.223 92.804,15.223C91.103,15.223 89.863,14.383 89.296,13.311V18.732H86.25V4.004ZM91.862,12.849C93.542,12.849 94.467,11.736 94.467,9.572V9.404C94.467,7.156 93.374,6.084 91.84,6.084C90.244,6.084 89.151,7.198 89.151,9.404V9.572C89.151,11.778 90.181,12.849 91.862,12.849ZM104.645,15.22C102.986,15.22 101.557,14.716 100.549,13.729C99.52,12.783 98.91,11.397 98.91,9.632V9.464C98.91,7.721 99.52,6.313 100.549,5.305C101.557,4.317 102.965,3.75 104.561,3.75C105.99,3.75 107.313,4.17 108.301,5.074C109.288,5.977 109.918,7.385 109.918,9.338V10.179H101.999C102.083,12.027 103.049,13.057 104.73,13.057C106.158,13.057 106.83,12.447 107.019,11.523H109.897C109.54,13.897 107.671,15.22 104.645,15.22ZM106.956,8.309C106.851,6.628 106.011,5.851 104.561,5.851C103.196,5.851 102.272,6.733 102.041,8.309H106.956Z" />
android:width="82dp"
android:height="18dp"
android:viewportWidth="82"
android:viewportHeight="18">
<path
android:pathData="M11.3448,3.0043H8.2985V4.727C7.6892,3.6556 6.4077,2.7522 4.79,2.7522C3.4455,2.7522 2.2479,3.2564 1.3866,4.2018C0.5252,5.1472 0,6.5548 0,8.3826V8.5506C0,10.3784 0.5252,11.786 1.3656,12.7314C2.2269,13.7188 3.4244,14.223 4.79,14.223C6.4917,14.223 7.7312,13.3827 8.2985,12.3112V13.9905H11.3448V3.0043ZM5.5463,11.8491C3.8656,11.8491 2.9412,10.7356 2.9412,8.5717V8.4036C2.9412,6.1557 4.0337,5.0842 5.5673,5.0842C7.164,5.0842 8.2565,6.1977 8.2565,8.4036V8.5717C8.2565,10.7776 7.227,11.8491 5.5463,11.8491ZM14.2979,3.0043H17.3442V4.7481C17.9115,3.6556 19.0669,2.7522 20.9157,2.7522C22.0082,2.7522 22.9116,3.0884 23.5838,3.7606C24.2351,4.4539 24.6133,5.5464 24.6133,6.996V13.9919H21.567V7.4372C21.567,5.9246 20.9787,5.2313 19.6342,5.2313C18.3106,5.2313 17.3442,6.0296 17.3442,7.6473V13.9919H14.2979V3.0043ZM30.0164,12.8784L25.6465,3.0043H28.9239L31.592,9.6011L34.0501,3.0043H36.9703L31.0248,17.7315H28.0836L30.0164,12.8784ZM42.0965,14.202C39.7645,14.202 38.546,13.0255 38.546,10.7356V0.2292H41.5713V3.0043H44.2891V5.1682H41.5713V10.4625C41.5713,11.3238 41.9704,11.765 42.7898,11.765C43.5851,11.765 43.961,11.5736 44.2891,11.3938V13.7226C43.7139,13.9976 43.1192,14.202 42.0965,14.202ZM50.0079,12.8784L45.6381,3.0043H48.9155L51.5836,9.6011L54.0416,3.0043H56.9619L51.0164,17.7315H48.0751L50.0079,12.8784ZM58.3312,3.0043H61.3774V4.727C61.9867,3.6556 63.2682,2.7522 64.8859,2.7522C66.2305,2.7522 67.428,3.2564 68.2894,4.2018C69.1507,5.1472 69.6759,6.5548 69.6759,8.3826V8.5506C69.6759,10.3784 69.1507,11.786 68.3104,12.7314C67.449,13.7188 66.2515,14.223 64.8859,14.223C63.1842,14.223 61.9447,13.3827 61.3774,12.3112V17.7315H58.3312V3.0043ZM63.9431,11.8491C65.6238,11.8491 66.5482,10.7356 66.5482,8.5717V8.4036C66.5482,6.1557 65.4557,5.0842 63.9221,5.0842C62.3254,5.0842 61.233,6.1977 61.233,8.4036V8.5717C61.233,10.7776 62.2624,11.8491 63.9431,11.8491ZM76.7271,14.2204C75.0675,14.2204 73.639,13.7162 72.6306,12.7288C71.6012,11.7835 70.992,10.397 70.992,8.6323V8.4643C70.992,6.7207 71.6012,5.3131 72.6306,4.3048C73.639,3.3174 75.0465,2.7502 76.6431,2.7502C78.0716,2.7502 79.3951,3.1704 80.3824,4.0737C81.3698,4.977 82,6.3845 82,8.3382V9.1785H74.0801C74.1642,11.0272 75.1305,12.0566 76.8111,12.0566C78.2396,12.0566 78.9119,11.4474 79.101,10.523H81.979C81.6219,12.8969 79.7522,14.2204 76.7271,14.2204ZM79.0379,7.3089C78.9329,5.6283 78.0926,4.851 76.643,4.851C75.2775,4.851 74.3532,5.7333 74.1221,7.3089H79.0379Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_rectangle">
android:background="@color/auth_background_color">
<androidx.cardview.widget.CardView
@ -28,15 +28,15 @@
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginTop="20dp"
android:layout_marginBottom="16dp"
android:background="@drawable/circle_emoji_icon_background"
android:background="@drawable/rect_congratulation_icon"
app:layout_constraintBottom_toTopOf="@+id/congratulationText"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center"
android:src="@drawable/ic_congratulation" />

View file

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_rectangle">
android:background="@color/auth_background_color">
<androidx.cardview.widget.CardView
android:id="@+id/container"
@ -20,35 +20,21 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/title"
style="@style/AuthHeaderStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/auth_default_margin_start"
<ImageView
android:id="@+id/profileIcon"
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="18dp"
android:text="@string/create_a_new_profile"
app:layout_constraintBottom_toTopOf="@+id/profileIcon"
android:gravity="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/profileIcon"
android:layout_width="@dimen/auth_default_icon_circle_diameter"
android:layout_height="@dimen/auth_default_icon_circle_diameter"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginBottom="24dp"
android:gravity="center"
app:layout_constraintBottom_toTopOf="@+id/backButton"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/profileIconPlaceholder"
android:layout_width="@dimen/auth_default_icon_circle_diameter"
android:layout_height="@dimen/auth_default_icon_circle_diameter"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginBottom="24dp"
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_marginTop="20dp"
android:background="@drawable/circle_empty_profile"
android:gravity="center"
android:scaleType="center"
@ -56,35 +42,60 @@
android:textColor="@color/white"
android:textSize="36sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/backButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvNewProfile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:textSize="13sp"
android:layout_marginTop="11dp"
android:text="New profile"
android:textColor="#929082"
android:fontFamily="@font/inter_regular"
app:layout_constraintTop_toBottomOf="@id/profileIcon"
app:layout_constraintStart_toStartOf="parent" />
<EditText
android:id="@+id/nameInputField"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:layout_marginStart="20dp"
android:layout_marginTop="6dp"
android:background="@null"
android:fontFamily="@font/inter_bold"
android:hint="@string/type_your_name"
android:textColorHint="#ACA996"
android:textSize="17sp"
android:textStyle="bold"
android:fontFamily="@font/inter_regular"
app:layout_constraintBottom_toBottomOf="@+id/profileIcon"
android:textColorHint="#CBC9BD"
android:textSize="22sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvNewProfile" />
<View
android:id="@+id/divider"
android:layout_width="0dp"
android:layout_height="0.5dp"
android:layout_marginStart="20dp"
android:layout_marginTop="11dp"
android:layout_marginEnd="20dp"
android:background="@color/auth_divider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/profileIconPlaceholder"
app:layout_constraintTop_toTopOf="@+id/profileIcon" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/nameInputField" />
<TextView
android:id="@+id/createProfileButton"
style="@style/DefaultSolidButtonStyle"
android:layout_width="0dp"
android:layout_height="@dimen/auth_default_button_height"
android:layout_marginTop="20dp"
android:layout_marginStart="5dp"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:layout_marginBottom="16dp"
android:layout_marginBottom="10dp"
android:text="@string/create_profile"
app:layout_constraintTop_toBottomOf="@id/divider"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
@ -95,27 +106,17 @@
style="@style/DefaultStrokeButtonStyle"
android:layout_width="0dp"
android:layout_height="@dimen/auth_default_button_height"
android:layout_marginTop="20dp"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginEnd="5dp"
android:layout_marginBottom="16dp"
android:layout_marginBottom="10dp"
android:text="@string/back"
app:layout_constraintTop_toBottomOf="@id/divider"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/createProfileButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent" />
<View
android:id="@+id/divider"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginStart="16dp"
android:layout_marginTop="11dp"
android:layout_marginEnd="20dp"
android:background="@color/auth_divider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/profileIcon"
app:layout_constraintTop_toBottomOf="@+id/nameInputField" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>

View file

@ -3,18 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/gradient_rectangle">
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="30dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_white_logo" />
android:background="@color/auth_background_color">
<androidx.cardview.widget.CardView
android:layout_width="0dp"
@ -41,9 +30,9 @@
android:layout_marginStart="20dp"
android:layout_marginTop="18dp"
android:layout_marginEnd="20dp"
android:fontFamily="@font/graphik_semibold"
android:text="@string/enter_your_code"
android:fontFamily="@font/inter_bold"
android:letterSpacing="-0.0218"
android:text="@string/enter_your_code"
android:textColor="@color/black"
android:textSize="22sp"
app:layout_constraintEnd_toEndOf="parent"
@ -71,15 +60,15 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="14dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="20dp"
android:ems="10"
android:background="@null"
android:inputType="text|textNoSuggestions"
android:fontFamily="@font/inter_regular"
android:hint="@string/enter_invitation_hint"
android:inputType="text|textNoSuggestions"
android:maxLines="1"
android:textColorHint="#ACA996"
android:textSize="17sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/description" />
@ -87,7 +76,7 @@
<View
android:id="@+id/divider"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_height="0.5dp"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginTop="11dp"
android:layout_marginEnd="@dimen/auth_default_margin_end"
@ -96,19 +85,35 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/edtCode" />
<TextView
android:id="@+id/btnBack"
style="@style/DefaultStrokeButtonStyle"
android:layout_width="0dp"
android:layout_height="@dimen/auth_default_button_height"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="16dp"
android:text="@string/back"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnConfirm"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider" />
<TextView
android:id="@+id/btnConfirm"
style="@style/DefaultSolidButtonStyle"
android:layout_width="0dp"
android:layout_height="@dimen/auth_default_button_height"
android:layout_marginStart="20dp"
android:layout_marginTop="24dp"
android:layout_marginStart="5dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="16dp"
android:text="@string/confirm"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintStart_toEndOf="@+id/btnBack"
app:layout_constraintTop_toBottomOf="@+id/divider" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -2,10 +2,9 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_rectangle">
android:background="@color/auth_background_color">
<androidx.cardview.widget.CardView
android:id="@+id/container"
@ -28,43 +27,51 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginTop="20dp"
android:layout_marginTop="22dp"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:text="@string/login_with_keychain"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivqrcode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<TextView
android:id="@+id/tvqrcode"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_marginTop="20dp"
android:layout_marginStart="20dp"
android:layout_marginTop="24dp"
android:contentDescription="@string/content_description_qr_image"
android:gravity="center_vertical"
android:layout_marginEnd="20dp"
android:drawableEnd="@drawable/ic_arrow_forward_legacy"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:text="@string/or_scan_qr_code"
android:textSize="17sp"
android:textColor="@color/black"
android:fontFamily="@font/inter_regular"
android:visibility="visible"
app:layout_constraintTop_toBottomOf="@id/title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title"
app:srcCompat="@drawable/ic_qr_code" />
app:layout_constraintEnd_toEndOf="parent" />
<View
android:id="@+id/divider"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_height="0.5dp"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginTop="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:background="@color/auth_divider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ivqrcode" />
app:layout_constraintTop_toBottomOf="@+id/tvqrcode" />
<EditText
android:id="@+id/keychainInputField"
android:layout_width="0dp"
android:layout_height="96dp"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginTop="11dp"
android:layout_marginTop="17dp"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:gravity="top"
android:background="@null"
@ -73,7 +80,7 @@
android:imeOptions="actionDone"
android:inputType="textMultiLine|text"
android:textColorHint="@color/keychain_hint_color"
android:textSize="17sp"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider"/>
@ -85,7 +92,7 @@
android:layout_height="@dimen/auth_default_button_height"
android:layout_marginStart="6dp"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:text="@string/login"
android:text="@string/confirm"
app:layout_constraintBottom_toBottomOf="@+id/backButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
@ -118,23 +125,6 @@
app:layout_constraintEnd_toEndOf="@+id/loginButton"
app:layout_constraintTop_toTopOf="@+id/loginButton" />
<TextView
android:id="@+id/tvqrcode"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="20dp"
android:drawableEnd="@drawable/ic_arrow_forward_legacy"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:text="@string/or_scan_qr_code"
android:textSize="17sp"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@+id/ivqrcode"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/ivqrcode"
app:layout_constraintTop_toTopOf="@+id/ivqrcode" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</FrameLayout>

View file

@ -4,7 +4,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/gradient_rectangle">
android:background="@color/auth_background_color">
<TextView
android:layout_marginStart="24dp"
@ -17,6 +17,7 @@
android:text="@string/fetching_your_account" />
<androidx.cardview.widget.CardView
tools:visibility="visible"
android:visibility="invisible"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View file

@ -1,62 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_rectangle">
android:background="@color/auth_background_color">
<androidx.cardview.widget.CardView
android:id="@+id/container"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/auth_default_card_corner_radius">
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/root"
<androidx.cardview.widget.CardView
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
app:cardCornerRadius="@dimen/auth_default_card_corner_radius"
app:cardElevation="0dp">
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="@dimen/auth_default_icon_circle_diameter"
android:layout_height="@dimen/auth_default_icon_circle_diameter"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="16dp"
android:background="@drawable/circle_emoji_icon_background"
app:layout_constraintBottom_toTopOf="@+id/header"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:src="@drawable/ic_clock_loading" />
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="@dimen/auth_default_icon_circle_diameter"
android:layout_height="@dimen/auth_default_icon_circle_diameter"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="16dp"
android:background="@drawable/circle_emoji_icon_background"
app:layout_constraintBottom_toTopOf="@+id/header"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</FrameLayout>
<ImageView
android:id="@+id/icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:src="@drawable/ic_clock_loading" />
<TextView
android:id="@+id/header"
style="@style/AuthHeaderStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:layout_marginBottom="22dp"
android:text="@string/setting_up_the_wallet"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/header"
style="@style/AuthHeaderStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:layout_marginBottom="22dp"
android:text="@string/setting_up_the_wallet"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/tvError"
style="@style/DefaultTextViewErrorStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:background="@drawable/rect_white_radius_12"
android:paddingStart="20dp"
android:paddingTop="16dp"
android:paddingEnd="20dp"
android:paddingBottom="16dp"
android:visibility="gone"
tools:text="@string/default_text_placeholder"
tools:visibility="visible" />
</LinearLayout>
</FrameLayout>

View file

@ -1,70 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
android:background="@color/auth_background_color">
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginStart="24dp"
android:layout_marginTop="56dp"
android:background="@drawable/circle_emoji_icon_background"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/loadingIcon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:src="@drawable/ic_clock_loading" />
</FrameLayout>
<TextView
android:id="@+id/header"
style="@style/AuthHeaderStyle"
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="16dp"
android:text="@string/setting_up_the_wallet"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/frameLayout" />
android:layout_gravity="bottom"
android:orientation="vertical">
<TextView
android:id="@+id/error"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="32dp"
android:fontFamily="monospace"
android:textColor="@color/anytype_text_red"
android:textSize="10sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="An error occurred" />
<TextView
android:id="@+id/tvMigrationInProgress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:gravity="center_horizontal"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:textColor="@color/white"
android:textSize="12sp"
android:text="@string/migration_in_progress_message"
android:visibility="gone"
tools:visibility="visible" />
<TextView
android:id="@+id/tvMigrationInProgress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="32dp"
android:fontFamily="@font/inter_regular"
android:text="@string/migration_in_progress_message"
android:textSize="12sp"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent" />
<androidx.cardview.widget.CardView
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
app:cardCornerRadius="@dimen/auth_default_card_corner_radius"
app:cardElevation="0dp">
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="@dimen/auth_default_icon_circle_diameter"
android:layout_height="@dimen/auth_default_icon_circle_diameter"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="16dp"
android:background="@drawable/circle_emoji_icon_background"
app:layout_constraintBottom_toTopOf="@+id/header"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:src="@drawable/ic_clock_loading" />
</FrameLayout>
<TextView
android:id="@+id/header"
style="@style/AuthHeaderStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginEnd="@dimen/auth_default_margin_end"
android:layout_marginBottom="22dp"
android:text="@string/setting_up_the_wallet"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/tvError"
style="@style/DefaultTextViewErrorStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:background="@drawable/rect_white_radius_12"
android:paddingStart="20dp"
android:paddingTop="16dp"
android:paddingEnd="20dp"
android:paddingBottom="16dp"
android:visibility="gone"
tools:text="@string/default_text_placeholder"
tools:visibility="visible" />
</LinearLayout>
</FrameLayout>

View file

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_rectangle">
android:background="@color/auth_background_color">
<ImageView
android:id="@+id/logo"
@ -33,9 +33,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/auth_default_margin_start"
android:layout_marginTop="20dp"
android:layout_marginBottom="10dp"
android:fontFamily="@font/graphik_semibold"
android:layout_marginTop="23dp"
android:layout_marginBottom="11dp"
android:fontFamily="@font/inter_bold"
android:letterSpacing="-0.0218"
android:text="@string/organize_everything"
android:textColor="@color/black"
@ -54,7 +54,7 @@
android:fontFamily="@font/inter_regular"
android:lineSpacingMultiplier="1.21"
android:text="@string/start_login_text"
android:textColor="#2C2B27"
android:textColor="@color/black"
android:textSize="15sp"
app:layout_constraintBottom_toTopOf="@+id/loginButton"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -53,7 +53,7 @@ Do the computation of an expensive paragraph of text on a background thread:
<string name="start_login_text">With Anytype you can write notes and documents, manage tasks, share files and save important content from the web.</string>
<string name="login">Login</string>
<string name="sign_up">Sign up</string>
<string name="type_your_keychain">Type your keychain phrase</string>
<string name="type_your_keychain">or Type your keychain phrase</string>
<string name="login_with_keychain">Login with keychain</string>
<string name="or_scan_qr_code">Scan QR code</string>
<string name="choose_pin_code">Choose pin code</string>

View file

@ -52,7 +52,7 @@
</style>
<style name="AuthHeaderStyle">
<item name="android:fontFamily">@font/graphik_semibold</item>
<item name="android:fontFamily">@font/inter_bold</item>
<item name="android:textColor">@color/black</item>
<item name="android:textSize">22sp</item>
</style>
@ -270,4 +270,12 @@
<item name="android:textSize">14sp</item>
</style>
<style name="DefaultTextViewErrorStyle">
<item name="lineHeight">18dp</item>
<item name="android:textSize">12sp</item>
<item name="android:fontFamily">monospace</item>
<item name="android:textColor">@color/anytype_text_red</item>
<item name="maxLines">4</item>
</style>
</resources>

View file

@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/orange_button_background_color" />
<corners android:radius="12dp" />
<corners android:radius="10dp" />
</shape>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F3F2EC" />
<corners android:radius="14dp" />
</shape>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/orange_button_background_color" />
<corners android:radius="10dp" />
</shape>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white"/>
<corners android:radius="12dp" />
</shape>

View file

@ -138,4 +138,6 @@
<color name="text_secondary">#929082</color>
<color name="auth_background_color">#0066C3</color>
</resources>

View file

@ -68,7 +68,11 @@ class SetupNewAccountViewModel(
navigation.postValue(EventWrapper(AppNavigation.Command.ExitToInvitationCodeScreen))
}
} else {
_state.postValue(SetupNewAccountViewState.Error("Error while creating account"))
_state.postValue(
SetupNewAccountViewState.Error(
"Error while creating an account: ${error.message ?:"Unknown error"}"
)
)
}
Timber.e(error, "Error while creating account")
},

View file

@ -59,7 +59,8 @@ class SetupSelectedAccountViewModel(
failure = {
migrationMessageJob.cancel()
isMigrationInProgress.value = false
error.postValue(ERROR_MESSAGE)
val msg = it.message ?: "Unknown error"
error.postValue("$ERROR_MESSAGE: $msg")
Timber.e(it, "Error while selecting account with id: $id")
},
success = { accountId ->

View file

@ -32,7 +32,7 @@ class KeychainLoginViewModel(
val state = MutableLiveData<ViewState<Boolean>>()
fun onLoginClicked(chain: String) {
proceedWithRecoveringWallet(chain)
proceedWithRecoveringWallet(chain.trim())
}
fun onActionDone(chain: String) {