Added donate button to AppDetails menu
This commit is contained in:
parent
7c602d892a
commit
79ab3fe030
@ -101,6 +101,7 @@
|
||||
<string name="menu_source">Source Code</string>
|
||||
<string name="menu_market">Market</string>
|
||||
<string name="menu_update">Update</string>
|
||||
<string name="menu_donate">Donate</string>
|
||||
|
||||
<string name="details_installed">Version %s installed</string>
|
||||
<string name="details_notinstalled">Not installed (%d available)</string>
|
||||
|
@ -137,6 +137,7 @@ public class AppDetails extends ListActivity {
|
||||
private static final int ISSUES = Menu.FIRST + 3;
|
||||
private static final int SOURCE = Menu.FIRST + 4;
|
||||
private static final int MARKET = Menu.FIRST + 5;
|
||||
private static final int DONATE = Menu.FIRST + 6;
|
||||
|
||||
private DB db;
|
||||
private DB.App app;
|
||||
@ -367,6 +368,11 @@ public class AppDetails extends ListActivity {
|
||||
}
|
||||
menu.add(Menu.NONE, MARKET, 5, R.string.menu_market).setIcon(
|
||||
android.R.drawable.ic_menu_view);
|
||||
if (app.donateURL != null) {
|
||||
menu.add(Menu.NONE, DONATE, 6, R.string.menu_donate).setIcon(
|
||||
android.R.drawable.ic_menu_view);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -401,8 +407,18 @@ public class AppDetails extends ListActivity {
|
||||
return true;
|
||||
|
||||
case MARKET:
|
||||
try {
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri
|
||||
.parse("market://search?q=pname:" + app.id)));
|
||||
} catch (Exception ex) {
|
||||
// Do nothing. Probably means the market isn't installed.
|
||||
// Hurrah. (But really we should remove the menu option)
|
||||
}
|
||||
return true;
|
||||
|
||||
case DONATE:
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri
|
||||
.parse("market://search?q=pname:" + app.id)));
|
||||
.parse(app.donateURL)));
|
||||
return true;
|
||||
|
||||
}
|
||||
|
@ -67,6 +67,7 @@ public class DB {
|
||||
license = "Unknown";
|
||||
trackerURL = "";
|
||||
sourceURL = "";
|
||||
donateURL = null;
|
||||
webURL = "";
|
||||
antiFeatures = null;
|
||||
hasUpdates = false;
|
||||
@ -83,6 +84,7 @@ public class DB {
|
||||
public String webURL;
|
||||
public String trackerURL;
|
||||
public String sourceURL;
|
||||
public String donateURL; // Donate link, or null
|
||||
public String installedVersion;
|
||||
public int installedVerCode;
|
||||
public String marketVersion;
|
||||
@ -224,7 +226,10 @@ public class DB {
|
||||
{ "alter table " + TABLE_APK + " add sig string" },
|
||||
|
||||
// Version 7...
|
||||
{ "alter table " + TABLE_REPO + " add pubkey string" } };
|
||||
{ "alter table " + TABLE_REPO + " add pubkey string" },
|
||||
|
||||
// Version 8...
|
||||
{ "alter table " + TABLE_APP + " add donateURL string" } };
|
||||
|
||||
private class DBHelper extends SQLiteOpenHelper {
|
||||
|
||||
@ -245,13 +250,12 @@ public class DB {
|
||||
values.put("inuse", 1);
|
||||
values.put("priority", 10);
|
||||
values
|
||||
.put(
|
||||
"pubkey",
|
||||
"3082035e30820246a00302010202044c49cd00300d06092a864886f70d01010505003071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b73301e170d3130303732333137313032345a170d3337313230383137313032345a3071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b7330820122300d06092a864886f70d01010105000382010f003082010a028201010096d075e47c014e7822c89fd67f795d23203e2a8843f53ba4e6b1bf5f2fd0e225938267cfcae7fbf4fe596346afbaf4070fdb91f66fbcdf2348a3d92430502824f80517b156fab00809bdc8e631bfa9afd42d9045ab5fd6d28d9e140afc1300917b19b7c6c4df4a494cf1f7cb4a63c80d734265d735af9e4f09455f427aa65a53563f87b336ca2c19d244fcbba617ba0b19e56ed34afe0b253ab91e2fdb1271f1b9e3c3232027ed8862a112f0706e234cf236914b939bcf959821ecb2a6c18057e070de3428046d94b175e1d89bd795e535499a091f5bc65a79d539a8d43891ec504058acb28c08393b5718b57600a211e803f4a634e5c57f25b9b8c4422c6fd90203010001300d06092a864886f70d0101050500038201010008e4ef699e9807677ff56753da73efb2390d5ae2c17e4db691d5df7a7b60fc071ae509c5414be7d5da74df2811e83d3668c4a0b1abc84b9fa7d96b4cdf30bba68517ad2a93e233b042972ac0553a4801c9ebe07bf57ebe9a3b3d6d663965260e50f3b8f46db0531761e60340a2bddc3426098397fda54044a17e5244549f9869b460ca5e6e216b6f6a2db0580b480ca2afe6ec6b46eedacfa4aa45038809ece0c5978653d6c85f678e7f5a2156d1bedd8117751e64a4b0dcd140f3040b021821a8d93aed8d01ba36db6c82372211fed714d9a32607038cdfd565bd529ffc637212aaa2c224ef22b603eccefb5bf1e085c191d4b24fe742b17ab3f55d4e6f05ef");
|
||||
.put(
|
||||
"pubkey",
|
||||
"3082035e30820246a00302010202044c49cd00300d06092a864886f70d01010505003071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b73301e170d3130303732333137313032345a170d3337313230383137313032345a3071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b7330820122300d06092a864886f70d01010105000382010f003082010a028201010096d075e47c014e7822c89fd67f795d23203e2a8843f53ba4e6b1bf5f2fd0e225938267cfcae7fbf4fe596346afbaf4070fdb91f66fbcdf2348a3d92430502824f80517b156fab00809bdc8e631bfa9afd42d9045ab5fd6d28d9e140afc1300917b19b7c6c4df4a494cf1f7cb4a63c80d734265d735af9e4f09455f427aa65a53563f87b336ca2c19d244fcbba617ba0b19e56ed34afe0b253ab91e2fdb1271f1b9e3c3232027ed8862a112f0706e234cf236914b939bcf959821ecb2a6c18057e070de3428046d94b175e1d89bd795e535499a091f5bc65a79d539a8d43891ec504058acb28c08393b5718b57600a211e803f4a634e5c57f25b9b8c4422c6fd90203010001300d06092a864886f70d0101050500038201010008e4ef699e9807677ff56753da73efb2390d5ae2c17e4db691d5df7a7b60fc071ae509c5414be7d5da74df2811e83d3668c4a0b1abc84b9fa7d96b4cdf30bba68517ad2a93e233b042972ac0553a4801c9ebe07bf57ebe9a3b3d6d663965260e50f3b8f46db0531761e60340a2bddc3426098397fda54044a17e5244549f9869b460ca5e6e216b6f6a2db0580b480ca2afe6ec6b46eedacfa4aa45038809ece0c5978653d6c85f678e7f5a2156d1bedd8117751e64a4b0dcd140f3040b021821a8d93aed8d01ba36db6c82372211fed714d9a32607038cdfd565bd529ffc637212aaa2c224ef22b603eccefb5bf1e085c191d4b24fe742b17ab3f55d4e6f05ef");
|
||||
db.insert(TABLE_REPO, null, values);
|
||||
db.setTransactionSuccessful();
|
||||
}
|
||||
finally {
|
||||
} finally {
|
||||
db.endTransaction();
|
||||
}
|
||||
}
|
||||
@ -264,8 +268,7 @@ public class DB {
|
||||
for (int i = 0; i < DB_UPGRADES[v - 2].length; i++)
|
||||
db.execSQL(DB_UPGRADES[v - 2][i]);
|
||||
db.setTransactionSuccessful();
|
||||
}
|
||||
finally {
|
||||
} finally {
|
||||
db.endTransaction();
|
||||
}
|
||||
}
|
||||
@ -286,7 +289,7 @@ public class DB {
|
||||
db = h.getWritableDatabase();
|
||||
mPm = ctx.getPackageManager();
|
||||
SharedPreferences prefs = PreferenceManager
|
||||
.getDefaultSharedPreferences(mContext);
|
||||
.getDefaultSharedPreferences(mContext);
|
||||
String sync_mode = prefs.getString("dbSyncMode", null);
|
||||
if ("off".equals(sync_mode))
|
||||
setSynchronizationMode(SYNC_OFF);
|
||||
@ -394,6 +397,7 @@ public class DB {
|
||||
app.trackerURL = c
|
||||
.getString(c.getColumnIndex("trackerURL"));
|
||||
app.sourceURL = c.getString(c.getColumnIndex("sourceURL"));
|
||||
app.donateURL = c.getString(c.getColumnIndex("donateURL"));
|
||||
app.installedVersion = c.getString(c
|
||||
.getColumnIndex("installedVersion"));
|
||||
app.installedVerCode = c.getInt(c
|
||||
@ -450,8 +454,7 @@ public class DB {
|
||||
try {
|
||||
getUpdates(result);
|
||||
db.setTransactionSuccessful();
|
||||
}
|
||||
finally {
|
||||
} finally {
|
||||
db.endTransaction();
|
||||
}
|
||||
}
|
||||
@ -634,6 +637,7 @@ public class DB {
|
||||
values.put("webURL", upapp.webURL);
|
||||
values.put("trackerURL", upapp.trackerURL);
|
||||
values.put("sourceURL", upapp.sourceURL);
|
||||
values.put("donateURL", upapp.donateURL);
|
||||
values.put("installedVersion", upapp.installedVersion);
|
||||
values.put("installedVerCode", upapp.installedVerCode);
|
||||
values.put("marketVersion", upapp.marketVersion);
|
||||
@ -736,8 +740,7 @@ public class DB {
|
||||
db.delete(TABLE_REPO, "address = ?", new String[] { address });
|
||||
}
|
||||
db.setTransactionSuccessful();
|
||||
}
|
||||
finally {
|
||||
} finally {
|
||||
db.endTransaction();
|
||||
}
|
||||
}
|
||||
|
@ -134,6 +134,8 @@ public class RepoXMLHandler extends DefaultHandler {
|
||||
curapp.license = str;
|
||||
} else if (curel == "source") {
|
||||
curapp.sourceURL = str;
|
||||
} else if (curel == "donate") {
|
||||
curapp.donateURL = str;
|
||||
} else if (curel == "web") {
|
||||
curapp.webURL = str;
|
||||
} else if (curel == "tracker") {
|
||||
|
Loading…
x
Reference in New Issue
Block a user