Skip to content

Commit

Permalink
Address comments
Browse files Browse the repository at this point in the history
  • Loading branch information
karlenDimla committed Jan 12, 2024
1 parent f0a3dc4 commit f2d7b74
Show file tree
Hide file tree
Showing 14 changed files with 43 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ import android.content.Intent
import android.content.IntentFilter
import androidx.annotation.MainThread
import androidx.annotation.WorkerThread
import androidx.core.content.ContextCompat
import com.duckduckgo.common.utils.DispatcherProvider
import com.duckduckgo.common.utils.extensions.registerExportedReceiver
import com.duckduckgo.di.scopes.AppScope
import com.duckduckgo.di.scopes.VpnScope
import com.duckduckgo.mobile.android.vpn.AppTpVpnFeature
Expand Down Expand Up @@ -82,7 +82,7 @@ class NewAppBroadcastReceiver @Inject constructor(
addAction(Intent.ACTION_PACKAGE_ADDED)
addDataScheme("package")
}.run {
ContextCompat.registerReceiver(applicationContext, this@NewAppBroadcastReceiver, this, ContextCompat.RECEIVER_EXPORTED)
applicationContext.registerExportedReceiver(this@NewAppBroadcastReceiver, this)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.core.app.NotificationManagerCompat
import androidx.core.content.ContextCompat
import androidx.lifecycle.LifecycleOwner
import com.duckduckgo.app.di.AppCoroutineScope
import com.duckduckgo.app.lifecycle.MainProcessLifecycleObserver
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
import com.duckduckgo.common.utils.DispatcherProvider
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.common.utils.notification.checkPermissionAndNotify
import com.duckduckgo.di.scopes.AppScope
import com.duckduckgo.mobile.android.vpn.ui.notification.*
Expand All @@ -51,7 +51,7 @@ class DeviceShieldNotificationsDebugReceiver(
) : BroadcastReceiver() {

init {
ContextCompat.registerReceiver(context, this, IntentFilter(intentAction), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this, IntentFilter(intentAction))
}

override fun onReceive(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.core.content.ContextCompat
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
import com.duckduckgo.common.utils.DispatcherProvider
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.common.utils.formatters.time.DatabaseDateFormatter
import com.duckduckgo.di.scopes.VpnScope
import com.duckduckgo.mobile.android.vpn.model.TrackingApp
Expand Down Expand Up @@ -67,7 +67,7 @@ class SendTrackerDebugReceiver @Inject constructor(
}

logcat { "Debug receiver SendTrackerDebugReceiver registered" }
ContextCompat.registerReceiver(context, this, IntentFilter(INTENT_ACTION), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this, IntentFilter(INTENT_ACTION))
}

private fun unregister() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.core.content.ContextCompat
import com.duckduckgo.app.di.AppCoroutineScope
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
import com.duckduckgo.appbuildconfig.api.isInternalBuild
import com.duckduckgo.common.utils.DispatcherProvider
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.di.scopes.VpnScope
import com.duckduckgo.mobile.android.vpn.state.VpnStateMonitor
import com.squareup.anvil.annotations.ContributesMultibinding
Expand Down Expand Up @@ -57,7 +57,7 @@ class RestartReceiver @Inject constructor(
if (appBuildConfig.isInternalBuild()) {
logcat { "Starting vpn-service receiver" }
unregister()
ContextCompat.registerReceiver(context, this, IntentFilter("vpn-service"), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this, IntentFilter("vpn-service"))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.core.content.ContextCompat
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver

/**
* Abstract class to create generic receivers for internal features accessible through
Expand All @@ -45,7 +45,7 @@ abstract class InternalFeatureReceiver(

fun register() {
unregister()
ContextCompat.registerReceiver(context, this, IntentFilter(intentAction()), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this, IntentFilter(intentAction()))
}

fun unregister() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.core.content.ContextCompat
import com.duckduckgo.common.utils.DispatcherProvider
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.di.scopes.VpnScope
import com.duckduckgo.mobile.android.vpn.service.VpnServiceCallbacks
import com.duckduckgo.mobile.android.vpn.state.VpnStateMonitor.VpnStopReason
Expand Down Expand Up @@ -49,7 +49,7 @@ class ExceptionRulesDebugReceiver(

init {
kotlin.runCatching { context.unregisterReceiver(this) }
ContextCompat.registerReceiver(context, this, IntentFilter(intentAction), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this, IntentFilter(intentAction))
}

override fun onReceive(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,14 @@ package com.duckduckgo.app.dev.settings.privacy
import android.annotation.SuppressLint
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Context.RECEIVER_NOT_EXPORTED
import android.content.Intent
import android.content.IntentFilter
import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.lifecycle.LifecycleOwner
import com.duckduckgo.app.lifecycle.MainProcessLifecycleObserver
import com.duckduckgo.app.trackerdetection.api.TrackerDataDownloader
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.di.scopes.AppScope
import com.squareup.anvil.annotations.ContributesMultibinding
import io.reactivex.android.schedulers.AndroidSchedulers
Expand All @@ -41,7 +40,7 @@ class TrackerDataDevReceiver(
private val receiver: (Intent) -> Unit,
) : BroadcastReceiver() {
init {
ContextCompat.registerReceiver(context, this, IntentFilter(intentAction), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this, IntentFilter(intentAction))
}

override fun onReceive(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ import android.content.Intent
import android.content.IntentFilter
import android.os.Build
import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.lifecycle.LifecycleOwner
import com.duckduckgo.app.browser.R
import com.duckduckgo.app.lifecycle.MainProcessLifecycleObserver
import com.duckduckgo.app.widget.AppWidgetManagerAddWidgetLauncher.Companion.ACTION_ADD_WIDGET
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.di.scopes.AppScope
import com.squareup.anvil.annotations.ContributesMultibinding
import dagger.SingleInstanceIn
Expand All @@ -47,7 +47,7 @@ class WidgetAddedReceiver @Inject constructor(

override fun onCreate(owner: LifecycleOwner) {
super.onCreate(owner)
ContextCompat.registerReceiver(context, this, IntentFilter(ACTION_ADD_WIDGET), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver( this, IntentFilter(ACTION_ADD_WIDGET))
}

override fun onDestroy(owner: LifecycleOwner) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,12 @@

package com.duckduckgo.common.utils.extensions

import android.content.BroadcastReceiver
import android.content.Context
import android.content.IntentFilter
import android.os.PowerManager
import android.provider.Settings
import androidx.core.content.ContextCompat
import timber.log.Timber

fun Context.isPrivateDnsActive(): Boolean {
Expand Down Expand Up @@ -46,3 +49,17 @@ fun Context.isIgnoringBatteryOptimizations(): Boolean {
} ?: false
}.getOrDefault(false)
}

fun Context.registerNotExportedReceiver(
receiver: BroadcastReceiver,
intentFilter: IntentFilter,
) {
ContextCompat.registerReceiver(this, receiver, intentFilter, ContextCompat.RECEIVER_NOT_EXPORTED)
}

fun Context.registerExportedReceiver(
receiver: BroadcastReceiver,
intentFilter: IntentFilter,
) {
ContextCompat.registerReceiver(this, receiver, intentFilter, ContextCompat.RECEIVER_EXPORTED)
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.Environment
import androidx.core.content.ContextCompat
import androidx.lifecycle.LifecycleOwner
import com.duckduckgo.app.di.AppCoroutineScope
import com.duckduckgo.app.lifecycle.MainProcessLifecycleObserver
import com.duckduckgo.app.statistics.pixels.Pixel
import com.duckduckgo.common.utils.DispatcherProvider
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.di.scopes.AppScope
import com.duckduckgo.downloads.api.*
import com.duckduckgo.downloads.impl.pixels.DownloadsPixelName
Expand Down Expand Up @@ -56,7 +56,7 @@ class FileDownloadNotificationActionReceiver @Inject constructor(
override fun onCreate(owner: LifecycleOwner) {
super.onCreate(owner)
Timber.v("Registering file download notification action receiver")
ContextCompat.registerReceiver(context, this, IntentFilter(INTENT_DOWNLOADS_NOTIFICATION_ACTION), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this, IntentFilter(INTENT_DOWNLOADS_NOTIFICATION_ACTION))

// When the app process is killed and restarted, this onCreate method is called and we take the opportunity
// to clean up the pending downloads that were in progress and will be no longer downloading.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.core.content.ContextCompat
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.di.scopes.VpnScope
import com.duckduckgo.mobile.android.vpn.VpnFeaturesRegistry
import com.duckduckgo.mobile.android.vpn.service.VpnServiceCallbacks
Expand Down Expand Up @@ -77,7 +77,7 @@ class NetPTimezoneMonitor @Inject constructor(
IntentFilter().apply {
addAction(Intent.ACTION_TIMEZONE_CHANGED)
}.run {
ContextCompat.registerReceiver(context, this@NetPTimezoneMonitor, this, ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this@NetPTimezoneMonitor, this)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.core.content.ContextCompat
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver

/**
* Abstract class to create generic receivers for internal features accessible through
Expand All @@ -45,7 +45,7 @@ abstract class InternalFeatureReceiver(

fun register() {
unregister()
ContextCompat.registerReceiver(context, this, IntentFilter(intentAction()), ContextCompat.RECEIVER_NOT_EXPORTED)
context.registerNotExportedReceiver(this, IntentFilter(intentAction()))
}

fun unregister() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ import android.annotation.SuppressLint
import android.content.*
import android.telephony.PhoneStateListener
import android.telephony.TelephonyManager
import androidx.core.content.ContextCompat
import androidx.core.content.edit
import androidx.lifecycle.LifecycleOwner
import com.duckduckgo.anvil.annotations.InjectWith
import com.duckduckgo.app.di.AppCoroutineScope
import com.duckduckgo.app.di.ProcessName
import com.duckduckgo.app.lifecycle.MainProcessLifecycleObserver
import com.duckduckgo.common.utils.DispatcherProvider
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.di.scopes.AppScope
import com.duckduckgo.di.scopes.ReceiverScope
import com.duckduckgo.mobile.android.vpn.Vpn
Expand Down Expand Up @@ -161,14 +161,12 @@ class VpnCallStateReceiver @Inject constructor(
private fun register() {
unregister()
logcat { "Registering vpn call state receiver" }
ContextCompat.registerReceiver(
context,
context.registerNotExportedReceiver(
this,
IntentFilter().apply {
addAction(ACTION_REGISTER_STATE_CALL_LISTENER)
addAction(ACTION_UNREGISTER_STATE_CALL_LISTENER)
},
ContextCompat.RECEIVER_NOT_EXPORTED,
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import androidx.core.content.ContextCompat
import com.duckduckgo.anvil.annotations.InjectWith
import com.duckduckgo.app.di.ProcessName
import com.duckduckgo.common.utils.extensions.registerNotExportedReceiver
import com.duckduckgo.di.scopes.VpnScope
import com.duckduckgo.mobile.android.vpn.service.VpnServiceCallbacks
import com.duckduckgo.mobile.android.vpn.state.VpnStateMonitor
Expand Down Expand Up @@ -86,13 +86,11 @@ class DebugRekeyReceiver @Inject constructor(
private fun register() {
unregister()
logcat { "Registering debug re-keying receiver" }
ContextCompat.registerReceiver(
context,
context.registerNotExportedReceiver(
this,
IntentFilter().apply {
addAction(ACTION_FORCE_REKEY)
},
ContextCompat.RECEIVER_NOT_EXPORTED,
)
}

Expand Down

0 comments on commit f2d7b74

Please sign in to comment.