Calculator Overlay
This commit is contained in:
@@ -64,6 +64,44 @@ public class CalculatorOverlayService extends Service implements ExternalCalcula
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
final int initialWindowWidth = Math.max(wm.getDefaultDisplay().getWidth() / 2, 300);
|
||||
final int initialWindowHeight = Math.max(wm.getDefaultDisplay().getHeight() / 2, 450);
|
||||
|
||||
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
|
||||
initialWindowWidth,
|
||||
initialWindowHeight,
|
||||
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
|
||||
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
|
||||
PixelFormat.TRANSLUCENT);
|
||||
|
||||
final View overlayContent = onscreenView.findViewById(R.id.overlay_content);
|
||||
final View overlayHideButton = onscreenView.findViewById(R.id.overlay_hide_button);
|
||||
overlayHideButton.setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
private boolean hidden = false;
|
||||
|
||||
private int windowHeight = initialWindowHeight;
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
final WindowManager.LayoutParams params = (WindowManager.LayoutParams) onscreenView.getLayoutParams();
|
||||
if (hidden) {
|
||||
overlayContent.setVisibility(View.VISIBLE);
|
||||
params.height = windowHeight;
|
||||
} else {
|
||||
windowHeight = params.height;
|
||||
overlayContent.setVisibility(View.GONE);
|
||||
params.height = overlayHideButton.getHeight();
|
||||
}
|
||||
|
||||
wm.updateViewLayout(onscreenView, params);
|
||||
|
||||
hidden = !hidden;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
onscreenView.findViewById(R.id.overlay_close_button).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -71,14 +109,6 @@ public class CalculatorOverlayService extends Service implements ExternalCalcula
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
|
||||
Math.max(wm.getDefaultDisplay().getWidth() / 2, 300),
|
||||
Math.max(wm.getDefaultDisplay().getHeight() / 2, 450),
|
||||
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
|
||||
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
|
||||
PixelFormat.TRANSLUCENT);
|
||||
|
||||
final TextView overlayTitleTextView = (TextView) onscreenView.findViewById(R.id.overlay_title);
|
||||
overlayTitleTextView.setOnTouchListener(new View.OnTouchListener() {
|
||||
|
||||
|
Reference in New Issue
Block a user