Skip to content

Commit ddf0d43

Browse files
committed
fix modify family
1 parent ee1e0c2 commit ddf0d43

6 files changed

Lines changed: 99 additions & 81 deletions

File tree

app/src/main/java/org/openimis/imispolicies/ClientAndroidInterface.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4809,7 +4809,7 @@ private JSONArray toJSONArray(@NonNull Family family) throws JSONException {
48094809
jsonObject.put("insureeUUID", family.getHead().getUuid());
48104810
jsonObject.put("locationId", family.getLocationId());
48114811
jsonObject.put("poverty", family.isPoor());
4812-
jsonObject.put("isOffline", family.isOffline());
4812+
jsonObject.put("isOffline", family.isOffline() ? 1 : 0);
48134813
jsonObject.put("familyType", family.getType());
48144814
jsonObject.put("familyAddress", family.getAddress());
48154815
jsonObject.put("ethnicity", family.getEthnicity());

app/src/main/java/org/openimis/imispolicies/FamilyAdapter.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package org.openimis.imispolicies;
22

3+
import static androidx.core.app.ActivityCompat.recreate;
4+
import static org.openimis.imispolicies.util.AndroidUtils.showDialog;
5+
36
import android.app.Activity;
47
import android.app.AlertDialog;
58
import android.app.ProgressDialog;
@@ -18,6 +21,7 @@
1821
import org.json.JSONArray;
1922
import org.json.JSONException;
2023
import org.json.JSONObject;
24+
import org.openimis.imispolicies.tools.Log;
2125

2226
public class FamilyAdapter extends RecyclerView.Adapter<FamilyAdapter.ViewHolder> {
2327

@@ -91,7 +95,7 @@ private void showContextMenu(View anchorView, int position) {
9195
try {
9296
JSONObject family = families.getJSONObject(position);
9397
int familyId = family.getInt("FamilyId");
94-
int isOffline = family.getInt("isOffline");
98+
String isOffline = family.getString("isOffline");
9599
if(item.getItemId() == R.id.family_menu_edit){
96100
Intent intent = new Intent(context, FamilyInsurees.class);
97101
intent.putExtra("FamilyId", familyId);
@@ -105,27 +109,27 @@ private void showContextMenu(View anchorView, int position) {
105109
public void onClick(DialogInterface dialogInterface, int i) {
106110
showLoadingDialog();
107111
ClientAndroidInterface ca = new ClientAndroidInterface((Activity) context);
108-
if(isOffline == 0 || isOffline == 2){
112+
if(isOffline.equals("0") || isOffline.equals("2") || isOffline.equals("false")){
109113
int result = ca.DeleteOnlineDataF(familyId);
110114
if (result == 1) {
111-
ca.ShowDialog(context.getResources().getString(R.string.FamilyDeleted));
115+
showDialog(context, context.getResources().getString(R.string.FamilyDeleted));
112116
dialogInterface.dismiss();
117+
recreate((Activity) context);
113118
}
114119
} else {
115120
int deleteSuccess = ca.DeleteFamily(familyId);
116121
if (deleteSuccess == 1) {
117-
ca.ShowDialog(context.getResources().getString(R.string.FamilyDeleted));
122+
showDialog(context, context.getResources().getString(R.string.FamilyDeleted));
118123
dialogInterface.dismiss();
119-
Intent intent = new Intent(context, Enrolment.class);
120-
context.startActivity(intent);
121-
((Activity) context).finish();
124+
recreate((Activity) context);
122125
} else if(deleteSuccess == -1){
123-
ca.ShowDialog(context.getResources().getString(R.string.LoginToDeleteOnlineData));
126+
showDialog(context, context.getResources().getString(R.string.LoginToDeleteOnlineData));
124127
} else if(deleteSuccess == 3){
125128
int result = ca.DeleteOnlineDataF(familyId);
126129
if (result == 1) {
127-
ca.ShowDialog(context.getResources().getString(R.string.FamilyDeleted));
130+
showDialog(context, context.getResources().getString(R.string.FamilyDeleted));
128131
dialogInterface.dismiss();
132+
recreate((Activity) context);
129133
}
130134
}
131135
}
Lines changed: 55 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.openimis.imispolicies;
22

3-
import android.app.AlertDialog;
43
import android.app.ProgressDialog;
54
import android.content.Intent;
65
import android.os.Bundle;
@@ -9,21 +8,17 @@
98
import android.view.MenuItem;
109
import android.view.View;
1110
import android.widget.ProgressBar;
12-
import android.widget.TextView;
1311

14-
import androidx.activity.EdgeToEdge;
1512
import androidx.annotation.NonNull;
1613
import androidx.appcompat.app.AppCompatActivity;
17-
import androidx.core.graphics.Insets;
18-
import androidx.core.view.ViewCompat;
19-
import androidx.core.view.WindowInsetsCompat;
2014

2115
import com.google.android.material.button.MaterialButton;
2216
import com.google.android.material.textfield.TextInputEditText;
2317
import com.google.android.material.textfield.TextInputLayout;
2418

2519
import org.openimis.imispolicies.util.AndroidUtils;
2620

21+
2722
public class LoginActivity extends AppCompatActivity {
2823

2924
TextInputLayout layoutLoginName, layoutPassword;
@@ -32,8 +27,6 @@ public class LoginActivity extends AppCompatActivity {
3227
String officerCode;
3328
ClientAndroidInterface ca;
3429
int page;
35-
private ProgressDialog progressDialog;
36-
ProgressBar progressBar;
3730

3831
@Override
3932
protected void onCreate(Bundle savedInstanceState) {
@@ -44,60 +37,11 @@ protected void onCreate(Bundle savedInstanceState) {
4437
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
4538
}
4639
ca = new ClientAndroidInterface(this);
47-
progressDialog = new ProgressDialog(this);
4840
officerCode = ca.getOfficerCode();
4941
page = getIntent().getIntExtra("Page",0);
5042
initViews();
5143
canSave();
5244
setupListenners();
53-
54-
btnLogin.setOnClickListener(new View.OnClickListener() {
55-
@Override
56-
public void onClick(View view) {
57-
String username = txtLoginName.getText().toString();
58-
String password = txtPassword.getText().toString();
59-
60-
boolean hasInternet = ca.CheckInternetAvailable();
61-
if(!hasInternet){
62-
ca.ShowDialog(getResources().getString(R.string.NoInternet));
63-
} else {
64-
progressBar.setVisibility(View.VISIBLE);
65-
boolean loggedIn = ca.LoginJI(username, password);
66-
if(loggedIn){
67-
if(page == 0){
68-
finish();
69-
} else if (page == 1) {
70-
progressBar.setVisibility(View.GONE);
71-
Intent intent = new Intent(LoginActivity.this, SearchActivity.class);
72-
startActivity(intent);
73-
finish();
74-
} else if (page == 2) {
75-
progressBar.setVisibility(View.GONE);
76-
Intent intent = new Intent(LoginActivity.this, Enrolment.class);
77-
startActivity(intent);
78-
finish();
79-
} else if (page == 4) {
80-
progressBar.setVisibility(View.GONE);
81-
ca.launchActivity("Reports");
82-
finish();
83-
} else if (page == 5) {
84-
progressBar.setVisibility(View.GONE);
85-
ca.launchActivity("Enquire");
86-
finish();
87-
} else {
88-
progressBar.setVisibility(View.GONE);
89-
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
90-
startActivity(intent);
91-
finish();
92-
}
93-
} else {
94-
progressDialog.dismiss();
95-
ca.ShowDialog(getResources().getString(R.string.LoginFail));
96-
}
97-
}
98-
99-
}
100-
});
10145
}
10246

10347
@Override
@@ -115,7 +59,6 @@ private void initViews(){
11559
btnLogin = findViewById(R.id.btnLogin);
11660
txtLoginName = findViewById(R.id.txtLoginName);
11761
txtPassword = findViewById(R.id.txtPassword);
118-
progressBar = findViewById(R.id.loginProgressBar);
11962

12063
txtLoginName.setText(officerCode);
12164
}
@@ -164,5 +107,59 @@ public void afterTextChanged(Editable editable) {
164107

165108
}
166109
});
110+
111+
btnLogin.setOnClickListener(v -> {
112+
boolean hasInternet = ca.CheckInternetAvailable();
113+
if(!hasInternet){
114+
AndroidUtils.showDialog(LoginActivity.this, getResources().getString(R.string.NoInternet));
115+
} else {
116+
try {
117+
String username = txtLoginName.getText().toString();
118+
String password = txtPassword.getText().toString();
119+
ProgressBar loginProgressBar = findViewById(R.id.loginProgressBar);
120+
loginProgressBar.setVisibility(View.VISIBLE);
121+
new Thread(() ->{
122+
boolean loggedIn = ca.LoginJI(username, password);
123+
runOnUiThread(() -> {
124+
if (loggedIn) {
125+
if (page == 0) {
126+
finish();
127+
} else if (page == 1) {
128+
loginProgressBar.setVisibility(View.GONE);
129+
Intent intent = new Intent(LoginActivity.this, SearchActivity.class);
130+
startActivity(intent);
131+
finish();
132+
} else if (page == 2) {
133+
loginProgressBar.setVisibility(View.GONE);
134+
Intent intent = new Intent(LoginActivity.this, Enrolment.class);
135+
startActivity(intent);
136+
finish();
137+
} else if (page == 4) {
138+
loginProgressBar.setVisibility(View.GONE);
139+
ca.launchActivity("Reports");
140+
finish();
141+
} else if (page == 5) {
142+
loginProgressBar.setVisibility(View.GONE);
143+
ca.launchActivity("Enquire");
144+
finish();
145+
} else {
146+
loginProgressBar.setVisibility(View.GONE);
147+
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
148+
startActivity(intent);
149+
finish();
150+
}
151+
} else {
152+
loginProgressBar.setVisibility(View.GONE);
153+
AndroidUtils.showDialog(LoginActivity.this, getResources().getString(R.string.LoginFail));
154+
}
155+
});
156+
}).start();
157+
158+
159+
} catch (Exception e) {
160+
throw new RuntimeException(e);
161+
}
162+
}
163+
});
167164
}
168165
}

app/src/main/java/org/openimis/imispolicies/MainActivity.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,10 @@ protected void onCreate(Bundle savedInstanceState) {
304304
OfficerName = headerview.findViewById(R.id.tvOfficerName);
305305

306306
Login.setOnClickListener(v -> {
307-
wv.loadUrl("file:///android_asset/pages/Login.html?s=3");
307+
//wv.loadUrl("file:///android_asset/pages/Login.html?s=3");
308+
Intent intent = new Intent(this, LoginActivity.class);
309+
intent.putExtra("Page", 3);
310+
startActivity(intent);
308311
drawer.closeDrawer(GravityCompat.START);
309312
SetLoggedIn();
310313
});

app/src/main/java/org/openimis/imispolicies/SearchActivity.java

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import com.google.android.material.button.MaterialButton;
1919
import com.google.android.material.textfield.TextInputEditText;
2020

21+
import org.openimis.imispolicies.util.AndroidUtils;
22+
2123
public class SearchActivity extends AppCompatActivity {
2224

2325
private TextInputEditText txtSearchInsuranceNumber;
@@ -56,15 +58,26 @@ public void afterTextChanged(Editable editable) {
5658
btnSearch.setOnClickListener(new View.OnClickListener() {
5759
@Override
5860
public void onClick(View view) {
59-
progressBar.setVisibility(View.VISIBLE);
60-
String InsuranceNumber = txtSearchInsuranceNumber.getText().toString();
61-
if (ca.ModifyFamily(InsuranceNumber) == 1) {
62-
progressBar.setVisibility(View.GONE);
63-
Intent intent = new Intent(SearchActivity.this, Enrolment.class);
64-
startActivity(intent);
65-
finish();
61+
boolean hasInternet = ca.CheckInternetAvailable();
62+
if(!hasInternet){
63+
AndroidUtils.showDialog(SearchActivity.this, getResources().getString(R.string.NoInternet));
6664
} else {
67-
progressBar.setVisibility(View.GONE);
65+
progressBar = findViewById(R.id.loadingProgressBar);
66+
String InsuranceNumber = txtSearchInsuranceNumber.getText().toString();
67+
progressBar.setVisibility(View.VISIBLE);
68+
new Thread(() -> {
69+
int result = ca.ModifyFamily(InsuranceNumber);
70+
runOnUiThread(()->{
71+
if ( result == 1) {
72+
progressBar.setVisibility(View.GONE);
73+
Intent intent = new Intent(SearchActivity.this, Enrolment.class);
74+
startActivity(intent);
75+
finish();
76+
} else {
77+
progressBar.setVisibility(View.GONE);
78+
}
79+
});
80+
}).start();
6881
}
6982
}
7083
});
@@ -84,7 +97,6 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
8497
private void initViews(){
8598
btnSearch = findViewById(R.id.btnSearch);
8699
txtSearchInsuranceNumber = findViewById(R.id.txtSearchInsuranceNumber);
87-
progressBar = findViewById(R.id.loadingProgressBar);
88100
}
89101

90102
private void canSearch (){

app/src/main/res/layout/activity_login.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
android:hint="@string/LoginName"
1414
app:boxBackgroundMode="outline"
1515
app:errorIconDrawable="@null"
16-
android:layout_marginBottom="10dp"
16+
android:layout_marginTop="10dp"
1717
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
1818

1919
<com.google.android.material.textfield.TextInputEditText
@@ -31,7 +31,8 @@
3131
android:hint="@string/Password"
3232
app:boxBackgroundMode="outline"
3333
app:errorIconDrawable="@null"
34-
android:layout_marginBottom="20dp"
34+
android:layout_marginTop="10dp"
35+
app:endIconMode="password_toggle"
3536
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
3637

3738
<com.google.android.material.textfield.TextInputEditText
@@ -45,7 +46,7 @@
4546
<com.google.android.material.button.MaterialButton
4647
android:id="@+id/btnLogin"
4748
style="@style/Widget.MaterialComponents.Button"
48-
android:layout_marginBottom="20dp"
49+
android:layout_marginTop="30dp"
4950
android:layout_width="match_parent"
5051
android:layout_height="50dp"
5152
android:text="@string/Login"
@@ -56,6 +57,7 @@
5657
android:id="@+id/loginProgressBar"
5758
android:layout_width="wrap_content"
5859
android:layout_height="wrap_content"
60+
android:layout_marginTop="30dp"
5961
android:visibility="gone"
6062
android:layout_gravity="center" />
6163

0 commit comments

Comments
 (0)