aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java57
1 files changed, 50 insertions, 7 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java
index 7987f73b9..c67e97440 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java
@@ -20,11 +20,15 @@ package org.sufficientlysecure.keychain.ui;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.View;
import com.astuetz.PagerSlidingTabStrip;
+import org.sufficientlysecure.donations.DonationsFragment;
+import org.sufficientlysecure.keychain.BuildConfig;
+import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.ui.adapter.PagerTabStripAdapter;
import org.sufficientlysecure.keychain.ui.base.BaseActivity;
@@ -36,10 +40,15 @@ public class HelpActivity extends BaseActivity {
public static final int TAB_START = 0;
public static final int TAB_CONFIRM = 1;
public static final int TAB_FAQ = 2;
- public static final int TAB_CHANGELOG = 3;
- public static final int TAB_ABOUT = 4;
+ public static final int TAB_DONATE = 3;
+ public static final int TAB_CHANGELOG = 4;
+ public static final int TAB_ABOUT = 5;
+
+ // Google Play
+ private static final String[] GOOGLE_PLAY_CATALOG = new String[]{"keychain.donation.1",
+ "keychain.donation.2", "keychain.donation.3", "keychain.donation.5", "keychain.donation.10",
+ "keychain.donation.50", "keychain.donation.100"};
- ViewPager mViewPager;
private PagerTabStripAdapter mTabsAdapter;
@Override
@@ -53,12 +62,12 @@ public class HelpActivity extends BaseActivity {
}
});
- mViewPager = (ViewPager) findViewById(R.id.pager);
+ ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
PagerSlidingTabStrip slidingTabLayout =
(PagerSlidingTabStrip) findViewById(R.id.sliding_tab_layout);
mTabsAdapter = new PagerTabStripAdapter(this);
- mViewPager.setAdapter(mTabsAdapter);
+ viewPager.setAdapter(mTabsAdapter);
int selectedTab = TAB_START;
Intent intent = getIntent();
@@ -81,6 +90,26 @@ public class HelpActivity extends BaseActivity {
mTabsAdapter.addTab(HelpMarkdownFragment.class, faqBundle,
getString(R.string.help_tab_faq));
+ Bundle donationsBundle = new Bundle();
+ donationsBundle.putBoolean(DonationsFragment.ARG_DEBUG, Constants.DEBUG);
+ if (BuildConfig.DONATIONS_GOOGLE) {
+ donationsBundle.putBoolean(DonationsFragment.ARG_GOOGLE_ENABLED, true);
+ donationsBundle.putString(DonationsFragment.ARG_GOOGLE_PUBKEY, BuildConfig.GOOGLE_PLAY_PUBKEY);
+ donationsBundle.putStringArray(DonationsFragment.ARG_GOOGLE_CATALOG, GOOGLE_PLAY_CATALOG);
+ donationsBundle.putStringArray(DonationsFragment.ARG_GOOGLE_CATALOG_VALUES,
+ getResources().getStringArray(R.array.help_donation_google_catalog_values));
+ } else {
+ donationsBundle.putBoolean(DonationsFragment.ARG_PAYPAL_ENABLED, true);
+ donationsBundle.putString(DonationsFragment.ARG_PAYPAL_CURRENCY_CODE, BuildConfig.PAYPAL_CURRENCY_CODE);
+ donationsBundle.putString(DonationsFragment.ARG_PAYPAL_USER, BuildConfig.PAYPAL_USER);
+ donationsBundle.putString(DonationsFragment.ARG_PAYPAL_ITEM_NAME,
+ getString(R.string.help_donation_paypal_item));
+ donationsBundle.putBoolean(DonationsFragment.ARG_BITCOIN_ENABLED, true);
+ donationsBundle.putString(DonationsFragment.ARG_BITCOIN_ADDRESS, BuildConfig.BITCOIN_ADDRESS);
+ }
+ mTabsAdapter.addTab(DonationsFragment.class, donationsBundle,
+ getString(R.string.help_tab_donations));
+
Bundle changelogBundle = new Bundle();
changelogBundle.putInt(HelpMarkdownFragment.ARG_MARKDOWN_RES, R.raw.help_changelog);
mTabsAdapter.addTab(HelpMarkdownFragment.class, changelogBundle,
@@ -90,10 +119,10 @@ public class HelpActivity extends BaseActivity {
getString(R.string.help_tab_about));
// NOTE: must be after adding the tabs!
- slidingTabLayout.setViewPager(mViewPager);
+ slidingTabLayout.setViewPager(viewPager);
// switch to tab selected by extra
- mViewPager.setCurrentItem(selectedTab);
+ viewPager.setCurrentItem(selectedTab);
}
@Override
@@ -107,4 +136,18 @@ public class HelpActivity extends BaseActivity {
context.startActivity(intent);
}
+ /**
+ * Needed for Google Play In-app Billing. It uses startIntentSenderForResult(). The result is not propagated to
+ * the Fragment like in startActivityForResult(). Thus we need to propagate manually to our Fragment.
+ */
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+
+ Fragment fragment = mTabsAdapter.getRegisteredFragment(TAB_DONATE);
+ if (fragment != null) {
+ fragment.onActivityResult(requestCode, resultCode, data);
+ }
+ }
+
}