public SlideLoader(SliderLayout slider, View parent) { mDemoSlider = slider; items = new ArrayList<>(); final TextView textFeatured = (TextView) parent.findViewById(R.id.idFeatured); textFeatured.setText(""); final ProgressDialog progressSlider = ProgressDialog.show( mDemoSlider.getContext(), "Please wait", "Loading product catalog...", false, false); AsyncTaskCompat.executeParallel( new AsyncTask<Void, Void, String>() { public void getFeaturedProducts() { for (final Item featuredItem : items) { CustomSlider customSlider = new CustomSlider(mDemoSlider.getContext()); customSlider .description(featuredItem.getName()) .image(featuredItem.getImageUrl()) .setScaleType(BaseSliderView.ScaleType.Fit) .setOnSliderClickListener(sliderClick); customSlider.setPrice(featuredItem.getPrice()); mDemoSlider.addSlider(customSlider); } mDemoSlider.setPresetTransformer(SliderLayout.Transformer.FlipHorizontal); mDemoSlider.addOnPageChangeListener( new ViewPagerEx.OnPageChangeListener() { @Override public void onPageScrolled( int position, float positionOffset, int positionOffsetPixels) {} @Override public void onPageSelected(int position) { index = position; } @Override public void onPageScrollStateChanged(int state) {} }); } private final BaseSliderView.OnSliderClickListener sliderClick = new BaseSliderView.OnSliderClickListener() { @Override public void onSliderClick(BaseSliderView slider) { Intent intent = new Intent(mDemoSlider.getContext(), ItemDetailActivity.class); intent.putExtra("itemName", items.get(index).getName()); intent.putExtra("itemImage", items.get(index).getImageUrl()); intent.putExtra("itemDetails", items.get(index).getDetails()); intent.putExtra("itemID", items.get(index).getId()); intent.putExtra("itemPrice", Utilities.getCurrency(items.get(index).getPrice())); mDemoSlider.getContext().startActivity(intent); } }; public void CheckNetworkConnection() { mDemoSlider.stopAutoCycle(); CustomSlider customSlider = new CustomSlider(mDemoSlider.getContext()); customSlider .description("Please check your internet connection.") .setScaleType(BaseSliderView.ScaleType.Fit) .image(R.drawable.warn); mDemoSlider.addSlider(customSlider); final TextView textSeeMore = (TextView) mDemoSlider.findViewById(R.id.idseeMoreContent); textFeatured.setText("Connection Error!"); textSeeMore.setText(""); } @Override protected String doInBackground(Void... params) { try { return Utilities.webServiceCall( Constants.HostAddress + "/Api/GetFeatured?apiToken=" + Constants.ApiKey, items); } catch (Exception e) { return "Failed"; } } @Override protected void onPostExecute(String result) { if (result.equals("Success")) { getFeaturedProducts(); progressSlider.dismiss(); textFeatured.setText("Featured Products"); } else { CheckNetworkConnection(); progressSlider.dismiss(); } super.onPostExecute(result); } }); }