package com.forfan.bigbang.copy;
import android.content.Context;
import android.graphics.Rect;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
import android.widget.FrameLayout.LayoutParams;
import com.forfan.bigbang.R;
public class CopyNodeView extends View {
private Rect bound;
private String content;
private boolean selected = false;
public CopyNodeView(Context context, CopyNode copyNode, CopyActivity.OnCopyNodeViewClickCallback clickCallback) {
super(context);
bound = copyNode.getBound();
content = copyNode.getContent();
setContentDescription(content);
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
boolean state;
if(!selected) {
state = true;
} else {
state = false;
}
setActiveState(state);
clickCallback.onCopyNodeViewClick((CopyNodeView)v, state);
}
});
setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
boolean state;
if(!selected) {
state = true;
} else {
state = false;
}
setActiveState(state);
clickCallback.onCopyNodeViewLongClick((CopyNodeView)v, state);
return true;
}
});
setActiveState(false);
}
public void addToFrameLayout(FrameLayout frameLayout, int height) {
LayoutParams var3 = new LayoutParams(bound.width(), bound.height());
var3.leftMargin = bound.left;
var3.topMargin = Math.max(0, bound.top - height);
var3.width = bound.width();
var3.height = bound.height();
frameLayout.addView(this, 0, var3);
}
public String getText() {
return content;
}
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
super.onInitializeAccessibilityEvent(event);
event.setChecked(selected);
}
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setCheckable(true);
info.setChecked(selected);
}
public void setActiveState(boolean state) {
selected = state;
if(selected) {
setBackgroundColor(getContext().getResources().getColor(R.color.quarter_transparent));
} else {
// setBackgroundColor(0);
setBackgroundDrawable(getContext().getResources().getDrawable(R.drawable.universal_copy_node_bg_n));
}
sendAccessibilityEvent(0);
invalidate();
}
}