mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Fix contribution issue for KeePass DX Pro
This commit is contained in:
@@ -372,7 +372,7 @@ public class EntryActivity extends LockingHideActivity {
|
|||||||
super.onCreateOptionsMenu(menu);
|
super.onCreateOptionsMenu(menu);
|
||||||
|
|
||||||
MenuInflater inflater = getMenuInflater();
|
MenuInflater inflater = getMenuInflater();
|
||||||
MenuUtil.donationMenuInflater(inflater, menu);
|
MenuUtil.contributionMenuInflater(inflater, menu);
|
||||||
inflater.inflate(R.menu.entry, menu);
|
inflater.inflate(R.menu.entry, menu);
|
||||||
inflater.inflate(R.menu.database_lock, menu);
|
inflater.inflate(R.menu.database_lock, menu);
|
||||||
|
|
||||||
@@ -415,8 +415,8 @@ public class EntryActivity extends LockingHideActivity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch ( item.getItemId() ) {
|
switch ( item.getItemId() ) {
|
||||||
case R.id.menu_donate:
|
case R.id.menu_contribute:
|
||||||
return MenuUtil.onDonationItemSelected(this);
|
return MenuUtil.onContributionItemSelected(this);
|
||||||
|
|
||||||
case R.id.menu_toggle_pass:
|
case R.id.menu_toggle_pass:
|
||||||
mShowPassword = !mShowPassword;
|
mShowPassword = !mShowPassword;
|
||||||
|
|||||||
@@ -447,15 +447,15 @@ public class EntryEditActivity extends LockingHideActivity
|
|||||||
super.onCreateOptionsMenu(menu);
|
super.onCreateOptionsMenu(menu);
|
||||||
|
|
||||||
MenuInflater inflater = getMenuInflater();
|
MenuInflater inflater = getMenuInflater();
|
||||||
MenuUtil.donationMenuInflater(inflater, menu);
|
MenuUtil.contributionMenuInflater(inflater, menu);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch ( item.getItemId() ) {
|
switch ( item.getItemId() ) {
|
||||||
case R.id.menu_donate:
|
case R.id.menu_contribute:
|
||||||
return MenuUtil.onDonationItemSelected(this);
|
return MenuUtil.onContributionItemSelected(this);
|
||||||
|
|
||||||
case android.R.id.home:
|
case android.R.id.home:
|
||||||
finish();
|
finish();
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ public abstract class ListNodesActivity extends LockingActivity
|
|||||||
super.onCreateOptionsMenu(menu);
|
super.onCreateOptionsMenu(menu);
|
||||||
|
|
||||||
MenuInflater inflater = getMenuInflater();
|
MenuInflater inflater = getMenuInflater();
|
||||||
MenuUtil.donationMenuInflater(inflater, menu);
|
MenuUtil.contributionMenuInflater(inflater, menu);
|
||||||
inflater.inflate(R.menu.tree, menu);
|
inflater.inflate(R.menu.tree, menu);
|
||||||
inflater.inflate(R.menu.default_menu, menu);
|
inflater.inflate(R.menu.default_menu, menu);
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class ProFeatureDialogFragment extends DialogFragment {
|
|||||||
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_donation)));
|
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_donation)));
|
||||||
builder.setPositiveButton(R.string.contribute, (dialog, id) -> {
|
builder.setPositiveButton(R.string.contribute, (dialog, id) -> {
|
||||||
try {
|
try {
|
||||||
Util.gotoUrl(getContext(), R.string.donate_url);
|
Util.gotoUrl(getContext(), R.string.contribution_url);
|
||||||
} catch (ActivityNotFoundException e) {
|
} catch (ActivityNotFoundException e) {
|
||||||
Toast.makeText(getContext(), R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
|
Toast.makeText(getContext(), R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,31 +44,41 @@ public class UnderDevelopmentFeatureDialogFragment extends DialogFragment {
|
|||||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||||
|
|
||||||
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
|
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
|
||||||
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature))).append("\n\n");
|
|
||||||
if (BuildConfig.CLOSED_STORE) {
|
if (BuildConfig.CLOSED_STORE) {
|
||||||
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature_buy_pro))).append(" ")
|
if (BuildConfig.FULL_VERSION) {
|
||||||
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_encourage)));
|
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature_thanks))).append("\n\n")
|
||||||
builder.setPositiveButton(R.string.download, (dialog, id) -> {
|
.append(Html.fromHtml(getString(R.string.html_rose))).append("\n\n")
|
||||||
try {
|
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_work_hard))).append("\n")
|
||||||
Util.gotoUrl(getContext(), R.string.app_pro_url);
|
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_upgrade))).append(" ");
|
||||||
} catch (ActivityNotFoundException e) {
|
builder.setPositiveButton(android.R.string.ok, (dialog, id) -> dismiss());
|
||||||
Toast.makeText(getContext(), R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
|
} 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 {
|
else {
|
||||||
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature_contibute))).append(" ")
|
stringBuilder.append(Html.fromHtml(getString(R.string.html_text_dev_feature))).append("\n\n")
|
||||||
.append(Html.fromHtml(getString(R.string.html_text_dev_feature_encourage)));
|
.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) -> {
|
builder.setPositiveButton(R.string.contribute, (dialog, id) -> {
|
||||||
try {
|
try {
|
||||||
Util.gotoUrl(getContext(), R.string.donate_url);
|
Util.gotoUrl(getContext(), R.string.contribution_url);
|
||||||
} catch (ActivityNotFoundException e) {
|
} catch (ActivityNotFoundException e) {
|
||||||
Toast.makeText(getContext(), R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
|
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.setMessage(stringBuilder);
|
||||||
builder.setNegativeButton(android.R.string.cancel, (dialog, id) -> dismiss());
|
|
||||||
// Create the AlertDialog object and return it
|
// Create the AlertDialog object and return it
|
||||||
return builder.create();
|
return builder.create();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public class SearchResultsActivity extends ListNodesActivity {
|
|||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
|
||||||
MenuInflater inflater = getMenuInflater();
|
MenuInflater inflater = getMenuInflater();
|
||||||
MenuUtil.donationMenuInflater(inflater, menu);
|
MenuUtil.contributionMenuInflater(inflater, menu);
|
||||||
inflater.inflate(R.menu.tree, menu);
|
inflater.inflate(R.menu.tree, menu);
|
||||||
inflater.inflate(R.menu.default_menu, menu);
|
inflater.inflate(R.menu.default_menu, menu);
|
||||||
|
|
||||||
|
|||||||
@@ -21,49 +21,33 @@ package com.kunzisoft.keepass.utils;
|
|||||||
|
|
||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.support.v7.widget.Toolbar;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.getkeepsafe.taptargetview.TapTarget;
|
|
||||||
import com.kunzisoft.keepass.BuildConfig;
|
import com.kunzisoft.keepass.BuildConfig;
|
||||||
import com.kunzisoft.keepass.R;
|
import com.kunzisoft.keepass.R;
|
||||||
import com.kunzisoft.keepass.activities.AboutActivity;
|
import com.kunzisoft.keepass.activities.AboutActivity;
|
||||||
import com.kunzisoft.keepass.settings.SettingsActivity;
|
import com.kunzisoft.keepass.settings.SettingsActivity;
|
||||||
import com.kunzisoft.keepass.stylish.StylishActivity;
|
import com.kunzisoft.keepass.stylish.StylishActivity;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
public class MenuUtil {
|
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))
|
if(!(BuildConfig.FULL_VERSION && BuildConfig.CLOSED_STORE))
|
||||||
inflater.inflate(R.menu.donation, menu);
|
inflater.inflate(R.menu.contribution, 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));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void defaultMenuInflater(MenuInflater inflater, Menu menu) {
|
public static void defaultMenuInflater(MenuInflater inflater, Menu menu) {
|
||||||
donationMenuInflater(inflater, menu);
|
contributionMenuInflater(inflater, menu);
|
||||||
inflater.inflate(R.menu.default_menu, menu);
|
inflater.inflate(R.menu.default_menu, menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean onDonationItemSelected(StylishActivity activity) {
|
public static boolean onContributionItemSelected(StylishActivity activity) {
|
||||||
try {
|
try {
|
||||||
Util.gotoUrl(activity, R.string.donate_url);
|
Util.gotoUrl(activity, R.string.contribution_url);
|
||||||
} catch (ActivityNotFoundException e) {
|
} catch (ActivityNotFoundException e) {
|
||||||
Toast.makeText(activity, R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
|
Toast.makeText(activity, R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
|
||||||
return false;
|
return false;
|
||||||
@@ -80,8 +64,8 @@ public class MenuUtil {
|
|||||||
*/
|
*/
|
||||||
public static boolean onDefaultMenuOptionsItemSelected(StylishActivity activity, MenuItem item, boolean checkLock) {
|
public static boolean onDefaultMenuOptionsItemSelected(StylishActivity activity, MenuItem item, boolean checkLock) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.menu_donate:
|
case R.id.menu_contribute:
|
||||||
return onDonationItemSelected(activity);
|
return onContributionItemSelected(activity);
|
||||||
|
|
||||||
case R.id.menu_app_settings:
|
case R.id.menu_app_settings:
|
||||||
// To avoid flickering when launch settings in a LockingActivity
|
// To avoid flickering when launch settings in a LockingActivity
|
||||||
|
|||||||
@@ -19,9 +19,9 @@
|
|||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
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:icon="@drawable/ic_heart_white_24dp"
|
||||||
android:title="@string/menu_donate"
|
android:title="@string/contribute"
|
||||||
android:orderInCategory="95"
|
android:orderInCategory="95"
|
||||||
app:showAsAction="ifRoom" />
|
app:showAsAction="ifRoom" />
|
||||||
</menu>
|
</menu>
|
||||||
@@ -298,6 +298,9 @@
|
|||||||
<string name="html_text_dev_feature_buy_pro">En achetant la version <strong>pro</strong>,</string>
|
<string name="html_text_dev_feature_buy_pro">En achetant la version <strong>pro</strong>,</string>
|
||||||
<string name="html_text_dev_feature_contibute">En <strong>contribuant</strong>,</string>
|
<string name="html_text_dev_feature_contibute">En <strong>contribuant</strong>,</string>
|
||||||
<string name="html_text_dev_feature_encourage">vous encouragez les développeurs à créer de <strong>nouvelles fonctionnalités</strong> et à <strong>résoudre des bugs</strong> en fonction de vos remarques.</string>
|
<string name="html_text_dev_feature_encourage">vous encouragez les développeurs à créer de <strong>nouvelles fonctionnalités</strong> et à <strong>résoudre des bugs</strong> 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="download">Télécharger</string>
|
||||||
<string name="contribute">Contribuer</string>
|
<string name="contribute">Contribuer</string>
|
||||||
|
|||||||
@@ -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="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="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="homepage" translatable="false">https://www.kunzisoft.com/KeepassDX/</string>
|
||||||
<string name="issues" translatable="false">https://github.com/Kunzisoft/KeePassDX/issues</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_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="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="field_references_url" translatable="false">https://keepass.info/help/base/fieldrefs.html</string>
|
||||||
|
|
||||||
|
<string name="html_rose">--,--`--,{@</string>
|
||||||
|
|
||||||
<!-- Password generator -->
|
<!-- Password generator -->
|
||||||
<string name="password_length_key" translatable="false">password_length_key</string>
|
<string name="password_length_key" translatable="false">password_length_key</string>
|
||||||
<string name="min_password_length" translatable="false">1</string>
|
<string name="min_password_length" translatable="false">1</string>
|
||||||
|
|||||||
@@ -302,6 +302,9 @@
|
|||||||
<string name="html_text_dev_feature_buy_pro">By buying the <strong>pro</strong> version,</string>
|
<string name="html_text_dev_feature_buy_pro">By buying the <strong>pro</strong> version,</string>
|
||||||
<string name="html_text_dev_feature_contibute">By <strong>contributing</strong>,</string>
|
<string name="html_text_dev_feature_contibute">By <strong>contributing</strong>,</string>
|
||||||
<string name="html_text_dev_feature_encourage">you\'re encouraging developers to create <strong>new features</strong> and to <strong>fix bugs</strong> according to your remarks.</string>
|
<string name="html_text_dev_feature_encourage">you\'re encouraging developers to create <strong>new features</strong> and to <strong>fix bugs</strong> 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="download">Download</string>
|
||||||
<string name="contribute">Contribute</string>
|
<string name="contribute">Contribute</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user