package androidx.room; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.os.RemoteCallbackList; import android.os.RemoteException; import android.util.Log; import androidx.room.IMultiInstanceInvalidationService; import java.util.LinkedHashMap; import java.util.Map; import kotlin.Unit; import kotlin.jvm.internal.Intrinsics; @ExperimentalRoomApi /* loaded from: classes.dex */ public final class MultiInstanceInvalidationService extends Service { private int maxClientId; private final Map clientNames = new LinkedHashMap(); private final RemoteCallbackList callbackList = new RemoteCallbackList() { // from class: androidx.room.MultiInstanceInvalidationService$callbackList$1 @Override // android.os.RemoteCallbackList public void onCallbackDied(IMultiInstanceInvalidationCallback callback, Object cookie) { Intrinsics.checkNotNullParameter(callback, "callback"); Intrinsics.checkNotNullParameter(cookie, "cookie"); MultiInstanceInvalidationService.this.getClientNames$room_runtime_release().remove((Integer) cookie); } }; private final IMultiInstanceInvalidationService.Stub binder = new IMultiInstanceInvalidationService.Stub() { // from class: androidx.room.MultiInstanceInvalidationService$binder$1 @Override // androidx.room.IMultiInstanceInvalidationService public int registerCallback(IMultiInstanceInvalidationCallback callback, String str) { Intrinsics.checkNotNullParameter(callback, "callback"); int i = 0; if (str == null) { return 0; } RemoteCallbackList callbackList$room_runtime_release = MultiInstanceInvalidationService.this.getCallbackList$room_runtime_release(); MultiInstanceInvalidationService multiInstanceInvalidationService = MultiInstanceInvalidationService.this; synchronized (callbackList$room_runtime_release) { try { multiInstanceInvalidationService.setMaxClientId$room_runtime_release(multiInstanceInvalidationService.getMaxClientId$room_runtime_release() + 1); int maxClientId$room_runtime_release = multiInstanceInvalidationService.getMaxClientId$room_runtime_release(); if (multiInstanceInvalidationService.getCallbackList$room_runtime_release().register(callback, Integer.valueOf(maxClientId$room_runtime_release))) { multiInstanceInvalidationService.getClientNames$room_runtime_release().put(Integer.valueOf(maxClientId$room_runtime_release), str); i = maxClientId$room_runtime_release; } else { multiInstanceInvalidationService.setMaxClientId$room_runtime_release(multiInstanceInvalidationService.getMaxClientId$room_runtime_release() - 1); multiInstanceInvalidationService.getMaxClientId$room_runtime_release(); } } catch (Throwable th) { throw th; } } return i; } @Override // androidx.room.IMultiInstanceInvalidationService public void unregisterCallback(IMultiInstanceInvalidationCallback callback, int i) { Intrinsics.checkNotNullParameter(callback, "callback"); RemoteCallbackList callbackList$room_runtime_release = MultiInstanceInvalidationService.this.getCallbackList$room_runtime_release(); MultiInstanceInvalidationService multiInstanceInvalidationService = MultiInstanceInvalidationService.this; synchronized (callbackList$room_runtime_release) { multiInstanceInvalidationService.getCallbackList$room_runtime_release().unregister(callback); multiInstanceInvalidationService.getClientNames$room_runtime_release().remove(Integer.valueOf(i)); } } @Override // androidx.room.IMultiInstanceInvalidationService public void broadcastInvalidation(int i, String[] tables) { Intrinsics.checkNotNullParameter(tables, "tables"); RemoteCallbackList callbackList$room_runtime_release = MultiInstanceInvalidationService.this.getCallbackList$room_runtime_release(); MultiInstanceInvalidationService multiInstanceInvalidationService = MultiInstanceInvalidationService.this; synchronized (callbackList$room_runtime_release) { String str = multiInstanceInvalidationService.getClientNames$room_runtime_release().get(Integer.valueOf(i)); if (str == null) { Log.w(Room.LOG_TAG, "Remote invalidation client ID not registered"); return; } int beginBroadcast = multiInstanceInvalidationService.getCallbackList$room_runtime_release().beginBroadcast(); for (int i2 = 0; i2 < beginBroadcast; i2++) { try { Object broadcastCookie = multiInstanceInvalidationService.getCallbackList$room_runtime_release().getBroadcastCookie(i2); Intrinsics.checkNotNull(broadcastCookie, "null cannot be cast to non-null type kotlin.Int"); int intValue = ((Integer) broadcastCookie).intValue(); String str2 = multiInstanceInvalidationService.getClientNames$room_runtime_release().get(Integer.valueOf(intValue)); if (i != intValue && Intrinsics.areEqual(str, str2)) { try { multiInstanceInvalidationService.getCallbackList$room_runtime_release().getBroadcastItem(i2).onInvalidation(tables); } catch (RemoteException e) { Log.w(Room.LOG_TAG, "Error invoking a remote callback", e); } } } catch (Throwable th) { multiInstanceInvalidationService.getCallbackList$room_runtime_release().finishBroadcast(); throw th; } } multiInstanceInvalidationService.getCallbackList$room_runtime_release().finishBroadcast(); Unit unit = Unit.INSTANCE; } } }; public final RemoteCallbackList getCallbackList$room_runtime_release() { return this.callbackList; } public final Map getClientNames$room_runtime_release() { return this.clientNames; } public final int getMaxClientId$room_runtime_release() { return this.maxClientId; } @Override // android.app.Service public IBinder onBind(Intent intent) { Intrinsics.checkNotNullParameter(intent, "intent"); return this.binder; } public final void setMaxClientId$room_runtime_release(int i) { this.maxClientId = i; } }