@Override
 public void addOnErrorListener(OnErrorListener listener) {
   if (mOnError.get(listener) != null) {
     // listener is already registered
     return;
   }
   try {
     synchronized (mOnError) {
       OnErrorListenerTransport transport = new OnErrorListenerTransport(listener);
       mService.addOnErrorListener(transport);
       mOnError.put(listener, transport);
     }
   } catch (RemoteException ex) {
     Log.e(TAG, "addOnErrorListener: RemoteException", ex);
   }
 }