当前位置: 首页>>代码示例>>Java>>正文


Java InvalidationIntentProtocol类代码示例

本文整理汇总了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);
}
 
开发者ID:Smalinuxer,项目名称:Vafrinn,代码行数:29,代码来源:InvalidationController.java

示例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);
}
 
开发者ID:Smalinuxer,项目名称:Vafrinn,代码行数:11,代码来源:InvalidationController.java

示例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);
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:18,代码来源:InvalidationController.java

示例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);
    }
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:29,代码来源:InvalidationService.java

示例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);
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:9,代码来源:InvalidationController.java

示例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);
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:14,代码来源:InvalidationController.java


注:本文中的org.chromium.sync.notifier.InvalidationIntentProtocol类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。