Fix contribution issue for KeePass DX Pro

This commit is contained in:
J-Jamet
2018-04-26 14:39:45 +02:00
parent e61571fcec
commit c7120b997f
11 changed files with 51 additions and 49 deletions

View File

@@ -372,7 +372,7 @@ public class EntryActivity extends LockingHideActivity {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
MenuUtil.donationMenuInflater(inflater, menu);
MenuUtil.contributionMenuInflater(inflater, menu);
inflater.inflate(R.menu.entry, menu);
inflater.inflate(R.menu.database_lock, menu);
@@ -415,8 +415,8 @@ public class EntryActivity extends LockingHideActivity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch ( item.getItemId() ) {
case R.id.menu_donate:
return MenuUtil.onDonationItemSelected(this);
case R.id.menu_contribute:
return MenuUtil.onContributionItemSelected(this);
case R.id.menu_toggle_pass:
mShowPassword = !mShowPassword;

View File

@@ -447,15 +447,15 @@ public class EntryEditActivity extends LockingHideActivity
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
MenuUtil.donationMenuInflater(inflater, menu);
MenuUtil.contributionMenuInflater(inflater, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch ( item.getItemId() ) {
case R.id.menu_donate:
return MenuUtil.onDonationItemSelected(this);
case R.id.menu_contribute:
return MenuUtil.onContributionItemSelected(this);
case android.R.id.home:
finish();

View File

@@ -177,7 +177,7 @@ public abstract class ListNodesActivity extends LockingActivity
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
MenuUtil.donationMenuInflater(inflater, menu);
MenuUtil.contributionMenuInflater(inflater, menu);
inflater.inflate(R.menu.tree, menu);
inflater.inflate(R.menu.default_menu, menu);

View File

@@ -60,7 +60,7 @@ public class ProFeatureDialogFragment extends DialogFragment {
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_donation)));
builder.setPositiveButton(R.string.contribute, (dialog, id) -> {
try {
Util.gotoUrl(getContext(), R.string.donate_url);
Util.gotoUrl(getContext(), R.string.contribution_url);
} catch (ActivityNotFoundException e) {
Toast.makeText(getContext(), R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
}

View File

@@ -44,31 +44,41 @@ public class UnderDevelopmentFeatureDialogFragment extends DialogFragment {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature))).append("\n\n");
if (BuildConfig.CLOSED_STORE) {
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature_buy_pro))).append(" ")
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_encourage)));
builder.setPositiveButton(R.string.download, (dialog, id) -> {
try {
Util.gotoUrl(getContext(), R.string.app_pro_url);
} catch (ActivityNotFoundException e) {
Toast.makeText(getContext(), R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
}
});
if (BuildConfig.FULL_VERSION) {
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature_thanks))).append("\n\n")
.append(Html.fromHtml(getString(R.string.html_rose))).append("\n\n")
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_work_hard))).append("\n")
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_upgrade))).append(" ");
builder.setPositiveButton(android.R.string.ok, (dialog, id) -> dismiss());
} else {
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature))).append("\n\n")
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_buy_pro))).append("\n")
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_encourage)));
builder.setPositiveButton(R.string.download, (dialog, id) -> {
try {
Util.gotoUrl(getContext(), R.string.app_pro_url);
} catch (ActivityNotFoundException e) {
Toast.makeText(getContext(), R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
}
});
builder.setNegativeButton(android.R.string.cancel, (dialog, id) -> dismiss());
}
}
else {
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature_contibute))).append(" ")
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_encourage)));
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature))).append("\n\n")
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_contibute))).append(" ")
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_encourage)));
builder.setPositiveButton(R.string.contribute, (dialog, id) -> {
try {
Util.gotoUrl(getContext(), R.string.donate_url);
Util.gotoUrl(getContext(), R.string.contribution_url);
} catch (ActivityNotFoundException e) {
Toast.makeText(getContext(), R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
}
});
builder.setNegativeButton(android.R.string.cancel, (dialog, id) -> dismiss());
}
builder.setMessage(stringBuilder);
builder.setNegativeButton(android.R.string.cancel, (dialog, id) -> dismiss());
// Create the AlertDialog object and return it
return builder.create();
}

View File

@@ -86,7 +86,7 @@ public class SearchResultsActivity extends ListNodesActivity {
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
MenuUtil.donationMenuInflater(inflater, menu);
MenuUtil.contributionMenuInflater(inflater, menu);
inflater.inflate(R.menu.tree, menu);
inflater.inflate(R.menu.default_menu, menu);

View File

@@ -21,49 +21,33 @@ package com.kunzisoft.keepass.utils;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
import com.getkeepsafe.taptargetview.TapTarget;
import com.kunzisoft.keepass.BuildConfig;
import com.kunzisoft.keepass.R;
import com.kunzisoft.keepass.activities.AboutActivity;
import com.kunzisoft.keepass.settings.SettingsActivity;
import com.kunzisoft.keepass.stylish.StylishActivity;
import java.util.List;
public class MenuUtil {
public static void donationMenuInflater(MenuInflater inflater, Menu menu) {
public static void contributionMenuInflater(MenuInflater inflater, Menu menu) {
if(!(BuildConfig.FULL_VERSION && BuildConfig.CLOSED_STORE))
inflater.inflate(R.menu.donation, menu);
}
public static void addDonationTapTargetIfAllowed(List<TapTarget> tapTargets,
Toolbar toolbar,
String title,
String summary) {
if (!(BuildConfig.FULL_VERSION && BuildConfig.CLOSED_STORE)) {
tapTargets.add(TapTarget.forToolbarMenuItem(toolbar,
R.id.menu_donate,
title,
summary));
}
inflater.inflate(R.menu.contribution, menu);
}
public static void defaultMenuInflater(MenuInflater inflater, Menu menu) {
donationMenuInflater(inflater, menu);
contributionMenuInflater(inflater, menu);
inflater.inflate(R.menu.default_menu, menu);
}
public static boolean onDonationItemSelected(StylishActivity activity) {
public static boolean onContributionItemSelected(StylishActivity activity) {
try {
Util.gotoUrl(activity, R.string.donate_url);
Util.gotoUrl(activity, R.string.contribution_url);
} catch (ActivityNotFoundException e) {
Toast.makeText(activity, R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
return false;
@@ -80,8 +64,8 @@ public class MenuUtil {
*/
public static boolean onDefaultMenuOptionsItemSelected(StylishActivity activity, MenuItem item, boolean checkLock) {
switch (item.getItemId()) {
case R.id.menu_donate:
return onDonationItemSelected(activity);
case R.id.menu_contribute:
return onContributionItemSelected(activity);
case R.id.menu_app_settings:
// To avoid flickering when launch settings in a LockingActivity

View File

@@ -19,9 +19,9 @@
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_donate"
<item android:id="@+id/menu_contribute"
android:icon="@drawable/ic_heart_white_24dp"
android:title="@string/menu_donate"
android:title="@string/contribute"
android:orderInCategory="95"
app:showAsAction="ifRoom" />
</menu>

View File

@@ -298,6 +298,9 @@
<string name="html_text_dev_feature_buy_pro">En achetant la version &lt;strong&gt;pro&lt;/strong&gt;,</string>
<string name="html_text_dev_feature_contibute">En &lt;strong&gt;contribuant&lt;/strong&gt;,</string>
<string name="html_text_dev_feature_encourage">vous encouragez les développeurs à créer de &lt;strong&gt;nouvelles fonctionnalités&lt;/strong&gt; et à &lt;strong&gt;résoudre des bugs&lt;/strong&gt; en fonction de vos remarques.</string>
<string name="html_text_dev_feature_thanks">Merci beaucoup pour votre contribution.</string>
<string name="html_text_dev_feature_work_hard">Nous travaillons dur pour sortir cette fonctionnalité rapidement.</string>
<string name="html_text_dev_feature_upgrade">N\'oubliez pas de garder votre application à jour.</string>
<string name="download">Télécharger</string>
<string name="contribute">Contribuer</string>

View File

@@ -22,13 +22,15 @@
<string name="app_pro_url" translatable="false">https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro</string>
<string name="clipboard_error_url" translatable="false">http://code.google.com/p/android/issues/detail?id=35732</string>
<string name="donate_url" translatable="false">https://www.kunzisoft.com/donation</string>
<string name="contribution_url" translatable="false">https://www.kunzisoft.com/donation?project=keepassdx</string>
<string name="homepage" translatable="false">https://www.kunzisoft.com/KeepassDX/</string>
<string name="issues" translatable="false">https://github.com/Kunzisoft/KeePassDX/issues</string>
<string name="filemanager_play_store" translatable="false">https://play.google.com/store/apps/details?id=org.openintents.filemanager</string>
<string name="filemanager_f_droid" translatable="false">https://f-droid.org/packages/org.openintents.filemanager/</string>
<string name="field_references_url" translatable="false">https://keepass.info/help/base/fieldrefs.html</string>
<string name="html_rose">--,--`--,{@</string>
<!-- Password generator -->
<string name="password_length_key" translatable="false">password_length_key</string>
<string name="min_password_length" translatable="false">1</string>

View File

@@ -302,6 +302,9 @@
<string name="html_text_dev_feature_buy_pro">By buying the &lt;strong&gt;pro&lt;/strong&gt; version,</string>
<string name="html_text_dev_feature_contibute">By &lt;strong&gt;contributing&lt;/strong&gt;,</string>
<string name="html_text_dev_feature_encourage">you\'re encouraging developers to create &lt;strong&gt;new features&lt;/strong&gt; and to &lt;strong&gt;fix bugs&lt;/strong&gt; according to your remarks.</string>
<string name="html_text_dev_feature_thanks">Thanks a lot for your contribution.</string>
<string name="html_text_dev_feature_work_hard">We are working hard to release this feature quickly.</string>
<string name="html_text_dev_feature_upgrade">Do not forget to keep your application up to date.</string>
<string name="download">Download</string>
<string name="contribute">Contribute</string>