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

AC-742 refactoring code for better support for localization #723

Merged
merged 4 commits into from
Jun 1, 2020
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
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ protected void onCreate(Bundle savedInstanceState) {
locationList = new ArrayList<>();
Bundle extras = getIntent().getExtras();
if (extras != null) {
Boolean flag = extras.getBoolean("flag");
String errorReport = extras.getString("error");
Boolean flag = extras.getBoolean(ApplicationConstants.FLAG);
String errorReport = extras.getString(ApplicationConstants.ERROR);
if (flag) {
showAppCrashDialog(errorReport);
}
Expand Down Expand Up @@ -398,9 +398,9 @@ public void showAppCrashDialog(String error) {
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_SUBJECT, R.string.error_email_subject_app_crashed);
email.putExtra(Intent.EXTRA_TEXT, error);
email.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + filename));
email.putExtra(Intent.EXTRA_STREAM, Uri.parse(ApplicationConstants.URI_FILE + filename));
//need this to prompts email client only
email.setType("message/rfc822");
email.setType(ApplicationConstants.MESSAGE_RFC_822);

startActivity(Intent.createChooser(email, getString(R.string.choose_a_email_client)));
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,10 @@

package org.openmrs.mobile.activities;


import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;

public abstract class ACBaseFragment<T extends BasePresenterContract> extends Fragment implements BaseView<T> {

protected T mPresenter;

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,21 @@
import rx.subscriptions.CompositeSubscription;

public abstract class BasePresenter implements BasePresenterContract {

private CompositeSubscription mSubscription;

public BasePresenter() {
mSubscription = new CompositeSubscription();
}

public void addSubscription(Subscription subscription) {
if(mSubscription != null) {
if (mSubscription != null) {
mSubscription.add(subscription);
}
}

@Override
public void unsubscribe() {
if(mSubscription != null) {
if (mSubscription != null) {
mSubscription.clear();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
package org.openmrs.mobile.activities;

public interface BasePresenterContract {

void subscribe();

void unsubscribe();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,5 @@
package org.openmrs.mobile.activities;

public interface BaseView<T> {

void setPresenter(T presenter);

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@

import rx.android.schedulers.AndroidSchedulers;

public class ActiveVisitPresenter extends BasePresenter implements ActiveVisitsContract.Presenter{

public class ActiveVisitPresenter extends BasePresenter implements ActiveVisitsContract.Presenter {
private ActiveVisitsContract.View mActiveVisitsView;
private VisitDAO visitDAO;

Expand All @@ -47,24 +46,24 @@ public void subscribe() {
public void updateVisitsInDatabaseList() {
mActiveVisitsView.setEmptyListText(R.string.search_visits_no_results);
addSubscription(visitDAO.getActiveVisits()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
visits -> mActiveVisitsView.updateListVisibility(visits),
error -> mActiveVisitsView.setEmptyListText(R.string.search_visits_no_results)
));
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
visits -> mActiveVisitsView.updateListVisibility(visits),
error -> mActiveVisitsView.setEmptyListText(R.string.search_visits_no_results)
));
}

public void updateVisitsInDatabaseList(final String query) {
mActiveVisitsView.setEmptyListText(R.string.search_patient_no_result_for_query, query);
addSubscription(visitDAO.getActiveVisits()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
visits -> {
visits = FilterUtil.getPatientsWithActiveVisitsFilteredByQuery(visits, query);
mActiveVisitsView.updateListVisibility(visits);
},
error -> mActiveVisitsView.setEmptyListText(R.string.search_patient_no_result_for_query, query)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
visits -> {
visits = FilterUtil.getPatientsWithActiveVisitsFilteredByQuery(visits, query);
mActiveVisitsView.updateListVisibility(visits);
},
error -> mActiveVisitsView.setEmptyListText(R.string.search_patient_no_result_for_query, query)

));
));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,15 @@
import android.view.Menu;
import android.view.MenuItem;

import org.openmrs.mobile.R;
import org.openmrs.mobile.activities.ACBaseActivity;

import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.SearchView;

public class ActiveVisitsActivity extends ACBaseActivity {
import org.openmrs.mobile.R;
import org.openmrs.mobile.activities.ACBaseActivity;

public class ActiveVisitsActivity extends ACBaseActivity {
private ActiveVisitsContract.Presenter mPresenter;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -41,13 +39,13 @@ protected void onCreate(Bundle savedInstanceState) {

// Create fragment
ActiveVisitsFragment activeVisitsFragment =
(ActiveVisitsFragment) getSupportFragmentManager().findFragmentById(R.id.activeVisitContentFrame);
(ActiveVisitsFragment) getSupportFragmentManager().findFragmentById(R.id.activeVisitContentFrame);
if (activeVisitsFragment == null) {
activeVisitsFragment = ActiveVisitsFragment.newInstance();
}
if (!activeVisitsFragment.isActive()) {
addFragmentToActivity(getSupportFragmentManager(),
activeVisitsFragment, R.id.activeVisitContentFrame);
activeVisitsFragment, R.id.activeVisitContentFrame);
}

// Create the presenter
Expand All @@ -73,15 +71,12 @@ public boolean onQueryTextSubmit(String query) {
public boolean onQueryTextChange(String query) {
if (!query.isEmpty()) {
mPresenter.updateVisitsInDatabaseList(query);
}
else {
} else {
mPresenter.updateVisitsInDatabaseList();
}
return true;
}
});
return true;
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,17 @@
import java.util.List;

public interface ActiveVisitsContract {

interface View extends BaseView<Presenter> {

void updateListVisibility(List<Visit> visitList);

void setEmptyListText(int stringId);

void setEmptyListText(int stringId, String query);
}

interface Presenter extends BasePresenterContract{

interface Presenter extends BasePresenterContract {
void updateVisitsInDatabaseList();

void updateVisitsInDatabaseList(String query);

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import java.util.List;

public class ActiveVisitsFragment extends ACBaseFragment<ActiveVisitsContract.Presenter> implements ActiveVisitsContract.View {

private RecyclerView visitsRecyclerView;
private TextView emptyList;
private ProgressBar progressBar;
Expand All @@ -57,7 +56,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this.getActivity());
visitsRecyclerView.setLayoutManager(linearLayoutManager);
visitsRecyclerView.setAdapter(new ActiveVisitsRecyclerViewAdapter(this.getActivity(),
new ArrayList<>()));
new ArrayList<>()));

emptyList = root.findViewById(R.id.emptyVisitsListViewLabel);
emptyList.setText(getString(R.string.search_visits_no_results));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@

package org.openmrs.mobile.activities.addeditpatient;

import java.util.Arrays;
import java.util.List;

import android.app.AlertDialog;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
Expand All @@ -27,12 +24,15 @@

import com.google.android.libraries.places.api.Places;
import com.google.android.libraries.places.api.net.PlacesClient;

import org.openmrs.mobile.R;
import org.openmrs.mobile.activities.ACBaseActivity;
import org.openmrs.mobile.utilities.ApplicationConstants;

public class AddEditPatientActivity extends ACBaseActivity {
import java.util.Arrays;
import java.util.List;

public class AddEditPatientActivity extends ACBaseActivity {
public AddEditPatientContract.Presenter mPresenter;
public AddEditPatientFragment addEditPatientFragment;
private AlertDialog alertDialog;
Expand All @@ -44,13 +44,13 @@ protected void onCreate(Bundle savedInstanceState) {

// Create fragment
addEditPatientFragment =
(AddEditPatientFragment) getSupportFragmentManager().findFragmentById(R.id.patientInfoContentFrame);
(AddEditPatientFragment) getSupportFragmentManager().findFragmentById(R.id.patientInfoContentFrame);
if (addEditPatientFragment == null) {
addEditPatientFragment = AddEditPatientFragment.newInstance();
}
if (!addEditPatientFragment.isActive()) {
addFragmentToActivity(getSupportFragmentManager(),
addEditPatientFragment, R.id.patientInfoContentFrame);
addEditPatientFragment, R.id.patientInfoContentFrame);
}

//Check if bundle includes patient ID
Expand All @@ -71,7 +71,7 @@ protected void onCreate(Bundle savedInstanceState) {
try {
applicationInfo = this.getPackageManager().getApplicationInfo(this.getPackageName(), PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
Log.e("Package Manager",e.getMessage());
Log.e("Package Manager", e.getMessage());
}
Bundle bundle = applicationInfo.metaData;
String googleMapToken = bundle.getString("com.google.android.geo.API_KEY");
Expand Down Expand Up @@ -124,17 +124,16 @@ private void showInfoLostDialog() {
alertDialogBuilder.setTitle(R.string.dialog_title_reset_patient);
// set dialog message
alertDialogBuilder
.setMessage(R.string.dialog_message_data_lost)
.setCancelable(false)
.setNeutralButton(R.string.dialog_button_stay, (dialog, id) -> dialog.cancel())
.setNegativeButton(R.string.dialog_button_leave, (dialog, id) -> {
// Finish the activity
super.onBackPressed();
finish();
});
.setMessage(R.string.dialog_message_data_lost)
.setCancelable(false)
.setNeutralButton(R.string.dialog_button_stay, (dialog, id) -> dialog.cancel())
.setNegativeButton(R.string.dialog_button_leave, (dialog, id) -> {
// Finish the activity
super.onBackPressed();
finish();
});
alertDialog = alertDialogBuilder.create();
alertDialog.show();

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,15 @@
package org.openmrs.mobile.activities.addeditpatient;

import com.google.android.libraries.places.api.net.PlacesClient;

import org.openmrs.mobile.activities.BasePresenterContract;
import org.openmrs.mobile.activities.BaseView;
import org.openmrs.mobile.models.Patient;

import java.util.List;

public interface AddEditPatientContract {

interface View extends BaseView<Presenter> {

void finishPatientInfoActivity();

void setErrorsVisibility(boolean givenNameError,
Expand Down Expand Up @@ -54,7 +53,6 @@ void setErrorsVisibility(boolean givenNameError,
}

interface Presenter extends BasePresenterContract {

Patient getPatientToUpdate();

boolean isRegisteringPatient();
Expand All @@ -71,5 +69,4 @@ interface Presenter extends BasePresenterContract {

PlacesClient getPlaces();
}

}
Loading