package us.nineworlds.serenity; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import android.app.Dialog; import android.content.Context; import android.content.pm.PackageManager.NameNotFoundException; import android.graphics.Color; import android.os.Bundle; import android.text.Html; import android.text.method.ScrollingMovementMethod; import android.widget.TextView; public class AboutDialog extends Dialog { private Context mContext = null; public AboutDialog(Context context) { super(context); mContext = context; } /** * Standard Android on create method that gets called when the activity * initialized. */ @Override public void onCreate(Bundle savedInstanceState) { setContentView(R.layout.about); TextView tv = (TextView) findViewById(R.id.legal_text); tv.setText(Html.fromHtml(readRawTextFile(R.raw.legal))); tv.setMovementMethod(new ScrollingMovementMethod()); tv = (TextView) findViewById(R.id.info_text); tv.setText(Html.fromHtml(readRawTextFile(R.raw.info))); tv.setLinkTextColor(Color.WHITE); String versionName; try { versionName = mContext.getPackageManager().getPackageInfo( mContext.getPackageName(), 0).versionName; } catch (NameNotFoundException e) { versionName = ""; } setTitle(mContext .getString(R.string.about_title_serenity_for_google_tv) + " v" + versionName); } public String readRawTextFile(int id) { InputStream inputStream = mContext.getResources().openRawResource(id); InputStreamReader in = new InputStreamReader(inputStream); BufferedReader buf = new BufferedReader(in); String line; StringBuilder text = new StringBuilder(); try { while ((line = buf.readLine()) != null) { text.append(line); } } catch (IOException e) { return null; } return text.toString(); } }