package com.yusufcakal.ra.fragment; import android.app.ProgressDialog; import android.content.Context; import android.os.Bundle; import android.provider.Settings; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.cengalabs.flatui.views.FlatButton; import com.daimajia.slider.library.Animations.DescriptionAnimation; import com.daimajia.slider.library.SliderLayout; import com.daimajia.slider.library.SliderTypes.BaseSliderView; import com.daimajia.slider.library.SliderTypes.TextSliderView; import com.daimajia.slider.library.Tricks.ViewPagerEx; import com.google.firebase.FirebaseApp; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.yusufcakal.ra.R; import com.yusufcakal.ra.interfaces.ProductDetailBarChange; import com.yusufcakal.ra.interfaces.VolleyCallback; import com.yusufcakal.ra.interfaces.VolleyTemp; import com.yusufcakal.ra.model.ProductBasket; import com.yusufcakal.ra.model.Request; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; import cn.pedant.SweetAlert.SweetAlertDialog; /** * Created by Yusuf on 13.05.2017. */ public class DetailPrıductFragment extends Fragment implements VolleyCallback, BaseSliderView.OnSliderClickListener, ViewPagerEx.OnPageChangeListener, TextWatcher, View.OnClickListener{ private FirebaseDatabase firebaseDatabase; private DatabaseReference databaseReference; private View view; private int productIdExstra; private String urlDetail = "http://fatihsimsek.me:9090/detail/"; private List<String> imageList; private SliderLayout sliderLayout; private TextView tvPrice; private EditText etPiece; private ProgressDialog progressDialog; private double price; private FlatButton btnAddBasket; private int piece, productID; private String android_id; private ProductDetailBarChange productDetailBarChange; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_detail_product, container, false); android_id = Settings.Secure.getString(getActivity().getContentResolver(), Settings.Secure.ANDROID_ID); FirebaseApp.initializeApp(getActivity()); firebaseDatabase = FirebaseDatabase.getInstance(); databaseReference = firebaseDatabase.getReference("basket").child(android_id); btnAddBasket = (FlatButton) view.findViewById(R.id.btnAddBasket); btnAddBasket.setOnClickListener(this); progressDialog = new ProgressDialog(getActivity()); progressDialog.setMessage("Ürün Yükleniyor.."); progressDialog.show(); progressDialog.hide(); //OnSuucese kaydet sliderLayout = (SliderLayout) view.findViewById(R.id.slider); tvPrice = (TextView) view.findViewById(R.id.tvPrice); etPiece = (EditText) view.findViewById(R.id.etPiece); etPiece.addTextChangedListener(this); imageList = new ArrayList<>(); productIdExstra = getArguments().getInt("id"); urlDetail+=productIdExstra; Request request = new Request(getActivity(), urlDetail, com.android.volley.Request.Method.GET); request.requestVolley(this); return view; } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (count == 0){ tvPrice.setText(price+ " TL"); }else{ piece = Integer.parseInt(String.valueOf(s)); tvPrice.setText(String.valueOf(price*piece+ " TL")); } } @Override public void afterTextChanged(Editable s) { } @Override public void onClick(View v) { if (piece==0){ new SweetAlertDialog(getActivity(), SweetAlertDialog.ERROR_TYPE) .setTitleText("ADET") .setContentText("Lütfen seçmiş olduğunuz ürüne adet bilgisi giriniz.") .show(); }else{ ProductBasket productBasket = new ProductBasket(productID, piece); databaseReference.push().setValue(productBasket); new SweetAlertDialog(getActivity(), SweetAlertDialog.SUCCESS_TYPE) .setTitleText("EKLENDİ") .setContentText("Ürün sepete eklendi.") .show(); } closeKeyword(); } private void closeKeyword(){ InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } @Override public void onSliderClick(BaseSliderView slider) { } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } @Override public void onSucces(JSONObject result) { progressDialog.hide(); JSONArray jsonArray = null; try { jsonArray = result.getJSONArray("detail"); JSONObject productObject; JSONArray imageArray = null; String name = null; for (int i=0; i<jsonArray.length(); i++){ productObject = (JSONObject) jsonArray.get(i); productID = productObject.getInt("productID"); int star = productObject.getInt("stars"); name = productObject.getString("name"); String description = productObject.getString("description"); price = productObject.getDouble("price"); productDetailBarChange.onChangeBar(name); imageArray = productObject.getJSONArray("images"); tvPrice.setText(price+" TL"); } for (int j=0; j<imageArray.length(); j++){ JSONObject imageObject = imageArray.getJSONObject(j); imageList.add(imageObject.getString("image")); } for (int k=0; k<imageList.size(); k++){ TextSliderView textSliderView = new TextSliderView(getActivity()); // initialize a SliderLayout textSliderView .description(name) .image(imageList.get(k)) .setScaleType(BaseSliderView.ScaleType.Fit) .setOnSliderClickListener(this); sliderLayout.addSlider(textSliderView); } sliderLayout.setPresetTransformer(SliderLayout.Transformer.Accordion); sliderLayout.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom); sliderLayout.setCustomAnimation(new DescriptionAnimation()); sliderLayout.setDuration(3000); sliderLayout.addOnPageChangeListener(this); } catch (JSONException e) { e.printStackTrace(); } } @Override public void onSuccesAuth(JSONObject result) throws JSONException { } @Override public void onAttach(Context context) { super.onAttach(context); productDetailBarChange = (ProductDetailBarChange) context; } @Override public void onDetach() { super.onDetach(); productDetailBarChange = null; } }