package semtex.archery;
import semtex.archery.business.SharingDispatcher;
import semtex.archery.business.interfaces.ICallback;
import semtex.archery.data.DatabaseHelper;
import semtex.archery.data.entities.Visit;
import android.content.Intent;
import android.os.Bundle;
import android.os.ParcelUuid;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.j256.ormlite.android.apptools.OrmLiteBaseActivity;
public class Sharing extends OrmLiteBaseActivity<DatabaseHelper> {
private Visit visit;
private static final int MAIL_REQUEST_CODE = 17;
private SharingDispatcher dispatcher;
private Button shareServer;
private Button shareMail;
private final View.OnClickListener shareServerClickListener = new View.OnClickListener() {
public void onClick(final View v) {
dispatcher.shareServer(new ICallback<Void>() {
public void onSuccess(final Void data) {
Toast.makeText(getApplicationContext(), "Upload succeeded!", Toast.LENGTH_LONG).show();
shareServer.setVisibility(View.INVISIBLE);
}
public void onFailure(final Throwable tr) {
Toast.makeText(getApplicationContext(), "Operation failed!", Toast.LENGTH_LONG).show();
shareServer.setEnabled(true);
}
public void inProgress() {
shareServer.setEnabled(false);
}
});
} // onClick
};
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// if (requestCode == MAIL_REQUEST_CODE) {
// if (resultCode == Activity.RESULT_OK) {
// Toast.makeText(getApplicationContext(), "Mail successfully sent", Toast.LENGTH_LONG).show();
// shareMail.setVisibility(View.INVISIBLE);
// } else {
// Toast.makeText(getApplicationContext(), "Mail not sent", Toast.LENGTH_LONG).show();
// shareMail.setEnabled(true);
// }
// }
shareMail.setVisibility(View.INVISIBLE);
}
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sharing);
final Intent intent = getIntent();
final ParcelUuid visitUuid = intent.getParcelableExtra("visit_id");
if (visitUuid != null) {
visit = getHelper().getVisitDao().queryForId(visitUuid.getUuid());
} else {
finish();
setResult(RESULT_OK);
} // visit
dispatcher = new SharingDispatcher(getHelper(), visit);
final Button exitButton = (Button)findViewById(R.id.btnShareQuit);
exitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(final View v) {
finish();
setResult(RESULT_OK);
} // onClick
});
shareMail = (Button)findViewById(R.id.btnShareMail);
shareMail.setOnClickListener(new View.OnClickListener() {
public void onClick(final View v) {
final Intent mailIntent = dispatcher.shareMail();
startActivityForResult(Intent.createChooser(mailIntent, "Share using"), MAIL_REQUEST_CODE);
} // on Click
}); // shareMail
shareServer = (Button)findViewById(R.id.btnShareServer);
shareServer.setOnClickListener(shareServerClickListener);
} // onCreate
} // Sharing