Search in sources :

Example 1 with ConfigurationStats

use of android.app.usage.ConfigurationStats in project android_frameworks_base by ResurrectionRemix.

the class UsageStatsXmlV1 method loadConfigStats.

private static void loadConfigStats(XmlPullParser parser, IntervalStats statsOut) throws XmlPullParserException, IOException {
    final Configuration config = new Configuration();
    Configuration.readXmlAttrs(parser, config);
    final ConfigurationStats configStats = statsOut.getOrCreateConfigurationStats(config);
    // Apply the offset to the beginTime to find the absolute time.
    configStats.mLastTimeActive = statsOut.beginTime + XmlUtils.readLongAttribute(parser, LAST_TIME_ACTIVE_ATTR);
    configStats.mTotalTimeActive = XmlUtils.readLongAttribute(parser, TOTAL_TIME_ACTIVE_ATTR);
    configStats.mActivationCount = XmlUtils.readIntAttribute(parser, COUNT_ATTR);
    if (XmlUtils.readBooleanAttribute(parser, ACTIVE_ATTR)) {
        statsOut.activeConfiguration = configStats.mConfiguration;
    }
}
Also used : ConfigurationStats(android.app.usage.ConfigurationStats) Configuration(android.content.res.Configuration)

Example 2 with ConfigurationStats

use of android.app.usage.ConfigurationStats in project android_frameworks_base by DirtyUnicorns.

the class IntervalStats method updateConfigurationStats.

void updateConfigurationStats(Configuration config, long timeStamp) {
    if (activeConfiguration != null) {
        ConfigurationStats activeStats = configurations.get(activeConfiguration);
        activeStats.mTotalTimeActive += timeStamp - activeStats.mLastTimeActive;
        activeStats.mLastTimeActive = timeStamp - 1;
    }
    if (config != null) {
        ConfigurationStats configStats = getOrCreateConfigurationStats(config);
        configStats.mLastTimeActive = timeStamp;
        configStats.mActivationCount += 1;
        activeConfiguration = configStats.mConfiguration;
    }
    endTime = timeStamp;
}
Also used : ConfigurationStats(android.app.usage.ConfigurationStats)

Example 3 with ConfigurationStats

use of android.app.usage.ConfigurationStats in project android_frameworks_base by DirtyUnicorns.

the class IntervalStats method getOrCreateConfigurationStats.

/**
     * Gets the ConfigurationStats object for the given configuration, or creates one and adds it
     * internally.
     */
ConfigurationStats getOrCreateConfigurationStats(Configuration config) {
    ConfigurationStats configStats = configurations.get(config);
    if (configStats == null) {
        configStats = new ConfigurationStats();
        configStats.mBeginTimeStamp = beginTime;
        configStats.mEndTimeStamp = endTime;
        configStats.mConfiguration = config;
        configurations.put(config, configStats);
    }
    return configStats;
}
Also used : ConfigurationStats(android.app.usage.ConfigurationStats)

Example 4 with ConfigurationStats

use of android.app.usage.ConfigurationStats in project android_frameworks_base by AOSPA.

the class Am method getRecentConfigurations.

private List<Configuration> getRecentConfigurations(int days) {
    IUsageStatsManager usm = IUsageStatsManager.Stub.asInterface(ServiceManager.getService(Context.USAGE_STATS_SERVICE));
    final long now = System.currentTimeMillis();
    final long nDaysAgo = now - (days * 24 * 60 * 60 * 1000);
    try {
        @SuppressWarnings("unchecked") ParceledListSlice<ConfigurationStats> configStatsSlice = usm.queryConfigurationStats(UsageStatsManager.INTERVAL_BEST, nDaysAgo, now, "com.android.shell");
        if (configStatsSlice == null) {
            return Collections.emptyList();
        }
        final ArrayMap<Configuration, Integer> recentConfigs = new ArrayMap<>();
        final List<ConfigurationStats> configStatsList = configStatsSlice.getList();
        final int configStatsListSize = configStatsList.size();
        for (int i = 0; i < configStatsListSize; i++) {
            final ConfigurationStats stats = configStatsList.get(i);
            final int indexOfKey = recentConfigs.indexOfKey(stats.getConfiguration());
            if (indexOfKey < 0) {
                recentConfigs.put(stats.getConfiguration(), stats.getActivationCount());
            } else {
                recentConfigs.setValueAt(indexOfKey, recentConfigs.valueAt(indexOfKey) + stats.getActivationCount());
            }
        }
        final Comparator<Configuration> comparator = new Comparator<Configuration>() {

            @Override
            public int compare(Configuration a, Configuration b) {
                return recentConfigs.get(b).compareTo(recentConfigs.get(a));
            }
        };
        ArrayList<Configuration> configs = new ArrayList<>(recentConfigs.size());
        configs.addAll(recentConfigs.keySet());
        Collections.sort(configs, comparator);
        return configs;
    } catch (RemoteException e) {
        return Collections.emptyList();
    }
}
Also used : ConfigurationStats(android.app.usage.ConfigurationStats) Configuration(android.content.res.Configuration) ArrayList(java.util.ArrayList) ArrayMap(android.util.ArrayMap) Comparator(java.util.Comparator) IUsageStatsManager(android.app.usage.IUsageStatsManager) RemoteException(android.os.RemoteException)

Example 5 with ConfigurationStats

use of android.app.usage.ConfigurationStats in project platform_frameworks_base by android.

the class UsageStatsXmlV1 method loadConfigStats.

private static void loadConfigStats(XmlPullParser parser, IntervalStats statsOut) throws XmlPullParserException, IOException {
    final Configuration config = new Configuration();
    Configuration.readXmlAttrs(parser, config);
    final ConfigurationStats configStats = statsOut.getOrCreateConfigurationStats(config);
    // Apply the offset to the beginTime to find the absolute time.
    configStats.mLastTimeActive = statsOut.beginTime + XmlUtils.readLongAttribute(parser, LAST_TIME_ACTIVE_ATTR);
    configStats.mTotalTimeActive = XmlUtils.readLongAttribute(parser, TOTAL_TIME_ACTIVE_ATTR);
    configStats.mActivationCount = XmlUtils.readIntAttribute(parser, COUNT_ATTR);
    if (XmlUtils.readBooleanAttribute(parser, ACTIVE_ATTR)) {
        statsOut.activeConfiguration = configStats.mConfiguration;
    }
}
Also used : ConfigurationStats(android.app.usage.ConfigurationStats) Configuration(android.content.res.Configuration)

Aggregations

ConfigurationStats (android.app.usage.ConfigurationStats)21 Configuration (android.content.res.Configuration)13 IUsageStatsManager (android.app.usage.IUsageStatsManager)5 RemoteException (android.os.RemoteException)5 ArrayMap (android.util.ArrayMap)5 ArrayList (java.util.ArrayList)5 Comparator (java.util.Comparator)5 UsageEvents (android.app.usage.UsageEvents)4 Event (android.app.usage.UsageEvents.Event)4 UsageStats (android.app.usage.UsageStats)4