From a040b06daf9529f7f11e56909338ea10ee7b8157 Mon Sep 17 00:00:00 2001 From: Jake Wharton Date: Fri, 23 Dec 2022 16:04:45 -0500 Subject: [PATCH 0001/1251] Prepare next development version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index d849f58722..33742596b0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,7 +24,7 @@ app.cash.redwood.internal=true GROUP=app.cash.redwood # HEY! If you change major version update release.yaml doc folder. -VERSION_NAME=0.1.0 +VERSION_NAME=0.2.0-SNAPSHOT POM_DESCRIPTION=Multiplatform reactive UI using Kotlin and Jetpack Compose From 72000830258e737b2a0b73aafa17fa29d7cc6ee6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 27 Dec 2022 20:03:34 +0000 Subject: [PATCH 0002/1251] Update dependency com.android.tools.lint:lint to v30.4.0-rc03 (#696) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6e1f088477..68bd2318b4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ androidxComposeCompiler = "1.3.2" androidx-activity = "1.3.1" jbCompose = "1.2.2" jbComposeCompiler = "1.3.2.2" -lint = "30.4.0-rc02" +lint = "30.4.0-rc03" zipline = "0.9.13" coil = "2.2.2" From 0a74d0ccbb849ea5d1943682e70d7e0a15a2b2ae Mon Sep 17 00:00:00 2001 From: Jake Wharton Date: Tue, 27 Dec 2022 17:27:06 -0500 Subject: [PATCH 0003/1251] Normalize emoji search package names (#693) * Normalize emoji search package names * Update samples/emoji-search/ios-shared/src/commonMain/kotlin/com/example/redwood/emojisearch/ios/EmojiSearchLauncher.kt * Update samples/emoji-search/presenter-treehouse/src/jsMain/kotlin/com/example/redwood/emojisearch/treehouse/presentersJs.kt * Update samples/emoji-search/schema/src/main/kotlin/com/example/redwood/emojisearch/schema.kt --- .../emoji-search/android-composeui/build.gradle | 6 ++---- .../composeui/AndroidEmojiSearchWidgetFactory.kt | 13 ++++++++----- .../android}/composeui/ComposeUiImage.kt | 7 +++---- .../android}/composeui/ComposeUiText.kt | 9 +++------ .../android}/composeui/ComposeUiTextInput.kt | 6 +++--- .../android}/composeui/EmojiSearchActivity.kt | 10 +++++----- .../emojisearch/android}/composeui/RealHostApi.kt | 4 ++-- .../emojisearch/android}/composeui/theme.kt | 2 +- samples/emoji-search/android-views/build.gradle | 5 +---- .../views/AndroidEmojiSearchWidgetFactory.kt} | 15 +++++++++------ .../android}/views/EmojiSearchActivity.kt | 12 ++++++------ .../emojisearch/android}/views/RealHostApi.kt | 4 ++-- .../emojisearch/android}/views/ViewImage.kt | 6 +++--- .../emojisearch/android}/views/ViewText.kt | 6 +++--- .../emojisearch/android}/views/ViewTextInput.kt | 6 +++--- .../android-views/src/main/res/values/themes.xml | 4 ++-- .../HTMLElementEmojiSearchWidgetFactory.kt | 10 +++++----- .../HTMLElementRedwoodLayoutWidgetFactory.kt | 2 +- .../example/redwood/emojisearch}/browser/main.kt | 10 +++++----- .../emojisearch/ios}/EmojiSearchLauncher.kt | 5 ++++- .../example/redwood/emojisearch/ios}/exposed.kt | 8 ++++---- samples/emoji-search/launcher/build.gradle | 2 +- .../emojisearch/launcher}/EmojiSearchAppSpec.kt | 5 ++++- .../emoji-search/presenter-treehouse/build.gradle | 2 +- .../treehouse}/EmojiSearchPresenter.kt | 2 +- .../redwood/emojisearch/treehouse}/HostApi.kt | 2 +- .../redwood/emojisearch/treehouse}/serializers.kt | 2 +- .../treehouse}/RealEmojiSearchPresenter.kt | 7 +++++-- .../emojisearch/treehouse}/presentersJs.kt | 2 +- .../redwood/emojisearch/presenter}/EmojiSearch.kt | 8 ++++---- samples/emoji-search/schema/compose/build.gradle | 2 +- .../schema/compose/protocol/build.gradle | 2 +- .../example/redwood/emojisearch}/schema.kt | 2 +- samples/emoji-search/schema/widget/build.gradle | 2 +- .../schema/widget/protocol/build.gradle | 2 +- 35 files changed, 99 insertions(+), 93 deletions(-) rename samples/emoji-search/android-composeui/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/composeui/AndroidEmojiSearchWidgetFactory.kt (62%) rename samples/emoji-search/android-composeui/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/composeui/ComposeUiImage.kt (86%) rename samples/emoji-search/android-composeui/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/composeui/ComposeUiText.kt (80%) rename samples/emoji-search/android-composeui/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/composeui/ComposeUiTextInput.kt (95%) rename samples/emoji-search/android-composeui/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/composeui/EmojiSearchActivity.kt (90%) rename samples/emoji-search/android-composeui/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/composeui/RealHostApi.kt (93%) rename samples/emoji-search/android-composeui/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/composeui/theme.kt (97%) rename samples/emoji-search/android-views/src/main/java/{app/cash/zipline/samples/emojisearch/views/AndroidViewEmojiSearchWidgetFactory.kt => com/example/redwood/emojisearch/android/views/AndroidEmojiSearchWidgetFactory.kt} (62%) rename samples/emoji-search/android-views/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/views/EmojiSearchActivity.kt (89%) rename samples/emoji-search/android-views/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/views/RealHostApi.kt (93%) rename samples/emoji-search/android-views/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/views/ViewImage.kt (89%) rename samples/emoji-search/android-views/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/views/ViewText.kt (89%) rename samples/emoji-search/android-views/src/main/java/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/android}/views/ViewTextInput.kt (96%) rename samples/emoji-search/browser/src/main/kotlin/{example => com/example/redwood/emojisearch}/browser/HTMLElementEmojiSearchWidgetFactory.kt (91%) rename samples/emoji-search/browser/src/main/kotlin/{example => com/example/redwood/emojisearch}/browser/HTMLElementRedwoodLayoutWidgetFactory.kt (98%) rename samples/emoji-search/browser/src/main/kotlin/{example => com/example/redwood/emojisearch}/browser/main.kt (89%) rename samples/emoji-search/ios-shared/src/commonMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/ios}/EmojiSearchLauncher.kt (87%) rename samples/emoji-search/ios-shared/src/commonMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/ios}/exposed.kt (86%) rename samples/emoji-search/launcher/src/commonMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/launcher}/EmojiSearchAppSpec.kt (84%) rename samples/emoji-search/presenter-treehouse/src/commonMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/treehouse}/EmojiSearchPresenter.kt (94%) rename samples/emoji-search/presenter-treehouse/src/commonMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/treehouse}/HostApi.kt (94%) rename samples/emoji-search/presenter-treehouse/src/commonMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/treehouse}/serializers.kt (95%) rename samples/emoji-search/presenter-treehouse/src/jsMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/treehouse}/RealEmojiSearchPresenter.kt (87%) rename samples/emoji-search/presenter-treehouse/src/jsMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/treehouse}/presentersJs.kt (95%) rename samples/emoji-search/presenter/src/commonMain/kotlin/{app/cash/zipline/samples/emojisearch => com/example/redwood/emojisearch/presenter}/EmojiSearch.kt (94%) rename samples/emoji-search/schema/src/main/kotlin/{example/schema => com/example/redwood/emojisearch}/schema.kt (97%) diff --git a/samples/emoji-search/android-composeui/build.gradle b/samples/emoji-search/android-composeui/build.gradle index 6905489ab7..22a813fadd 100644 --- a/samples/emoji-search/android-composeui/build.gradle +++ b/samples/emoji-search/android-composeui/build.gradle @@ -3,10 +3,8 @@ apply plugin: 'org.jetbrains.kotlin.android' apply plugin: 'app.cash.redwood' android { - namespace "app.cash.zipline.samples.emojisearch.composeui" - defaultConfig { - applicationId = "com.example.zipline.emojisearch.composeui" - } + namespace 'com.example.redwood.emojisearch.android.composeui' + buildFeatures { compose = true } diff --git a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/AndroidEmojiSearchWidgetFactory.kt b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/AndroidEmojiSearchWidgetFactory.kt similarity index 62% rename from samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/AndroidEmojiSearchWidgetFactory.kt rename to samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/AndroidEmojiSearchWidgetFactory.kt index 4b60b52960..b3b39f6402 100644 --- a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/AndroidEmojiSearchWidgetFactory.kt +++ b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/AndroidEmojiSearchWidgetFactory.kt @@ -13,17 +13,20 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.composeui +package com.example.redwood.emojisearch.android.composeui import androidx.compose.runtime.Composable import app.cash.redwood.treehouse.AppService import app.cash.redwood.treehouse.TreehouseApp -import example.schema.widget.EmojiSearchWidgetFactory +import com.example.redwood.emojisearch.widget.EmojiSearchWidgetFactory +import com.example.redwood.emojisearch.widget.Image +import com.example.redwood.emojisearch.widget.Text +import com.example.redwood.emojisearch.widget.TextInput class AndroidEmojiSearchWidgetFactory( private val treehouseApp: TreehouseApp, ) : EmojiSearchWidgetFactory<@Composable () -> Unit> { - override fun TextInput() = ComposeUiTextInput(treehouseApp.dispatchers) - override fun Text() = ComposeUiText() - override fun Image() = ComposeUiImage() + override fun TextInput(): TextInput<@Composable () -> Unit> = ComposeUiTextInput(treehouseApp.dispatchers) + override fun Text(): Text<@Composable () -> Unit> = ComposeUiText() + override fun Image(): Image<@Composable () -> Unit> = ComposeUiImage() } diff --git a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiImage.kt b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiImage.kt similarity index 86% rename from samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiImage.kt rename to samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiImage.kt index 5e870664b1..04f11d77e3 100644 --- a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiImage.kt +++ b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiImage.kt @@ -13,9 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.composeui +package com.example.redwood.emojisearch.android.composeui -import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -25,9 +24,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import app.cash.redwood.LayoutModifier import coil.compose.AsyncImage -import example.schema.widget.Image +import com.example.redwood.emojisearch.widget.Image -class ComposeUiImage : Image<@Composable () -> Unit> { +internal class ComposeUiImage : Image<@Composable () -> Unit> { private var url by mutableStateOf("") override var layoutModifiers: LayoutModifier = LayoutModifier diff --git a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiText.kt b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiText.kt similarity index 80% rename from samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiText.kt rename to samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiText.kt index 3baa766e11..2dcf842ee6 100644 --- a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiText.kt +++ b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiText.kt @@ -13,11 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.composeui +package com.example.redwood.emojisearch.android.composeui -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable @@ -25,9 +22,9 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import app.cash.redwood.LayoutModifier -import example.schema.widget.Text +import com.example.redwood.emojisearch.widget.Text -class ComposeUiText : Text<@Composable () -> Unit> { +internal class ComposeUiText : Text<@Composable () -> Unit> { private var text by mutableStateOf("") override var layoutModifiers: LayoutModifier = LayoutModifier diff --git a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiTextInput.kt b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiTextInput.kt similarity index 95% rename from samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiTextInput.kt rename to samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiTextInput.kt index 81dbbbcf6b..58dd2a7268 100644 --- a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/ComposeUiTextInput.kt +++ b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/ComposeUiTextInput.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.composeui +package com.example.redwood.emojisearch.android.composeui import androidx.compose.material.Text import androidx.compose.material.TextField @@ -26,11 +26,11 @@ import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue import app.cash.redwood.LayoutModifier import app.cash.redwood.treehouse.TreehouseDispatchers -import example.schema.widget.TextInput +import com.example.redwood.emojisearch.widget.TextInput import example.values.TextFieldState import kotlin.coroutines.EmptyCoroutineContext -class ComposeUiTextInput( +internal class ComposeUiTextInput( private val dispatchers: TreehouseDispatchers, ) : TextInput<@Composable () -> Unit> { private var state by mutableStateOf(TextFieldState()) diff --git a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/EmojiSearchActivity.kt b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/EmojiSearchActivity.kt similarity index 90% rename from samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/EmojiSearchActivity.kt rename to samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/EmojiSearchActivity.kt index 88981cc131..f8c712c0fe 100644 --- a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/EmojiSearchActivity.kt +++ b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/EmojiSearchActivity.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.composeui +package com.example.redwood.emojisearch.android.composeui import android.os.Bundle import androidx.activity.ComponentActivity @@ -29,10 +29,10 @@ import app.cash.redwood.treehouse.TreehouseView import app.cash.redwood.treehouse.composeui.TreehouseContent import app.cash.redwood.treehouse.lazylayout.composeui.ComposeUiRedwoodTreehouseLazyLayoutWidgetFactory import app.cash.zipline.loader.ManifestVerifier -import app.cash.zipline.samples.emojisearch.EmojiSearchAppSpec -import app.cash.zipline.samples.emojisearch.EmojiSearchPresenter -import example.schema.widget.EmojiSearchDiffConsumingNodeFactory -import example.schema.widget.EmojiSearchWidgetFactories +import com.example.redwood.emojisearch.launcher.EmojiSearchAppSpec +import com.example.redwood.emojisearch.treehouse.EmojiSearchPresenter +import com.example.redwood.emojisearch.widget.EmojiSearchDiffConsumingNodeFactory +import com.example.redwood.emojisearch.widget.EmojiSearchWidgetFactories import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.cancel import kotlinx.serialization.json.Json diff --git a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/RealHostApi.kt b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/RealHostApi.kt similarity index 93% rename from samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/RealHostApi.kt rename to samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/RealHostApi.kt index 0d75288a0b..786bce8b39 100644 --- a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/RealHostApi.kt +++ b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/RealHostApi.kt @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.composeui +package com.example.redwood.emojisearch.android.composeui -import app.cash.zipline.samples.emojisearch.HostApi +import com.example.redwood.emojisearch.treehouse.HostApi import kotlinx.coroutines.suspendCancellableCoroutine import okhttp3.Call import okhttp3.Callback diff --git a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/theme.kt b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/theme.kt similarity index 97% rename from samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/theme.kt rename to samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/theme.kt index 3b24a69f56..9f6fec6f46 100644 --- a/samples/emoji-search/android-composeui/src/main/java/app/cash/zipline/samples/emojisearch/composeui/theme.kt +++ b/samples/emoji-search/android-composeui/src/main/java/com/example/redwood/emojisearch/android/composeui/theme.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.composeui +package com.example.redwood.emojisearch.android.composeui import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.shape.RoundedCornerShape diff --git a/samples/emoji-search/android-views/build.gradle b/samples/emoji-search/android-views/build.gradle index 25e19b0be6..7cf1cb0f40 100644 --- a/samples/emoji-search/android-views/build.gradle +++ b/samples/emoji-search/android-views/build.gradle @@ -2,10 +2,7 @@ apply plugin: 'com.android.application' apply plugin: 'org.jetbrains.kotlin.android' android { - namespace "app.cash.zipline.samples.emojisearch.views" - defaultConfig { - applicationId = "com.example.zipline.emojisearch.views" - } + namespace "com.example.redwood.emojisearch.android.views" } dependencies { diff --git a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/AndroidViewEmojiSearchWidgetFactory.kt b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/AndroidEmojiSearchWidgetFactory.kt similarity index 62% rename from samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/AndroidViewEmojiSearchWidgetFactory.kt rename to samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/AndroidEmojiSearchWidgetFactory.kt index abcaaf2a84..661bf25790 100644 --- a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/AndroidViewEmojiSearchWidgetFactory.kt +++ b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/AndroidEmojiSearchWidgetFactory.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.views +package com.example.redwood.emojisearch.android.views import android.content.Context import android.view.View @@ -21,13 +21,16 @@ import android.widget.ImageView import android.widget.TextView import app.cash.redwood.treehouse.AppService import app.cash.redwood.treehouse.TreehouseApp -import example.schema.widget.EmojiSearchWidgetFactory +import com.example.redwood.emojisearch.widget.EmojiSearchWidgetFactory +import com.example.redwood.emojisearch.widget.Image +import com.example.redwood.emojisearch.widget.Text +import com.example.redwood.emojisearch.widget.TextInput -class AndroidViewEmojiSearchWidgetFactory( +class AndroidEmojiSearchWidgetFactory( private val context: Context, private val treehouseApp: TreehouseApp, ) : EmojiSearchWidgetFactory { - override fun TextInput() = ViewTextInput(context, treehouseApp.dispatchers) - override fun Text() = ViewText(TextView(context)) - override fun Image() = ViewImage(ImageView(context)) + override fun TextInput(): TextInput = ViewTextInput(context, treehouseApp.dispatchers) + override fun Text(): Text = ViewText(TextView(context)) + override fun Image(): Image = ViewImage(ImageView(context)) } diff --git a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/EmojiSearchActivity.kt b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/EmojiSearchActivity.kt similarity index 89% rename from samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/EmojiSearchActivity.kt rename to samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/EmojiSearchActivity.kt index e68bef1e7a..5723198c7e 100644 --- a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/EmojiSearchActivity.kt +++ b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/EmojiSearchActivity.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.views +package com.example.redwood.emojisearch.android.views import android.os.Bundle import androidx.activity.ComponentActivity @@ -27,10 +27,10 @@ import app.cash.redwood.treehouse.TreehouseView import app.cash.redwood.treehouse.TreehouseWidgetView import app.cash.redwood.treehouse.lazylayout.view.ViewRedwoodTreehouseLazyLayoutWidgetFactory import app.cash.zipline.loader.ManifestVerifier -import app.cash.zipline.samples.emojisearch.EmojiSearchAppSpec -import app.cash.zipline.samples.emojisearch.EmojiSearchPresenter -import example.schema.widget.EmojiSearchDiffConsumingNodeFactory -import example.schema.widget.EmojiSearchWidgetFactories +import com.example.redwood.emojisearch.launcher.EmojiSearchAppSpec +import com.example.redwood.emojisearch.treehouse.EmojiSearchPresenter +import com.example.redwood.emojisearch.widget.EmojiSearchDiffConsumingNodeFactory +import com.example.redwood.emojisearch.widget.EmojiSearchWidgetFactories import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.cancel import kotlinx.serialization.json.Json @@ -53,7 +53,7 @@ class EmojiSearchActivity : ComponentActivity() { ): DiffConsumingNode.Factory<*> { return EmojiSearchDiffConsumingNodeFactory( provider = EmojiSearchWidgetFactories( - EmojiSearch = AndroidViewEmojiSearchWidgetFactory( + EmojiSearch = AndroidEmojiSearchWidgetFactory( context = this@EmojiSearchActivity, treehouseApp = treehouseApp, ), diff --git a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/RealHostApi.kt b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/RealHostApi.kt similarity index 93% rename from samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/RealHostApi.kt rename to samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/RealHostApi.kt index 43ddee1f76..284d94fef5 100644 --- a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/RealHostApi.kt +++ b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/RealHostApi.kt @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.views +package com.example.redwood.emojisearch.android.views -import app.cash.zipline.samples.emojisearch.HostApi +import com.example.redwood.emojisearch.treehouse.HostApi import kotlinx.coroutines.suspendCancellableCoroutine import okhttp3.Call import okhttp3.Callback diff --git a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewImage.kt b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewImage.kt similarity index 89% rename from samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewImage.kt rename to samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewImage.kt index efcde59778..57269a5fd4 100644 --- a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewImage.kt +++ b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewImage.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.views +package com.example.redwood.emojisearch.android.views import android.util.TypedValue import android.view.View @@ -21,9 +21,9 @@ import android.view.ViewGroup import android.widget.ImageView import app.cash.redwood.LayoutModifier import coil.load -import example.schema.widget.Image +import com.example.redwood.emojisearch.widget.Image -class ViewImage( +internal class ViewImage( override val value: ImageView, ) : Image { init { diff --git a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewText.kt b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewText.kt similarity index 89% rename from samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewText.kt rename to samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewText.kt index 2649bb6b02..e30a963521 100644 --- a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewText.kt +++ b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewText.kt @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.views +package com.example.redwood.emojisearch.android.views import android.util.TypedValue import android.view.View import android.widget.TextView import app.cash.redwood.LayoutModifier -import example.schema.widget.Text +import com.example.redwood.emojisearch.widget.Text -class ViewText( +internal class ViewText( override val value: TextView, ) : Text { override var layoutModifiers: LayoutModifier = LayoutModifier diff --git a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewTextInput.kt b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewTextInput.kt similarity index 96% rename from samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewTextInput.kt rename to samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewTextInput.kt index 3aa9e29056..467776b3b1 100644 --- a/samples/emoji-search/android-views/src/main/java/app/cash/zipline/samples/emojisearch/views/ViewTextInput.kt +++ b/samples/emoji-search/android-views/src/main/java/com/example/redwood/emojisearch/android/views/ViewTextInput.kt @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package app.cash.zipline.samples.emojisearch.views +package com.example.redwood.emojisearch.android.views import android.content.Context import android.view.View @@ -23,13 +23,13 @@ import android.widget.FrameLayout import androidx.core.widget.addTextChangedListener import app.cash.redwood.LayoutModifier import app.cash.redwood.treehouse.TreehouseDispatchers +import com.example.redwood.emojisearch.widget.TextInput import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputLayout -import example.schema.widget.TextInput import example.values.TextFieldState import kotlin.coroutines.EmptyCoroutineContext -class ViewTextInput( +internal class ViewTextInput( context: Context, private val dispatchers: TreehouseDispatchers, ) : TextInput { diff --git a/samples/emoji-search/android-views/src/main/res/values/themes.xml b/samples/emoji-search/android-views/src/main/res/values/themes.xml index 898e58cc39..d119843b0b 100644 --- a/samples/emoji-search/android-views/src/main/res/values/themes.xml +++ b/samples/emoji-search/android-views/src/main/res/values/themes.xml @@ -1,4 +1,4 @@ - + + + + +