diff options
36 files changed, 438 insertions, 186 deletions
diff --git a/api/current.txt b/api/current.txt index 72666062c7fe..15b866174f0a 100644 --- a/api/current.txt +++ b/api/current.txt @@ -33586,6 +33586,7 @@ package android.os { method public static final int getUidForName(java.lang.String); method public static final boolean is64Bit(); method public static boolean isApplicationUid(int); + method public static final boolean isIsolated(); method public static final void killProcess(int); method public static final int myPid(); method public static final int myTid(); diff --git a/cmds/incident_helper/src/ih_util.cpp b/cmds/incident_helper/src/ih_util.cpp index 847b26a39ffe..5b413e99cc3b 100644 --- a/cmds/incident_helper/src/ih_util.cpp +++ b/cmds/incident_helper/src/ih_util.cpp @@ -440,7 +440,7 @@ void Message::startSession(ProtoOutputStream* proto, const string& name) { uint64_t fieldId = mTable->mFields[name]; - long long token = proto->start(fieldId); + uint64_t token = proto->start(fieldId); mPreviousField = name; mTokens.push(token); } diff --git a/cmds/incident_helper/src/ih_util.h b/cmds/incident_helper/src/ih_util.h index 53f443873e4d..c4eda4af4333 100644 --- a/cmds/incident_helper/src/ih_util.h +++ b/cmds/incident_helper/src/ih_util.h @@ -194,7 +194,7 @@ public: private: Table* mTable; std::string mPreviousField; - stack<long long> mTokens; + stack<uint64_t> mTokens; map<std::string, Message*> mSubMessages; }; diff --git a/cmds/incident_helper/src/parsers/CpuFreqParser.cpp b/cmds/incident_helper/src/parsers/CpuFreqParser.cpp index fde17bd97a7f..43a12f603ba3 100644 --- a/cmds/incident_helper/src/parsers/CpuFreqParser.cpp +++ b/cmds/incident_helper/src/parsers/CpuFreqParser.cpp @@ -65,10 +65,10 @@ CpuFreqParser::Parse(const int in, const int out) const proto.write(CpuFreqProto::JIFFY_HZ, (int)jiffyHz); for (int i=0; i<numCpus; i++) { - long long token = proto.start(CpuFreqProto::CPU_FREQS); + uint64_t token = proto.start(CpuFreqProto::CPU_FREQS); proto.write(CpuFreqProto::Stats::CPU_NAME, header[i+1]); for (vector<pair<int, long long>>::iterator it = cpucores[i].begin(); it != cpucores[i].end(); it++) { - long long stateToken = proto.start(CpuFreqProto::Stats::TIMES); + uint64_t stateToken = proto.start(CpuFreqProto::Stats::TIMES); proto.write(CpuFreqProto::Stats::TimeInState::STATE_KHZ, it->first); proto.write(CpuFreqProto::Stats::TimeInState::TIME_JIFFY, it->second); proto.end(stateToken); diff --git a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp index b2b431c62866..eed68b9e29c6 100644 --- a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp +++ b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp @@ -28,7 +28,7 @@ static void writeSuffixLine(ProtoOutputStream* proto, uint64_t fieldId, const int count, const char* names[], const uint64_t ids[]) { record_t record = parseRecord(line, delimiter); - long long token = proto->start(fieldId); + uint64_t token = proto->start(fieldId); for (int i=0; i<(int)record.size(); i++) { for (int j=0; j<count; j++) { if (stripSuffix(&record[i], names[j], true)) { @@ -138,7 +138,7 @@ CpuInfoParser::Parse(const int in, const int out) const continue; } - long long token = proto.start(CpuInfoProto::TASKS); + uint64_t token = proto.start(CpuInfoProto::TASKS); for (int i=0; i<(int)record.size(); i++) { if (!table.insertField(&proto, header[i], record[i])) { fprintf(stderr, "[%s]Line %d fails to insert field %s with value %s\n", diff --git a/cmds/incident_helper/src/parsers/EventLogTagsParser.cpp b/cmds/incident_helper/src/parsers/EventLogTagsParser.cpp index 73e37bd166cd..4fd6b068cf1e 100644 --- a/cmds/incident_helper/src/parsers/EventLogTagsParser.cpp +++ b/cmds/incident_helper/src/parsers/EventLogTagsParser.cpp @@ -41,7 +41,7 @@ EventLogTagsParser::Parse(const int in, const int out) const continue; } - long long token = proto.start(EventLogTagMapProto::EVENT_LOG_TAGS); + uint64_t token = proto.start(EventLogTagMapProto::EVENT_LOG_TAGS); proto.write(EventLogTag::TAG_NUMBER, toInt(tagNumber)); proto.write(EventLogTag::TAG_NAME, tagName); @@ -52,7 +52,7 @@ EventLogTagsParser::Parse(const int in, const int out) const // If the parts doesn't contains pipe, then skips it. continue; } - long long descriptorToken = proto.start(EventLogTag::VALUE_DESCRIPTORS); + uint64_t descriptorToken = proto.start(EventLogTag::VALUE_DESCRIPTORS); proto.write(EventLogTag::ValueDescriptor::NAME, valueDescriptor[0]); proto.write(EventLogTag::ValueDescriptor::TYPE, toInt(valueDescriptor[1])); if (valueDescriptor.size() == 3) { diff --git a/cmds/incident_helper/src/parsers/KernelWakesParser.cpp b/cmds/incident_helper/src/parsers/KernelWakesParser.cpp index 28816ea75a75..85beaf06eeb8 100644 --- a/cmds/incident_helper/src/parsers/KernelWakesParser.cpp +++ b/cmds/incident_helper/src/parsers/KernelWakesParser.cpp @@ -59,7 +59,7 @@ KernelWakesParser::Parse(const int in, const int out) const continue; } - long long token = proto.start(KernelWakeSourcesProto::WAKEUP_SOURCES); + uint64_t token = proto.start(KernelWakeSourcesProto::WAKEUP_SOURCES); for (int i=0; i<(int)record.size(); i++) { if (!table.insertField(&proto, header[i], record[i])) { fprintf(stderr, "[%s]Line %d has bad value %s of %s\n", diff --git a/cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp b/cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp index ab4382ac13f4..0615c74b8d64 100644 --- a/cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp +++ b/cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp @@ -64,7 +64,7 @@ PageTypeInfoParser::Parse(const int in, const int out) const record_t record = parseRecord(line, COMMA_DELIMITER); if (migrateTypeSession && record.size() == 3) { - long long token = proto.start(PageTypeInfoProto::MIGRATE_TYPES); + uint64_t token = proto.start(PageTypeInfoProto::MIGRATE_TYPES); // expect part 0 starts with "Node" if (stripPrefix(&record[0], "Node")) { proto.write(PageTypeInfoProto::MigrateType::NODE, toInt(record[0])); @@ -93,7 +93,7 @@ PageTypeInfoParser::Parse(const int in, const int out) const proto.end(token); } else if (!blockHeader.empty() && record.size() == 2) { - long long token = proto.start(PageTypeInfoProto::BLOCKS); + uint64_t token = proto.start(PageTypeInfoProto::BLOCKS); if (stripPrefix(&record[0], "Node")) { proto.write(PageTypeInfoProto::Block::NODE, toInt(record[0])); } else return BAD_VALUE; diff --git a/cmds/incident_helper/src/parsers/ProcrankParser.cpp b/cmds/incident_helper/src/parsers/ProcrankParser.cpp index c1c458e69ddf..4763b482e368 100644 --- a/cmds/incident_helper/src/parsers/ProcrankParser.cpp +++ b/cmds/incident_helper/src/parsers/ProcrankParser.cpp @@ -66,7 +66,7 @@ ProcrankParser::Parse(const int in, const int out) const continue; } - long long token = proto.start(ProcrankProto::PROCESSES); + uint64_t token = proto.start(ProcrankProto::PROCESSES); for (int i=0; i<(int)record.size(); i++) { if (!table.insertField(&proto, header[i], record[i])) { fprintf(stderr, "[%s]Line %d has bad value %s of %s\n", @@ -77,22 +77,22 @@ ProcrankParser::Parse(const int in, const int out) const } // add summary - long long token = proto.start(ProcrankProto::SUMMARY); + uint64_t token = proto.start(ProcrankProto::SUMMARY); if (!total.empty()) { record = parseRecord(total); - long long token = proto.start(ProcrankProto::Summary::TOTAL); + uint64_t token = proto.start(ProcrankProto::Summary::TOTAL); for (int i=(int)record.size(); i>0; i--) { table.insertField(&proto, header[header.size() - i].c_str(), record[record.size() - i].c_str()); } proto.end(token); } if (!zram.empty()) { - long long token = proto.start(ProcrankProto::Summary::ZRAM); + uint64_t token = proto.start(ProcrankProto::Summary::ZRAM); proto.write(ProcrankProto::Summary::Zram::RAW_TEXT, zram); proto.end(token); } if (!ram.empty()) { - long long token = proto.start(ProcrankProto::Summary::RAM); + uint64_t token = proto.start(ProcrankProto::Summary::RAM); proto.write(ProcrankProto::Summary::Ram::RAW_TEXT, ram); proto.end(token); } diff --git a/cmds/incident_helper/src/parsers/PsParser.cpp b/cmds/incident_helper/src/parsers/PsParser.cpp index 420775fb5f04..8d64064e26f4 100644 --- a/cmds/incident_helper/src/parsers/PsParser.cpp +++ b/cmds/incident_helper/src/parsers/PsParser.cpp @@ -71,7 +71,7 @@ status_t PsParser::Parse(const int in, const int out) const { continue; } - long long token = proto.start(PsProto::PROCESSES); + uint64_t token = proto.start(PsProto::PROCESSES); for (int i=0; i<(int)record.size(); i++) { if (!table.insertField(&proto, header[i], record[i])) { fprintf(stderr, "[%s]Line %d has bad value %s of %s\n", diff --git a/cmds/incident_helper/src/parsers/SystemPropertiesParser.cpp b/cmds/incident_helper/src/parsers/SystemPropertiesParser.cpp index 7b0ac0b8452b..eba536bd9e9c 100644 --- a/cmds/incident_helper/src/parsers/SystemPropertiesParser.cpp +++ b/cmds/incident_helper/src/parsers/SystemPropertiesParser.cpp @@ -207,7 +207,7 @@ SystemPropertiesParser::Parse(const int in, const int out) const sysProp.endSession(&proto); for (auto it = extras.begin(); it != extras.end(); it++) { - long long token = proto.start(SystemPropertiesProto::EXTRA_PROPERTIES); + uint64_t token = proto.start(SystemPropertiesProto::EXTRA_PROPERTIES); proto.write(SystemPropertiesProto::Property::NAME, it->first); proto.write(SystemPropertiesProto::Property::VALUE, it->second); proto.end(token); diff --git a/cmds/incidentd/src/PrivacyBuffer.cpp b/cmds/incidentd/src/PrivacyBuffer.cpp index ee57f4d0e5d6..73ee1cbbd70d 100644 --- a/cmds/incidentd/src/PrivacyBuffer.cpp +++ b/cmds/incidentd/src/PrivacyBuffer.cpp @@ -91,7 +91,7 @@ status_t PrivacyBuffer::stripField(const Privacy* parentPolicy, const PrivacySpe // current field is message type and its sub-fields have extra privacy policies uint32_t msgSize = mData.readRawVarint(); size_t start = mData.rp()->pos(); - long long token = mProto.start(encode_field_id(policy)); + uint64_t token = mProto.start(encode_field_id(policy)); while (mData.rp()->pos() - start != msgSize) { status_t err = stripField(policy, spec, depth + 1); if (err != NO_ERROR) return err; diff --git a/cmds/incidentd/src/Section.cpp b/cmds/incidentd/src/Section.cpp index 334d77c1494e..46243c052ac1 100644 --- a/cmds/incidentd/src/Section.cpp +++ b/cmds/incidentd/src/Section.cpp @@ -735,7 +735,7 @@ status_t LogSection::BlockingCall(int pipeWriteFd) const { lastTimestamp.tv_nsec = msg.entry_v1.nsec; // format a BinaryLogEntry - long long token = proto.start(LogProto::BINARY_LOGS); + uint64_t token = proto.start(LogProto::BINARY_LOGS); proto.write(BinaryLogEntry::SEC, msg.entry_v1.sec); proto.write(BinaryLogEntry::NANOSEC, msg.entry_v1.nsec); proto.write(BinaryLogEntry::UID, (int)msg.entry_v4.uid); @@ -745,7 +745,7 @@ status_t LogSection::BlockingCall(int pipeWriteFd) const { get4LE(reinterpret_cast<uint8_t const*>(msg.msg()))); do { elem = android_log_read_next(context); - long long elemToken = proto.start(BinaryLogEntry::ELEMS); + uint64_t elemToken = proto.start(BinaryLogEntry::ELEMS); switch (elem.type) { case EVENT_TYPE_INT: proto.write(BinaryLogEntry::Elem::TYPE, @@ -797,7 +797,7 @@ status_t LogSection::BlockingCall(int pipeWriteFd) const { lastTimestamp.tv_nsec = entry.tv_nsec; // format a TextLogEntry - long long token = proto.start(LogProto::TEXT_LOGS); + uint64_t token = proto.start(LogProto::TEXT_LOGS); proto.write(TextLogEntry::SEC, (long long)entry.tv_sec); proto.write(TextLogEntry::NANOSEC, (long long)entry.tv_nsec); proto.write(TextLogEntry::PRIORITY, (int)entry.priority); diff --git a/cmds/statsd/src/StatsLogProcessor.cpp b/cmds/statsd/src/StatsLogProcessor.cpp index e98b54da5098..3127e9439a06 100644 --- a/cmds/statsd/src/StatsLogProcessor.cpp +++ b/cmds/statsd/src/StatsLogProcessor.cpp @@ -249,14 +249,14 @@ void StatsLogProcessor::onDumpReportLocked(const ConfigKey& key, const uint64_t ProtoOutputStream proto; // Start of ConfigKey. - long long configKeyToken = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_CONFIG_KEY); + uint64_t configKeyToken = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_CONFIG_KEY); proto.write(FIELD_TYPE_INT32 | FIELD_ID_UID, key.GetUid()); proto.write(FIELD_TYPE_INT64 | FIELD_ID_ID, (long long)key.GetId()); proto.end(configKeyToken); // End of ConfigKey. // Start of ConfigMetricsReport (reports). - long long reportsToken = + uint64_t reportsToken = proto.start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_REPORTS); int64_t lastReportTimeNs = it->second->getLastReportTimeNs(); diff --git a/cmds/statsd/src/guardrail/StatsdStats.cpp b/cmds/statsd/src/guardrail/StatsdStats.cpp index 22faaa184ffd..d626d901cdd0 100644 --- a/cmds/statsd/src/guardrail/StatsdStats.cpp +++ b/cmds/statsd/src/guardrail/StatsdStats.cpp @@ -455,7 +455,7 @@ void StatsdStats::dumpStats(FILE* out) const { } void addConfigStatsToProto(const ConfigStats& configStats, ProtoOutputStream* proto) { - long long token = + uint64_t token = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_CONFIG_STATS); proto->write(FIELD_TYPE_INT32 | FIELD_ID_CONFIG_STATS_UID, configStats.uid); proto->write(FIELD_TYPE_INT64 | FIELD_ID_CONFIG_STATS_ID, (long long)configStats.id); @@ -487,7 +487,7 @@ void addConfigStatsToProto(const ConfigStats& configStats, ProtoOutputStream* pr } for (const auto& pair : configStats.matcher_stats) { - long long tmpToken = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | + uint64_t tmpToken = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_CONFIG_STATS_MATCHER_STATS); proto->write(FIELD_TYPE_INT64 | FIELD_ID_MATCHER_STATS_ID, (long long)pair.first); proto->write(FIELD_TYPE_INT32 | FIELD_ID_MATCHER_STATS_COUNT, pair.second); @@ -495,7 +495,7 @@ void addConfigStatsToProto(const ConfigStats& configStats, ProtoOutputStream* pr } for (const auto& pair : configStats.condition_stats) { - long long tmpToken = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | + uint64_t tmpToken = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_CONFIG_STATS_CONDITION_STATS); proto->write(FIELD_TYPE_INT64 | FIELD_ID_CONDITION_STATS_ID, (long long)pair.first); proto->write(FIELD_TYPE_INT32 | FIELD_ID_CONDITION_STATS_COUNT, pair.second); @@ -503,7 +503,7 @@ void addConfigStatsToProto(const ConfigStats& configStats, ProtoOutputStream* pr } for (const auto& pair : configStats.metric_stats) { - long long tmpToken = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | + uint64_t tmpToken = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_CONFIG_STATS_METRIC_STATS); proto->write(FIELD_TYPE_INT64 | FIELD_ID_METRIC_STATS_ID, (long long)pair.first); proto->write(FIELD_TYPE_INT32 | FIELD_ID_METRIC_STATS_COUNT, pair.second); @@ -511,7 +511,7 @@ void addConfigStatsToProto(const ConfigStats& configStats, ProtoOutputStream* pr } for (const auto& pair : configStats.alert_stats) { - long long tmpToken = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | + uint64_t tmpToken = proto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_CONFIG_STATS_ALERT_STATS); proto->write(FIELD_TYPE_INT64 | FIELD_ID_ALERT_STATS_ID, (long long)pair.first); proto->write(FIELD_TYPE_INT32 | FIELD_ID_ALERT_STATS_COUNT, pair.second); @@ -539,7 +539,7 @@ void StatsdStats::dumpStats(std::vector<uint8_t>* output, bool reset) { const size_t atomCounts = mPushedAtomStats.size(); for (size_t i = 2; i < atomCounts; i++) { if (mPushedAtomStats[i] > 0) { - long long token = + uint64_t token = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_ATOM_STATS | FIELD_COUNT_REPEATED); proto.write(FIELD_TYPE_INT32 | FIELD_ID_ATOM_STATS_TAG, (int32_t)i); proto.write(FIELD_TYPE_INT32 | FIELD_ID_ATOM_STATS_COUNT, mPushedAtomStats[i]); @@ -552,20 +552,20 @@ void StatsdStats::dumpStats(std::vector<uint8_t>* output, bool reset) { } if (mAnomalyAlarmRegisteredStats > 0) { - long long token = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_ANOMALY_ALARM_STATS); + uint64_t token = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_ANOMALY_ALARM_STATS); proto.write(FIELD_TYPE_INT32 | FIELD_ID_ANOMALY_ALARMS_REGISTERED, mAnomalyAlarmRegisteredStats); proto.end(token); } if (mPeriodicAlarmRegisteredStats > 0) { - long long token = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_SUBSCRIBER_ALARM_STATS); + uint64_t token = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_SUBSCRIBER_ALARM_STATS); proto.write(FIELD_TYPE_INT32 | FIELD_ID_SUBSCRIBER_ALARMS_REGISTERED, mPeriodicAlarmRegisteredStats); proto.end(token); } - long long uidMapToken = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_UIDMAP_STATS); + uint64_t uidMapToken = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_UIDMAP_STATS); proto.write(FIELD_TYPE_INT32 | FIELD_ID_UID_MAP_SNAPSHOTS, mUidMapStats.snapshots); proto.write(FIELD_TYPE_INT32 | FIELD_ID_UID_MAP_CHANGES, mUidMapStats.changes); proto.write(FIELD_TYPE_INT32 | FIELD_ID_UID_MAP_BYTES_USED, mUidMapStats.bytes_used); @@ -575,7 +575,7 @@ void StatsdStats::dumpStats(std::vector<uint8_t>* output, bool reset) { proto.end(uidMapToken); for (const auto& error : mLoggerErrors) { - long long token = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_LOGGER_ERROR_STATS | + uint64_t token = proto.start(FIELD_TYPE_MESSAGE | FIELD_ID_LOGGER_ERROR_STATS | FIELD_COUNT_REPEATED); proto.write(FIELD_TYPE_INT32 | FIELD_ID_LOGGER_STATS_TIME, error.first); proto.write(FIELD_TYPE_INT32 | FIELD_ID_LOGGER_STATS_ERROR_CODE, error.second); diff --git a/cmds/statsd/src/metrics/CountMetricProducer.cpp b/cmds/statsd/src/metrics/CountMetricProducer.cpp index 671c57f13e8a..da5ef44497ef 100644 --- a/cmds/statsd/src/metrics/CountMetricProducer.cpp +++ b/cmds/statsd/src/metrics/CountMetricProducer.cpp @@ -109,23 +109,23 @@ void CountMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, return; } protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_ID, (long long)mMetricId); - long long protoToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_COUNT_METRICS); + uint64_t protoToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_COUNT_METRICS); for (const auto& counter : mPastBuckets) { const MetricDimensionKey& dimensionKey = counter.first; VLOG(" dimension key %s", dimensionKey.c_str()); - long long wrapperToken = + uint64_t wrapperToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DATA); // First fill dimension. - long long dimensionInWhatToken = protoOutput->start( + uint64_t dimensionInWhatToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_WHAT); writeDimensionToProto(dimensionKey.getDimensionKeyInWhat(), protoOutput); protoOutput->end(dimensionInWhatToken); if (dimensionKey.hasDimensionKeyInCondition()) { - long long dimensionInConditionToken = protoOutput->start( + uint64_t dimensionInConditionToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_CONDITION); writeDimensionToProto(dimensionKey.getDimensionKeyInCondition(), protoOutput); protoOutput->end(dimensionInConditionToken); @@ -134,7 +134,7 @@ void CountMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, // Then fill bucket_info (CountBucketInfo). for (const auto& bucket : counter.second) { - long long bucketInfoToken = protoOutput->start( + uint64_t bucketInfoToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_BUCKET_INFO); protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_START_BUCKET_ELAPSED_NANOS, (long long)bucket.mBucketStartNs); diff --git a/cmds/statsd/src/metrics/DurationMetricProducer.cpp b/cmds/statsd/src/metrics/DurationMetricProducer.cpp index ac39662070d9..29a892dff935 100644 --- a/cmds/statsd/src/metrics/DurationMetricProducer.cpp +++ b/cmds/statsd/src/metrics/DurationMetricProducer.cpp @@ -235,7 +235,7 @@ void DurationMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, } protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_ID, (long long)mMetricId); - long long protoToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_DURATION_METRICS); + uint64_t protoToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_DURATION_METRICS); VLOG("Duration metric %lld dump report now...", (long long)mMetricId); @@ -243,17 +243,17 @@ void DurationMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, const MetricDimensionKey& dimensionKey = pair.first; VLOG(" dimension key %s", dimensionKey.c_str()); - long long wrapperToken = + uint64_t wrapperToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DATA); // First fill dimension. - long long dimensionToken = protoOutput->start( + uint64_t dimensionToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_WHAT); writeDimensionToProto(dimensionKey.getDimensionKeyInWhat(), protoOutput); protoOutput->end(dimensionToken); if (dimensionKey.hasDimensionKeyInCondition()) { - long long dimensionInConditionToken = protoOutput->start( + uint64_t dimensionInConditionToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_CONDITION); writeDimensionToProto(dimensionKey.getDimensionKeyInCondition(), protoOutput); protoOutput->end(dimensionInConditionToken); @@ -261,7 +261,7 @@ void DurationMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, // Then fill bucket_info (DurationBucketInfo). for (const auto& bucket : pair.second) { - long long bucketInfoToken = protoOutput->start( + uint64_t bucketInfoToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_BUCKET_INFO); protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_START_BUCKET_ELAPSED_NANOS, (long long)bucket.mBucketStartNs); diff --git a/cmds/statsd/src/metrics/EventMetricProducer.cpp b/cmds/statsd/src/metrics/EventMetricProducer.cpp index fff91f67241c..778eb8e18896 100644 --- a/cmds/statsd/src/metrics/EventMetricProducer.cpp +++ b/cmds/statsd/src/metrics/EventMetricProducer.cpp @@ -131,7 +131,7 @@ void EventMetricProducer::onMatchedLogEventInternalLocked( return; } - long long wrapperToken = + uint64_t wrapperToken = mProto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DATA); const bool truncateTimestamp = android::util::kNotTruncatingTimestampAtomWhiteList.find(event.GetTagId()) == @@ -148,7 +148,7 @@ void EventMetricProducer::onMatchedLogEventInternalLocked( (long long)getWallClockNs()); } - long long eventToken = mProto->start(FIELD_TYPE_MESSAGE | FIELD_ID_ATOMS); + uint64_t eventToken = mProto->start(FIELD_TYPE_MESSAGE | FIELD_ID_ATOMS); event.ToProto(*mProto); mProto->end(eventToken); mProto->end(wrapperToken); diff --git a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp index 000c7a77d2a3..288f563cc948 100644 --- a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp +++ b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp @@ -135,23 +135,23 @@ void GaugeMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, } protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_ID, (long long)mMetricId); - long long protoToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_GAUGE_METRICS); + uint64_t protoToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_GAUGE_METRICS); for (const auto& pair : mPastBuckets) { const MetricDimensionKey& dimensionKey = pair.first; VLOG(" dimension key %s", dimensionKey.c_str()); - long long wrapperToken = + uint64_t wrapperToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DATA); // First fill dimension. - long long dimensionToken = protoOutput->start( + uint64_t dimensionToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_WHAT); writeDimensionToProto(dimensionKey.getDimensionKeyInWhat(), protoOutput); protoOutput->end(dimensionToken); if (dimensionKey.hasDimensionKeyInCondition()) { - long long dimensionInConditionToken = protoOutput->start( + uint64_t dimensionInConditionToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_CONDITION); writeDimensionToProto(dimensionKey.getDimensionKeyInCondition(), protoOutput); protoOutput->end(dimensionInConditionToken); @@ -159,7 +159,7 @@ void GaugeMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, // Then fill bucket_info (GaugeBucketInfo). for (const auto& bucket : pair.second) { - long long bucketInfoToken = protoOutput->start( + uint64_t bucketInfoToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_BUCKET_INFO); protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_START_BUCKET_ELAPSED_NANOS, (long long)bucket.mBucketStartNs); @@ -167,7 +167,7 @@ void GaugeMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, (long long)bucket.mBucketEndNs); if (!bucket.mGaugeAtoms.empty()) { - long long atomsToken = + uint64_t atomsToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_ATOM); for (const auto& atom : bucket.mGaugeAtoms) { writeFieldValueTreeToStream(mTagId, *(atom.mFields), protoOutput); diff --git a/cmds/statsd/src/metrics/MetricsManager.cpp b/cmds/statsd/src/metrics/MetricsManager.cpp index 0301466707df..1ca59a366fcb 100644 --- a/cmds/statsd/src/metrics/MetricsManager.cpp +++ b/cmds/statsd/src/metrics/MetricsManager.cpp @@ -186,7 +186,7 @@ void MetricsManager::onDumpReport(const uint64_t dumpTimeStampNs, ProtoOutputStr // one StatsLogReport per MetricProduer for (const auto& producer : mAllMetricProducers) { if (mNoReportMetricIds.find(producer->getMetricId()) == mNoReportMetricIds.end()) { - long long token = + uint64_t token = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_METRICS); producer->onDumpReport(dumpTimeStampNs, protoOutput); protoOutput->end(token); diff --git a/cmds/statsd/src/metrics/ValueMetricProducer.cpp b/cmds/statsd/src/metrics/ValueMetricProducer.cpp index f6bba3d9bb0d..e88daf793dc3 100644 --- a/cmds/statsd/src/metrics/ValueMetricProducer.cpp +++ b/cmds/statsd/src/metrics/ValueMetricProducer.cpp @@ -142,21 +142,21 @@ void ValueMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, return; } protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_ID, (long long)mMetricId); - long long protoToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_VALUE_METRICS); + uint64_t protoToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_VALUE_METRICS); for (const auto& pair : mPastBuckets) { const MetricDimensionKey& dimensionKey = pair.first; VLOG(" dimension key %s", dimensionKey.c_str()); - long long wrapperToken = + uint64_t wrapperToken = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DATA); // First fill dimension. - long long dimensionToken = protoOutput->start( + uint64_t dimensionToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_WHAT); writeDimensionToProto(dimensionKey.getDimensionKeyInWhat(), protoOutput); protoOutput->end(dimensionToken); if (dimensionKey.hasDimensionKeyInCondition()) { - long long dimensionInConditionToken = protoOutput->start( + uint64_t dimensionInConditionToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_CONDITION); writeDimensionToProto(dimensionKey.getDimensionKeyInCondition(), protoOutput); protoOutput->end(dimensionInConditionToken); @@ -164,7 +164,7 @@ void ValueMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, // Then fill bucket_info (ValueBucketInfo). for (const auto& bucket : pair.second) { - long long bucketInfoToken = protoOutput->start( + uint64_t bucketInfoToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_BUCKET_INFO); protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_START_BUCKET_NANOS, (long long)bucket.mBucketStartNs); diff --git a/cmds/statsd/src/stats_log_util.cpp b/cmds/statsd/src/stats_log_util.cpp index 78ebe3380b8e..cab61e9787c6 100644 --- a/cmds/statsd/src/stats_log_util.cpp +++ b/cmds/statsd/src/stats_log_util.cpp @@ -70,7 +70,7 @@ void writeDimensionToProtoHelper(const std::vector<FieldValue>& dims, size_t* in } if (depth == valueDepth && valuePrefix == prefix) { - long long token = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | + uint64_t token = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | DIMENSIONS_VALUE_TUPLE_VALUE); protoOutput->write(FIELD_TYPE_INT32 | DIMENSIONS_VALUE_FIELD, fieldNum); switch (dim.mValue.getType()) { @@ -99,10 +99,10 @@ void writeDimensionToProtoHelper(const std::vector<FieldValue>& dims, size_t* in (*index)++; } else if (valueDepth > depth && valuePrefix == prefix) { // Writing the sub tree - long long dimensionToken = protoOutput->start( + uint64_t dimensionToken = protoOutput->start( FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | DIMENSIONS_VALUE_TUPLE_VALUE); protoOutput->write(FIELD_TYPE_INT32 | DIMENSIONS_VALUE_FIELD, fieldNum); - long long tupleToken = + uint64_t tupleToken = protoOutput->start(FIELD_TYPE_MESSAGE | DIMENSIONS_VALUE_VALUE_TUPLE); writeDimensionToProtoHelper(dims, index, valueDepth, dim.mField.getPrefix(valueDepth), protoOutput); @@ -123,7 +123,7 @@ void writeDimensionToProto(const HashableDimensionKey& dimension, ProtoOutputStr } protoOutput->write(FIELD_TYPE_INT32 | DIMENSIONS_VALUE_FIELD, dimension.getValues()[0].mField.getTag()); - long long topToken = protoOutput->start(FIELD_TYPE_MESSAGE | DIMENSIONS_VALUE_VALUE_TUPLE); + uint64_t topToken = protoOutput->start(FIELD_TYPE_MESSAGE | DIMENSIONS_VALUE_VALUE_TUPLE); size_t index = 0; writeDimensionToProtoHelper(dimension.getValues(), &index, 0, 0, protoOutput); protoOutput->end(topToken); @@ -189,7 +189,7 @@ void writeFieldValueTreeToStreamHelper(const std::vector<FieldValue>& dims, size (*index)++; } else if (valueDepth > depth && valuePrefix == prefix) { // Writing the sub tree - long long msg_token = 0; + uint64_t msg_token = 0ULL; if (valueDepth == depth + 2) { msg_token = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | fieldNum); @@ -212,7 +212,7 @@ void writeFieldValueTreeToStreamHelper(const std::vector<FieldValue>& dims, size void writeFieldValueTreeToStream(int tagId, const std::vector<FieldValue>& values, util::ProtoOutputStream* protoOutput) { - long long atomToken = protoOutput->start(FIELD_TYPE_MESSAGE | tagId); + uint64_t atomToken = protoOutput->start(FIELD_TYPE_MESSAGE | tagId); size_t index = 0; writeFieldValueTreeToStreamHelper(values, &index, 0, 0, protoOutput); @@ -257,7 +257,7 @@ int64_t TimeUnitToBucketSizeInMillis(TimeUnit unit) { void writePullerStatsToStream(const std::pair<int, StatsdStats::PulledAtomStats>& pair, util::ProtoOutputStream* protoOutput) { - long long token = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_PULLED_ATOM_STATS | + uint64_t token = protoOutput->start(FIELD_TYPE_MESSAGE | FIELD_ID_PULLED_ATOM_STATS | FIELD_COUNT_REPEATED); protoOutput->write(FIELD_TYPE_INT32 | FIELD_ID_PULL_ATOM_ID, (int32_t)pair.first); protoOutput->write(FIELD_TYPE_INT64 | FIELD_ID_TOTAL_PULL, (long long)pair.second.totalPull); diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index 850c354715c1..9528ff14ad94 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -33,6 +33,7 @@ Landroid/app/Activity;->mComponent:Landroid/content/ComponentName; Landroid/app/Activity;->mFragments:Landroid/app/FragmentController; Landroid/app/Activity;->mHandler:Landroid/os/Handler; Landroid/app/Activity;->mInstrumentation:Landroid/app/Instrumentation; +Landroid/app/Activity;->mMainThread:Landroid/app/ActivityThread; Landroid/app/Activity;->mReferrer:Ljava/lang/String; Landroid/app/Activity;->mResultCode:I Landroid/app/Activity;->mResultData:Landroid/content/Intent; @@ -76,6 +77,7 @@ Landroid/app/ActivityThread;->getPackageInfoNoCheck(Landroid/content/pm/Applicat Landroid/app/ActivityThread;->getPackageManager()Landroid/content/pm/IPackageManager; Landroid/app/ActivityThread;->getProcessName()Ljava/lang/String; Landroid/app/ActivityThread;->getSystemContext()Landroid/app/ContextImpl; +Landroid/app/ActivityThread;->handleBindApplication(Landroid/app/ActivityThread$AppBindData;)V Landroid/app/ActivityThread$H;->BIND_SERVICE:I Landroid/app/ActivityThread$H;->CREATE_SERVICE:I Landroid/app/ActivityThread$H;->DUMP_PROVIDER:I @@ -97,6 +99,7 @@ Landroid/app/ActivityThread;->mH:Landroid/app/ActivityThread$H; Landroid/app/ActivityThread;->mInitialApplication:Landroid/app/Application; Landroid/app/ActivityThread;->mInstrumentation:Landroid/app/Instrumentation; Landroid/app/ActivityThread;->mLocalProvidersByName:Landroid/util/ArrayMap; +Landroid/app/ActivityThread;->mLocalProviders:Landroid/util/ArrayMap; Landroid/app/ActivityThread;->mNumVisibleActivities:I Landroid/app/ActivityThread;->mPackages:Landroid/util/ArrayMap; Landroid/app/ActivityThread;->mProviderMap:Landroid/util/ArrayMap; @@ -244,6 +247,7 @@ Landroid/app/Dialog;->mShowMessage:Landroid/os/Message; Landroid/app/DownloadManager$Request;->mUri:Landroid/net/Uri; Landroid/app/FragmentManagerImpl;->mAdded:Ljava/util/ArrayList; Landroid/app/Fragment;->mChildFragmentManager:Landroid/app/FragmentManagerImpl; +Landroid/app/Fragment;->mWho:Ljava/lang/String; Landroid/app/IActivityManager;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I Landroid/app/IActivityManager;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z Landroid/app/IActivityManager;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V @@ -313,6 +317,7 @@ Landroid/app/Notification;->isGroupSummary()Z Landroid/app/NotificationManager;->getService()Landroid/app/INotificationManager; Landroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V Landroid/app/NotificationManager;->sService:Landroid/app/INotificationManager; +Landroid/app/Notification;->mGroupKey:Ljava/lang/String; Landroid/app/Notification;->mLargeIcon:Landroid/graphics/drawable/Icon; Landroid/app/Notification;->mSmallIcon:Landroid/graphics/drawable/Icon; Landroid/app/Notification;->setLatestEventInfo(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V @@ -389,6 +394,7 @@ Landroid/bluetooth/BluetoothHeadset;->close()V Landroid/bluetooth/BluetoothHeadset;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z Landroid/bluetooth/BluetoothUuid;->RESERVED_UUIDS:[Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetooth;->getAddress()Ljava/lang/String; +Landroid/bluetooth/IBluetoothManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/bluetooth/IBluetooth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetooth; Landroid/bluetooth/IBluetooth$Stub$Proxy;->getAddress()Ljava/lang/String; Landroid/bluetooth/le/BluetoothLeScanner;->startScanFromSource(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;)V @@ -431,6 +437,7 @@ Landroid/content/ContextWrapper;->mBase:Landroid/content/Context; Landroid/content/CursorLoader;->mCancellationSignal:Landroid/os/CancellationSignal; Landroid/content/CursorLoader;->mObserver:Landroid/content/Loader$ForceLoadContentObserver; Landroid/content/IClipboard$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IClipboard; +Landroid/content/IClipboard$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/content/IContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle; Landroid/content/IContentService;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V Landroid/content/IContentService;->getMasterSyncAutomatically()Z @@ -441,6 +448,7 @@ Landroid/content/Intent;->ACTION_ALARM_CHANGED:Ljava/lang/String; Landroid/content/IntentFilter;->mActions:Ljava/util/ArrayList; Landroid/content/IntentFilter;->setOrder(I)V Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/IBinder;)Landroid/content/Intent; +Landroid/content/pm/ActivityInfo;->resizeMode:I Landroid/content/pm/ApplicationInfo;->enabledSetting:I Landroid/content/pm/ApplicationInfo;->getBaseResourcePath()Ljava/lang/String; Landroid/content/pm/ApplicationInfo;->installLocation:I @@ -628,20 +636,42 @@ Landroid/graphics/Camera;->native_instance:J Landroid/graphics/Canvas;-><init>(J)V Landroid/graphics/Canvas;->release()V Landroid/graphics/drawable/AnimatedImageDrawable;->onAnimationEnd()V +Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mStateIds:Landroid/util/SparseIntArray; +Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mTransitions:Landroid/util/LongSparseLongArray; +Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState; Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->callOnFinished(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V Landroid/graphics/drawable/AnimationDrawable;->mCurFrame:I +Landroid/graphics/drawable/BitmapDrawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/BitmapDrawable;->getTint()Landroid/content/res/ColorStateList; Landroid/graphics/drawable/BitmapDrawable;->getTintMode()Landroid/graphics/PorterDuff$Mode; Landroid/graphics/drawable/BitmapDrawable;->setBitmap(Landroid/graphics/Bitmap;)V Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mConstantPadding:Landroid/graphics/Rect; Landroid/graphics/drawable/DrawableContainer;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/DrawableContainer;->mDrawableContainerState:Landroid/graphics/drawable/DrawableContainer$DrawableContainerState; +Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/Drawable;->inflateWithAttributes(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/TypedArray;I)V Landroid/graphics/drawable/Drawable;->mCallback:Ljava/lang/ref/WeakReference; Landroid/graphics/drawable/GradientDrawable$GradientState;->mAngle:I +Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradientColors:[I +Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradient:I +Landroid/graphics/drawable/GradientDrawable$GradientState;->mHeight:I +Landroid/graphics/drawable/GradientDrawable$GradientState;->mInnerRadius:I +Landroid/graphics/drawable/GradientDrawable$GradientState;->mInnerRadiusRatio:F +Landroid/graphics/drawable/GradientDrawable$GradientState;->mOrientation:Landroid/graphics/drawable/GradientDrawable$Orientation; Landroid/graphics/drawable/GradientDrawable$GradientState;->mPadding:Landroid/graphics/Rect; Landroid/graphics/drawable/GradientDrawable$GradientState;->mPositions:[F +Landroid/graphics/drawable/GradientDrawable$GradientState;->mRadiusArray:[F +Landroid/graphics/drawable/GradientDrawable$GradientState;->mRadius:F +Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I +Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeDashGap:F +Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeDashWidth:F +Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeWidth:I +Landroid/graphics/drawable/GradientDrawable$GradientState;->mThickness:I +Landroid/graphics/drawable/GradientDrawable$GradientState;->mThicknessRatio:F +Landroid/graphics/drawable/GradientDrawable$GradientState;->mWidth:I Landroid/graphics/drawable/GradientDrawable;->mPadding:Landroid/graphics/Rect; +Landroid/graphics/drawable/Icon;->mType:I +Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; Landroid/graphics/drawable/NinePatchDrawable;->mNinePatchState:Landroid/graphics/drawable/NinePatchDrawable$NinePatchState; Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mNinePatch:Landroid/graphics/NinePatch; Landroid/graphics/drawable/StateListDrawable;->extractStateSet(Landroid/util/AttributeSet;)[I @@ -695,6 +725,7 @@ Landroid/hardware/display/WifiDisplayStatus;->mDisplays:[Landroid/hardware/displ Landroid/hardware/HardwareBuffer;-><init>(J)V Landroid/hardware/HardwareBuffer;->mNativeObject:J Landroid/hardware/input/IInputManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/input/IInputManager; +Landroid/hardware/input/IInputManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager; Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager; Landroid/hardware/location/ContextHubInfo;->getId()I @@ -766,6 +797,7 @@ Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->vendorUuid:Ljava/util/U Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchAdditionalInfoEvent(III[F[I)V Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchFlushCompleteEvent(I)V Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchSensorEvent(I[FIJ)V +Landroid/hardware/usb/IUsbManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/hardware/usb/UsbDeviceConnection;->mNativeContext:J Landroid/hardware/usb/UsbManager;->setCurrentFunction(Ljava/lang/String;Z)V Landroid/hardware/usb/UsbRequest;->mNativeContext:J @@ -801,6 +833,7 @@ Landroid/icu/util/Calendar;->writeObject(Ljava/io/ObjectOutputStream;)V Landroid/icu/util/ChineseCalendar;->readObject(Ljava/io/ObjectInputStream;)V Landroid/icu/util/IslamicCalendar;->readObject(Ljava/io/ObjectInputStream;)V Landroid/icu/util/SimpleTimeZone;->readObject(Ljava/io/ObjectInputStream;)V +Landroid/inputmethodservice/InputMethodService;->mExtractEditText:Landroid/inputmethodservice/ExtractEditText; Landroid/location/CountryDetector;->detectCountry()Landroid/location/Country; Landroid/location/Country;->getCountryIso()Ljava/lang/String; Landroid/location/Country;->getSource()I @@ -911,6 +944,7 @@ Landroid/media/AudioTrack;->mNativeTrackInJavaObj:J Landroid/media/AudioTrack;->mStreamType:I Landroid/media/AudioTrack;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V Landroid/media/IAudioService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioService; +Landroid/media/IAudioService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/media/JetPlayer;->mNativePlayerInJavaObj:J Landroid/media/JetPlayer;->postEventFromNative(Ljava/lang/Object;III)V Landroid/media/MediaCodec;->releaseOutputBuffer(IZZJ)V @@ -925,6 +959,8 @@ Landroid/media/MediaFile;->LAST_AUDIO_FILE_TYPE:I Landroid/media/MediaFile$MediaFileType;->fileType:I Landroid/media/MediaFile$MediaFileType;->mimeType:Ljava/lang/String; Landroid/media/MediaFile;->sFileTypeMap:Ljava/util/HashMap; +Landroid/media/MediaFormat;->getMap()Ljava/util/Map; +Landroid/media/MediaHTTPService;->createHttpServiceBinderIfNecessary(Ljava/lang/String;)Landroid/os/IBinder; Landroid/media/MediaMetadataRetriever;->getEmbeddedPicture(I)[B Landroid/media/MediaPlayer;->getMetadata(ZZ)Landroid/media/Metadata; Landroid/media/MediaPlayer;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V @@ -1026,6 +1062,7 @@ Landroid/net/IConnectivityManager$Stub$Proxy;->getTetherableIfaces()[Ljava/lang/ Landroid/net/IConnectivityManager$Stub$Proxy;->getTetherableUsbRegexs()[Ljava/lang/String; Landroid/net/IConnectivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/net/INetworkStatsService$Stub$Proxy;->getMobileIfaces()[Ljava/lang/String; +Landroid/net/IpConfiguration;->httpProxy:Landroid/net/ProxyInfo; Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V Landroid/net/LocalSocketImpl;->inboundFileDescriptors:[Ljava/io/FileDescriptor; Landroid/net/LocalSocketImpl;->outboundFileDescriptors:[Ljava/io/FileDescriptor; @@ -1195,6 +1232,7 @@ Landroid/os/Bundle;->getIBinder(Ljava/lang/String;)Landroid/os/IBinder; Landroid/os/Bundle;->putIBinder(Ljava/lang/String;Landroid/os/IBinder;)V Landroid/os/Debug;->countInstancesOfClass(Ljava/lang/Class;)J Landroid/os/Debug;->dumpReferenceTables()V +Landroid/os/Debug;-><init>()V Landroid/os/Debug$MemoryInfo;->dalvikPrivateClean:I Landroid/os/Debug$MemoryInfo;->dalvikRss:I Landroid/os/Debug$MemoryInfo;->dalvikSharedClean:I @@ -1241,6 +1279,7 @@ Landroid/os/Handler;->mCallback:Landroid/os/Handler$Callback; Landroid/os/Handler;->mMessenger:Landroid/os/IMessenger; Landroid/os/HwBlob;-><init>(I)V Landroid/os/HwParcel;-><init>(Z)V +Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/os/IPermissionController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPermissionController; Landroid/os/IPermissionController$Stub$Proxy;->checkPermission(Ljava/lang/String;II)Z Landroid/os/IPowerManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPowerManager; @@ -1284,7 +1323,6 @@ Landroid/os/Process;->getPids(Ljava/lang/String;[I)[I Landroid/os/Process;->getTotalMemory()J Landroid/os/Process;->getUidForPid(I)I Landroid/os/Process;->isIsolated(I)Z -Landroid/os/Process;->isIsolated()Z Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z Landroid/os/Process;->readProcLines(Ljava/lang/String;[Ljava/lang/String;[J)V Landroid/os/RecoverySystem;->cancelScheduledUpdate(Landroid/content/Context;)V @@ -1457,6 +1495,7 @@ Landroid/provider/Settings$Secure;->ACCESSIBILITY_AUTOCLICK_ENABLED:Ljava/lang/S Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED:Ljava/lang/String; Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED:Ljava/lang/String; Landroid/provider/Settings$Secure;->ACCESSIBILITY_LARGE_POINTER_ICON:Ljava/lang/String; +Landroid/provider/Settings$Secure;->ENABLED_NOTIFICATION_LISTENERS:Ljava/lang/String; Landroid/provider/Settings$Secure;->INCALL_POWER_BUTTON_BEHAVIOR:Ljava/lang/String; Landroid/provider/Settings$Secure;->LONG_PRESS_TIMEOUT:Ljava/lang/String; Landroid/provider/Settings$Secure;->PACKAGE_VERIFIER_USER_CONSENT:Ljava/lang/String; @@ -1480,9 +1519,195 @@ Landroid/renderscript/RenderScriptCacheDir;->mCacheDir:Ljava/io/File; Landroid/renderscript/RenderScript;->create(Landroid/content/Context;I)Landroid/renderscript/RenderScript; Landroid/renderscript/RenderScript;->create(Landroid/content/Context;ILandroid/renderscript/RenderScript$ContextType;I)Landroid/renderscript/RenderScript; Landroid/renderscript/RenderScript;->getMinorID()J +Landroid/R$styleable;->ActionBar_background:I +Landroid/R$styleable;->ActionBar_backgroundSplit:I +Landroid/R$styleable;->ActionBar_backgroundStacked:I +Landroid/R$styleable;->ActionBar_divider:I +Landroid/R$styleable;->ActionBar:[I +Landroid/R$styleable;->ActionBar_itemPadding:I +Landroid/R$styleable;->CalendarView_dateTextAppearance:I +Landroid/R$styleable;->CalendarView_firstDayOfWeek:I +Landroid/R$styleable;->CalendarView_focusedMonthDateColor:I +Landroid/R$styleable;->CalendarView:[I +Landroid/R$styleable;->CalendarView_selectedDateVerticalBar:I +Landroid/R$styleable;->CalendarView_selectedWeekBackgroundColor:I +Landroid/R$styleable;->CalendarView_shownWeekCount:I +Landroid/R$styleable;->CalendarView_showWeekNumber:I +Landroid/R$styleable;->CalendarView_unfocusedMonthDateColor:I +Landroid/R$styleable;->CalendarView_weekDayTextAppearance:I +Landroid/R$styleable;->CalendarView_weekNumberColor:I +Landroid/R$styleable;->CalendarView_weekSeparatorLineColor:I +Landroid/R$styleable;->CheckedTextView_checkMark:I +Landroid/R$styleable;->CheckedTextView:[I +Landroid/R$styleable;->CompoundButton_button:I +Landroid/R$styleable;->CompoundButton:[I +Landroid/R$styleable;->ImageView_adjustViewBounds:I +Landroid/R$styleable;->ImageView_baselineAlignBottom:I +Landroid/R$styleable;->ImageView_cropToPadding:I +Landroid/R$styleable;->ImageView:[I +Landroid/R$styleable;->ImageView_maxHeight:I +Landroid/R$styleable;->ImageView_maxWidth:I +Landroid/R$styleable;->ImageView_scaleType:I +Landroid/R$styleable;->ImageView_src:I +Landroid/R$styleable;->ImageView_tint:I +Landroid/R$styleable;->LinearLayout_divider:I +Landroid/R$styleable;->LinearLayout_dividerPadding:I +Landroid/R$styleable;->LinearLayout:[I +Landroid/R$styleable;->LinearLayout_showDividers:I +Landroid/R$styleable;->ListView_dividerHeight:I +Landroid/R$styleable;->ListView_divider:I +Landroid/R$styleable;->ListView:[I +Landroid/R$styleable;->ProgressBar:[I +Landroid/R$styleable;->ProgressBar_indeterminateDrawable:I +Landroid/R$styleable;->ProgressBar_indeterminateDuration:I +Landroid/R$styleable;->ProgressBar_maxHeight:I +Landroid/R$styleable;->ProgressBar_maxWidth:I +Landroid/R$styleable;->ProgressBar_minHeight:I +Landroid/R$styleable;->ProgressBar_minWidth:I +Landroid/R$styleable;->ProgressBar_progressDrawable:I +Landroid/R$styleable;->SeekBar:[I +Landroid/R$styleable;->SeekBar_thumb:I +Landroid/R$styleable;->SeekBar_thumbOffset:I +Landroid/R$styleable;->Switch:[I +Landroid/R$styleable;->Switch_showText:I +Landroid/R$styleable;->Switch_splitTrack:I +Landroid/R$styleable;->Switch_switchMinWidth:I +Landroid/R$styleable;->Switch_switchPadding:I +Landroid/R$styleable;->Switch_switchTextAppearance:I +Landroid/R$styleable;->Switch_textOff:I +Landroid/R$styleable;->Switch_textOn:I +Landroid/R$styleable;->Switch_thumb:I +Landroid/R$styleable;->Switch_thumbTextPadding:I +Landroid/R$styleable;->Switch_track:I Landroid/R$styleable;->TextAppearance:[I +Landroid/R$styleable;->TextAppearance_textAllCaps:I +Landroid/R$styleable;->TextAppearance_textColorHighlight:I +Landroid/R$styleable;->TextAppearance_textColorHint:I Landroid/R$styleable;->TextAppearance_textColor:I +Landroid/R$styleable;->TextAppearance_textColorLink:I Landroid/R$styleable;->TextAppearance_textSize:I +Landroid/R$styleable;->TextAppearance_textStyle:I +Landroid/R$styleable;->TextAppearance_typeface:I +Landroid/R$styleable;->TextView_autoLink:I +Landroid/R$styleable;->TextView_autoText:I +Landroid/R$styleable;->TextView_bufferType:I +Landroid/R$styleable;->TextView_capitalize:I +Landroid/R$styleable;->TextView_cursorVisible:I +Landroid/R$styleable;->TextView_digits:I +Landroid/R$styleable;->TextView_drawableBottom:I +Landroid/R$styleable;->TextView_drawableEnd:I +Landroid/R$styleable;->TextView_drawableLeft:I +Landroid/R$styleable;->TextView_drawablePadding:I +Landroid/R$styleable;->TextView_drawableRight:I +Landroid/R$styleable;->TextView_drawableStart:I +Landroid/R$styleable;->TextView_drawableTop:I +Landroid/R$styleable;->TextView_editable:I +Landroid/R$styleable;->TextView_ellipsize:I +Landroid/R$styleable;->TextView_ems:I +Landroid/R$styleable;->TextView_enabled:I +Landroid/R$styleable;->TextView_freezesText:I +Landroid/R$styleable;->TextView_gravity:I +Landroid/R$styleable;->TextView_height:I +Landroid/R$styleable;->TextView_hint:I +Landroid/R$styleable;->TextView:[I +Landroid/R$styleable;->TextView_imeActionId:I +Landroid/R$styleable;->TextView_imeActionLabel:I +Landroid/R$styleable;->TextView_imeOptions:I +Landroid/R$styleable;->TextView_includeFontPadding:I +Landroid/R$styleable;->TextView_inputMethod:I +Landroid/R$styleable;->TextView_inputType:I +Landroid/R$styleable;->TextView_lines:I +Landroid/R$styleable;->TextView_lineSpacingExtra:I +Landroid/R$styleable;->TextView_lineSpacingMultiplier:I +Landroid/R$styleable;->TextView_linksClickable:I +Landroid/R$styleable;->TextView_marqueeRepeatLimit:I +Landroid/R$styleable;->TextView_maxEms:I +Landroid/R$styleable;->TextView_maxHeight:I +Landroid/R$styleable;->TextView_maxLength:I +Landroid/R$styleable;->TextView_maxLines:I +Landroid/R$styleable;->TextView_maxWidth:I +Landroid/R$styleable;->TextView_minEms:I +Landroid/R$styleable;->TextView_minHeight:I +Landroid/R$styleable;->TextView_minLines:I +Landroid/R$styleable;->TextView_minWidth:I +Landroid/R$styleable;->TextView_numeric:I +Landroid/R$styleable;->TextView_password:I +Landroid/R$styleable;->TextView_phoneNumber:I +Landroid/R$styleable;->TextView_privateImeOptions:I +Landroid/R$styleable;->TextView_scrollHorizontally:I +Landroid/R$styleable;->TextView_selectAllOnFocus:I +Landroid/R$styleable;->TextView_shadowColor:I +Landroid/R$styleable;->TextView_shadowDx:I +Landroid/R$styleable;->TextView_shadowDy:I +Landroid/R$styleable;->TextView_shadowRadius:I +Landroid/R$styleable;->TextView_singleLine:I +Landroid/R$styleable;->TextView_textAllCaps:I +Landroid/R$styleable;->TextView_textAppearance:I +Landroid/R$styleable;->TextView_textColorHighlight:I +Landroid/R$styleable;->TextView_textColorHint:I +Landroid/R$styleable;->TextView_textColor:I +Landroid/R$styleable;->TextView_textColorLink:I +Landroid/R$styleable;->TextView_textCursorDrawable:I +Landroid/R$styleable;->TextView_text:I +Landroid/R$styleable;->TextView_textIsSelectable:I +Landroid/R$styleable;->TextView_textScaleX:I +Landroid/R$styleable;->TextView_textSelectHandle:I +Landroid/R$styleable;->TextView_textSelectHandleLeft:I +Landroid/R$styleable;->TextView_textSelectHandleRight:I +Landroid/R$styleable;->TextView_textSize:I +Landroid/R$styleable;->TextView_textStyle:I +Landroid/R$styleable;->TextView_typeface:I +Landroid/R$styleable;->TextView_width:I +Landroid/R$styleable;->View_background:I +Landroid/R$styleable;->View_clickable:I +Landroid/R$styleable;->View_contentDescription:I +Landroid/R$styleable;->ViewDrawableStates:[I +Landroid/R$styleable;->View_drawingCacheQuality:I +Landroid/R$styleable;->View_duplicateParentState:I +Landroid/R$styleable;->View_fadingEdge:I +Landroid/R$styleable;->View_filterTouchesWhenObscured:I +Landroid/R$styleable;->View_fitsSystemWindows:I +Landroid/R$styleable;->View_focusable:I +Landroid/R$styleable;->View_focusableInTouchMode:I +Landroid/R$styleable;->View_hapticFeedbackEnabled:I +Landroid/R$styleable;->View:[I +Landroid/R$styleable;->View_id:I +Landroid/R$styleable;->View_isScrollContainer:I +Landroid/R$styleable;->View_keepScreenOn:I +Landroid/R$styleable;->View_longClickable:I +Landroid/R$styleable;->View_minHeight:I +Landroid/R$styleable;->View_minWidth:I +Landroid/R$styleable;->View_nextFocusDown:I +Landroid/R$styleable;->View_nextFocusLeft:I +Landroid/R$styleable;->View_nextFocusRight:I +Landroid/R$styleable;->View_nextFocusUp:I +Landroid/R$styleable;->View_onClick:I +Landroid/R$styleable;->View_overScrollMode:I +Landroid/R$styleable;->View_paddingBottom:I +Landroid/R$styleable;->View_paddingEnd:I +Landroid/R$styleable;->View_padding:I +Landroid/R$styleable;->View_paddingLeft:I +Landroid/R$styleable;->View_paddingRight:I +Landroid/R$styleable;->View_paddingStart:I +Landroid/R$styleable;->View_paddingTop:I +Landroid/R$styleable;->View_saveEnabled:I +Landroid/R$styleable;->View_scrollbarDefaultDelayBeforeFade:I +Landroid/R$styleable;->View_scrollbarFadeDuration:I +Landroid/R$styleable;->View_scrollbars:I +Landroid/R$styleable;->View_scrollbarSize:I +Landroid/R$styleable;->View_scrollbarStyle:I +Landroid/R$styleable;->View_scrollbarThumbHorizontal:I +Landroid/R$styleable;->View_scrollbarThumbVertical:I +Landroid/R$styleable;->View_scrollbarTrackHorizontal:I +Landroid/R$styleable;->View_scrollbarTrackVertical:I +Landroid/R$styleable;->View_scrollX:I +Landroid/R$styleable;->View_scrollY:I +Landroid/R$styleable;->View_soundEffectsEnabled:I +Landroid/R$styleable;->View_tag:I +Landroid/R$styleable;->View_visibility:I +Landroid/R$styleable;->Window:[I +Landroid/R$styleable;->Window_windowBackground:I +Landroid/R$styleable;->Window_windowFrame:I Landroid/security/KeyStore;->getInstance()Landroid/security/KeyStore; Landroid/security/keystore/RecoveryController;->getInstance()Landroid/security/keystore/RecoveryController; Landroid/security/keystore/RecoveryController;->initRecoveryService(Ljava/lang/String;[B)V @@ -1539,6 +1764,8 @@ Landroid/telephony/CellSignalStrengthLte;->mRsrp:I Landroid/telephony/CellSignalStrengthLte;->mRsrq:I Landroid/telephony/CellSignalStrengthLte;->mRssnr:I Landroid/telephony/CellSignalStrengthLte;->mSignalStrength:I +Landroid/telephony/CellSignalStrengthWcdma;->mBitErrorRate:I +Landroid/telephony/CellSignalStrengthWcdma;->mSignalStrength:I Landroid/telephony/PhoneStateListener;->mSubId:Ljava/lang/Integer; Landroid/telephony/ServiceState;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/ServiceState; Landroid/telephony/SignalStrength;->getAsuLevel()I @@ -1598,6 +1825,7 @@ Landroid/telephony/TelephonyManager;->getSimOperator(I)Ljava/lang/String; Landroid/telephony/TelephonyManager;->getSimOperatorNameForPhone(I)Ljava/lang/String; Landroid/telephony/TelephonyManager;->getSimOperatorName(I)Ljava/lang/String; Landroid/telephony/TelephonyManager;->getSimOperatorNumericForPhone(I)Ljava/lang/String; +Landroid/telephony/TelephonyManager;->getSimOperatorNumeric(I)Ljava/lang/String; Landroid/telephony/TelephonyManager;->getSimSerialNumber(I)Ljava/lang/String; Landroid/telephony/TelephonyManager;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I Landroid/telephony/TelephonyManager;->getSubscriberId(I)Ljava/lang/String; @@ -1652,6 +1880,7 @@ Landroid/text/SpannableStringInternal;->sendSpanRemoved(Ljava/lang/Object;II)V Landroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;III)V Landroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;IIIZ)V Landroid/text/SpannableStringInternal;->START:I +Landroid/text/SpanSet;->spans:[Ljava/lang/Object; Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZLandroid/text/TextUtils$TruncateAt;II)V Landroid/text/StaticLayout$LineBreaks;->ascents:[F Landroid/text/StaticLayout$LineBreaks;->breaks:[I @@ -1661,6 +1890,11 @@ Landroid/text/StaticLayout$LineBreaks;->widths:[F Landroid/text/StaticLayout;->mColumns:I Landroid/text/StaticLayout;->mLineCount:I Landroid/text/StaticLayout;->mLines:[I +Landroid/text/TextLine;->mCharacterStyleSpanSet:Landroid/text/SpanSet; +Landroid/text/TextLine;->mMetricAffectingSpanSpanSet:Landroid/text/SpanSet; +Landroid/text/TextLine;->mReplacementSpanSpanSet:Landroid/text/SpanSet; +Landroid/text/TextLine;->mSpanned:Landroid/text/Spanned; +Landroid/text/TextLine;->mText:Ljava/lang/CharSequence; Landroid/text/TextLine;->obtain()Landroid/text/TextLine; Landroid/text/TextLine;->sCached:[Landroid/text/TextLine; Landroid/text/TextPaint;->setUnderlineText(IF)V @@ -1672,6 +1906,9 @@ Landroid/util/DisplayMetrics;->noncompatHeightPixels:I Landroid/util/DisplayMetrics;->noncompatWidthPixels:I Landroid/util/EventLog$Event;-><init>([B)V Landroid/util/Log;->wtf(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ZZ)I +Landroid/util/LongSparseLongArray;->mKeys:[J +Landroid/util/LongSparseLongArray;->mSize:I +Landroid/util/LongSparseLongArray;->mValues:[J Landroid/util/NtpTrustedTime;->forceRefresh()Z Landroid/util/NtpTrustedTime;->getCachedNtpTime()J Landroid/util/NtpTrustedTime;->getCachedNtpTimeReference()J @@ -1680,8 +1917,12 @@ Landroid/util/NtpTrustedTime;->hasCache()Z Landroid/util/Pools$SynchronizedPool;->acquire()Ljava/lang/Object; Landroid/util/Rational;->readObject(Ljava/io/ObjectInputStream;)V Landroid/util/Singleton;->mInstance:Ljava/lang/Object; +Landroid/util/SparseIntArray;->mKeys:[I +Landroid/util/SparseIntArray;->mSize:I +Landroid/util/SparseIntArray;->mValues:[I Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager; Landroid/view/accessibility/AccessibilityManager;->isHighTextContrastEnabled()Z +Landroid/view/accessibility/AccessibilityManager;->mIsEnabled:Z Landroid/view/accessibility/AccessibilityManager;->mIsHighTextContrastEnabled:Z Landroid/view/accessibility/AccessibilityManager;->sInstance:Landroid/view/accessibility/AccessibilityManager; Landroid/view/accessibility/AccessibilityManager;->sInstanceSync:Ljava/lang/Object; @@ -1691,6 +1932,7 @@ Landroid/view/accessibility/IAccessibilityManager$Stub;->asInterface(Landroid/os Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/view/ActionMode;->isUiFocusable()Z Landroid/view/animation/Animation;->mListener:Landroid/view/animation/Animation$AnimationListener; +Landroid/view/autofill/IAutoFillManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/view/Choreographer$CallbackQueue;->addCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)V Landroid/view/Choreographer;->doFrame(JI)V Landroid/view/Choreographer;->getFrameTime()J @@ -1795,6 +2037,7 @@ Landroid/view/PointerIcon;->mHotSpotY:F Landroid/view/PointerIcon;->mType:I Landroid/view/RenderNodeAnimator;->callOnFinished(Landroid/view/RenderNodeAnimator;)V Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener; +Landroid/view/ScaleGestureDetector;->mMinSpan:I Landroid/view/SurfaceControl$PhysicalDisplayInfo;->appVsyncOffsetNanos:J Landroid/view/SurfaceControl$PhysicalDisplayInfo;->density:F Landroid/view/SurfaceControl$PhysicalDisplayInfo;->height:I @@ -1824,6 +2067,7 @@ Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;- Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextSelection;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionStarted(I)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; Landroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z +Landroid/view/TextureView;->destroyHardwareLayer()V Landroid/view/TextureView;->mLayer:Landroid/view/TextureLayer; Landroid/view/TextureView;->mNativeWindow:J Landroid/view/TextureView;->mSurface:Landroid/graphics/SurfaceTexture; @@ -1902,8 +2146,10 @@ Landroid/view/View;->mViewFlags:I Landroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V Landroid/view/View;->recomputePadding()V Landroid/view/View;->requestAccessibilityFocus()Z +Landroid/view/View;->resetDisplayList()V Landroid/view/View;->resetPaddingToInitialValues()V Landroid/view/ViewRootImpl;->detachFunctor(J)V +Landroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;)V Landroid/view/ViewRootImpl;->invokeFunctor(JZ)V Landroid/view/ViewRootImpl;->mStopped:Z Landroid/view/ViewRootImpl;->mView:Landroid/view/View; @@ -2063,6 +2309,7 @@ Landroid/widget/AbsSeekBar;->mIsDragging:Z Landroid/widget/AbsSeekBar;->mSplitTrack:Z Landroid/widget/AbsSeekBar;->mThumb:Landroid/graphics/drawable/Drawable; Landroid/widget/AbsSeekBar;->mTouchProgressOffset:F +Landroid/widget/ActivityChooserModel;->get(Landroid/content/Context;Ljava/lang/String;)Landroid/widget/ActivityChooserModel; Landroid/widget/ActivityChooserView;->setExpandActivityOverflowButtonDrawable(Landroid/graphics/drawable/Drawable;)V Landroid/widget/AdapterView;->mDataChanged:Z Landroid/widget/AdapterView;->mFirstPosition:I @@ -2076,10 +2323,17 @@ Landroid/widget/AutoCompleteTextView;->setDropDownAlwaysVisible(Z)V Landroid/widget/CompoundButton;->mButtonDrawable:Landroid/graphics/drawable/Drawable; Landroid/widget/DatePicker;->mDelegate:Landroid/widget/DatePicker$DatePickerDelegate; Landroid/widget/EdgeEffect;->mPaint:Landroid/graphics/Paint; +Landroid/widget/Editor;->invalidateTextDisplayList()V Landroid/widget/Editor;->mShowCursor:J Landroid/widget/ExpandableListView;->mChildDivider:Landroid/graphics/drawable/Drawable; +Landroid/widget/FastScroller;->mContainerRect:Landroid/graphics/Rect; +Landroid/widget/FastScroller;->mHeaderCount:I +Landroid/widget/FastScroller;->mLongList:Z +Landroid/widget/FastScroller;->mMinimumTouchTarget:I Landroid/widget/FastScroller;->mThumbDrawable:Landroid/graphics/drawable/Drawable; +Landroid/widget/FastScroller;->mThumbImage:Landroid/widget/ImageView; Landroid/widget/FastScroller;->mTrackDrawable:Landroid/graphics/drawable/Drawable; +Landroid/widget/FastScroller;->mTrackImage:Landroid/widget/ImageView; Landroid/widget/Gallery;->fillToGalleryLeft()V Landroid/widget/Gallery;->fillToGalleryRight()V Landroid/widget/Gallery$FlingRunnable;->startUsingVelocity(I)V @@ -2189,6 +2443,7 @@ Landroid/widget/ScrollView;->mScroller:Landroid/widget/OverScroller; Landroid/widget/SearchView;->mCloseButton:Landroid/widget/ImageView; Landroid/widget/SearchView;->mSearchButton:Landroid/widget/ImageView; Landroid/widget/SearchView;->mSearchPlate:Landroid/view/View; +Landroid/widget/SearchView;->mSearchSrcTextView:Landroid/widget/SearchView$SearchAutoComplete; Landroid/widget/SearchView;->onCloseClicked()V Landroid/widget/SearchView;->setQuery(Ljava/lang/CharSequence;)V Landroid/widget/SlidingDrawer;->mTopOffset:I @@ -2199,6 +2454,7 @@ Landroid/widget/TabHost$TabSpec;->mContentStrategy:Landroid/widget/TabHost$Conte Landroid/widget/TabWidget;->setTabSelectionListener(Landroid/widget/TabWidget$OnTabSelectionChanged;)V Landroid/widget/TextView;->assumeLayout()V Landroid/widget/TextView;->createEditorIfNeeded()V +Landroid/widget/TextView;->isSingleLine()Z Landroid/widget/TextView;->mCursorDrawableRes:I Landroid/widget/TextView;->mCurTextColor:I Landroid/widget/TextView;->mEditor:Landroid/widget/Editor; @@ -2222,6 +2478,7 @@ Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperation(IILjava/lan Lcom/android/internal/app/IAppOpsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Lcom/android/internal/app/IBatteryStats;->getStatistics()[B Lcom/android/internal/app/IBatteryStats$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IBatteryStats; +Lcom/android/internal/app/IBatteryStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionManagerService; Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->showSessionFromSession(Landroid/os/IBinder;Landroid/os/Bundle;I)Z Lcom/android/internal/os/BatterySipper;->add(Lcom/android/internal/os/BatterySipper;)V @@ -2273,6 +2530,7 @@ Lcom/android/internal/R$array;->config_mobile_hotspot_provision_app:I Lcom/android/internal/R$array;->config_tether_wifi_regexs:I Lcom/android/internal/R$array;->maps_starting_lat_lng:I Lcom/android/internal/R$array;->maps_starting_zoom:I +Lcom/android/internal/R$attr;->actionBarStyle:I Lcom/android/internal/R$attr;->mapViewStyle:I Lcom/android/internal/R$attr;->state_focused:I Lcom/android/internal/R$attr;->state_pressed:I @@ -2342,6 +2600,10 @@ Lcom/android/internal/R$styleable;->AndroidManifestUsesSdk_minSdkVersion:I Lcom/android/internal/R$styleable;->AndroidManifestUsesSdk_targetSdkVersion:I Lcom/android/internal/R$styleable;->AndroidManifest_versionCode:I Lcom/android/internal/R$styleable;->AndroidManifest_versionName:I +Lcom/android/internal/R$styleable;->CheckBoxPreference_disableDependentsState:I +Lcom/android/internal/R$styleable;->CheckBoxPreference:[I +Lcom/android/internal/R$styleable;->CheckBoxPreference_summaryOff:I +Lcom/android/internal/R$styleable;->CheckBoxPreference_summaryOn:I Lcom/android/internal/R$styleable;->CompoundButton_button:I Lcom/android/internal/R$styleable;->CompoundButton:[I Lcom/android/internal/R$styleable;->EdgeEffect_colorEdgeEffect:I @@ -2349,6 +2611,23 @@ Lcom/android/internal/R$styleable;->EdgeEffect:[I Lcom/android/internal/R$styleable;->IconMenuView:[I Lcom/android/internal/R$styleable;->ImageView:[I Lcom/android/internal/R$styleable;->ImageView_src:I +Lcom/android/internal/R$styleable;->Preference_defaultValue:I +Lcom/android/internal/R$styleable;->Preference_dependency:I +Lcom/android/internal/R$styleable;->Preference_enabled:I +Lcom/android/internal/R$styleable;->Preference_fragment:I +Lcom/android/internal/R$styleable;->PreferenceGroup:[I +Lcom/android/internal/R$styleable;->PreferenceGroup_orderingFromXml:I +Lcom/android/internal/R$styleable;->Preference:[I +Lcom/android/internal/R$styleable;->Preference_icon:I +Lcom/android/internal/R$styleable;->Preference_key:I +Lcom/android/internal/R$styleable;->Preference_layout:I +Lcom/android/internal/R$styleable;->Preference_order:I +Lcom/android/internal/R$styleable;->Preference_persistent:I +Lcom/android/internal/R$styleable;->Preference_selectable:I +Lcom/android/internal/R$styleable;->Preference_shouldDisableView:I +Lcom/android/internal/R$styleable;->Preference_summary:I +Lcom/android/internal/R$styleable;->Preference_title:I +Lcom/android/internal/R$styleable;->Preference_widgetLayout:I Lcom/android/internal/R$styleable;->ScrollView_fillViewport:I Lcom/android/internal/R$styleable;->ScrollView:[I Lcom/android/internal/R$styleable;->SyncAdapter_accountType:I @@ -2365,6 +2644,7 @@ Lcom/android/internal/R$styleable;->TextView_drawableLeft:I Lcom/android/internal/R$styleable;->TextView_drawableRight:I Lcom/android/internal/R$styleable;->TextView_drawableTop:I Lcom/android/internal/R$styleable;->TextView:[I +Lcom/android/internal/R$styleable;->TextView_maxLines:I Lcom/android/internal/R$styleable;->View_background:I Lcom/android/internal/R$styleable;->ViewGroup_Layout:[I Lcom/android/internal/R$styleable;->ViewGroup_Layout_layout_height:I @@ -2386,12 +2666,16 @@ Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;-><init>(Landroid/os/IB Lcom/android/internal/telephony/ISms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISms; Lcom/android/internal/telephony/ISub$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Lcom/android/internal/telephony/ITelephony;->call(Ljava/lang/String;Ljava/lang/String;)V +Lcom/android/internal/telephony/ITelephony;->disableDataConnectivity()Z +Lcom/android/internal/telephony/ITelephony;->enableDataConnectivity()Z Lcom/android/internal/telephony/ITelephony;->endCall()Z Lcom/android/internal/telephony/ITelephony;->isIdle(Ljava/lang/String;)Z Lcom/android/internal/telephony/ITelephony;->silenceRinger()V Lcom/android/internal/telephony/ITelephony$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephony; +Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->endCall()Z Lcom/android/internal/telephony/ITelephony$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDeviceId:I +Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Lcom/android/internal/util/XmlUtils;->readMapXml(Ljava/io/InputStream;)Ljava/util/HashMap; Lcom/android/internal/view/IInputMethodManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethodManager; Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList()Ljava/util/List; @@ -2402,6 +2686,7 @@ Lcom/android/internal/view/menu/MenuBuilder;->setCurrentMenuInfo(Landroid/view/C Lcom/android/internal/view/menu/MenuBuilder;->setOptionalIconsVisible(Z)V Lcom/android/internal/view/menu/MenuItemImpl;->mIconResId:I Lcom/android/internal/view/menu/MenuItemImpl;->setMenuInfo(Landroid/view/ContextMenu$ContextMenuInfo;)V +Lcom/android/internal/view/menu/MenuPopupHelper;->setForceShowIcon(Z)V Lcom/android/internal/view/menu/MenuView$ItemView;->getItemData()Lcom/android/internal/view/menu/MenuItemImpl; Lcom/android/okhttp/ConnectionPool;->keepAliveDurationNs:J Lcom/android/okhttp/ConnectionPool;->maxIdleConnections:I @@ -2411,6 +2696,7 @@ Lcom/android/okhttp/OkHttpClient;->connectionPool:Lcom/android/okhttp/Connection Lcom/android/okhttp/OkHttpClient;->DEFAULT_PROTOCOLS:Ljava/util/List; Lcom/android/okhttp/OkHttpClient;->dns:Lcom/android/okhttp/Dns; Lcom/android/okhttp/OkHttpClient;->setProtocols(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient; +Lcom/android/okhttp/OkHttpClient;->setRetryOnConnectionFailure(Z)V Lcom/android/okhttp/okio/ByteString;->readObject(Ljava/io/ObjectInputStream;)V Lcom/android/okhttp/okio/ByteString;->writeObject(Ljava/io/ObjectOutputStream;)V Lcom/android/org/conscrypt/AbstractConscryptSocket;->getAlpnSelectedProtocol()[B @@ -2453,6 +2739,7 @@ Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setHostname(Ljava/lang/String;)V Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setNpnProtocols([B)V Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setSoWriteTimeout(I)V Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V +Lcom/android/org/conscrypt/OpenSSLX509Certificate;->mContext:J Lcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;)V Ldalvik/system/BaseDexClassLoader;->getLdLibraryPath()Ljava/lang/String; Ldalvik/system/BaseDexClassLoader;->pathList:Ldalvik/system/DexPathList; @@ -2473,6 +2760,7 @@ Ldalvik/system/DexPathList$Element;->dexFile:Ldalvik/system/DexFile; Ldalvik/system/DexPathList$Element;-><init>(Ldalvik/system/DexFile;Ljava/io/File;)V Ldalvik/system/DexPathList$Element;-><init>(Ljava/io/File;ZLjava/io/File;Ldalvik/system/DexFile;)V Ldalvik/system/DexPathList;-><init>(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)V +Ldalvik/system/DexPathList;->loadDexFile(Ljava/io/File;Ljava/io/File;Ljava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)Ldalvik/system/DexFile; Ldalvik/system/DexPathList;->makeDexElements(Ljava/util/List;Ljava/io/File;Ljava/util/List;Ljava/lang/ClassLoader;)[Ldalvik/system/DexPathList$Element; Ldalvik/system/DexPathList;->makeInMemoryDexElements([Ljava/nio/ByteBuffer;Ljava/util/List;)[Ldalvik/system/DexPathList$Element; Ldalvik/system/DexPathList;->makePathElements(Ljava/util/List;)[Ldalvik/system/DexPathList$NativeLibraryElement; @@ -2561,6 +2849,7 @@ Ljava/lang/StringBuffer;->writeObject(Ljava/io/ObjectOutputStream;)V Ljava/lang/StringBuilder;->readObject(Ljava/io/ObjectInputStream;)V Ljava/lang/StringBuilder;->writeObject(Ljava/io/ObjectOutputStream;)V Ljava/lang/String;-><init>(II[C)V +Ljava/lang/System;-><init>()V Ljava/lang/Thread;->daemon:Z Ljava/lang/Thread;->dispatchUncaughtException(Ljava/lang/Throwable;)V Ljava/lang/ThreadGroup;->add(Ljava/lang/Thread;)V @@ -2621,6 +2910,7 @@ Ljava/net/Socket;->impl:Ljava/net/SocketImpl; Ljava/net/URI;->host:Ljava/lang/String; Ljava/net/URI;->readObject(Ljava/io/ObjectInputStream;)V Ljava/net/URI;->writeObject(Ljava/io/ObjectOutputStream;)V +Ljava/net/URL;->handler:Ljava/net/URLStreamHandler; Ljava/net/URL;->handlers:Ljava/util/Hashtable; Ljava/net/URL;->readObject(Ljava/io/ObjectInputStream;)V Ljava/net/URL;->writeObject(Ljava/io/ObjectOutputStream;)V @@ -2717,6 +3007,7 @@ Ljava/util/concurrent/atomic/DoubleAccumulator;->readObject(Ljava/io/ObjectInput Ljava/util/concurrent/atomic/DoubleAdder;->readObject(Ljava/io/ObjectInputStream;)V Ljava/util/concurrent/atomic/LongAccumulator;->readObject(Ljava/io/ObjectInputStream;)V Ljava/util/concurrent/atomic/LongAdder;->readObject(Ljava/io/ObjectInputStream;)V +Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasMoreElements()Z Ljava/util/concurrent/ConcurrentHashMap;->readObject(Ljava/io/ObjectInputStream;)V Ljava/util/concurrent/ConcurrentHashMap;->writeObject(Ljava/io/ObjectOutputStream;)V Ljava/util/concurrent/ConcurrentLinkedDeque;->readObject(Ljava/io/ObjectInputStream;)V @@ -2765,6 +3056,7 @@ Ljava/util/IdentityHashMap;->writeObject(Ljava/io/ObjectOutputStream;)V Ljava/util/InvalidPropertiesFormatException;->readObject(Ljava/io/ObjectInputStream;)V Ljava/util/InvalidPropertiesFormatException;->writeObject(Ljava/io/ObjectOutputStream;)V Ljava/util/LinkedHashMap;->eldest()Ljava/util/Map$Entry; +Ljava/util/LinkedHashMap$LinkedHashIterator;->hasNext()Z Ljava/util/LinkedList;->readObject(Ljava/io/ObjectInputStream;)V Ljava/util/LinkedList;->writeObject(Ljava/io/ObjectOutputStream;)V Ljava/util/Locale;->createConstant(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale; diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java index efa90d308ee0..4a8f61c24a48 100644 --- a/core/java/android/content/pm/ApplicationInfo.java +++ b/core/java/android/content/pm/ApplicationInfo.java @@ -763,13 +763,15 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { public String[] resourceDirs; /** - * String retrieved from the seinfo tag found in selinux policy. This value can be set through - * the mac_permissions.xml policy construct. This value is used for setting an SELinux security - * context on the process as well as its data directory. + * String retrieved from the seinfo tag found in selinux policy. This value + * can be overridden with a value set through the mac_permissions.xml policy + * construct. This value is useful in setting an SELinux security context on + * the process as well as its data directory. The String default is being used + * here to represent a catchall label when no policy matches. * * {@hide} */ - public String seInfo; + public String seInfo = "default"; /** * The seinfo tag generated per-user. This value may change based upon the diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java index 96e2ae3d5ac1..21c1263c47d1 100644 --- a/core/java/android/os/Process.java +++ b/core/java/android/os/Process.java @@ -599,7 +599,6 @@ public class Process { /** * Returns whether the current process is in an isolated sandbox. - * @hide */ public static final boolean isIsolated() { return isIsolated(myUid()); diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index d59ba1822f47..2fcf18820b31 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -3077,7 +3077,7 @@ <!-- Notification action name for connecting to the network specified in the notification body. --> <string name="wifi_available_action_connect">Connect</string> <!-- Notification action name for opening the wifi picker, showing the user all the nearby networks. --> - <string name="wifi_available_action_all_networks">All Networks</string> + <string name="wifi_available_action_all_networks">All networks</string> <!--Notification title for Wi-Fi Wake onboarding. This is displayed the first time a user disables Wi-Fi with the feature enabled. --> <string name="wifi_wakeup_onboarding_title">Wi\u2011Fi will turn on automatically</string> diff --git a/libs/protoutil/include/android/util/ProtoOutputStream.h b/libs/protoutil/include/android/util/ProtoOutputStream.h index 52830d397772..43ac1ec387a4 100644 --- a/libs/protoutil/include/android/util/ProtoOutputStream.h +++ b/libs/protoutil/include/android/util/ProtoOutputStream.h @@ -25,7 +25,7 @@ namespace android { namespace util { /** - * Position of the field type in a (long long) fieldId. + * Position of the field type in a 64-bits fieldId. */ const uint64_t FIELD_TYPE_SHIFT = 32; @@ -106,8 +106,8 @@ public: * Returns a token of this write session. * Must call end(token) when finish write this sub-message. */ - long long start(uint64_t fieldId); - void end(long long token); + uint64_t start(uint64_t fieldId); + void end(uint64_t token); /** * Returns how many bytes are buffered in ProtoOutputStream. @@ -139,7 +139,7 @@ private: bool mCompact; int mDepth; int mObjectId; - long long mExpectedObjectToken; + uint64_t mExpectedObjectToken; inline void writeDoubleImpl(uint32_t id, double val); inline void writeFloatImpl(uint32_t id, float val); diff --git a/libs/protoutil/src/ProtoOutputStream.cpp b/libs/protoutil/src/ProtoOutputStream.cpp index 9d9ffec4c588..a040bd223e94 100644 --- a/libs/protoutil/src/ProtoOutputStream.cpp +++ b/libs/protoutil/src/ProtoOutputStream.cpp @@ -28,7 +28,7 @@ ProtoOutputStream::ProtoOutputStream() mCompact(false), mDepth(0), mObjectId(0), - mExpectedObjectToken(0LL) + mExpectedObjectToken(0ULL) { } @@ -45,7 +45,7 @@ ProtoOutputStream::clear() mCompact = false; mDepth = 0; mObjectId = 0; - mExpectedObjectToken = 0LL; + mExpectedObjectToken = 0ULL; } bool @@ -222,37 +222,37 @@ ProtoOutputStream::write(uint64_t fieldId, const char* val, size_t size) * because of the overflow, and only the tokens are compared. * Bits 0-31 - offset of the first size field in the buffer. */ -long long +uint64_t makeToken(int tagSize, bool repeated, int depth, int objectId, int sizePos) { - return ((0x07L & (long long)tagSize) << 61) + return ((0x07L & (uint64_t)tagSize) << 61) | (repeated ? (1LL << 60) : 0) - | (0x01ffL & (long long)depth) << 51 - | (0x07ffffL & (long long)objectId) << 32 - | (0x0ffffffffL & (long long)sizePos); + | (0x01ffL & (uint64_t)depth) << 51 + | (0x07ffffL & (uint64_t)objectId) << 32 + | (0x0ffffffffL & (uint64_t)sizePos); } /** * Get the encoded tag size from the token. */ -static int getTagSizeFromToken(long long token) { +static int getTagSizeFromToken(uint64_t token) { return (int)(0x7 & (token >> 61)); } /** * Get the nesting depth of startObject calls from the token. */ -static int getDepthFromToken(long long token) { +static int getDepthFromToken(uint64_t token) { return (int)(0x01ff & (token >> 51)); } /** * Get the location of the childRawSize (the first 32 bit size field) in this object. */ -static int getSizePosFromToken(long long token) { +static int getSizePosFromToken(uint64_t token) { return (int)token; } -long long +uint64_t ProtoOutputStream::start(uint64_t fieldId) { if ((fieldId & FIELD_TYPE_MASK) != FIELD_TYPE_MESSAGE) { @@ -275,10 +275,10 @@ ProtoOutputStream::start(uint64_t fieldId) } void -ProtoOutputStream::end(long long token) +ProtoOutputStream::end(uint64_t token) { if (token != mExpectedObjectToken) { - ALOGE("Unexpected token: 0x%llx, should be 0x%llx", token, mExpectedObjectToken); + ALOGE("Unexpected token: 0x%llx, should be 0x%llx", (long long)token, (long long)mExpectedObjectToken); return; } diff --git a/packages/SystemUI/res/layout/super_status_bar.xml b/packages/SystemUI/res/layout/super_status_bar.xml index 029d16e999cc..ef442e539c0c 100644 --- a/packages/SystemUI/res/layout/super_status_bar.xml +++ b/packages/SystemUI/res/layout/super_status_bar.xml @@ -43,7 +43,8 @@ android:visibility="invisible" /> </com.android.systemui.statusbar.BackDropView> - <com.android.systemui.statusbar.ScrimView android:id="@+id/scrim_behind" + <com.android.systemui.statusbar.ScrimView + android:id="@+id/scrim_behind" android:layout_width="match_parent" android:layout_height="match_parent" android:importantForAccessibility="no" @@ -75,7 +76,8 @@ android:layout_height="match_parent" android:visibility="invisible" /> - <com.android.systemui.statusbar.ScrimView android:id="@+id/scrim_in_front" + <com.android.systemui.statusbar.ScrimView + android:id="@+id/scrim_in_front" android:layout_width="match_parent" android:layout_height="match_parent" android:importantForAccessibility="no" diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java index 7572512eac31..6b9920696baf 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java @@ -72,6 +72,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe private int mIconSize; private Consumer<Boolean> mListener; private boolean mHasHeader; + private boolean mHideContent; public KeyguardSliceView(Context context) { this(context, null, 0); @@ -192,12 +193,16 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe } } - final int visibility = mHasHeader || subItemsCount > 0 ? VISIBLE : GONE; + updateVisibility(); + mListener.accept(mHasHeader); + } + + private void updateVisibility() { + final boolean hasContent = mHasHeader || mRow.getChildCount() > 0; + final int visibility = hasContent && !mHideContent ? VISIBLE : GONE; if (visibility != getVisibility()) { setVisibility(visibility); } - - mListener.accept(mHasHeader); } /** @@ -321,6 +326,11 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe updateTextColors(); } + public void setHideContent(boolean hideContent) { + mHideContent = hideContent; + updateVisibility(); + } + /** * Representation of an item that appears under the clock on main keyguard message. */ diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java index 3b5f34cd84cc..a3ffa40ee19a 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java @@ -362,7 +362,7 @@ public class KeyguardStatusView extends GridLayout { public void setPulsing(boolean pulsing) { mPulsing = pulsing; - mKeyguardSlice.setVisibility(pulsing ? INVISIBLE : VISIBLE); + mKeyguardSlice.setHideContent(pulsing); onSliceContentChanged(mKeyguardSlice.hasHeader()); updateDozeVisibleViews(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java index 8830352296dd..475a6091323e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java @@ -107,6 +107,11 @@ public class ScrimView extends View implements ConfigurationController.Configura } @Override + public void setBackground(Drawable background) { + Log.wtfStack(TAG, "ScrimView should never have a background."); + } + + @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); int densityDpi = newConfig.densityDpi; @@ -321,18 +326,6 @@ public class ScrimView extends View implements ConfigurationController.Configura return mViewAlpha; } - public void animateViewAlpha(float alpha, long durationOut, Interpolator interpolator) { - if (mAlphaAnimator != null) { - mAlphaAnimator.cancel(); - } - mAlphaAnimator = ValueAnimator.ofFloat(getViewAlpha(), alpha); - mAlphaAnimator.addUpdateListener(mAlphaUpdateListener); - mAlphaAnimator.addListener(mClearAnimatorListener); - mAlphaAnimator.setInterpolator(interpolator); - mAlphaAnimator.setDuration(durationOut); - mAlphaAnimator.start(); - } - public void setExcludedArea(Rect area) { if (area == null) { mHasExcludedArea = false; diff --git a/services/core/java/com/android/server/am/ActivityDisplay.java b/services/core/java/com/android/server/am/ActivityDisplay.java index bac81e7cd4a2..dd83a36b99d8 100644 --- a/services/core/java/com/android/server/am/ActivityDisplay.java +++ b/services/core/java/com/android/server/am/ActivityDisplay.java @@ -664,6 +664,10 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> while (getChildCount() > 0) { final ActivityStack stack = getChildAt(0); if (destroyContentOnRemoval) { + // Override the stack configuration to make it equal to the current applied one, so + // that we don't accidentally report configuration change to activities that are + // going to be finished. + stack.onOverrideConfigurationChanged(stack.getConfiguration()); mSupervisor.moveStackToDisplayLocked(stack.mStackId, DEFAULT_DISPLAY, false /* onTop */); stack.finishAllActivitiesLocked(true /* immediately */); diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 0da7b01fc0b5..de9cd2a352ae 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2980,9 +2980,6 @@ public class PackageManagerService extends IPackageManager.Stub } } } - // Adjust seInfo to ensure apps which share a sharedUserId are placed in the same - // SELinux domain. - setting.fixSeInfoLocked(); } // Now that we know all the packages we are keeping, @@ -10372,24 +10369,20 @@ public class PackageManagerService extends IPackageManager.Stub pkg.applicationInfo.flags |= ApplicationInfo.FLAG_UPDATED_SYSTEM_APP; } - // Apps which share a sharedUserId must be placed in the same selinux domain. If this - // package is the first app installed as this shared user, set seInfoTargetSdkVersion to its - // targetSdkVersion. These are later adjusted in PackageManagerService's constructor to be - // the lowest targetSdkVersion of all apps within the shared user, which corresponds to the - // least restrictive selinux domain. - // NOTE: As new packages are installed / updated, the shared user's seinfoTargetSdkVersion - // will NOT be modified until next boot, even if a lower targetSdkVersion is used. This - // ensures that all packages continue to run in the same selinux domain. - final int targetSdkVersion = - ((sharedUserSetting != null) && (sharedUserSetting.packages.size() != 0)) ? - sharedUserSetting.seInfoTargetSdkVersion : pkg.applicationInfo.targetSdkVersion; + // SELinux sandboxes become more restrictive as targetSdkVersion increases. + // To ensure that apps with sharedUserId are placed in the same selinux domain + // without breaking any assumptions about access, put them into the least + // restrictive targetSdkVersion=25 domain. + // TODO(b/72290969): Base this on the actual targetSdkVersion(s) of the apps within the + // sharedUserSetting, instead of defaulting to the least restrictive domain. + final int targetSdk = (sharedUserSetting != null) ? 25 + : pkg.applicationInfo.targetSdkVersion; // TODO(b/71593002): isPrivileged for sharedUser and appInfo should never be out of sync. // They currently can be if the sharedUser apps are signed with the platform key. final boolean isPrivileged = (sharedUserSetting != null) ? sharedUserSetting.isPrivileged() | pkg.isPrivileged() : pkg.isPrivileged(); - pkg.applicationInfo.seInfo = SELinuxMMAC.getSeInfo(pkg, isPrivileged, - pkg.applicationInfo.targetSandboxVersion, targetSdkVersion); + SELinuxMMAC.assignSeInfoValue(pkg, isPrivileged, targetSdk); pkg.mExtras = pkgSetting; pkg.applicationInfo.processName = fixProcessName( diff --git a/services/core/java/com/android/server/pm/SELinuxMMAC.java b/services/core/java/com/android/server/pm/SELinuxMMAC.java index b47d96622e96..a9f15282133f 100644 --- a/services/core/java/com/android/server/pm/SELinuxMMAC.java +++ b/services/core/java/com/android/server/pm/SELinuxMMAC.java @@ -64,8 +64,6 @@ public final class SELinuxMMAC { /** Required MAC permissions files */ private static List<File> sMacPermissions = new ArrayList<>(); - private static final String DEFAULT_SEINFO = "default"; - // Append privapp to existing seinfo label private static final String PRIVILEGED_APP_STR = ":privapp"; @@ -309,56 +307,45 @@ public final class SELinuxMMAC { } /** - * Selects a security label to a package based on input parameters and the seinfo tag taken - * from a matched policy. All signature based policy stanzas are consulted and, if no match - * is found, the default seinfo label of 'default' is used. The security label is attached to - * the ApplicationInfo instance of the package. + * Applies a security label to a package based on an seinfo tag taken from a matched + * policy. All signature based policy stanzas are consulted and, if no match is + * found, the default seinfo label of 'default' (set in ApplicationInfo object) is + * used. The security label is attached to the ApplicationInfo instance of the package + * in the event that a matching policy was found. * * @param pkg object representing the package to be labeled. - * @param isPrivileged boolean. - * @param targetSandboxVersion int. - * @param targetSdkVersion int. If this pkg runs as a sharedUser, targetSdkVersion is the - * greater of: lowest targetSdk for all pkgs in the sharedUser, or - * MINIMUM_TARGETSDKVERSION. - * @return String representing the resulting seinfo. */ - public static String getSeInfo(PackageParser.Package pkg, boolean isPrivileged, - int targetSandboxVersion, int targetSdkVersion) { - String seInfo = null; + public static void assignSeInfoValue(PackageParser.Package pkg, boolean isPrivileged, + int targetSdkVersion) { synchronized (sPolicies) { if (!sPolicyRead) { if (DEBUG_POLICY) { Slog.d(TAG, "Policy not read"); } - } else { - for (Policy policy : sPolicies) { - seInfo = policy.getMatchedSeInfo(pkg); - if (seInfo != null) { - break; - } + return; + } + for (Policy policy : sPolicies) { + String seInfo = policy.getMatchedSeInfo(pkg); + if (seInfo != null) { + pkg.applicationInfo.seInfo = seInfo; + break; } } } - if (seInfo == null) { - seInfo = DEFAULT_SEINFO; - } - - if (targetSandboxVersion == 2) { - seInfo += SANDBOX_V2_STR; - } + if (pkg.applicationInfo.targetSandboxVersion == 2) + pkg.applicationInfo.seInfo += SANDBOX_V2_STR; if (isPrivileged) { - seInfo += PRIVILEGED_APP_STR; + pkg.applicationInfo.seInfo += PRIVILEGED_APP_STR; } - seInfo += TARGETSDKVERSION_STR + targetSdkVersion; + pkg.applicationInfo.seInfo += TARGETSDKVERSION_STR + targetSdkVersion; if (DEBUG_POLICY_INSTALL) { Slog.i(TAG, "package (" + pkg.packageName + ") labeled with " + - "seinfo=" + seInfo); + "seinfo=" + pkg.applicationInfo.seInfo); } - return seInfo; } } diff --git a/services/core/java/com/android/server/pm/SharedUserSetting.java b/services/core/java/com/android/server/pm/SharedUserSetting.java index 1d9afd9895b4..244613180d00 100644 --- a/services/core/java/com/android/server/pm/SharedUserSetting.java +++ b/services/core/java/com/android/server/pm/SharedUserSetting.java @@ -39,10 +39,6 @@ public final class SharedUserSetting extends SettingBase { int uidFlags; int uidPrivateFlags; - // The lowest targetSdkVersion of all apps in the sharedUserSetting, used to assign seinfo so - // that all apps within the sharedUser run in the same selinux context. - int seInfoTargetSdkVersion; - final ArraySet<PackageSetting> packages = new ArraySet<PackageSetting>(); final PackageSignatures signatures = new PackageSignatures(); @@ -88,11 +84,6 @@ public final class SharedUserSetting extends SettingBase { } void addPackage(PackageSetting packageSetting) { - // If this is the first package added to this shared user, temporarily (until next boot) use - // its targetSdkVersion when assigning seInfo for the shared user. - if ((packages.size() == 0) && (packageSetting.pkg != null)) { - seInfoTargetSdkVersion = packageSetting.pkg.applicationInfo.targetSdkVersion; - } if (packages.add(packageSetting)) { setFlags(this.pkgFlags | packageSetting.pkgFlags); setPrivateFlags(this.pkgPrivateFlags | packageSetting.pkgPrivateFlags); @@ -116,26 +107,4 @@ public final class SharedUserSetting extends SettingBase { public boolean isPrivileged() { return (this.pkgPrivateFlags & ApplicationInfo.PRIVATE_FLAG_PRIVILEGED) != 0; } - - /** - * Determine the targetSdkVersion for a sharedUser and update pkg.applicationInfo.seInfo - * to ensure that all apps within the sharedUser share an SELinux domain. Use the lowest - * targetSdkVersion of all apps within the shared user, which corresponds to the least - * restrictive selinux domain. - */ - public void fixSeInfoLocked() { - final List<PackageParser.Package> pkgList = getPackages(); - - for (PackageParser.Package pkg : pkgList) { - if (pkg.applicationInfo.targetSdkVersion < seInfoTargetSdkVersion) { - seInfoTargetSdkVersion = pkg.applicationInfo.targetSdkVersion; - } - } - for (PackageParser.Package pkg : pkgList) { - final boolean isPrivileged = isPrivileged() | pkg.isPrivileged(); - pkg.applicationInfo.seInfo = SELinuxMMAC.getSeInfo(pkg, isPrivileged, - pkg.applicationInfo.targetSandboxVersion, seInfoTargetSdkVersion); - } - } - } |