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
[String]$selectedApk = ''
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 {
$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!"}
@ -178,9 +178,23 @@ function main {
$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)) {
$i = $i.ToString().substring(6)
[void] $integrationsList.Add($i)
$i = $i.ToString().substring(6).split("`t")
[void] $integrationsList.Add([Integration]::new($i[0].TrimStart(), $i[1]))
}
# integrations selector
@ -189,17 +203,17 @@ function main {
[System.Collections.ArrayList]$savedExclusions = New-Object System.Collections.ArrayList
$savedExclusionsNames = $config.excluded
foreach ($i in $integrationsList) {
$integrationID = $i.Split(':')[0]
if (($savedExclusionsNames.Count -gt 1) -and $savedExclusionsNames.Contains($integrationID)) {
$savedExclusions.Add($true)
$savedExclusionsNames.Remove($integrationID)
if (($savedExclusionsNames.Count -gt 1) -and $savedExclusionsNames.Contains($i.id)) {
[void] $savedExclusions.Add($true)
[void] $savedExclusionsNames.Remove($integrationID)
}
else {
[void] $savedExclusions.Add($false)
}
}
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