Revert "Merge branch 'master' of ssh://git.average.org/~/NFCAuthCR"
[YkNeoCR.git] / src / org / average / nfcauthcr / Check.java
index eaf804d25a25353345e535ab5aeda8672830bae3..36f3b1d8fe17cdb342a25ae85eb90ea56be7f30a 100644 (file)
@@ -1,68 +1,60 @@
 package org.average.nfcauthcr;
 
-import android.app.Service;
+import android.app.Activity;
+import android.app.AlertDialog;
 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 Service {
+public class Check extends Activity {
 
        private final String TAG = getClass().getName();
 
-       private final CheckConnector checkConnector = new CheckConnector();
-       private SharedPreferences prefs;
-       private int startId;
+       private AlertDialog swipeDialog;
        private PendingIntent tagIntent;
 
        @Override
-       public void onCreate() {
-               Log.v(TAG, "Created");
-               prefs = PreferenceManager.getDefaultSharedPreferences(this);
-       }
+       protected void onResume() {
+               super.onResume();
+               Log.v(TAG, "Starting the work");
 
-       @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);
+               Intent intent = getIntent();
+               setResult(RESULT_CANCELED);
+               if (swipeDialog != null) {
+                       swipeDialog.dismiss();
+                       swipeDialog = null;
+               }
+               int slot = intent.getIntExtra("slot", -1);
                if (slot > 0) {
+                       swipeDialog = makeDialog();
+                       swipeDialog.show();
                        enableDispatch(slot);
-               } else {
-                       stopSelf(startId);
                }
-               return START_NOT_STICKY;
        }
 
        @Override
-       public IBinder onBind(Intent intent) {
-               Log.v(TAG, "Binding");
-               checkConnector.setService(this);
-               return checkConnector;
-       }
+       protected void onPause() {
+               super.onPause();
+               Log.v(TAG, "Finished the work");
 
-       @Override
-       public void onDestroy() {
-               Log.v(TAG, "Finished the run");
+               if(swipeDialog != null) {
+                       swipeDialog.dismiss();
+                       swipeDialog = null;
+               }
                disableDispatch();
        }
 
-       @Override
-       protected void onNewIntent(Intent intent) {
+       public void onNewIntent(Intent intent) {
                Log.v(TAG, "NFC Intent arrived");
                int slot = intent.getIntExtra("slot", -1);
                byte[] challenge = intent.getByteArrayExtra("challenge");
@@ -84,6 +76,40 @@ public class Check extends Service {
                finish();
        }
 
+       private AlertDialog makeDialog() {
+               AlertDialog.Builder builder = new AlertDialog.Builder(this);
+               builder.setTitle(R.string.challenging);
+               builder.setMessage(R.string.swipe);
+               builder.setOnCancelListener(
+                               new DialogInterface.OnCancelListener() {
+                       public void onCancel(DialogInterface dialog) {
+                               finish();
+                       }
+               });
+               return builder.create();
+       }
+
+/*
+<receiver android:name=".IsoDepReceiver"
+          android:label="IsoDepReceiver">
+     <intent-filter>
+         <action android:name="android.nfc.action.TECH_DISCOVERED" />
+     </intent-filter>
+
+     <meta-data android:name="android.nfc.action.TECH_DISCOVERED"
+         android:resource="@xml/filter_nfc"
+     />
+ </receiver>
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+     <!-- capture anything using IsoDep -->
+     <tech-list>
+         <tech>android.nfc.tech.IsoDep</tech>
+     </tech-list>
+ </resources>
+
+*/
+
        private void enableDispatch(int slot) {
                Intent intent = getIntent();
                intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);