Skip to content

Commit

Permalink
Merge pull request #434 from OpenSRP/update-anc-profile-text
Browse files Browse the repository at this point in the history
Update ANC Member Profile
  • Loading branch information
allan-on authored May 21, 2020
2 parents 08a7796 + 9c244e2 commit 3bacc10
Show file tree
Hide file tree
Showing 22 changed files with 429 additions and 98 deletions.
4 changes: 2 additions & 2 deletions opensrp-chw-anc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -87,15 +87,15 @@ allprojects {
}

dependencies {
implementation('org.smartregister:opensrp-client-core:1.9.3-SNAPSHOT@aar') {
implementation('org.smartregister:opensrp-client-core:1.10.5-SNAPSHOT@aar') {
transitive = true
exclude group: 'com.github.bmelnychuk', module: 'atv'
exclude group: 'com.google.guava', module: 'guava'
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'org.apache.httpcomponents', module: 'httpmime'
}

implementation('org.smartregister:opensrp-client-native-form:1.7.23-SNAPSHOT@aar') {
implementation('org.smartregister:opensrp-client-native-form:1.7.32-SNAPSHOT@aar') {
transitive = true
exclude group: 'com.android.support', module: 'recyclerview-v7'
exclude group: 'com.android.support', module: 'appcompat-v7'
Expand Down
2 changes: 1 addition & 1 deletion opensrp-chw-anc/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
POM_SETTING_NAME=OpenSRP Client Chw Anc
POM_SETTING_ARTIFACT_ID=opensrp-client-chw-anc
POM_SETTING_PACKAGING=aar
VERSION_NAME=0.1.58-SNAPSHOT
VERSION_NAME=0.1.59-SNAPSHOT
VERSION_CODE=1
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ public class BaseAncMemberProfileActivity extends BaseProfileActivity implements
protected TextView text_view_ga;
protected TextView text_view_address;
protected TextView text_view_id;
protected TextView textViewGravida;
protected TextView pregnancyRiskLabel;
protected TextView textview_record_anc_visit;
protected TextView textViewAncVisitNot;
protected TextView textViewNotVisitMonth;
Expand Down Expand Up @@ -96,6 +98,8 @@ public class BaseAncMemberProfileActivity extends BaseProfileActivity implements
private String ancWomanName;
private SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMM", Locale.getDefault());
private String titleViewText;
private LinearLayout defaultProfileHeaderLayout;
private LinearLayout etProfileHeaderLayout;

public BaseAncMemberProfileActivity() {
memberObject = new MemberObject();
Expand Down Expand Up @@ -177,12 +181,11 @@ protected void displayView() {
Visit lastAncHomeVisitNotDoneEvent = getVisit(Constants.EVENT_TYPE.ANC_HOME_VISIT_NOT_DONE);
Visit lastAncHomeVisitNotDoneUndoEvent = getVisit(Constants.EVENT_TYPE.ANC_HOME_VISIT_NOT_DONE_UNDO);

if(lastAncHomeVisitNotDoneEvent != null && lastAncHomeVisitNotDoneUndoEvent != null &&
if (lastAncHomeVisitNotDoneEvent != null && lastAncHomeVisitNotDoneUndoEvent != null &&
lastAncHomeVisitNotDoneUndoEvent.getDate().before(lastAncHomeVisitNotDoneEvent.getDate())
&& ancHomeVisitNotDoneEvent(lastAncHomeVisitNotDoneEvent)){
&& ancHomeVisitNotDoneEvent(lastAncHomeVisitNotDoneEvent)) {
setVisitViews();
}
else if (lastAncHomeVisitNotDoneUndoEvent == null && lastAncHomeVisitNotDoneEvent != null && ancHomeVisitNotDoneEvent(lastAncHomeVisitNotDoneEvent)) {
} else if (lastAncHomeVisitNotDoneUndoEvent == null && lastAncHomeVisitNotDoneEvent != null && ancHomeVisitNotDoneEvent(lastAncHomeVisitNotDoneEvent)) {
setVisitViews();
}
Visit lastVisit = getVisit(Constants.EVENT_TYPE.ANC_HOME_VISIT);
Expand Down Expand Up @@ -237,7 +240,7 @@ protected void setUpEditViews(boolean enable, boolean within24Hours, Long longDa

//TODO: Find source of NPE
public void openVisitMonthView() {
if(layoutNotRecordView == null || layoutRecordButtonDone == null || layoutRecordView == null)
if (layoutNotRecordView == null || layoutRecordButtonDone == null || layoutRecordView == null)
return;

layoutNotRecordView.setVisibility(View.VISIBLE);
Expand Down Expand Up @@ -276,6 +279,49 @@ public void setMemberChwMemberId(String memberChwMemberId) {
text_view_id.setText(uniqueId);
}

@Override
public void setMemberGravida(String gravida) {
if (textViewGravida != null && StringUtils.isNotBlank(gravida)) {
String gravidaTextValue = String.format(getString(R.string.gravida_text), gravida);
textViewGravida.setText(gravidaTextValue);
}
}

@Override
public void setPregnancyRiskLabel(String pregnancyRiskLevel) {
if (pregnancyRiskLabel != null && StringUtils.isNotBlank(pregnancyRiskLevel)) {
int labelTextColor;
int background;
String labelText;
switch (pregnancyRiskLevel) {
case Constants.HOME_VISIT.PREGNANCY_RISK_LOW:
labelTextColor = context().getColorResource(R.color.low_risk_text_green);
background = R.drawable.low_risk_label;
labelText = getContext().getString(R.string.low_pregnancy_risk);
break;
case Constants.HOME_VISIT.PREGNANCY_RISK_MEDIUM:
labelTextColor = context().getColorResource(R.color.medium_risk_text_orange);
background = R.drawable.medium_risk_label;
labelText = getContext().getString(R.string.medium_pregnancy_risk);
break;
case Constants.HOME_VISIT.PREGNANCY_RISK_HIGH:
labelTextColor = context().getColorResource(R.color.high_risk_text_red);
background = R.drawable.high_risk_label;
labelText = getContext().getString(R.string.high_pregnancy_risk);
break;
default:
labelTextColor = context().getColorResource(R.color.default_risk_text_black);
background = R.drawable.risk_label;
labelText = getContext().getString(R.string.low_pregnancy_risk);
break;
}
pregnancyRiskLabel.setVisibility(View.VISIBLE);
pregnancyRiskLabel.setText(labelText);
pregnancyRiskLabel.setTextColor(labelTextColor);
pregnancyRiskLabel.setBackgroundResource(background);
}
}

@Override
public MemberObject getMemberObject(String baseEntityID) {
return null;
Expand All @@ -300,6 +346,7 @@ public void openUpcomingService() {
public void openFamilyDueServices() {
// TODO implement
}

@Override
public void openFamilyLocation() {
// TODO implement
Expand Down Expand Up @@ -399,6 +446,11 @@ public void onMemberDetailsReloaded(MemberObject memberObject) {
initializeFloatingMenu();
}

@Override
public boolean hasEmergencyTransport() {
return false;
}

@Override
protected void onResumption() {
Timber.v("Empty onResumption");
Expand All @@ -412,10 +464,9 @@ public void onClick(View v) {
this.openUpcomingService();
} else if (v.getId() == R.id.rlFamilyLocation) {
this.openFamilyLocation();
}
else if (v.getId() == R.id.rlFamilyServicesDue) {
} else if (v.getId() == R.id.rlFamilyServicesDue) {
this.openFamilyDueServices();
}else if (v.getId() == R.id.textview_anc_visit_not) {
} else if (v.getId() == R.id.textview_anc_visit_not) {
presenter().getView().setVisitNotDoneThisMonth();
} else if (v.getId() == R.id.textview_undo) {
presenter().getView().updateVisitNotDone(0);
Expand Down Expand Up @@ -448,12 +499,16 @@ protected void setupViews() {
if (StringUtils.isNotBlank(memberObject.getPrimaryCareGiver()) && memberObject.getPrimaryCareGiver().equals(memberObject.getBaseEntityId())) {
findViewById(R.id.primary_anc_caregiver).setVisibility(View.VISIBLE);
}
defaultProfileHeaderLayout = findViewById(R.id.default_profile_header_layout);
etProfileHeaderLayout = findViewById(R.id.et_profile_header_layout);

initializeFloatingMenu();
text_view_anc_member_name = findViewById(R.id.text_view_anc_member_name);
text_view_ga = findViewById(R.id.text_view_ga);
text_view_address = findViewById(R.id.text_view_address);
text_view_id = findViewById(R.id.text_view_id);
textViewGravida = findViewById(R.id.text_view_gravida);
pregnancyRiskLabel = findViewById(R.id.risk_label);
textview_record_anc_visit = findViewById(R.id.textview_record_visit);
view_anc_record = findViewById(R.id.view_record);
layoutRecordView = findViewById(R.id.record_visit_bar);
Expand Down Expand Up @@ -509,6 +564,18 @@ public String getTitleViewText() {
return this.titleViewText;
}

@Override
public void setDefaultProfileHeaderActive() {
defaultProfileHeaderLayout.setVisibility(View.VISIBLE);
etProfileHeaderLayout.setVisibility(View.GONE);
}

@Override
public void setEmTransProfileHeaderActive() {
defaultProfileHeaderLayout.setVisibility(View.GONE);
etProfileHeaderLayout.setVisibility(View.VISIBLE);
}

public String getFamilyHeadName() {
return memberObject.getFamilyHeadName();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,14 @@ interface View {

void setMemberChwMemberId(String memberChwMemberId);

void setMemberGravida(String gravida);

void setPregnancyRiskLabel(String pregnancyRiskLevel);

void setDefaultProfileHeaderActive();

void setEmTransProfileHeaderActive();

MemberObject getMemberObject(String baseEntityID);

BaseAncMemberProfileContract.Presenter presenter();
Expand Down Expand Up @@ -50,6 +58,8 @@ interface View {
void setFamilyStatus(AlertStatus status);

void onMemberDetailsReloaded(MemberObject memberObject);

boolean hasEmergencyTransport();
}

interface Presenter extends BaseProfileContract.Presenter {
Expand All @@ -69,7 +79,7 @@ interface Interactor {

MemberObject getMemberClient(String memberID);

void refreshProfileView(MemberObject memberObject, boolean isForEdit, InteractorCallBack callback);
void refreshProfileView(MemberObject memberObject, boolean isForEdit, boolean hasEmergencyTransport, InteractorCallBack callback);

void updateVisitNotDone(long value, InteractorCallBack callback);

Expand All @@ -81,6 +91,8 @@ interface InteractorCallBack {

void refreshProfileTopSection(MemberObject memberObject);

void setEmergencyTransportProfileDetails(MemberObject memberObject);

void refreshLastVisit(Date lastVisitDate);

void refreshUpComingServicesStatus(String service, AlertStatus status, Date date);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ public class MemberObject implements Serializable {
protected String firstName;
protected String middleName;
protected String lastName;
protected String gravida;
protected String pregnancyRiskLevel;
protected String dob;
protected String phoneNumber;
protected int confirmedContacts = 0;
Expand Down Expand Up @@ -66,7 +68,6 @@ public MemberObject(CommonPersonObjectClient pc) {
landmark = Utils.getValue(pc.getColumnmaps(), DBConstants.KEY.LANDMARK, false);



String visits = Utils.getValue(pc.getColumnmaps(), DBConstants.KEY.CONFIRMED_VISITS, false);
if (StringUtils.isNotBlank(visits)) {
confirmedContacts = Integer.parseInt(visits);
Expand Down Expand Up @@ -145,6 +146,7 @@ public String getLastName() {
return lastName;
}


public String getDob() {
return dob;
}
Expand All @@ -164,7 +166,7 @@ public String getDateCreated() {
public int getAge() {
try {
return new Period(new DateTime(getDob()), new DateTime()).getYears();
}catch (Exception e){
} catch (Exception e) {
Timber.e(e);
}
return 0;
Expand All @@ -190,6 +192,22 @@ public void setLastMenstrualPeriod(String lastMenstrualPeriod) {
this.lastMenstrualPeriod = lastMenstrualPeriod;
}

public String getGravida() {
return this.gravida;
}

public void setGravida(String gravida) {
this.gravida = gravida;
}

public String getPregnancyRiskLevel() {
return pregnancyRiskLevel;
}

public void setPregnancyRiskLevel(String pregnancyRiskLevel) {
this.pregnancyRiskLevel = pregnancyRiskLevel;
}

public void setAddress(String address) {
this.address = address;
}
Expand Down Expand Up @@ -277,9 +295,11 @@ public void setFamilyHeadPhoneNumber(String familyHeadPhoneNumber) {
public String getGps() {
return gps;
}

public void setGps(String gps) {
this.gps = gps;
}

public String getLandmark() {
return landmark;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import org.smartregister.chw.anc.contract.BaseAncMemberProfileContract;
import org.smartregister.chw.anc.domain.MemberObject;
import org.smartregister.chw.anc.util.AppExecutors;
import org.smartregister.chw.anc.util.Constants;
import org.smartregister.domain.AlertStatus;

import java.util.Date;
Expand Down Expand Up @@ -45,8 +46,14 @@ public MemberObject getMemberClient(String memberID) {
}

@Override
public void refreshProfileView(final MemberObject memberObject, final boolean isForEdit, final BaseAncMemberProfileContract.InteractorCallBack callback) {
Runnable runnable = () -> appExecutors.mainThread().execute(() -> callback.refreshProfileTopSection(memberObject));
public void refreshProfileView(MemberObject memberObject, final boolean isForEdit, boolean hasEmergencyTransport, final BaseAncMemberProfileContract.InteractorCallBack callback) {
Runnable runnable = () -> appExecutors.mainThread().execute(() -> {
callback.refreshProfileTopSection(memberObject);
if (hasEmergencyTransport) {
MemberObject etMemberObject = getEmergencyTransportDetails(memberObject);
callback.setEmergencyTransportProfileDetails(etMemberObject);
}
});
appExecutors.diskIO().execute(runnable);
}

Expand All @@ -60,12 +67,14 @@ public void refreshProfileInfo(MemberObject memberObject, final BaseAncMemberPro
appExecutors.diskIO().execute(runnable);
}


@Override
public void updateVisitNotDone(long value, BaseAncMemberProfileContract.InteractorCallBack callback) {

// Implement
// Implement
}


protected MemberObject getEmergencyTransportDetails(MemberObject memberObject) {
memberObject.setGravida("1");
memberObject.setPregnancyRiskLevel(Constants.HOME_VISIT.PREGNANCY_RISK_LOW);
return memberObject;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ public class BaseAncMemberProfilePresenter implements BaseProfileContract.Presen

protected WeakReference<BaseAncMemberProfileContract.View> view;
protected BaseAncMemberProfileContract.Interactor interactor;

private MemberObject memberObject;

public BaseAncMemberProfilePresenter(BaseAncMemberProfileContract.View view, BaseAncMemberProfileContract.Interactor interactor, MemberObject memberObject) {
Expand All @@ -23,7 +22,8 @@ public BaseAncMemberProfilePresenter(BaseAncMemberProfileContract.View view, Bas

@Override
public void fetchProfileData() {
interactor.refreshProfileView(memberObject, false, this);
boolean hasEmergencyTransport = getView().hasEmergencyTransport();
interactor.refreshProfileView(memberObject, false, hasEmergencyTransport, this);
}

@Override
Expand All @@ -45,6 +45,15 @@ public void refreshProfileTopSection(MemberObject memberObject) {
getView().setMemberAddress(memberObject.getAddress());
getView().setMemberChwMemberId(memberObject.getChwMemberId());
getView().setProfileImage(memberObject.getBaseEntityId(), entityType);
getView().setMemberGravida(memberObject.getGravida());
getView().setPregnancyRiskLabel(memberObject.getPregnancyRiskLevel());
}

@Override
public void setEmergencyTransportProfileDetails(MemberObject memberObject) {
getView().setEmTransProfileHeaderActive();
getView().setMemberGravida(memberObject.getGravida());
getView().setPregnancyRiskLabel(memberObject.getPregnancyRiskLevel());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ interface DATE_FORMATS {
interface HOME_VISIT {
String VACCINE_NOT_GIVEN = "Vaccine not given";
String DOSE_NOT_GIVEN = "Dose not given";
String PREGNANCY_RISK_LOW = "Low";
String PREGNANCY_RISK_MEDIUM = "Medium";
String PREGNANCY_RISK_HIGH = "High";
}

interface HOME_VISIT_TASK {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public final class KEY {
public static final String DOB = "dob";//Date Of Birth
public static final String LAST_MENSTRUAL_PERIOD = "last_menstrual_period";
public static final String EDD = "edd";
public static final String GRAVIDA = "gravida";
public static final String DOD = "dod";
public static final String UNIQUE_ID = "unique_id";
public static final String TEMP_UNIQUE_ID = "temp_unique_id";
Expand Down
Loading

0 comments on commit 3bacc10

Please sign in to comment.