Skip to content

Commit e6906b8

Browse files
authored
Merge pull request #221 from anton6tak/#220-add-Jetpack-Compose-sample-and-change-fontResourceId-access-modifier
#220 changed fontResourceId access modifier
2 parents 5460700 + b46a9cc commit e6906b8

11 files changed

Lines changed: 145 additions & 5 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ buildscript {
3636
}
3737
3838
dependencies {
39-
classpath "dev.icerock.moko:resources-generator:0.16.1"
39+
classpath "dev.icerock.moko:resources-generator:0.16.2"
4040
}
4141
}
4242
@@ -53,7 +53,7 @@ project build.gradle
5353
apply plugin: "dev.icerock.mobile.multiplatform-resources"
5454
5555
dependencies {
56-
commonMainApi("dev.icerock.moko:resources:0.16.1")
56+
commonMainApi("dev.icerock.moko:resources:0.16.2")
5757
}
5858
5959
multiplatformResources {

gradle/libs.versions.toml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ kotlinxSerializationVersion = "1.2.1"
1313
detektVersion = "1.15.0"
1414
mokoGraphicsVersion = "0.7.0"
1515
mokoParcelizeVersion = "0.7.1"
16-
mokoResourcesVersion = "0.16.1"
16+
mokoResourcesVersion = "0.16.2"
17+
composeVersion = "1.0.0-rc02"
18+
constraintLayoutVersion = "2.0.4"
19+
composeActivityVersion = "1.3.0-rc02"
1720

1821
[libraries]
1922
appCompat = { module = "androidx.appcompat:appcompat", version.ref = "androidAppCompatVersion" }
@@ -35,4 +38,13 @@ apacheCommonsText = { module = "org.apache.commons:commons-text", version.ref =
3538
kotlinGradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinVersion" }
3639
androidGradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "androidGradleVersion" }
3740
kotlinCompilerEmbeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "kotlinVersion" }
41+
composeUi = { module = "androidx.compose.ui:ui", version.ref = "composeVersion" }
42+
composeUiTooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "composeVersion" }
43+
composeUiToolingPreview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "composeVersion" }
44+
composeRuntime = { module = "androidx.compose.runtime:runtime", version.ref = "composeVersion" }
45+
composeMaterial = { module = "androidx.compose.material:material", version.ref = "composeVersion" }
46+
composeFoundation = { module = "androidx.compose.foundation:foundation", version.ref = "composeVersion" }
47+
composeActivity = { module = "androidx.activity:activity-compose", version.ref = "composeActivityVersion" }
48+
constraintLayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintLayoutVersion" }
49+
3850

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

resources/src/androidMain/kotlin/dev/icerock/moko/resources/FontResource.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import kotlinx.parcelize.Parcelize
1414
@Parcelize
1515
actual class FontResource(
1616
@FontRes
17-
private val fontResourceId: Int
17+
val fontResourceId: Int
1818
) : Parcelable {
1919

2020
fun getTypeface(context: Context): Typeface? {
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/*
2+
* Copyright 2021 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license.
3+
*/
4+
5+
plugins {
6+
id("android-app-convention")
7+
id("dev.icerock.mobile.multiplatform-resources")
8+
id("kotlin-android")
9+
}
10+
11+
dependencies {
12+
implementation(projects.sample.mppLibrary)
13+
implementation(libs.appCompat)
14+
implementation(libs.composeUi)
15+
implementation(libs.composeUiTooling)
16+
implementation(libs.composeUiToolingPreview)
17+
implementation(libs.composeRuntime)
18+
implementation(libs.composeMaterial)
19+
implementation(libs.composeFoundation)
20+
implementation(libs.composeActivity)
21+
implementation(libs.constraintLayout)
22+
}
23+
24+
android {
25+
26+
defaultConfig {
27+
applicationId = "dev.icerock.moko.samples.compose"
28+
minSdkVersion(21)
29+
}
30+
31+
composeOptions {
32+
kotlinCompilerVersion = "1.5.10"
33+
kotlinCompilerExtensionVersion = "1.0.0-rc02"
34+
}
35+
}
36+
37+
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
38+
kotlinOptions {
39+
freeCompilerArgs = freeCompilerArgs + listOf(
40+
"-P",
41+
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
42+
)
43+
}
44+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
package="com.icerockdev">
4+
5+
<application
6+
android:allowBackup="false"
7+
android:supportsRtl="true"
8+
android:theme="@style/AppTheme">
9+
<activity
10+
android:name=".MainActivity"
11+
android:exported="true">
12+
<intent-filter>
13+
<action android:name="android.intent.action.MAIN" />
14+
<category android:name="android.intent.category.LAUNCHER" />
15+
</intent-filter>
16+
</activity>
17+
</application>
18+
</manifest>
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/*
2+
* Copyright 2021 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license.
3+
*/
4+
5+
package com.icerockdev
6+
7+
import android.os.Bundle
8+
import androidx.activity.ComponentActivity
9+
import androidx.activity.compose.setContent
10+
import androidx.compose.material.Text
11+
import androidx.compose.ui.text.TextStyle
12+
import androidx.compose.ui.text.font.Font
13+
import androidx.compose.ui.text.font.FontFamily
14+
import androidx.compose.ui.text.font.FontStyle
15+
import androidx.compose.ui.text.font.FontWeight
16+
import androidx.compose.ui.unit.sp
17+
import com.icerockdev.library.MR
18+
19+
20+
internal class MainActivity : ComponentActivity() {
21+
override fun onCreate(savedInstanceState: Bundle?) {
22+
super.onCreate(savedInstanceState)
23+
24+
val fontFamily = FontFamily(
25+
fonts = listOf(
26+
Font(
27+
resId = MR.fonts.Raleway.bold.fontResourceId,
28+
weight = FontWeight.Normal,
29+
style = FontStyle.Normal
30+
)
31+
)
32+
)
33+
val textStyle = TextStyle(
34+
fontFamily = fontFamily,
35+
fontWeight = FontWeight.Normal,
36+
fontSize = 16.sp
37+
38+
)
39+
setContent {
40+
Text(
41+
text = "hello compose!",
42+
style = textStyle
43+
)
44+
}
45+
}
46+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<color name="colorPrimary">#6200EE</color>
4+
<color name="colorPrimaryDark">#3700B3</color>
5+
<color name="colorAccent">#03DAC5</color>
6+
</resources>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<string name="compose_test_done_string">compose test done!</string>
4+
</resources>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<resources>
2+
3+
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
4+
<item name="colorPrimary">@color/colorPrimary</item>
5+
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
6+
<item name="colorAccent">@color/colorAccent</item>
7+
</style>
8+
9+
</resources>

0 commit comments

Comments
 (0)