Skip to content

Commit

Permalink
Update rational to dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
karlenDimla committed Apr 26, 2024
1 parent f5feef5 commit 14227cc
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import com.duckduckgo.anvil.annotations.ContributeToActivityStarter
import com.duckduckgo.anvil.annotations.InjectWith
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
import com.duckduckgo.common.ui.DuckDuckGoActivity
import com.duckduckgo.common.ui.view.dialog.TextAlertDialogBuilder
import com.duckduckgo.common.ui.viewbinding.viewBinding
import com.duckduckgo.common.utils.extensions.launchAlwaysOnSystemSettings
import com.duckduckgo.common.utils.extensions.launchApplicationInfoSettings
Expand All @@ -38,7 +39,6 @@ import com.duckduckgo.networkprotection.impl.R
import com.duckduckgo.networkprotection.impl.databinding.ActivityNetpVpnSettingsBinding
import com.duckduckgo.networkprotection.impl.settings.NetPVpnSettingsViewModel.RecommendedSettings
import com.duckduckgo.networkprotection.impl.settings.NetPVpnSettingsViewModel.ViewState
import com.google.android.material.snackbar.Snackbar
import javax.inject.Inject
import kotlin.math.absoluteValue
import kotlinx.coroutines.flow.launchIn
Expand Down Expand Up @@ -118,16 +118,20 @@ class NetPVpnSettingsActivity : DuckDuckGoActivity() {
} else if (isChecked) {
binding.pauseWhileCalling.setIsChecked(false)
if (shouldShowRequestPermissionRationale(permission.READ_PHONE_STATE)) {
Snackbar.make(
binding.root,
getString(R.string.netpGrantPhonePermissionByline),
Snackbar.LENGTH_LONG,
).setAction(
getString(R.string.netpGrantPhonePermissionAction),
) {
// User denied the permission 2+ times
this@NetPVpnSettingsActivity.launchApplicationInfoSettings()
}.show()
TextAlertDialogBuilder(this)
.setTitle(R.string.netpGrantPhonePermissionTitle)
.setMessage(R.string.netpGrantPhonePermissionByline)
.setPositiveButton(R.string.netpGrantPhonePermissionActionPositive)
.setNegativeButton(R.string.netpGrantPhonePermissionActionNegative)
.addEventListener(
object : TextAlertDialogBuilder.EventListener() {
override fun onPositiveButtonClicked() {
// User denied the permission 2+ times
this@NetPVpnSettingsActivity.launchApplicationInfoSettings()
}
},
)
.show()
} else {
requestPermissions(arrayOf(permission.READ_PHONE_STATE), permission.READ_PHONE_STATE.hashCode().absoluteValue)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,10 @@
<string name="netpVpnSettingsPauseDuringCallsByline">Temporarily snooze the VPN when Wi-Fi calls are in progress and automatically reconnect after</string>

<!-- Pause during calls -->
<string name="netpGrantPhonePermissionByline">This setting requires PHONE permissions</string>
<string name="netpGrantPhonePermissionAction">Grant Permission</string>
<string name="netpGrantPhonePermissionTitle">Phone Permission Required</string>
<string name="netpGrantPhonePermissionByline">To enable this setting, you need to let DuckDuckGo make and manage phone calls via system settings.</string>
<string name="netpGrantPhonePermissionActionPositive">Settings</string>
<string name="netpGrantPhonePermissionActionNegative">Cancel</string>

<!-- VPN Notification settings -->
<string name="netpVpnSettingNotificationEnabled">VPN Enabled</string>
Expand Down

0 comments on commit 14227cc

Please sign in to comment.