diff --git a/res/values/strings.xml b/res/values/strings.xml
index 360004ffd..6720fb625 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -94,6 +94,7 @@
Source Code
Update
Bitcoin
+ Litecoin
Flattr
Donate
diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java
index 593f6d740..0bc9b4292 100644
--- a/src/org/fdroid/fdroid/AppDetails.java
+++ b/src/org/fdroid/fdroid/AppDetails.java
@@ -170,8 +170,9 @@ public class AppDetails extends ListActivity {
private static final int SHARE = Menu.FIRST + 7;
private static final int DONATE = Menu.FIRST + 8;
private static final int BITCOIN = Menu.FIRST + 9;
- private static final int FLATTR = Menu.FIRST + 10;
- private static final int DONATE_URL = Menu.FIRST + 11;
+ private static final int LITECOIN = Menu.FIRST + 10;
+ private static final int FLATTR = Menu.FIRST + 11;
+ private static final int DONATE_URL = Menu.FIRST + 12;
private DB.App app;
private int app_currentvercode;
@@ -660,8 +661,8 @@ public class AppDetails extends ListActivity {
android.R.drawable.ic_menu_view);
}
- if (app.detail_bitcoinAddr != null && app.detail_flattrID != null &&
- app.detail_donateURL != null) {
+ if (app.detail_bitcoinAddr != null && app.detail_litecoinAddr != null &&
+ app.detail_flattrID != null && app.detail_donateURL != null) {
SubMenu donate = menu.addSubMenu(Menu.NONE, DONATE, 7,
R.string.menu_donate).setIcon(
android.R.drawable.ic_menu_view);
@@ -669,6 +670,10 @@ public class AppDetails extends ListActivity {
donate.add(Menu.NONE, BITCOIN, 8, R.string.menu_bitcoin).setIcon(
android.R.drawable.ic_menu_view);
}
+ if (app.detail_litecoinAddr != null) {
+ donate.add(Menu.NONE, LITECOIN, 8, R.string.menu_litecoin).setIcon(
+ android.R.drawable.ic_menu_view);
+ }
if (app.detail_flattrID != null) {
donate.add(Menu.NONE, FLATTR, 9, R.string.menu_flattr).setIcon(
android.R.drawable.ic_menu_view);
@@ -739,6 +744,10 @@ public class AppDetails extends ListActivity {
tryOpenUri("bitcoin:" + app.detail_bitcoinAddr);
return true;
+ case LITECOIN:
+ tryOpenUri("litecoin:" + app.detail_litecoinAddr);
+ return true;
+
case FLATTR:
tryOpenUri("https://flattr.com/thing/" + app.detail_flattrID);
return true;
diff --git a/src/org/fdroid/fdroid/DB.java b/src/org/fdroid/fdroid/DB.java
index 8a7525dee..6bb4808d1 100644
--- a/src/org/fdroid/fdroid/DB.java
+++ b/src/org/fdroid/fdroid/DB.java
@@ -94,8 +94,9 @@ public class DB {
+ "webURL text, " + "trackerURL text, " + "sourceURL text, "
+ "curVersion text," + "curVercode integer,"
+ "antiFeatures string," + "donateURL string,"
- + "bitcoinAddr string," + "flattrID string,"
- + "requirements string," + "category string," + "added string,"
+ + "bitcoinAddr string," + "litecoinAddr string,"
+ + "flattrID string," + "requirements string,"
+ + "category string," + "added string,"
+ "lastUpdated string," + "compatible int not null,"
+ "ignoreUpdates int not null," + "primary key(id));";
@@ -112,6 +113,7 @@ public class DB {
detail_sourceURL = null;
detail_donateURL = null;
detail_bitcoinAddr = null;
+ detail_litecoinAddr = null;
detail_webURL = null;
antiFeatures = null;
requirements = null;
@@ -162,6 +164,10 @@ public class DB {
// Null when !detail_Populated
public String detail_bitcoinAddr;
+ // Litecoin donate address, or null
+ // Null when !detail_Populated
+ public String detail_litecoinAddr;
+
// Flattr donate ID, or null
// Null when !detail_Populated
public String detail_flattrID;
@@ -430,7 +436,7 @@ public class DB {
public String lastetag; // last etag we updated from, null forces update
}
- private final int DBVersion = 24;
+ private final int DBVersion = 25;
private static void createAppApk(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_APP);
@@ -640,8 +646,9 @@ public class DB {
return result;
}
- private static final String[] POPULATE_APP_COLS = new String[] {"description", "webURL",
- "trackerURL", "sourceURL", "donateURL", "bitcoinAddr", "flattrID" };
+ private static final String[] POPULATE_APP_COLS = new String[] {
+ "description", "webURL", "trackerURL", "sourceURL",
+ "donateURL", "bitcoinAddr", "flattrID", "litecoinAddr" };
private void populateAppDetails(App app) {
Cursor cursor = null;
@@ -656,6 +663,7 @@ public class DB {
app.detail_donateURL = cursor.getString(4);
app.detail_bitcoinAddr = cursor.getString(5);
app.detail_flattrID = cursor.getString(6);
+ app.detail_litecoinAddr = cursor.getString(7);
app.detail_Populated = true;
} catch (Exception e) {
Log.d("FDroid", "Error populating app details " + app.id );
@@ -1123,6 +1131,7 @@ public class DB {
values.put("sourceURL", upapp.detail_sourceURL);
values.put("donateURL", upapp.detail_donateURL);
values.put("bitcoinAddr", upapp.detail_bitcoinAddr);
+ values.put("litecoinAddr", upapp.detail_litecoinAddr);
values.put("flattrID", upapp.detail_flattrID);
values.put("added",
upapp.added == null ? "" : mDateFormat.format(upapp.added));
diff --git a/src/org/fdroid/fdroid/RepoXMLHandler.java b/src/org/fdroid/fdroid/RepoXMLHandler.java
index 0d0729d58..e8a34f588 100644
--- a/src/org/fdroid/fdroid/RepoXMLHandler.java
+++ b/src/org/fdroid/fdroid/RepoXMLHandler.java
@@ -206,6 +206,8 @@ public class RepoXMLHandler extends DefaultHandler {
curapp.detail_donateURL = str;
} else if (curel.equals("bitcoin")) {
curapp.detail_bitcoinAddr = str;
+ } else if (curel.equals("litecoin")) {
+ curapp.detail_litecoinAddr = str;
} else if (curel.equals("flattr")) {
curapp.detail_flattrID = str;
} else if (curel.equals("web")) {