170 lines
4.9 KiB
Java
170 lines
4.9 KiB
Java
![]() |
/**
|
||
|
* Copyright (C) 2014 The Android Open Source Project
|
||
|
*
|
||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||
|
* use this file except in compliance with the License. You may obtain a copy
|
||
|
* of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||
|
* License for the specific language governing permissions and limitations
|
||
|
* under the License.
|
||
|
*/
|
||
|
package android.app.usage;
|
||
|
|
||
|
import android.compat.annotation.UnsupportedAppUsage;
|
||
|
import android.content.res.Configuration;
|
||
|
import android.os.Build;
|
||
|
import android.os.Parcel;
|
||
|
import android.os.Parcelable;
|
||
|
|
||
|
/**
|
||
|
* Represents the usage statistics of a device {@link android.content.res.Configuration} for a
|
||
|
* specific time range.
|
||
|
*/
|
||
|
public final class ConfigurationStats implements Parcelable {
|
||
|
|
||
|
/**
|
||
|
* {@hide}
|
||
|
*/
|
||
|
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
|
||
|
public Configuration mConfiguration;
|
||
|
|
||
|
/**
|
||
|
* {@hide}
|
||
|
*/
|
||
|
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
|
||
|
public long mBeginTimeStamp;
|
||
|
|
||
|
/**
|
||
|
* {@hide}
|
||
|
*/
|
||
|
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
|
||
|
public long mEndTimeStamp;
|
||
|
|
||
|
/**
|
||
|
* {@hide}
|
||
|
*/
|
||
|
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
|
||
|
public long mLastTimeActive;
|
||
|
|
||
|
/**
|
||
|
* {@hide}
|
||
|
*/
|
||
|
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
|
||
|
public long mTotalTimeActive;
|
||
|
|
||
|
/**
|
||
|
* {@hide}
|
||
|
*/
|
||
|
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
|
||
|
public int mActivationCount;
|
||
|
|
||
|
/**
|
||
|
* {@hide}
|
||
|
*/
|
||
|
public ConfigurationStats() {
|
||
|
}
|
||
|
|
||
|
public ConfigurationStats(ConfigurationStats stats) {
|
||
|
mConfiguration = stats.mConfiguration;
|
||
|
mBeginTimeStamp = stats.mBeginTimeStamp;
|
||
|
mEndTimeStamp = stats.mEndTimeStamp;
|
||
|
mLastTimeActive = stats.mLastTimeActive;
|
||
|
mTotalTimeActive = stats.mTotalTimeActive;
|
||
|
mActivationCount = stats.mActivationCount;
|
||
|
}
|
||
|
|
||
|
public Configuration getConfiguration() {
|
||
|
return mConfiguration;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the beginning of the time range this {@link ConfigurationStats} represents,
|
||
|
* measured in milliseconds since the epoch.
|
||
|
* <p/>
|
||
|
* See {@link System#currentTimeMillis()}.
|
||
|
*/
|
||
|
public long getFirstTimeStamp() {
|
||
|
return mBeginTimeStamp;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the end of the time range this {@link ConfigurationStats} represents,
|
||
|
* measured in milliseconds since the epoch.
|
||
|
* <p/>
|
||
|
* See {@link System#currentTimeMillis()}.
|
||
|
*/
|
||
|
public long getLastTimeStamp() {
|
||
|
return mEndTimeStamp;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the last time this configuration was active, measured in milliseconds since the epoch.
|
||
|
* <p/>
|
||
|
* See {@link System#currentTimeMillis()}.
|
||
|
*/
|
||
|
public long getLastTimeActive() {
|
||
|
return mLastTimeActive;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the total time this configuration was active, measured in milliseconds.
|
||
|
*/
|
||
|
public long getTotalTimeActive() {
|
||
|
return mTotalTimeActive;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the number of times this configuration was active.
|
||
|
*/
|
||
|
public int getActivationCount() {
|
||
|
return mActivationCount;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public int describeContents() {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void writeToParcel(Parcel dest, int flags) {
|
||
|
if (mConfiguration != null) {
|
||
|
dest.writeInt(1);
|
||
|
mConfiguration.writeToParcel(dest, flags);
|
||
|
} else {
|
||
|
dest.writeInt(0);
|
||
|
}
|
||
|
|
||
|
dest.writeLong(mBeginTimeStamp);
|
||
|
dest.writeLong(mEndTimeStamp);
|
||
|
dest.writeLong(mLastTimeActive);
|
||
|
dest.writeLong(mTotalTimeActive);
|
||
|
dest.writeInt(mActivationCount);
|
||
|
}
|
||
|
|
||
|
public static final @android.annotation.NonNull Creator<ConfigurationStats> CREATOR = new Creator<ConfigurationStats>() {
|
||
|
@Override
|
||
|
public ConfigurationStats createFromParcel(Parcel source) {
|
||
|
ConfigurationStats stats = new ConfigurationStats();
|
||
|
if (source.readInt() != 0) {
|
||
|
stats.mConfiguration = Configuration.CREATOR.createFromParcel(source);
|
||
|
}
|
||
|
stats.mBeginTimeStamp = source.readLong();
|
||
|
stats.mEndTimeStamp = source.readLong();
|
||
|
stats.mLastTimeActive = source.readLong();
|
||
|
stats.mTotalTimeActive = source.readLong();
|
||
|
stats.mActivationCount = source.readInt();
|
||
|
return stats;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public ConfigurationStats[] newArray(int size) {
|
||
|
return new ConfigurationStats[size];
|
||
|
}
|
||
|
};
|
||
|
}
|