X-Git-Url: http://www.average.org/gitweb/?p=YkNeoCR.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fnfcauthcr%2FCheck.java;h=27a3d7161acfc7fe444c10564acb6d16ebf9d736;hp=36f3b1d8fe17cdb342a25ae85eb90ea56be7f30a;hb=7382b20863e60aad30b9320f133773b71205f2d7;hpb=c58b63e0fc452c2884c49a309b45025efd7fb5a7 diff --git a/src/org/average/nfcauthcr/Check.java b/src/org/average/nfcauthcr/Check.java index 36f3b1d..27a3d71 100644 --- a/src/org/average/nfcauthcr/Check.java +++ b/src/org/average/nfcauthcr/Check.java @@ -1,60 +1,68 @@ package org.average.nfcauthcr; -import android.app.Activity; -import android.app.AlertDialog; +import android.app.Service; import android.app.PendingIntent; -import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; import android.nfc.NfcAdapter; import android.nfc.Tag; import android.nfc.TagLostException; import android.nfc.tech.IsoDep; +import android.os.Binder; +import android.os.IBinder; +import android.preference.PreferenceManager; import android.util.Log; import android.widget.Toast; +import org.average.nfcauthcr.CheckConnector; import org.average.nfcauthcr.YkNeo; import org.average.nfcauthcr.CRException; -public class Check extends Activity { +public class Check extends Service { private final String TAG = getClass().getName(); - private AlertDialog swipeDialog; + private final CheckConnector checkConnector = new CheckConnector(); + private SharedPreferences prefs; + private int startId; private PendingIntent tagIntent; @Override - protected void onResume() { - super.onResume(); - Log.v(TAG, "Starting the work"); + public void onCreate() { + Log.v(TAG, "Created"); + prefs = PreferenceManager.getDefaultSharedPreferences(this); + } - Intent intent = getIntent(); - setResult(RESULT_CANCELED); - if (swipeDialog != null) { - swipeDialog.dismiss(); - swipeDialog = null; - } - int slot = intent.getIntExtra("slot", -1); + @Override + public int onStartCommand (Intent intent, int flags, int startId) { + Log.v(TAG, "Starting service"); + this.startId = startId; + int slot = prefs.getInt("slot_number", -1); if (slot > 0) { - swipeDialog = makeDialog(); - swipeDialog.show(); enableDispatch(slot); + } else { + stopSelf(startId); } + return START_NOT_STICKY; } @Override - protected void onPause() { - super.onPause(); - Log.v(TAG, "Finished the work"); + public IBinder onBind(Intent intent) { + Log.v(TAG, "Binding"); + checkConnector.setService(this); + return checkConnector; + } - if(swipeDialog != null) { - swipeDialog.dismiss(); - swipeDialog = null; - } + @Override + public void onDestroy() { + Log.v(TAG, "Finished the run"); disableDispatch(); } - public void onNewIntent(Intent intent) { + @Override + protected void onNewIntent(Intent intent) { Log.v(TAG, "NFC Intent arrived"); int slot = intent.getIntExtra("slot", -1); byte[] challenge = intent.getByteArrayExtra("challenge");