MC18 "Cradle already in unlocked state"

Hello

we are developing a personal shopper app for a customer.

The app will be running on Zebra MC18N0 with Android 5.1.1.

We experience two problems trying to unlock the device when it is locked in a cradle (3x1).

The first one is an exception thrown in com.symbol.emdk.personalshopper.Cradle.unlock() when the device is taken out of the cradle at the moment t is unlocked:

05-02 14:15:38.875 2301-2363/? E/JNI_Cradle: [Cradle JNI]: FAILED, sending                       command. ACK/NACK not received --> [0]

05-02 14:15:38.875 2301-2363/? E/JNI_Cradle: [Cradle JNI]: send_cmd failed- Unlock NACK

05-02 14:15:38.892 2301-2363/? I/Cradle: sendCommand::Response NACK

05-02 14:15:38.893 2301-2363/? E/com.symbol.emdk.emdkservice.cradle.SvcCradle: Cradle Failure unlocking

05-02 14:15:38.893 2301-2363/? W/System.err: com.symbol.emdk.emdkservice.cradle.SvcCradleException: Failure

05-02 14:15:38.895 2301-2363/? W/System.err:     at com.symbol.emdk.emdkservice.cradle.SvcCradle.unlock(SvcCradle.java:204)

        at com.symbol.emdk.emdkservice.ProfileService.crdUnlock(ProfileService.java:892)

        at com.symbol.emdk.emdkservice.IEMDKService$Stub.onTransact(IEMDKService.java:718)

        at android.os.Binder.execTransact(Binder.java:446)

05-02 14:15:38.896 10164-10203/xx.xxxxx.xxxxxx E/Cradle: Failure in unlock

05-02 14:15:38.898 10164-10203/xx.xxxxx.xxxxxx E/xx.xxxxx.xxxxxx: -unlock CradleException in unlock Failure

    com.symbol.emdk.personalshopper.CradleException: Failure

        at com.symbol.emdk.personalshopper.Cradle.unlock(Cradle.java:241)

        ...

Obviously the device was successfully unlocked, so we don't understand why the exception is thrown and how to deal with it.

The sencond problem is an exception also thrown in com.symbol.emdk.personalshopper.Cradle.unlock().

It is thrown quite often (appr. 10%) but we are not able to reproduce it reliably.

05-02 14:15:35.873 2301-2318/? I/Cradle: sendCommand:: ALREADY UNLOCKED

05-02 14:15:35.873 2301-2318/? E/com.symbol.emdk.emdkservice.cradle.SvcCradle: Cradle Already Unlocked

05-02 14:15:35.873 2301-2318/? W/System.err: com.symbol.emdk.emdkservice.cradle.SvcCradleException: Cradle already in unlocked state

        at com.symbol.emdk.emdkservice.cradle.SvcCradle.unlock(SvcCradle.java:199)

        at com.symbol.emdk.emdkservice.ProfileService.crdUnlock(ProfileService.java:892)

        at com.symbol.emdk.emdkservice.IEMDKService$Stub.onTransact(IEMDKService.java:718)

        at android.os.Binder.execTransact(Binder.java:446)

05-02 14:15:35.874 10164-10203/xx.xxxxx.xxxxxx E/Cradle: Failure in unlock

05-02 14:15:35.875 10164-10203/xx.xxxxx.xxxxxx E/xx.xxxxx.xxxxxx: -unlock CradleException in unlock Cradle already in unlocked state

    com.symbol.emdk.personalshopper.CradleException: Cradle already in unlocked state

        at com.symbol.emdk.personalshopper.Cradle.unlock(Cradle.java:237)

Obviously the device is locked and cannot be taken out.

So we don't understand why this exception is thrown and what to do to unlock the device.

We experience this exception 1 to 4 times in a row until the next call of Cradle.unlock() is successfull.

Does anyone else experience this behaviour?

Thanks

Simon