Skip to content

Commit 164c823

Browse files
authored
Merge branch 'trunk' into woomob-1452-woo-possurveys-implement-a-click-on-the-notifications-to
2 parents ec669d9 + b5f743a commit 164c823

File tree

170 files changed

+13102
-1447
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+13102
-1447
lines changed

.buildkite/release-pipelines/start-code-freeze.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ steps:
1212
install_gems
1313
1414
echo '--- :snowflake: Start Code Freeze'
15-
bundle exec fastlane start_code_freeze skip_confirm:true
15+
bundle exec fastlane start_code_freeze version:"${RELEASE_VERSION}" skip_confirm:true
1616
agents:
1717
queue: "tumblr-metal"
1818
retry:

RELEASE-NOTES.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
*** For entries which are touching the Android Wear app's, start entry with `[WEAR]` too.
44
23.5
55
-----
6-
6+
- [Internal][Wear] Remove unused dependencies and optimize dependency scopes [https://github.com/woocommerce/woocommerce-android/pull/14710]
7+
- [Internal] Remove unused dependencies and optimize dependency scopes [https://github.com/woocommerce/woocommerce-android/pull/14710]
8+
- [*] Fix a rare crash in order refund flow [https://github.com/woocommerce/woocommerce-android/pull/14742]
79

810
23.4
911
-----

WooCommerce-Wear/build.gradle

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -135,15 +135,10 @@ dependencies {
135135
exclude group: "com.mcxiaoke.volley"
136136
exclude group: "com.android.support"
137137
}
138-
implementation(libs.automattic.tracks.android)
139138
implementation(libs.automattic.tracks.crashlogging)
140139

141140
// WearOS
142141
implementation(libs.google.play.services.wearable)
143-
implementation(libs.androidx.wear.tiles.main)
144-
implementation(libs.androidx.wear.tiles.material)
145-
implementation(libs.google.horologist.compose.tools)
146-
implementation(libs.google.horologist.tiles)
147142
implementation(libs.google.horologist.compose.layout)
148143
implementation(libs.androidx.wear.watchface.complications.data.source.ktx)
149144
implementation(libs.androidx.wear.compose.material)
@@ -164,30 +159,26 @@ dependencies {
164159
// Android Support
165160
implementation(libs.androidx.work.runtime.ktx)
166161
implementation(libs.androidx.lifecycle.viewmodel.savedstate)
167-
implementation(libs.androidx.lifecycle.livedata.ktx)
168162
implementation(libs.androidx.core.splashscreen)
169163
implementation(libs.androidx.navigation.compose)
170164
implementation(libs.androidx.activity.compose)
171165
implementation(libs.androidx.preference.ktx)
172166
implementation(libs.androidx.datastore.preferences)
173-
implementation(libs.androidx.datastore.main)
174167
implementation(libs.google.gson)
175168

176169
// Coroutines
177170
implementation(libs.kotlinx.coroutines.core)
178-
implementation(libs.kotlinx.coroutines.android)
171+
runtimeOnly(libs.kotlinx.coroutines.android)
179172
implementation(libs.kotlinx.coroutines.play.services)
180173
testImplementation(libs.kotlinx.coroutines.test)
181174

182175
// Dagger & Hilt
183176
implementation(libs.google.dagger.hilt.android.main)
184-
implementation(libs.androidx.hilt.navigation.fragment)
185-
implementation(libs.androidx.hilt.common)
186-
implementation(libs.androidx.hilt.work)
187177
implementation(libs.androidx.hilt.navigation.compose)
178+
compileOnly(libs.androidx.hilt.common)
179+
implementation(libs.androidx.hilt.work)
188180
ksp(libs.androidx.hilt.compiler)
189181
ksp(libs.google.dagger.hilt.compiler)
190-
implementation(libs.google.dagger.android.support)
191182
ksp(libs.google.dagger.android.processor)
192183

193184
// Testing

WooCommerce-Wear/src/main/java/com/woocommerce/android/wear/ui/stats/datasource/StatsRepository.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import com.woocommerce.android.wear.util.DateUtils
2121
import com.woocommerce.commons.DataParameters.ORDERS_COUNT
2222
import com.woocommerce.commons.DataParameters.TOTAL_REVENUE
2323
import com.woocommerce.commons.DataParameters.VISITORS_TOTAL
24+
import com.woocommerce.commons.stats.StatsTimeRange
25+
import com.woocommerce.commons.stats.StatsUtils.toRevenueRangeId
2426
import kotlinx.coroutines.flow.map
2527
import kotlinx.coroutines.flow.mapNotNull
2628
import org.wordpress.android.fluxc.model.SiteModel
@@ -61,7 +63,8 @@ class StatsRepository @Inject constructor(
6163
site = selectedSite,
6264
granularity = StatsGranularity.DAYS,
6365
startDate = todayRange.start.formatToYYYYmmDDhhmmss(),
64-
endDate = todayRange.end.formatToYYYYmmDDhhmmss()
66+
endDate = todayRange.end.formatToYYYYmmDDhhmmss(),
67+
revenueRangeId = StatsTimeRange(todayRange.start, todayRange.end).toRevenueRangeId("Wear")
6568
)
6669
)
6770

WooCommerce-Wear/src/main/java/com/woocommerce/android/wear/ui/stats/range/StatsTimeRangeData.kt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
11
package com.woocommerce.android.wear.ui.stats.range
22

3-
import android.os.Parcelable
4-
import kotlinx.parcelize.Parcelize
3+
import com.woocommerce.commons.stats.StatsTimeRange
54
import java.util.Calendar
6-
import java.util.Date
7-
8-
@Parcelize
9-
data class StatsTimeRange(
10-
val start: Date,
11-
val end: Date
12-
) : Parcelable
135

146
abstract class StatsTimeRangeData(
157
referenceCalendar: Calendar

WooCommerce-Wear/src/main/java/com/woocommerce/android/wear/ui/stats/range/TodayRangeData.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.woocommerce.android.wear.extensions.formatToMMMddYYYY
55
import com.woocommerce.android.wear.extensions.oneDayAgo
66
import com.woocommerce.android.wear.extensions.startOfCurrentDay
77
import com.woocommerce.android.wear.util.DateUtils
8+
import com.woocommerce.commons.stats.StatsTimeRange
89
import java.util.Calendar
910
import java.util.Locale
1011

WooCommerce/build.gradle

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -281,20 +281,18 @@ dependencies {
281281
// Dagger
282282
implementation(libs.google.dagger.hilt.android.main)
283283
implementation(libs.androidx.hilt.navigation.fragment)
284-
implementation(libs.androidx.hilt.common)
284+
compileOnly(libs.androidx.hilt.common)
285285
implementation(libs.androidx.hilt.work)
286286

287287
ksp(libs.androidx.hilt.compiler)
288288
ksp(libs.google.dagger.hilt.compiler)
289-
implementation(libs.google.dagger.android.support)
290289
ksp(libs.google.dagger.android.processor)
291290

292291
implementation(libs.mpandroidchart)
293292

294293
implementation(libs.bumptech.glide.main)
295294
ksp(libs.bumptech.glide.compiler)
296295
implementation(libs.bumptech.glide.volley.integration)
297-
implementation(libs.bumptech.glide.avif.integration)
298296
implementation(libs.google.play.app.update)
299297
implementation(libs.google.play.review)
300298

@@ -350,6 +348,7 @@ dependencies {
350348
exclude group: 'asm', module: 'asm'
351349
exclude group: 'org.json', module: 'json'
352350
}
351+
androidTestImplementation(libs.apache.http.client.android)
353352
constraints {
354353
androidTestImplementation(libs.wiremock) {
355354
because("newer versions of WireMock use Java APIs not available on Android")
@@ -376,7 +375,6 @@ dependencies {
376375
because("version shipped with WireMock 2.26.3 contains security vulnerabilities")
377376
}
378377
}
379-
androidTestImplementation(libs.apache.http.client.android)
380378

381379
implementation(libs.zendesk.support) {
382380
exclude group: 'com.android.support', module: 'support-annotations'
@@ -386,10 +384,11 @@ dependencies {
386384
implementation(libs.androidx.fragment.ktx)
387385
implementation(libs.androidx.lifecycle.viewmodel.savedstate)
388386
implementation(libs.androidx.lifecycle.process)
387+
implementation(libs.androidx.paging.runtime)
389388

390389
// Coroutines
391390
implementation(libs.kotlinx.coroutines.core)
392-
implementation(libs.kotlinx.coroutines.android)
391+
runtimeOnly(libs.kotlinx.coroutines.android)
393392
implementation(libs.kotlinx.coroutines.play.services)
394393
testImplementation(libs.kotlinx.coroutines.test)
395394

@@ -425,15 +424,15 @@ dependencies {
425424
implementation(libs.coil.svg)
426425

427426
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
428-
debugImplementation(libs.androidx.compose.ui.test.manifest)
427+
debugRuntimeOnly(libs.androidx.compose.ui.test.manifest)
429428

430429
coreLibraryDesugaring(libs.android.desugar)
431430

432431
// Lottie
433432
implementation(libs.lottie.compose)
434433

435434
// CameraX
436-
implementation(libs.androidx.camera.camera2)
435+
runtimeOnly(libs.androidx.camera.camera2)
437436
implementation(libs.androidx.camera.lifecycle)
438437
implementation(libs.androidx.camera.view)
439438

WooCommerce/src/androidTest/kotlin/com/woocommerce/android/WooPosErrorScreenTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import androidx.compose.ui.test.junit4.createComposeRule
55
import androidx.compose.ui.test.onNodeWithText
66
import androidx.compose.ui.test.performClick
77
import androidx.test.ext.junit.runners.AndroidJUnit4
8-
import com.woocommerce.android.ui.woopos.common.composeui.component.Button
98
import com.woocommerce.android.ui.woopos.common.composeui.component.WooPosErrorScreen
9+
import com.woocommerce.android.ui.woopos.common.composeui.component.WooPosErrorScreenButtonState
1010
import com.woocommerce.android.ui.woopos.common.composeui.designsystem.WooPosTheme
1111
import dagger.hilt.android.testing.HiltAndroidRule
1212
import dagger.hilt.android.testing.HiltAndroidTest
@@ -55,8 +55,8 @@ class WooPosErrorScreenTest {
5555
var primaryClicked = false
5656
var secondaryClicked = false
5757

58-
val primaryButton = Button(primaryButtonText) { primaryClicked = true }
59-
val secondaryButton = Button(secondaryButtonText) { secondaryClicked = true }
58+
val primaryButton = WooPosErrorScreenButtonState(primaryButtonText) { primaryClicked = true }
59+
val secondaryButton = WooPosErrorScreenButtonState(secondaryButtonText) { secondaryClicked = true }
6060

6161
composeTestRule.setContent {
6262
WooPosTheme {

WooCommerce/src/main/kotlin/com/woocommerce/android/background/BackgroundUpdateAnalyticsRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import com.woocommerce.android.ui.analytics.ranges.revenueStatsGranularity
1111
import com.woocommerce.android.ui.analytics.ranges.visitorStatsGranularity
1212
import com.woocommerce.android.ui.analytics.ranges.visitorSummaryStatsGranularity
1313
import com.woocommerce.android.ui.dashboard.data.StatsRepository
14-
import com.woocommerce.android.ui.dashboard.data.asRevenueRangeId
14+
import com.woocommerce.commons.stats.StatsUtils.asRevenueRangeId
1515
import kotlinx.coroutines.async
1616
import kotlinx.coroutines.awaitAll
1717
import kotlinx.coroutines.coroutineScope

WooCommerce/src/main/kotlin/com/woocommerce/android/datastore/DataStoreModule.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.datastore.preferences.preferencesDataStoreFile
1111
import com.automattic.android.tracks.crashlogging.CrashLogging
1212
import com.woocommerce.android.datastore.DataStoreType.ANALYTICS_CONFIGURATION
1313
import com.woocommerce.android.datastore.DataStoreType.ANALYTICS_UI_CACHE
14+
import com.woocommerce.android.datastore.DataStoreType.BOOKINGS_FILTERS
1415
import com.woocommerce.android.datastore.DataStoreType.COUPONS
1516
import com.woocommerce.android.datastore.DataStoreType.DASHBOARD_STATS
1617
import com.woocommerce.android.datastore.DataStoreType.LAST_UPDATE
@@ -196,4 +197,22 @@ class DataStoreModule {
196197
},
197198
scope = CoroutineScope(appCoroutineScope.coroutineContext + Dispatchers.IO)
198199
)
200+
201+
@Provides
202+
@Singleton
203+
@DataStoreQualifier(BOOKINGS_FILTERS)
204+
fun provideBookingsFiltersDataStore(
205+
appContext: Context,
206+
crashLogging: CrashLogging,
207+
@AppCoroutineScope appCoroutineScope: CoroutineScope
208+
): DataStore<Preferences> = PreferenceDataStoreFactory.create(
209+
produceFile = { appContext.preferencesDataStoreFile("bookings_filters") },
210+
corruptionHandler = ReplaceFileCorruptionHandler {
211+
crashLogging.recordEvent(
212+
"Corrupted data store. DataStore Type: ${BOOKINGS_FILTERS.name}"
213+
)
214+
emptyPreferences()
215+
},
216+
scope = CoroutineScope(appCoroutineScope.coroutineContext + Dispatchers.IO)
217+
)
199218
}

0 commit comments

Comments
 (0)