package com.etiennelawlor.loop.utilities; import android.app.Activity; import android.content.Context; import android.content.res.Configuration; import android.graphics.Color; import android.graphics.Point; import android.util.DisplayMetrics; import android.view.Display; import android.view.View; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import com.etiennelawlor.loop.R; import com.etiennelawlor.loop.network.models.response.User; /** * Created by etiennelawlor on 12/19/15. */ public class DisplayUtility { // region Utility Methods public static int dp2px(Context context, int dp) { WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); DisplayMetrics displaymetrics = new DisplayMetrics(); display.getMetrics(displaymetrics); return (int) (dp * displaymetrics.density + 0.5f); } public static int px2dp(Context context, int px) { WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); DisplayMetrics displaymetrics = new DisplayMetrics(); display.getMetrics(displaymetrics); return (int) (px / displaymetrics.density + 0.5f); } public static int getScreenWidth(Context context){ Point size = new Point(); ((Activity)context).getWindowManager().getDefaultDisplay().getSize(size); return size.x; } public static boolean isInLandscapeMode(Context context){ boolean isLandscape = false; if(context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){ isLandscape = true; } return isLandscape; } public static void hideKeyboard(Context context, View view) { if (context != null) { InputMethodManager inputMethodManager = (InputMethodManager) context.getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (inputMethodManager != null) { if (view != null) { inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); } } } } public static void showKeyboard(Context context, View view) { view.requestFocus(); InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); if (inputMethodManager != null) { inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); } } public static int getPressedAvatarBackgroundColor(User user, Context context){ int avatarBackgroundColor = 0; String name = user.getName(); int hash = 7; int firstNameLength = name.length(); for (int i = 0; i < firstNameLength; i++) { hash = hash*31 + name.charAt(i); } int modulo = Math.abs(hash) % 17; String[] avatarBgColors = context.getResources().getStringArray(R.array.pressed_avatar_bg_colors); avatarBackgroundColor = Color.parseColor(avatarBgColors[modulo]); return avatarBackgroundColor; } public static int getDefaultAvatarBackgroundColor(User user, Context context){ int avatarBackgroundColor = 0; String name = user.getName(); int hash = 7; int firstNameLength = name.length(); for (int i = 0; i < firstNameLength; i++) { hash = hash*31 + name.charAt(i); } int modulo = Math.abs(hash) % 17; String[] avatarBgColors = context.getResources().getStringArray(R.array.default_avatar_bg_colors); avatarBackgroundColor = Color.parseColor(avatarBgColors[modulo]); return avatarBackgroundColor; } // endregion }