1

This is the function which i used for the network calls.

  private void generateNewCard()
    {
        showProgressDialog();
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(NetworkCalls.BASE_URL)
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        NetworkCalls.CustomerApi customerApi = retrofit.create(NetworkCalls.CustomerApi.class);

        customerApi.addExistingCard(prefs.getString(Constants.AUTH_TOKEN, ""), "", CREATE_NEW_CARD)
                .subscribeOn(Schedulers.newThread())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<DataGeneral>() {

                    @Override
                    public void onCompleted() {
                        stopProgressDialog();
                        Log.d(TAG, "onCompleted DataGeneral" + DataGeneral.class);
                    }

                    @Override
                    public void onError(Throwable e) {
                        Log.d(TAG, "onError" + e.getMessage());
                        stopProgressDialog();
                    }

                    @Override
                    public void onNext(DataGeneral data) {

                        stopProgressDialog();
                        if (data.getStatus() == 1) {


                        }
                    }
                });
    }

and the interface class is here,

        @FormUrlEncoded
        @POST("add-loyalty-card")
        Observable<DataGeneral> addExistingCard(@Field("Token") String token, @Field("cardHas") String cardHas, @Field("ltyCardId") String ltyCardId);

This works fine for me. I am getting desired result. I wish to know how can i get the Header from the response and is there a way to simplify the above code?

Any help would be really appreciated.

Rethinavel
  • 3,912
  • 7
  • 28
  • 49

0 Answers0