This commit is contained in:
14Sandee
2023-11-02 20:58:56 +05:30
parent 218725de60
commit 963a8dc7e8
40 changed files with 405 additions and 284 deletions

View File

@@ -44,7 +44,7 @@ public class FUAActivity extends AppCompatActivity {
TextView all_apps_title;
LinearLayout no_fua;
TextView no_fua_txt;
TextView no_fua_txt, fua_sub_title;
List<AppList> installed_app_list;
@@ -65,6 +65,7 @@ public class FUAActivity extends AppCompatActivity {
no_fua = findViewById(R.id.no_fua);
no_fua_txt = findViewById(R.id.no_fua_text);
all_apps_title = findViewById(R.id.all_app_tile);
fua_sub_title = findViewById(R.id.fua_sub_title);
if (!isAccessibilityAppBlockingEnabled()) {
openAccessibilityDialog();
@@ -102,6 +103,8 @@ public class FUAActivity extends AppCompatActivity {
if (!isFromDashboard) {
// from settings page
no_fua_txt.setText(R.string.no_frequently_used_apps);
fua_sub_title.setVisibility(View.GONE);
rvApps.setVisibility(View.VISIBLE);
all_apps_title.setVisibility(View.VISIBLE);
findViewById(R.id.done_btn).setVisibility(View.VISIBLE);
@@ -130,6 +133,7 @@ public class FUAActivity extends AppCompatActivity {
} else {
// from dashboard
no_fua_txt.setText(R.string.no_frequently_used_apps_set_up);
fua_sub_title.setVisibility(View.VISIBLE);
rvApps.setVisibility(View.GONE);
all_apps_title.setVisibility(View.GONE);
@@ -344,13 +348,13 @@ public class FUAActivity extends AppCompatActivity {
private void openAccessibilityDialog() {
AppUtil.showAlert(this,
"Accessibility Permission Dialog",
"Please allow app blocking accessibility.",
"Yes", (dialog, id) -> {
"Accessibility Permission",
"Frequently used apps enables you to select your top apps, ensuring quick access and avoid distraction..\nChosen apps will be granted access, while all remaining apps will be restricted.\n\nTo activate, click on Go to settings -> Installed/Downloaded apps -> SimpliTend -> Turn on the permission.",
"Go to settings", (dialog, id) -> {
Intent accessibilityIntent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivity(accessibilityIntent);
},
"No",(dialog, id) -> {
"Cancel",(dialog, id) -> {
// Action for 'NO' Button
dialog.cancel();
});

View File

@@ -179,13 +179,13 @@ public class MyAppsAdapter extends RecyclerView.Adapter<MyAppsAdapter.ViewHolder
private void openAccessibilityDialog() {
AppUtil.showAlert(context,
"Accessibility Permission Dialog",
"Please allow app blocking accessibility.",
"Yes", (dialog, id) -> {
"Accessibility Permission",
"Frequently used apps enables you to select your top apps, ensuring quick access and avoid distraction..\nChosen apps will be granted access, while all remaining apps will be restricted.\n\nTo activate, click on Go to settings -> Installed/Downloaded apps -> SimpliTend -> Turn on the permission.",
"Go to settings", (dialog, id) -> {
Intent accessibilityIntent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
context.startActivity(accessibilityIntent);
},
"No",(dialog, id) -> {
"Cancel",(dialog, id) -> {
// Action for 'NO' Button
dialog.cancel();
});

View File

@@ -16,14 +16,14 @@ import java.util.List;
public class TopAppDetectionService extends AccessibilityService {
public static final String BLOCKED_APP_NAME = "BLOCKED_APP_NAME";
public static final String STOP_ACCESSIBILITY_SERVICE = "stop_accessibility_service";
MySharedPref sharedPref;
List<String> appsList = new ArrayList<>();
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
Log.d("aditya", "onAccessibilityEvent: " + event);
sharedPref = new MySharedPref(getApplication());
appsList.addAll(sharedPref.getArrayList("APP_LIST"));
@@ -73,6 +73,15 @@ public class TopAppDetectionService extends AccessibilityService {
// This method is required but not used in this example
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent != null && STOP_ACCESSIBILITY_SERVICE.equals(intent.getAction())){
// stop the service
disableSelf();
}
return super.onStartCommand(intent, flags, startId);
}
@Override
protected void onServiceConnected() {
super.onServiceConnected();

View File

@@ -6,8 +6,6 @@ import static com.app.simplitend.apputils.Constants.REMINDER_EXTRA_KEY;
import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_TITLE;
import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY;
import static com.app.simplitend.callwhitelisting.CallService.CONTACT_WHITE_LISTING_TAG;
import static com.app.simplitend.locationupdates.LocationService.LOCATION_INTERVAL_BASE_TIME;
import static com.app.simplitend.locationupdates.LocationService.LOCATION_UPDATE_MIN_INTERVAL;
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_ID;
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG;
@@ -31,21 +29,21 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RawRes;
import com.app.simplitend.locationupdates.LocationService;
import com.app.simplitend.welcome.welcomepatient.fragments.contacts.mvvm.models.ContactData;
import com.bumptech.glide.Glide;
import com.google.android.gms.location.GeofencingClient;
import com.google.android.gms.location.LocationServices;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.app.simplitend.R;
import com.app.simplitend.appblocking.MySharedPref;
import com.app.simplitend.appblocking.TopAppDetectionService;
import com.app.simplitend.articles.ArticleShowerActivity;
import com.app.simplitend.databinding.BottomSheetAlertBinding;
import com.app.simplitend.databinding.DecisionBottomsheetBinding;
import com.app.simplitend.databinding.DoneBottomsheetBinding;
import com.app.simplitend.locationupdates.LocationService;
import com.app.simplitend.patientprofile.medreminder.mvvm.models.ReminderResult;
import com.app.simplitend.patientprofile.setuproutine.mvvm.RoutineDetails;
import com.app.simplitend.welcome.welcomepatient.fragments.contacts.mvvm.models.ContactData;
import com.app.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
import com.bumptech.glide.Glide;
import com.google.android.gms.location.GeofencingClient;
import com.google.android.gms.location.LocationServices;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import org.json.JSONArray;
import org.json.JSONObject;
@@ -57,6 +55,7 @@ import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
@@ -64,14 +63,13 @@ import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.Set;
import java.util.TimeZone;
public abstract class AppUtil {
public static final String IMAGE_BASE_URL = "https://simplitend.betadelivery.com/storage/upload/";
private static final String TAG = "AppUtil";
public static final int LOCATION_REQUEST_CODE = 12;
public static final String NOTIFICATION_ACTION = "com.simplitend.NOTIFICATION_ACTION";
// fields
@@ -87,6 +85,8 @@ public abstract class AppUtil {
public static final int CG_NO_SECURITY_NEEDED = 3;
public static final int CG_SECURITY_NEEDED = 4;
public static final String CG_REGISTRATION_COMPLETE = "cg_registration_complete";
public static final String PATIENT_UID = "patient_uid";
public static final String IS_PATIENT_LOGGED_IN = "patient_logged_in";
@@ -256,6 +256,18 @@ public abstract class AppUtil {
}
}
@NonNull
public static String getTimeZone(){
TimeZone timeZone = TimeZone.getDefault();
// Getting the GMT offset in milliseconds
int gmtOffsetMillis = timeZone.getOffset(Calendar.getInstance().getTimeInMillis());
// Converting milliseconds to hours and minutes
int hours = gmtOffsetMillis / 3600000;
int minutes = (gmtOffsetMillis % 3600000) / 60000;
return "GMT" + (gmtOffsetMillis >= 0 ? "+" : "") + hours + ":" + String.format(Locale.getDefault(), "%02d", minutes);
}
public static void callPhone(Activity activity, String phone_number){
if (activity.checkSelfPermission(Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED){
Intent intent = new Intent(Intent.ACTION_CALL, Uri.fromParts("tel",
@@ -281,7 +293,8 @@ public abstract class AppUtil {
public static void showBottomAlert(Context context,
String patient_name,
@Nullable String content_type, Intent intent) throws Exception {
@Nullable String content_type, Intent intent,
@NonNull View.OnClickListener text_senior_click) throws Exception {
if (content_type == null) return;
@@ -360,16 +373,9 @@ public abstract class AppUtil {
setupBottomSheet(binding,
R.drawable.img_activity_time,
title, body,
routine_description, "Text patient",
v -> {
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
if (careGiverData == null || careGiverData.patientDetails == null) {
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
return;
}
AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number);
}), true);
routine_description, "Text senior", view -> {
bsd.dismiss();
text_senior_click.onClick(null);
});
bsd.show();
@@ -406,16 +412,9 @@ public abstract class AppUtil {
setupBottomSheet(binding,
R.drawable.img_medication_time,
title, body,
description, "Text patient",
v -> {
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
if (careGiverData == null || careGiverData.patientDetails == null) {
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
return;
}
AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number);
}), true);
description, "Text senior", view -> {
bsd.dismiss();
text_senior_click.onClick(null);
});
bsd.show();
@@ -499,16 +498,9 @@ public abstract class AppUtil {
setupBottomSheet(binding,
R.drawable.img_med_refill,
title, body,
refill_description, "Text patient",
v -> {
CaregiverDataCache.getCaregiverData(context, (careGiverData -> {
if (careGiverData == null || careGiverData.patientDetails == null) {
Toast.makeText(context, "Couldn't load data", Toast.LENGTH_SHORT).show();
return;
}
AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number);
}), true);
refill_description, "Text senior", view -> {
bsd.dismiss();
text_senior_click.onClick(null);
});
bsd.show();
@@ -578,9 +570,10 @@ public abstract class AppUtil {
public static void patientSignOut(Context context) {
AppUtil.savePatientData(null, -1, context, false);
// app block list clear
MySharedPref mySharedPref = new MySharedPref(context);
mySharedPref.removeKey("APP_LIST");
// turning off app_blocking accessibility permission
Intent stop_accessibility_intent = new Intent(context, TopAppDetectionService.class);
stop_accessibility_intent.setAction(TopAppDetectionService.STOP_ACCESSIBILITY_SERVICE);
context.startService(stop_accessibility_intent);
// removing contact listing
setWhiteListedContacts(context, null);
@@ -642,6 +635,20 @@ public abstract class AppUtil {
return sp.getInt(CG_APP_SECURITY, NOT_ASKED_CG_SECURITY);
}
public static boolean isRegistrationComplete(Context context){
SharedPreferences sp = context.getSharedPreferences(CAREGIVER_DETAILS, Context.MODE_PRIVATE);
return sp.getBoolean(CG_REGISTRATION_COMPLETE, false);
}
public static void setCgRegistrationComplete(Context context, boolean registrationComplete){
SharedPreferences sp = context.getSharedPreferences(CAREGIVER_DETAILS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean(CG_REGISTRATION_COMPLETE, registrationComplete);
editor.apply();
}
public static void cgSignOut(Context context) {
saveCgData(null, -1, context);
setWantSecurityFlag(context, NOT_ASKED_CG_SECURITY);

View File

@@ -5,6 +5,8 @@ import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Toast;
@@ -29,7 +31,7 @@ public class ArticlesActivity extends AppCompatActivity
private ArticlesAdapter articlesAdapter;
private boolean isLoadingArticles, lastPageHit;
private boolean isLoadingArticles, lastPageHit, areSearchedArticleShown;
private int page_no;
@@ -46,6 +48,7 @@ public class ArticlesActivity extends AppCompatActivity
clickEvents();
page_no = 1;
areSearchedArticleShown = false;
getArticles(binding.searchEt.getText().toString().trim(), PER_PAGE_COUNT, page_no, false);
}
@@ -89,6 +92,28 @@ public class ArticlesActivity extends AppCompatActivity
}
}
});
binding.searchEt.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (editable.length() == 0 && areSearchedArticleShown){
// loading all articles
page_no = 1;
areSearchedArticleShown = false;
getArticles(binding.searchEt.getText().toString().trim(), PER_PAGE_COUNT, page_no, false);
}
}
});
}
private void clickEvents() {
@@ -97,8 +122,9 @@ public class ArticlesActivity extends AppCompatActivity
});
binding.closeBtn.setOnClickListener(v -> {
if (!binding.searchEt.getText().toString().trim().isEmpty()){
if (!binding.searchEt.getText().toString().trim().isEmpty() && areSearchedArticleShown){
page_no = 1;
areSearchedArticleShown = false;
getArticles("", PER_PAGE_COUNT, page_no, false);
}
@@ -113,6 +139,7 @@ public class ArticlesActivity extends AppCompatActivity
AppUtil.closeKeyboard(this);
page_no = 1;
areSearchedArticleShown = true;
getArticles(binding.searchEt.getText().toString().trim(), PER_PAGE_COUNT, page_no, false);
return true;
});

View File

@@ -105,7 +105,12 @@ public class CaregiverDashActivity extends AppCompatActivity implements
AppUtil.showBottomAlert(CaregiverDashActivity.this,
patient_name,
content_type,
intent);
intent,
v -> {
// here v is null
binding.bottomNav.selectMenuItem(MenuItem.CHATS);
onBottomNavItemSelected(MenuItem.CHATS);
});
}catch (Exception e){
// do nothing
}

View File

@@ -54,6 +54,7 @@ import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
@@ -230,6 +231,7 @@ public class CgDashBoardFragment extends Fragment implements
loadReminders();
loadActivities();
loadArticles();
});
binding.notifications.setOnClickListener(view -> {
@@ -373,6 +375,7 @@ public class CgDashBoardFragment extends Fragment implements
MarkerOptions markerOptions = new MarkerOptions()
.position(latLng)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.img_home_marker))
.title(patient_name);
mGoogleMap.clear();

View File

@@ -325,7 +325,6 @@ public class CgSubscriptionActivity extends AppCompatActivity
Toast.makeText(this, "Payment failed.", Toast.LENGTH_SHORT).show();
} else if (paymentSheetResult instanceof PaymentSheetResult.Completed) {
// Display for example, an order confirmation screen
Toast.makeText(this, "Payment successful.", Toast.LENGTH_SHORT).show();
this.careGiverData.isCaregiverTakeSubscription = 1;
CaregiverDataCache.setCareGiverData(this.careGiverData);

View File

@@ -26,6 +26,10 @@ public interface PatientProfileAPIService {
@GET("api/auth-user-data")
Call<CallResponse<PatientData>> getUsrProfileProgress(@Header("Authorization") String token);
@GET("api/auth-user-data")
Call<CallResponse<PatientData>> getUsrProfileProgress(@Header("Authorization") String token,
@Header("timezone") String timezone);
@GET("api/patient-reminder-list/{id}")
Call<CallResponse<List<ReminderResult>>> getRemindersList(@Path("id") int patient_id,
@Query("weekday") int week_day,

View File

@@ -177,10 +177,8 @@ public class ProfileProgressFragment extends Fragment implements ProfileContract
// no subscription alert
try {
AppUtil.showAlert(requireContext(),
"Kindly ask Caregiver to complete SimpliTend subscription.",
"Once your caregiver has completed the " +
"subscription, you will be able to use the " +
"application.",
"Caregiver registration",
"You can set up this feature after caregiver registration is complete",
"OK",
((dialogInterface, i) -> {

View File

@@ -177,7 +177,7 @@ public class RegisterCompleteFragment extends Fragment implements ProfileContrac
gotoPatientDashBoard();
}else{
AppUtil.showAlert(requireContext(),
"Kindly ask Caregiver to complete SimpliTend subscription.",
"Kindly ask Caregiver to buy SimpliTend subscription.",
"Once your caregiver has completed the " +
"subscription, you will be able to use the " +
"application.",

View File

@@ -193,18 +193,6 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh
reminderResult.time3 = null;
}
// Sending time zone
TimeZone timeZone = TimeZone.getDefault();
// Getting the GMT offset in milliseconds
int gmtOffsetMillis = timeZone.getOffset(Calendar.getInstance().getTimeInMillis());
// Converting milliseconds to hours and minutes
int hours = gmtOffsetMillis / 3600000;
int minutes = (gmtOffsetMillis % 3600000) / 60000;
String gmtStandard = "GMT" + (gmtOffsetMillis >= 0 ? "+" : "") + hours + ":" + String.format(Locale.getDefault(), "%02d", minutes);
Toast.makeText(requireContext(), "" + gmtStandard, Toast.LENGTH_SHORT).show();
reminderResult.timezone = gmtStandard;
reminderResult.medication_quantity = binding.quantity.getText().toString();
reminderResult.medication_refill_date = binding.getDate.getText().toString();
reminderResult.medication_instruction = binding.instructions.getText().toString().trim();

View File

@@ -130,16 +130,24 @@ public class ReminderAdapter extends RecyclerView.Adapter<ReminderAdapter.Remind
binding.medImg.setImageResource(R.drawable.ic_capsules);
quantity = reminder.medication_quantity + " capsules";
break;
case "Pill":
case "Tablet":
binding.medImg.setImageResource(R.drawable.ic_pills);
quantity = reminder.medication_quantity + " pills";
break;
case "Drops":
case "Drop":
binding.medImg.setImageResource(R.drawable.ic_drops);
quantity = reminder.medication_quantity + " drops";
break;
case "Solution(Liquid)":
binding.medImg.setImageResource(R.drawable.ic_solution);
case "Spoon":
binding.medImg.setImageResource(R.drawable.ic_med_spoon);
quantity = reminder.medication_quantity + " units";
break;
case "Cup":
binding.medImg.setImageResource(R.drawable.ic_cup);
quantity = reminder.medication_quantity + " units";
break;
case "Syringe":
binding.medImg.setImageResource(R.drawable.ic_syringe);
quantity = reminder.medication_quantity + " units";
break;
default:

View File

@@ -43,7 +43,6 @@ public class ReminderResult implements Serializable {
public String reminder_marked;
public String is_update;
public String timezone;
public ReminderResult(){}

View File

@@ -234,18 +234,6 @@ public class AddRoutineFragment extends Fragment implements CompoundButton.OnChe
routineDetails.routine_start_time = binding.startTime.getHint().toString();
routineDetails.routine_end_time = binding.endTime.getHint().toString();
// Sending time zone
TimeZone timeZone = TimeZone.getDefault();
// Getting the GMT offset in milliseconds
int gmtOffsetMillis = timeZone.getOffset(Calendar.getInstance().getTimeInMillis());
// Converting milliseconds to hours and minutes
int hours = gmtOffsetMillis / 3600000;
int minutes = (gmtOffsetMillis % 3600000) / 60000;
String gmtStandard = "GMT" + (gmtOffsetMillis >= 0 ? "+" : "") + hours + ":" + String.format(Locale.getDefault(), "%02d", minutes);
Toast.makeText(requireContext(), "" + gmtStandard, Toast.LENGTH_SHORT).show();
routineDetails.timezone = gmtStandard;
routineDetails.sun = week_state[0] ? "1" : "0";
routineDetails.mon = week_state[1] ? "1" : "0";
routineDetails.tue = week_state[2] ? "1" : "0";
@@ -488,7 +476,7 @@ public class AddRoutineFragment extends Fragment implements CompoundButton.OnChe
progressDialog.dismiss();
if (this.routine == null) {
Toast.makeText(requireContext(), "Routine added successfully.", Toast.LENGTH_SHORT).show();
Toast.makeText(requireContext(), "Activity saved successfully.", Toast.LENGTH_SHORT).show();
Activity activity = getActivity();
if (activity != null){

View File

@@ -30,7 +30,6 @@ public class RoutineDetails implements Serializable {
public String updated_at;
public String routine_marked;
public String timezone;
@Override
public boolean equals(Object o) {

View File

@@ -16,6 +16,13 @@ import androidx.biometric.BiometricManager;
import androidx.biometric.BiometricPrompt;
import androidx.core.content.ContextCompat;
import com.app.simplitend.R;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.load.resource.gif.GifDrawable;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.daimajia.androidanimations.library.Techniques;
import com.daimajia.androidanimations.library.YoYo;
import com.app.simplitend.apputils.AppUtil;
@@ -65,11 +72,46 @@ public class CgAuthActivity extends AppCompatActivity {
binding.skip.setOnClickListener(v -> {
AppUtil.setWantSecurityFlag(this, AppUtil.CG_NO_SECURITY_NEEDED);
if (!AppUtil.isRegistrationComplete(CgAuthActivity.this)){
// USER IS IN THE REGISTRATION PROCESS
// show thank you page
showThankYouScreen();
}else {
gotoCgDash();
}
});
binding.proceed.setOnClickListener(v -> {
gotoCgDash();
});
}
private void showThankYouScreen() {
AppUtil.setCgRegistrationComplete(this, true);
binding.connectCompleteView.setVisibility(View.VISIBLE);
binding.askedView.setVisibility(View.GONE);
binding.fingerprintView.setVisibility(View.GONE);
Glide.with(this)
.asGif()
.load(R.raw.done_anim_primary)
.listener(new RequestListener<GifDrawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
resource.setLoopCount(1);
return false;
}
})
.into(binding.animIv);
}
private void initViews() {
biometricManager = BiometricManager.from(this);
@@ -85,7 +127,13 @@ public class CgAuthActivity extends AppCompatActivity {
public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) {
super.onAuthenticationSucceeded(result);
AppUtil.setWantSecurityFlag(CgAuthActivity.this, AppUtil.CG_SECURITY_NEEDED);
gotoCgDash();
if (!AppUtil.isRegistrationComplete(CgAuthActivity.this)){
// USER IS IN THE REGISTRATION PROCESS
// show thank you page
showThankYouScreen();
}else {
gotoCgDash();
}
}
@Override

View File

@@ -94,13 +94,6 @@ public class CgConnectFragment extends Fragment implements
viewModel.resendCgCode(body, token, this);
});
binding.proceed.setOnClickListener(v -> {
// go to cg dash board
Intent intent = new Intent(requireActivity(), CgAuthActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
requireActivity().finish();
});
}
private void connectCG() {
@@ -177,25 +170,13 @@ public class CgConnectFragment extends Fragment implements
public void onCgConnected(ConnectCgResult result) {
progressDialog.dismiss();
binding.connectView.setVisibility(View.GONE);
binding.connectCompleteView.setVisibility(View.VISIBLE);
AppUtil.setCgRegistrationComplete(requireContext(), false);
Glide.with(this)
.asGif()
.load(R.raw.done_anim_primary)
.listener(new RequestListener<GifDrawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
resource.setLoopCount(1);
return false;
}
})
.into(binding.animIv);
// go to cg dash board
Intent intent = new Intent(requireActivity(), CgAuthActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
requireActivity().finish();
}
@Override

View File

@@ -138,6 +138,7 @@ public class CgSignInFragment extends Fragment implements WelcomeContracts.CgLog
}else{
// caregiver user has asked to for security
AppUtil.setCgRegistrationComplete(requireContext(), true);
intent = new Intent(requireActivity(), CgAuthActivity.class);
}

View File

@@ -131,6 +131,9 @@ public class SignInFragment extends Fragment implements WelcomeContracts.Registe
RequestBody pin_body = RequestBody.create(Objects.requireNonNull(binding.pin.getText()).toString().trim(), MediaType.parse("text/plain"));
body.put("pin", pin_body);
RequestBody timezone_body = RequestBody.create(AppUtil.getTimeZone(), MediaType.parse("text/plain;charset=utf-8"));
body.put("timezone", timezone_body);
String sub_id = OneSignal.getUser().getPushSubscription().getId();
if (sub_id != null){

View File

@@ -567,6 +567,11 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
contact_binding.createCountryCodes.setIsFocusable(true);
contact_binding.createCountryCodes.setDismissWhenNotifiedItemSelected(true);
contact_binding.createCountryCodes.setOnClickListener(v -> {
AppUtil.closeKeyboard(requireActivity());
contact_binding.createCountryCodes.showOrDismiss();
});
// phone number formatting
// to deal with input pasting in the edit text
InputFilter phoneFilter = (charSequence, i, i1, spanned, i2, i3) -> {

View File

@@ -140,6 +140,8 @@ public class CreatePinFragment extends Fragment implements WelcomeContracts.Regi
}
);
}
private boolean allOkay() {

View File

@@ -81,7 +81,7 @@ public class SplashFragment extends Fragment
PatientProfileAPIService apiService = RetrofitHelper.getRetrofit().create(PatientProfileAPIService.class);
apiService.getUsrProfileProgress("Bearer " + patient_token)
apiService.getUsrProfileProgress("Bearer " + patient_token, AppUtil.getTimeZone())
.enqueue(new Callback<CallResponse<PatientData>>() {
@Override
public void onResponse(Call<CallResponse<PatientData>> call, Response<CallResponse<PatientData>> response) {

View File

@@ -7,6 +7,7 @@ import androidx.annotation.NonNull;
import androidx.lifecycle.ViewModel;
import com.app.simplitend.R;
import com.app.simplitend.apputils.AppUtil;
import com.app.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
import org.json.JSONArray;
@@ -81,6 +82,9 @@ public class WelcomeViewModel extends ViewModel {
RequestBody one_signal_player_id_body = RequestBody.create(patientData.one_signal_player_id, MediaType.parse("text/plain;charset=utf-8") );
body.put("one_signal_player_id", one_signal_player_id_body);
RequestBody timezone_body = RequestBody.create(AppUtil.getTimeZone(), MediaType.parse("text/plain;charset=utf-8"));
body.put("timezone", timezone_body);
welcomeRepository.registerPatient(body, registerPatientContract);
}