diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index fb346f27be0b..0ffb0ea589c9 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,3 @@ - Task/Issue URL: ### Description diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ff20a8b05310..bb71973e93d6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -450,11 +450,6 @@ android:label="@string/downloadsActivityTitle" android:parentActivityName=".BrowserActivity" /> - - { // https://app.asana.com/0/0/1204697337057464/f // during the initial migration of favourites we didn't properly add them to bookmarks diff --git a/app/src/main/java/com/duckduckgo/app/job/AppConfigurationJobService.kt b/app/src/main/java/com/duckduckgo/app/job/AppConfigurationJobService.kt deleted file mode 100644 index 4a8c02088586..000000000000 --- a/app/src/main/java/com/duckduckgo/app/job/AppConfigurationJobService.kt +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2017 DuckDuckGo - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.duckduckgo.app.job - -import android.app.job.JobParameters -import android.app.job.JobScheduler -import android.app.job.JobService -import com.duckduckgo.anvil.annotations.InjectWith -import com.duckduckgo.di.scopes.ActivityScope -import dagger.android.AndroidInjection -import javax.inject.Inject -import timber.log.Timber - -@Deprecated( - "This is the old sync service which uses JobScheduler. " + - "A new version, `AppConfigurationWorker` uses WorkManager and should be used going forwards.", -) -@InjectWith(ActivityScope::class) -class AppConfigurationJobService : JobService() { - - @Inject - lateinit var jobScheduler: JobScheduler - - override fun onCreate() { - AndroidInjection.inject(this) - super.onCreate() - } - - override fun onStartJob(params: JobParameters?): Boolean { - Timber.i("Deprecated AppConfigurationJobService running. Unscheduling future syncs using this job") - jobScheduler.cancel(LEGACY_APP_CONFIGURATION_JOB_ID) - return false - } - - override fun onStopJob(params: JobParameters?): Boolean = false - - companion object { - const val LEGACY_APP_CONFIGURATION_JOB_ID = 1 - } -} diff --git a/app/version/version.properties b/app/version/version.properties index 6d1c58d10000..b89e6db9db01 100644 --- a/app/version/version.properties +++ b/app/version/version.properties @@ -1 +1 @@ -VERSION=5.195.0 \ No newline at end of file +VERSION=5.195.1 \ No newline at end of file diff --git a/subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/billing/RealBillingClientAdapter.kt b/subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/billing/RealBillingClientAdapter.kt index 7f6970bdd985..e0a72aba1b9a 100644 --- a/subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/billing/RealBillingClientAdapter.kt +++ b/subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/billing/RealBillingClientAdapter.kt @@ -40,11 +40,12 @@ import com.squareup.anvil.annotations.ContributesBinding import dagger.SingleInstanceIn import java.lang.IllegalArgumentException import javax.inject.Inject -import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.suspendCancellableCoroutine +import kotlin.coroutines.resume +import kotlin.coroutines.suspendCoroutine import kotlinx.coroutines.withContext +import logcat.LogPriority.WARN +import logcat.logcat -@OptIn(ExperimentalCoroutinesApi::class) @ContributesBinding(AppScope::class) @SingleInstanceIn(AppScope::class) class RealBillingClientAdapter @Inject constructor( @@ -71,7 +72,7 @@ class RealBillingClientAdapter @Inject constructor( } .build() - return suspendCancellableCoroutine { continuation -> + return suspendCoroutine { continuation -> billingClient?.startConnection( object : BillingClientStateListener { override fun onBillingServiceDisconnected() { @@ -84,7 +85,11 @@ class RealBillingClientAdapter @Inject constructor( else -> Failure(billingError = p0.responseCode.toBillingError()) } - continuation.resume(result, onCancellation = null) + try { + continuation.resume(result) + } catch (e: IllegalStateException) { + logcat(priority = WARN) { "onBillingSetupFinished() invoked more than once" } + } } }, )