dandelion/app/src/main/java/net/gsantner/opoc/util/AndroidSupportMeWrapper.java

73 lines
2.7 KiB
Java

/*#######################################################
*
* Maintained by Gregor Santner, 2018-
* https://gsantner.net/
*
* License of this file: Apache 2.0 (Commercial upon request)
* https://www.apache.org/licenses/LICENSE-2.0
* https://github.com/gsantner/opoc/#licensing
*
#########################################################*/
package net.gsantner.opoc.util;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.support.v7.app.AlertDialog;
import com.github.dfa.diaspora_android.R;
import net.gsantner.opoc.preference.SharedPreferencesPropertyBackend;
public class AndroidSupportMeWrapper extends ActivityUtils {
private LocalSettingsImpl _localSettingsImpl;
public AndroidSupportMeWrapper(Activity activity) {
super(activity);
_localSettingsImpl = new LocalSettingsImpl(_context.getApplicationContext());
}
public void openPayPalDonationPage() {
String id = getPackageIdManifest();
String url = "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TVV24QBGMN23C&source=self.gsantner.net%2F" + id;
openWebpageInExternalBrowser(url);
}
public void openGeneralDonatePage() {
openWebpageInExternalBrowser(_context.getString(R.string.app_donate_url));
}
public void mainOnResume() {
if (_localSettingsImpl.all14dRequest()) {
AlertDialog.Builder dialog = new AlertDialog.Builder(_context);
dialog.setTitle(R.string.donate_)
.setCancelable(false)
.setNegativeButton(R.string.close, (dialogInterface, i) -> dialogInterface.dismiss())
.setPositiveButton("PayPal", (dialogInterface, i) -> {
openPayPalDonationPage();
dialogInterface.dismiss();
})
.setNeutralButton(R.string.donate_, (dialogInterface, i) -> {
openGeneralDonatePage();
dialogInterface.dismiss();
})
.setMessage(R.string.do_you_like_this_project_want_donate_to_keep_alive);
dialog.show();
}
}
private class LocalSettingsImpl extends SharedPreferencesPropertyBackend {
private final SharedPreferences _prefCache;
public LocalSettingsImpl(Context _context) {
super(_context, "AndroidSupportMeWrapper.LocalSettingsImpl");
_prefCache = _context.getSharedPreferences("cache", Context.MODE_PRIVATE);
}
public boolean all14dRequest() {
return afterDaysTrue("all14dRequest", 31, 3);
}
}
}