com.google.ipc.invalidation.external.client.InvalidationListener.RegistrationState Java Examples
The following examples show how to use
com.google.ipc.invalidation.external.client.InvalidationListener.RegistrationState.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: InvalidationClientCore.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
/** Handles a server {@code header}. */ private void handleIncomingHeader(ServerMessageHeader header) { Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread"); Preconditions.checkState(nonce == null, "Cannot process server header with non-null nonce (have %s): %s", nonce, header); if (header.registrationSummary != null) { // We've received a summary from the server, so if we were suppressing // registrations, we should now allow them to go to the registrar. shouldSendRegistrations = true; // Pass the registration summary to the registration manager. If we are now in agreement // with the server and we had any pending operations, we can tell the listener that those // operations have succeeded. Set<ProtoWrapper<RegistrationP>> upcalls = registrationManager.informServerRegistrationSummary(header.registrationSummary); logger.fine("Receivced new server registration summary (%s); will make %s upcalls", header.registrationSummary, upcalls.size()); for (ProtoWrapper<RegistrationP> upcall : upcalls) { RegistrationP registration = upcall.getProto(); ObjectId objectId = ProtoConverter.convertFromObjectIdProto(registration.getObjectId()); RegistrationState regState = convertOpTypeToRegState(registration.getOpType()); listener.informRegistrationStatus(this, objectId, regState); } } }
Example #2
Source File: InvalidationClientCore.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
/** Handles a server {@code header}. */ private void handleIncomingHeader(ServerMessageHeader header) { Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread"); Preconditions.checkState(nonce == null, "Cannot process server header with non-null nonce (have %s): %s", nonce, header); if (header.registrationSummary != null) { // We've received a summary from the server, so if we were suppressing // registrations, we should now allow them to go to the registrar. shouldSendRegistrations = true; // Pass the registration summary to the registration manager. If we are now in agreement // with the server and we had any pending operations, we can tell the listener that those // operations have succeeded. Set<ProtoWrapper<RegistrationP>> upcalls = registrationManager.informServerRegistrationSummary(header.registrationSummary); logger.fine("Receivced new server registration summary (%s); will make %s upcalls", header.registrationSummary, upcalls.size()); for (ProtoWrapper<RegistrationP> upcall : upcalls) { RegistrationP registration = upcall.getProto(); ObjectId objectId = ProtoConverter.convertFromObjectIdProto(registration.getObjectId()); RegistrationState regState = convertOpTypeToRegState(registration.getOpType()); listener.informRegistrationStatus(this, objectId, regState); } } }
Example #3
Source File: ExampleListener.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void informRegistrationStatus(byte[] clientId, ObjectId objectId, RegistrationState regState) { Log.i(TAG, "informRegistrationStatus"); List<ObjectId> objectIds = new ArrayList<ObjectId>(); objectIds.add(objectId); if (regState == RegistrationState.REGISTERED) { if (!interestingObjects.contains(objectId)) { Log.i(TAG, "Unregistering for object we're no longer interested in"); unregister(clientId, objectIds); } } else { if (interestingObjects.contains(objectId)) { Log.i(TAG, "Registering for an object"); register(clientId, objectIds); } } }
Example #4
Source File: InvalidationService.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void informRegistrationStatus( byte[] clientId, ObjectId objectId, RegistrationState regState) { Log.d(TAG, "Registration status for " + objectId + ": " + regState); List<ObjectId> objectIdAsList = CollectionUtil.newArrayList(objectId); boolean registrationisDesired = readRegistrationsFromPrefs().contains(objectId); if (regState == RegistrationState.REGISTERED) { if (!registrationisDesired) { Log.i(TAG, "Unregistering for object we're no longer interested in"); unregister(clientId, objectIdAsList); } } else { if (registrationisDesired) { Log.i(TAG, "Registering for an object"); register(clientId, objectIdAsList); } } }
Example #5
Source File: ExampleListener.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void informRegistrationStatus(byte[] clientId, ObjectId objectId, RegistrationState regState) { Log.i(TAG, "informRegistrationStatus"); List<ObjectId> objectIds = new ArrayList<ObjectId>(); objectIds.add(objectId); if (regState == RegistrationState.REGISTERED) { if (!interestingObjects.contains(objectId)) { Log.i(TAG, "Unregistering for object we're no longer interested in"); unregister(clientId, objectIds); } } else { if (interestingObjects.contains(objectId)) { Log.i(TAG, "Registering for an object"); register(clientId, objectIds); } } }
Example #6
Source File: InvalidationService.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void informRegistrationStatus( byte[] clientId, ObjectId objectId, RegistrationState regState) { Log.d(TAG, "Registration status for " + objectId + ": " + regState); List<ObjectId> objectIdAsList = CollectionUtil.newArrayList(objectId); boolean registrationisDesired = readRegistrationsFromPrefs().contains(objectId); if (regState == RegistrationState.REGISTERED) { if (!registrationisDesired) { Log.i(TAG, "Unregistering for object we're no longer interested in"); unregister(clientId, objectIdAsList); } } else { if (registrationisDesired) { Log.i(TAG, "Registering for an object"); register(clientId, objectIdAsList); } } }
Example #7
Source File: InvalidationClientService.java From 365browser with Apache License 2.0 | 6 votes |
@Override public void informRegistrationStatus( byte[] clientId, ObjectId objectId, RegistrationState regState) { Log.d(TAG, "Registration status for " + objectId + ": " + regState); List<ObjectId> objectIdAsList = CollectionUtil.newArrayList(objectId); boolean registrationisDesired = readRegistrationsFromPrefs().contains(objectId); if (regState == RegistrationState.REGISTERED) { if (!registrationisDesired) { Log.i(TAG, "Unregistering for object we're no longer interested in"); unregister(clientId, objectIdAsList); } } else { if (registrationisDesired) { Log.i(TAG, "Registering for an object"); register(clientId, objectIdAsList); } } }
Example #8
Source File: AndroidListener.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
@Override public final void informRegistrationStatus(final InvalidationClient client, final ObjectId objectId, final RegistrationState regState) { state.informRegistrationSuccess(objectId); AndroidListener.this.informRegistrationStatus(state.getClientId().toByteArray(), objectId, regState); }
Example #9
Source File: AndroidListener.java From 365browser with Apache License 2.0 | 5 votes |
@Override public final void informRegistrationStatus(final InvalidationClient client, final ObjectId objectId, final RegistrationState regState) { state.informRegistrationSuccess(objectId); AndroidListener.this.informRegistrationStatus(state.getClientId().getByteArray(), objectId, regState); }
Example #10
Source File: InvalidationClientCore.java From 365browser with Apache License 2.0 | 5 votes |
/** * Converts an operation type {@code regOpType} to a * {@code InvalidationListener.RegistrationState}. */ private static InvalidationListener.RegistrationState convertOpTypeToRegState(int regOpType) { InvalidationListener.RegistrationState regState = regOpType == RegistrationP.OpType.REGISTER ? InvalidationListener.RegistrationState.REGISTERED : InvalidationListener.RegistrationState.UNREGISTERED; return regState; }
Example #11
Source File: InvalidationClientCore.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
/** Handles incoming registration statuses. */ private void handleRegistrationStatus(List<RegistrationStatus> regStatusList) { Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread"); List<Boolean> localProcessingStatuses = registrationManager.handleRegistrationStatus(regStatusList); Preconditions.checkState(localProcessingStatuses.size() == regStatusList.size(), "Not all registration statuses were processed"); // Inform app about the success or failure of each registration based // on what the registration manager has indicated. for (int i = 0; i < regStatusList.size(); ++i) { RegistrationStatus regStatus = regStatusList.get(i); boolean wasSuccess = localProcessingStatuses.get(i); logger.fine("Process reg status: %s", regStatus); ObjectId objectId = ProtoConverter.convertFromObjectIdProto( regStatus.getRegistration().getObjectId()); if (wasSuccess) { // Server operation was both successful and agreed with what the client wanted. OpType regOpType = regStatus.getRegistration().getOpType(); InvalidationListener.RegistrationState regState = convertOpTypeToRegState(regOpType); listener.informRegistrationStatus(InvalidationClientCore.this, objectId, regState); } else { // Server operation either failed or disagreed with client's intent (e.g., successful // unregister, but the client wanted a registration). String description = CommonProtos2.isSuccess(regStatus.getStatus()) ? "Registration discrepancy detected" : regStatus.getStatus().getDescription(); boolean isPermanent = CommonProtos2.isPermanentFailure(regStatus.getStatus()); listener.informRegistrationFailure(InvalidationClientCore.this, objectId, !isPermanent, description); } } }
Example #12
Source File: InvalidationClientCore.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
/** * Converts an operation type {@code regOpType} to a * {@code InvalidationListener.RegistrationState}. */ private static InvalidationListener.RegistrationState convertOpTypeToRegState( RegistrationP.OpType regOpType) { InvalidationListener.RegistrationState regState = regOpType == RegistrationP.OpType.REGISTER ? InvalidationListener.RegistrationState.REGISTERED : InvalidationListener.RegistrationState.UNREGISTERED; return regState; }
Example #13
Source File: InvalidationClientCore.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
/** * Converts an operation type {@code regOpType} to a * {@code InvalidationListener.RegistrationState}. */ private static InvalidationListener.RegistrationState convertOpTypeToRegState( RegistrationP.OpType regOpType) { InvalidationListener.RegistrationState regState = regOpType == RegistrationP.OpType.REGISTER ? InvalidationListener.RegistrationState.REGISTERED : InvalidationListener.RegistrationState.UNREGISTERED; return regState; }
Example #14
Source File: AndroidListener.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
@Override public final void informRegistrationStatus(final InvalidationClient client, final ObjectId objectId, final RegistrationState regState) { state.informRegistrationSuccess(objectId); AndroidListener.this.informRegistrationStatus(state.getClientId().toByteArray(), objectId, regState); }
Example #15
Source File: InvalidationClientCore.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
/** Handles incoming registration statuses. */ private void handleRegistrationStatus(List<RegistrationStatus> regStatusList) { Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread"); List<Boolean> localProcessingStatuses = registrationManager.handleRegistrationStatus(regStatusList); Preconditions.checkState(localProcessingStatuses.size() == regStatusList.size(), "Not all registration statuses were processed"); // Inform app about the success or failure of each registration based // on what the registration manager has indicated. for (int i = 0; i < regStatusList.size(); ++i) { RegistrationStatus regStatus = regStatusList.get(i); boolean wasSuccess = localProcessingStatuses.get(i); logger.fine("Process reg status: %s", regStatus); ObjectId objectId = ProtoConverter.convertFromObjectIdProto( regStatus.getRegistration().getObjectId()); if (wasSuccess) { // Server operation was both successful and agreed with what the client wanted. OpType regOpType = regStatus.getRegistration().getOpType(); InvalidationListener.RegistrationState regState = convertOpTypeToRegState(regOpType); listener.informRegistrationStatus(InvalidationClientCore.this, objectId, regState); } else { // Server operation either failed or disagreed with client's intent (e.g., successful // unregister, but the client wanted a registration). String description = CommonProtos2.isSuccess(regStatus.getStatus()) ? "Registration discrepancy detected" : regStatus.getStatus().getDescription(); boolean isPermanent = CommonProtos2.isPermanentFailure(regStatus.getStatus()); listener.informRegistrationFailure(InvalidationClientCore.this, objectId, !isPermanent, description); } } }
Example #16
Source File: InvalidationClientCore.java From 365browser with Apache License 2.0 | 5 votes |
/** Handles incoming registration statuses. */ private void handleRegistrationStatus(List<RegistrationStatus> regStatusList) { Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread"); List<Boolean> localProcessingStatuses = registrationManager.handleRegistrationStatus(regStatusList); Preconditions.checkState(localProcessingStatuses.size() == regStatusList.size(), "Not all registration statuses were processed"); // Inform app about the success or failure of each registration based // on what the registration manager has indicated. for (int i = 0; i < regStatusList.size(); ++i) { RegistrationStatus regStatus = regStatusList.get(i); boolean wasSuccess = localProcessingStatuses.get(i); logger.fine("Process reg status: %s", regStatus); ObjectId objectId = ProtoWrapperConverter.convertFromObjectIdProto( regStatus.getRegistration().getObjectId()); if (wasSuccess) { // Server operation was both successful and agreed with what the client wanted. int regOpType = regStatus.getRegistration().getOpType(); InvalidationListener.RegistrationState regState = convertOpTypeToRegState(regOpType); listener.informRegistrationStatus(InvalidationClientCore.this, objectId, regState); } else { // Server operation either failed or disagreed with client's intent (e.g., successful // unregister, but the client wanted a registration). String description = CommonProtos.isSuccess(regStatus.getStatus()) ? "Registration discrepancy detected" : regStatus.getStatus().getDescription(); boolean isPermanent = CommonProtos.isPermanentFailure(regStatus.getStatus()); listener.informRegistrationFailure(InvalidationClientCore.this, objectId, !isPermanent, description); } } }
Example #17
Source File: InvalidationClientCore.java From 365browser with Apache License 2.0 | 5 votes |
/** Handles a server {@code header}. */ private void handleIncomingHeader(ServerMessageHeader header) { Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread"); if (nonce != null) { throw new IllegalStateException( "Cannot process server header with non-null nonce (have " + nonce + "): " + header); } if (header.registrationSummary != null) { // We've received a summary from the server, so if we were suppressing registrations, we // should now allow them to go to the registrar. shouldSendRegistrations = true; // Pass the registration summary to the registration manager. If we are now in agreement // with the server and we had any pending operations, we can tell the listener that those // operations have succeeded. Set<RegistrationP> upcalls = registrationManager.informServerRegistrationSummary(header.registrationSummary); logger.fine("Received new server registration summary (%s); will make %s upcalls", header.registrationSummary, upcalls.size()); for (RegistrationP registration : upcalls) { ObjectId objectId = ProtoWrapperConverter.convertFromObjectIdProto(registration.getObjectId()); RegistrationState regState = convertOpTypeToRegState(registration.getOpType()); listener.informRegistrationStatus(this, objectId, regState); } } }
Example #18
Source File: Event.java From android-chromium with BSD 2-Clause "Simplified" License | 4 votes |
/** * Returns the registration state from an event message, or {@code null} if not present. */ public RegistrationState getRegistrationState() { int ordinal = parameters.getInt(Parameter.REGISTRATION_STATE, -1); return ordinal < 0 ? null : RegistrationState.values()[ordinal]; }
Example #19
Source File: AndroidInvalidationListenerIntentMapper.java From 365browser with Apache License 2.0 | 4 votes |
/** * Handles a listener upcall by decoding the protocol buffer in {@code intent} and dispatching * to the appropriate method on the {@link #listener}. */ public void handleIntent(Intent intent) { // TODO: use wakelocks // Unmarshall the arguments from the Intent and make the appropriate call on the listener. ListenerUpcall upcall = tryParseIntent(intent); if (upcall == null) { return; } if (upcall.hasReady()) { listener.ready(client); } else if (upcall.getNullableInvalidate() != null) { // Handle all invalidation-related upcalls on a common path, since they require creating // an AckHandleP. onInvalidateUpcall(upcall.getNullableInvalidate(), listener); } else if (upcall.getNullableRegistrationStatus() != null) { RegistrationStatusUpcall regStatus = upcall.getNullableRegistrationStatus(); listener.informRegistrationStatus(client, ProtoWrapperConverter.convertFromObjectIdProto(regStatus.getObjectId()), regStatus.getIsRegistered() ? RegistrationState.REGISTERED : RegistrationState.UNREGISTERED); } else if (upcall.getNullableRegistrationFailure() != null) { RegistrationFailureUpcall failure = upcall.getNullableRegistrationFailure(); listener.informRegistrationFailure(client, ProtoWrapperConverter.convertFromObjectIdProto(failure.getObjectId()), failure.getTransient(), failure.getMessage()); } else if (upcall.getNullableReissueRegistrations() != null) { ReissueRegistrationsUpcall reissueRegs = upcall.getNullableReissueRegistrations(); listener.reissueRegistrations(client, reissueRegs.getPrefix().getByteArray(), reissueRegs.getLength()); } else if (upcall.getNullableError() != null) { ErrorUpcall error = upcall.getNullableError(); ErrorInfo errorInfo = ErrorInfo.newInstance(error.getErrorCode(), error.getIsTransient(), error.getErrorMessage(), null); listener.informError(client, errorInfo); } else { logger.warning("Dropping listener Intent with unknown call: %s", upcall); } }
Example #20
Source File: Event.java From android-chromium with BSD 2-Clause "Simplified" License | 4 votes |
/** * Stores registration state information within an event message. */ public Builder setRegistrationState(RegistrationState state) { bundle.putInt(Parameter.REGISTRATION_STATE, state.ordinal()); return this; }
Example #21
Source File: AndroidInvalidationListenerIntentMapper.java From android-chromium with BSD 2-Clause "Simplified" License | 4 votes |
/** * Handles a listener upcall by decoding the protocol buffer in {@code intent} and dispatching * to the appropriate method on the {@link #listener}. */ public void handleIntent(Intent intent) { // TODO: use wakelocks // Unmarshall the arguments from the Intent and make the appropriate call on the listener. ListenerUpcall upcall = tryParseIntent(intent); if (upcall == null) { return; } if (upcall.hasReady()) { listener.ready(client); } else if (upcall.hasInvalidate()) { // Handle all invalidation-related upcalls on a common path, since they require creating // an AckHandleP. onInvalidateUpcall(upcall, listener); } else if (upcall.hasRegistrationStatus()) { RegistrationStatusUpcall regStatus = upcall.getRegistrationStatus(); listener.informRegistrationStatus(client, ProtoConverter.convertFromObjectIdProto(regStatus.getObjectId()), regStatus.getIsRegistered() ? RegistrationState.REGISTERED : RegistrationState.UNREGISTERED); } else if (upcall.hasRegistrationFailure()) { RegistrationFailureUpcall failure = upcall.getRegistrationFailure(); listener.informRegistrationFailure(client, ProtoConverter.convertFromObjectIdProto(failure.getObjectId()), failure.getTransient(), failure.getMessage()); } else if (upcall.hasReissueRegistrations()) { ReissueRegistrationsUpcall reissueRegs = upcall.getReissueRegistrations(); listener.reissueRegistrations(client, reissueRegs.getPrefix().toByteArray(), reissueRegs.getLength()); } else if (upcall.hasError()) { ErrorUpcall error = upcall.getError(); ErrorInfo errorInfo = ErrorInfo.newInstance(error.getErrorCode(), error.getIsTransient(), error.getErrorMessage(), null); listener.informError(client, errorInfo); } else { logger.warning("Dropping listener Intent with unknown call: %s", upcall); } }
Example #22
Source File: Event.java From android-chromium with BSD 2-Clause "Simplified" License | 4 votes |
/** * Returns the registration state from an event message, or {@code null} if not present. */ public RegistrationState getRegistrationState() { int ordinal = parameters.getInt(Parameter.REGISTRATION_STATE, -1); return ordinal < 0 ? null : RegistrationState.values()[ordinal]; }
Example #23
Source File: Event.java From android-chromium with BSD 2-Clause "Simplified" License | 4 votes |
/** * Stores registration state information within an event message. */ public Builder setRegistrationState(RegistrationState state) { bundle.putInt(Parameter.REGISTRATION_STATE, state.ordinal()); return this; }
Example #24
Source File: AndroidInvalidationListenerIntentMapper.java From android-chromium with BSD 2-Clause "Simplified" License | 4 votes |
/** * Handles a listener upcall by decoding the protocol buffer in {@code intent} and dispatching * to the appropriate method on the {@link #listener}. */ public void handleIntent(Intent intent) { // TODO: use wakelocks // Unmarshall the arguments from the Intent and make the appropriate call on the listener. ListenerUpcall upcall = tryParseIntent(intent); if (upcall == null) { return; } if (upcall.hasReady()) { listener.ready(client); } else if (upcall.hasInvalidate()) { // Handle all invalidation-related upcalls on a common path, since they require creating // an AckHandleP. onInvalidateUpcall(upcall, listener); } else if (upcall.hasRegistrationStatus()) { RegistrationStatusUpcall regStatus = upcall.getRegistrationStatus(); listener.informRegistrationStatus(client, ProtoConverter.convertFromObjectIdProto(regStatus.getObjectId()), regStatus.getIsRegistered() ? RegistrationState.REGISTERED : RegistrationState.UNREGISTERED); } else if (upcall.hasRegistrationFailure()) { RegistrationFailureUpcall failure = upcall.getRegistrationFailure(); listener.informRegistrationFailure(client, ProtoConverter.convertFromObjectIdProto(failure.getObjectId()), failure.getTransient(), failure.getMessage()); } else if (upcall.hasReissueRegistrations()) { ReissueRegistrationsUpcall reissueRegs = upcall.getReissueRegistrations(); listener.reissueRegistrations(client, reissueRegs.getPrefix().toByteArray(), reissueRegs.getLength()); } else if (upcall.hasError()) { ErrorUpcall error = upcall.getError(); ErrorInfo errorInfo = ErrorInfo.newInstance(error.getErrorCode(), error.getIsTransient(), error.getErrorMessage(), null); listener.informError(client, errorInfo); } else { logger.warning("Dropping listener Intent with unknown call: %s", upcall); } }
Example #25
Source File: AndroidListener.java From android-chromium with BSD 2-Clause "Simplified" License | 2 votes |
/** * See specs for (@link InvalidationListener#informRegistrationStatus}. */ public abstract void informRegistrationStatus(byte[] clientId, ObjectId objectId, RegistrationState regState);
Example #26
Source File: AndroidListener.java From 365browser with Apache License 2.0 | 2 votes |
/** * See specs for (@link InvalidationListener#informRegistrationStatus}. */ public abstract void informRegistrationStatus(byte[] clientId, ObjectId objectId, RegistrationState regState);
Example #27
Source File: AndroidListener.java From android-chromium with BSD 2-Clause "Simplified" License | 2 votes |
/** * See specs for (@link InvalidationListener#informRegistrationStatus}. */ public abstract void informRegistrationStatus(byte[] clientId, ObjectId objectId, RegistrationState regState);