aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/thialfihar/android/apg/Apg.java
diff options
context:
space:
mode:
authorThialfihar <thialfihar@gmail.com>2010-06-08 13:46:21 +0000
committerThialfihar <thialfihar@gmail.com>2010-06-08 13:46:21 +0000
commit315093c5bc535b820c39a1cdbc2ab5c0785cfd66 (patch)
tree22516eaf0d41c3bca6b5d171ee11140aa4826a23 /src/org/thialfihar/android/apg/Apg.java
parentce1120b66efc4355e2de29c6ab6bcd6bdada9d15 (diff)
downloadopen-keychain-315093c5bc535b820c39a1cdbc2ab5c0785cfd66.tar.gz
open-keychain-315093c5bc535b820c39a1cdbc2ab5c0785cfd66.tar.bz2
open-keychain-315093c5bc535b820c39a1cdbc2ab5c0785cfd66.zip
finally read APG version dynamicly, so the version name doesn't have to be changed anywhere but the manifest
Diffstat (limited to 'src/org/thialfihar/android/apg/Apg.java')
-rw-r--r--src/org/thialfihar/android/apg/Apg.java35
1 files changed, 33 insertions, 2 deletions
diff --git a/src/org/thialfihar/android/apg/Apg.java b/src/org/thialfihar/android/apg/Apg.java
index 001fa138f..337ca3d58 100644
--- a/src/org/thialfihar/android/apg/Apg.java
+++ b/src/org/thialfihar/android/apg/Apg.java
@@ -40,6 +40,7 @@ import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Vector;
import java.util.regex.Pattern;
@@ -91,14 +92,18 @@ import org.thialfihar.android.apg.utils.IterableIterator;
import android.app.Activity;
import android.content.Context;
+import android.content.pm.PackageInfo;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.ViewGroup;
+import android.widget.Toast;
public class Apg {
+ private static final String mApgPackageName = "org.thialfihar.android.apg";
+
public static class Intent {
public static final String DECRYPT = "org.thialfihar.android.apg.intent.DECRYPT";
public static final String ENCRYPT = "org.thialfihar.android.apg.intent.ENCRYPT";
@@ -150,8 +155,8 @@ public class Apg {
public static final Uri CONTENT_URI_PUBLIC_KEY_RING_BY_EMAILS =
Uri.parse("content://" + AUTHORITY + "/key_rings/public/emails/");
- public static String VERSION = "1.0.1";
- public static String FULL_VERSION = "APG v" + VERSION;
+ private static String VERSION = null;
+ private static String FULL_VERSION = null;
private static final int[] PREFERRED_SYMMETRIC_ALGORITHMS =
new int[] {
@@ -1831,4 +1836,30 @@ public class Apg {
return nlBytes;
}
+
+ public static String getVersion(Context context) {
+ if (VERSION != null) {
+ return VERSION;
+ }
+ List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(0);
+ for (int i = 0; i < packs.size(); ++i) {
+ PackageInfo p = packs.get(i);
+ if (!p.packageName.equals(mApgPackageName)) {
+ continue;
+ }
+
+ VERSION = p.versionName;
+ return VERSION;
+ }
+
+ // unpossible!
+ return "0.0.0";
+ }
+
+ public static String getFullVersion(Context context) {
+ if (FULL_VERSION == null) {
+ FULL_VERSION = "APG v" + getVersion(context);
+ }
+ return FULL_VERSION;
+ }
}