Search in sources :

Example 1 with KeyRevokedException

use of com.codename1.fingerprint.KeyRevokedException in project CodenameOne by codenameone.

the class FingerprintScannerSample method start.

public void start() {
    if (current != null) {
        current.show();
        return;
    }
    Form hi = new Form("Hi World", BoxLayout.y());
    TextField keyName = new TextField();
    TextField keyValue = new TextField();
    Button addItem = new Button("Add Item");
    Button getItem = new Button("Get Item");
    Button deleteItem = new Button("Delete Item");
    Button checkAvailable = new Button("Check Available");
    checkAvailable.addActionListener(evt -> {
        Container cnt = BoxLayout.encloseY(new Label("TouchID: " + Fingerprint.isTouchIDAvailable()), new Label("FaceID: " + Fingerprint.isFaceIDAvailable()));
        Dialog.show("Capabilities", cnt, new Command("OK"));
    });
    addItem.addActionListener(evt -> {
        if (!Fingerprint.isAvailable()) {
            ToastBar.showErrorMessage("Fingerprint not avaiable on this platform");
            return;
        }
        Fingerprint.addPassword("Adding secure item to keystore", keyName.getText(), keyValue.getText()).onResult((res, err) -> {
            if (err != null) {
                if (AsyncResource.isCancelled(err)) {
                    Log.p("addPassword request was cancelled");
                    return;
                }
                Log.e(err);
                ToastBar.showErrorMessage(err.getMessage());
            } else {
                ToastBar.showInfoMessage("Result: " + res);
            }
        });
    });
    getItem.addActionListener(evt -> {
        Fingerprint.getPassword("Getting secure item", keyName.getText()).onResult((res, err) -> {
            if (err != null) {
                if (AsyncResource.isCancelled(err)) {
                    Log.p("getPassword request was cancelled");
                    return;
                }
                Log.e(err);
                if (err instanceof KeyRevokedException) {
                    ToastBar.showErrorMessage("Your key has been invalidated, likely due to adding new fingerprints");
                } else {
                    ToastBar.showErrorMessage(err.getMessage());
                }
            } else {
                keyValue.setText(res);
                hi.revalidateWithAnimationSafety();
            }
        });
    });
    deleteItem.addActionListener(evt -> {
        Fingerprint.deletePassword("Getting secure item", keyName.getText()).onResult((res, err) -> {
            if (err != null) {
                if (AsyncResource.isCancelled(err)) {
                    Log.p("deletePassword request was cancelled");
                }
                Log.e(err);
                ToastBar.showErrorMessage(err.getMessage());
            } else {
                keyValue.setText("");
                hi.revalidateWithAnimationSafety();
            }
        });
    });
    Button checkHardware = new Button("Check Hardware");
    checkHardware.addActionListener(evt -> {
        Fingerprint.isAvailable();
        Dialog.show("Hardware", CN.getProperty("Fingerprint.types", "None"), "OK", null);
    });
    hi.addAll(checkHardware, new Label("Key:"), keyName, new Label("Value: "), keyValue, addItem, getItem, deleteItem, checkAvailable);
    hi.show();
}
Also used : Container(com.codename1.ui.Container) KeyRevokedException(com.codename1.fingerprint.KeyRevokedException) Form(com.codename1.ui.Form) Button(com.codename1.ui.Button) Command(com.codename1.ui.Command) Label(com.codename1.ui.Label) TextField(com.codename1.ui.TextField)

Aggregations

KeyRevokedException (com.codename1.fingerprint.KeyRevokedException)1 Button (com.codename1.ui.Button)1 Command (com.codename1.ui.Command)1 Container (com.codename1.ui.Container)1 Form (com.codename1.ui.Form)1 Label (com.codename1.ui.Label)1 TextField (com.codename1.ui.TextField)1