mirror of
https://github.com/revanced/revanced-manager.git
synced 2025-06-13 04:57:37 +02:00
feat: working patches selector and improve app selector.
This commit is contained in:
@ -7,23 +7,34 @@ class GithubAPI {
|
||||
var github = GitHub();
|
||||
|
||||
Future<String?> latestRelease(String org, repoName) async {
|
||||
var latestRelease = await github.repositories.getLatestRelease(
|
||||
RepositorySlug(org, repoName),
|
||||
);
|
||||
var dlurl = latestRelease.assets
|
||||
?.firstWhere((asset) =>
|
||||
asset.name != null &&
|
||||
(asset.name!.endsWith('.dex') || asset.name!.endsWith('.apk')) &&
|
||||
!asset.name!.contains('-sources') &&
|
||||
!asset.name!.contains('-javadoc'))
|
||||
.browserDownloadUrl;
|
||||
String? dlurl = '';
|
||||
try {
|
||||
var latestRelease = await github.repositories.getLatestRelease(
|
||||
RepositorySlug(org, repoName),
|
||||
);
|
||||
dlurl = latestRelease.assets
|
||||
?.firstWhere((asset) =>
|
||||
asset.name != null &&
|
||||
(asset.name!.endsWith('.dex') || asset.name!.endsWith('.apk')) &&
|
||||
!asset.name!.contains('-sources') &&
|
||||
!asset.name!.contains('-javadoc'))
|
||||
.browserDownloadUrl;
|
||||
} on Exception {
|
||||
dlurl = '';
|
||||
}
|
||||
return dlurl;
|
||||
}
|
||||
|
||||
Future<String> latestCommitTime(String org, repoName) async {
|
||||
var repo = await github.repositories.getRepository(
|
||||
RepositorySlug(org, repoName),
|
||||
);
|
||||
return format(repo.pushedAt!);
|
||||
String pushedAt = '';
|
||||
try {
|
||||
var repo = await github.repositories.getRepository(
|
||||
RepositorySlug(org, repoName),
|
||||
);
|
||||
pushedAt = repo.pushedAt != null ? format(repo.pushedAt!) : '';
|
||||
} on Exception {
|
||||
pushedAt = '';
|
||||
}
|
||||
return pushedAt;
|
||||
}
|
||||
}
|
||||
|
@ -14,23 +14,13 @@ class PatcherService {
|
||||
final List<AppInfo> _filteredPackages = [];
|
||||
final Map<String, List<Patch>> _filteredPatches = <String, List<Patch>>{};
|
||||
File? _patchBundleFile;
|
||||
String _selectedApp = '';
|
||||
List<Patch> _selectedPatches = [];
|
||||
static const platform = MethodChannel('app.revanced/patcher');
|
||||
|
||||
String getSelectedApp() => _selectedApp;
|
||||
|
||||
void setSelectedApp(String app) => _selectedApp = app;
|
||||
|
||||
List<Patch> getSelectedPatches() => _selectedPatches;
|
||||
|
||||
void setSelectedPatches(List<Patch> patches) => _selectedPatches = patches;
|
||||
|
||||
Future<void> loadPatches() async {
|
||||
if (_patchBundleFile == null) {
|
||||
String? dexFileUrl =
|
||||
await githubAPI.latestRelease('revanced', 'revanced-patches');
|
||||
if (dexFileUrl != null) {
|
||||
if (dexFileUrl != null && dexFileUrl.isNotEmpty) {
|
||||
_patchBundleFile =
|
||||
await DefaultCacheManager().getSingleFile(dexFileUrl);
|
||||
try {
|
||||
|
Reference in New Issue
Block a user