diff --git a/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.kt b/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.kt
index c1dd38389..3acb50cb9 100644
--- a/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.kt
+++ b/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.kt
@@ -12,10 +12,7 @@ import org.schabi.newpipe.R
import org.schabi.newpipe.util.Localization
import org.schabi.newpipe.util.ThemeHelper
import org.schabi.newpipe.util.external_communication.ShareUtils
-import java.io.BufferedReader
import java.io.IOException
-import java.io.InputStreamReader
-import java.nio.charset.StandardCharsets
object LicenseFragmentHelper {
/**
@@ -25,32 +22,13 @@ object LicenseFragmentHelper {
* styled according to the context's theme
*/
private fun getFormattedLicense(context: Context, license: License): String {
- val licenseContent = StringBuilder()
- val webViewData: String
try {
- BufferedReader(
- InputStreamReader(
- context.assets.open(license.filename),
- StandardCharsets.UTF_8
- )
- ).use { `in` ->
- var str: String?
- while (`in`.readLine().also { str = it } != null) {
- licenseContent.append(str)
- }
-
+ return context.assets.open(license.filename).bufferedReader().use { it.readText() }
// split the HTML file and insert the stylesheet into the HEAD of the file
- webViewData = "$licenseContent".replace(
- "",
- ""
- )
- }
+ .replace("", "")
} catch (e: IOException) {
- throw IllegalArgumentException(
- "Could not get license file: " + license.filename, e
- )
+ throw IllegalArgumentException("Could not get license file: ${license.filename}", e)
}
- return webViewData
}
/**
@@ -118,9 +96,7 @@ object LicenseFragmentHelper {
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { formattedLicense ->
- val webViewData = Base64.encodeToString(
- formattedLicense.toByteArray(StandardCharsets.UTF_8), Base64.NO_PADDING
- )
+ val webViewData = Base64.encodeToString(formattedLicense.toByteArray(), Base64.NO_PADDING)
val webView = WebView(context)
webView.loadData(webViewData, "text/html; charset=UTF-8", "base64")
diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsManager.kt b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsManager.kt
index 3ac275695..8adf6a649 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsManager.kt
+++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsManager.kt
@@ -5,9 +5,6 @@ import android.util.Log
import org.schabi.newpipe.streams.io.SharpOutputStream
import org.schabi.newpipe.streams.io.StoredFileHelper
import org.schabi.newpipe.util.ZipHelper
-import java.io.BufferedOutputStream
-import java.io.FileInputStream
-import java.io.FileOutputStream
import java.io.IOException
import java.io.ObjectInputStream
import java.io.ObjectOutputStream
@@ -25,12 +22,12 @@ class ContentSettingsManager(private val fileLocator: NewPipeFileLocator) {
@Throws(Exception::class)
fun exportDatabase(preferences: SharedPreferences, file: StoredFileHelper) {
file.create()
- ZipOutputStream(BufferedOutputStream(SharpOutputStream(file.stream)))
+ ZipOutputStream(SharpOutputStream(file.stream).buffered())
.use { outZip ->
ZipHelper.addFileToZip(outZip, fileLocator.db.path, "newpipe.db")
try {
- ObjectOutputStream(FileOutputStream(fileLocator.settings)).use { output ->
+ ObjectOutputStream(fileLocator.settings.outputStream()).use { output ->
output.writeObject(preferences.all)
output.flush()
}
@@ -74,7 +71,7 @@ class ContentSettingsManager(private val fileLocator: NewPipeFileLocator) {
try {
val preferenceEditor = preferences.edit()
- ObjectInputStream(FileInputStream(fileLocator.settings)).use { input ->
+ ObjectInputStream(fileLocator.settings.inputStream()).use { input ->
preferenceEditor.clear()
@Suppress("UNCHECKED_CAST")
val entries = input.readObject() as Map
diff --git a/app/src/main/java/org/schabi/newpipe/util/ReleaseVersionUtil.kt b/app/src/main/java/org/schabi/newpipe/util/ReleaseVersionUtil.kt
index 21a9059e2..0c66cc6d4 100644
--- a/app/src/main/java/org/schabi/newpipe/util/ReleaseVersionUtil.kt
+++ b/app/src/main/java/org/schabi/newpipe/util/ReleaseVersionUtil.kt
@@ -7,8 +7,6 @@ import org.schabi.newpipe.App
import org.schabi.newpipe.error.ErrorInfo
import org.schabi.newpipe.error.ErrorUtil.Companion.createNotification
import org.schabi.newpipe.error.UserAction
-import java.io.ByteArrayInputStream
-import java.io.InputStream
import java.security.MessageDigest
import java.security.NoSuchAlgorithmException
import java.security.cert.CertificateEncodingException
@@ -47,10 +45,8 @@ object ReleaseVersionUtil {
return ""
}
val x509cert = try {
- val cert = signatures[0].toByteArray()
- val input: InputStream = ByteArrayInputStream(cert)
val cf = CertificateFactory.getInstance("X509")
- cf.generateCertificate(input) as X509Certificate
+ cf.generateCertificate(signatures[0].toByteArray().inputStream()) as X509Certificate
} catch (e: CertificateException) {
showRequestError(app, e, "Certificate error")
return ""