package info.guardianproject.securereaderinterface.views;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
import info.guardianproject.securereaderinterface.R;
public class StoryListHintTorView extends FrameLayout implements View.OnClickListener
{
public interface OnButtonClickedListener
{
void onNoNetClicked();
void onGoOnlineClicked();
}
private View mViewExpand;
private View mViewCollapse;
private View mViewExpansionArea;
private View mBtnGoOnline;
private View mBtnNoNet;
private OnButtonClickedListener mOnButtonClickedListener;
private View mLlConnected;
private View mLlNotConnected;
public StoryListHintTorView(Context context)
{
super(context);
}
public StoryListHintTorView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public StoryListHintTorView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
public void setOnButtonClickedListener(OnButtonClickedListener listener)
{
mOnButtonClickedListener = listener;
}
@Override
protected void onFinishInflate()
{
super.onFinishInflate();
mViewExpand = findViewById(R.id.llExpander);
mViewCollapse = findViewById(R.id.llCollapser);
mViewExpansionArea = findViewById(R.id.llExpansionArea);
mBtnGoOnline = findViewById(R.id.btnGoOnline);
mBtnNoNet = findViewById(R.id.btnNoNet);
mLlConnected = findViewById(R.id.llConnected);
mLlNotConnected = findViewById(R.id.llNotConnected);
if (!isInEditMode())
{
mViewExpand.setOnClickListener(this);
mViewCollapse.setOnClickListener(this);
mBtnGoOnline.setOnClickListener(this);
mBtnNoNet.setOnClickListener(this);
onClick(mViewCollapse);
mBtnGoOnline.setVisibility(View.GONE);
}
}
@Override
public void onClick(View v)
{
if (v == mViewExpand)
{
mViewExpand.setVisibility(View.GONE);
mViewCollapse.setVisibility(View.VISIBLE);
mViewExpansionArea.setVisibility(View.VISIBLE);
}
else if (v == mViewCollapse)
{
mViewExpand.setVisibility(View.VISIBLE);
mViewCollapse.setVisibility(View.GONE);
mViewExpansionArea.setVisibility(View.GONE);
}
else if (v == mBtnGoOnline)
{
if (this.mOnButtonClickedListener != null)
mOnButtonClickedListener.onGoOnlineClicked();
}
else if (v == mBtnNoNet)
{
if (this.mOnButtonClickedListener != null)
mOnButtonClickedListener.onNoNetClicked();
}
}
public void setIsOnline(boolean hasNetwork, boolean isConnectedToTor)
{
if (isConnectedToTor)
{
mLlConnected.setVisibility(View.VISIBLE);
mLlNotConnected.setVisibility(View.GONE);
}
else
{
if (hasNetwork)
{
mBtnGoOnline.setVisibility(View.VISIBLE);
mBtnNoNet.setVisibility(View.GONE);
}
else
{
mBtnGoOnline.setVisibility(View.GONE);
mBtnNoNet.setVisibility(View.VISIBLE);
}
mLlConnected.setVisibility(View.GONE);
mLlNotConnected.setVisibility(View.VISIBLE);
}
}
}