Fix for upstream update breakage
parser for integrations list broke
This commit is contained in:
parent
8ebbbe6035
commit
dc70980cb3
1 changed files with 22 additions and 8 deletions
30
revanced.ps1
30
revanced.ps1
|
@ -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
|
||||
|
|
Reference in a new issue