/*
* Copyright 2014 Bevbot LLC <info@bevbot.com>
*
* This file is part of the Kegtab package from the Kegbot project. For
* more information on Kegtab or Kegbot, see <http://kegbot.org/>.
*
* Kegtab is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation, version 2.
*
* Kegtab is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with Kegtab. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kegbot.app;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import org.kegbot.backend.Backend;
import org.kegbot.backend.BackendException;
import org.kegbot.core.KegbotCore;
import butterknife.ButterKnife;
/**
* @author mike wakerly (opensource@hoho.com)
*/
public class NewTapActivity extends Activity {
private static final String TAG = NewTapActivity.class.getSimpleName();
TextView mName;
Button mActivateButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_tap_activity);
mName = ButterKnife.findById(this, R.id.newTapName);
mActivateButton = ButterKnife.findById(this, R.id.newTapButton);
mActivateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
handleDoneButton();
}
});
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
private void handleDoneButton() {
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.setTitle("Activating Tap");
dialog.setMessage("Please wait ...");
dialog.show();
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
try {
final Backend backend = KegbotCore.getInstance(NewTapActivity.this).getBackend();
backend.createTap(mName.getText().toString());
return "";
} catch (BackendException e) {
Log.w(TAG, "Activation failed.", e);
return e.toString();
}
}
@Override
protected void onPostExecute(String result) {
dialog.dismiss();
if (result.isEmpty()) {
Log.d(TAG, "Activated successfully!");
KegbotCore.getInstance(NewTapActivity.this).getSyncManager().requestSync();
finish();
return;
}
new AlertDialog.Builder(NewTapActivity.this)
.setCancelable(true)
.setNegativeButton("Ok", null)
.setTitle("Activation failed")
.setMessage("Activation failed: " + result)
.show();
}
}.execute();
}
static Intent getStartIntent(Context context) {
final Intent intent = new Intent(context, NewTapActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
return intent;
}
}