This commit is contained in:
2023-08-21 20:48:23 +05:30
parent e2a7a04aa1
commit 668ef56c63
41 changed files with 2059 additions and 51 deletions

View File

@@ -4,7 +4,9 @@ import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Handler;
import android.util.Log;
import android.view.LayoutInflater;
@@ -31,6 +33,7 @@ import java.util.ArrayList;
public abstract class AppUtil {
public static final String IMAGE_BASE_URL = "https://simplitend.betadelivery.com/storage/upload/";
private static final String TAG = "AppUtil";
// fields
@@ -269,4 +272,10 @@ public abstract class AppUtil {
saveCgData(null, -1, context);
setWantSecurityFlag(context, NOT_ASKED_CG_SECURITY);
}
public static void dialPhone(Activity activity, String phone_number) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel",
phone_number, null));
if (activity != null) activity.startActivity(intent);
}
}

View File

@@ -0,0 +1,15 @@
package com.ssb.simplitend.articles;
import com.ssb.simplitend.welcome.welcomepatient.mvvm.models.CallResponse;
import java.util.ArrayList;
import retrofit2.Call;
import retrofit2.http.GET;
public interface ArticleApiService {
@GET("api/get-list-of-news-articles")
Call<CallResponse<ArrayList<ArticleResult>>> getArticles();
}

View File

@@ -0,0 +1,13 @@
package com.ssb.simplitend.articles;
import java.util.ArrayList;
public interface ArticleContracts {
interface GetArticleCallback{
void onArticlesFetched(ArrayList<ArticleResult> articleResults);
void onArticleFetchFailed(Throwable t, String message);
}
}

View File

@@ -0,0 +1,57 @@
package com.ssb.simplitend.articles;
import androidx.annotation.NonNull;
import com.ssb.simplitend.apputils.RetrofitHelper;
import com.ssb.simplitend.welcome.welcomepatient.mvvm.models.CallResponse;
import java.util.ArrayList;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
public class ArticlePresenter {
private static ArticlePresenter articlePresenter;
private ArticleApiService apiService;
private ArticlePresenter(){
this.apiService = RetrofitHelper.getRetrofit()
.create(ArticleApiService.class);
}
public static synchronized ArticlePresenter getArticlePresenter() {
if (articlePresenter == null) {
articlePresenter = new ArticlePresenter();
}
return articlePresenter;
}
public void getArticles(@NonNull ArticleContracts.GetArticleCallback getArticleCallback){
apiService.getArticles()
.enqueue(new Callback<CallResponse<ArrayList<ArticleResult>>>() {
@Override
public void onResponse(Call<CallResponse<ArrayList<ArticleResult>>> call, Response<CallResponse<ArrayList<ArticleResult>>> response) {
if (response.body() != null){
if (response.body().status != 200 || response.body().result == null){
getArticleCallback.onArticleFetchFailed(new Exception(), response.body().message);
return;
}
getArticleCallback.onArticlesFetched(response.body().result);
}else{
getArticleCallback.onArticleFetchFailed(new Exception(), "Please try again later.");
}
}
@Override
public void onFailure(Call<CallResponse<ArrayList<ArticleResult>>> call, Throwable t) {
getArticleCallback.onArticleFetchFailed(new Exception(), "Please try again later.");
}
});
}
}

View File

@@ -0,0 +1,26 @@
package com.ssb.simplitend.articles;
class ArticleCategory{
public int id;
public String title;
}
public class ArticleResult{
public int id;
public String article_category_xid;
public String article_title;
public String article_detail;
public String article_link;
public String article_author;
public String article_datetime;
public String small_image;
public String large_image;
public String tags;
public String active;
public String deleted_at;
public String created_by;
public String updated_by;
public String created_at;
public String updated_at;
public ArticleCategory article_category;
}

View File

@@ -0,0 +1,69 @@
package com.ssb.simplitend.articles;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebViewClient;
import android.widget.Toast;
import com.ssb.simplitend.R;
import com.ssb.simplitend.databinding.ActivityArticleShowerBinding;
public class ArticleShowerActivity extends AppCompatActivity {
protected ActivityArticleShowerBinding binding;
private String url, title;
public static final String ARTICLE_URL_KEY = "article_url";
public static final String ARTICLE_TITLE = "article_title";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityArticleShowerBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
initViews();
clickEvents();
}
private void initViews() {
Intent intent = getIntent();
if (intent != null){
url = intent.getStringExtra(ARTICLE_URL_KEY);
title = intent.getStringExtra(ARTICLE_TITLE);
if (title != null){
binding.toolbar.setTitle(title);
}
loadUrl();
}
}
private void loadUrl() {
if (url == null){
Toast.makeText(this, "Couldn't load the article.", Toast.LENGTH_SHORT).show();
return;
}
binding.webView.getSettings().setJavaScriptEnabled(true);
binding.webView.getSettings().setBuiltInZoomControls(true);
binding.webView.getSettings().setDisplayZoomControls(false);
binding.webView.setWebViewClient(new WebViewClient());
binding.webView.loadUrl(url);
}
private void clickEvents() {
binding.toolbar.setNavigationOnClickListener(v -> {
onBackPressed();
});
}
}

View File

@@ -0,0 +1,91 @@
package com.ssb.simplitend.articles;
import static com.ssb.simplitend.articles.ArticleShowerActivity.ARTICLE_TITLE;
import static com.ssb.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;
import com.ssb.simplitend.R;
import com.ssb.simplitend.databinding.ActivityArticlesBinding;
import java.util.ArrayList;
public class ArticlesActivity extends AppCompatActivity
implements ArticlesAdapter.ArticleClickListener, ArticleContracts.GetArticleCallback {
protected ActivityArticlesBinding binding;
private ArticlePresenter presenter;
private ArticlesAdapter articlesAdapter;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityArticlesBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
presenter = ArticlePresenter.getArticlePresenter();
initViews();
clickEvents();
getArticles();
}
private void getArticles() {
progressDialog.setTitle("Please wait...");
progressDialog.setMessage("while we fetch the articles");
progressDialog.setCancelable(false);
progressDialog.show();
presenter.getArticles(this);
}
private void initViews() {
progressDialog = new ProgressDialog(this);
binding.articlesRv.setLayoutManager(new LinearLayoutManager(this));
articlesAdapter = new ArticlesAdapter(this);
binding.articlesRv.setAdapter(articlesAdapter);
}
private void clickEvents() {
binding.backBtn.setOnClickListener(v -> {
onBackPressed();
});
}
@Override
public void onArticleClick(ArticleResult articleResult) {
Intent intent = new Intent(this, ArticleShowerActivity.class);
intent.putExtra(ARTICLE_URL_KEY, articleResult.article_link);
intent.putExtra(ARTICLE_TITLE, articleResult.article_title);
startActivity(intent);
}
@Override
public void onArticlesFetched(ArrayList<ArticleResult> articleResults) {
progressDialog.dismiss();
articlesAdapter.submitList(articleResults);
}
@Override
public void onArticleFetchFailed(Throwable t, String message) {
progressDialog.dismiss();
Toast.makeText(this, "" + message, Toast.LENGTH_SHORT).show();
}
}

View File

@@ -0,0 +1,117 @@
package com.ssb.simplitend.articles;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.DiffUtil;
import androidx.recyclerview.widget.ListAdapter;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.databinding.ArticleViewHolderBinding;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
public class ArticlesAdapter extends ListAdapter<ArticleResult, ArticlesAdapter.ArticleViewHOlder> {
private final ArticleClickListener articleClickListener;
private static final DiffUtil.ItemCallback<ArticleResult> DIFF_UTIL = new DiffUtil.ItemCallback<ArticleResult>() {
@Override
public boolean areItemsTheSame(@NonNull ArticleResult oldItem, @NonNull ArticleResult newItem) {
return oldItem.id == newItem.id;
}
@Override
public boolean areContentsTheSame(@NonNull ArticleResult oldItem, @NonNull ArticleResult newItem) {
return false;
}
};
public ArticlesAdapter(@NonNull ArticleClickListener articleClickListener){
super(DIFF_UTIL);
this.articleClickListener = articleClickListener;
}
@NonNull
@Override
public ArticleViewHOlder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
ArticleViewHolderBinding binding = ArticleViewHolderBinding.inflate(
LayoutInflater.from(parent.getContext()),
parent, false);
return new ArticleViewHOlder(binding);
}
@Override
public void onBindViewHolder(@NonNull ArticleViewHOlder holder, int position) {
holder.setData(getItem(position));
holder.binding.card.setOnClickListener(v -> {
articleClickListener.onArticleClick(getItem(position));
});
}
public static class ArticleViewHOlder extends RecyclerView.ViewHolder{
public ArticleViewHolderBinding binding;
public ArticleViewHOlder(@NonNull ArticleViewHolderBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
public void setData(ArticleResult articleResult){
if (articleResult == null) return;
Glide.with(itemView.getContext())
.load(AppUtil.IMAGE_BASE_URL + articleResult.large_image)
.placeholder(android.R.color.darker_gray)
.error(android.R.color.darker_gray)
.into(binding.articleImg);
if (articleResult.article_title == null){
articleResult.article_title = "No title";
}
binding.title.setText(articleResult.article_title);
if (articleResult.article_author == null){
articleResult.article_author = "No author";
}
binding.authorName.setText(articleResult.article_author);
try {
if (articleResult.created_at == null) throw new Exception();
// parsing time of created at
SimpleDateFormat format = new SimpleDateFormat(
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = format.parse(articleResult.created_at);
if (date == null) throw new Exception();
SimpleDateFormat pretty_format = new SimpleDateFormat("dd MMM yy, HH:mm a", Locale.getDefault());
String time = pretty_format.format(date);
binding.createdAt.setText(time);
}catch (Exception e){
// do nothing
String none = "None";
binding.createdAt.setText(none);
}
}
}
// interfaces
@FunctionalInterface
public interface ArticleClickListener{
void onArticleClick(ArticleResult articleResult);
}
}

View File

@@ -12,6 +12,7 @@ import androidx.lifecycle.ViewModelProvider;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.CaregiverDataCache;
import com.ssb.simplitend.articles.ArticlesActivity;
import com.ssb.simplitend.caregiverdashboard.fragments.CaregiverChatsFragment;
import com.ssb.simplitend.caregiverdashboard.fragments.DashBoardFragment;
import com.ssb.simplitend.caregiverdashboard.fragments.MyPatientFragment;
@@ -21,6 +22,7 @@ import com.ssb.simplitend.customsviews.HomeBottomNav;
import com.ssb.simplitend.customsviews.MenuItem;
import com.ssb.simplitend.databinding.CaregiverDashboardActivityBinding;
import com.ssb.simplitend.databinding.CaregiverDashboardMenuBinding;
import com.ssb.simplitend.faqs.FAQ_Activity;
import com.ssb.simplitend.welcome.welcomecg.mvvm.CareGiverData;
import com.yarolegovich.slidingrootnav.SlidingRootNavBuilder;
import com.yarolegovich.slidingrootnav.callback.DragStateListener;
@@ -77,6 +79,8 @@ public class CaregiverDashActivity extends AppCompatActivity implements
// initializing dashboard fragment
replaceFragment(new DashBoardFragment());
setLayoutDetails();
}
@@ -96,6 +100,17 @@ public class CaregiverDashActivity extends AppCompatActivity implements
binding.tint.setVisibility(View.GONE);
}
});
menuBinding.articles.setOnClickListener(v -> {
Intent intent = new Intent(this, ArticlesActivity.class);
startActivity(intent);
});
menuBinding.faqs.setOnClickListener(v -> {
Intent intent = new Intent(this, FAQ_Activity.class);
startActivity(intent);
});
}
private void watchSubscription(){
@@ -112,6 +127,14 @@ public class CaregiverDashActivity extends AppCompatActivity implements
}
}
private void setLayoutDetails() {
if (careGiverData == null || careGiverData.patientDetails == null){
return;
}
menuBinding.name.setText(careGiverData.patientDetails.first_name);
}
private void replaceFragment(Fragment fragment){
getSupportFragmentManager().beginTransaction()
.replace(R.id.fcv_cg_home, fragment)
@@ -143,7 +166,16 @@ public class CaregiverDashActivity extends AppCompatActivity implements
// setting up toolbar accordingly
binding.toolbar.setNavigationIcon(AppCompatResources.getDrawable(this, R.drawable.ic_menu));
binding.toolbar.setNavigationIconTint(getResources().getColor(R.color.black));
binding.toolbar.setTitle("Welcome Aditya");
String first_name = "";
if (careGiverData != null && careGiverData.patientDetails != null && careGiverData.patientDetails.first_name != null){
String[] name = careGiverData.patientDetails.first_name.split(" ");
if (name.length > 0){
first_name = name[0];
}
}
binding.toolbar.setTitle("Welcome " + first_name);
}else if (selectedItem == MenuItem.MY_PATIENT){
replaceFragment(new MyPatientFragment());

View File

@@ -1,22 +1,34 @@
package com.ssb.simplitend.caregiverdashboard.fragments;
import static com.ssb.simplitend.caregiverdashboard.activities.PatientProfileShowerActivity.*;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.apputils.CaregiverDataCache;
import com.ssb.simplitend.caregiverdashboard.activities.PatientProfileInfoActivity;
import com.ssb.simplitend.caregiverdashboard.activities.PatientProfileShowerActivity;
import com.ssb.simplitend.cg_geofencing.CgGeoFencingActivity;
import com.ssb.simplitend.databinding.CaregiverDashFragmentBinding;
import com.ssb.simplitend.databinding.MyPatientFragmentBinding;
import com.ssb.simplitend.welcome.welcomecg.mvvm.CareGiverData;
public class MyPatientFragment extends Fragment {
// view binding
protected MyPatientFragmentBinding binding;
private CareGiverData careGiverData;
public MyPatientFragment(){
// required empty
}
@@ -26,6 +38,66 @@ public class MyPatientFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = MyPatientFragmentBinding.inflate(inflater, container, false);
initViews();
clickEvents();
return binding.getRoot();
}
private void initViews() {
CaregiverDataCache.getCaregiverData(requireContext(), (careGiverData1 -> {
this.careGiverData = careGiverData1;
if (careGiverData1 == null || careGiverData1.patientDetails == null){
Toast.makeText(requireContext(), "Couldn't load patient details.", Toast.LENGTH_SHORT).show();
return;
}
binding.name.setText(careGiverData1.patientDetails.first_name);
binding.phoneNumber.setText(careGiverData1.patientDetails.phone_number);
}), true);
}
private void clickEvents() {
binding.peronalInfo.setOnClickListener(v -> {
Intent intent = new Intent(requireActivity(), PatientProfileInfoActivity.class);
startActivity(intent);
});
binding.geofence.setOnClickListener(v -> {
Intent intent = new Intent(requireActivity(), CgGeoFencingActivity.class);
startActivity(intent);
});
binding.medication.setOnClickListener(v -> {
gotoProfileShower(MED_REMINDER_F);
});
binding.contacts.setOnClickListener(v -> {
gotoProfileShower(CONTACTS_F);
});
binding.medRecords.setOnClickListener(v -> {
gotoProfileShower(MED_INFO_F);
});
binding.patActivities.setOnClickListener(v -> {
gotoProfileShower(ACTIVITY_F);
});
binding.phoneNumber.setOnClickListener(v -> {
if (careGiverData != null && careGiverData.patientDetails != null){
AppUtil.dialPhone(requireActivity(), careGiverData.patientDetails.phone_number);
}
});
}
private void gotoProfileShower(String which_f) {
Intent intent = new Intent(requireActivity(), PatientProfileShowerActivity.class);
intent.putExtra(WHICH_FRAGMENT, which_f);
startActivity(intent);
}
}

View File

@@ -0,0 +1,78 @@
package com.ssb.simplitend.faqs;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.AsyncDifferConfig;
import androidx.recyclerview.widget.DiffUtil;
import androidx.recyclerview.widget.ListAdapter;
import androidx.recyclerview.widget.RecyclerView;
import com.ssb.simplitend.R;
import com.ssb.simplitend.databinding.FaqViewholderBinding;
public class FAQAdapter extends ListAdapter<FAQResult, FAQAdapter.FAQViewHolder> {
private static final DiffUtil.ItemCallback<FAQResult> DIFF_UTIL = new DiffUtil.ItemCallback<FAQResult>() {
@Override
public boolean areItemsTheSame(@NonNull FAQResult oldItem, @NonNull FAQResult newItem) {
return oldItem.id == newItem.id;
}
@Override
public boolean areContentsTheSame(@NonNull FAQResult oldItem, @NonNull FAQResult newItem) {
return false;
}
};
public FAQAdapter(){
super(DIFF_UTIL);
}
@NonNull
@Override
public FAQViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
FaqViewholderBinding binding = FaqViewholderBinding.inflate(LayoutInflater.from(parent.getContext()),
parent, false);
return new FAQViewHolder(binding);
}
@Override
public void onBindViewHolder(@NonNull FAQViewHolder holder, int position) {
holder.setDate(getItem(position));
holder.binding.addRemove.setOnClickListener(v -> {
int visibility = holder.binding.answer.getVisibility();
if (visibility == View.VISIBLE){
holder.binding.addRemove.setImageResource(R.drawable.ic_add_primary);
holder.binding.answer.setVisibility(View.GONE);
}else{
holder.binding.addRemove.setImageResource(R.drawable.ic_remove_primary);
holder.binding.answer.setVisibility(View.VISIBLE);
}
});
}
public static class FAQViewHolder extends RecyclerView.ViewHolder{
public FaqViewholderBinding binding;
public FAQViewHolder(@NonNull FaqViewholderBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
public void setDate(FAQResult result){
if (result == null) return;
binding.title.setText(result.faq_question);
binding.answer.setText(result.faq_answer);
binding.answer.setVisibility(View.GONE);
binding.addRemove.setImageResource(R.drawable.ic_add_primary);
}
}
}

View File

@@ -0,0 +1,15 @@
package com.ssb.simplitend.faqs;
import com.ssb.simplitend.welcome.welcomepatient.mvvm.models.CallResponse;
import java.util.ArrayList;
import retrofit2.Call;
import retrofit2.http.GET;
public interface FAQApiService {
@GET("api/get-list-of-faqs")
Call<CallResponse<ArrayList<FAQResult>>> getFAQs();
}

View File

@@ -0,0 +1,13 @@
package com.ssb.simplitend.faqs;
import java.util.ArrayList;
public interface FAQContracts {
interface GETFAQsCallback{
void onFAQsFetched(ArrayList<FAQResult> faqResults);
void onFAQsFetchedFailed(Throwable t, String message);
}
}

View File

@@ -0,0 +1,22 @@
package com.ssb.simplitend.faqs;
class FaqCategory{
public int id;
public String title;
}
public class FAQResult{
public int id;
public String faq_category_xid;
public String faq_question;
public String faq_answer;
public String small_image;
public String large_image;
public String active;
public String deleted_at;
public String created_by;
public String updated_by;
public String created_at;
public String updated_at;
public FaqCategory faq_category;
}

View File

@@ -0,0 +1,79 @@
package com.ssb.simplitend.faqs;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.widget.Toast;
import com.ssb.simplitend.R;
import com.ssb.simplitend.articles.ArticlesAdapter;
import com.ssb.simplitend.databinding.ActivityFaqBinding;
import java.util.ArrayList;
public class FAQ_Activity extends AppCompatActivity implements FAQContracts.GETFAQsCallback {
private ActivityFaqBinding binding;
private FAQsPresenter presenter;
private ProgressDialog progressDialog;
private FAQAdapter faqAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityFaqBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
presenter = FAQsPresenter.getFaqsPresenter();
initViews();
clickEvents();
getFAQs();
}
private void initViews() {
progressDialog = new ProgressDialog(this);
binding.faqsRv.setLayoutManager(new LinearLayoutManager(this));
faqAdapter = new FAQAdapter();
binding.faqsRv.setAdapter(faqAdapter);
}
private void clickEvents() {
binding.backBtn.setOnClickListener(v -> {
onBackPressed();
});
}
private void getFAQs() {
progressDialog.setTitle("Please wait...");
progressDialog.setMessage("while we fetch the FAQs");
progressDialog.setCancelable(false);
progressDialog.show();
presenter.getFAQs(this);
}
@Override
public void onFAQsFetched(ArrayList<FAQResult> faqResults) {
progressDialog.dismiss();
faqAdapter.submitList(faqResults);
}
@Override
public void onFAQsFetchedFailed(Throwable t, String message) {
progressDialog.dismiss();
Toast.makeText(this, "" + message, Toast.LENGTH_SHORT).show();
}
}

View File

@@ -0,0 +1,60 @@
package com.ssb.simplitend.faqs;
import androidx.annotation.NonNull;
import com.ssb.simplitend.apputils.RetrofitHelper;
import com.ssb.simplitend.articles.ArticleApiService;
import com.ssb.simplitend.articles.ArticleContracts;
import com.ssb.simplitend.articles.ArticleResult;
import com.ssb.simplitend.welcome.welcomepatient.mvvm.models.CallResponse;
import java.util.ArrayList;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
public class FAQsPresenter {
private static FAQsPresenter faqsPresenter;
private FAQApiService apiService;
private FAQsPresenter(){
this.apiService = RetrofitHelper.getRetrofit()
.create(FAQApiService.class);
}
public static synchronized FAQsPresenter getFaqsPresenter() {
if (faqsPresenter == null) {
faqsPresenter = new FAQsPresenter();
}
return faqsPresenter;
}
public void getFAQs(@NonNull FAQContracts.GETFAQsCallback faqCallbacks){
apiService.getFAQs()
.enqueue(new Callback<CallResponse<ArrayList<FAQResult>>>() {
@Override
public void onResponse(Call<CallResponse<ArrayList<FAQResult>>> call, Response<CallResponse<ArrayList<FAQResult>>> response) {
if (response.body() != null){
if (response.body().status != 200 || response.body().result == null){
faqCallbacks.onFAQsFetchedFailed(new Exception(), response.body().message);
return;
}
faqCallbacks.onFAQsFetched(response.body().result);
}else{
faqCallbacks.onFAQsFetchedFailed(new Exception(), "Please try again later.");
}
}
@Override
public void onFailure(Call<CallResponse<ArrayList<FAQResult>>> call, Throwable t) {
faqCallbacks.onFAQsFetchedFailed(new Exception(), "Please try again later.");
}
});
}
}

View File

@@ -79,7 +79,7 @@ public class ContactInfoFragment extends Fragment implements WelcomeContracts.De
private void loadUserData() {
Glide.with(requireContext())
.load("https://simplitend.betadelivery.com/storage/upload/" + contactData.contact_photo)
.load(AppUtil.IMAGE_BASE_URL + contactData.contact_photo)
.placeholder(android.R.color.darker_gray)
.error(R.drawable.ic_contact)
.fitCenter().into(binding.image);

View File

@@ -531,7 +531,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
if (contactData.contact_photo != null) {
Glide.with(requireContext())
.load("https://simplitend.betadelivery.com/storage/upload/" + contactData.contact_photo)
.load(AppUtil.IMAGE_BASE_URL + contactData.contact_photo)
.placeholder(android.R.color.darker_gray)
.error(R.drawable.ic_contact)
.fitCenter().into(binding.image);

View File

@@ -16,6 +16,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.databinding.AddContactViewholderBinding;
import com.ssb.simplitend.welcome.welcomepatient.fragments.contacts.mvvm.models.ContactData;
@@ -108,7 +109,7 @@ public class AddContactAdapter extends ListAdapter<ContactData, AddContactAdapte
binding.imag.setVisibility(View.VISIBLE);
Glide.with(itemView.getContext())
.load("https://simplitend.betadelivery.com/storage/upload/" + contact.contact_photo)
.load(AppUtil.IMAGE_BASE_URL + contact.contact_photo)
.placeholder(android.R.color.darker_gray)
.error(R.drawable.ic_contact)
.fitCenter().into(binding.imag);