From f8e5c794a35ee8b57e0a3a414e220eb94ed68a25 Mon Sep 17 00:00:00 2001 From: Mohsen Rzna Date: Sun, 20 Nov 2022 12:15:35 +0100 Subject: [PATCH 01/16] Added the test for empty state and refactor --- .../feature/bookmarks/BookmarksScreenTest.kt | 37 ++++++++++++++----- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt b/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt index 1dafc5c98..81d99442c 100644 --- a/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt +++ b/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt @@ -17,7 +17,6 @@ package com.google.samples.apps.nowinandroid.feature.bookmarks import androidx.activity.ComponentActivity -import androidx.compose.material3.windowsizeclass.WindowSizeClass import androidx.compose.ui.test.assertCountEquals import androidx.compose.ui.test.assertHasClickAction import androidx.compose.ui.test.filter @@ -34,10 +33,11 @@ import androidx.compose.ui.test.performScrollToNode import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource import com.google.samples.apps.nowinandroid.core.model.data.previewNewsResources import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState -import kotlin.test.assertEquals -import kotlin.test.assertTrue +import com.google.samples.apps.nowinandroid.core.ui.R.string import org.junit.Rule import org.junit.Test +import kotlin.test.assertEquals +import kotlin.test.assertTrue /** * UI tests for [BookmarksScreen] composable. @@ -65,8 +65,6 @@ class BookmarksScreenTest { @Test fun feed_whenHasBookmarks_showsBookmarks() { - lateinit var windowSizeClass: WindowSizeClass - composeTestRule.setContent { BookmarksScreen( feedState = NewsFeedUiState.Success( @@ -120,11 +118,8 @@ class BookmarksScreenTest { } composeTestRule - .onAllNodesWithContentDescription( - composeTestRule.activity.getString( - com.google.samples.apps.nowinandroid.core.ui.R.string.unbookmark - ) - ).filter( + .onAllNodesWithContentDescription(composeTestRule.activity.getString(string.unbookmark)) + .filter( hasAnyAncestor( hasText( previewNewsResources[0].title, @@ -138,4 +133,26 @@ class BookmarksScreenTest { assertTrue(removeFromBookmarksCalled) } + + @Test + fun feed_whenHasNoBookmarks_showsEmptyState() { + composeTestRule.setContent { + BookmarksScreen( + feedState = NewsFeedUiState.Success(emptyList()), + removeFromBookmarks = { } + ) + } + + composeTestRule + .onNodeWithText( + composeTestRule.activity.getString(R.string.bookmarks_empty_error) + ) + .assertExists() + + composeTestRule + .onNodeWithText( + composeTestRule.activity.getString(R.string.bookmarks_empty_description) + ) + .assertExists() + } } From 13f8db26067b0770a3515617717cd7f875fdcfce Mon Sep 17 00:00:00 2001 From: Mohsen Rzna Date: Sun, 20 Nov 2022 12:28:35 +0100 Subject: [PATCH 02/16] Spotless apply --- .../feature/bookmarks/BookmarksScreenTest.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt b/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt index 81d99442c..ff033033a 100644 --- a/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt +++ b/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt @@ -33,11 +33,10 @@ import androidx.compose.ui.test.performScrollToNode import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource import com.google.samples.apps.nowinandroid.core.model.data.previewNewsResources import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState -import com.google.samples.apps.nowinandroid.core.ui.R.string -import org.junit.Rule -import org.junit.Test import kotlin.test.assertEquals import kotlin.test.assertTrue +import org.junit.Rule +import org.junit.Test /** * UI tests for [BookmarksScreen] composable. @@ -118,8 +117,11 @@ class BookmarksScreenTest { } composeTestRule - .onAllNodesWithContentDescription(composeTestRule.activity.getString(string.unbookmark)) - .filter( + .onAllNodesWithContentDescription( + composeTestRule.activity.getString( + com.google.samples.apps.nowinandroid.core.ui.R.string.unbookmark + ) + ).filter( hasAnyAncestor( hasText( previewNewsResources[0].title, From f01f6dc860939e3ea88ea8175585860a3d60b6c3 Mon Sep 17 00:00:00 2001 From: Mohsen Rzna Date: Sun, 20 Nov 2022 15:10:04 +0100 Subject: [PATCH 03/16] Reverted the changes back for import --- .../nowinandroid/feature/bookmarks/BookmarksScreenTest.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt b/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt index ff033033a..4e47f06b1 100644 --- a/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt +++ b/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt @@ -33,10 +33,10 @@ import androidx.compose.ui.test.performScrollToNode import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource import com.google.samples.apps.nowinandroid.core.model.data.previewNewsResources import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState -import kotlin.test.assertEquals -import kotlin.test.assertTrue import org.junit.Rule import org.junit.Test +import kotlin.test.assertEquals +import kotlin.test.assertTrue /** * UI tests for [BookmarksScreen] composable. From 0e2fb13edfa6d3df34f58ed10774371e1a1d0a4d Mon Sep 17 00:00:00 2001 From: Mohsen Rzna Date: Sun, 20 Nov 2022 15:23:50 +0100 Subject: [PATCH 04/16] Spotless apply - new version --- .../nowinandroid/feature/bookmarks/BookmarksScreenTest.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt b/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt index 4e47f06b1..ff033033a 100644 --- a/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt +++ b/feature/bookmarks/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt @@ -33,10 +33,10 @@ import androidx.compose.ui.test.performScrollToNode import com.google.samples.apps.nowinandroid.core.domain.model.SaveableNewsResource import com.google.samples.apps.nowinandroid.core.model.data.previewNewsResources import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState -import org.junit.Rule -import org.junit.Test import kotlin.test.assertEquals import kotlin.test.assertTrue +import org.junit.Rule +import org.junit.Test /** * UI tests for [BookmarksScreen] composable. From 31133a4c4e7214d40ec5cab0ebf78d268141b297 Mon Sep 17 00:00:00 2001 From: Alex Vanyo Date: Thu, 15 Dec 2022 15:08:13 -0800 Subject: [PATCH 05/16] Center title bar when nav rail is visible Change-Id: I341833b71504462fdbfbe5073a2465be2af95fda --- .../samples/apps/nowinandroid/ui/NiaApp.kt | 90 +++++++++---------- 1 file changed, 41 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt b/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt index 26262e53f..0948ee798 100644 --- a/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt +++ b/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt @@ -16,6 +16,7 @@ package com.google.samples.apps.nowinandroid.ui +import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.WindowInsets @@ -49,7 +50,6 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.testTagsAsResourceId -import androidx.compose.ui.zIndex import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.NavDestination @@ -96,9 +96,25 @@ fun NiaApp( } background { - val snackbarHostState = remember { SnackbarHostState() } + val isOffline by appState.isOffline.collectAsStateWithLifecycle() + + // If user is not connected to the internet show a snack bar to inform them. + val notConnected = stringResource(R.string.not_connected) + LaunchedEffect(isOffline) { + if (isOffline) snackbarHostState.showSnackbar( + message = notConnected, + duration = Indefinite + ) + } + + if (appState.shouldShowSettingsDialog) { + SettingsDialog( + onDismiss = { appState.setShowSettingsDialog(false) } + ) + } + Scaffold( modifier = Modifier.semantics { testTagsAsResourceId = true @@ -107,28 +123,6 @@ fun NiaApp( contentColor = MaterialTheme.colorScheme.onBackground, contentWindowInsets = WindowInsets(0, 0, 0, 0), snackbarHost = { SnackbarHost(snackbarHostState) }, - topBar = { - // Show the top app bar on top level destinations. - val destination = appState.currentTopLevelDestination - if (destination != null) { - NiaTopAppBar( - // When the nav rail is displayed, the top app bar will, by default - // overlap it. This means that the top most item in the nav rail - // won't be tappable. A workaround is to position the top app bar - // behind the nav rail using zIndex. - modifier = Modifier.zIndex(-1F), - titleRes = destination.titleTextId, - actionIcon = NiaIcons.Settings, - actionIconContentDescription = stringResource( - id = settingsR.string.top_app_bar_action_icon_description - ), - colors = TopAppBarDefaults.centerAlignedTopAppBarColors( - containerColor = Color.Transparent - ), - onActionClick = { appState.setShowSettingsDialog(true) } - ) - } - }, bottomBar = { if (appState.shouldShowBottomBar) { NiaBottomBar( @@ -140,27 +134,11 @@ fun NiaApp( } } ) { padding -> - - val isOffline by appState.isOffline.collectAsStateWithLifecycle() - - // If user is not connected to the internet show a snack bar to inform them. - val notConnected = stringResource(R.string.not_connected) - LaunchedEffect(isOffline) { - if (isOffline) snackbarHostState.showSnackbar( - message = notConnected, - duration = Indefinite - ) - } - - if (appState.shouldShowSettingsDialog) { - SettingsDialog( - onDismiss = { appState.setShowSettingsDialog(false) } - ) - } - Row( Modifier .fillMaxSize() + .padding(padding) + .consumedWindowInsets(padding) .windowInsetsPadding( WindowInsets.safeDrawing.only( WindowInsetsSides.Horizontal @@ -178,14 +156,28 @@ fun NiaApp( ) } - NiaNavHost( - navController = appState.navController, - onBackClick = appState::onBackClick, + Column(Modifier.fillMaxSize()) { + // Show the top app bar on top level destinations. + val destination = appState.currentTopLevelDestination + if (destination != null) { + NiaTopAppBar( + titleRes = destination.titleTextId, + actionIcon = NiaIcons.Settings, + actionIconContentDescription = stringResource( + id = settingsR.string.top_app_bar_action_icon_description + ), + colors = TopAppBarDefaults.centerAlignedTopAppBarColors( + containerColor = Color.Transparent + ), + onActionClick = { appState.setShowSettingsDialog(true) } + ) + } - modifier = Modifier - .padding(padding) - .consumedWindowInsets(padding) - ) + NiaNavHost( + navController = appState.navController, + onBackClick = appState::onBackClick + ) + } // TODO: We may want to add padding or spacer when the snackbar is shown so that // content doesn't display behind it. From dd96befa1787a8879ce18c605eeae763fb527afe Mon Sep 17 00:00:00 2001 From: ratobing Date: Sat, 17 Dec 2022 08:09:46 +0700 Subject: [PATCH 06/16] Set visibility modifier of composable preview to private --- .../nowinandroid/core/designsystem/component/TopAppBar.kt | 2 +- .../google/samples/apps/nowinandroid/core/ui/NewsFeed.kt | 4 ++-- .../samples/apps/nowinandroid/core/ui/NewsResourceCard.kt | 6 +++--- .../apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt | 2 +- .../apps/nowinandroid/feature/settings/SettingsDialog.kt | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core/designsystem/src/main/java/com/google/samples/apps/nowinandroid/core/designsystem/component/TopAppBar.kt b/core/designsystem/src/main/java/com/google/samples/apps/nowinandroid/core/designsystem/component/TopAppBar.kt index 4fa9e297f..5434795dd 100644 --- a/core/designsystem/src/main/java/com/google/samples/apps/nowinandroid/core/designsystem/component/TopAppBar.kt +++ b/core/designsystem/src/main/java/com/google/samples/apps/nowinandroid/core/designsystem/component/TopAppBar.kt @@ -104,7 +104,7 @@ fun NiaTopAppBar( @OptIn(ExperimentalMaterial3Api::class) @Preview("Top App Bar") @Composable -fun NiaTopAppBarPreview() { +private fun NiaTopAppBarPreview() { NiaTopAppBar( titleRes = android.R.string.untitled, navigationIcon = NiaIcons.Search, diff --git a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt index 55d84af2f..fbc9c0b81 100644 --- a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt +++ b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt @@ -106,7 +106,7 @@ sealed interface NewsFeedUiState { @Preview @Composable -fun NewsFeedLoadingPreview() { +private fun NewsFeedLoadingPreview() { NiaTheme { LazyVerticalGrid(columns = GridCells.Adaptive(300.dp)) { newsFeed( @@ -120,7 +120,7 @@ fun NewsFeedLoadingPreview() { @Preview @Preview(device = Devices.TABLET) @Composable -fun NewsFeedContentPreview() { +private fun NewsFeedContentPreview() { NiaTheme { LazyVerticalGrid(columns = GridCells.Adaptive(300.dp)) { newsFeed( diff --git a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt index 21ee1a7a8..54f27fa95 100644 --- a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt +++ b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt @@ -256,7 +256,7 @@ fun NewsResourceTopics( @Preview("Bookmark Button") @Composable -fun BookmarkButtonPreview() { +private fun BookmarkButtonPreview() { NiaTheme { Surface { BookmarkButton(isBookmarked = false, onClick = { }) @@ -266,7 +266,7 @@ fun BookmarkButtonPreview() { @Preview("Bookmark Button Bookmarked") @Composable -fun BookmarkButtonBookmarkedPreview() { +private fun BookmarkButtonBookmarkedPreview() { NiaTheme { Surface { BookmarkButton(isBookmarked = true, onClick = { }) @@ -276,7 +276,7 @@ fun BookmarkButtonBookmarkedPreview() { @Preview("NewsResourceCardExpanded") @Composable -fun ExpandedNewsResourcePreview() { +private fun ExpandedNewsResourcePreview() { NiaTheme { Surface { NewsResourceCardExpanded( diff --git a/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt b/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt index 06a87bc9e..513c8fbd0 100644 --- a/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt +++ b/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt @@ -195,7 +195,7 @@ private fun BookmarksGridPreview() { @Preview @Composable -fun EmptyStatePreview() { +private fun EmptyStatePreview() { NiaTheme { EmptyState() } diff --git a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt index f10b2e138..01c7cb0f5 100644 --- a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt +++ b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt @@ -255,7 +255,7 @@ private fun TextLink(text: String, url: String) { @Preview @Composable -fun PreviewSettingsDialog() { +private fun PreviewSettingsDialog() { NiaTheme { SettingsDialog( onDismiss = {}, @@ -273,7 +273,7 @@ fun PreviewSettingsDialog() { @Preview @Composable -fun PreviewSettingsDialogLoading() { +private fun PreviewSettingsDialogLoading() { NiaTheme { SettingsDialog( onDismiss = {}, From 83a1b94cd680eedb4033a0256ed6464a8f0c852f Mon Sep 17 00:00:00 2001 From: Muhammad Anas Shamsi Date: Mon, 19 Dec 2022 17:37:35 +0500 Subject: [PATCH 07/16] Typo fix for search --- feature/interests/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feature/interests/src/main/res/values/strings.xml b/feature/interests/src/main/res/values/strings.xml index f4496265d..afdc48034 100644 --- a/feature/interests/src/main/res/values/strings.xml +++ b/feature/interests/src/main/res/values/strings.xml @@ -23,5 +23,5 @@ Unfollow interest button Interests Menu - Search + Search From f0281cd59f5497e36847a6d680aaaf214354e916 Mon Sep 17 00:00:00 2001 From: Muhammad Anas Shamsi Date: Mon, 19 Dec 2022 17:42:15 +0500 Subject: [PATCH 08/16] remove the redundant "interests" prefix --- .../interests/InterestsScreenTest.kt | 8 ++++---- .../feature/interests/InterestsItem.kt | 4 ++-- .../feature/interests/InterestsScreen.kt | 4 ++-- .../interests/src/main/res/values/strings.xml | 18 ++++++++---------- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/feature/interests/src/androidTest/java/com/google/samples/apps/nowinandroid/interests/InterestsScreenTest.kt b/feature/interests/src/androidTest/java/com/google/samples/apps/nowinandroid/interests/InterestsScreenTest.kt index 8bd47a8a8..e44086c4c 100644 --- a/feature/interests/src/androidTest/java/com/google/samples/apps/nowinandroid/interests/InterestsScreenTest.kt +++ b/feature/interests/src/androidTest/java/com/google/samples/apps/nowinandroid/interests/InterestsScreenTest.kt @@ -52,12 +52,12 @@ class InterestsScreenTest { @Before fun setup() { composeTestRule.activity.apply { - interestsLoading = getString(R.string.interests_loading) - interestsEmptyHeader = getString(R.string.interests_empty_header) + interestsLoading = getString(R.string.loading) + interestsEmptyHeader = getString(R.string.empty_header) interestsTopicCardFollowButton = - getString(R.string.interests_card_follow_button_content_desc) + getString(R.string.card_follow_button_content_desc) interestsTopicCardUnfollowButton = - getString(R.string.interests_card_unfollow_button_content_desc) + getString(R.string.card_unfollow_button_content_desc) } } diff --git a/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/InterestsItem.kt b/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/InterestsItem.kt index 32e645094..de04f59f1 100644 --- a/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/InterestsItem.kt +++ b/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/InterestsItem.kt @@ -76,7 +76,7 @@ fun InterestsItem( Icon( imageVector = NiaIcons.Add, contentDescription = stringResource( - id = string.interests_card_follow_button_content_desc + id = string.card_follow_button_content_desc ) ) }, @@ -84,7 +84,7 @@ fun InterestsItem( Icon( imageVector = NiaIcons.Check, contentDescription = stringResource( - id = string.interests_card_unfollow_button_content_desc + id = string.card_unfollow_button_content_desc ) ) } diff --git a/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/InterestsScreen.kt b/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/InterestsScreen.kt index d062b5fe9..8cce790c4 100644 --- a/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/InterestsScreen.kt +++ b/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/InterestsScreen.kt @@ -65,7 +65,7 @@ internal fun InterestsScreen( InterestsUiState.Loading -> NiaLoadingWheel( modifier = modifier, - contentDesc = stringResource(id = R.string.interests_loading), + contentDesc = stringResource(id = R.string.loading), ) is InterestsUiState.Interests -> TopicsTabContent( @@ -81,7 +81,7 @@ internal fun InterestsScreen( @Composable private fun InterestsEmptyScreen() { - Text(text = stringResource(id = R.string.interests_empty_header)) + Text(text = stringResource(id = R.string.empty_header)) } @DevicePreviews diff --git a/feature/interests/src/main/res/values/strings.xml b/feature/interests/src/main/res/values/strings.xml index afdc48034..8b5b7c285 100644 --- a/feature/interests/src/main/res/values/strings.xml +++ b/feature/interests/src/main/res/values/strings.xml @@ -1,5 +1,4 @@ - - - Interests - Loading data - "No available data" - Follow interest button - Unfollow interest button - Interests - Menu - Search + Loading data + "No available data" + Follow interest button + Unfollow interest button + Interests + Menu + Search From 8154827ac5f770bf36fbb6a765279eafbd3c82e5 Mon Sep 17 00:00:00 2001 From: Muhammad Anas Shamsi Date: Tue, 20 Dec 2022 16:42:42 +0500 Subject: [PATCH 09/16] CI error due to invalid file format resolved --- feature/interests/src/main/res/values/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/feature/interests/src/main/res/values/strings.xml b/feature/interests/src/main/res/values/strings.xml index 8b5b7c285..5b9ab83e0 100644 --- a/feature/interests/src/main/res/values/strings.xml +++ b/feature/interests/src/main/res/values/strings.xml @@ -1,4 +1,5 @@ -