package org.kvj.lima1.sync; import org.kvj.bravo7.ControllerConnector; import org.kvj.bravo7.ControllerConnector.ControllerReceiver; import org.kvj.bravo7.SuperActivity; import org.kvj.lima1.sync.controller.BackgroundSyncService; import org.kvj.lima1.sync.controller.SyncController; import android.app.ProgressDialog; import android.os.AsyncTask; import android.os.Bundle; import android.widget.TextView; import com.actionbarsherlock.app.SherlockActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; public class LoginForm extends SherlockActivity implements ControllerReceiver<SyncController> { private SyncController controller = null; ControllerConnector<Lima1SyncApp, SyncController, BackgroundSyncService> cc = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_form); } @Override protected void onStart() { super.onStart(); cc = new ControllerConnector<Lima1SyncApp, SyncController, BackgroundSyncService>(this, this); cc.connectController(BackgroundSyncService.class); } @Override protected void onStop() { super.onStop(); cc.disconnectController(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.login_menu, menu); return true; } private void save() { final ProgressDialog progress = SuperActivity.showProgressDialog(this, "Checking..."); final String username = ((TextView) findViewById(R.id.login_username)).getText().toString(); final String password = ((TextView) findViewById(R.id.login_password)).getText().toString(); new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... params) { return controller.verifyToken(username, password); } @Override protected void onPostExecute(String result) { progress.dismiss(); if (null != result) { SuperActivity.notifyUser(getApplicationContext(), result); } else { finish(); } }; }.execute(); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_login_save: save(); break; } return false; } // @Override // public boolean onOptionsItemSelected(MenuItem item) { // switch (item.getItemId()) { // case R.id.menu_login_save: // save(); // break; // } // return true; // } // @Override public void onController(SyncController controller) { this.controller = controller; } }