From 7fec2902d98a7f72df21e8f6e79b94afd74250ca Mon Sep 17 00:00:00 2001 From: elvis Date: Wed, 23 May 2018 18:04:42 +0300 Subject: [PATCH] #955 Unpublish Apex and MyDFS on specific dates --- .../activity/settings/SettingsActivity.java | 61 ++++++++++--------- .../activity/settings/SettingsPreference.java | 24 +++++++- 2 files changed, 54 insertions(+), 31 deletions(-) diff --git a/mbw/src/main/java/com/mycelium/wallet/activity/settings/SettingsActivity.java b/mbw/src/main/java/com/mycelium/wallet/activity/settings/SettingsActivity.java index 373e6c1433..4600755c5d 100644 --- a/mbw/src/main/java/com/mycelium/wallet/activity/settings/SettingsActivity.java +++ b/mbw/src/main/java/com/mycelium/wallet/activity/settings/SettingsActivity.java @@ -701,36 +701,39 @@ public boolean onPreferenceClick(Preference preference) { }); external.addPreference(cbService); } + if(!SettingsPreference.getInstance().isEndedMyDFS()) { + final CheckBoxPreference cbService = new CheckBoxPreference(this); + cbService.setTitle(R.string.settings_mydfs_title); + cbService.setSummary(R.string.settings_mydfs_summary); + cbService.setChecked(SettingsPreference.getInstance().isMyDFSEnabled()); + cbService.setWidgetLayoutResource(R.layout.preference_checkbox); + cbService.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + CheckBoxPreference p = (CheckBoxPreference) preference; + SettingsPreference.getInstance().setEnableMyDFS(p.isChecked()); + return true; + } + }); + external.addPreference(cbService); + } - final CheckBoxPreference cbService = new CheckBoxPreference(this); - cbService.setTitle(R.string.settings_mydfs_title); - cbService.setSummary(R.string.settings_mydfs_summary); - cbService.setChecked(SettingsPreference.getInstance().isMyDFSEnabled()); - cbService.setWidgetLayoutResource(R.layout.preference_checkbox); - cbService.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - CheckBoxPreference p = (CheckBoxPreference) preference; - SettingsPreference.getInstance().setEnableMyDFS(p.isChecked()); - return true; - } - }); - external.addPreference(cbService); - - final CheckBoxPreference cbServiceApex = new CheckBoxPreference(this); - cbServiceApex.setTitle(R.string.settings_apex_title); - cbServiceApex.setSummary(R.string.settings_apex_summary); - cbServiceApex.setChecked(SettingsPreference.getInstance().isApexEnabled()); - cbServiceApex.setWidgetLayoutResource(R.layout.preference_checkbox); - cbServiceApex.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - CheckBoxPreference p = (CheckBoxPreference) preference; - SettingsPreference.getInstance().setEnableApex(p.isChecked()); - return true; - } - }); - external.addPreference(cbServiceApex); + if(!SettingsPreference.getInstance().isEndedApex()) { + final CheckBoxPreference cbServiceApex = new CheckBoxPreference(this); + cbServiceApex.setTitle(R.string.settings_apex_title); + cbServiceApex.setSummary(R.string.settings_apex_summary); + cbServiceApex.setChecked(SettingsPreference.getInstance().isApexEnabled()); + cbServiceApex.setWidgetLayoutResource(R.layout.preference_checkbox); + cbServiceApex.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + CheckBoxPreference p = (CheckBoxPreference) preference; + SettingsPreference.getInstance().setEnableApex(p.isChecked()); + return true; + } + }); + external.addPreference(cbServiceApex); + } } @Override diff --git a/mbw/src/main/java/com/mycelium/wallet/activity/settings/SettingsPreference.java b/mbw/src/main/java/com/mycelium/wallet/activity/settings/SettingsPreference.java index 79cba6ae74..44c9893364 100644 --- a/mbw/src/main/java/com/mycelium/wallet/activity/settings/SettingsPreference.java +++ b/mbw/src/main/java/com/mycelium/wallet/activity/settings/SettingsPreference.java @@ -3,6 +3,10 @@ import android.content.Context; import android.content.SharedPreferences; +import java.util.Calendar; +import java.util.Date; +import java.util.TimeZone; + public class SettingsPreference { private static final String MYDFS_TOKEN_ENABLE = "mydfs_token_enable"; private static final String APEX_TOKEN_ENABLE = "apex_token_enable"; @@ -26,7 +30,15 @@ public void setEnableMyDFS(boolean enable) { } public boolean isMyDFSEnabled() { - return sharedPreferences.getBoolean(MYDFS_TOKEN_ENABLE, true); + return sharedPreferences.getBoolean(MYDFS_TOKEN_ENABLE, true) && !isEndedMyDFS(); + } + + public boolean isEndedMyDFS() { + // 2018.06.13 23:59 + Calendar calendar = Calendar.getInstance(); + calendar.setTimeZone(TimeZone.getTimeZone("Europe/Moscow")); + calendar.set(2018, Calendar.JUNE, 13, 23, 59); + return calendar.getTime().before(new Date()); } public void setEnableApex(boolean enable) { @@ -37,6 +49,14 @@ public void setEnableApex(boolean enable) { } public boolean isApexEnabled() { - return sharedPreferences.getBoolean(APEX_TOKEN_ENABLE, true); + return sharedPreferences.getBoolean(APEX_TOKEN_ENABLE, true) && !isEndedApex(); + } + + public boolean isEndedApex() { + // 2018.05.26 23:59 + Calendar calendar = Calendar.getInstance(); + calendar.setTimeZone(TimeZone.getTimeZone("Europe/Moscow")); + calendar.set(2018, Calendar.MAY, 26, 23, 59); + return calendar.getTime().before(new Date()); } }