private void ensureServiceUnbound(ListenerRecord paramListenerRecord)
 {
   if (paramListenerRecord.bound)
   {
     mContext.unbindService(this);
     paramListenerRecord.bound = false;
   }
   paramListenerRecord.service = null;
 }
 private boolean ensureServiceBound(ListenerRecord paramListenerRecord)
 {
   if (paramListenerRecord.bound)
     return true;
   Intent localIntent = new Intent("android.support.BIND_NOTIFICATION_SIDE_CHANNEL").setComponent(paramListenerRecord.componentName);
   paramListenerRecord.bound = mContext.bindService(localIntent, this, NotificationManagerCompat.SIDE_CHANNEL_BIND_FLAGS);
   if (paramListenerRecord.bound)
     paramListenerRecord.retryCount = 0;
   while (true)
   {
     return paramListenerRecord.bound;
     Log.w("NotifManCompat", "Unable to bind to listener " + paramListenerRecord.componentName);
     mContext.unbindService(this);
   }
 }
 private void scheduleListenerRetry(ListenerRecord paramListenerRecord)
 {
   if (mHandler.hasMessages(3, paramListenerRecord.componentName))
     return;
   paramListenerRecord.retryCount += 1;
   if (paramListenerRecord.retryCount > 6)
   {
     Log.w("NotifManCompat", "Giving up on delivering " + paramListenerRecord.taskQueue.size() + " tasks to " + paramListenerRecord.componentName + " after " + paramListenerRecord.retryCount + " retries");
     paramListenerRecord.taskQueue.clear();
     return;
   }
   int i = (1 << paramListenerRecord.retryCount - 1) * 1000;
   if (Log.isLoggable("NotifManCompat", 3))
     Log.d("NotifManCompat", "Scheduling retry for " + i + " ms");
   paramListenerRecord = mHandler.obtainMessage(3, paramListenerRecord.componentName);
   mHandler.sendMessageDelayed(paramListenerRecord, i);
 }