package com.heyzap.sdk;
import android.content.Context;
import android.graphics.Rect;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout;
public class LeaderboardLevelsDialog extends ClickableToast {
private FeedView feedView;
FrameLayout feedFrame;
private OnHideListener onHideListener;
public LeaderboardLevelsDialog(Context context) {
super(context);
this.setContentView(Rzap.layout("leaderboard_levels_dialog"));
this.setFocusable(true);
this.setFocusableInTouchMode(true);
feedFrame = (FrameLayout) this.findViewById(Rzap.id("levels_feed_frame"));
}
@Override
public WindowManager.LayoutParams getWmParams() {
WindowManager.LayoutParams params = super.getWmParams();
params.gravity = Gravity.CENTER;
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
params.width = ViewGroup.LayoutParams.WRAP_CONTENT;
// params.verticalMargin = 0.0f;
params.flags &= ~WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
params.flags &= ~WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
params.flags |= WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
return params;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
this.hide();
return false;
} else {
return super.onTouchEvent(event);
}
}
@Override
public void hide() {
super.hide();
if (onHideListener != null) {
onHideListener.onHide();
}
}
public void setFeedView(FeedView feedView) {
this.feedView = feedView;
feedFrame.removeAllViews();
feedFrame.addView(feedView);
}
public void setOnHideListener(OnHideListener l) {
onHideListener = l;
}
public interface OnHideListener {
public void onHide();
}
@Override
public void show() {
super.show();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
this.hide();
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}
}