Add core-ui module and Jetpack Compose.

main
Alex Hart 2023-02-02 14:01:38 -04:00 zatwierdzone przez Nicholas Tinsley
rodzic ba919d4ecc
commit 0f6bc0471c
9 zmienionych plików z 398 dodań i 0 usunięć

Wyświetl plik

@ -174,6 +174,11 @@ android {
buildFeatures {
viewBinding true
compose true
}
composeOptions {
kotlinCompilerExtensionVersion = '1.3.2'
}
defaultConfig {
@ -589,6 +594,8 @@ dependencies {
implementation libs.rxdogtag
androidTestUtil testLibs.androidx.test.orchestrator
implementation project(':core-ui')
}
def getLastCommitTimestamp() {

Wyświetl plik

@ -0,0 +1,32 @@
package org.thoughtcrime.securesms.compose
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.ViewCompositionStrategy
import org.signal.core.ui.theme.SignalTheme
import org.thoughtcrime.securesms.components.FixedRoundedCornerBottomSheetDialogFragment
import org.thoughtcrime.securesms.util.DynamicTheme
abstract class ComposeBottomSheetDialogFragment : FixedRoundedCornerBottomSheetDialogFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
return ComposeView(requireContext()).apply {
setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
setContent {
SignalTheme(
isDarkMode = DynamicTheme.isDarkTheme(LocalContext.current)
) {
SheetContent()
}
}
}
}
@Composable
abstract fun SheetContent()
}

Wyświetl plik

@ -170,6 +170,7 @@
<item name="colorOnBackground">@color/signal_colorOnBackground</item>
<item name="colorOutline">@color/signal_colorOutline</item>
<item name="textAppearanceBodyMedium">@style/Signal.Text.BodyMedium</item>
<item name="textAppearanceBodyLarge">@style/Signal.Text.BodyLarge</item>
<item name="textAppearanceLabelLarge">@style/Signal.Text.LabelLarge</item>
<item name="search_view_style">@style/Signal.SearchView</item>
@ -258,6 +259,7 @@
<item name="colorOnBackground">@color/signal_colorOnBackground</item>
<item name="colorOutline">@color/signal_colorOutline</item>
<item name="textAppearanceBodyMedium">@style/Signal.Text.BodyMedium</item>
<item name="textAppearanceBodyLarge">@style/Signal.Text.BodyLarge</item>
<item name="textAppearanceLabelLarge">@style/Signal.Text.LabelLarge</item>
<item name="circularProgressMaterialButtonStyle">@style/Signal.Widget.Button.Large.Tonal</item>

Wyświetl plik

@ -0,0 +1,22 @@
apply from: "$rootProject.projectDir/signalModule.gradle"
android {
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion = '1.3.2'
}
}
dependencies {
lintChecks project(':lintchecks')
def composeBom = platform(libs.androidx.compose.bom)
api composeBom
androidTestApi composeBom
api libs.androidx.compose.material3
api libs.androidx.compose.ui.tooling.preview
debugApi libs.androidx.compose.ui.tooling.core
}

Wyświetl plik

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="org.signal.core.ui">
</manifest>

Wyświetl plik

@ -0,0 +1,119 @@
package org.signal.core.ui.theme
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Typography
import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.unit.sp
private val typography = Typography().apply {
copy(
headlineLarge = headlineLarge.copy(
lineHeight = 40.sp,
letterSpacing = 0.sp
),
headlineMedium = headlineMedium.copy(
lineHeight = 36.sp,
letterSpacing = 0.sp
),
titleLarge = titleLarge.copy(
lineHeight = 28.sp,
letterSpacing = 0.sp
),
titleMedium = titleMedium.copy(
fontFamily = FontFamily.SansSerif,
fontStyle = FontStyle.Normal,
fontSize = 18.sp,
lineHeight = 24.sp,
letterSpacing = 0.0125.sp
),
titleSmall = titleSmall.copy(
fontSize = 16.sp,
lineHeight = 22.sp,
letterSpacing = 0.0125.sp
),
bodyLarge = bodyLarge.copy(
lineHeight = 22.sp,
letterSpacing = 0.0125.sp
),
bodyMedium = bodyMedium.copy(
lineHeight = 20.sp,
letterSpacing = 0.0107.sp
),
bodySmall = bodySmall.copy(
fontSize = 13.sp,
lineHeight = 16.sp,
letterSpacing = 0.0192.sp
),
labelLarge = labelLarge.copy(
lineHeight = 20.sp,
letterSpacing = 0.0107.sp
),
labelMedium = labelMedium.copy(
fontSize = 13.sp,
lineHeight = 16.sp,
letterSpacing = 0.0192.sp
),
labelSmall = labelSmall.copy(
lineHeight = 16.sp,
letterSpacing = 0.025.sp
)
)
}
private val lightColorScheme = lightColorScheme(
primary = Color(0xFF2C58C3),
primaryContainer = Color(0xFFD2DFFB),
secondary = Color(0xFF586071),
secondaryContainer = Color(0xFFDCE5F9),
surface = Color(0xFFFBFCFF),
surfaceVariant = Color(0xFFE7EBF3),
background = Color(0xFFFBFCFF),
error = Color(0xFFBA1B1B),
errorContainer = Color(0xFFFFDAD4),
onPrimary = Color(0xFFFFFFFF),
onPrimaryContainer = Color(0xFF051845),
onSecondary = Color(0xFFFFFFFF),
onSecondaryContainer = Color(0xFF151D2C),
onSurface = Color(0xFF1B1B1D),
onSurfaceVariant = Color(0xFF545863),
onBackground = Color(0xFF1B1D1D),
outline = Color(0xFF808389)
)
private val darkColorScheme = darkColorScheme(
primary = Color(0xFFB6C5FA),
primaryContainer = Color(0xFF464B5C),
secondary = Color(0xFFC1C6DD),
secondaryContainer = Color(0xFF414659),
surface = Color(0xFF1B1C1F),
surfaceVariant = Color(0xFF303133),
background = Color(0xFF1B1C1F),
error = Color(0xFFFFB4A9),
errorContainer = Color(0xFF930006),
onPrimary = Color(0xFF1E2438),
onPrimaryContainer = Color(0xFFDBE1FC),
onSecondary = Color(0xFF2A3042),
onSecondaryContainer = Color(0xFFDCE1F9),
onSurface = Color(0xFFE2E1E5),
onSurfaceVariant = Color(0xFFBEBFC5),
onBackground = Color(0xFFE2E1E5),
outline = Color(0xFF5C5E65)
)
@Composable
fun SignalTheme(
isDarkMode: Boolean,
content: @Composable () -> Unit
) {
MaterialTheme(
colorScheme = if (isDarkMode) darkColorScheme else lightColorScheme,
typography = typography,
content = content
)
}

Wyświetl plik

@ -15,6 +15,12 @@ dependencyResolutionManagement {
version('libsignal-client', '0.21.1')
version('mp4parser', '1.9.39')
// Compose
alias('androidx-compose-bom').to('androidx.compose:compose-bom:2022.12.00')
alias('androidx-compose-material3').to('androidx.compose.material3', 'material3').withoutVersion()
alias('androidx-compose-ui-tooling-preview').to('androidx.compose.ui', 'ui-tooling-preview').withoutVersion()
alias('androidx-compose-ui-tooling-core').to('androidx.compose.ui', 'ui-tooling').withoutVersion()
// Desugaring
alias('android-tools-desugar').to('com.android.tools:desugar_jdk_libs:1.1.5')

Wyświetl plik

@ -36,6 +36,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="c4317fb95ce2716b88f1f4a5334795efda084097a3f2447ffccb10a412c85be4" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.activity" name="activity-compose" version="1.3.0">
<artifact name="activity-compose-1.3.0.aar">
<sha256 value="32b2cdbb3ffb514bb4e09d00a7b4ccacf1dbb78a4a16fad0a600cf1c37204382" origin="Generated by Gradle"/>
</artifact>
<artifact name="activity-compose-1.3.0.module">
<sha256 value="30fd58f97339dde1f7f779b1b6a448c13f65102de46bacd5cc7849b762a4e7d2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.activity" name="activity-ktx" version="1.5.1">
<artifact name="activity-ktx-1.5.1.aar">
<sha256 value="fd69a5ccb99244cb7c5224580a58e23238d10ed4086199a33e9bfc31c4e4834f" origin="Generated by Gradle"/>
@ -78,6 +86,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="c1e04cf467714b7789d517c958233a20826f474a3825aa9b77296a22ff7b7dd7" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.annotation" name="annotation" version="1.5.0">
<artifact name="annotation-1.5.0.jar">
<sha256 value="261fb7c0210858500bab66d34354972a75166ab4182add283780b05513d6ec4a" origin="Generated by Gradle"/>
</artifact>
<artifact name="annotation-1.5.0.module">
<sha256 value="4c84feee2db891ff6b97d613a0d40ab96ce297b034a6927ca8479f09e82d7c2e" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.annotation" name="annotation-experimental" version="1.1.0">
<artifact name="annotation-experimental-1.1.0.aar">
<sha256 value="0157de61a2064047896a058080f3fd67ba57ad9a94857b3f7a363660243e3f90" origin="Generated by Gradle"/>
@ -208,6 +224,166 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="2bfc54475c047131913361f56d0f7f019c6e5bee53eeb0eb7d94a7c499a05227" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.animation" name="animation" version="1.3.2">
<artifact name="animation-1.3.2.aar">
<sha256 value="7c52b01c26c9ab8946d4cb6bbf819a54ac48038e1a3e741d30a6beac5457547f" origin="Generated by Gradle"/>
</artifact>
<artifact name="animation-1.3.2.module">
<sha256 value="5c6df3cc1976e39b9a056e1ea13a4d71418560b96706ec243bfac8e8a4c8d4ff" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.animation" name="animation-core" version="1.3.2">
<artifact name="animation-core-1.3.2.aar">
<sha256 value="68cd10277608095d2f365b31945b640815f8e98fb53a17b84dc85fe2e52a70cf" origin="Generated by Gradle"/>
</artifact>
<artifact name="animation-core-1.3.2.module">
<sha256 value="2ab119f70bb561c04d2d4defc834b0a586477593a66130f82d2d43ad9bf7f18d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.compiler" name="compiler" version="1.3.2">
<artifact name="compiler-1.3.2.jar">
<sha256 value="d19beb5fc48395e1730acad2f654daa49a17f6b44a2a45a2e23a0dec806a6931" origin="Generated by Gradle"/>
</artifact>
<artifact name="compiler-1.3.2.module">
<sha256 value="fa7fc38c46d9440fb2673e6a128057d75bb896d0a991fe701cb07825b17f18a7" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.foundation" name="foundation" version="1.3.1">
<artifact name="foundation-1.3.1.aar">
<sha256 value="b97cdb2711112caa19f45ed89f9c11412015ccd39ffe06b700424de4d4d789fa" origin="Generated by Gradle"/>
</artifact>
<artifact name="foundation-1.3.1.module">
<sha256 value="77b3ecfd07ce23783d0d4712f6ce3611a5fe54aabaefd9dc07c2dcd903a29160" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.foundation" name="foundation-layout" version="1.3.1">
<artifact name="foundation-layout-1.3.1.aar">
<sha256 value="ea210c796514b4a83cbe551b9697db5e91ff5a5c7bb73a4c380b3e43a7b3409c" origin="Generated by Gradle"/>
</artifact>
<artifact name="foundation-layout-1.3.1.module">
<sha256 value="3c28bdbd02932c83cd3a9dcae1c8cab884c8806d47e9a777c2cc4e54f263e340" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.material" name="material" version="1.3.1">
<artifact name="material-1.3.1.aar">
<sha256 value="2fd1e1f90183da75be66a18308f8bdac9ad3ad3623744fb64ff53b6ac58c0380" origin="Generated by Gradle"/>
</artifact>
<artifact name="material-1.3.1.module">
<sha256 value="5e5c12caf47d1cc89908b31e58e69121370b40b4181c7ccbc8dc0a310a0f631b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.material" name="material-icons-core" version="1.3.1">
<artifact name="material-icons-core-1.3.1.aar">
<sha256 value="bd6e43230d57d70dce837b0b627ae68ef4294ec4931be9ebd6e5e21b0175c703" origin="Generated by Gradle"/>
</artifact>
<artifact name="material-icons-core-1.3.1.module">
<sha256 value="bd0a0b3a35aaa70194153de405823428efae73d9c7408e3be0e95d23b1682805" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.material" name="material-ripple" version="1.3.1">
<artifact name="material-ripple-1.3.1.aar">
<sha256 value="4c8e5bcdecd48858487fa20bdc194e882aed0fd035181015b9f39346ed856f91" origin="Generated by Gradle"/>
</artifact>
<artifact name="material-ripple-1.3.1.module">
<sha256 value="2d89e99ae979853bd2359a7d5da16405479bce776d176168c2c7e8b431398d80" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.material3" name="material3" version="1.0.1">
<artifact name="material3-1.0.1.aar">
<sha256 value="7204378ecadec4089da57492fbdb4cb637758e4bc740f26fe6f2db4d8876af05" origin="Generated by Gradle"/>
</artifact>
<artifact name="material3-1.0.1.module">
<sha256 value="993a826a5cb89f2932d7e0d9dc2dc071c7b6f684420f93b304bd07ddbbfb902b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.runtime" name="runtime" version="1.3.2">
<artifact name="runtime-1.3.2.aar">
<sha256 value="359eec304ff1fc93c14cf501526299a2e4f889fc587897d4cfaf8ff1cc2982e0" origin="Generated by Gradle"/>
</artifact>
<artifact name="runtime-1.3.2.module">
<sha256 value="ec43f7a93f496bb3a6ee53e153056d461b6ea0ad8ca545968a9418963a21aceb" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.runtime" name="runtime-saveable" version="1.3.2">
<artifact name="runtime-saveable-1.3.2.aar">
<sha256 value="84d4de9262846d4a9d9833bba7714e1c216bba82b66b4ea537e267f0923602c1" origin="Generated by Gradle"/>
</artifact>
<artifact name="runtime-saveable-1.3.2.module">
<sha256 value="cfe43eb55e300f3b3a77f5952e5936d40a7b35ae52623225fd250377d488085a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui" version="1.3.2">
<artifact name="ui-1.3.2.aar">
<sha256 value="732a6fef1cbfb9dba981a7858ce2a6353db81ca8512a57f3c5cb1a3c0fde1d49" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-1.3.2.module">
<sha256 value="11bab2e362e566071ea08a3ca43f5ca52bf9f06045b48b2efb9ab7d28d30f83b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui-geometry" version="1.3.2">
<artifact name="ui-geometry-1.3.2.aar">
<sha256 value="3e8cb09ee79aa0b257bc9a18f47dd5c640bce0e7e31301511017977340b9d5cb" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-geometry-1.3.2.module">
<sha256 value="ad2262144f81040a09bfdec039010dca2cb5026821e4b27403519303b59ae7bf" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui-graphics" version="1.3.2">
<artifact name="ui-graphics-1.3.2.aar">
<sha256 value="0ea6df55f8340096476399573d9fe0dc5b357248edf99499c11019acef0bd3bf" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-graphics-1.3.2.module">
<sha256 value="4be28cd46dd4db106df3b13bfea591e3cf1be64ff43ff8ce1df858ba103383e7" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui-text" version="1.3.2">
<artifact name="ui-text-1.3.2.aar">
<sha256 value="988fe4ea7f042ab83073a65a4448f2a0b8593b95b27d8708c41745af5aa10e00" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-text-1.3.2.module">
<sha256 value="9934a053e86e4847f7bc3c60be46187c9834d7815c27f12a369905170fc08d3e" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui-tooling" version="1.3.2">
<artifact name="ui-tooling-1.3.2.aar">
<sha256 value="e9fcb88bb28ee67b2ef8d8d995ffd94caafbeb619a6cd09e391857867a17ce5b" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-tooling-1.3.2.module">
<sha256 value="5922f4576b36c7fa8be7d9d1d229376b20d5ef25a3410185e8562baad43d1788" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui-tooling-data" version="1.3.2">
<artifact name="ui-tooling-data-1.3.2.aar">
<sha256 value="a60c7c89e0461660b657c4502894266c089c10c017eee4e21078a31e46d9b6d8" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-tooling-data-1.3.2.module">
<sha256 value="878534992097e9b3883cd47b6969553d0f2d1d89a13cd91bedca5b25dba0e04d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui-tooling-preview" version="1.3.2">
<artifact name="ui-tooling-preview-1.3.2.aar">
<sha256 value="6408b164c62c7b24e10f2538a2a20ca06f71f8f3daa45b749c1e4637a67690e4" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-tooling-preview-1.3.2.module">
<sha256 value="d8e758a933410dff6666e21930a85ac3843ad33b234e93fa5bd57b3f734756bd" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui-unit" version="1.3.2">
<artifact name="ui-unit-1.3.2.aar">
<sha256 value="91069064158fee43a5838c0cd51f7b19bba4f6d1862dc8b764000f8421edccf5" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-unit-1.3.2.module">
<sha256 value="eecb5446872b5cd3caa1acce0e704780d1a3fa9feb2f06c6728ef9fb231b4cb5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.compose.ui" name="ui-util" version="1.3.2">
<artifact name="ui-util-1.3.2.aar">
<sha256 value="b2f15225c1f59482445b1bc59a6dcb067cee62edaa611140aeaf27587bf41077" origin="Generated by Gradle"/>
</artifact>
<artifact name="ui-util-1.3.2.module">
<sha256 value="1aaf9e8d25921280c2009a4e4032b08656c97bdebfdc7d15afabb50d2bda0fd3" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.concurrent" name="concurrent-futures" version="1.0.0">
<artifact name="concurrent-futures-1.0.0.jar">
<sha256 value="5595a40e278a7b39fa78a09490e3d7f3faa95c7b01447148bd38b5ade0605c35" origin="Generated by Gradle"/>
@ -313,6 +489,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="01f76ab043770a97b054046f9815717b82ce0355c02967d16c61981359dc189a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.customview" name="customview-poolingcontainer" version="1.0.0">
<artifact name="customview-poolingcontainer-1.0.0.aar">
<sha256 value="3584102fc49bf399c56e3b7be4bfe12000c46112320cd8cf85cc0a8f93f3e752" origin="Generated by Gradle"/>
</artifact>
<artifact name="customview-poolingcontainer-1.0.0.module">
<sha256 value="903034d5152dd2e0162b1468ea25a22e1ca384006b3d282d5a143cc760321a01" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.databinding" name="databinding-common" version="7.2.2">
<artifact name="databinding-common-7.2.2.jar">
<sha256 value="852e465a49271dbc7f6abfbe367368aeb6d3130a1faaf9617ccb9de6118d1ca2" origin="Generated by Gradle"/>
@ -818,6 +1002,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="1d5c7f3135a1bba661fc373fd72e11eb0a4adbb3396787826dd8e4190d5d9edd" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.profileinstaller" name="profileinstaller" version="1.2.0">
<artifact name="profileinstaller-1.2.0.aar">
<sha256 value="0a1b2260af67962f4038d56fa84cda341315704aad56abbcf3a9b3bba6945426" origin="Generated by Gradle"/>
</artifact>
<artifact name="profileinstaller-1.2.0.module">
<sha256 value="fdb7391ab3e704cb4790181476eec1a45f77b7827642974861e0f510d084c32b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.recyclerview" name="recyclerview" version="1.1.0">
<artifact name="recyclerview-1.1.0.aar">
<sha256 value="f0d2b5a67d0a91ee1b1c73ef2b636a81f3563925ddd15a1d4e1c41ec28de7a4f" origin="Generated by Gradle"/>
@ -4176,6 +4368,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="b80d58fd737087f8a74d8ed802f5545e550209823e91d0062de0b09343f0c389" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlinx" name="atomicfu" version="0.17.3">
<artifact name="atomicfu-0.17.3.module">
<sha256 value="854a75a9ebf30cb588e8ceda7da1b7089d4272a12324d3cffcaf5b62902738bd" origin="Generated by Gradle"/>
</artifact>
<artifact name="atomicfu-metadata-0.17.3-all.jar">
<sha256 value="52fa54a8e4dee808c8fecf51b3924788e8b5576caaf27d6d60afa6580fad4af0" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlinx" name="atomicfu-common" version="0.14.4">
<artifact name="atomicfu-common-0.14.4.module">
<sha256 value="f26e9f28a26aa62d69d56bd827ee5c922014d01aac45679785c5c3ef03f0c909" origin="Generated by Gradle"/>
@ -4235,6 +4435,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<artifact name="kotlinx-coroutines-core-1.6.4.module">
<sha256 value="a6eed4a1835588e7c84fcd7b0475fce9a7b3444c870ebc797b88ba64ccf4576b" origin="Generated by Gradle"/>
</artifact>
<artifact name="kotlinx-coroutines-core-metadata-1.6.4-all.jar">
<sha256 value="ae24d84fd33c5aaba1564b168142d0f210b0e257e0a0077e32616acc59e67fb7" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jetbrains.kotlinx" name="kotlinx-coroutines-core-jvm" version="1.4.1">
<artifact name="kotlinx-coroutines-core-jvm-1.4.1.jar">

Wyświetl plik

@ -24,6 +24,7 @@ include ':qr'
include ':qr-app'
include ':sticky-header-grid'
include ':photoview'
include ':core-ui'
project(':app').name = 'Signal-Android'
project(':paging').projectDir = file('paging/lib')