package com.orgzly.android.ui;
import android.content.Context;
import android.content.res.ColorStateList;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import com.orgzly.R;
import com.orgzly.android.ui.util.ActivityUtils;
public class MainFab {
/**
* Update FAB's look and action
*/
public static void updateFab(FragmentActivity activity, String fragmentTag, int selectionCount) {
FloatingActionButton fab = (FloatingActionButton) activity.findViewById(R.id.fab);
if (fab == null) {
return;
}
Fragment fragment = activity.getSupportFragmentManager().findFragmentByTag(fragmentTag);
if (fragment == null) {
fab.hide();
return;
}
/* Hide FAB if there are selected notes. */
if (selectionCount > 0) {
fab.hide();
return;
}
if (fragment instanceof Fab) {
final Runnable fabAction = ((Fab) fragment).getFabAction();
ActivityUtils.FragmentResources resources = new ActivityUtils.FragmentResources(activity, fragmentTag);
if (resources.fabDrawable != null && fabAction != null) {
fab.show();
fab.setBackgroundTintList(ColorStateList.valueOf(resources.actionColor));
fab.setImageDrawable(resources.fabDrawable);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fabAction.run();
}
});
} else {
fab.hide();
}
} else {
fab.hide();
}
}
}