| package org.apache.fineract.ui.base; |
| |
| import android.app.Activity; |
| import android.content.Context; |
| import android.os.Bundle; |
| import androidx.annotation.NonNull; |
| import androidx.annotation.Nullable; |
| import androidx.fragment.app.Fragment; |
| import android.view.View; |
| import android.view.inputmethod.InputMethodManager; |
| |
| import org.apache.fineract.ui.uierrorhandler.FineractUIErrorHandler; |
| import org.apache.fineract.ui.uierrorhandler.UIType; |
| import org.apache.fineract.utils.ProgressBarHandler; |
| |
| public class FineractBaseFragment extends Fragment { |
| |
| private BaseActivityCallback callback; |
| private ProgressBarHandler progressBarHandler; |
| private FineractUIErrorHandler fineractUIErrorHandler; |
| |
| @Override |
| public void onCreate(Bundle savedInstanceState) { |
| super.onCreate(savedInstanceState); |
| progressBarHandler = new ProgressBarHandler(getActivity()); |
| } |
| |
| protected void showMifosProgressDialog(String message) { |
| if (callback != null) { |
| callback.showMifosProgressDialog(message); |
| } |
| } |
| |
| protected void hideMifosProgressDialog() { |
| if (callback != null) { |
| callback.hideMifosProgressDialog(); |
| } |
| } |
| |
| public void hideKeyboard(View view, Context context) { |
| InputMethodManager inputManager = (InputMethodManager) |
| context.getSystemService(Context.INPUT_METHOD_SERVICE); |
| inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager |
| .RESULT_UNCHANGED_SHOWN); |
| } |
| |
| protected void setToolbarTitle(String title) { |
| callback.setToolbarTitle(title); |
| } |
| |
| protected void showMifosProgressBar() { |
| progressBarHandler.show(); |
| } |
| |
| protected void hideMifosProgressBar() { |
| progressBarHandler.hide(); |
| } |
| |
| protected void initializeFineractUIErrorHandler(Context context, View view) { |
| fineractUIErrorHandler = new FineractUIErrorHandler(context, view); |
| } |
| |
| protected void showFineractEmptyUI(@NonNull String featureName, @Nullable String subFeatureName, |
| @NonNull Integer featureImage) { |
| fineractUIErrorHandler.showEmptyOrErrorOrNoConnectionUI(UIType.EMPTY_UI, featureName, |
| subFeatureName, featureImage); |
| } |
| |
| protected void showFineractErrorUI(@NonNull String featureName) { |
| fineractUIErrorHandler.showEmptyOrErrorOrNoConnectionUI(UIType.ERROR_UI, featureName, null, |
| null); |
| } |
| |
| protected void showFineractNoInternetUI() { |
| fineractUIErrorHandler.showEmptyOrErrorOrNoConnectionUI(UIType.NO_INTERNET, null, null, |
| null); |
| } |
| |
| @Override |
| public void onAttach(Context context) { |
| super.onAttach(context); |
| Activity activity = context instanceof Activity ? (Activity) context : null; |
| try { |
| callback = (BaseActivityCallback) activity; |
| } catch (ClassCastException e) { |
| throw new ClassCastException(activity.toString() |
| + " must implement BaseActivityCallback methods"); |
| } |
| } |
| |
| @Override |
| public void onDetach() { |
| super.onDetach(); |
| callback = null; |
| } |
| |
| } |