mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2026-02-04 09:35:30 +00:00
Fix stream leak (#8205)
This commit is contained in:
committed by
GitHub
parent
e024bd9fc0
commit
07fa1c7530
@ -30,15 +30,18 @@ public class DevelopersFragment extends ListFragment {
|
||||
|
||||
developersLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> {
|
||||
developers.clear();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open("developers.csv"), "UTF-8"));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String[] info = line.split(";");
|
||||
developers.add(new SimpleIconListAdapter.ListItem(info[0], info[2],
|
||||
"https://avatars2.githubusercontent.com/u/" + info[1] + "?s=60&v=4"));
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open("developers.csv"), "UTF-8"))) {
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String[] info = line.split(";");
|
||||
developers.add(new SimpleIconListAdapter.ListItem(info[0], info[2],
|
||||
"https://avatars2.githubusercontent.com/u/" + info[1] + "?s=60&v=4"));
|
||||
}
|
||||
emitter.onSuccess(developers);
|
||||
} catch (Exception e) {
|
||||
emitter.onError(e);
|
||||
}
|
||||
emitter.onSuccess(developers);
|
||||
})
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
@ -46,21 +46,24 @@ public class LicensesFragment extends ListFragment {
|
||||
|
||||
licensesLoader = Single.create((SingleOnSubscribe<ArrayList<LicenseItem>>) emitter -> {
|
||||
licenses.clear();
|
||||
InputStream stream = getContext().getAssets().open("licenses.xml");
|
||||
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
|
||||
NodeList libraryList = docBuilder.parse(stream).getElementsByTagName("library");
|
||||
for (int i = 0; i < libraryList.getLength(); i++) {
|
||||
NamedNodeMap lib = libraryList.item(i).getAttributes();
|
||||
licenses.add(new LicenseItem(
|
||||
lib.getNamedItem("name").getTextContent(),
|
||||
String.format("By %s, %s license",
|
||||
lib.getNamedItem("author").getTextContent(),
|
||||
lib.getNamedItem("license").getTextContent()),
|
||||
null,
|
||||
lib.getNamedItem("website").getTextContent(),
|
||||
lib.getNamedItem("licenseText").getTextContent()));
|
||||
try (InputStream stream = getContext().getAssets().open("licenses.xml")) {
|
||||
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
|
||||
NodeList libraryList = docBuilder.parse(stream).getElementsByTagName("library");
|
||||
for (int i = 0; i < libraryList.getLength(); i++) {
|
||||
NamedNodeMap lib = libraryList.item(i).getAttributes();
|
||||
licenses.add(new LicenseItem(
|
||||
lib.getNamedItem("name").getTextContent(),
|
||||
String.format("By %s, %s license",
|
||||
lib.getNamedItem("author").getTextContent(),
|
||||
lib.getNamedItem("license").getTextContent()),
|
||||
null,
|
||||
lib.getNamedItem("website").getTextContent(),
|
||||
lib.getNamedItem("licenseText").getTextContent()));
|
||||
}
|
||||
emitter.onSuccess(licenses);
|
||||
} catch (Exception e) {
|
||||
emitter.onError(e);
|
||||
}
|
||||
emitter.onSuccess(licenses);
|
||||
})
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
@ -68,7 +71,6 @@ public class LicensesFragment extends ListFragment {
|
||||
developers -> setListAdapter(new SimpleIconListAdapter<LicenseItem>(getContext(), developers)),
|
||||
error -> Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show()
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
private static class LicenseItem extends SimpleIconListAdapter.ListItem {
|
||||
@ -100,9 +102,8 @@ public class LicensesFragment extends ListFragment {
|
||||
}
|
||||
|
||||
private void showLicenseText(String licenseTextFile) {
|
||||
try {
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open(licenseTextFile), "UTF-8"));
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open(licenseTextFile), "UTF-8"))) {
|
||||
StringBuilder licenseText = new StringBuilder();
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
|
||||
@ -31,14 +31,17 @@ public class SpecialThanksFragment extends ListFragment {
|
||||
|
||||
translatorsLoader = Single.create((SingleOnSubscribe<ArrayList<SpecialMemberItem>>) emitter -> {
|
||||
specialMembers.clear();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open("special_thanks.csv"), "UTF-8"));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String[] info = line.split(";");
|
||||
specialMembers.add(new SpecialMemberItem(info[0], info[1], info[2], info[3]));
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open("special_thanks.csv"), "UTF-8"))) {
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String[] info = line.split(";");
|
||||
specialMembers.add(new SpecialMemberItem(info[0], info[1], info[2], info[3]));
|
||||
}
|
||||
emitter.onSuccess(specialMembers);
|
||||
} catch (Exception e) {
|
||||
emitter.onError(e);
|
||||
}
|
||||
emitter.onSuccess(specialMembers);
|
||||
})
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
@ -27,14 +27,17 @@ public class TranslatorsFragment extends ListFragment {
|
||||
|
||||
translatorsLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> {
|
||||
ArrayList<SimpleIconListAdapter.ListItem> translators = new ArrayList<>();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open("translators.csv"), "UTF-8"));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String[] info = line.split(";");
|
||||
translators.add(new SimpleIconListAdapter.ListItem(info[0], info[1], null));
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open("translators.csv"), "UTF-8"))) {
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String[] info = line.split(";");
|
||||
translators.add(new SimpleIconListAdapter.ListItem(info[0], info[1], null));
|
||||
}
|
||||
emitter.onSuccess(translators);
|
||||
} catch (Exception e) {
|
||||
emitter.onError(e);
|
||||
}
|
||||
emitter.onSuccess(translators);
|
||||
})
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
@ -42,7 +45,6 @@ public class TranslatorsFragment extends ListFragment {
|
||||
translators -> setListAdapter(new SimpleIconListAdapter<>(getContext(), translators)),
|
||||
error -> Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show()
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user