diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index aa1bb3883218..ffb7d559a197 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,5 +1,6 @@ # This is the module where the Android Design System resides # Any changes to the source files of this module require approval from @malmstein or @nalcalag. -/common/common-ui/ @malmstein @nalcalag +/android-design-system/design-system/ @malmstein @mikescamell +/android-design-system/design-system-internal/ @malmstein @mikescamell /saved-sites/ @malmstein /example-feature/ @cdrussell \ No newline at end of file diff --git a/android-design-system/design-system-internal/build.gradle b/android-design-system/design-system-internal/build.gradle index b97fbf916226..43cd2d64c943 100644 --- a/android-design-system/design-system-internal/build.gradle +++ b/android-design-system/design-system-internal/build.gradle @@ -26,7 +26,18 @@ android { anvil { generateDaggerFactories = true // default is false } + lint { + baseline = file("lint-baseline.xml") + } namespace 'com.duckduckgo.common.ui.internal' + + buildFeatures { + compose true + } + + composeOptions { + kotlinCompilerExtensionVersion = "_" + } } dependencies { @@ -42,11 +53,13 @@ dependencies { implementation project(path: ':app-build-config-api') implementation project(':internal-features-api') implementation project(path: ':navigation-api') + implementation "androidx.datastore:datastore-preferences:_" implementation AndroidX.appCompat implementation Google.android.material implementation AndroidX.constraintLayout implementation AndroidX.core.splashscreen + implementation AndroidX.fragment.ktx implementation AndroidX.recyclerView implementation AndroidX.lifecycle.viewModelKtx // just to get the dagger annotations diff --git a/android-design-system/design-system-internal/lint-baseline.xml b/android-design-system/design-system-internal/lint-baseline.xml new file mode 100644 index 000000000000..fca7771929ee --- /dev/null +++ b/android-design-system/design-system-internal/lint-baseline.xml @@ -0,0 +1,1870 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android-design-system/design-system-internal/src/main/AndroidManifest.xml b/android-design-system/design-system-internal/src/main/AndroidManifest.xml new file mode 100644 index 000000000000..33aef8c3d0a7 --- /dev/null +++ b/android-design-system/design-system-internal/src/main/AndroidManifest.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ThemePreviewInternalFeature.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ThemePreviewInternalFeature.kt index 9fce7d0bb8a6..4a05ddfdf564 100644 --- a/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ThemePreviewInternalFeature.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ThemePreviewInternalFeature.kt @@ -18,7 +18,7 @@ package com.duckduckgo.common.ui.internal import android.content.Context import com.duckduckgo.anvil.annotations.PriorityKey -import com.duckduckgo.common.ui.themepreview.ui.AppComponentsActivity +import com.duckduckgo.common.ui.internal.ui.AppComponentsActivity import com.duckduckgo.di.scopes.AppScope import com.duckduckgo.internal.features.api.InternalFeaturePlugin import com.squareup.anvil.annotations.ContributesMultibinding diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/ADSComposeTools.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/ADSComposeTools.kt similarity index 96% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/ADSComposeTools.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/ADSComposeTools.kt index d47f25ea32b6..00491eab7508 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/ADSComposeTools.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/ADSComposeTools.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui +package com.duckduckgo.common.ui.internal.ui import android.view.View import androidx.compose.runtime.Composable diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsActivity.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsActivity.kt similarity index 94% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsActivity.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsActivity.kt index e5b7834b9a63..f4459339e831 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsActivity.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsActivity.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui +package com.duckduckgo.common.ui.internal.ui import android.content.Context import android.content.Intent @@ -26,12 +26,12 @@ import androidx.lifecycle.lifecycleScope import androidx.viewpager.widget.ViewPager import com.duckduckgo.common.ui.DuckDuckGoTheme import com.duckduckgo.common.ui.applyTheme +import com.duckduckgo.common.ui.internal.R +import com.duckduckgo.common.ui.internal.ui.store.AppComponentsPrefsDataStore +import com.duckduckgo.common.ui.internal.ui.store.appComponentsDataStore import com.duckduckgo.common.ui.store.ThemingSharedPreferences -import com.duckduckgo.common.ui.themepreview.ui.store.AppComponentsPrefsDataStore -import com.duckduckgo.common.ui.themepreview.ui.store.appComponentsDataStore import com.duckduckgo.common.ui.view.listitem.OneLineListItem import com.duckduckgo.common.utils.DefaultDispatcherProvider -import com.duckduckgo.mobile.android.R import com.google.android.material.tabs.TabLayout import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsPagerAdapter.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsPagerAdapter.kt similarity index 74% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsPagerAdapter.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsPagerAdapter.kt index 8f09a1b23c94..e49d8ca2203b 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsPagerAdapter.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsPagerAdapter.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 DuckDuckGo + * Copyright (c) 2025 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,22 +14,22 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui +package com.duckduckgo.common.ui.internal.ui import android.content.Context import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentStatePagerAdapter -import com.duckduckgo.common.ui.themepreview.ui.component.ComponentOtherFragment -import com.duckduckgo.common.ui.themepreview.ui.component.buttons.ComponentButtonsFragment -import com.duckduckgo.common.ui.themepreview.ui.component.buttons.ComponentInteractiveElementsFragment -import com.duckduckgo.common.ui.themepreview.ui.component.cards.ComponentLayoutsFragment -import com.duckduckgo.common.ui.themepreview.ui.component.listitems.ComponentListItemsElementsFragment -import com.duckduckgo.common.ui.themepreview.ui.component.navigation.ComponentMessagingFragment -import com.duckduckgo.common.ui.themepreview.ui.component.textinput.ComponentTextInputFragment -import com.duckduckgo.common.ui.themepreview.ui.dialogs.DialogsFragment -import com.duckduckgo.common.ui.themepreview.ui.palette.ColorPaletteFragment -import com.duckduckgo.common.ui.themepreview.ui.typography.TypographyFragment +import com.duckduckgo.common.ui.internal.ui.component.ComponentOtherFragment +import com.duckduckgo.common.ui.internal.ui.component.buttons.ComponentButtonsFragment +import com.duckduckgo.common.ui.internal.ui.component.buttons.ComponentInteractiveElementsFragment +import com.duckduckgo.common.ui.internal.ui.component.cards.ComponentLayoutsFragment +import com.duckduckgo.common.ui.internal.ui.component.listitems.ComponentListItemsElementsFragment +import com.duckduckgo.common.ui.internal.ui.component.navigation.ComponentMessagingFragment +import com.duckduckgo.common.ui.internal.ui.component.textinput.ComponentTextInputFragment +import com.duckduckgo.common.ui.internal.ui.dialogs.DialogsFragment +import com.duckduckgo.common.ui.internal.ui.palette.ColorPaletteFragment +import com.duckduckgo.common.ui.internal.ui.typography.TypographyFragment import com.duckduckgo.mobile.android.R /** View pager to show all tabbed destinations - Instructions, Theme Summary and Components. */ diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsViewModel.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsViewModel.kt similarity index 88% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsViewModel.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsViewModel.kt index a4659817edfb..f6518b7d96f5 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsViewModel.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsViewModel.kt @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui +package com.duckduckgo.common.ui.internal.ui import androidx.lifecycle.ViewModel import com.duckduckgo.common.ui.DuckDuckGoTheme -import com.duckduckgo.common.ui.themepreview.ui.store.AppComponentsPrefsDataStore +import com.duckduckgo.common.ui.internal.ui.store.AppComponentsPrefsDataStore import kotlinx.coroutines.flow.Flow class AppComponentsViewModel( diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsViewModelExt.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsViewModelExt.kt similarity index 88% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsViewModelExt.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsViewModelExt.kt index 75df65c215fa..fd9f7cb248ae 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/AppComponentsViewModelExt.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/AppComponentsViewModelExt.kt @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui +package com.duckduckgo.common.ui.internal.ui import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider +import com.duckduckgo.common.ui.internal.ui.store.AppComponentsPrefsDataStore +import com.duckduckgo.common.ui.internal.ui.store.appComponentsDataStore import com.duckduckgo.common.ui.store.ThemingSharedPreferences -import com.duckduckgo.common.ui.themepreview.ui.store.AppComponentsPrefsDataStore -import com.duckduckgo.common.ui.themepreview.ui.store.appComponentsDataStore import com.duckduckgo.common.utils.DefaultDispatcherProvider internal fun Fragment.appComponentsViewModel(): Lazy = activityViewModels { diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/PlatformLabelView.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/PlatformLabelView.kt similarity index 98% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/PlatformLabelView.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/PlatformLabelView.kt index 08253505ca17..2fc0d23a0f5e 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/PlatformLabelView.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/PlatformLabelView.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui +package com.duckduckgo.common.ui.internal.ui import android.content.Context import android.util.AttributeSet diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/Component.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/Component.kt similarity index 94% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/Component.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/Component.kt index 28f472f87846..b911267d6c49 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/Component.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/Component.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component +package com.duckduckgo.common.ui.internal.ui.component enum class Component { BUTTON, diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentAdapter.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentAdapter.kt similarity index 96% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentAdapter.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentAdapter.kt index 8fb9457ce739..b1392a22cd4b 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentAdapter.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentAdapter.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component +package com.duckduckgo.common.ui.internal.ui.component import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentFragment.kt similarity index 94% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentFragment.kt index 3b7e7f0fccdd..445bba7a4275 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentFragment.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component +package com.duckduckgo.common.ui.internal.ui.component import android.annotation.SuppressLint import android.os.Bundle @@ -24,7 +24,7 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.duckduckgo.mobile.android.R +import com.duckduckgo.common.ui.internal.R @SuppressLint("NoFragment") // we don't use DI here abstract class ComponentFragment : Fragment() { diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentOtherFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentOtherFragment.kt similarity index 92% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentOtherFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentOtherFragment.kt index 3caef3dd9bbe..b4c2c11d38e9 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentOtherFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentOtherFragment.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component +package com.duckduckgo.common.ui.internal.ui.component class ComponentOtherFragment : ComponentFragment() { override fun getComponents(): List { diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentViewHolder.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentViewHolder.kt similarity index 95% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentViewHolder.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentViewHolder.kt index 4daa5c23ec5b..29ef6f0cf296 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/ComponentViewHolder.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/ComponentViewHolder.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 DuckDuckGo + * Copyright (c) 2025 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component +package com.duckduckgo.common.ui.internal.ui.component import android.annotation.SuppressLint import android.view.Gravity @@ -23,6 +23,7 @@ import android.view.View import android.view.ViewGroup import android.widget.FrameLayout import androidx.recyclerview.widget.RecyclerView +import com.duckduckgo.common.ui.internal.R import com.duckduckgo.common.ui.view.MessageCta import com.duckduckgo.common.ui.view.MessageCta.Message import com.duckduckgo.common.ui.view.MessageCta.MessageType.REMOTE_PROMO_MESSAGE @@ -30,11 +31,11 @@ import com.duckduckgo.common.ui.view.listitem.OneLineListItem import com.duckduckgo.common.ui.view.listitem.SectionHeaderListItem import com.duckduckgo.common.ui.view.listitem.TwoLineListItem import com.duckduckgo.common.utils.extensions.html -import com.duckduckgo.mobile.android.R import com.google.android.material.card.MaterialCardView import com.google.android.material.shape.ShapeAppearanceModel import com.google.android.material.shape.TriangleEdgeTreatment import com.google.android.material.snackbar.Snackbar +import com.duckduckgo.mobile.android.R as CommonR sealed class ComponentViewHolder(val view: View) : RecyclerView.ViewHolder(view) { @@ -70,13 +71,13 @@ sealed class ComponentViewHolder(val view: View) : RecyclerView.ViewHolder(view) override fun bind(component: Component) { val smallMessage = Message(title = "Small Message", subtitle = "Body text goes here. This component doesn't have buttons") val bigSingleMessage = Message( - topIllustration = R.drawable.ic_announce, + topIllustration = CommonR.drawable.ic_announce, title = "Big Single Message", subtitle = "Body text goes here. This component has one button", action = "Primary", ) val bigTwoActionsMessage = Message( - topIllustration = R.drawable.ic_ddg_announce, + topIllustration = CommonR.drawable.ic_ddg_announce, title = "Big Two Actions Message", subtitle = "Body text goes here. This component has two buttons", action = "Primary", @@ -84,7 +85,7 @@ sealed class ComponentViewHolder(val view: View) : RecyclerView.ViewHolder(view) ) val bigTwoActionsUpdateMessage = Message( - topIllustration = R.drawable.ic_app_update, + topIllustration = CommonR.drawable.ic_app_update, title = "Big Two Actions Message", subtitle = "Body text goes here. This component has two buttons and showcases and app update", action = "Primary", @@ -92,13 +93,13 @@ sealed class ComponentViewHolder(val view: View) : RecyclerView.ViewHolder(view) ) val mediumMessage = Message( - topIllustration = R.drawable.ic_critical_update, + topIllustration = CommonR.drawable.ic_critical_update, title = "Big Single Message", subtitle = "Body text goes here. This component has one button", ) val promoSingleMessage = Message( - middleIllustration = R.drawable.desktop_promo_artwork, + middleIllustration = CommonR.drawable.desktop_promo_artwork, title = "Promo Single Action Message", subtitle = "Body text goes here. This component has one promo button and supports bold text", promoAction = "Promo Link", @@ -222,7 +223,7 @@ sealed class ComponentViewHolder(val view: View) : RecyclerView.ViewHolder(view) setClickListener { Snackbar.make(this, component.name, Snackbar.LENGTH_SHORT).show() } } view.findViewById(R.id.oneLineListItemWithLongTextTruncated).apply { - setPrimaryText(context.getString(R.string.dax_one_line_list_item_html_primary_text).html(context)) + setPrimaryText(context.getString(CommonR.string.dax_one_line_list_item_html_primary_text).html(context)) } } } @@ -306,8 +307,8 @@ sealed class ComponentViewHolder(val view: View) : RecyclerView.ViewHolder(view) } view.findViewById(R.id.twoLineListItemWithHTMLTags).apply { - setPrimaryText(context.getString(R.string.dax_list_item_html_primary_text).html(context)) - setSecondaryText(context.getString(R.string.dax_list_item_html_secondary_text).html(context)) + setPrimaryText(context.getString(CommonR.string.dax_list_item_html_primary_text).html(context)) + setSecondaryText(context.getString(CommonR.string.dax_list_item_html_secondary_text).html(context)) } } } @@ -333,7 +334,7 @@ sealed class ComponentViewHolder(val view: View) : RecyclerView.ViewHolder(view) class CardComponentViewHolder(parent: ViewGroup) : ComponentViewHolder(inflate(parent, R.layout.component_card)) { override fun bind(component: Component) { view.findViewById(R.id.ticketViewCard).apply { - val cornerSize = resources.getDimension(R.dimen.smallShapeCornerRadius) + val cornerSize = resources.getDimension(CommonR.dimen.smallShapeCornerRadius) val edgeTreatment = TriangleEdgeTreatment(cornerSize, true) shapeAppearanceModel = ShapeAppearanceModel.Builder() .setLeftEdge(edgeTreatment) diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/buttons/ComponentButtonsFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/buttons/ComponentButtonsFragment.kt similarity index 75% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/buttons/ComponentButtonsFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/buttons/ComponentButtonsFragment.kt index 7326c8f9b1c9..1b675c7226a1 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/buttons/ComponentButtonsFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/buttons/ComponentButtonsFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 DuckDuckGo + * Copyright (c) 2025 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component.buttons +package com.duckduckgo.common.ui.internal.ui.component.buttons -import com.duckduckgo.common.ui.themepreview.ui.component.Component -import com.duckduckgo.common.ui.themepreview.ui.component.ComponentFragment +import com.duckduckgo.common.ui.internal.ui.component.Component +import com.duckduckgo.common.ui.internal.ui.component.ComponentFragment class ComponentButtonsFragment : ComponentFragment() { override fun getComponents(): List { diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/buttons/ComponentInteractiveElementsFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/buttons/ComponentInteractiveElementsFragment.kt similarity index 78% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/buttons/ComponentInteractiveElementsFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/buttons/ComponentInteractiveElementsFragment.kt index 5fb1b6f769c9..e0c1a1217f09 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/buttons/ComponentInteractiveElementsFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/buttons/ComponentInteractiveElementsFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 DuckDuckGo + * Copyright (c) 2025 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component.buttons +package com.duckduckgo.common.ui.internal.ui.component.buttons -import com.duckduckgo.common.ui.themepreview.ui.component.Component -import com.duckduckgo.common.ui.themepreview.ui.component.ComponentFragment +import com.duckduckgo.common.ui.internal.ui.component.Component +import com.duckduckgo.common.ui.internal.ui.component.ComponentFragment class ComponentInteractiveElementsFragment : ComponentFragment() { override fun getComponents(): List { diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/cards/ComponentLayoutsFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/cards/ComponentLayoutsFragment.kt similarity index 74% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/cards/ComponentLayoutsFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/cards/ComponentLayoutsFragment.kt index 1ae187f0233f..097ca79bd1e0 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/cards/ComponentLayoutsFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/cards/ComponentLayoutsFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 DuckDuckGo + * Copyright (c) 2025 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component.cards +package com.duckduckgo.common.ui.internal.ui.component.cards -import com.duckduckgo.common.ui.themepreview.ui.component.Component -import com.duckduckgo.common.ui.themepreview.ui.component.ComponentFragment +import com.duckduckgo.common.ui.internal.ui.component.Component +import com.duckduckgo.common.ui.internal.ui.component.ComponentFragment class ComponentLayoutsFragment : ComponentFragment() { override fun getComponents(): List { diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/listitems/ComponentListItemsElementsFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/listitems/ComponentListItemsElementsFragment.kt similarity index 52% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/listitems/ComponentListItemsElementsFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/listitems/ComponentListItemsElementsFragment.kt index e64636191f07..c9890d3d9a4f 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/listitems/ComponentListItemsElementsFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/listitems/ComponentListItemsElementsFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 DuckDuckGo + * Copyright (c) 2025 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,16 +14,16 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component.listitems +package com.duckduckgo.common.ui.internal.ui.component.listitems -import com.duckduckgo.common.ui.themepreview.ui.component.Component -import com.duckduckgo.common.ui.themepreview.ui.component.Component.MENU_ITEM -import com.duckduckgo.common.ui.themepreview.ui.component.Component.POPUP_MENU_ITEM -import com.duckduckgo.common.ui.themepreview.ui.component.Component.SECTION_HEADER_LIST_ITEM -import com.duckduckgo.common.ui.themepreview.ui.component.Component.SETTINGS_LIST_ITEM -import com.duckduckgo.common.ui.themepreview.ui.component.Component.SINGLE_LINE_LIST_ITEM -import com.duckduckgo.common.ui.themepreview.ui.component.Component.TWO_LINE_LIST_ITEM -import com.duckduckgo.common.ui.themepreview.ui.component.ComponentFragment +import com.duckduckgo.common.ui.internal.ui.component.Component +import com.duckduckgo.common.ui.internal.ui.component.Component.MENU_ITEM +import com.duckduckgo.common.ui.internal.ui.component.Component.POPUP_MENU_ITEM +import com.duckduckgo.common.ui.internal.ui.component.Component.SECTION_HEADER_LIST_ITEM +import com.duckduckgo.common.ui.internal.ui.component.Component.SETTINGS_LIST_ITEM +import com.duckduckgo.common.ui.internal.ui.component.Component.SINGLE_LINE_LIST_ITEM +import com.duckduckgo.common.ui.internal.ui.component.Component.TWO_LINE_LIST_ITEM +import com.duckduckgo.common.ui.internal.ui.component.ComponentFragment class ComponentListItemsElementsFragment : ComponentFragment() { override fun getComponents(): List { diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/navigation/ComponentMessagingFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/navigation/ComponentMessagingFragment.kt similarity index 75% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/navigation/ComponentMessagingFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/navigation/ComponentMessagingFragment.kt index 1c683754420f..884be9af3eff 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/navigation/ComponentMessagingFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/navigation/ComponentMessagingFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 DuckDuckGo + * Copyright (c) 2025 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component.navigation +package com.duckduckgo.common.ui.internal.ui.component.navigation -import com.duckduckgo.common.ui.themepreview.ui.component.Component -import com.duckduckgo.common.ui.themepreview.ui.component.ComponentFragment +import com.duckduckgo.common.ui.internal.ui.component.Component +import com.duckduckgo.common.ui.internal.ui.component.ComponentFragment class ComponentMessagingFragment : ComponentFragment() { override fun getComponents(): List { diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/textinput/ComponentTextInputFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/textinput/ComponentTextInputFragment.kt similarity index 92% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/textinput/ComponentTextInputFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/textinput/ComponentTextInputFragment.kt index 626f2cc9d39c..676442db58da 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/component/textinput/ComponentTextInputFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/component/textinput/ComponentTextInputFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 DuckDuckGo + * Copyright (c) 2025 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.component.textinput +package com.duckduckgo.common.ui.internal.ui.component.textinput import android.annotation.SuppressLint import android.os.Bundle @@ -22,9 +22,9 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import com.duckduckgo.common.ui.internal.databinding.ComponentTextInputViewBinding import com.duckduckgo.common.ui.view.text.TextInput.Action import com.duckduckgo.mobile.android.R -import com.duckduckgo.mobile.android.databinding.ComponentTextInputViewBinding import com.google.android.material.snackbar.Snackbar @SuppressLint("NoFragment") // we don't use DI here diff --git a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/dialogs/DialogsFragment.kt b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/dialogs/DialogsFragment.kt similarity index 83% rename from design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/dialogs/DialogsFragment.kt rename to android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/dialogs/DialogsFragment.kt index 8041866d04d8..20271e21bb91 100644 --- a/design-system/src/main/java/com/duckduckgo/common/ui/themepreview/ui/dialogs/DialogsFragment.kt +++ b/android-design-system/design-system-internal/src/main/java/com/duckduckgo/common/ui/internal/ui/dialogs/DialogsFragment.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.duckduckgo.common.ui.themepreview.ui.dialogs +package com.duckduckgo.common.ui.internal.ui.dialogs import android.annotation.SuppressLint import android.os.Bundle @@ -24,6 +24,7 @@ import android.view.ViewGroup import android.widget.Button import android.widget.Toast import androidx.fragment.app.Fragment +import com.duckduckgo.common.ui.internal.R import com.duckduckgo.common.ui.view.LottieDaxDialog import com.duckduckgo.common.ui.view.TypewriterDaxDialog import com.duckduckgo.common.ui.view.button.ButtonType.DESTRUCTIVE @@ -34,8 +35,8 @@ import com.duckduckgo.common.ui.view.dialog.PromoBottomSheetDialog import com.duckduckgo.common.ui.view.dialog.RadioListAlertDialogBuilder import com.duckduckgo.common.ui.view.dialog.StackedAlertDialogBuilder import com.duckduckgo.common.ui.view.dialog.TextAlertDialogBuilder -import com.duckduckgo.mobile.android.R import com.google.android.material.snackbar.Snackbar +import com.duckduckgo.mobile.android.R as CommonR /** Fragment to display a list of dialogs. */ @SuppressLint("NoFragment") // we don't use DI here @@ -58,11 +59,11 @@ class DialogsFragment : Fragment() { view.findViewById