package com.garethevans.church.opensongtablet;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
public class PopUpPedalsFragment extends DialogFragment {
static PopUpPedalsFragment newInstance() {
PopUpPedalsFragment frag;
frag = new PopUpPedalsFragment();
return frag;
}
Button pedalPreviousButton;
Button pedalNextButton;
Button pedalDownButton;
Button pedalUpButton;
Button pedalToggleScrollBeforeSwipeButton;
Button pedalPadButton;
Button pedalAutoScrollButton;
Button pedalMetronomeButton;
Button closePedalPopup;
String assignWhich = "";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
getDialog().setTitle(getActivity().getResources().getString(R.string.options_options_pedal));
View V = inflater.inflate(R.layout.popup_pedals, container, false);
// Initialise the views
pedalPreviousButton = (Button) V.findViewById(R.id.pedalPreviousButton);
pedalNextButton = (Button) V.findViewById(R.id.pedalNextButton);
pedalDownButton = (Button) V.findViewById(R.id.pedalDownButton);
pedalUpButton = (Button) V.findViewById(R.id.pedalUpButton);
pedalToggleScrollBeforeSwipeButton = (Button) V.findViewById(R.id.pedalToggleScrollBeforeSwipeButton);
pedalPadButton = (Button) V.findViewById(R.id.pedalPadButton);
pedalAutoScrollButton = (Button) V.findViewById(R.id.pedalAutoScrollButton);
pedalMetronomeButton = (Button) V.findViewById(R.id.pedalMetronomeButton);
closePedalPopup = (Button) V.findViewById(R.id.closePedalPopup);
// Set up button listeners
closePedalPopup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
pedalPreviousButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetButtons();
pedalPreviousButton.setEnabled(false);
pedalPreviousButton.setText(getResources().getString(
R.string.pageturn_waiting));
assignWhich="prev";
}
});
pedalNextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetButtons();
pedalNextButton.setEnabled(false);
pedalNextButton.setText(getResources().getString(
R.string.pageturn_waiting));
assignWhich="next";
}
});
pedalDownButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetButtons();
pedalDownButton.setEnabled(false);
pedalDownButton.setText(getResources().getString(
R.string.pageturn_waiting));
assignWhich="down";
}
});
pedalUpButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetButtons();
pedalUpButton.setEnabled(false);
pedalUpButton.setText(getResources().getString(
R.string.pageturn_waiting));
assignWhich="up";
}
});
pedalPadButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetButtons();
pedalPadButton.setEnabled(false);
pedalPadButton.setText(getResources().getString(
R.string.pageturn_waiting));
assignWhich="pad";
}
});
pedalAutoScrollButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetButtons();
pedalAutoScrollButton.setEnabled(false);
pedalAutoScrollButton.setText(getResources().getString(
R.string.pageturn_waiting));
assignWhich="autoscroll";
}
});
pedalMetronomeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetButtons();
pedalMetronomeButton.setEnabled(false);
pedalMetronomeButton.setText(getResources().getString(
R.string.pageturn_waiting));
assignWhich="metronome";
}
});
pedalToggleScrollBeforeSwipeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (FullscreenActivity.toggleScrollBeforeSwipe.equals("Y")) {
String text = getResources().getString(R.string.toggleScrollBeforeSwipe) + "\n" + getResources().getString(R.string.currently) + "=" + getResources().getString(R.string.no);
pedalToggleScrollBeforeSwipeButton.setText(text);
FullscreenActivity.toggleScrollBeforeSwipe = "N";
FullscreenActivity.myToastMessage = getResources().getString(R.string.toggleScrollBeforeSwipeToggle) + " " + getResources().getString(R.string.off);
ShowToast.showToast(getActivity());
} else {
FullscreenActivity.toggleScrollBeforeSwipe = "Y";
String text = getResources().getString(R.string.toggleScrollBeforeSwipe) + "\n" + getResources().getString(R.string.currently) + "=" + getResources().getString(R.string.yes);
pedalToggleScrollBeforeSwipeButton.setText(text);
FullscreenActivity.myToastMessage = getResources().getString(R.string.toggleScrollBeforeSwipeToggle) + " " + getResources().getString(R.string.on);
ShowToast.showToast(getActivity());
}
Preferences.savePreferences();
}
});
resetButtons();
return V;
}
public void resetButtons() {
pedalPreviousButton.setEnabled(true);
pedalNextButton.setEnabled(true);
pedalDownButton.setEnabled(true);
pedalUpButton.setEnabled(true);
pedalToggleScrollBeforeSwipeButton.setEnabled(true);
pedalPadButton.setEnabled(true);
pedalAutoScrollButton.setEnabled(true);
pedalMetronomeButton.setEnabled(true);
if (FullscreenActivity.pageturner_PREVIOUS==-1) {
String text = getResources().getString(R.string.pageturn_previous) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + getResources().getString(R.string.notset);
pedalPreviousButton.setText(text);
} else {
String text = getResources().getString(R.string.pageturn_previous) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + FullscreenActivity.pageturner_PREVIOUS;
pedalPreviousButton.setText(text);
}
if (FullscreenActivity.pageturner_NEXT==-1) {
String text = getResources().getString(R.string.pageturn_next) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + getResources().getString(R.string.notset);
pedalNextButton.setText(text);
} else {
String text = getResources().getString(R.string.pageturn_next) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + FullscreenActivity.pageturner_NEXT;
pedalNextButton.setText(text);
}
if (FullscreenActivity.pageturner_UP==-1) {
String text = getResources().getString(R.string.pageturn_up) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + getResources().getString(R.string.notset);
pedalUpButton.setText(text);
} else {
String text = getResources().getString(R.string.pageturn_up) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + FullscreenActivity.pageturner_UP;
pedalUpButton.setText(text);
}
if (FullscreenActivity.pageturner_DOWN==-1) {
String text = getResources().getString(R.string.pageturn_down) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + getResources().getString(R.string.notset);
pedalDownButton.setText(text);
} else {
String text = getResources().getString(R.string.pageturn_down) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + FullscreenActivity.pageturner_DOWN;
pedalDownButton.setText(text);
}
if (FullscreenActivity.pageturner_PAD==-1) {
String text = getResources().getString(R.string.padPedalText) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + getResources().getString(R.string.notset);
pedalPadButton.setText(text);
} else {
String text = getResources().getString(R.string.padPedalText) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + FullscreenActivity.pageturner_PAD;
pedalPadButton.setText(text);
}
if (FullscreenActivity.pageturner_AUTOSCROLL==-1) {
String text = getResources().getString(R.string.autoscrollPedalText) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + getResources().getString(R.string.notset);
pedalAutoScrollButton.setText(text);
} else {
String text = getResources().getString(R.string.autoscrollPedalText) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + FullscreenActivity.pageturner_AUTOSCROLL;
pedalAutoScrollButton.setText(text);
}
if (FullscreenActivity.pageturner_METRONOME==-1) {
String text = getResources().getString(R.string.metronomePedalText) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + getResources().getString(R.string.notset);
pedalMetronomeButton.setText(text);
} else {
String text = getResources().getString(R.string.metronomePedalText) + "\n" + getResources().getString(R.string.currentkeycode) + "=" + FullscreenActivity.pageturner_METRONOME;
pedalMetronomeButton.setText(text);
}
if (FullscreenActivity.toggleScrollBeforeSwipe.equals("Y")) {
String text = getResources().getString(R.string.toggleScrollBeforeSwipe) + "\n" + getResources().getString(R.string.currently) + "=" + getResources().getString(R.string.yes);
pedalToggleScrollBeforeSwipeButton.setText(text);
} else {
String text = getResources().getString(R.string.toggleScrollBeforeSwipe) + "\n" + getResources().getString(R.string.currently) + "=" + getResources().getString(R.string.no);
pedalToggleScrollBeforeSwipeButton.setText(text);
}
}
@Override
public void onResume() {
super.onResume();
getDialog().setOnKeyListener(new DialogInterface.OnKeyListener() {
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP) {
Log.d("d", "up press=" + keyCode);
// Reset buttons already using this keycode
if (FullscreenActivity.pageturner_PREVIOUS == keyCode) {
FullscreenActivity.pageturner_PREVIOUS = -1;
} else if (FullscreenActivity.pageturner_NEXT == keyCode) {
FullscreenActivity.pageturner_NEXT = -1;
} else if (FullscreenActivity.pageturner_UP == keyCode) {
FullscreenActivity.pageturner_UP = -1;
} else if (FullscreenActivity.pageturner_DOWN == keyCode) {
FullscreenActivity.pageturner_DOWN = -1;
} else if (FullscreenActivity.pageturner_PAD == keyCode) {
FullscreenActivity.pageturner_PAD = -1;
} else if (FullscreenActivity.pageturner_AUTOSCROLL == keyCode) {
FullscreenActivity.pageturner_AUTOSCROLL = -1;
} else if (FullscreenActivity.pageturner_METRONOME == keyCode) {
FullscreenActivity.pageturner_METRONOME = -1;
}
if (keyCode == KeyEvent.KEYCODE_BACK && assignWhich.length()>0) {
//User has pressed the back key - not allowed!!!!
FullscreenActivity.myToastMessage = getResources().getString(R.string.no);
ShowToast.showToast(getActivity());
} else if (keyCode == KeyEvent.KEYCODE_BACK && assignWhich.length()==0) {
dismiss();
return false;
} else if (assignWhich.equals("prev")) {
FullscreenActivity.pageturner_PREVIOUS = keyCode;
Preferences.savePreferences();
} else if (assignWhich.equals("next")) {
FullscreenActivity.pageturner_NEXT = keyCode;
Preferences.savePreferences();
} else if (assignWhich.equals("up")) {
FullscreenActivity.pageturner_UP = keyCode;
Preferences.savePreferences();
} else if (assignWhich.equals("down")) {
FullscreenActivity.pageturner_DOWN = keyCode;
Preferences.savePreferences();
} else if (assignWhich.equals("pad")) {
FullscreenActivity.pageturner_PAD = keyCode;
Preferences.savePreferences();
} else if (assignWhich.equals("autoscroll")) {
FullscreenActivity.pageturner_AUTOSCROLL = keyCode;
Preferences.savePreferences();
} else if (assignWhich.equals("metronome")) {
FullscreenActivity.pageturner_METRONOME = keyCode;
Preferences.savePreferences();
}
assignWhich = "";
resetButtons();
}
return true; // pretend we've processed it
}
});
}
@Override
public void onStart() {
super.onStart();
// safety check
if (getDialog() == null) {
return;
}
getDialog().getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
}
}