blob: 1033960717bfb57994c0db5438724fa3c4b9efc2 [file] [log] [blame]
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;
}
}