summaryrefslogtreecommitdiff
path: root/core/java/android/text/FontConfig.java
diff options
context:
space:
mode:
authorSeigo Nonaka <nona@google.com>2021-01-26 00:52:39 -0800
committerSeigo Nonaka <nona@google.com>2021-01-27 22:59:06 +0000
commit9387e7f4cda0f24eb88231254c1929b400df8935 (patch)
tree05ecbe98262512a3163e65cdd1a67e47ae4e27b0 /core/java/android/text/FontConfig.java
parent9ce7fe21528450722379660cd8f7b1a4aca67672 (diff)
Add more shell command for font
Bug: 173619554 Test: atest UpdatableFontDirTest PersistentSystemFontConfigTest FontManagerTest Change-Id: I25917fa9e8c42742f74222f25c5ba68d96a2c2fd
Diffstat (limited to 'core/java/android/text/FontConfig.java')
-rw-r--r--core/java/android/text/FontConfig.java33
1 files changed, 31 insertions, 2 deletions
diff --git a/core/java/android/text/FontConfig.java b/core/java/android/text/FontConfig.java
index 82d7399c86e0..53fe1ba9c4b4 100644
--- a/core/java/android/text/FontConfig.java
+++ b/core/java/android/text/FontConfig.java
@@ -53,6 +53,8 @@ import java.util.List;
public final class FontConfig implements Parcelable {
private final @NonNull List<FontFamily> mFamilies;
private final @NonNull List<Alias> mAliases;
+ private final long mLastModifiedDate;
+ private final int mConfigVersion;
/**
* Construct a FontConfig instance.
@@ -62,9 +64,12 @@ public final class FontConfig implements Parcelable {
*
* @hide Only system server can create this instance and passed via IPC.
*/
- public FontConfig(@NonNull List<FontFamily> families, @NonNull List<Alias> aliases) {
+ public FontConfig(@NonNull List<FontFamily> families, @NonNull List<Alias> aliases,
+ long lastModifiedDate, @IntRange(from = 0) int configVersion) {
mFamilies = families;
mAliases = aliases;
+ mLastModifiedDate = lastModifiedDate;
+ mConfigVersion = configVersion;
}
/**
@@ -88,6 +93,26 @@ public final class FontConfig implements Parcelable {
}
/**
+ * Returns the last modified date as Java epoch seconds.
+ *
+ * If there is no update, this return 0.
+ * @hide
+ */
+ public long getLastModifiedDate() {
+ return mLastModifiedDate;
+ }
+
+ /**
+ * Returns the monotonically increasing config version value.
+ *
+ * The config version is reset to 0 when the system is restarted.
+ * @hide
+ */
+ public @IntRange(from = 0) int getConfigVersion() {
+ return mConfigVersion;
+ }
+
+ /**
* Returns the ordered list of families included in the system fonts.
* @deprecated Use getFontFamilies instead.
* @hide
@@ -107,6 +132,8 @@ public final class FontConfig implements Parcelable {
public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeParcelableList(mFamilies, flags);
dest.writeParcelableList(mAliases, flags);
+ dest.writeLong(mLastModifiedDate);
+ dest.writeInt(mConfigVersion);
}
public static final @NonNull Creator<FontConfig> CREATOR = new Creator<FontConfig>() {
@@ -116,7 +143,9 @@ public final class FontConfig implements Parcelable {
FontFamily.class.getClassLoader());
List<Alias> aliases = source.readParcelableList(new ArrayList<>(),
Alias.class.getClassLoader());
- return new FontConfig(families, aliases);
+ long lastModifiedDate = source.readLong();
+ int configVersion = source.readInt();
+ return new FontConfig(families, aliases, lastModifiedDate, configVersion);
}
@Override