From 1e1ea03bc34506d4b6784d70ed8b4cc43377df61 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 15 May 2019 13:34:47 +0200 Subject: [PATCH] move ConfirmReceiveView to pure XML SwapView with logic in Presenter --- .../fdroid/views/swap/ConfirmReceiveView.java | 54 ------------------- .../views/swap/SwapWorkflowActivity.java | 42 +++++++++++---- .../full/res/layout/swap_confirm_receive.xml | 8 +-- 3 files changed, 36 insertions(+), 68 deletions(-) delete mode 100644 app/src/full/java/org/fdroid/fdroid/views/swap/ConfirmReceiveView.java diff --git a/app/src/full/java/org/fdroid/fdroid/views/swap/ConfirmReceiveView.java b/app/src/full/java/org/fdroid/fdroid/views/swap/ConfirmReceiveView.java deleted file mode 100644 index 7cce11196..000000000 --- a/app/src/full/java/org/fdroid/fdroid/views/swap/ConfirmReceiveView.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.fdroid.fdroid.views.swap; - -import android.annotation.TargetApi; -import android.content.Context; -import android.util.AttributeSet; -import android.view.View; -import org.fdroid.fdroid.R; -import org.fdroid.fdroid.data.NewRepoConfig; -import org.fdroid.fdroid.localrepo.SwapView; - -public class ConfirmReceiveView extends SwapView { - - private NewRepoConfig config; - - public ConfirmReceiveView(Context context) { - super(context); - } - - public ConfirmReceiveView(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public ConfirmReceiveView(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - } - - @TargetApi(21) - public ConfirmReceiveView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - } - - @Override - protected void onFinishInflate() { - super.onFinishInflate(); - - findViewById(R.id.no_button).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getActivity().denySwap(); - } - }); - - findViewById(R.id.yes_button).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getActivity().swapWith(config); - } - }); - } - - public void setup(NewRepoConfig config) { - this.config = config; - } -} diff --git a/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java b/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java index 83839d650..9b706905a 100644 --- a/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java +++ b/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java @@ -435,11 +435,9 @@ public class SwapWorkflowActivity extends AppCompatActivity { return; } - // This is separate from the switch statement below, because it is usually populated - // during onResume, when there is a high probability of not having a swap service - // available. Thus, we were unable to set the state of the swap service appropriately. if (confirmSwapConfig != null) { - showConfirmSwap(confirmSwapConfig); + inflateSwapView(R.layout.swap_confirm_receive); + setUpConfirmReceive(); confirmSwapConfig = null; return; } @@ -528,12 +526,6 @@ public class SwapWorkflowActivity extends AppCompatActivity { inflateSwapView(R.layout.swap_start_swap); } - private void showConfirmSwap(@NonNull NewRepoConfig config) { - ((ConfirmReceiveView) inflateSwapView(R.layout.swap_confirm_receive)).setup(config); - TextView descriptionTextView = (TextView) findViewById(R.id.text_description); - descriptionTextView.setText(getResources().getString(R.string.swap_confirm_connect, config.getHost())); - } - public void startQrWorkflow() { if (!getService().isEnabled()) { new AlertDialog.Builder(this) @@ -993,4 +985,34 @@ public class SwapWorkflowActivity extends AppCompatActivity { }); } } + + private void setUpConfirmReceive() { + TextView descriptionTextView = findViewById(R.id.text_description); + if (descriptionTextView != null) { + descriptionTextView.setText(getString(R.string.swap_confirm_connect, confirmSwapConfig.getHost())); + } + + Button confirmReceiveYes = container.findViewById(R.id.confirm_receive_yes); + if (confirmReceiveYes != null) { + findViewById(R.id.confirm_receive_yes).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + denySwap(); + } + }); + } + + Button confirmReceiveNo = container.findViewById(R.id.confirm_receive_no); + if (confirmReceiveNo != null) { + findViewById(R.id.confirm_receive_no).setOnClickListener(new View.OnClickListener() { + + private final NewRepoConfig config = confirmSwapConfig; + + @Override + public void onClick(View v) { + swapWith(config); + } + }); + } + } } diff --git a/app/src/full/res/layout/swap_confirm_receive.xml b/app/src/full/res/layout/swap_confirm_receive.xml index 93cb17a52..bb92ad9b1 100644 --- a/app/src/full/res/layout/swap_confirm_receive.xml +++ b/app/src/full/res/layout/swap_confirm_receive.xml @@ -1,6 +1,6 @@ -