本文整理汇总了Java中org.chromium.sync.notifier.InvalidationIntentProtocol类的典型用法代码示例。如果您正苦于以下问题:Java InvalidationIntentProtocol类的具体用法?Java InvalidationIntentProtocol怎么用?Java InvalidationIntentProtocol使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
InvalidationIntentProtocol类属于org.chromium.sync.notifier包,在下文中一共展示了InvalidationIntentProtocol类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: ensureStartedAndUpdateRegisteredTypes
import org.chromium.sync.notifier.InvalidationIntentProtocol; //导入依赖的package包/类
/**
* Updates the sync invalidation types that the client is registered for based on the preferred
* sync types. Starts the client if needed.
*/
public void ensureStartedAndUpdateRegisteredTypes() {
mStarted = true;
// Ensure GCM has been initialized.
ensureGcmIsInitialized();
// Do not apply changes to {@link #mSessionInvalidationsEnabled} yet because the timer task
// may be scheduled far into the future.
mEnableSessionInvalidationsTimer.resume();
HashSet<Integer> typesToRegister = new HashSet<Integer>();
typesToRegister.addAll(ProfileSyncService.get().getPreferredDataTypes());
if (!mSessionInvalidationsEnabled) {
typesToRegister.remove(ModelType.SESSIONS);
typesToRegister.remove(ModelType.FAVICON_TRACKING);
typesToRegister.remove(ModelType.FAVICON_IMAGES);
}
Intent registerIntent = InvalidationIntentProtocol.createRegisterIntent(
ChromeSigninController.get(mContext).getSignedInUser(),
typesToRegister);
registerIntent.setClass(mContext, InvalidationClientService.class);
mContext.startService(registerIntent);
}
示例2: stop
import org.chromium.sync.notifier.InvalidationIntentProtocol; //导入依赖的package包/类
/**
* Stops the invalidation client.
*/
public void stop() {
mStarted = false;
mEnableSessionInvalidationsTimer.pause();
Intent intent = new Intent(mContext, InvalidationClientService.class);
intent.putExtra(InvalidationIntentProtocol.EXTRA_STOP, true);
mContext.startService(intent);
}
示例3: setRegisteredObjectIds
import org.chromium.sync.notifier.InvalidationIntentProtocol; //导入依赖的package包/类
/**
* Sets object ids for which the client should register for notification. This is intended for
* registering non-Sync types; Sync types are registered with {@code setRegisteredTypes}.
*
* @param objectSources The sources of the objects.
* @param objectNames The names of the objects.
*/
@CalledByNative
public void setRegisteredObjectIds(int[] objectSources, String[] objectNames) {
InvalidationPreferences invalidationPreferences = new InvalidationPreferences(mContext);
Account account = invalidationPreferences.getSavedSyncedAccount();
Intent registerIntent =
InvalidationIntentProtocol.createRegisterIntent(
account, objectSources, objectNames);
registerIntent.setClass(mContext, InvalidationService.class);
mContext.startService(registerIntent);
}
示例4: onHandleIntent
import org.chromium.sync.notifier.InvalidationIntentProtocol; //导入依赖的package包/类
@Override
public void onHandleIntent(Intent intent) {
// Ensure that a client is or is not running, as appropriate, and that it is for the
// correct account. ensureAccount will stop the client if account is non-null and doesn't
// match the stored account. Then, if a client should be running, ensureClientStartState
// will start a new one if needed. I.e., these two functions work together to restart the
// client when the account changes.
Account account = intent.hasExtra(InvalidationIntentProtocol.EXTRA_ACCOUNT) ?
(Account) intent.getParcelableExtra(InvalidationIntentProtocol.EXTRA_ACCOUNT)
: null;
ensureAccount(account);
ensureClientStartState();
// Handle the intent.
if (InvalidationIntentProtocol.isStop(intent) && sIsClientStarted) {
// If the intent requests that the client be stopped, stop it.
stopClient();
} else if (InvalidationIntentProtocol.isRegisteredTypesChange(intent)) {
// If the intent requests a change in registrations, change them.
List<String> regTypes = intent.getStringArrayListExtra(
InvalidationIntentProtocol.EXTRA_REGISTERED_TYPES);
setRegisteredTypes(regTypes != null ? new HashSet<String>(regTypes) : null,
InvalidationIntentProtocol.getRegisteredObjectIds(intent));
} else {
// Otherwise, we don't recognize the intent. Pass it to the notification client service.
super.onHandleIntent(intent);
}
}
示例5: stop
import org.chromium.sync.notifier.InvalidationIntentProtocol; //导入依赖的package包/类
/**
* Stops the invalidation client.
*/
public void stop() {
Intent intent = new Intent(mContext, InvalidationService.class);
intent.putExtra(InvalidationIntentProtocol.EXTRA_STOP, true);
mContext.startService(intent);
}
示例6: setRegisteredTypes
import org.chromium.sync.notifier.InvalidationIntentProtocol; //导入依赖的package包/类
/**
* Sets the types for which the client should register for notifications.
*
* @param account Account of the user.
* @param allTypes If {@code true}, registers for all types, and {@code types} is ignored
* @param types Set of types for which to register. Ignored if {@code allTypes == true}.
*/
public void setRegisteredTypes(Account account, boolean allTypes, Set<ModelType> types) {
Intent registerIntent =
InvalidationIntentProtocol.createRegisterIntent(account, allTypes, types);
registerIntent.setClass(mContext, InvalidationService.class);
mContext.startService(registerIntent);
}