From 6270a3dfdcdcf14ad2d8feabc4167c08a6206b3b Mon Sep 17 00:00:00 2001 From: Grishka Date: Thu, 13 Jun 2024 18:58:24 +0300 Subject: [PATCH] Donations improvements --- mastodon/build.gradle | 2 +- mastodon/src/main/AndroidManifest.xml | 1 + .../android/DonationFragmentActivity.java | 29 ++++++ .../fragments/DonationWebViewFragment.java | 66 ++++++++++---- .../fragments/HomeTimelineFragment.java | 29 +++++- .../android/ui/sheets/DonationSheet.java | 13 +-- .../ui/sheets/DonationSuccessfulSheet.java | 36 ++++++++ mastodon/src/main/res/anim/fragment_enter.xml | 13 +++ mastodon/src/main/res/anim/fragment_exit.xml | 13 +++ mastodon/src/main/res/anim/no_op_300ms.xml | 4 + .../donation_successful_art.webp | Bin 0 -> 68154 bytes .../main/res/drawable/ic_campaign_20px.xml | 9 ++ .../interpolator-v21/cubic_bezier_default.xml | 3 + .../res/layout/sheet_donation_success.xml | 83 ++++++++++++++++++ mastodon/src/main/res/values-hdpi/misc.xml | 4 + mastodon/src/main/res/values-tvdpi/misc.xml | 4 + mastodon/src/main/res/values-xhdpi/misc.xml | 4 + mastodon/src/main/res/values-xxhdpi/misc.xml | 4 + mastodon/src/main/res/values-xxxhdpi/misc.xml | 4 + mastodon/src/main/res/values/misc.xml | 4 + mastodon/src/main/res/values/strings.xml | 3 + 21 files changed, 306 insertions(+), 22 deletions(-) create mode 100644 mastodon/src/main/java/org/joinmastodon/android/DonationFragmentActivity.java create mode 100644 mastodon/src/main/java/org/joinmastodon/android/ui/sheets/DonationSuccessfulSheet.java create mode 100644 mastodon/src/main/res/anim/fragment_enter.xml create mode 100644 mastodon/src/main/res/anim/fragment_exit.xml create mode 100644 mastodon/src/main/res/anim/no_op_300ms.xml create mode 100644 mastodon/src/main/res/drawable-nodpi/donation_successful_art.webp create mode 100644 mastodon/src/main/res/drawable/ic_campaign_20px.xml create mode 100644 mastodon/src/main/res/interpolator-v21/cubic_bezier_default.xml create mode 100644 mastodon/src/main/res/layout/sheet_donation_success.xml create mode 100644 mastodon/src/main/res/values-hdpi/misc.xml create mode 100644 mastodon/src/main/res/values-tvdpi/misc.xml create mode 100644 mastodon/src/main/res/values-xhdpi/misc.xml create mode 100644 mastodon/src/main/res/values-xxhdpi/misc.xml create mode 100644 mastodon/src/main/res/values-xxxhdpi/misc.xml create mode 100644 mastodon/src/main/res/values/misc.xml diff --git a/mastodon/build.gradle b/mastodon/build.gradle index 8fc25ecc..0328eaae 100644 --- a/mastodon/build.gradle +++ b/mastodon/build.gradle @@ -13,7 +13,7 @@ android { applicationId "org.joinmastodon.android" minSdk 23 targetSdk 33 - versionCode 99 + versionCode 100 versionName "2.5.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/mastodon/src/main/AndroidManifest.xml b/mastodon/src/main/AndroidManifest.xml index 7a97cfce..122e86a7 100644 --- a/mastodon/src/main/AndroidManifest.xml +++ b/mastodon/src/main/AndroidManifest.xml @@ -79,6 +79,7 @@ + diff --git a/mastodon/src/main/java/org/joinmastodon/android/DonationFragmentActivity.java b/mastodon/src/main/java/org/joinmastodon/android/DonationFragmentActivity.java new file mode 100644 index 00000000..5a72cd46 --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/DonationFragmentActivity.java @@ -0,0 +1,29 @@ +package org.joinmastodon.android; + +import android.os.Bundle; + +import org.joinmastodon.android.fragments.DonationWebViewFragment; + +import androidx.annotation.Nullable; +import me.grishka.appkit.FragmentStackActivity; + +// This exists because our designer wanted to avoid extra sheet showing/hiding animations. +// This is the only way to show a fragment on top of a sheet without having to rewrite way too many things. +public class DonationFragmentActivity extends FragmentStackActivity{ + @Override + protected void onCreate(@Nullable Bundle savedInstanceState){ + super.onCreate(savedInstanceState); + if(savedInstanceState==null){ + DonationWebViewFragment fragment=new DonationWebViewFragment(); + fragment.setArguments(getIntent().getBundleExtra("fragmentArgs")); + showFragment(fragment); + overridePendingTransition(R.anim.fragment_enter, R.anim.no_op_300ms); + } + } + + @Override + public void finish(){ + super.finish(); + overridePendingTransition(0, R.anim.fragment_exit); + } +} diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/DonationWebViewFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/DonationWebViewFragment.java index 6ca545c4..1770ccf3 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/DonationWebViewFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/DonationWebViewFragment.java @@ -1,14 +1,20 @@ package org.joinmastodon.android.fragments; +import android.app.Activity; import android.os.Bundle; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.webkit.WebResourceRequest; +import org.joinmastodon.android.BuildConfig; import org.joinmastodon.android.E; import org.joinmastodon.android.R; import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.events.DismissDonationCampaignBannerEvent; import org.joinmastodon.android.ui.M3AlertDialogBuilder; +import org.joinmastodon.android.ui.sheets.DonationSuccessfulSheet; import java.util.Objects; @@ -18,6 +24,14 @@ public class DonationWebViewFragment extends WebViewFragment{ public static final String SUCCESS_URL="https://sponsor.joinmastodon.org/donation/success"; public static final String FAILURE_URL="https://sponsor.joinmastodon.org/donation/failure"; + @Override + public void onCreate(Bundle savedInstanceState){ + super.onCreate(savedInstanceState); + if(BuildConfig.DEBUG){ + setHasOptionsMenu(true); + } + } + @Override public void onViewCreated(View view, Bundle savedInstanceState){ super.onViewCreated(view, savedInstanceState); @@ -28,25 +42,47 @@ public class DonationWebViewFragment extends WebViewFragment{ protected boolean shouldOverrideUrlLoading(WebResourceRequest req){ String url=req.getUrl().buildUpon().clearQuery().fragment(null).build().toString(); if(url.equalsIgnoreCase(SUCCESS_URL)){ - new M3AlertDialogBuilder(getActivity()) - .setTitle("Success") - .setMessage("Some sort of UI that would tell the user that their payment was successful") - .setPositiveButton(R.string.ok, null) - .setOnDismissListener(dlg->Nav.finish(this)) - .show(); - String campaignID=getArguments().getString("campaignID"); - AccountSessionManager.getInstance().markDonationCampaignAsDismissed(campaignID); - E.post(new DismissDonationCampaignBannerEvent(campaignID)); + onSuccess(); return true; }else if(url.equalsIgnoreCase(FAILURE_URL)){ - new M3AlertDialogBuilder(getActivity()) - .setTitle("Failure") - .setMessage("Some sort of UI that would tell the user that their payment didn't go through") - .setPositiveButton(R.string.ok, null) - .setOnDismissListener(dlg->Nav.finish(this)) - .show(); + onFailure(); return true; } return false; } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){ + super.onCreateOptionsMenu(menu, inflater); + if(BuildConfig.DEBUG){ + menu.add(0, 0, 0, "Simulate success"); + menu.add(0, 1, 0, "Simulate failure"); + } + } + + @Override + public boolean onOptionsItemSelected(MenuItem item){ + if(item.getItemId()==0) + onSuccess(); + else if(item.getItemId()==1) + onFailure(); + return super.onOptionsItemSelected(item); + } + + private void onFailure(){ + new M3AlertDialogBuilder(getActivity()) + .setTitle("Failure") + .setMessage("Some sort of UI that would tell the user that their payment didn't go through") + .setPositiveButton(R.string.ok, null) + .setOnDismissListener(dlg->Nav.finish(this)) + .show(); + } + + private void onSuccess(){ + String campaignID=getArguments().getString("campaignID"); + AccountSessionManager.getInstance().markDonationCampaignAsDismissed(campaignID); + E.post(new DismissDonationCampaignBannerEvent(campaignID)); + getActivity().setResult(Activity.RESULT_OK); + getActivity().finish(); + } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java index bc19dec6..d4322135 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java @@ -6,6 +6,7 @@ import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.app.Activity; import android.content.Context; +import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.text.SpannableStringBuilder; @@ -55,6 +56,7 @@ import org.joinmastodon.android.model.donations.DonationCampaign; import org.joinmastodon.android.ui.displayitems.GapStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.StatusDisplayItem; import org.joinmastodon.android.ui.sheets.DonationSheet; +import org.joinmastodon.android.ui.sheets.DonationSuccessfulSheet; import org.joinmastodon.android.ui.utils.DiscoverInfoBannerHelper; import org.joinmastodon.android.ui.viewcontrollers.HomeTimelineMenuController; import org.joinmastodon.android.ui.viewcontrollers.ToolbarDropdownMenuController; @@ -77,8 +79,11 @@ import me.grishka.appkit.api.SimpleCallback; import me.grishka.appkit.utils.CubicBezierInterpolator; import me.grishka.appkit.utils.MergeRecyclerAdapter; import me.grishka.appkit.utils.V; +import me.grishka.appkit.views.BottomSheet; public class HomeTimelineFragment extends StatusListFragment implements ToolbarDropdownMenuController.HostFragment{ + private static final int DONATION_RESULT=211; + private ImageButton fab; private LinearLayout listsDropdown; private FixedAspectRatioImageView listsDropdownArrow; @@ -100,6 +105,7 @@ public class HomeTimelineFragment extends StatusListFragment implements ToolbarD private String maxID; private String lastSavedMarkerID; private DonationCampaign currentDonationCampaign; + private BottomSheet donationSheet; public HomeTimelineFragment(){ setListLayoutId(R.layout.fragment_timeline); @@ -129,6 +135,13 @@ public class HomeTimelineFragment extends StatusListFragment implements ToolbarD }) .execNoAuth(""); } + E.register(this); + } + + @Override + public void onDestroy(){ + super.onDestroy(); + E.unregister(this); } @Override @@ -639,6 +652,7 @@ public class HomeTimelineFragment extends StatusListFragment implements ToolbarD updateUpdateState(ev.state); } + @Subscribe public void onDismissDonationCampaignBanner(DismissDonationCampaignBannerEvent ev){ if(currentDonationCampaign!=null && ev.campaignID.equals(currentDonationCampaign.id)){ dismissDonationBanner(); @@ -699,6 +713,17 @@ public class HomeTimelineFragment extends StatusListFragment implements ToolbarD super.onDataLoaded(d, more); } + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data){ + if(requestCode==DONATION_RESULT){ + if(donationSheet!=null) + donationSheet.dismissWithoutAnimation(); + if(resultCode==Activity.RESULT_OK){ + new DonationSuccessfulSheet(getActivity(), accountID).showWithoutAnimation(); + } + } + } + private String getCurrentListTitle(){ return switch(listMode){ case FOLLOWING -> getString(R.string.timeline_following); @@ -773,7 +798,9 @@ public class HomeTimelineFragment extends StatusListFragment implements ToolbarD } private void openDonationSheet(){ - new DonationSheet(getActivity(), currentDonationCampaign, accountID).show(); + donationSheet=new DonationSheet(getActivity(), currentDonationCampaign, accountID, intent->startActivityForResult(intent, DONATION_RESULT)); + donationSheet.setOnDismissListener(dialog->donationSheet=null); + donationSheet.show(); } private enum ListMode{ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/DonationSheet.java b/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/DonationSheet.java index f14140cd..ee5f8498 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/DonationSheet.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/DonationSheet.java @@ -2,6 +2,7 @@ package org.joinmastodon.android.ui.sheets; import android.app.Activity; import android.content.Context; +import android.content.Intent; import android.graphics.drawable.ColorDrawable; import android.net.Uri; import android.os.Bundle; @@ -11,11 +12,11 @@ import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; -import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import android.widget.ToggleButton; +import org.joinmastodon.android.DonationFragmentActivity; import org.joinmastodon.android.R; import org.joinmastodon.android.fragments.DonationWebViewFragment; import org.joinmastodon.android.model.donations.DonationCampaign; @@ -29,10 +30,10 @@ import java.util.Arrays; import java.util.Currency; import java.util.List; import java.util.Locale; +import java.util.function.Consumer; import java.util.stream.Collectors; import androidx.annotation.NonNull; -import me.grishka.appkit.Nav; import me.grishka.appkit.utils.CustomViewHelper; import me.grishka.appkit.utils.V; import me.grishka.appkit.views.BottomSheet; @@ -40,6 +41,7 @@ import me.grishka.appkit.views.BottomSheet; public class DonationSheet extends BottomSheet{ private final DonationCampaign campaign; private final String accountID; + private final Consumer startCallback; private DonationFrequency frequency=DonationFrequency.MONTHLY; private View onceTab, monthlyTab, yearlyTab; @@ -50,11 +52,12 @@ public class DonationSheet extends BottomSheet{ private TextView buttonText; private Activity activity; - public DonationSheet(@NonNull Activity activity, DonationCampaign campaign, String accountID){ + public DonationSheet(@NonNull Activity activity, DonationCampaign campaign, String accountID, Consumer startCallback){ super(activity); this.campaign=campaign; this.accountID=accountID; this.activity=activity; + this.startCallback=startCallback; Context context=activity; View content=context.getSystemService(LayoutInflater.class).inflate(R.layout.sheet_donation, null); @@ -246,8 +249,8 @@ public class DonationSheet extends BottomSheet{ args.putString("url", builder.build().toString()); args.putString("account", accountID); args.putString("campaignID", campaign.id); - Nav.go(activity, DonationWebViewFragment.class, args); - dismiss(); + args.putBoolean("_can_go_back", true); + startCallback.accept(new Intent(activity, DonationFragmentActivity.class).putExtra("fragmentArgs", args)); } private static long getMinimumChargeAmount(String currency){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/DonationSuccessfulSheet.java b/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/DonationSuccessfulSheet.java new file mode 100644 index 00000000..cce55203 --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/DonationSuccessfulSheet.java @@ -0,0 +1,36 @@ +package org.joinmastodon.android.ui.sheets; + +import android.app.Activity; +import android.content.Context; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; + +import org.joinmastodon.android.R; +import org.joinmastodon.android.fragments.ComposeFragment; +import org.joinmastodon.android.ui.utils.UiUtils; + +import androidx.annotation.NonNull; +import me.grishka.appkit.Nav; +import me.grishka.appkit.views.BottomSheet; + +public class DonationSuccessfulSheet extends BottomSheet{ + + public DonationSuccessfulSheet(@NonNull Context context, @NonNull String accountID){ + super(context); + View content=context.getSystemService(LayoutInflater.class).inflate(R.layout.sheet_donation_success, null); + setContentView(content); + setNavigationBarBackground(new ColorDrawable(UiUtils.alphaBlendColors(UiUtils.getThemeColor(context, R.attr.colorM3Surface), + UiUtils.getThemeColor(context, R.attr.colorM3Primary), 0.05f)), !UiUtils.isDarkTheme()); + + content.findViewById(R.id.btn_done).setOnClickListener(v->dismiss()); + content.findViewById(R.id.btn_share).setOnClickListener(v->{ + Bundle args=new Bundle(); + args.putString("account", accountID); + args.putString("prefilledText", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a sapien metus. Nunc feugiat a felis sed hendrerit."); + Nav.go((Activity) context, ComposeFragment.class, args); + dismiss(); + }); + } +} diff --git a/mastodon/src/main/res/anim/fragment_enter.xml b/mastodon/src/main/res/anim/fragment_enter.xml new file mode 100644 index 00000000..073d62d1 --- /dev/null +++ b/mastodon/src/main/res/anim/fragment_enter.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/mastodon/src/main/res/anim/fragment_exit.xml b/mastodon/src/main/res/anim/fragment_exit.xml new file mode 100644 index 00000000..8dcf659c --- /dev/null +++ b/mastodon/src/main/res/anim/fragment_exit.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/mastodon/src/main/res/anim/no_op_300ms.xml b/mastodon/src/main/res/anim/no_op_300ms.xml new file mode 100644 index 00000000..86216b32 --- /dev/null +++ b/mastodon/src/main/res/anim/no_op_300ms.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/mastodon/src/main/res/drawable-nodpi/donation_successful_art.webp b/mastodon/src/main/res/drawable-nodpi/donation_successful_art.webp new file mode 100644 index 0000000000000000000000000000000000000000..aea383724f2f9c7bb9673b055d0272691e470bdd GIT binary patch literal 68154 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�M-r`gBe1g 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 Y`(~DCB_7KM&Rj6gVOKZ+HjXp`0BKyHyZ`_I literal 0 HcmV?d00001 diff --git a/mastodon/src/main/res/drawable/ic_campaign_20px.xml b/mastodon/src/main/res/drawable/ic_campaign_20px.xml new file mode 100644 index 00000000..b386285c --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_campaign_20px.xml @@ -0,0 +1,9 @@ + + + diff --git a/mastodon/src/main/res/interpolator-v21/cubic_bezier_default.xml b/mastodon/src/main/res/interpolator-v21/cubic_bezier_default.xml new file mode 100644 index 00000000..9d568940 --- /dev/null +++ b/mastodon/src/main/res/interpolator-v21/cubic_bezier_default.xml @@ -0,0 +1,3 @@ + + diff --git a/mastodon/src/main/res/layout/sheet_donation_success.xml b/mastodon/src/main/res/layout/sheet_donation_success.xml new file mode 100644 index 00000000..a9600665 --- /dev/null +++ b/mastodon/src/main/res/layout/sheet_donation_success.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + +