summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/MainActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/fox/ttrss/MainActivity.java')
-rw-r--r--src/org/fox/ttrss/MainActivity.java55
1 files changed, 50 insertions, 5 deletions
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index dd3295c8..5d7ecd09 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -23,6 +23,7 @@ import android.database.sqlite.SQLiteDatabase;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
+import android.os.Handler;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
@@ -69,6 +70,7 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
private boolean m_isLoggingIn = false;
private boolean m_isOffline = false;
private boolean m_offlineModeReady = false;
+ private int m_selectedProduct = -1;
private SQLiteDatabase m_readableDb;
private SQLiteDatabase m_writableDb;
@@ -443,7 +445,7 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
}
super.onCreate(savedInstanceState);
-
+
m_themeName = m_prefs.getString("theme", "THEME_DARK");
if (savedInstanceState != null) {
@@ -882,6 +884,45 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
.findFragmentById(R.id.headlines_fragment);
switch (item.getItemId()) {
+ case R.id.donate:
+ if (true) {
+ CharSequence[] items = { "Silver Donation ($2)", "Gold Donation ($5)", "Platinum Donation ($10)" };
+
+ Dialog dialog = new Dialog(MainActivity.this);
+ AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
+ .setTitle(R.string.donate_select)
+ .setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ m_selectedProduct = which;
+ }
+ }).setNegativeButton(R.string.dialog_close, new OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.cancel();
+ }
+ }).setPositiveButton(R.string.donate_do, new OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (m_selectedProduct != -1 && m_selectedProduct < 3) {
+ CharSequence[] products = { "donation_silver", "donation_gold", "donation_platinum2" };
+
+ Log.d(TAG, "Selected product: " + products[m_selectedProduct]);
+
+ BillingHelper.requestPurchase(MainActivity.this, (String) products[m_selectedProduct]);
+
+ dialog.dismiss();
+ }
+ }
+ });
+
+ dialog = builder.create();
+ dialog.show();
+ }
+ return true;
case android.R.id.home:
goBack(false);
return true;
@@ -1130,7 +1171,7 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
Dialog dialog = new Dialog(MainActivity.this);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
- .setTitle("Set labels")
+ .setTitle(R.string.article_set_labels)
.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {
@Override
@@ -1152,7 +1193,7 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
req.execute(map);
}
- }).setPositiveButton("Close", new OnClickListener() {
+ }).setPositiveButton(R.string.dialog_close, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
@@ -1358,7 +1399,9 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
}
m_menu.findItem(R.id.set_labels).setEnabled(m_apiLevel >= 1);
-
+
+ m_menu.findItem(R.id.donate).setVisible(BillingHelper.isBillingSupported());
+
} else {
m_menu.setGroupVisible(R.id.menu_group_logged_in, false);
m_menu.setGroupVisible(R.id.menu_group_logged_out, true);
@@ -1410,8 +1453,10 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
m_isOffline = false;
+ startService(new Intent(MainActivity.this, BillingService.class));
+
initMainMenu();
-
+
if (m_refreshTask != null) {
m_refreshTask.cancel();
m_refreshTask = null;