Skip to content

Commit ec15651

Browse files
committed
Merge branch 'release/1.1.2' into main
2 parents 8409aad + acc4906 commit ec15651

File tree

48 files changed

+1146
-143
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1146
-143
lines changed

app/build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ android {
2323

2424
defaultConfig {
2525
applicationId = "com.twofasapp.pass"
26-
versionName = "1.1.1"
27-
versionCode = 24
26+
versionName = "1.1.2"
27+
versionCode = 25
2828
}
2929

3030
applicationVariants.all {
@@ -69,6 +69,7 @@ dependencies {
6969
implementation(project(":feature:loginform"))
7070
implementation(project(":feature:developer"))
7171
implementation(project(":feature:purchases"))
72+
implementation(project(":feature:quicksetup"))
7273

7374
implementation(platform(libs.composeBom))
7475
implementation(libs.bundles.compose)

app/src/main/java/com/twofasapp/pass/di/Modules.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import com.twofasapp.feature.lock.di.LockModule
2727
import com.twofasapp.feature.loginform.di.LoginFormModule
2828
import com.twofasapp.feature.main.di.MainModule
2929
import com.twofasapp.feature.purchases.di.PurchasesModule
30+
import com.twofasapp.feature.quicksetup.di.QuickSetupModule
3031
import com.twofasapp.feature.settings.di.SettingsModule
3132
import com.twofasapp.feature.startup.di.StartupModule
3233
import org.koin.core.module.Module
@@ -62,6 +63,7 @@ object Modules {
6263
CloudSyncModule(),
6364
LoginFormModule(),
6465
PurchasesModule(),
66+
QuickSetupModule(),
6567
)
6668

6769
fun provide(): List<Module> =

core/android/src/main/java/com/twofasapp/core/android/ktx/ContextKtx.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,16 @@ val uriPrefixWebsite = "https://"
234234

235235
inline fun <reified T> Bundle?.getSafelyParcelable(key: String): T? {
236236
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
237-
this?.classLoader = T::class.java.classLoader
238-
this?.getParcelable(key, T::class.java) ?: try {
239-
@Suppress("DEPRECATION")
240-
this?.getParcelable(key)
237+
try {
238+
this?.classLoader = T::class.java.classLoader
239+
this?.getParcelable(key, T::class.java)
241240
} catch (e: Exception) {
242-
null
241+
try {
242+
@Suppress("DEPRECATION")
243+
this?.getParcelable(key)
244+
} catch (e: Exception) {
245+
null
246+
}
243247
}
244248
} else {
245249
@Suppress("DEPRECATION")

core/android/src/main/java/com/twofasapp/core/android/navigation/Screen.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ sealed class Screen(
7373
@Serializable
7474
class Settings : Screen(screenType = ScreenType.TopLevel)
7575

76+
@Serializable
77+
data object QuickSetup : Screen()
78+
7679
@Serializable
7780
data object Developer : Screen()
7881

@@ -98,7 +101,7 @@ sealed class Screen(
98101
data class SaveDecryptionKit(val masterKeyHex: String) : Screen()
99102

100103
@Serializable
101-
data object ProtectionLevel : Screen()
104+
data object SecurityType : Screen()
102105

103106
@Serializable
104107
data object Autofill : Screen()
@@ -116,7 +119,10 @@ sealed class Screen(
116119
data object CloudSync : Screen()
117120

118121
@Serializable
119-
data object GoogleDriveSync : Screen()
122+
data class GoogleDriveSync(
123+
val openedFromQuickSetup: Boolean,
124+
val startAuth: Boolean,
125+
) : Screen()
120126

121127
@Serializable
122128
data object WebDavSync : Screen()

core/common/src/main/java/com/twofasapp/core/common/domain/ImportType.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ enum class ImportType(val displayName: String) {
1818
DashlaneMobile("Dashlane (Mobile)"),
1919
AppleDesktop("Apple Passwords (Desktop)"),
2020
AppleMobile("Apple Passwords (Mobile)"),
21+
Firefox("Firefox"),
2122
}

core/design/src/main/java/com/twofasapp/core/design/MdtIcons.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ object MdtIcons {
5151
val CircleUncheck @Composable get() = painterResource(R.drawable.ic_circle_uncheck)
5252
val Help @Composable get() = painterResource(R.drawable.ic_help)
5353
val Info @Composable get() = painterResource(R.drawable.ic_info)
54+
val InfoFilled @Composable get() = painterResource(R.drawable.ic_info_filled)
5455
val Warning @Composable get() = painterResource(R.drawable.ic_warning)
5556
val WarningShield @Composable get() = painterResource(R.drawable.ic_warning_shield)
5657
val Error @Composable get() = painterResource(R.drawable.ic_error)
@@ -106,4 +107,6 @@ object MdtIcons {
106107
val RotateLeft @Composable get() = painterResource(R.drawable.ic_rotate_left)
107108
val Tag @Composable get() = painterResource(R.drawable.ic_tag)
108109
val Hashtag @Composable get() = painterResource(R.drawable.ic_hashtag)
110+
val Rocket @Composable get() = painterResource(R.drawable.ic_rocket)
111+
val RocketLaunch @Composable get() = painterResource(R.drawable.ic_rocket_launch)
109112
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="70dp"
3+
android:height="70dp"
4+
android:viewportWidth="70"
5+
android:viewportHeight="70">
6+
<path
7+
android:pathData="M34.262,64.341C34.272,64.341 34.277,64.341 34.277,64.341H34.242L34.262,64.341Z"
8+
android:fillColor="#007CF9"/>
9+
<path
10+
android:pathData="M16.622,60.456C16.981,60.819 17.469,61 17.956,61C18.469,61 18.956,60.793 19.341,60.404L23.625,55.971C24.369,55.193 24.369,53.974 23.599,53.223C22.83,52.497 21.624,52.497 20.88,53.274L16.597,57.708C15.853,58.485 15.853,59.704 16.622,60.456Z"
11+
android:fillColor="#007CF9"/>
12+
<path
13+
android:pathData="M34.706,60.974C34.796,60.997 35.003,61 35.054,61C35.536,60.996 35.992,60.815 36.348,60.481L43.684,53.585C45.12,52.263 45.941,50.345 45.941,48.375V44.045C57.741,37.642 62.486,27.375 61.332,10.965C61.28,10.006 60.511,9.254 59.562,9.176C43.325,7.984 33.167,12.806 26.857,24.705H22.573C20.598,24.705 18.726,25.535 17.392,26.987L10.568,34.401C10.132,34.842 9.953,35.464 10.081,36.086C10.209,36.708 10.594,37.227 11.158,37.486C11.158,37.486 11.174,37.493 11.194,37.503C11.832,37.812 20.701,42.101 24.728,46.171C28.736,50.247 33.009,59.231 33.305,59.852C33.314,59.871 33.321,59.885 33.321,59.885C33.603,60.456 34.116,60.845 34.706,60.974ZM44.684,31.031C47.517,31.031 49.814,28.709 49.814,25.846C49.814,22.982 47.517,20.661 44.684,20.661C41.85,20.661 39.554,22.982 39.554,25.846C39.554,28.709 41.85,31.031 44.684,31.031Z"
14+
android:fillColor="#007CF9"
15+
android:fillType="evenOdd"/>
16+
<path
17+
android:pathData="M8.08,57.5C8.439,57.863 8.927,58.045 9.414,58.045C9.927,58.045 10.415,57.837 10.799,57.448L17.93,50.034C18.674,49.256 18.674,48.038 17.905,47.286C17.135,46.56 15.93,46.56 15.186,47.338L8.055,54.752C7.311,55.53 7.311,56.748 8.08,57.5Z"
18+
android:fillColor="#007CF9"/>
19+
<path
20+
android:pathData="M45.62,63H47.38C47.878,63 48.242,62.703 48.347,62.215L48.845,60.11C49.218,59.986 49.581,59.842 49.897,59.689L51.744,60.818C52.155,61.076 52.624,61.038 52.969,60.694L54.203,59.469C54.548,59.124 54.596,58.627 54.318,58.215L53.189,56.388C53.352,56.053 53.495,55.708 53.6,55.364L55.725,54.856C56.213,54.751 56.5,54.388 56.5,53.89V52.158C56.5,51.67 56.213,51.306 55.725,51.201L53.62,50.694C53.495,50.301 53.342,49.947 53.208,49.651L54.337,47.794C54.605,47.383 54.576,46.914 54.222,46.569L52.969,45.335C52.615,45.01 52.194,44.952 51.773,45.191L49.897,46.349C49.591,46.187 49.237,46.043 48.845,45.919L48.347,43.785C48.242,43.297 47.878,43 47.38,43H45.62C45.122,43 44.758,43.297 44.644,43.785L44.146,45.9C43.773,46.024 43.409,46.167 43.084,46.34L41.227,45.191C40.806,44.952 40.376,45 40.021,45.335L38.778,46.569C38.423,46.914 38.385,47.383 38.663,47.794L39.782,49.651C39.658,49.947 39.505,50.301 39.38,50.694L37.275,51.201C36.787,51.306 36.5,51.67 36.5,52.158V53.89C36.5,54.388 36.787,54.751 37.275,54.856L39.4,55.364C39.505,55.708 39.648,56.053 39.801,56.388L38.682,58.215C38.395,58.627 38.452,59.124 38.797,59.469L40.021,60.694C40.366,61.038 40.845,61.076 41.256,60.818L43.093,59.689C43.419,59.842 43.773,59.986 44.146,60.11L44.644,62.215C44.758,62.703 45.122,63 45.62,63ZM46.5,56.378C44.644,56.378 43.122,54.847 43.122,52.99C43.122,51.144 44.644,49.622 46.5,49.622C48.356,49.622 49.878,51.144 49.878,52.99C49.878,54.847 48.356,56.378 46.5,56.378Z"
21+
android:fillColor="#121318"/>
22+
<path
23+
android:pathData="M36.5,53.89C36.5,54.388 36.787,54.751 37.275,54.856L39.4,55.364C39.505,55.708 39.648,56.053 39.801,56.388L38.682,58.215C38.395,58.627 38.452,59.124 38.797,59.469L40.021,60.694C40.366,61.038 40.845,61.076 41.256,60.818L43.093,59.689C43.419,59.842 43.773,59.986 44.146,60.11L44.644,62.215C44.758,62.703 45.122,63 45.62,63H47.38C47.878,63 48.242,62.703 48.347,62.215L48.845,60.11C49.218,59.986 49.581,59.842 49.897,59.689L51.744,60.818C52.155,61.076 52.624,61.038 52.969,60.694L54.203,59.469C54.505,59.167 54.579,58.749 54.407,58.373L54.318,58.215L53.189,56.388C53.352,56.053 53.495,55.708 53.6,55.364L55.725,54.856C56.213,54.751 56.5,54.388 56.5,53.89V52.158C56.5,51.731 56.28,51.399 55.898,51.252L55.725,51.201L53.62,50.694C53.495,50.301 53.342,49.947 53.208,49.651L54.337,47.794C54.605,47.383 54.576,46.914 54.222,46.569L52.969,45.335C52.615,45.01 52.194,44.952 51.773,45.191L49.897,46.349L49.658,46.23C49.411,46.116 49.138,46.012 48.845,45.919L48.347,43.785C48.242,43.297 47.878,43 47.38,43L47.38,41C48.036,41 48.711,41.201 49.272,41.657C49.822,42.104 50.152,42.707 50.293,43.33H50.295L50.381,43.699L50.722,43.489L50.784,43.452C51.313,43.152 51.953,42.981 52.643,43.066C53.241,43.141 53.75,43.393 54.155,43.719L54.322,43.862L54.348,43.886L54.372,43.91L55.626,45.145C56.117,45.626 56.444,46.265 56.506,46.987C56.564,47.679 56.367,48.316 56.044,48.833L56.046,48.834L55.84,49.171L56.193,49.257L56.192,49.258C56.815,49.402 57.412,49.734 57.854,50.282C58.305,50.843 58.5,51.514 58.5,52.158V53.89C58.5,54.53 58.31,55.203 57.858,55.769C57.415,56.324 56.813,56.656 56.188,56.8L56.189,56.802L55.846,56.883L56.02,57.164H56.018C56.775,58.35 56.629,59.872 55.617,60.883L55.612,60.889L54.378,62.113L54.377,62.112C53.339,63.146 51.849,63.232 50.7,62.522V62.524L50.375,62.325L50.293,62.676L50.291,62.675C50.149,63.296 49.821,63.897 49.272,64.343C48.711,64.799 48.036,65 47.38,65H45.619C44.961,65 44.29,64.798 43.731,64.347C43.176,63.898 42.842,63.294 42.696,62.674L42.615,62.33L42.303,62.522L42.302,62.521C41.154,63.232 39.648,63.148 38.607,62.107L37.383,60.883C36.404,59.904 36.193,58.389 36.978,57.171L37.152,56.883L36.811,56.802V56.8C36.187,56.656 35.585,56.324 35.142,55.769C34.69,55.203 34.5,54.53 34.5,53.89V52.158C34.5,51.514 34.695,50.843 35.146,50.282C35.588,49.734 36.185,49.402 36.807,49.258L37.157,49.172L36.95,48.827L36.951,48.826C36.622,48.303 36.429,47.665 36.491,46.977C36.557,46.252 36.89,45.621 37.369,45.149L38.612,43.915L38.647,43.882C39.091,43.463 39.674,43.143 40.367,43.062C41.058,42.981 41.694,43.156 42.215,43.452L42.248,43.471L42.279,43.49L42.609,43.694L42.696,43.326C42.842,42.706 43.176,42.102 43.731,41.653C44.29,41.202 44.961,41 45.619,41L45.62,43C45.122,43 44.758,43.297 44.644,43.785L44.146,45.9C43.773,46.024 43.409,46.167 43.084,46.34L41.227,45.191C40.806,44.952 40.376,45 40.021,45.335L38.778,46.569C38.423,46.914 38.385,47.383 38.663,47.794L39.782,49.651C39.658,49.947 39.505,50.301 39.38,50.694L37.275,51.201L37.102,51.252C36.72,51.399 36.5,51.731 36.5,52.158V53.89ZM47.878,52.99C47.878,52.252 47.256,51.622 46.5,51.622C45.744,51.622 45.122,52.252 45.122,52.99C45.122,53.749 45.755,54.378 46.5,54.378V56.378L46.327,56.373C44.607,56.285 43.214,54.883 43.126,53.163L43.122,52.99C43.122,51.144 44.644,49.622 46.5,49.622L46.673,49.626C48.45,49.717 49.878,51.201 49.878,52.99L49.873,53.163C49.782,54.941 48.299,56.378 46.5,56.378V54.378C47.244,54.378 47.878,53.75 47.878,52.99ZM47.38,41L47.38,43H45.62L45.619,41H47.38Z"
24+
android:fillColor="#121318"/>
25+
<path
26+
android:pathData="M45.62,63H47.38C47.878,63 48.242,62.703 48.347,62.215L48.845,60.11C49.218,59.986 49.581,59.842 49.897,59.689L51.744,60.818C52.155,61.076 52.624,61.038 52.969,60.694L54.203,59.469C54.548,59.124 54.596,58.627 54.318,58.215L53.189,56.388C53.352,56.053 53.495,55.708 53.6,55.364L55.725,54.856C56.213,54.751 56.5,54.388 56.5,53.89V52.158C56.5,51.67 56.213,51.306 55.725,51.201L53.62,50.694C53.495,50.301 53.342,49.947 53.208,49.651L54.337,47.794C54.605,47.383 54.576,46.914 54.222,46.569L52.969,45.335C52.615,45.01 52.194,44.952 51.773,45.191L49.897,46.349C49.591,46.187 49.237,46.043 48.845,45.919L48.347,43.785C48.242,43.297 47.878,43 47.38,43H45.62C45.122,43 44.758,43.297 44.644,43.785L44.146,45.9C43.773,46.024 43.409,46.167 43.084,46.34L41.227,45.191C40.806,44.952 40.376,45 40.021,45.335L38.778,46.569C38.423,46.914 38.385,47.383 38.663,47.794L39.782,49.651C39.658,49.947 39.505,50.301 39.38,50.694L37.275,51.201C36.787,51.306 36.5,51.67 36.5,52.158V53.89C36.5,54.388 36.787,54.751 37.275,54.856L39.4,55.364C39.505,55.708 39.648,56.053 39.801,56.388L38.682,58.215C38.395,58.627 38.452,59.124 38.797,59.469L40.021,60.694C40.366,61.038 40.845,61.076 41.256,60.818L43.093,59.689C43.419,59.842 43.773,59.986 44.146,60.11L44.644,62.215C44.758,62.703 45.122,63 45.62,63ZM46.5,56.378C44.644,56.378 43.122,54.847 43.122,52.99C43.122,51.144 44.644,49.622 46.5,49.622C48.356,49.622 49.878,51.144 49.878,52.99C49.878,54.847 48.356,56.378 46.5,56.378Z"
27+
android:fillColor="#214CE8"
28+
android:fillAlpha="0.66"/>
29+
</vector>

0 commit comments

Comments
 (0)