From 1b46767065fe218249b9181aab0476a2f53760ec Mon Sep 17 00:00:00 2001 From: Justin Do Date: Tue, 21 Dec 2021 23:16:39 +0700 Subject: [PATCH] Implement Politeia welcome page and setting governance for proposal politeia --- app/src/main/AndroidManifest.xml | 4 + .../main/java/com/dcrandroid/HomeActivity.kt | 25 ++- .../activities/PoliteiaWelcomeActivity.kt | 37 +++++ .../activities/more/SettingsActivity.kt | 13 ++ .../java/com/dcrandroid/data/Constants.java | 4 +- .../dcrandroid/fragments/more/MoreFragment.kt | 11 +- app/src/main/res/drawable/ic_governance.xml | 49 ++++++ .../res/layout/activity_politeia_welcome.xml | 152 ++++++++++++++++++ app/src/main/res/layout/settings_activity.xml | 31 ++++ app/src/main/res/values/strings.xml | 6 + 10 files changed, 314 insertions(+), 18 deletions(-) create mode 100644 app/src/main/java/com/dcrandroid/activities/PoliteiaWelcomeActivity.kt create mode 100644 app/src/main/res/drawable/ic_governance.xml create mode 100644 app/src/main/res/layout/activity_politeia_welcome.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 82247215..7da10c36 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -212,6 +212,10 @@ android:configChanges="keyboardHidden|orientation|uiMode" android:launchMode="singleTop" /> + + + enable_politeia_notification.visibility = if (isOn) View.VISIBLE else View.GONE + return@SwitchPreference isOn + } + + enable_politeia_notification.visibility = + if (multiWallet?.readBoolConfigValueForKey(Constants.GOVERNANCE_SETTING, false) == true) View.VISIBLE else View.GONE enableStartupSecurity = SwitchPreference( this, diff --git a/app/src/main/java/com/dcrandroid/data/Constants.java b/app/src/main/java/com/dcrandroid/data/Constants.java index 7d5086b2..b847935d 100644 --- a/app/src/main/java/com/dcrandroid/data/Constants.java +++ b/app/src/main/java/com/dcrandroid/data/Constants.java @@ -48,7 +48,9 @@ public class Constants { VOTE_SUMMARY = "votesummary", COLOR_THEME = "color_theme", MIXED = "mixed", - UNMIXED = "unmixed"; + UNMIXED = "unmixed", + HAS_SHOW_POLITEIA_WELCOME = "has_show_politeia_welcome", + GOVERNANCE_SETTING = "governance_setting"; public static final int TRANSACTION_SUMMARY_ID = 5552478, PROPOSAL_SUMMARY_ID = 5552479, diff --git a/app/src/main/java/com/dcrandroid/fragments/more/MoreFragment.kt b/app/src/main/java/com/dcrandroid/fragments/more/MoreFragment.kt index 98d53b75..49744c44 100644 --- a/app/src/main/java/com/dcrandroid/fragments/more/MoreFragment.kt +++ b/app/src/main/java/com/dcrandroid/fragments/more/MoreFragment.kt @@ -13,7 +13,9 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.LinearLayoutManager import com.dcrandroid.R +import com.dcrandroid.activities.PoliteiaWelcomeActivity import com.dcrandroid.activities.more.* +import com.dcrandroid.data.Constants import com.dcrandroid.fragments.BaseFragment import kotlinx.android.synthetic.main.fragment_more.* @@ -31,7 +33,9 @@ class MoreFragment : BaseFragment() { super.onActivityCreated(savedInstanceState) setToolbarTitle(R.string.more, false) - + val hasShowPoliteiaWelcome = + multiWallet?.readBoolConfigValueForKey(Constants.HAS_SHOW_POLITEIA_WELCOME, false) + ?: false val items = arrayOf( ListItem( R.string.settings, @@ -46,7 +50,10 @@ class MoreFragment : BaseFragment() { ListItem( R.string.politeia, R.drawable.ic_politeia, - Intent(context, PoliteiaActivity::class.java) + Intent( + context, + if (hasShowPoliteiaWelcome) PoliteiaActivity::class.java else PoliteiaWelcomeActivity::class.java + ) ), ListItem( R.string.help, diff --git a/app/src/main/res/drawable/ic_governance.xml b/app/src/main/res/drawable/ic_governance.xml new file mode 100644 index 00000000..cc6a7b1f --- /dev/null +++ b/app/src/main/res/drawable/ic_governance.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_politeia_welcome.xml b/app/src/main/res/layout/activity_politeia_welcome.xml new file mode 100644 index 00000000..2ec4564f --- /dev/null +++ b/app/src/main/res/layout/activity_politeia_welcome.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/settings_activity.xml b/app/src/main/res/layout/settings_activity.xml index f9ade457..33ef3e2f 100644 --- a/app/src/main/res/layout/settings_activity.xml +++ b/app/src/main/res/layout/settings_activity.xml @@ -127,6 +127,36 @@ + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d0528783..0c02066b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -677,6 +677,12 @@ Yes: %1$d (%2$.2f%%) No: %3$d (%4$.2f%%) %1$s by %2$s No internet connection + Governance + How does Governance Work? + The Decred community can participate in proposal discussions for new initiatives and request funding for these initiatives. + Decred stakeholders can vote if these proposals should be approved and paid for by the Decred Treasury. + Proposals and politeia notificationas can be enabled/disabled on the settings page. + Fetch proposals