package com.marverenic.music.ui; import android.content.Context; import android.content.Intent; import android.content.res.Resources; import androidx.databinding.BaseObservable; import android.graphics.drawable.Drawable; import androidx.annotation.ColorInt; import androidx.annotation.ColorRes; import androidx.annotation.DimenRes; import androidx.annotation.DrawableRes; import androidx.annotation.StringRes; import androidx.core.content.ContextCompat; public abstract class BaseViewModel extends BaseObservable { private Context mContext; public BaseViewModel(Context context) { mContext = context; } protected Context getContext() { return mContext; } protected Resources getResources() { return mContext.getResources(); } @ColorInt protected int getColor(@ColorRes int colorRes) { return ContextCompat.getColor(mContext, colorRes); } protected Drawable getDrawable(@DrawableRes int drawableRes) { return ContextCompat.getDrawable(mContext, drawableRes); } protected String getString(@StringRes int stringRes) { return mContext.getString(stringRes); } protected String getString(@StringRes int stringRes, Object... formatArgs) { return mContext.getString(stringRes, formatArgs); } protected float getDimension(@DimenRes int dimenRes) { return mContext.getResources().getDimension(dimenRes); } protected int getDimensionPixelSize(@DimenRes int dimenRes) { return mContext.getResources().getDimensionPixelSize(dimenRes); } protected void startActivity(Intent intent) { mContext.startActivity(intent); } }