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); }