Update the about display to handle beta versions correctly

This commit is contained in:
TwistedUmbrella 2014-02-15 10:38:41 -05:00
parent c318eb8bda
commit b31297e452
3 changed files with 35 additions and 17 deletions

View File

@ -15,6 +15,16 @@
android:ems="12"
android:gravity="center"
android:text="@string/about_text" />
<TextView
android:id="@+id/revision_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="6dp"
android:layout_marginTop="10dp"
android:ems="12"
android:gravity="center"
android:text="@string/revision_text" />
<TextView
android:id="@+id/site_text"

View File

@ -64,7 +64,8 @@
<string name="moga_pro_connect">MOGA Pro Connected!</string>
<string name="moga_connect">MOGA Connected!</string>
<string name="about_text">reicast is a dreamcast emulator\n\nVersion: %1$s</string>
<string name="about_text">reicast is a dreamcast emulator</string>
<string name="revision_text">Version: %1$s [%2$s]</string>
<string name="app_site">Homepage: http://reicast.com</string>
<string name="beta_site">Betas: http://reicast.loungekatt.com</string>
<string name="git_api">https://api.github.com/repos/reicast/reicast-emulator/commits</string>

View File

@ -100,6 +100,7 @@ public class AboutFragment extends Fragment {
private ListView list;
private GitAdapter adapter;
private Handler handler;
String buildId = "";
private Activity parentActivity;
@ -114,15 +115,33 @@ public class AboutFragment extends Fragment {
public void onViewCreated(View view, Bundle savedInstanceState) {
parentActivity = getActivity();
handler = new Handler();
try {
InputStream file = parentActivity.getAssets().open("build");
if (file != null) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(file));
buildId = reader.readLine();
file.close();
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
try {
String versionName = parentActivity.getPackageManager()
.getPackageInfo(parentActivity.getPackageName(), 0).versionName;
int versionCode = parentActivity.getPackageManager()
.getPackageInfo(parentActivity.getPackageName(), 0).versionCode;
TextView version = (TextView) getView().findViewById(
R.id.about_text);
version.setText(parentActivity.getString(R.string.about_text,
versionName + "(" + String.valueOf(versionCode) + ")"));
R.id.revision_text);
String revision = parentActivity.getString(R.string.revision_text,
versionName, String.valueOf(versionCode));
if (!buildId.equals("")) {
revision = parentActivity.getString(R.string.revision_text,
versionName, buildId);
}
version.setText(revision);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
@ -155,21 +174,9 @@ public class AboutFragment extends Fragment {
public class retrieveGitTask extends
AsyncTask<String, Integer, ArrayList<HashMap<String, String>>> {
private String buildId = "";
@Override
protected void onPreExecute() {
try {
InputStream file = parentActivity.getAssets().open("build");
if (file != null) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(file));
buildId = reader.readLine();
file.close();
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
@Override