package com.mediamonks.googleflip.ui;
import android.content.Context;
import android.content.Intent;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import com.mediamonks.googleflip.R;
import com.mediamonks.googleflip.data.constants.IntentKeys;
import com.mediamonks.googleflip.pages.about.AboutActivity;
import com.mediamonks.googleflip.pages.calibration.CalibrationActivity;
import com.mediamonks.googleflip.pages.licenses.LicensesActivity;
import com.mediamonks.googleflip.util.SoundManager;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
import temple.core.ui.CustomButton;
/**
* Settings menu
*/
public class Settings extends FrameLayout {
@Bind(R.id.button)
protected ImageButton _button;
@Bind(R.id.outside)
protected FrameLayout _outside;
@Bind(R.id.menu)
protected LinearLayout _menu;
@Bind(R.id.calibrate_button)
protected CustomButton _calibrateButton;
@Bind(R.id.mute_button)
protected CustomButton _muteButton;
@Bind(R.id.about_button)
protected CustomButton _aboutButton;
@Bind(R.id.licenses_button)
protected CustomButton _licensesButton;
@Bind(R.id.fragment_container)
protected FrameLayout _fragmentContainer;
public Settings(Context context) {
super(context);
}
public Settings(Context context, AttributeSet attrs) {
super(context, attrs);
}
public Settings(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
ButterKnife.bind(this);
_muteButton.setText(getResources().getString(SoundManager.isMuted() ? R.string.sound_on : R.string.sound_off));
}
@OnClick(R.id.button)
protected void onButtonClick() {
SoundManager.getInstance().play(R.raw.tap);
showMenu();
}
@OnClick(R.id.calibrate_button)
protected void onCalibrateButtonClick() {
Intent intent = new Intent(new Intent(getContext(), CalibrationActivity.class));
intent.putExtra(IntentKeys.FROM, getContext().getClass().getSimpleName());
getContext().startActivity(intent);
hideMenu();
}
@OnClick(R.id.mute_button)
protected void onMuteButtonClick() {
SoundManager.toggleMute();
_muteButton.setText(getResources().getString(SoundManager.isMuted() ? R.string.sound_on : R.string.sound_off));
}
@OnClick(R.id.about_button)
protected void onAboutButtonClick() {
Intent intent = new Intent(getContext(), AboutActivity.class);
getContext().startActivity(intent);
hideMenu();
}
@OnClick(R.id.licenses_button)
protected void onLicensesButtonClick() {
Intent intent = new Intent(getContext(), LicensesActivity.class);
getContext().startActivity(intent);
hideMenu();
}
@OnClick(R.id.outside)
protected void onOutsideClick() {
hideMenu();
}
private Boolean menuIsVisible() {
return _menu.getVisibility() == View.VISIBLE;
}
private void hideMenu() {
_menu.setVisibility(View.GONE);
_outside.setVisibility(View.GONE);
}
private void showMenu() {
_menu.setVisibility(View.VISIBLE);
_outside.setVisibility(View.VISIBLE);
}
}