diff --git a/revanced.ps1 b/revanced.ps1 index f5dbde5..82af8c7 100644 --- a/revanced.ps1 +++ b/revanced.ps1 @@ -146,16 +146,19 @@ function main { Invoke-WebRequest $patchesRelease.assets[1].browser_download_url -OutFile ".\app\revanced-patches.jar" $config.patches = $gitHubVersions.patches } + else {Write-Output "Patches up to date $($config.patches)"} if ($install[1]) { Write-Output "Downloading Integrations ($($config.integrations) -> $($gitHubVersions.integrations))" Invoke-WebRequest $integrationsRelease.assets[0].browser_download_url -OutFile ".\app\app-release-unsigned.apk" $config.integrations = $gitHubVersions.integrations } + else {Write-Output "Integrations up to date $($config.integrations)"} if ($install[2]) { Write-Output "Downloading cli ($($config.cli) -> $($gitHubVersions.cli))" Invoke-WebRequest $cliRelease.assets[0].browser_download_url -OutFile ".\app\revanced-cli.jar" $config.cli = $gitHubVersions.cli } + else {Write-Output "cli up to date! $($config.cli)"} $config.save(".\config.json") } @@ -168,7 +171,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 +181,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 +206,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 @@ -230,8 +247,10 @@ function main { foreach ($i in $excludedIntegrations) { $patcherArgs += "-e" $patcherArgs += $i + Write-Output "Excluded: $i" } + Write-Output "Logs below are from the cli" execJava $patcherArgs }