Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ANC profile text #434

Merged
merged 21 commits into from
May 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
34855b0
:construction: Introduce separate layouts for default and emergency t…
allan-on May 13, 2020
ea880a6
:construction: On profile details loaded show gravida text below avatar
allan-on May 13, 2020
d59e017
:arrow_up: Update Client-core and Native-form dependencies
allan-on May 13, 2020
b489b02
:arrow_up: Increase ANC snapshot version
allan-on May 13, 2020
bffcc36
Merge branch 'master' of github.com:OpenSRP/opensrp-client-chw-anc in…
allan-on May 18, 2020
a021089
:construction: Define label background and text & background opacity …
allan-on May 18, 2020
f48a2ec
:construction: Separate profile pic and risk label layouts into defau…
allan-on May 18, 2020
d09de11
:construction: Add set pregnancy risk label details on member profile
allan-on May 19, 2020
0048a61
:construction: Add set Default or ET profile header as active
allan-on May 19, 2020
5261d9b
:arrow_up: Increase snapshot version
allan-on May 19, 2020
e3683c6
:bug: Fix reference to default label colour
allan-on May 20, 2020
83a49a9
:construction: Add contract methods for checking if profile has ET an…
allan-on May 20, 2020
96fcd1b
:construction: Implement check if profile has ET and set ET details
allan-on May 20, 2020
03287c3
:construction: Add the different pregnancy risk level labels
allan-on May 20, 2020
c0f346f
:consstruction: Add risk strings
allan-on May 20, 2020
1770bb3
:construction: Rework the default and ET layouts so that only Texts u…
allan-on May 20, 2020
b92709c
:construction: Get ET details using memberObject and correctly set ri…
allan-on May 20, 2020
5bbf6f7
Merge branch 'master' of github.com:OpenSRP/opensrp-client-chw-anc in…
allan-on May 20, 2020
36a315a
:construction: Add more marginLeft to label
allan-on May 21, 2020
2a075ec
:white_check_mark: Fix failing test
allan-on May 21, 2020
9c244e2
:white_check_mark: Add Presenter and Interactor tests
allan-on May 21, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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