|
33 | 33 | import org.openimis.imisclaims.domain.entity.Diagnosis; |
34 | 34 | import org.openimis.imisclaims.domain.entity.HealthFacility; |
35 | 35 | import org.openimis.imisclaims.domain.entity.Medication; |
| 36 | +import org.openimis.imisclaims.domain.entity.ModuleConfig; |
36 | 37 | import org.openimis.imisclaims.domain.entity.PaymentList; |
37 | 38 | import org.openimis.imisclaims.domain.entity.Program; |
38 | 39 | import org.openimis.imisclaims.domain.entity.Service; |
|
41 | 42 | import org.openimis.imisclaims.tools.Log; |
42 | 43 | import org.openimis.imisclaims.tools.StorageManager; |
43 | 44 | import org.openimis.imisclaims.usecase.FetchClaimAdmins; |
| 45 | +import org.openimis.imisclaims.usecase.FetchConfigs; |
44 | 46 | import org.openimis.imisclaims.usecase.FetchControls; |
45 | 47 | import org.openimis.imisclaims.usecase.FetchDiagnosesServicesItems; |
46 | 48 | import org.openimis.imisclaims.usecase.FetchDiagnosis; |
@@ -121,7 +123,7 @@ protected void onCreate(Bundle savedInstanceState) { |
121 | 123 |
|
122 | 124 | importMasterData.setOnClickListener(view -> requestPickDatabase()); |
123 | 125 | downloadMasterData.setOnClickListener(view -> DownloadMasterData()); //TODO Not yet implemented |
124 | | - downloadMasterData.setVisibility(View.GONE); |
| 126 | + downloadMasterData.setVisibility(View.VISIBLE); |
125 | 127 | checkUpdate.setOnClickListener(view -> CheckUpdate()); |
126 | 128 |
|
127 | 129 | } |
@@ -265,17 +267,7 @@ public void ErrorDialogBox(final String message) { |
265 | 267 |
|
266 | 268 | public void DownloadMasterData() { |
267 | 269 | if (global.isNetworkAvailable()) { |
268 | | - String progress_message = getResources().getString(R.string.application); |
269 | | - pd = ProgressDialog.show(this, getResources().getString(R.string.initializing), progress_message); |
270 | | - Thread thread = new Thread(() -> { |
271 | | - if(downloadControls()){ |
272 | | - runOnUiThread(() -> { |
273 | | - pd.dismiss(); |
274 | | - downloadAdmins(); |
275 | | - }); |
276 | | - } |
277 | | - }); |
278 | | - thread.start(); |
| 270 | + downloadControls(); |
279 | 271 | } else { |
280 | 272 | ErrorDialogBox(getResources().getString(R.string.CheckInternet)); |
281 | 273 | } |
@@ -396,6 +388,7 @@ public void run() { |
396 | 388 | runOnUiThread(() -> { |
397 | 389 | pd.dismiss(); |
398 | 390 | Toast.makeText(SynchronizeActivity.this, getResources().getString(R.string.installed_updates), Toast.LENGTH_LONG).show(); |
| 391 | + downloadConfigs(); |
399 | 392 | }); |
400 | 393 | } catch (Exception e) { |
401 | 394 | e.printStackTrace(); |
@@ -545,6 +538,7 @@ public void run() { |
545 | 538 |
|
546 | 539 | runOnUiThread(() -> { |
547 | 540 | pd.dismiss(); |
| 541 | + downloadAdmins(); |
548 | 542 | }); |
549 | 543 | } catch (Exception e) { |
550 | 544 | e.printStackTrace(); |
@@ -592,7 +586,14 @@ public void downloadAdmins(){ |
592 | 586 | } catch (Exception e) { |
593 | 587 | e.printStackTrace(); |
594 | 588 | Sentry.captureException(e); |
595 | | - runOnUiThread(() -> pd.dismiss()); |
| 589 | + runOnUiThread(() -> { |
| 590 | + pd.dismiss(); |
| 591 | + if(!global.isNetworkAvailable()){ |
| 592 | + Toast.makeText(SynchronizeActivity.this, getResources().getString(R.string.CheckConnection), Toast.LENGTH_LONG).show(); |
| 593 | + }else { |
| 594 | + Toast.makeText(SynchronizeActivity.this, e.getMessage(), Toast.LENGTH_LONG).show(); |
| 595 | + } |
| 596 | + }); |
596 | 597 | } |
597 | 598 | }); |
598 | 599 | thread.start(); |
@@ -718,4 +719,43 @@ public void downloadUpdate(String lastVersion, String tagName) { |
718 | 719 | Sentry.captureException(e); |
719 | 720 | } |
720 | 721 | } |
| 722 | + |
| 723 | + public void downloadConfigs (){ |
| 724 | + if (global.isNetworkAvailable()){ |
| 725 | + String progress_message = getResources().getString(R.string.getConfig) + "..."; |
| 726 | + progressDialog = ProgressDialog.show(this, getResources().getString(R.string.download), progress_message); |
| 727 | + Thread thread = new Thread() { |
| 728 | + public void run() { |
| 729 | + try { |
| 730 | + List<ModuleConfig> configs = new FetchConfigs().execute(); |
| 731 | + if(!configs.isEmpty()){ |
| 732 | + sqlHandler.ClearAll("tblConfig"); |
| 733 | + for (int i=0; i< configs.size(); i++) { |
| 734 | + sqlHandler.InsertConfig(i+1,configs.get(i).getModule(), configs.get(i).getConfig()); |
| 735 | + } |
| 736 | + } |
| 737 | + runOnUiThread(() -> { |
| 738 | + progressDialog.dismiss(); |
| 739 | + Toast.makeText(SynchronizeActivity.this, getResources().getString(R.string.downloaded_config), Toast.LENGTH_LONG).show(); |
| 740 | + }); |
| 741 | + } catch (Exception e) { |
| 742 | + e.printStackTrace(); |
| 743 | + Sentry.captureException(e); |
| 744 | + runOnUiThread(() -> { |
| 745 | + progressDialog.dismiss(); |
| 746 | + if(!global.isNetworkAvailable()){ |
| 747 | + Toast.makeText(SynchronizeActivity.this, getResources().getString(R.string.CheckConnection), Toast.LENGTH_LONG).show(); |
| 748 | + }else { |
| 749 | + Toast.makeText(SynchronizeActivity.this, e.getMessage() + "-" + getResources().getString(R.string.AccessDenied), Toast.LENGTH_LONG).show(); |
| 750 | + } |
| 751 | + }); |
| 752 | + } |
| 753 | + }; |
| 754 | + }; |
| 755 | + thread.start(); |
| 756 | + } else { |
| 757 | + runOnUiThread(() -> progressDialog.dismiss()); |
| 758 | + ErrorDialogBox(getResources().getString(R.string.CheckInternet)); |
| 759 | + } |
| 760 | + } |
721 | 761 | } |
0 commit comments