Fix for upstream update breakage

parser for integrations list broke
This commit is contained in:
Wroclaw 2022-07-04 02:37:55 +02:00
parent 8ebbbe6035
commit dc70980cb3

View file

@ -168,7 +168,7 @@ function main {
$apks = (Get-ChildItem *.apk).Name $apks = (Get-ChildItem *.apk).Name
[String]$selectedApk = '' [String]$selectedApk = ''
if ($apks.Length -eq 0) {throw "No YouTube apk files found!"} if ($apks.Length -eq 0) {throw "No YouTube apk files found!"}
elseif ($apks.Length -eq 1) {$selectedApk = $apks[0].Name} elseif ($apks.getType().Name -eq 'String') {$selectedApk = $apks}
else { else {
$selectedApk = (renderForm -items $apks -label "Select apk file to patch" -title "Installer for ReVanced - apk selector" -mode One) $selectedApk = (renderForm -items $apks -label "Select apk file to patch" -title "Installer for ReVanced - apk selector" -mode One)
if (-not $selectedApk) {throw "No apk selected!"} if (-not $selectedApk) {throw "No apk selected!"}
@ -178,9 +178,23 @@ function main {
$integrationsList = New-Object System.Collections.ArrayList $integrationsList = New-Object System.Collections.ArrayList
class Integration {
[String] $id
[String] $description
Integration([String] $_id, [String] $_description) {
$this.id = $_id
$this.description = $_description
}
[String] ToString() {
return "$($this.id) - $($this.description)"
}
}
foreach ($i in (execJava -jar .\app\revanced-cli.jar -b .\app\revanced-patches.jar -l)) { foreach ($i in (execJava -jar .\app\revanced-cli.jar -b .\app\revanced-patches.jar -l)) {
$i = $i.ToString().substring(6) $i = $i.ToString().substring(6).split("`t")
[void] $integrationsList.Add($i) [void] $integrationsList.Add([Integration]::new($i[0].TrimStart(), $i[1]))
} }
# integrations selector # integrations selector
@ -189,17 +203,17 @@ function main {
[System.Collections.ArrayList]$savedExclusions = New-Object System.Collections.ArrayList [System.Collections.ArrayList]$savedExclusions = New-Object System.Collections.ArrayList
$savedExclusionsNames = $config.excluded $savedExclusionsNames = $config.excluded
foreach ($i in $integrationsList) { foreach ($i in $integrationsList) {
$integrationID = $i.Split(':')[0] if (($savedExclusionsNames.Count -gt 1) -and $savedExclusionsNames.Contains($i.id)) {
if (($savedExclusionsNames.Count -gt 1) -and $savedExclusionsNames.Contains($integrationID)) { [void] $savedExclusions.Add($true)
$savedExclusions.Add($true) [void] $savedExclusionsNames.Remove($integrationID)
$savedExclusionsNames.Remove($integrationID)
} }
else { else {
[void] $savedExclusions.Add($false) [void] $savedExclusions.Add($false)
} }
} }
foreach ($i in (renderForm -items $integrationsList -label "Select integrations to exclude" -title "Installer for ReVanced - integrations" -mode MultiExtended -selected $savedExclusions)) { foreach ($i in (renderForm -items $integrationsList -label "Select integrations to exclude" -title "Installer for ReVanced - integrations" -mode MultiExtended -selected $savedExclusions)) {
[void] $excludedIntegrations.Add($i.Split(':')[0]) [void] $excludedIntegrations.Add($i.Split(' ')[0]) #FIXME: hacky way to do this, but it works
} }
$config.excluded = $excludedIntegrations $config.excluded = $excludedIntegrations