X-Git-Url: http://www.average.org/gitweb/?p=YkNeoCR.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fnfcauthcr%2FNFCAuthCREnroll.java;h=6aae6f1970e4e38b30d10285ed3b1ab904abeafc;hp=30077733db632e9dcd3307dc435661ef777603fd;hb=e17a0ae9d37c1d36dd3a040341d4312f5296c60e;hpb=709b304bdfc76061ace6d86d4d04f3cbdafbfa6a diff --git a/src/org/average/nfcauthcr/NFCAuthCREnroll.java b/src/org/average/nfcauthcr/NFCAuthCREnroll.java index 3007773..6aae6f1 100644 --- a/src/org/average/nfcauthcr/NFCAuthCREnroll.java +++ b/src/org/average/nfcauthcr/NFCAuthCREnroll.java @@ -1,24 +1,98 @@ package org.average.nfcauthcr; -import android.app.Activity; import android.os.Bundle; +import android.app.Activity; +import android.app.AlertDialog; +import android.preference.PreferenceManager; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.content.DialogInterface; +import android.util.Log; +import android.view.View; +import android.widget.TextView; +import android.widget.RadioButton; public class NFCAuthCREnroll extends Activity { - private static final String logTag = "NFCAuthCR"; - - private static boolean waitingForResult = false; - - @Override - protected void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); - setContentView(R.layout.main); - } - - @Override - protected void onStop() { - super.onStop(); - if (!waitingForResult) { finish(); } - } + private final String TAG = getClass().getName(); + + private static boolean waitingForResult = false; + private static SharedPreferences prefs; + private static int slot; + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + Log.v(TAG, "Starting"); + prefs = PreferenceManager.getDefaultSharedPreferences(this); + } + + @Override + protected void onResume() { + super.onResume(); + setContentView(R.layout.main); + slot = prefs.getInt("slot_number", -1); + Log.v(TAG, "found saved slot value " + slot); + RadioButton btn = null; + switch (slot) { + case 1: btn = (RadioButton)findViewById(R.id.slot_1); + break; + case 2: btn = (RadioButton)findViewById(R.id.slot_2); + break; + } + if (btn != null) btn.setChecked(true); + } + + @Override + protected void onPause() { + super.onPause(); + Log.v(TAG, "Going inactive, try to stop"); + if (!waitingForResult) { finish(); } + } + + @Override + protected void onStop() { + super.onStop(); + Log.v(TAG, "Stop requested"); + } + + public void onSlotSelectionClicked(View view) { + Log.v(TAG, "Radio Button selected"); + if (! ((RadioButton) view).isChecked()) return; + switch(view.getId()) { + case R.id.slot_1: slot=1; break; + case R.id.slot_2: slot=2; break; + } + Editor editor = prefs.edit(); + editor.putInt("slot_number", slot); + editor.commit(); + Log.v(TAG, "stored slot number " + slot); + } + + public void onEnrollClicked(View view) { + Log.v(TAG, "Enroll clicked"); + if (slot > 0) { + showEnrollResult(" using slot" + slot); + } else { + showEnrollResult("Must specify which slot to use"); + } + } + + private void showEnrollResult(final String msg) { + Log.v(TAG, "Show result: \"" + msg + "\""); + + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(R.string.enrollresult); + builder.setMessage(msg); + builder.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + if (!waitingForResult) { finish(); } + } + }); + AlertDialog dialog = builder.create(); + dialog.show(); + } }