X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Ffonbot%2FFonBotMainActivity.java;h=2ec56e2442d1e960378f9869a1b339f9c3b8a12e;hb=2e5049c9c08b1989b4bfbbfbf479d83dbe2b75a9;hp=7ef45b849c485400cfc83276141a1fdb382ab67a;hpb=bf70dcc30a9bd5cbcd71aa8481f7171331f9f1b6;p=fonbot.git diff --git a/src/ro/ieval/fonbot/FonBotMainActivity.java b/src/ro/ieval/fonbot/FonBotMainActivity.java index 7ef45b8..2ec56e2 100644 --- a/src/ro/ieval/fonbot/FonBotMainActivity.java +++ b/src/ro/ieval/fonbot/FonBotMainActivity.java @@ -3,11 +3,11 @@ package ro.ieval.fonbot; import static ro.ieval.fonbot.R.string.logging_in; import static ro.ieval.fonbot.Utils.toNonNull; -import java.util.Collections; - +import java.io.InputStream; import org.eclipse.jdt.annotation.Nullable; import ro.ieval.fonbot.FonBotMainService.Binder; +import ro.ieval.fonbot.HttpCallExecutableRunnable.ResultCallback; import ro.ieval.fonbot.Utils.OngoingEvent; import android.app.ListActivity; import android.content.BroadcastReceiver; @@ -150,8 +150,8 @@ public final class FonBotMainActivity extends ListActivity { public void onReceive(@Nullable final Context context, @Nullable final Intent intent) { if(intent==null) return; - resultTextView.setText(intent.getStringExtra(SendHttpMessageAsyncTask.EXTRA_RESPONSE_MESSAGE)); - final int responseCode=intent.getIntExtra(SendHttpMessageAsyncTask.EXTRA_RESPONSE_CODE, 0); + resultTextView.setText(intent.getStringExtra(BroadcastResultCallback.EXTRA_RESPONSE_MESSAGE)); + final int responseCode=intent.getIntExtra(BroadcastResultCallback.EXTRA_RESPONSE_CODE, 0); if(responseCode>=200&&responseCode<300) resultTextView.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.tick, 0, 0); else @@ -159,6 +159,37 @@ public final class FonBotMainActivity extends ListActivity { } } + /** + * Implementation of ResultCallback that broadcasts a {@link #LOGIN_BROADCAST} + * + * @author Marius Gavrilescu + */ + public final class BroadcastResultCallback implements ResultCallback{ + /** + * Extra: the response message + */ + public static final String EXTRA_RESPONSE_MESSAGE="response_message"; + /** + * Extra: the response code + */ + public static final String EXTRA_RESPONSE_CODE="response_code"; + + @Override + public void onResult(final int responseCode, final String responseMessage, final InputStream inputStream) { + final Intent intent=new Intent(LOGIN_BROADCAST); + intent.putExtra(EXTRA_RESPONSE_MESSAGE, responseMessage); + intent.putExtra(EXTRA_RESPONSE_CODE, responseCode); + sendBroadcast(intent); + } + + @Override + public void onError(final String error) { + final Intent intent=new Intent(LOGIN_BROADCAST); + intent.putExtra(EXTRA_RESPONSE_MESSAGE, error); + sendBroadcast(intent); + } + } + /** * The one instance of {@link OngoingUpdateReceiver} */ @@ -172,13 +203,17 @@ public final class FonBotMainActivity extends ListActivity { */ private final BroadcastReceiver loginReceiver=new LoginReceiver(); /** - * The broadcast sent by {@link SendHttpMessageAsyncTask} when logging in. + * The broadcast sent by {@link HttpCallExecutableRunnable} when logging in. */ private static final String LOGIN_BROADCAST="ro.ieval.fonbot.LOGIN_RESULT"; /** * IntentFilter for {@link #loginReceiver} */ private static final IntentFilter LOGIN_FILTER=new IntentFilter(LOGIN_BROADCAST); + /** + * The one instance of {@link BroadcastResultCallback} + */ + private final BroadcastResultCallback broadcastResultCallback=new BroadcastResultCallback(); /** * The one instance of {@link ServiceConnection} */ @@ -202,8 +237,8 @@ public final class FonBotMainActivity extends ListActivity { protected void onStart() { super.onStart(); resultTextView.setText(logging_in); - new SendHttpMessageAsyncTask("/ok", toNonNull(Collections.
emptySet()), - LOGIN_BROADCAST,this).execute(); + new HttpCallExecutableRunnable("/ok", null, + toNonNull(getApplicationContext()), toNonNull(broadcastResultCallback)).execute(); connection.refreshAdapter(); }