@Override
 public void handleMessage(Message msg) {
   switch (msg.what) {
     case R.id.decoded:
       String data = msg.getData().getString(DECODED_DATA);
       Toast.makeText(context, data, Toast.LENGTH_LONG).show();
       if (callback != null) {
         callback.onDecoded(data);
       }
       break;
     case R.id.decode_failed:
       // getting new frame
       cameraManager.requestNextFrame(new PreviewCallback(this, cameraManager));
       break;
   }
 }