Add basic dogecoin donation support

This commit is contained in:
Daniel Martí 2013-12-31 12:11:03 +01:00
parent a189ff6e4e
commit 1e4fe9fa2c
3 changed files with 21 additions and 4 deletions

View File

@ -9,6 +9,7 @@
<string name="menu_bitcoin">Bitcoin</string> <string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string> <string name="menu_litecoin">Litecoin</string>
<string name="menu_dogecoin">Dogecoin</string>
<string name="menu_flattr">Flattr</string> <string name="menu_flattr">Flattr</string>
<string-array name="updateIntervalValues"> <string-array name="updateIntervalValues">

View File

@ -193,8 +193,9 @@ public class AppDetails extends ListActivity {
private static final int DONATE = Menu.FIRST + 9; private static final int DONATE = Menu.FIRST + 9;
private static final int BITCOIN = Menu.FIRST + 10; private static final int BITCOIN = Menu.FIRST + 10;
private static final int LITECOIN = Menu.FIRST + 11; private static final int LITECOIN = Menu.FIRST + 11;
private static final int FLATTR = Menu.FIRST + 12; private static final int DOGECOIN = Menu.FIRST + 12;
private static final int DONATE_URL = Menu.FIRST + 13; private static final int FLATTR = Menu.FIRST + 13;
private static final int DONATE_URL = Menu.FIRST + 14;
private DB.App app; private DB.App app;
private String appid; private String appid;
@ -705,6 +706,7 @@ public class AppDetails extends ListActivity {
} }
if (app.detail_bitcoinAddr != null || app.detail_litecoinAddr != null || if (app.detail_bitcoinAddr != null || app.detail_litecoinAddr != null ||
app.detail_dogecoinAddr != null ||
app.detail_flattrID != null || app.detail_donateURL != null) { app.detail_flattrID != null || app.detail_donateURL != null) {
SubMenu donate = menu.addSubMenu(Menu.NONE, DONATE, 7, SubMenu donate = menu.addSubMenu(Menu.NONE, DONATE, 7,
R.string.menu_donate).setIcon( R.string.menu_donate).setIcon(
@ -713,6 +715,8 @@ public class AppDetails extends ListActivity {
donate.add(Menu.NONE, BITCOIN, 8, R.string.menu_bitcoin); donate.add(Menu.NONE, BITCOIN, 8, R.string.menu_bitcoin);
if (app.detail_litecoinAddr != null) if (app.detail_litecoinAddr != null)
donate.add(Menu.NONE, LITECOIN, 8, R.string.menu_litecoin); donate.add(Menu.NONE, LITECOIN, 8, R.string.menu_litecoin);
if (app.detail_dogecoinAddr != null)
donate.add(Menu.NONE, DOGECOIN, 8, R.string.menu_dogecoin);
if (app.detail_flattrID != null) if (app.detail_flattrID != null)
donate.add(Menu.NONE, FLATTR, 9, R.string.menu_flattr); donate.add(Menu.NONE, FLATTR, 9, R.string.menu_flattr);
if (app.detail_donateURL != null) if (app.detail_donateURL != null)
@ -794,6 +798,10 @@ public class AppDetails extends ListActivity {
tryOpenUri("litecoin:" + app.detail_litecoinAddr); tryOpenUri("litecoin:" + app.detail_litecoinAddr);
return true; return true;
case DOGECOIN:
tryOpenUri("dogecoin:" + app.detail_dogecoinAddr);
return true;
case FLATTR: case FLATTR:
tryOpenUri("https://flattr.com/thing/" + app.detail_flattrID); tryOpenUri("https://flattr.com/thing/" + app.detail_flattrID);
return true; return true;

View File

@ -99,6 +99,7 @@ public class DB {
+ "curVersion text," + "curVercode integer," + "curVersion text," + "curVercode integer,"
+ "antiFeatures string," + "donateURL string," + "antiFeatures string," + "donateURL string,"
+ "bitcoinAddr string," + "litecoinAddr string," + "bitcoinAddr string," + "litecoinAddr string,"
+ "dogecoinAddr string,"
+ "flattrID string," + "requirements string," + "flattrID string," + "requirements string,"
+ "categories string," + "added string," + "categories string," + "added string,"
+ "lastUpdated string," + "compatible int not null," + "lastUpdated string," + "compatible int not null,"
@ -119,6 +120,7 @@ public class DB {
detail_donateURL = null; detail_donateURL = null;
detail_bitcoinAddr = null; detail_bitcoinAddr = null;
detail_litecoinAddr = null; detail_litecoinAddr = null;
detail_dogecoinAddr = null;
detail_webURL = null; detail_webURL = null;
categories = null; categories = null;
provides = null; provides = null;
@ -175,6 +177,10 @@ public class DB {
// Null when !detail_Populated // Null when !detail_Populated
public String detail_litecoinAddr; public String detail_litecoinAddr;
// Dogecoin donate address, or null
// Null when !detail_Populated
public String detail_dogecoinAddr;
// Flattr donate ID, or null // Flattr donate ID, or null
// Null when !detail_Populated // Null when !detail_Populated
public String detail_flattrID; public String detail_flattrID;
@ -461,7 +467,7 @@ public class DB {
public String lastetag; // last etag we updated from, null forces update public String lastetag; // last etag we updated from, null forces update
} }
private final int DBVersion = 31; private final int DBVersion = 32;
private static void createAppApk(SQLiteDatabase db) { private static void createAppApk(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_APP); db.execSQL(CREATE_TABLE_APP);
@ -730,7 +736,7 @@ public class DB {
private static final String[] POPULATE_APP_COLS = new String[] { private static final String[] POPULATE_APP_COLS = new String[] {
"description", "webURL", "trackerURL", "sourceURL", "description", "webURL", "trackerURL", "sourceURL",
"donateURL", "bitcoinAddr", "flattrID", "litecoinAddr" }; "donateURL", "bitcoinAddr", "flattrID", "litecoinAddr", "dogecoinAddr" };
private void populateAppDetails(App app) { private void populateAppDetails(App app) {
Cursor cursor = null; Cursor cursor = null;
@ -746,6 +752,7 @@ public class DB {
app.detail_bitcoinAddr = cursor.getString(5); app.detail_bitcoinAddr = cursor.getString(5);
app.detail_flattrID = cursor.getString(6); app.detail_flattrID = cursor.getString(6);
app.detail_litecoinAddr = cursor.getString(7); app.detail_litecoinAddr = cursor.getString(7);
app.detail_dogecoinAddr = cursor.getString(8);
app.detail_Populated = true; app.detail_Populated = true;
} catch (Exception e) { } catch (Exception e) {
Log.d("FDroid", "Error populating app details " + app.id ); Log.d("FDroid", "Error populating app details " + app.id );
@ -1247,6 +1254,7 @@ public class DB {
values.put("donateURL", upapp.detail_donateURL); values.put("donateURL", upapp.detail_donateURL);
values.put("bitcoinAddr", upapp.detail_bitcoinAddr); values.put("bitcoinAddr", upapp.detail_bitcoinAddr);
values.put("litecoinAddr", upapp.detail_litecoinAddr); values.put("litecoinAddr", upapp.detail_litecoinAddr);
values.put("dogecoinAddr", upapp.detail_dogecoinAddr);
values.put("flattrID", upapp.detail_flattrID); values.put("flattrID", upapp.detail_flattrID);
values.put("added", values.put("added",
upapp.added == null ? "" : mDateFormat.format(upapp.added)); upapp.added == null ? "" : mDateFormat.format(upapp.added));