package com.github.andlyticsproject.util; import java.io.IOException; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.webkit.WebView; import com.github.andlyticsproject.R; /** * Changelog builder to create the changelog screen. */ public final class ChangelogBuilder { /** LOG Constant. **/ private static final String TAG = "ChangelogBuilder"; /** Private constructor. */ private ChangelogBuilder() { } /** * Show the dialog only if not already shown for this version of the * application. * * @param context * the context * @param listener * the listener to be set for the clickevent of the 'OK' button * @return the 'Changelog' dialog */ public static AlertDialog create(final Context context, final Dialog.OnClickListener listener) { View view = LayoutInflater.from(context).inflate(R.layout.changelog, null); WebView webView = (WebView) view.findViewById(R.id.changelogcontent); try { webView.loadData(DataLoader.loadData(context, "changelog"), "text/html", "UTF-8"); } catch (IOException ioe) { Log.e(TAG, "Error reading changelog file!", ioe); } return new AlertDialog.Builder(context) .setTitle( context.getString(R.string.changelog_title) + "\n" + context.getString(R.string.app_name) + " v" + Utils.getActualVersionName(context)).setIcon(R.drawable.icon) .setView(view).setPositiveButton(android.R.string.ok, listener).create(); } }