From 57617717fa8b41623b1ba32e8cdfd9fc5f66c940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?mustafa=20ic=CC=A7men?= Date: Sat, 28 Dec 2019 17:59:31 +0300 Subject: [PATCH] campaign recycylerview transformed to viewpager --- .idea/caches/build_file_checksums.ser | Bin 542 -> 542 bytes .idea/caches/gradle_models.ser | Bin 315113 -> 318083 bytes app/build.gradle | 1 + .../android/activity/SplashActivity.java | 25 ++-- .../pager/CampaignBannerPagerAdapter.java | 31 +++++ .../CampaignBannerRecyclerAdapter.java | 107 -------------- .../fragment/CampaignBannerFragment.java | 53 +++++++ .../android/model/CampaignBannerModel.java | 4 +- app/src/main/res/layout/activity_splash.xml | 131 +++++++++--------- .../res/layout/fragment_campaign_banner.xml | 20 +++ .../main/res/layout/row_campaign_banner.xml | 13 -- 11 files changed, 188 insertions(+), 197 deletions(-) create mode 100644 app/src/main/java/ch/pizzaleu/android/adapter/pager/CampaignBannerPagerAdapter.java delete mode 100644 app/src/main/java/ch/pizzaleu/android/adapter/recycler/CampaignBannerRecyclerAdapter.java create mode 100644 app/src/main/java/ch/pizzaleu/android/fragment/CampaignBannerFragment.java create mode 100644 app/src/main/res/layout/fragment_campaign_banner.xml delete mode 100644 app/src/main/res/layout/row_campaign_banner.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 1517293c2339b2e270706e1e22be31610d1cdfbb..7cba9ab567ab92d3e16d5e4b0ebdb56ac017387f 100644 GIT binary patch delta 33 rcmV++0N($e1fB$tm;_ApvA(gKaRCwF{Gr(uGF603V>T()iE6ZX10D}) delta 33 rcmV++0N($e1fB$tm;_71m7=knaRCuU#Kv}AysSIkAG?`Zq*p$8`5X@> diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser index 48467045ec0751589c0fa474fc80aeccdae2b39c..726316436d49cbdf5ba59957b5afb09062218787 100644 GIT binary patch delta 15627 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 acGjt-rmMB|b2dfM^x!UEva3qWwEqEqW+a9H delta 14241 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 diff --git a/app/build.gradle b/app/build.gradle index 5649f9b..114d9bd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -93,6 +93,7 @@ dependencies { implementation 'q.rorbin:badgeview:1.1.0' implementation 'com.braintreepayments.api:braintree:2.22.0' implementation 'org.jsoup:jsoup:1.11.1' + implementation 'me.relex:circleindicator:1.3.2' implementation('com.braintreepayments.api:drop-in:3.7.1') { exclude group: 'com.braintreepayments.api', module: 'braintree' } diff --git a/app/src/main/java/ch/pizzaleu/android/activity/SplashActivity.java b/app/src/main/java/ch/pizzaleu/android/activity/SplashActivity.java index 3e2783c..fe452f0 100644 --- a/app/src/main/java/ch/pizzaleu/android/activity/SplashActivity.java +++ b/app/src/main/java/ch/pizzaleu/android/activity/SplashActivity.java @@ -5,10 +5,8 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Handler; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import android.support.v4.view.ViewPager; import android.view.View; -import android.widget.ImageView; import android.widget.TextView; import com.afollestad.materialdialogs.MaterialDialog; @@ -24,7 +22,7 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; import ch.pizzaleu.android.R; -import ch.pizzaleu.android.adapter.recycler.CampaignBannerRecyclerAdapter; +import ch.pizzaleu.android.adapter.pager.CampaignBannerPagerAdapter; import ch.pizzaleu.android.api.ApiConstants; import ch.pizzaleu.android.api.ApiEndPoints; import ch.pizzaleu.android.api.ApiErrorUtils; @@ -41,21 +39,23 @@ import ch.pizzaleu.android.model.CampaignBannerModel; import ch.pizzaleu.android.model.CategoryModel; import ch.pizzaleu.android.model.StoreModel; import ch.pizzaleu.android.model.cart.CartInfoModel; +import me.relex.circleindicator.CircleIndicator; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; public class SplashActivity extends BaseActivity { - @BindView(R.id.campaignBannerRecyclerView) RecyclerView campaignBannerRecyclerView; @BindView(R.id.postCodeTextView) TextView postCodeTextView; + @BindView(R.id.campaignsViewPager) ViewPager campaignsViewPager; + @BindView(R.id.viewPagerIndicator) CircleIndicator viewPagerIndicator; @BindString(R.string.alert_invalid_post_code) String choosePostCodeAlert; private ArrayList storeList = new ArrayList<>(); private ArrayList campaignBannerList = new ArrayList<>(); private StoreModel selectedStoreModel; - private CampaignBannerRecyclerAdapter campaignBannerRecyclerAdapter; + private CampaignBannerPagerAdapter campaignBannerPagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { @@ -63,7 +63,6 @@ public class SplashActivity extends BaseActivity { setContentView(R.layout.activity_splash); ButterKnife.bind(this); //DisplayHelper.changeStatusColor(); - initCampaignBannerRecyclerView(); if(NetworkHelper.isNetworkAvailable()){ registerNotificationTag(); getStoreList(); @@ -73,11 +72,11 @@ public class SplashActivity extends BaseActivity { } } - private void initCampaignBannerRecyclerView(){ - campaignBannerRecyclerAdapter = new CampaignBannerRecyclerAdapter(campaignBannerList); - campaignBannerRecyclerView.setAdapter(campaignBannerRecyclerAdapter); - LinearLayoutManager layoutManager = new LinearLayoutManager(BaseActivity.currentActivity); - campaignBannerRecyclerView.setLayoutManager(layoutManager); + private void initCampaignViewPager(){ + campaignBannerPagerAdapter = new CampaignBannerPagerAdapter(getSupportFragmentManager(), campaignBannerList); + campaignsViewPager.setAdapter(campaignBannerPagerAdapter); + viewPagerIndicator.setViewPager(campaignsViewPager); + viewPagerIndicator.setVisibility(View.VISIBLE); } @OnClick({R.id.choosePostCodeLayout, R.id.choosePostCodeButton}) @@ -144,7 +143,7 @@ public class SplashActivity extends BaseActivity { campaignBannerList.clear(); campaignBannerList.addAll(response.body().getData()); sortCampaignBannerList(); - campaignBannerRecyclerAdapter.notifyDataSetChanged(); + initCampaignViewPager(); } else { ApiErrorUtils.parseError(response); diff --git a/app/src/main/java/ch/pizzaleu/android/adapter/pager/CampaignBannerPagerAdapter.java b/app/src/main/java/ch/pizzaleu/android/adapter/pager/CampaignBannerPagerAdapter.java new file mode 100644 index 0000000..7866df3 --- /dev/null +++ b/app/src/main/java/ch/pizzaleu/android/adapter/pager/CampaignBannerPagerAdapter.java @@ -0,0 +1,31 @@ +package ch.pizzaleu.android.adapter.pager; + +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; + +import java.util.ArrayList; + +import ch.pizzaleu.android.fragment.CampaignBannerFragment; +import ch.pizzaleu.android.model.CampaignBannerModel; + +public class CampaignBannerPagerAdapter extends FragmentPagerAdapter { + + private ArrayList campaignBannerList = new ArrayList<>(); + + public CampaignBannerPagerAdapter(FragmentManager fm, + ArrayList campaignBannerList) { + super(fm); + this.campaignBannerList = campaignBannerList; + } + + @Override + public Fragment getItem(int position) { + return CampaignBannerFragment.newInstance(campaignBannerList.get(position)); + } + + @Override + public int getCount() { + return campaignBannerList.size(); + } +} \ No newline at end of file diff --git a/app/src/main/java/ch/pizzaleu/android/adapter/recycler/CampaignBannerRecyclerAdapter.java b/app/src/main/java/ch/pizzaleu/android/adapter/recycler/CampaignBannerRecyclerAdapter.java deleted file mode 100644 index 72632a4..0000000 --- a/app/src/main/java/ch/pizzaleu/android/adapter/recycler/CampaignBannerRecyclerAdapter.java +++ /dev/null @@ -1,107 +0,0 @@ -package ch.pizzaleu.android.adapter.recycler; - -import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; - -import java.util.ArrayList; - -import butterknife.BindView; -import butterknife.ButterKnife; -import ch.pizzaleu.android.R; -import ch.pizzaleu.android.helper.ImageLoadHelper; -import ch.pizzaleu.android.model.CampaignBannerModel; - -public class CampaignBannerRecyclerAdapter extends RecyclerView.Adapter{ - - private final int HOLDER_CAMPAIGN_BANNER = 0; - private final int HOLDER_SPACE = 1; - - private ArrayList bannerList = new ArrayList<>(); - - public static class CampaignBannerHolder extends RecyclerView.ViewHolder { - - @BindView(R.id.campaignBannerImageView) - ImageView campaignBannerImageView; - - public CampaignBannerHolder(final View view) { - super(view); - ButterKnife.bind(this, view); - } - } - - public static class SpaceViewHolder extends RecyclerView.ViewHolder{ - public SpaceViewHolder(final View view) { - super(view); - } - } - - @Override - public int getItemViewType(int position) { - - if(position == bannerList.size()) - return HOLDER_SPACE; - - return HOLDER_CAMPAIGN_BANNER; - } - - public CampaignBannerRecyclerAdapter(ArrayList bannerList){ - this.bannerList = bannerList; - } - - @Override - public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { - - RecyclerView.ViewHolder viewHolder; - View view; - LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext()); - - switch (viewType){ - - case HOLDER_SPACE: - view = inflater.inflate(R.layout.row_space, viewGroup, false); - viewHolder = new SpaceViewHolder(view); - break; - - // HOLDER_CAMPAIGN_BANNER - default: - view = inflater.inflate(R.layout.row_campaign_banner, viewGroup, false); - viewHolder = new CampaignBannerHolder(view); - break; - } - - return viewHolder; - } - - - @Override - public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { - switch (holder.getItemViewType()){ - case HOLDER_CAMPAIGN_BANNER : - CampaignBannerHolder campaignBannerHolder = (CampaignBannerHolder) holder; - ImageLoadHelper.loadImage(campaignBannerHolder.campaignBannerImageView, bannerList.get(position).getImageUrl()); - //ImageLoadHelper.loadImage(campaignBannerHolder.campaignBannerImageView, getSampleImageUrl(position)); - break; - - case HOLDER_SPACE : - SpaceViewHolder spaceViewHolder = (SpaceViewHolder) holder; - break; - } - } - - @Override - public int getItemCount() { - return bannerList.size() + 1 ; - } - - private String getSampleImageUrl(int position){ - if(position % 2 == 0){ - return "http://pizzaleu.ddns.net/pizza/images/angebot3.png"; - } - else { - return "http://pizzaleu.ddns.net/pizza/images/Pizza_Leu-Pizzapass.png"; - } - } -} \ No newline at end of file diff --git a/app/src/main/java/ch/pizzaleu/android/fragment/CampaignBannerFragment.java b/app/src/main/java/ch/pizzaleu/android/fragment/CampaignBannerFragment.java new file mode 100644 index 0000000..631bd6c --- /dev/null +++ b/app/src/main/java/ch/pizzaleu/android/fragment/CampaignBannerFragment.java @@ -0,0 +1,53 @@ +package ch.pizzaleu.android.fragment; + +import android.os.Bundle; +import android.support.v7.widget.AppCompatImageView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import butterknife.BindView; +import butterknife.ButterKnife; +import ch.pizzaleu.android.R; +import ch.pizzaleu.android.helper.ImageLoadHelper; +import ch.pizzaleu.android.model.CampaignBannerModel; + +public class CampaignBannerFragment extends BaseFragment { + + @BindView(R.id.campaignBannerImageView) AppCompatImageView campaignBannerImageView; + + public static final String FRAGMENT_NAME = "campaignFragment"; + private CampaignBannerModel campaignBannerModel; + + public CampaignBannerFragment() {} + + public static CampaignBannerFragment newInstance(CampaignBannerModel campaignBannerModel) { + Bundle args = new Bundle(); + args.putSerializable("campaignBannerModel", campaignBannerModel); + CampaignBannerFragment fragment = new CampaignBannerFragment(); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_campaign_banner, container, false); + ButterKnife.bind(this, view); + getDataFromArguments(); + initViews(); + return view; + } + + private void getDataFromArguments(){ + campaignBannerModel = (CampaignBannerModel) getArguments().getSerializable("campaignBannerModel"); + } + + private void initViews(){ + ImageLoadHelper.loadImage(campaignBannerImageView, campaignBannerModel.getImageUrl()); + } +} diff --git a/app/src/main/java/ch/pizzaleu/android/model/CampaignBannerModel.java b/app/src/main/java/ch/pizzaleu/android/model/CampaignBannerModel.java index 7b2f35c..16a0364 100644 --- a/app/src/main/java/ch/pizzaleu/android/model/CampaignBannerModel.java +++ b/app/src/main/java/ch/pizzaleu/android/model/CampaignBannerModel.java @@ -3,7 +3,9 @@ package ch.pizzaleu.android.model; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; -public class CampaignBannerModel { +import java.io.Serializable; + +public class CampaignBannerModel implements Serializable { @Expose @SerializedName("title") diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml index 13b00e8..143a535 100644 --- a/app/src/main/res/layout/activity_splash.xml +++ b/app/src/main/res/layout/activity_splash.xml @@ -1,6 +1,6 @@ - + android:scaleType="fitXY" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent"/> - + android:layout_height="48dp" + android:layout_marginTop="16dp" + android:layout_marginLeft="16dp" + android:layout_marginStart="16dp" + android:layout_marginRight="16dp" + android:layout_marginEnd="16dp" + android:background="@drawable/background_button_add_cart" + app:layout_constraintTop_toBottomOf="@id/pizzappSplashLogoImageView" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent"> - - - - - - - - -