package org.commcare.android.adapters;
import android.view.View;
import org.commcare.activities.CommCareWiFiDirectActivity;
import org.commcare.dalvik.R;
import org.commcare.interfaces.CommCareActivityUIController;
import org.commcare.views.SquareButtonWithText;
import org.javarosa.core.services.locale.Localization;
public class WiFiDirectUIController implements CommCareActivityUIController {
private SquareButtonWithText sendButton;
private SquareButtonWithText submitButton;
private SquareButtonWithText discoverButton;
private SquareButtonWithText modeButton;
private final CommCareWiFiDirectActivity activity;
public WiFiDirectUIController(CommCareWiFiDirectActivity activity) {
this.activity = activity;
}
@Override
public void setupUI() {
setupButtonListeners();
}
private void setupButtonListeners() {
modeButton = (SquareButtonWithText)activity.findViewById(R.id.mode);
modeButton.setText(Localization.get("wifi.direct.change.mode.button"));
modeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activity.showChangeStateDialog();
}
});
submitButton = (SquareButtonWithText)activity.findViewById(R.id.submit);
submitButton.setText(Localization.get("wifi.direct.submit.button"));
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activity.submitFiles();
}
});
discoverButton = (SquareButtonWithText)activity.findViewById(R.id.discover);
discoverButton.setText(Localization.get("wifi.direct.discover.button"));
discoverButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activity.discoverPeers();
}
});
sendButton = (SquareButtonWithText)activity.findViewById(R.id.send);
sendButton.setText(Localization.get("wifi.direct.send.button"));
sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activity.prepareFileTransfer();
}
});
}
@Override
public void refreshView() {
switch (activity.getWifiDirectState()) {
case send:
sendUIState();
break;
case submit:
submitUIState();
break;
case receive:
receiveUIState();
break;
default:
errorUIState();
break;
}
}
private void sendUIState() {
modeButton.setVisibility(View.VISIBLE);
discoverButton.setVisibility(View.VISIBLE);
sendButton.setVisibility(View.VISIBLE);
submitButton.setVisibility(View.GONE);
}
private void submitUIState() {
modeButton.setVisibility(View.VISIBLE);
submitButton.setVisibility(View.VISIBLE);
sendButton.setVisibility(View.GONE);
discoverButton.setVisibility(View.GONE);
}
private void receiveUIState() {
modeButton.setVisibility(View.VISIBLE);
sendButton.setVisibility(View.GONE);
discoverButton.setVisibility(View.GONE);
submitButton.setVisibility(View.GONE);
}
private void errorUIState() {
modeButton.setVisibility(View.GONE);
sendButton.setVisibility(View.GONE);
discoverButton.setVisibility(View.GONE);
submitButton.setVisibility(View.GONE);
}
}