类android.util.proto.ProtoOutputStream源码实例Demo

下面列出了怎么用android.util.proto.ProtoOutputStream的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: android_9.0.0_r45   文件: ClipData.java
/** @hide */
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long token = proto.start(fieldId);

    if (mClipDescription != null) {
        mClipDescription.writeToProto(proto, ClipDataProto.DESCRIPTION);
    }
    if (mIcon != null) {
        final long iToken = proto.start(ClipDataProto.ICON);
        proto.write(ClipDataProto.Icon.WIDTH, mIcon.getWidth());
        proto.write(ClipDataProto.Icon.HEIGHT, mIcon.getHeight());
        proto.end(iToken);
    }
    for (int i = 0; i < mItems.size(); i++) {
        mItems.get(i).writeToProto(proto, ClipDataProto.ITEMS);
    }

    proto.end(token);
}
 
源代码2 项目: android_9.0.0_r45   文件: ZenModeHelper.java
void dump(ProtoOutputStream proto) {
    proto.write(ZenModeProto.ZEN_MODE, mZenMode);
    synchronized (mConfig) {
        if (mConfig.manualRule != null) {
            mConfig.manualRule.writeToProto(proto, ZenModeProto.ENABLED_ACTIVE_CONDITIONS);
        }
        for (ZenRule rule : mConfig.automaticRules.values()) {
            if (rule.enabled && rule.condition.state == Condition.STATE_TRUE
                    && !rule.snoozing) {
                rule.writeToProto(proto, ZenModeProto.ENABLED_ACTIVE_CONDITIONS);
            }
        }
        mConfig.toNotificationPolicy().writeToProto(proto, ZenModeProto.POLICY);
        proto.write(ZenModeProto.SUPPRESSED_EFFECTS, mSuppressedEffects);
    }
}
 
源代码3 项目: android_9.0.0_r45   文件: Configuration.java
/**
 * Write full {@link android.content.ResourcesConfigurationProto} to protocol buffer output
 * stream.
 *
 * @param protoOutputStream Stream to write the Configuration object to.
 * @param fieldId           Field Id of the Configuration as defined in the parent message
 * @param metrics           Current display information
 * @hide
 */
public void writeResConfigToProto(ProtoOutputStream protoOutputStream, long fieldId,
        DisplayMetrics metrics) {
    final int width, height;
    if (metrics.widthPixels >= metrics.heightPixels) {
        width = metrics.widthPixels;
        height = metrics.heightPixels;
    } else {
        //noinspection SuspiciousNameCombination
        width = metrics.heightPixels;
        //noinspection SuspiciousNameCombination
        height = metrics.widthPixels;
    }

    final long token = protoOutputStream.start(fieldId);
    writeToProto(protoOutputStream, CONFIGURATION);
    protoOutputStream.write(SDK_VERSION, Build.VERSION.RESOURCES_SDK_INT);
    protoOutputStream.write(SCREEN_WIDTH_PX, width);
    protoOutputStream.write(SCREEN_HEIGHT_PX, height);
    protoOutputStream.end(token);
}
 
源代码4 项目: android_9.0.0_r45   文件: ProcessStatsService.java
private void dumpProto(FileDescriptor fd) {
    final ProtoOutputStream proto = new ProtoOutputStream(fd);

    // dump current procstats
    long now;
    synchronized (mAm) {
        now = SystemClock.uptimeMillis();
        mProcessStats.writeToProto(proto,ProcessStatsServiceDumpProto.PROCSTATS_NOW, now);
    }

    // aggregated over last 3 hours procstats
    dumpAggregatedStats(proto, ProcessStatsServiceDumpProto.PROCSTATS_OVER_3HRS, 3, now);

    // aggregated over last 24 hours procstats
    dumpAggregatedStats(proto, ProcessStatsServiceDumpProto.PROCSTATS_OVER_24HRS, 24, now);

    proto.flush();
}
 
源代码5 项目: android_9.0.0_r45   文件: RootWindowContainer.java
@CallSuper
@Override
public void writeToProto(ProtoOutputStream proto, long fieldId, boolean trim) {
    final long token = proto.start(fieldId);
    super.writeToProto(proto, WINDOW_CONTAINER, trim);
    if (mService.mDisplayReady) {
        final int count = mChildren.size();
        for (int i = 0; i < count; ++i) {
            final DisplayContent displayContent = mChildren.get(i);
            displayContent.writeToProto(proto, DISPLAYS, trim);
        }
    }
    if (!trim) {
        forAllWindows((w) -> {
            w.writeIdentifierToProto(proto, WINDOWS);
        }, true);
    }
    proto.end(token);
}
 
源代码6 项目: android_9.0.0_r45   文件: Configuration.java
/**
 * Write to a protocol buffer output stream.
 * Protocol buffer message definition at {@link android.content.ConfigurationProto}
 *
 * @param protoOutputStream Stream to write the Configuration object to.
 * @param fieldId           Field Id of the Configuration as defined in the parent message
 * @hide
 */
public void writeToProto(ProtoOutputStream protoOutputStream, long fieldId) {
    final long token = protoOutputStream.start(fieldId);
    protoOutputStream.write(FONT_SCALE, fontScale);
    protoOutputStream.write(MCC, mcc);
    protoOutputStream.write(MNC, mnc);
    mLocaleList.writeToProto(protoOutputStream, LOCALES);
    protoOutputStream.write(SCREEN_LAYOUT, screenLayout);
    protoOutputStream.write(COLOR_MODE, colorMode);
    protoOutputStream.write(TOUCHSCREEN, touchscreen);
    protoOutputStream.write(KEYBOARD, keyboard);
    protoOutputStream.write(KEYBOARD_HIDDEN, keyboardHidden);
    protoOutputStream.write(HARD_KEYBOARD_HIDDEN, hardKeyboardHidden);
    protoOutputStream.write(NAVIGATION, navigation);
    protoOutputStream.write(NAVIGATION_HIDDEN, navigationHidden);
    protoOutputStream.write(ORIENTATION, orientation);
    protoOutputStream.write(UI_MODE, uiMode);
    protoOutputStream.write(SCREEN_WIDTH_DP, screenWidthDp);
    protoOutputStream.write(SCREEN_HEIGHT_DP, screenHeightDp);
    protoOutputStream.write(SMALLEST_SCREEN_WIDTH_DP, smallestScreenWidthDp);
    protoOutputStream.write(DENSITY_DPI, densityDpi);
    windowConfiguration.writeToProto(protoOutputStream, WINDOW_CONFIGURATION);
    protoOutputStream.end(token);
}
 
源代码7 项目: android_9.0.0_r45   文件: UidRecord.java
void writeToProto(ProtoOutputStream proto, long fieldId) {
    long token = proto.start(fieldId);
    proto.write(UidRecordProto.UID, uid);
    proto.write(UidRecordProto.CURRENT, ProcessList.makeProcStateProtoEnum(curProcState));
    proto.write(UidRecordProto.EPHEMERAL, ephemeral);
    proto.write(UidRecordProto.FG_SERVICES, foregroundServices);
    proto.write(UidRecordProto.WHILELIST, curWhitelist);
    ProtoUtils.toDuration(proto, UidRecordProto.LAST_BACKGROUND_TIME,
            lastBackgroundTime, SystemClock.elapsedRealtime());
    proto.write(UidRecordProto.IDLE, idle);
    if (lastReportedChange != 0) {
        ProtoUtils.writeBitWiseFlagsToProtoEnum(proto, UidRecordProto.LAST_REPORTED_CHANGES,
                lastReportedChange, ORIG_ENUMS, PROTO_ENUMS);
    }
    proto.write(UidRecordProto.NUM_PROCS, numProcs);

    long seqToken = proto.start(UidRecordProto.NETWORK_STATE_UPDATE);
    proto.write(UidRecordProto.ProcStateSequence.CURURENT, curProcStateSeq);
    proto.write(UidRecordProto.ProcStateSequence.LAST_NETWORK_UPDATED,
            lastNetworkUpdatedProcStateSeq);
    proto.write(UidRecordProto.ProcStateSequence.LAST_DISPATCHED, lastDispatchedProcStateSeq);
    proto.end(seqToken);

    proto.end(token);
}
 
源代码8 项目: android_9.0.0_r45   文件: ClipData.java
/** @hide */
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long token = proto.start(fieldId);

    if (mHtmlText != null) {
        proto.write(ClipDataProto.Item.HTML_TEXT, mHtmlText);
    } else if (mText != null) {
        proto.write(ClipDataProto.Item.TEXT, mText.toString());
    } else if (mUri != null) {
        proto.write(ClipDataProto.Item.URI, mUri.toString());
    } else if (mIntent != null) {
        mIntent.writeToProto(proto, ClipDataProto.Item.INTENT, true, true, true, true);
    } else {
        proto.write(ClipDataProto.Item.NOTHING, true);
    }

    proto.end(token);
}
 
源代码9 项目: android_9.0.0_r45   文件: AlarmManagerService.java
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long token = proto.start(fieldId);

    proto.write(InFlightProto.UID, mUid);
    proto.write(InFlightProto.TAG, mTag);
    proto.write(InFlightProto.WHEN_ELAPSED_MS, mWhenElapsed);
    proto.write(InFlightProto.ALARM_TYPE, mAlarmType);
    if (mPendingIntent != null) {
        mPendingIntent.writeToProto(proto, InFlightProto.PENDING_INTENT);
    }
    if (mBroadcastStats != null) {
        mBroadcastStats.writeToProto(proto, InFlightProto.BROADCAST_STATS);
    }
    if (mFilterStats != null) {
        mFilterStats.writeToProto(proto, InFlightProto.FILTER_STATS);
    }
    if (mWorkSource != null) {
        mWorkSource.writeToProto(proto, InFlightProto.WORK_SOURCE);
    }

    proto.end(token);
}
 
源代码10 项目: android_9.0.0_r45   文件: ActiveInstrumentation.java
void writeToProto(ProtoOutputStream proto, long fieldId) {
    long token = proto.start(fieldId);
    mClass.writeToProto(proto, ActiveInstrumentationProto.CLASS);
    proto.write(ActiveInstrumentationProto.FINISHED, mFinished);
    for (int i=0; i<mRunningProcesses.size(); i++) {
        mRunningProcesses.get(i).writeToProto(proto,
                ActiveInstrumentationProto.RUNNING_PROCESSES);
    }
    for (String p : mTargetProcesses) {
        proto.write(ActiveInstrumentationProto.TARGET_PROCESSES, p);
    }
    if (mTargetInfo != null) {
        mTargetInfo.writeToProto(proto, ActiveInstrumentationProto.TARGET_INFO);
    }
    proto.write(ActiveInstrumentationProto.PROFILE_FILE, mProfileFile);
    proto.write(ActiveInstrumentationProto.WATCHER, mWatcher.toString());
    proto.write(ActiveInstrumentationProto.UI_AUTOMATION_CONNECTION,
            mUiAutomationConnection.toString());
    proto.write(ActiveInstrumentationProto.ARGUMENTS, mArguments.toString());
    proto.end(token);
}
 
源代码11 项目: android_9.0.0_r45   文件: IdleController.java
@Override
public void dumpControllerStateLocked(ProtoOutputStream proto, long fieldId,
        Predicate<JobStatus> predicate) {
    final long token = proto.start(fieldId);
    final long mToken = proto.start(StateControllerProto.IDLE);

    proto.write(StateControllerProto.IdleController.IS_IDLE, mIdleTracker.isIdle());

    for (int i = 0; i < mTrackedTasks.size(); i++) {
        final JobStatus js = mTrackedTasks.valueAt(i);
        if (!predicate.test(js)) {
            continue;
        }
        final long jsToken = proto.start(StateControllerProto.IdleController.TRACKED_JOBS);
        js.writeToShortProto(proto, StateControllerProto.IdleController.TrackedJob.INFO);
        proto.write(StateControllerProto.IdleController.TrackedJob.SOURCE_UID,
                js.getSourceUid());
        proto.end(jsToken);
    }

    proto.end(mToken);
    proto.end(token);
}
 
源代码12 项目: android_9.0.0_r45   文件: ClipDescription.java
/** @hide */
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long token = proto.start(fieldId);

    final int size = mMimeTypes.size();
    for (int i = 0; i < size; i++) {
        proto.write(ClipDescriptionProto.MIME_TYPES, mMimeTypes.get(i));
    }

    if (mLabel != null) {
        proto.write(ClipDescriptionProto.LABEL, mLabel.toString());
    }
    if (mExtras != null) {
        mExtras.writeToProto(proto, ClipDescriptionProto.EXTRAS);
    }
    if (mTimeStamp > 0) {
        proto.write(ClipDescriptionProto.TIMESTAMP_MS, mTimeStamp);
    }

    proto.end(token);
}
 
源代码13 项目: android_9.0.0_r45   文件: StorageController.java
@Override
public void dumpControllerStateLocked(ProtoOutputStream proto, long fieldId,
        Predicate<JobStatus> predicate) {
    final long token = proto.start(fieldId);
    final long mToken = proto.start(StateControllerProto.STORAGE);

    proto.write(StateControllerProto.StorageController.IS_STORAGE_NOT_LOW,
            mStorageTracker.isStorageNotLow());
    proto.write(StateControllerProto.StorageController.LAST_BROADCAST_SEQUENCE_NUMBER,
            mStorageTracker.getSeq());

    for (int i = 0; i < mTrackedTasks.size(); i++) {
        final JobStatus js = mTrackedTasks.valueAt(i);
        if (!predicate.test(js)) {
            continue;
        }
        final long jsToken = proto.start(StateControllerProto.StorageController.TRACKED_JOBS);
        js.writeToShortProto(proto, StateControllerProto.StorageController.TrackedJob.INFO);
        proto.write(StateControllerProto.StorageController.TrackedJob.SOURCE_UID,
                js.getSourceUid());
        proto.end(jsToken);
    }

    proto.end(mToken);
    proto.end(token);
}
 
源代码14 项目: android_9.0.0_r45   文件: GrantedUriPermissions.java
public void dump(ProtoOutputStream proto, long fieldId) {
    final long token = proto.start(fieldId);

    proto.write(GrantedUriPermissionsDumpProto.FLAGS, mGrantFlags);
    proto.write(GrantedUriPermissionsDumpProto.SOURCE_USER_ID, mSourceUserId);
    proto.write(GrantedUriPermissionsDumpProto.TAG, mTag);
    proto.write(GrantedUriPermissionsDumpProto.PERMISSION_OWNER, mPermissionOwner.toString());
    for (int i = 0; i < mUris.size(); i++) {
        Uri u = mUris.get(i);
        if (u != null) {
            proto.write(GrantedUriPermissionsDumpProto.URIS, u.toString());
        }
    }

    proto.end(token);
}
 
源代码15 项目: android_9.0.0_r45   文件: PowerManagerService.java
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long wakeLockToken = proto.start(fieldId);
    proto.write(WakeLockProto.LOCK_LEVEL, (mFlags & PowerManager.WAKE_LOCK_LEVEL_MASK));
    proto.write(WakeLockProto.TAG, mTag);

    final long wakeLockFlagsToken = proto.start(WakeLockProto.FLAGS);
    proto.write(WakeLockProto.WakeLockFlagsProto.IS_ACQUIRE_CAUSES_WAKEUP,
            (mFlags & PowerManager.ACQUIRE_CAUSES_WAKEUP)!=0);
    proto.write(WakeLockProto.WakeLockFlagsProto.IS_ON_AFTER_RELEASE,
            (mFlags & PowerManager.ON_AFTER_RELEASE)!=0);
    proto.end(wakeLockFlagsToken);

    proto.write(WakeLockProto.IS_DISABLED, mDisabled);
    if (mNotifiedAcquired) {
        proto.write(WakeLockProto.ACQ_MS, mAcquireTime);
    }
    proto.write(WakeLockProto.IS_NOTIFIED_LONG, mNotifiedLong);
    proto.write(WakeLockProto.UID, mOwnerUid);
    proto.write(WakeLockProto.PID, mOwnerPid);

    if (mWorkSource != null) {
        mWorkSource.writeToProto(proto, WakeLockProto.WORK_SOURCE);
    }
    proto.end(wakeLockToken);
}
 
源代码16 项目: android_9.0.0_r45   文件: NetworkCapabilities.java
/** @hide */
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long token = proto.start(fieldId);

    for (int transport : getTransportTypes()) {
        proto.write(NetworkCapabilitiesProto.TRANSPORTS, transport);
    }

    for (int capability : getCapabilities()) {
        proto.write(NetworkCapabilitiesProto.CAPABILITIES, capability);
    }

    proto.write(NetworkCapabilitiesProto.LINK_UP_BANDWIDTH_KBPS, mLinkUpBandwidthKbps);
    proto.write(NetworkCapabilitiesProto.LINK_DOWN_BANDWIDTH_KBPS, mLinkDownBandwidthKbps);

    if (mNetworkSpecifier != null) {
        proto.write(NetworkCapabilitiesProto.NETWORK_SPECIFIER, mNetworkSpecifier.toString());
    }

    proto.write(NetworkCapabilitiesProto.CAN_REPORT_SIGNAL_STRENGTH, hasSignalStrength());
    proto.write(NetworkCapabilitiesProto.SIGNAL_STRENGTH, mSignalStrength);

    proto.end(token);
}
 
源代码17 项目: Study_Android_Demo   文件: SettingsProtoDumpUtil.java
static void dumpProtoLocked(SettingsProvider.SettingsRegistry settingsRegistry,
        ProtoOutputStream proto) {
    // Global settings
    SettingsState globalSettings = settingsRegistry.getSettingsLocked(
            SettingsProvider.SETTINGS_TYPE_GLOBAL, UserHandle.USER_SYSTEM);
    long globalSettingsToken = proto.start(SettingsServiceDumpProto.GLOBAL_SETTINGS);
    dumpProtoGlobalSettingsLocked(globalSettings, proto);
    proto.end(globalSettingsToken);

    // Per-user settings
    SparseBooleanArray users = settingsRegistry.getKnownUsersLocked();
    final int userCount = users.size();
    for (int i = 0; i < userCount; i++) {
        long userSettingsToken = proto.start(SettingsServiceDumpProto.USER_SETTINGS);
        dumpProtoUserSettingsLocked(
                settingsRegistry, UserHandle.of(users.keyAt(i)), proto);
        proto.end(userSettingsToken);
    }
}
 
源代码18 项目: android_9.0.0_r45   文件: NetworkStatsCollection.java
public void writeToProto(ProtoOutputStream proto, long tag) {
    final long start = proto.start(tag);

    for (Key key : getSortedKeys()) {
        final long startStats = proto.start(NetworkStatsCollectionProto.STATS);

        // Key
        final long startKey = proto.start(NetworkStatsCollectionStatsProto.KEY);
        key.ident.writeToProto(proto, NetworkStatsCollectionKeyProto.IDENTITY);
        proto.write(NetworkStatsCollectionKeyProto.UID, key.uid);
        proto.write(NetworkStatsCollectionKeyProto.SET, key.set);
        proto.write(NetworkStatsCollectionKeyProto.TAG, key.tag);
        proto.end(startKey);

        // Value
        final NetworkStatsHistory history = mStats.get(key);
        history.writeToProto(proto, NetworkStatsCollectionStatsProto.HISTORY);
        proto.end(startStats);
    }

    proto.end(start);
}
 
源代码19 项目: android_9.0.0_r45   文件: ConnectionRecord.java
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    if (binding == null) return; // if binding is null, don't write data, something is wrong.
    long token = proto.start(fieldId);
    proto.write(ConnectionRecordProto.HEX_HASH,
            Integer.toHexString(System.identityHashCode(this)));
    if (binding.client != null) {
        proto.write(ConnectionRecordProto.USER_ID, binding.client.userId);
    }
    ProtoUtils.writeBitWiseFlagsToProtoEnum(proto, ConnectionRecordProto.FLAGS,
            flags, BIND_ORIG_ENUMS, BIND_PROTO_ENUMS);
    if (serviceDead) {
        proto.write(ConnectionRecordProto.FLAGS, ConnectionRecordProto.DEAD);
    }
    if (binding.service != null) {
        proto.write(ConnectionRecordProto.SERVICE_NAME, binding.service.shortName);
    }
    proto.end(token);
}
 
源代码20 项目: android_9.0.0_r45   文件: NotificationRecord.java
void dump(ProtoOutputStream proto, long fieldId, boolean redact, int state) {
    final long token = proto.start(fieldId);

    proto.write(NotificationRecordProto.KEY, sbn.getKey());
    proto.write(NotificationRecordProto.STATE, state);
    if (getChannel() != null) {
        proto.write(NotificationRecordProto.CHANNEL_ID, getChannel().getId());
    }
    proto.write(NotificationRecordProto.CAN_SHOW_LIGHT, getLight() != null);
    proto.write(NotificationRecordProto.CAN_VIBRATE, getVibration() != null);
    proto.write(NotificationRecordProto.FLAGS, sbn.getNotification().flags);
    proto.write(NotificationRecordProto.GROUP_KEY, getGroupKey());
    proto.write(NotificationRecordProto.IMPORTANCE, getImportance());
    if (getSound() != null) {
        proto.write(NotificationRecordProto.SOUND, getSound().toString());
    }
    if (getAudioAttributes() != null) {
        getAudioAttributes().writeToProto(proto, NotificationRecordProto.AUDIO_ATTRIBUTES);
    }

    proto.end(token);
}
 
源代码21 项目: android_9.0.0_r45   文件: Message.java
void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long messageToken = proto.start(fieldId);
    proto.write(MessageProto.WHEN, when);

    if (target != null) {
        if (callback != null) {
            proto.write(MessageProto.CALLBACK, callback.getClass().getName());
        } else {
            proto.write(MessageProto.WHAT, what);
        }

        if (arg1 != 0) {
            proto.write(MessageProto.ARG1, arg1);
        }

        if (arg2 != 0) {
            proto.write(MessageProto.ARG2, arg2);
        }

        if (obj != null) {
            proto.write(MessageProto.OBJ, obj.toString());
        }

        proto.write(MessageProto.TARGET, target.getClass().getName());
    } else {
        proto.write(MessageProto.BARRIER, arg1);
    }

    proto.end(messageToken);
}
 
源代码22 项目: android_9.0.0_r45   文件: NotificationManager.java
/** @hide */
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long pToken = proto.start(fieldId);

    bitwiseToProtoEnum(proto, PolicyProto.PRIORITY_CATEGORIES, priorityCategories);
    proto.write(PolicyProto.PRIORITY_CALL_SENDER, priorityCallSenders);
    proto.write(PolicyProto.PRIORITY_MESSAGE_SENDER, priorityMessageSenders);
    bitwiseToProtoEnum(
            proto, PolicyProto.SUPPRESSED_VISUAL_EFFECTS, suppressedVisualEffects);

    proto.end(pToken);
}
 
源代码23 项目: android_9.0.0_r45   文件: PendingIntent.java
/** @hide */
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    final long token = proto.start(fieldId);
    if (mTarget != null) {
        proto.write(PendingIntentProto.TARGET, mTarget.asBinder().toString());
    }
    proto.end(token);
}
 
源代码24 项目: android_9.0.0_r45   文件: BroadcastFilter.java
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    long token = proto.start(fieldId);
    super.writeToProto(proto, BroadcastFilterProto.INTENT_FILTER);
    if (requiredPermission != null) {
        proto.write(BroadcastFilterProto.REQUIRED_PERMISSION, requiredPermission);
    }
    proto.write(BroadcastFilterProto.HEX_HASH, Integer.toHexString(System.identityHashCode(this)));
    proto.write(BroadcastFilterProto.OWNING_USER_ID, owningUserId);
    proto.end(token);
}
 
源代码25 项目: android_9.0.0_r45   文件: FeatureInfo.java
/** @hide */
public void writeToProto(ProtoOutputStream proto, long fieldId) {
    long token = proto.start(fieldId);
    if (name != null) {
        proto.write(FeatureInfoProto.NAME, name);
    }
    proto.write(FeatureInfoProto.VERSION, version);
    proto.write(FeatureInfoProto.GLES_VERSION, getGlEsVersion());
    proto.write(FeatureInfoProto.FLAGS, flags);
    proto.end(token);
}
 
源代码26 项目: Study_Android_Demo   文件: SettingsState.java
/**
 * Dump historical operations as a proto buf.
 *
 * @param proto The proto buf stream to dump to
 */
void dumpProtoHistoricalOperations(@NonNull ProtoOutputStream proto) {
    synchronized (mLock) {
        if (mHistoricalOperations == null) {
            return;
        }

        final int operationCount = mHistoricalOperations.size();
        for (int i = 0; i < operationCount; i++) {
            int index = mNextHistoricalOpIdx - 1 - i;
            if (index < 0) {
                index = operationCount + index;
            }
            HistoricalOperation operation = mHistoricalOperations.get(index);
            long settingsOperationToken = proto.start(GlobalSettingsProto.HISTORICAL_OP);
            proto.write(SettingsOperationProto.TIMESTAMP, operation.mTimestamp);
            proto.write(SettingsOperationProto.OPERATION, operation.mOperation);
            if (operation.mSetting != null) {
                // Only add the name of the setting, since we don't know the historical package
                // and values for it so they would be misleading to add here (all we could
                // add is what the current data is).
                proto.write(SettingsOperationProto.SETTING, operation.mSetting.getName());
            }
            proto.end(settingsOperationToken);
        }
    }
}
 
源代码27 项目: android_9.0.0_r45   文件: Dimmer.java
@Override
public void writeToProtoInner(ProtoOutputStream proto) {
    final long token = proto.start(ALPHA);
    proto.write(FROM, mFromAlpha);
    proto.write(TO, mToAlpha);
    proto.write(DURATION_MS, mDuration);
    proto.end(token);
}
 
源代码28 项目: android_9.0.0_r45   文件: AppWindowToken.java
void writeNameToProto(ProtoOutputStream proto, long fieldId) {
    if (appToken == null) {
        return;
    }
    try {
        proto.write(fieldId, appToken.getName());
    } catch (RemoteException e) {
        // This shouldn't happen, but in this case fall back to outputting nothing
        Slog.e(TAG, e.toString());
    }
}
 
源代码29 项目: android_9.0.0_r45   文件: WindowTracing.java
void appendTraceEntry(ProtoOutputStream proto) {
    if (!mEnabledLockFree) {
        return;
    }

    if (!mWriteQueue.offer(proto)) {
        Log.e(TAG, "Dropping window trace entry, queue full");
    }
}
 
源代码30 项目: Study_Android_Demo   文件: SettingsProvider.java
/**
 * Dump all settings as a proto buf.
 *
 * @param fd The file to dump to
 */
void dumpProto(@NonNull FileDescriptor fd) {
    ProtoOutputStream proto = new ProtoOutputStream(fd);

    synchronized (mLock) {
        SettingsProtoDumpUtil.dumpProtoLocked(mSettingsRegistry, proto);

    }

    proto.flush();
}