package ca.josephroque.bowlingcompanion.utilities;
import android.app.AlertDialog;
import android.content.Context;
import android.text.Html;
import android.view.View;
import android.widget.TextView;
import ca.josephroque.bowlingcompanion.R;
/**
* Created by Joseph Roque on 2016-01-14. Provides utility methods for displaying legal text to users.
*/
public final class LegalUtils {
/** Identifies output from this class in Logcat. */
@SuppressWarnings("unused")
private static final String TAG = "LegalUtils";
/**
* Displays a dialog with the license text of the open source software used in the application.
*
* @param context to display dialog
*/
public static void displayAttributions(Context context) {
String licenses = FileUtils.retrieveTextFileAsset(context, "licenses.txt");
// Error loading the license text
if (licenses == null)
return;
// Creating alert dialog
final AlertDialog.Builder dialog = new AlertDialog.Builder(context);
View rootView = View.inflate(context, R.layout.dialog_scrollable_text, null);
dialog.setView(rootView);
final AlertDialog alertDialog = dialog.create();
// Getting license text for dialog
((TextView) rootView.findViewById(R.id.tv_scrollable_text)).setText(
Html.fromHtml(licenses.replace("\n", "<br />")));
((TextView) rootView.findViewById(R.id.tv_scrollable_text_dialog_title)).setText(context.getResources()
.getString(R.string.text_attributions));
rootView.findViewById(R.id.btn_close).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});
alertDialog.show();
}
/**
* Default private constructor.
*/
private LegalUtils() {
// does nothing
}
}