Use data from Beta channel when Snapshot not available (#2184)

This commit is contained in:
Howard Wu 2022-10-18 20:34:54 +08:00 committed by GitHub
parent 993c429f90
commit 992c933b0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 6 deletions

View File

@ -211,8 +211,11 @@ public class RepoLoader {
if (!module.releasesLoaded) {
if (channel.equals(channels[1]) && !(module.getBetaReleases() != null && module.getBetaReleases().isEmpty())) {
releases = module.getBetaReleases();
} else if (channel.equals(channels[2]) && !(module.getSnapshotReleases() != null && module.getSnapshotReleases().isEmpty()))
} else if (channel.equals(channels[2]))
if (!(module.getSnapshotReleases() != null && module.getSnapshotReleases().isEmpty()))
releases = module.getSnapshotReleases();
else if (!(module.getBetaReleases() != null && module.getBetaReleases().isEmpty()))
releases = module.getBetaReleases();
}
}
}
@ -228,8 +231,11 @@ public class RepoLoader {
releaseTime = module.getLatestReleaseTime();
if (channel.equals(channels[1]) && module.getLatestBetaReleaseTime() != null) {
releaseTime = module.getLatestBetaReleaseTime();
} else if (channel.equals(channels[2]) && module.getLatestSnapshotReleaseTime() != null)
} else if (channel.equals(channels[2]))
if (module.getLatestSnapshotReleaseTime() != null)
releaseTime = module.getLatestSnapshotReleaseTime();
else if (module.getLatestBetaReleaseTime() != null)
releaseTime = module.getLatestBetaReleaseTime();
}
}
return releaseTime;

View File

@ -356,7 +356,7 @@ public class RepoFragment extends BaseFragment implements RepoLoader.RepoListene
int sort = App.getPreferences().getInt("repo_sort", 0);
boolean upgradableFirst = App.getPreferences().getBoolean("upgradable_first", true);
ConcurrentHashMap<String, Boolean> upgradable = new ConcurrentHashMap<>();
fullList = modules.parallelStream().filter((onlineModule -> !onlineModule.isHide() && !(onlineModule.getReleases() != null && onlineModule.getReleases().isEmpty())))
fullList = modules.parallelStream().filter((onlineModule -> !onlineModule.isHide() && !(repoLoader.getReleases(onlineModule.getName()) != null && repoLoader.getReleases(onlineModule.getName()).isEmpty())))
.sorted((a, b) -> {
if (upgradableFirst) {
var aUpgrade = upgradable.computeIfAbsent(a.getName(), n -> getUpgradableVer(a) != null);

View File

@ -235,10 +235,11 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.RepoLis
@Override
public void onModuleReleasesLoaded(OnlineModule module) {
this.module = module;
var repoLoader = RepoLoader.getInstance();
if (releaseAdapter != null) {
runAsync(releaseAdapter::loadItems);
}
if ((module.getReleases() != null ? module.getReleases().size() : 1) == 1) {
if ((repoLoader.getReleases(module.getName()) != null ? repoLoader.getReleases(module.getName()).size() : 1) == 1) {
showHint(R.string.module_release_no_more, true);
}
}