mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	| @@ -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( | ||||
|                     "</head>", | ||||
|                     "<style>" + getLicenseStylesheet(context) + "</style></head>" | ||||
|                 ) | ||||
|             } | ||||
|                 .replace("</head>", "<style>${getLicenseStylesheet(context)}</style></head>") | ||||
|         } 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") | ||||
|  | ||||
|   | ||||
| @@ -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<String, *> | ||||
|   | ||||
| @@ -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 "" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Isira Seneviratne
					Isira Seneviratne