package zenproject.meditation.android.ui.menu.buttons.creators;
import android.content.Context;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes;
import android.support.v4.content.ContextCompat;
import android.view.Gravity;
import android.view.ViewGroup;
import zenproject.meditation.android.ContextRetriever;
import zenproject.meditation.android.R;
import zenproject.meditation.android.ui.menu.buttons.FloatingActionButton;
public final class SubActionButtonCreator {
private static final int SIZE = ContextRetriever.INSTANCE.getResources().getDimensionPixelSize(R.dimen.sub_floating_action_button_size);
private static final int MARGIN = ContextRetriever.INSTANCE.getResources().getDimensionPixelSize(R.dimen.sub_floating_action_button_margin);
private SubActionButtonCreator() {
//no-op
}
public static FloatingActionButton createFrom(Context context, @ColorRes int color, @DrawableRes int drawableId, @IdRes int resId) {
return new FloatingActionButton.Builder(context)
.withButtonSize(SIZE)
.withMargins(MARGIN, MARGIN, MARGIN, MARGIN)
.withButtonColor(ContextRetriever.INSTANCE.getApplicationContext().getResources().getColor(color))
.withGravity(Gravity.TOP | Gravity.END)
.withDrawable(ContextCompat.getDrawable(ContextRetriever.INSTANCE.getApplicationContext(), drawableId))
.withId(resId)
.createInto(getActivityContentView());
}
private static ViewGroup getActivityContentView() {
return (ViewGroup) ContextRetriever.INSTANCE.getActivity().getWindow().getDecorView().findViewById(android.R.id.content);
}
}