Skip to content

Commit 0321e4a

Browse files
authored
[Lint] Convert URIs to strings using toUri() (#1506)
1 parent 711543c commit 0321e4a

File tree

8 files changed

+21
-20
lines changed

8 files changed

+21
-20
lines changed

app/src/main/kotlin/at/bitfire/davdroid/network/GoogleLogin.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
package at.bitfire.davdroid.network
66

7-
import android.net.Uri
7+
import androidx.core.net.toUri
88
import at.bitfire.davdroid.BuildConfig
99
import at.bitfire.davdroid.db.Credentials
1010
import kotlinx.coroutines.CompletableDeferred
@@ -49,18 +49,18 @@ class GoogleLogin(
4949
URI("https", "apidata.googleusercontent.com", "/caldav/v2/$googleAccount/user", null)
5050

5151
private val serviceConfig = AuthorizationServiceConfiguration(
52-
Uri.parse("https://accounts.google.com/o/oauth2/v2/auth"),
53-
Uri.parse("https://oauth2.googleapis.com/token")
52+
"https://accounts.google.com/o/oauth2/v2/auth".toUri(),
53+
"https://oauth2.googleapis.com/token".toUri()
5454
)
5555

5656
}
5757

5858
fun signIn(email: String, customClientId: String?, locale: String?): AuthorizationRequest {
5959
val builder = AuthorizationRequest.Builder(
60-
GoogleLogin.serviceConfig,
60+
serviceConfig,
6161
customClientId ?: CLIENT_ID,
6262
ResponseTypeValues.CODE,
63-
Uri.parse(BuildConfig.APPLICATION_ID + ":/oauth2/redirect")
63+
(BuildConfig.APPLICATION_ID + ":/oauth2/redirect").toUri()
6464
)
6565
return builder
6666
.setScopes(*SCOPES)

app/src/main/kotlin/at/bitfire/davdroid/sync/SyncNotificationManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ import android.app.TaskStackBuilder
1010
import android.content.ContentUris
1111
import android.content.Context
1212
import android.content.Intent
13-
import android.net.Uri
1413
import android.provider.CalendarContract
1514
import android.provider.ContactsContract
1615
import android.provider.Settings
1716
import androidx.core.app.NotificationCompat
1817
import androidx.core.app.NotificationManagerCompat
18+
import androidx.core.net.toUri
1919
import at.bitfire.dav4jvm.exception.UnauthorizedException
2020
import at.bitfire.davdroid.R
2121
import at.bitfire.davdroid.db.Collection
@@ -135,7 +135,7 @@ class SyncNotificationManager @AssistedInject constructor(
135135
}
136136

137137
// to make the PendingIntent unique
138-
contentIntent.data = Uri.parse("davdroid:exception/${e.hashCode()}")
138+
contentIntent.data = "davdroid:exception/${e.hashCode()}".toUri()
139139

140140
val channel: String
141141
val priority: Int

app/src/main/kotlin/at/bitfire/davdroid/sync/TasksAppManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import android.content.Context
99
import android.content.Intent
1010
import android.content.pm.PackageManager
1111
import android.graphics.drawable.BitmapDrawable
12-
import android.net.Uri
1312
import androidx.core.app.NotificationCompat
1413
import androidx.core.app.TaskStackBuilder
14+
import androidx.core.net.toUri
1515
import at.bitfire.davdroid.R
1616
import at.bitfire.davdroid.repository.AccountRepository
1717
import at.bitfire.davdroid.resource.LocalDataStore
@@ -122,7 +122,7 @@ class TasksAppManager @Inject constructor(
122122
// couldn't get provider app icon
123123
}
124124

125-
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=${e.provider.packageName}"))
125+
val intent = Intent(Intent.ACTION_VIEW, "market://details?id=${e.provider.packageName}".toUri())
126126
val flags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
127127

128128
if (intent.resolveActivity(pm) != null)

app/src/main/kotlin/at/bitfire/davdroid/ui/AccountsScreen.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ package at.bitfire.davdroid.ui
77
import android.Manifest
88
import android.accounts.Account
99
import android.content.Intent
10-
import android.net.Uri
1110
import android.os.Build
1211
import android.provider.Settings
1312
import androidx.activity.compose.BackHandler
@@ -70,6 +69,7 @@ import androidx.compose.ui.res.vectorResource
7069
import androidx.compose.ui.text.style.TextAlign
7170
import androidx.compose.ui.tooling.preview.Preview
7271
import androidx.compose.ui.unit.dp
72+
import androidx.core.net.toUri
7373
import androidx.hilt.navigation.compose.hiltViewModel
7474
import androidx.lifecycle.compose.collectAsStateWithLifecycle
7575
import at.bitfire.davdroid.BuildConfig
@@ -286,7 +286,7 @@ fun AccountsScreen(
286286
onManageDataSaver = {
287287
val intent = Intent(
288288
/* action = */ Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS,
289-
/* uri = */ Uri.parse("package:${BuildConfig.APPLICATION_ID}")
289+
/* uri = */ "package:${BuildConfig.APPLICATION_ID}".toUri()
290290
)
291291
if (intent.resolveActivity(context.packageManager) != null)
292292
context.startActivity(intent)

app/src/main/kotlin/at/bitfire/davdroid/ui/AppSettingsActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ package at.bitfire.davdroid.ui
66

77
import android.annotation.SuppressLint
88
import android.content.Intent
9-
import android.net.Uri
109
import android.os.Build
1110
import android.os.Bundle
1211
import android.provider.Settings
1312
import androidx.activity.compose.setContent
1413
import androidx.appcompat.app.AppCompatActivity
14+
import androidx.core.net.toUri
1515
import at.bitfire.davdroid.BuildConfig
1616
import dagger.hilt.android.AndroidEntryPoint
1717

@@ -31,7 +31,7 @@ class AppSettingsActivity: AppCompatActivity() {
3131
startActivity(
3232
Intent(
3333
Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
34-
Uri.parse("package:" + BuildConfig.APPLICATION_ID)
34+
("package:" + BuildConfig.APPLICATION_ID).toUri()
3535
)
3636
)
3737
},

app/src/main/kotlin/at/bitfire/davdroid/ui/TasksScreen.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import androidx.compose.ui.res.painterResource
3939
import androidx.compose.ui.res.stringResource
4040
import androidx.compose.ui.tooling.preview.Preview
4141
import androidx.compose.ui.unit.dp
42+
import androidx.core.net.toUri
4243
import androidx.core.text.HtmlCompat
4344
import androidx.lifecycle.compose.collectAsStateWithLifecycle
4445
import androidx.lifecycle.viewmodel.compose.viewModel
@@ -110,8 +111,8 @@ fun TasksCard(
110111
model.selectProvider(provider)
111112
},
112113
installApp = { packageName ->
113-
val uri = Uri.parse("market://details?id=$packageName&referrer=" +
114-
Uri.encode("utm_source=" + BuildConfig.APPLICATION_ID))
114+
val uri = ("market://details?id=$packageName&referrer=" +
115+
Uri.encode("utm_source=" + BuildConfig.APPLICATION_ID)).toUri()
115116
val intent = Intent(Intent.ACTION_VIEW, uri)
116117
if (intent.resolveActivity(context.packageManager) != null)
117118
context.startActivity(intent)

app/src/main/kotlin/at/bitfire/davdroid/ui/account/AccountScreen.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import android.Manifest
77
import android.accounts.Account
88
import android.content.Intent
9-
import android.net.Uri
109
import android.widget.Toast
1110
import androidx.compose.foundation.ExperimentalFoundationApi
1211
import androidx.compose.foundation.layout.Column
@@ -64,6 +63,7 @@ import androidx.compose.ui.text.style.TextOverflow
6463
import androidx.compose.ui.tooling.preview.Preview
6564
import androidx.compose.ui.unit.Dp
6665
import androidx.compose.ui.unit.dp
66+
import androidx.core.net.toUri
6767
import androidx.hilt.navigation.compose.hiltViewModel
6868
import androidx.lifecycle.compose.collectAsStateWithLifecycle
6969
import androidx.paging.compose.LazyPagingItems
@@ -131,7 +131,7 @@ fun AccountScreen(
131131
onUpdateCollectionSync = model::setCollectionSync,
132132
onSubscribe = { collection ->
133133
// subscribe
134-
var uri = Uri.parse(collection.source.toString())
134+
var uri = collection.source.toString().toUri()
135135
when {
136136
uri.scheme.equals("http", true) -> uri = uri.buildUpon().scheme("webcal").build()
137137
uri.scheme.equals("https", true) -> uri = uri.buildUpon().scheme("webcals").build()
@@ -405,7 +405,7 @@ fun AccountScreen(
405405
) {
406406
val installIntent = Intent(
407407
Intent.ACTION_VIEW,
408-
Uri.parse("market://details?id=at.bitfire.icsdroid")
408+
"market://details?id=at.bitfire.icsdroid".toUri()
409409
)
410410
if (context.packageManager.resolveActivity(installIntent, 0) != null)
411411
context.startActivity(installIntent)

app/src/main/kotlin/at/bitfire/davdroid/ui/intro/BatteryOptimizationsPage.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ package at.bitfire.davdroid.ui.intro
77
import android.annotation.SuppressLint
88
import android.content.Context
99
import android.content.Intent
10-
import android.net.Uri
1110
import androidx.activity.result.contract.ActivityResultContract
1211
import androidx.compose.runtime.Composable
12+
import androidx.core.net.toUri
1313
import at.bitfire.davdroid.settings.SettingsManager
1414
import at.bitfire.davdroid.ui.intro.BatteryOptimizationsPageModel.Companion.HINT_AUTOSTART_PERMISSION
1515
import at.bitfire.davdroid.ui.intro.BatteryOptimizationsPageModel.Companion.HINT_BATTERY_OPTIMIZATIONS
@@ -46,7 +46,7 @@ class BatteryOptimizationsPage @Inject constructor(
4646
override fun createIntent(context: Context, input: String): Intent {
4747
return Intent(
4848
android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
49-
Uri.parse("package:$input")
49+
"package:$input".toUri()
5050
)
5151
}
5252

0 commit comments

Comments
 (0)