package com.novoda.monkeytrap;
import static android.graphics.PixelFormat.TRANSLUCENT;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
import android.content.Context;
import android.content.res.Resources;
import android.view.Gravity;
import android.view.WindowManager;
import android.widget.ImageView;
class OverlayView extends ImageView {
private static final int SAFETY_MARGIN = 20;
static WindowManager.LayoutParams createLayoutParams(Resources resources) {
final WindowManager.LayoutParams params =
new WindowManager.LayoutParams(MATCH_PARENT, retrieveStatusBarHeight(resources) + SAFETY_MARGIN,
TYPE_SYSTEM_ERROR, FLAG_NOT_FOCUSABLE | FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_NO_LIMITS
| FLAG_NOT_TOUCH_MODAL | FLAG_LAYOUT_INSET_DECOR, TRANSLUCENT);
params.gravity = Gravity.TOP;
return params;
}
private static int retrieveStatusBarHeight(Resources resources) {
int result = 0;
int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = resources.getDimensionPixelSize(resourceId);
}
return result;
}
public OverlayView(Context context) {
super(context);
}
}