OnLockChange callback