[YouTube] Improve meta info code for review

This commit is contained in:
Stypox 2024-04-20 11:43:08 +02:00
parent 74bf000473
commit d4e6d22e64
No known key found for this signature in database
GPG Key ID: 4BDF1B40A49FDD23
1 changed files with 10 additions and 17 deletions

View File

@ -170,41 +170,34 @@ public final class YoutubeMetaInfoHelper {
// usually an encouragement like "We are with you"
final String title = getTextFromObjectOrThrow(r.getObject("title"), "title");
// usually a phone number
final String action;
final String action; // this variable is expected to start with "\n"
if (r.has("actionText")) {
action = getTextFromObjectOrThrow(r.getObject("actionText"), "action");
action = "\n" + getTextFromObjectOrThrow(r.getObject("actionText"), "action");
} else if (r.has("contacts")) {
final JsonArray contacts = r.getArray("contacts");
final StringBuilder stringBuilder = new StringBuilder();
int i = 0;
final int contactsSize = contacts.size();
if (contactsSize != 0) {
// Loop over contacts item from the first contact to the last one, if there is
// not only one, in order to not add an unneeded line return
for (; i < contactsSize - 1; i++) {
stringBuilder.append(getTextFromObjectOrThrow(contacts.getObject(i)
.getObject("actionText"), "contacts.actionText"));
stringBuilder.append("\n");
}
// Add the latest contact without an extra line return
// Loop over contacts item from the first contact to the last one
for (int i = 0; i < contacts.size(); i++) {
stringBuilder.append("\n");
stringBuilder.append(getTextFromObjectOrThrow(contacts.getObject(i)
.getObject("actionText"), "contacts.actionText"));
}
action = stringBuilder.toString();
} else {
action = null;
action = "";
}
// usually details about the phone number
final String details = getTextFromObjectOrThrow(r.getObject("detailsText"), "details");
// usually the name of an association
final String urlText = getTextFromObjectOrThrow(r.getObject("navigationText"),
"urlText");
metaInfo.setTitle(title);
metaInfo.setContent(new Description(isNullOrEmpty(action)
? details : details + "\n" + action, Description.PLAIN_TEXT));
metaInfo.setContent(new Description(details + action, Description.PLAIN_TEXT));
metaInfo.addUrlText(urlText);
// usually the webpage of the association