package de.geeksfactory.opacclient.utils;
import android.content.Context;
import org.json.JSONException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import de.geeksfactory.opacclient.OpacClient;
import de.geeksfactory.opacclient.R;
import de.geeksfactory.opacclient.objects.Account;
import de.geeksfactory.opacclient.objects.Library;
public class Utils {
public static String getAccountTitle(Account account, Context context) {
if (context.getString(R.string.default_account_name).equals(
account.getLabel())) {
try {
OpacClient app = (OpacClient) context.getApplicationContext();
return app.getLibrary(account.getLibrary()).getCity();
} catch (IOException | JSONException e) {
e.printStackTrace();
return null;
}
} else {
return account.getLabel();
}
}
public static String getAccountSubtitle(Account account, Context context) {
try {
OpacClient app = (OpacClient) context.getApplicationContext();
Library library = app.getLibrary(account.getLibrary());
if (context.getString(R.string.default_account_name).equals(
account.getLabel())) {
return library.getTitle();
} else {
return library.getCity() + " ยท " + library.getTitle();
}
} catch (IOException | JSONException e) {
e.printStackTrace();
return null;
}
}
/**
* Reads an {@link InputStream} to a String using UTF-8 encoding and closes it.
*
* @param is the InputStream to read
* @return the content read from the InputStream
* @throws IOException
*/
public static String readStreamToString(InputStream is) throws IOException {
String line;
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"));
while ((line = reader.readLine()) != null) {
builder.append(line);
}
is.close();
return builder.toString();
}
}