Header Ads

retrofit


API :

public class APIClient {
 
    public static final String BASE_URL = "http://182.18.144.215/~ayonweb/yamus/json/";
    private static Retrofit retrofit = null;
    public static Retrofit getClient() {
        if (retrofit==null) {a
            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        }
        return retrofit;
    }
}


public interface APIInterface {

    @POST("login.php?")
    Call<LoginPojo> loginApi(@Query("mobile") String mobile);

}



Class:

public class SubcategoryActivity extends BaseActivity implements View.OnClickListener, CatClickListener {
    public Context context;
    RecyclerView mRecyclerView;
    SubcategaryAdapter mAdapter;
    ArrayList<SubcategoryList> mlist;
    private MyDialog dialog;
    APIInterface apiInterface;
    String id,Category,search_edittext;
    M_Shared_Pref m_shared_pref;

    ImageView fav,back_button;
    TextView tv_noti_count,header;

    List<GuestCartList> mlist_id;
    RelativeLayout rl_cart;
    DbHelper mHelper;
    EditText editText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_category);
        context = SubcategoryActivity.this;

        Bundle bundle = this.getIntent().getExtras();
        if (bundle != null) {
            id = bundle.getString("id");
            Category = bundle.getString("Category");
            search_edittext = bundle.getString("search_edittext");
            System.out.println("_id_id" + id);
        }

        mHelper = new DbHelper(this);
        dialog = new MyDialog(this);
        apiInterface = APIClient.getClient().create(APIInterface.class);
        m_shared_pref=new M_Shared_Pref(context);


        editText=findViewById(R.id.editText); editText.setOnClickListener(this); editText.setFocusable(false); editText.setClickable(false);
        editText.setText(search_edittext);

        rl_cart=findViewById(R.id.rl_cart); rl_cart.setOnClickListener(this);
        header = findViewById(R.id.header); header.setText(Category);
        back_button=findViewById(R.id.back_button);back_button.setOnClickListener(this);
        fav=findViewById(R.id.fav);fav.setOnClickListener(this);
        tv_noti_count=findViewById(R.id.tv_noti_count);

        mlist = new ArrayList<>();
        mRecyclerView = findViewById(R.id.mRecyclerView);
        mRecyclerView.setHasFixedSize(true);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
        mAdapter = new SubcategaryAdapter(mlist, this);
        mAdapter.setCatMyClickListener(this);
        mRecyclerView.setAdapter(mAdapter);




        if(NetWorkCheck.checkConnection(context)){
           subcategary_api();
        }
        else{
            TastyToast.makeText(context, "Internet connection is disable", TastyToast.LENGTH_LONG, TastyToast.WARNING);

        }
    }

    @Override
    public void onResume() {
        super.onResume();
        mlist_id = new ArrayList<>();
        mlist_id=  mHelper.getdata();


        if (m_shared_pref.getPrefranceBooleanValue(App_Info.IsLoggedIn)) {
            cart_api();
        }
        else{
            if(mlist_id.size()>0){
                tv_noti_count.setText(String.valueOf(mlist_id.size()));
                tv_noti_count.setVisibility(View.VISIBLE);
            }
            else{
                tv_noti_count.setVisibility(View.GONE);
            }
        }
    }

    public void subcategary_api() {
        dialog.ShowProgressDialog();
        Call<SubcategoryPojo> call1 = apiInterface.subcategoryApi(id);
        call1.enqueue(new Callback<SubcategoryPojo>() {
            @Override
            public void onResponse(Call<SubcategoryPojo> call, retrofit2.Response<SubcategoryPojo> response) {
                Log.e("url_activity",response.raw().request().url().toString());
                SubcategoryPojo user1 = response.body();
                dialog.CancelProgressDialog();
                try{
                    if(user1 != null) {



                        mlist.addAll(user1.getSubcategoryList());
                        mAdapter.notifyDataSetChanged();

                    }
                }
                catch (Exception e){ }
            }
            @Override
            public void onFailure(Call<SubcategoryPojo> call, Throwable t) {
                System.out.println("------------Failure----------------");
                call.cancel();
                dialog.CancelProgressDialog();
            }
        });
    }

    public void cart_api() {
        Call<MessagePojo> call1 = apiInterface.CartNumsApi(m_shared_pref.getPrefranceStringValue(App_Info.UserID));
        call1.enqueue(new Callback<MessagePojo>() {
            @Override
            public void onResponse(Call<MessagePojo> call, retrofit2.Response<MessagePojo> response) {
                Log.e("url_activity",response.raw().request().url().toString());
                MessagePojo user1 = response.body();
                try{
                    if(user1 != null) {
                        if(!user1.getTotal_Cart().equals("0")){
                            tv_noti_count.setText(user1.getTotal_Cart());
                            tv_noti_count.setVisibility(View.VISIBLE);
                        }
                        else{
                            tv_noti_count.setVisibility(View.GONE);
                        }
                    }
                }
                catch (Exception e){ }
            }
            @Override
            public void onFailure(Call<MessagePojo> call, Throwable t) {
                System.out.println("------------Failure----------------");
                call.cancel();
                dialog.CancelProgressDialog();
            }
        });
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.fav:
                launchIntent(WishListActivity.class,false);
                break;

            case R.id.back_button:
                finish();
                break;

            case R.id.rl_cart:
                if (m_shared_pref.getPrefranceBooleanValue(App_Info.IsLoggedIn)) {
                    launchIntent(CartListActivity.class,false);
                }
                else   launchIntent(GuestCartListActivity.class,false);
                break;

            case R.id.editText:
                Bundle bundle = new Bundle();
                bundle.putString("editText", editText.getText().toString());
                launchIntent(SearchActivity.class,bundle,false);
                break;
        }
    }

    @Override
    public void onItemClick_cat(View v, Object bean, String name) {


        if (m_shared_pref.getPrefranceBooleanValue(App_Info.IsLoggedIn)) {

            System.out.println("click in login");

            String ids = ((SubcategoryList) bean).getId();
            Bundle bundle = new Bundle();
            bundle.putString("cat_id", id);
            bundle.putString("sub_cat_id", ids);
            bundle.putString("types", "");
            bundle.putString("subcategory", ((SubcategoryList) bean).getSubcategory());
            //  launchIntent(GuestProductActivity.class,bundle,false);            launchIntent(ProductActivity.class,bundle,false);
        }

        else{
            System.out.println("click in logout");

            String ids = ((SubcategoryList) bean).getId();
            Bundle bundle = new Bundle();
            bundle.putString("cat_id", id);
            bundle.putString("sub_cat_id", ids);
            bundle.putString("types", "");
            bundle.putString("subcategory", ((SubcategoryList) bean).getSubcategory());
            //  launchIntent(GuestProductActivity.class,bundle,false);            launchIntent(GuestProductActivity.class,bundle,false);
        }



    }
}




Adapter:

public class SubcategaryAdapter  extends RecyclerView.Adapter<SubcategaryAdapter.ViewHolder> {

    private List<SubcategoryList> mList;
    Context ctx;
    public static CatClickListener listener;
    public SubcategaryAdapter(List<SubcategoryList> cl, Context context) {
        this.mList = cl;
        this.ctx = context;

    }

    @Override
    public SubcategaryAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_categories_adapter, null);
        SubcategaryAdapter.ViewHolder viewHolder = new SubcategaryAdapter.ViewHolder(itemLayoutView);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(SubcategaryAdapter.ViewHolder viewHolder, final int position) {

        viewHolder.cat_name.setText(mList.get(position).getCategory());
        viewHolder.sub_name.setText(mList.get(position).getSubcategory());
        Glide.with(ctx).load(mList.get(position).getImages()).apply(new RequestOptions()).into(viewHolder.img_ctg_icon);

        viewHolder.rel_card.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                listener.onItemClick_cat(view,mList.get(position),"");
            }
        });


    }


    // Return the size arraylist    @Override
    public int getItemCount() {
        return mList.size();
    }

    public void setCatMyClickListener(CatClickListener listener) {
        SubcategaryAdapter.listener = listener;
    }

    public static class ViewHolder extends RecyclerView.ViewHolder {

        TextView cat_name,sub_name;
        CardView card_view;
        RelativeLayout rel_card;
        LinearLayout ll_main;
        ImageView img_ctg_icon;


        public ViewHolder(View itemLayoutView) {
            super(itemLayoutView);
            cat_name = itemLayoutView.findViewById(R.id.cat_name);
            sub_name = itemLayoutView.findViewById(R.id.sub_name);
            img_ctg_icon = itemLayoutView.findViewById(R.id.img_ctg_icon);
            ll_main = itemLayoutView.findViewById(R.id.ll_main);
            rel_card = itemLayoutView.findViewById(R.id.rel_card);
        }

    }




}




Interface:
public interface CatClickListener {

    public void onItemClick_cat(View v, Object bean, String name);
}

No comments

Powered by Blogger.