diff --git a/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/GithubApi.kt b/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/GithubApi.kt index 42bf2b02..06137a57 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/GithubApi.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/GithubApi.kt @@ -84,7 +84,7 @@ class GithubApi(index: Int) : InAppAuthAPIManager(index){ if (repo?.isEmpty() == true){ val backupData = context?.getBackup() - val gitresponse = app.post("https://api.github.com/gists", + val gitResponse = app.post("https://api.github.com/gists", headers= mapOf( Pair("Accept" , "application/vnd.github+json"), Pair("Authorization", "token $githubToken"), @@ -92,8 +92,8 @@ class GithubApi(index: Int) : InAppAuthAPIManager(index){ requestBody = GistRequestBody("Cloudstream private backup gist", false, FilesGist(ContentFilesGist(backupData?.toJson()))).toJson().toRequestBody( RequestBodyTypes.JSON.toMediaTypeOrNull())) - if (!gitresponse.isSuccessful) {return false} - tryParseJson(gitresponse.text).let { + if (!gitResponse.isSuccessful) {return false} + tryParseJson(gitResponse.text).let { setKey(accountId, GITHUB_USER_KEY, GithubOAuthEntity( token = githubToken, gistId = it?.gistId?: run { diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/BackupUtils.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/BackupUtils.kt index 988975cf..b20b5093 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/BackupUtils.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/BackupUtils.kt @@ -82,7 +82,7 @@ object BackupUtils { /** false if blacklisted key */ private fun String.isTransferable(): Boolean { - return !nonTransferableKeys.contains(this) + return !nonTransferableKeys.contains(this) and !nonTransferableKeys.any { this.endsWith(it) } } var restoreFileSelector: ActivityResultLauncher>? = null @@ -295,7 +295,7 @@ object BackupUtils { fun FragmentActivity.backupGithub(){ - val backup = this.getBackup() + val backup = this.getBackup().toJson() val gistId = githubApi.getLatestLoginData()?.server ?: throw IllegalArgumentException ("Requires Username") val token = githubApi.getLatestLoginData()?.password ?: throw IllegalArgumentException ("Requires Username") @@ -309,7 +309,7 @@ object BackupUtils { requestBody = GithubApi.GistRequestBody( "Cloudstream private backup gist", false, - GithubApi.FilesGist(GithubApi.ContentFilesGist(backup.toJson()))) + GithubApi.FilesGist(GithubApi.ContentFilesGist(backup))) .toJson() .toRequestBody(RequestBodyTypes.JSON.toMediaTypeOrNull()) ) @@ -322,11 +322,11 @@ object BackupUtils { } suspend fun Context.restorePromptGithub() { val gistId = githubApi.getLatestLoginData()?.server ?: throw IllegalAccessException() - val jsondata = app.get(" https://api.github.com/gists/$gistId").text - val dataraw = - parseJson(jsondata ?: "").files.values.first().dataRaw + val jsonData = app.get("https://api.github.com/gists/$gistId").text + val dataRaw = + parseJson(jsonData ?: "").files.values.first().dataRaw ?: throw IllegalAccessException() - val data = parseJson(dataraw) + val data = parseJson(dataRaw) restore( data, restoreSettings = true, diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 86206213..64712586 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -165,6 +165,7 @@ Sincronizza automaticamente gli episodi guardati Ripristinare i dati da backup + Backup automatico su Github Backup data File di backup caricato @@ -176,7 +177,7 @@ Cerca Accounts Aggiornamenti e Backup - + Info Ricerca avanzata Dividi i risultati della ricerca per provider