Fix repo loading sync (#1425)

This commit is contained in:
LoveSy 2021-11-22 17:30:15 +08:00 committed by GitHub
parent 2863fef5a1
commit 9b7b8c762a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 5 deletions

View File

@ -143,12 +143,12 @@ public class RepoLoader {
onlineModules = modules;
Files.write(repoFile, bodyString.getBytes(StandardCharsets.UTF_8));
for (Listener listener : listeners) {
listener.repoLoaded();
}
synchronized (this) {
repoLoaded = true;
}
for (Listener listener : listeners) {
listener.repoLoaded();
}
} catch (Throwable t) {
Log.e(App.TAG, Log.getStackTraceString(t));
for (Listener listener : listeners) {

View File

@ -228,6 +228,7 @@ public class HomeFragment extends BaseFragment implements RepoLoader.Listener, M
@Override
public void onModulesReloaded() {
if (repoLoader.isRepoLoaded()) repoLoaded();
setModulesSummary(moduleUtil.getEnabledModulesCount());
}
@ -259,7 +260,7 @@ public class HomeFragment extends BaseFragment implements RepoLoader.Listener, M
}
private void setModulesSummary(int moduleCount) {
runOnUiThread(() -> binding.modulesSummary.setText(getResources().getQuantityString(R.plurals.modules_enabled_count, moduleCount, moduleCount)));
runOnUiThread(() -> binding.modulesSummary.setText(moduleCount == - 1? getString(R.string.loading) : getResources().getQuantityString(R.plurals.modules_enabled_count, moduleCount, moduleCount)));
}
@Override

View File

@ -181,7 +181,7 @@ public final class ModuleUtil {
}
public int getEnabledModulesCount() {
return enabledModules.size();
return isReloading ? -1 : enabledModules.size();
}
public void addListener(ModuleListener listener) {