Skip to content

Commit 89a66e1

Browse files
authored
Android: Move custom tabs to its own module (duckduckgo#4666)
Task/Issue URL: https://app.asana.com/0/1200581511062568/1207177220363583/f ### Description Transferred the Custom Tabs code to a separate module. ### Steps to test this PR Smoke testing. - [x] Install from this branch. Set DuckDuckGo as default browser. - [x] Use various apps to open the DDG Custom Tab (Gmail / Twitter / etc). ### NO UI changes
1 parent 42ac728 commit 89a66e1

25 files changed

Lines changed: 184 additions & 20 deletions

File tree

‎anrs/anrs-impl/build.gradle‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ dependencies {
3232
implementation project(':common-utils')
3333
implementation project(':di')
3434
implementation project(':browser-api')
35+
implementation project(':custom-tabs-api')
3536
implementation project(':statistics')
3637
implementation project(':verified-installation-api')
3738
implementation project(':library-loader-api')

‎anrs/anrs-impl/src/main/java/com/duckduckgo/app/anr/AnrSupervisor.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ import android.os.Debug
2020
import android.os.Handler
2121
import android.os.Looper
2222
import com.duckduckgo.app.anrs.store.AnrsDatabase
23-
import com.duckduckgo.app.browser.customtabs.CustomTabDetector
2423
import com.duckduckgo.browser.api.BrowserLifecycleObserver
2524
import com.duckduckgo.browser.api.WebViewVersionProvider
25+
import com.duckduckgo.customtabs.api.CustomTabDetector
2626
import com.duckduckgo.di.scopes.AppScope
2727
import com.squareup.anvil.annotations.ContributesMultibinding
2828
import dagger.SingleInstanceIn

‎anrs/anrs-impl/src/main/java/com/duckduckgo/app/anr/RealCrashLogger.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ package com.duckduckgo.app.anr
1818

1919
import com.duckduckgo.anrs.api.CrashLogger
2020
import com.duckduckgo.app.anrs.store.UncaughtExceptionDao
21-
import com.duckduckgo.app.browser.customtabs.CustomTabDetector
2221
import com.duckduckgo.app.di.ProcessName
2322
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
2423
import com.duckduckgo.browser.api.WebViewVersionProvider
2524
import com.duckduckgo.common.utils.checkMainThread
25+
import com.duckduckgo.customtabs.api.CustomTabDetector
2626
import com.duckduckgo.di.scopes.AppScope
2727
import com.squareup.anvil.annotations.ContributesBinding
2828
import javax.inject.Inject

‎anrs/anrs-impl/src/main/java/com/duckduckgo/app/anr/ndk/NativeCrashInit.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ package com.duckduckgo.app.anr.ndk
1919
import android.content.Context
2020
import android.util.Log
2121
import androidx.lifecycle.LifecycleOwner
22-
import com.duckduckgo.app.browser.customtabs.CustomTabDetector
2322
import com.duckduckgo.app.di.IsMainProcess
2423
import com.duckduckgo.app.lifecycle.MainProcessLifecycleObserver
2524
import com.duckduckgo.app.lifecycle.VpnProcessLifecycleObserver
2625
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
2726
import com.duckduckgo.appbuildconfig.api.isInternalBuild
2827
import com.duckduckgo.common.utils.checkMainThread
28+
import com.duckduckgo.customtabs.api.CustomTabDetector
2929
import com.duckduckgo.di.scopes.AppScope
3030
import com.duckduckgo.library.loader.LibraryLoader
3131
import com.duckduckgo.library.loader.LibraryLoader.LibraryLoaderListener

‎app/build.gradle‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ fladle {
166166
}
167167

168168
dependencies {
169+
implementation project(":custom-tabs-impl")
170+
implementation project(":custom-tabs-api")
169171
implementation project(":history-impl")
170172
implementation project(":history-api")
171173
implementation project(":data-store-impl")

‎app/src/main/AndroidManifest.xml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@
234234
android:resizeableActivity="true" />
235235

236236
<activity
237-
android:name="com.duckduckgo.app.browser.customtabs.IntentDispatcherActivity"
237+
android:name="com.duckduckgo.app.dispatchers.IntentDispatcherActivity"
238238
android:theme="@style/Theme.AppCompat.Transparent.NoActionBar"
239239
android:excludeFromRecents="true"
240240
android:exported="true">
@@ -475,7 +475,7 @@
475475
android:permission="android.permission.BIND_REMOTEVIEWS" />
476476

477477
<service
478-
android:name="com.duckduckgo.app.browser.customtabs.DuckDuckGoCustomTabService"
478+
android:name="com.duckduckgo.customtabs.impl.service.DuckDuckGoCustomTabService"
479479
android:exported="true"
480480
tools:ignore="ExportedService">
481481
<intent-filter>

‎app/src/main/java/com/duckduckgo/app/browser/WebViewLongPressHandler.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ import android.webkit.URLUtil
2323
import android.webkit.WebView
2424
import com.duckduckgo.app.browser.LongPressHandler.RequiredAction
2525
import com.duckduckgo.app.browser.LongPressHandler.RequiredAction.*
26-
import com.duckduckgo.app.browser.customtabs.CustomTabDetector
2726
import com.duckduckgo.app.browser.model.LongPressTarget
2827
import com.duckduckgo.app.pixels.AppPixelName.*
2928
import com.duckduckgo.app.statistics.pixels.Pixel
29+
import com.duckduckgo.customtabs.api.CustomTabDetector
3030
import javax.inject.Inject
3131
import timber.log.Timber
3232

‎app/src/main/java/com/duckduckgo/app/browser/customtabs/CustomTabViewModel.kt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import androidx.lifecycle.viewModelScope
2121
import com.duckduckgo.anvil.annotations.ContributesViewModel
2222
import com.duckduckgo.app.statistics.pixels.Pixel
2323
import com.duckduckgo.common.utils.DispatcherProvider
24+
import com.duckduckgo.customtabs.api.CustomTabDetector
2425
import com.duckduckgo.di.scopes.ActivityScope
2526
import java.util.UUID
2627
import javax.inject.Inject

‎app/src/main/java/com/duckduckgo/app/browser/di/BrowserModule.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import com.duckduckgo.app.browser.certificates.rootstore.TrustedCertificateStore
3030
import com.duckduckgo.app.browser.cookies.AppThirdPartyCookieManager
3131
import com.duckduckgo.app.browser.cookies.ThirdPartyCookieManager
3232
import com.duckduckgo.app.browser.cookies.db.AuthCookiesAllowedDomainsRepository
33-
import com.duckduckgo.app.browser.customtabs.CustomTabDetector
3433
import com.duckduckgo.app.browser.defaultbrowsing.DefaultBrowserDetector
3534
import com.duckduckgo.app.browser.defaultbrowsing.DefaultBrowserObserver
3635
import com.duckduckgo.app.browser.downloader.*
@@ -73,6 +72,7 @@ import com.duckduckgo.common.utils.DispatcherProvider
7372
import com.duckduckgo.cookies.api.CookieManagerProvider
7473
import com.duckduckgo.cookies.api.DuckDuckGoCookieManager
7574
import com.duckduckgo.cookies.api.ThirdPartyCookieNames
75+
import com.duckduckgo.customtabs.api.CustomTabDetector
7676
import com.duckduckgo.di.scopes.AppScope
7777
import com.duckduckgo.downloads.api.FileDownloader
7878
import com.duckduckgo.downloads.impl.AndroidFileDownloader

app/src/main/java/com/duckduckgo/app/browser/customtabs/IntentDispatcherActivity.kt renamed to app/src/main/java/com/duckduckgo/app/dispatchers/IntentDispatcherActivity.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package com.duckduckgo.app.browser.customtabs
17+
package com.duckduckgo.app.dispatchers
1818

1919
import android.content.Intent
2020
import android.os.Bundle
@@ -23,7 +23,8 @@ import androidx.lifecycle.flowWithLifecycle
2323
import androidx.lifecycle.lifecycleScope
2424
import com.duckduckgo.anvil.annotations.InjectWith
2525
import com.duckduckgo.app.browser.BrowserActivity
26-
import com.duckduckgo.app.browser.customtabs.IntentDispatcherViewModel.ViewState
26+
import com.duckduckgo.app.browser.customtabs.CustomTabActivity
27+
import com.duckduckgo.app.dispatchers.IntentDispatcherViewModel.ViewState
2728
import com.duckduckgo.common.ui.DuckDuckGoActivity
2829
import com.duckduckgo.common.ui.view.getColorFromAttr
2930
import com.duckduckgo.di.scopes.ActivityScope

0 commit comments

Comments
 (0)