Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ android {
}
mvDev {
applicationId "org.openimis.imispolicies.mv"
buildConfigField "String", "API_BASE_URL", '"https://imis-mv.swisstph-mis.ch/rest/"'
buildConfigField "String", "API_BASE_URL", '"http://imis-mv.swisstph-mis.ch/rest/"'
buildConfigField "boolean", "SHOW_PAYMENT_MENU", 'true'
buildConfigField "String", "APP_DIR", '"IMIS-MVDEV"'
buildConfigField "String", "API_VERSION", '"3"'
Expand Down
Binary file removed app/libs/httpclient-4.2.3.jar
Binary file not shown.
Binary file removed app/libs/httpcore-4.2.3.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion app/src/main/assets/pages/Insuree.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
</li>
<li>
<input type="hidden" id="hfImagePath" datafield="PhotoPath" />
<input type="hidden" id="hfNewPhotoPath" datafield="PhotoPath" />
<input type="hidden" id="hfNewPhotoPath" datafield="newPhotoPath" />
<div id="imgDiv">
<img src="" alt="Image" onerror="noImage(this);" id="imgInsuree"/>
</div>
Expand Down
5 changes: 0 additions & 5 deletions app/src/main/assets/pages/Insuree.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,6 @@ $(document).ready(function () {

});





$(window).bind("onbeforeunload", function () {
Android.showDialog('bye');
});
Expand Down Expand Up @@ -215,7 +211,6 @@ $(document).ready(function () {

});


function fillDropdowns() {
fillRelationship();
fillGender();
Expand Down
42 changes: 20 additions & 22 deletions app/src/main/java/org/openimis/imispolicies/Acquire.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@
import android.widget.ImageView;
import android.widget.Toast;

import com.exact.general.General;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Target;

Expand All @@ -75,31 +74,30 @@ public class Acquire extends AppCompatActivity {
private static final int SCAN_QR_REQUEST_CODE = 0;
private static final int TAKE_PHOTO_REQUEST_CODE = 1;

General _General = new General(AppInformation.DomainInfo.getDomain());
Global global;
private Global global;

ImageButton btnScan, btnTakePhoto;
Button btnSubmit;
EditText etCHFID;
ImageView iv;
ProgressDialog pd;
Bitmap theImage;
String Path = null;
int result = 0;
private ImageButton btnScan, btnTakePhoto;
private Button btnSubmit;
private EditText etCHFID;
private ImageView iv;
private ProgressDialog pd;
private Bitmap theImage;
private String Path = null;
private int result = 0;

String msg = "";
double Longitude, Latitude;
LocationManager lm;
String towers;
ClientAndroidInterface ca;
SQLHandler sqlHandler;
private String msg = "";
private double Longitude, Latitude;
private LocationManager lm;
private String towers;
private ClientAndroidInterface ca;
private SQLHandler sqlHandler;

File tempPhotoFile;
Uri tempPhotoUri;
private File tempPhotoFile;
private Uri tempPhotoUri;

Picasso picasso;
private Picasso picasso;

Target imageTarget = new Target() {
private Target imageTarget = new Target() {
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
theImage = bitmap;
Expand Down Expand Up @@ -371,7 +369,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
case R.id.mnuStatistics:
Statistics acquire = new Statistics();
acquire.IsEnrolment = true;
if (!_General.isNetworkAvailable(Acquire.this)) {
if (!global.isNetworkAvailable()) {
ShowDialog(getResources().getString(R.string.InternetRequired));
return false;
}
Expand Down
30 changes: 11 additions & 19 deletions app/src/main/java/org/openimis/imispolicies/CheckCommission.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.design.widget.Snackbar;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
Expand All @@ -14,14 +13,11 @@
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import com.exact.general.General;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
Expand All @@ -40,31 +36,27 @@
import java.util.HashMap;
import java.util.List;

import org.openimis.imispolicies.R;

public class CheckCommission extends AppCompatActivity {

Spinner spPayer;
Spinner spProduct;
Spinner spMonth;
Spinner spMode;
ClientAndroidInterface ca;
private Spinner spPayer;
private Spinner spProduct;
private Spinner spMonth;
private Spinner spMode;
private ClientAndroidInterface ca;

EditText edYear;
private EditText edYear;

Button btnClear;
Button btnCheck;
private Button btnClear;
private Button btnCheck;

Token tokenl;
ToRestApi toRestApi;
ProgressDialog pd;
private Token tokenl;
private ToRestApi toRestApi;
private ProgressDialog pd;


private ArrayList<HashMap<String, String>> PayersList = new ArrayList<>();
private ArrayList<HashMap<String, String>> ProductList = new ArrayList<>();

private General _General = new General(AppInformation.DomainInfo.getDomain());

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,14 @@

import com.exact.CallSoap.CallSoap;
import com.exact.InsureeImages;
import com.exact.general.General;
import com.exact.uploadfile.UploadFile;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Target;

import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.Arrays;
Expand Down Expand Up @@ -106,15 +103,13 @@
import java.util.UUID;
import java.util.Set;
import java.util.regex.Pattern;
import java.util.Formatter;

import org.xmlpull.v1.XmlSerializer;

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

import static android.database.sqlite.SQLiteDatabase.openOrCreateDatabase;
import static java.lang.Math.abs;

public class ClientAndroidInterface {
private Context mContext;
Expand All @@ -141,23 +136,19 @@ public class ClientAndroidInterface {
private int rtInsureeId = 0;
private int rtEnrolledId = 0;
private int enrol_result;
Bitmap myBitmap;
String resu;
String fname = null;
Bitmap theImage;
private Bitmap myBitmap;
private String resu;
private String fname = null;
private Bitmap theImage;

SQLiteDatabase db;
private SQLiteDatabase db;

static public String filePath = null;

RecyclerView.LayoutManager myLayoutManger;
EnrollmentReport enrollmentReport;

StringBuffer buffer = new StringBuffer();
Formatter formatter = new Formatter(buffer, Locale.US);


private General general = new General(AppInformation.DomainInfo.getDomain());
private ArrayList<String> mylist = new ArrayList<>();

private String salt;
Expand Down Expand Up @@ -717,10 +708,18 @@ public String getHFLevels() {

@JavascriptInterface
public String getHF(int DistrictId, String HFLevel) {
String Query = "SELECT HFID, HFCode ||\" : \"|| HFName HF FROM tblHF WHERE LocationId = ? AND HFLevel = ?";
String[] args = {String.valueOf(DistrictId), HFLevel};
JSONArray HFs;
if (HFLevel != null) {
String Query = "SELECT HFID, HFCode ||\" : \"|| HFName HF FROM tblHF WHERE LocationId = ? AND HFLevel = ?";
String[] args = {String.valueOf(DistrictId), HFLevel};

JSONArray HFs = sqlHandler.getResult(Query, args);
HFs = sqlHandler.getResult(Query, args);
} else {
String Query = "SELECT HFID, HFCode ||\" : \"|| HFName HF FROM tblHF WHERE LocationId = ?";
String[] args = {String.valueOf(DistrictId)};

HFs = sqlHandler.getResult(Query, args);
}

return HFs.toString();
}
Expand Down Expand Up @@ -1064,7 +1063,7 @@ public int SaveInsuree(String InsureeData, int FamilyId, int isHead, int ExceedT
values.put("isOffline", 1);
if (isOffline == 0 || isOffline == 2) {
if (isOffline == 2) isOffline = 0;
if (general.isNetworkAvailable(mContext)) {
if (global.isNetworkAvailable()) {
//if (isOffline == 0){
MaxInsureeId = -MaxInsureeId;
newInsureeId = MaxInsureeId;
Expand Down Expand Up @@ -1122,7 +1121,7 @@ else if (ExceedThreshold == 0)
values.put("isOffline", insureeIsOffline);
sqlHandler.updateData("tblInsuree", values, "InsureeId = ? AND (isOffline = ?)", new String[]{String.valueOf(InsureeId), String.valueOf(insureeIsOffline)});
}
if (general.isNetworkAvailable(mContext)) {
if (global.isNetworkAvailable()) {
if (isOffline == 0 || isOffline == 2) {
if (isOffline == 2) isOffline = 0;
if (global.getUserId() > 0) {
Expand Down Expand Up @@ -2347,8 +2346,7 @@ public boolean IsReceiptNumberUnique(String ReceiptNo, int FamilyId) {
e.printStackTrace();
}

//General general = new General();
if (general.isNetworkAvailable(mContext) && isOffline == 0) {
if (global.isNetworkAvailable() && isOffline == 0) {
CallSoap cs = new CallSoap();
cs.setFunctionName("isUniqueReceiptNo");
if (!cs.isUniqueReceiptNo(ReceiptNo.trim(), CHFID)) {
Expand All @@ -2373,7 +2371,7 @@ public boolean IsReceiptNumberUnique(String ReceiptNo, int FamilyId) {

@JavascriptInterface
public String checkNet() {
if (general.isNetworkAvailable(mContext)) {
if (global.isNetworkAvailable()) {
return "true";
} else {
return "false";
Expand Down Expand Up @@ -4408,7 +4406,7 @@ public Boolean UploadOfflineFeedbackRenewal(final String ActivityName) {
return false;
}

if (!general.isNetworkAvailable(mContext)) {
if (!global.isNetworkAvailable()) {
ShowDialog(mContext.getResources().getString(R.string.NoInternet));
return false;
}
Expand Down Expand Up @@ -5743,50 +5741,39 @@ private void DownloadFamilyData(JSONObject FamilyData) throws JSONException, Use
ob.put("isOffline", "true".equals(isOffline) || "1".equals(isOffline) ? 1 : 0);
ob.put("isHead", "true".equals(isHead) || "1".equals(isHead) ? 1 : 0);


newInsureeArr.put(ob);
}

InsertFamilyDataFromOnline(newFamilyArr);
InsertInsureeDataFromOnline(newInsureeArr);

//Iterate insuree array and download image for each Insuree
for (int i = 0; i < newInsureeArr.length(); i++) {
JSONObject ins = newInsureeArr.getJSONObject(i);
String PhotoPath = ins.getString("photoPath");
if (PhotoPath.length() > 0) {
Bitmap insureeImage = GetImageFromUrl(AppInformation.DomainInfo.getDomain() + "/Images/Updated/" + PhotoPath);
if (insureeImage != null) {
FileOutputStream stream = null;
JSONObject insureeObj = newInsureeArr.getJSONObject(i);

if (insureeObj.has("photoPath") && !insureeObj.isNull("photoPath") && !"null".equals(insureeObj.getString("photoPath"))) {
String photoName = insureeObj.getString("photoPath");
String imagePath = global.getImageFolder() + photoName;
insureeObj.put("photoPath", imagePath);
OutputStream imageOutputStream = new FileOutputStream(imagePath);
if (insureeObj.has("photoBase64") && !insureeObj.isNull("photoBase64") && !"null".equals(insureeObj.getString("photoBase64"))) {
try {
stream = new FileOutputStream(global.getImageFolder() + PhotoPath);
insureeImage.compress(Bitmap.CompressFormat.JPEG, 100, stream);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (stream != null)
stream.close();
byte[] imageBytes = Base64.decode(insureeObj.getString("photoBase64").getBytes(), Base64.DEFAULT);
Bitmap image = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
image.compress(Bitmap.CompressFormat.JPEG, 100, imageOutputStream);
} catch (Exception e) {
Log.e("MODIFYFAMILY", "Error while processing Base64 image", e);
}
} else {
if (photoName.length() > 0) {
String photoUrl = String.format("%sImages/Updated/%s", AppInformation.DomainInfo.getDomain(), photoName);
imageTarget = new OutputStreamImageTarget(imageOutputStream, 100);
((Activity) mContext).runOnUiThread(() -> picassoInstance.load(photoUrl).into(imageTarget));
}
}
}
}
}

private Bitmap GetImageFromUrl(String ImagePath) {
try {
java.net.URL url = new java.net.URL(ImagePath);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(input);
return bitmap;

} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
InsertFamilyDataFromOnline(newFamilyArr);
InsertInsureeDataFromOnline(newInsureeArr);
}

private boolean InsertFamilyDataFromOnline(JSONArray jsonArray) throws JSONException {
Expand Down Expand Up @@ -6187,8 +6174,7 @@ public boolean getRule(String rulename) {
@JavascriptInterface
public boolean CheckInternetAvailable() {
// check internet connection
General _General = new General(AppInformation.DomainInfo.getDomain());
if (!_General.isNetworkAvailable(mContext)) {
if (!global.isNetworkAvailable()) {
ShowDialog(mContext.getResources().getString(R.string.NoInternet));
return false;
}
Expand Down
Loading