From b6415dadb484ed86ee3665ca04201be082ce6019 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Thu, 21 May 2015 22:26:23 +1000 Subject: [PATCH] WIP: Refactored start swap fragment into a view. Added a SwapWorkflowActivity to re-implement the SwapActivity. Once all the fragments have been refactored into views, then the SwapActivity will be removed. --- F-Droid/res/layout/swap_blank.xml | 7 +-- .../fdroid/views/swap/StartSwapFragment.java | 19 +------ .../fdroid/views/swap/SwapActivity.java | 2 +- .../views/swap/views/StartSwapView.java | 57 +++++++++++++++++++ 4 files changed, 62 insertions(+), 23 deletions(-) create mode 100644 F-Droid/src/org/fdroid/fdroid/views/swap/views/StartSwapView.java diff --git a/F-Droid/res/layout/swap_blank.xml b/F-Droid/res/layout/swap_blank.xml index ff4591a89..a90a3e9f4 100644 --- a/F-Droid/res/layout/swap_blank.xml +++ b/F-Droid/res/layout/swap_blank.xml @@ -1,6 +1,6 @@ - + android:layout_height="wrap_content"/> - \ No newline at end of file + \ No newline at end of file diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapFragment.java b/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapFragment.java index 527b39b6b..00d090442 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapFragment.java +++ b/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapFragment.java @@ -13,27 +13,10 @@ import org.fdroid.fdroid.R; public class StartSwapFragment extends Fragment { - private SwapProcessManager manager; - - public void onAttach(Activity activity) { - super.onAttach(activity); - manager = (SwapProcessManager)activity; - } - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - LayoutInflater themedInflater = (LayoutInflater)new ContextThemeWrapper(inflater.getContext(), R.style.SwapTheme_StartSwap).getSystemService(Context.LAYOUT_INFLATER_SERVICE); - - View view = themedInflater.inflate(R.layout.swap_blank, container, false); - view.findViewById(R.id.button_start_swap).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - manager.nextStep(); - } - }); - - return view; + return themedInflater.inflate(R.layout.swap_blank, container, false); } } diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/SwapActivity.java b/F-Droid/src/org/fdroid/fdroid/views/swap/SwapActivity.java index 2c556bf14..c27f0097b 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/swap/SwapActivity.java +++ b/F-Droid/src/org/fdroid/fdroid/views/swap/SwapActivity.java @@ -113,7 +113,7 @@ public class SwapActivity extends ActionBarActivity implements SwapProcessManage } - private void showSelectApps() { + public void showSelectApps() { showFragment(new SelectAppsFragment(), STATE_SELECT_APPS); diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/views/StartSwapView.java b/F-Droid/src/org/fdroid/fdroid/views/swap/views/StartSwapView.java new file mode 100644 index 000000000..97a5e7095 --- /dev/null +++ b/F-Droid/src/org/fdroid/fdroid/views/swap/views/StartSwapView.java @@ -0,0 +1,57 @@ +package org.fdroid.fdroid.views.swap.views; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.util.AttributeSet; +import android.view.ContextThemeWrapper; +import android.view.View; +import android.widget.LinearLayout; + +import org.fdroid.fdroid.FDroidApp; +import org.fdroid.fdroid.R; +import org.fdroid.fdroid.views.swap.SwapActivity; + +import java.util.Set; + +public class StartSwapView extends LinearLayout { + + public StartSwapView(Context context) { + super(context); + } + + public StartSwapView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @TargetApi(Build.VERSION_CODES.HONEYCOMB) + public StartSwapView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public StartSwapView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + + + private SwapActivity getActivity() { + // TODO: Try and find a better way to get to the SwapActivity, which makes less asumptions. + return (SwapActivity)((ContextThemeWrapper)getContext()).getBaseContext(); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + + findViewById(R.id.button_start_swap).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + getActivity().showSelectApps(); + } + }); + + } + +}