Merge "Document the fact that StatFs.restat() and ctor can throw."

This commit is contained in:
Tobias Thierer
2017-04-05 20:53:46 +00:00
committed by Gerrit Code Review
3 changed files with 11 additions and 1 deletions

View File

@@ -61,6 +61,8 @@ public final class SQLiteGlobal {
public static int getDefaultPageSize() {
synchronized (sLock) {
if (sDefaultPageSize == 0) {
// If there is an issue accessing /data, something is so seriously
// wrong that we just let the IllegalArgumentException propagate.
sDefaultPageSize = new StatFs("/data").getBlockSize();
}
return SystemProperties.getInt("debug.sqlite.pagesize", sDefaultPageSize);

View File

@@ -34,11 +34,16 @@ public class StatFs {
* class.
*
* @param path path in the desired file system to stat.
*
* @throws IllegalArgumentException if the file system access fails
*/
public StatFs(String path) {
mStat = doStat(path);
}
/**
* @throws IllegalArgumentException if the file system access fails
*/
private static StructStatVfs doStat(String path) {
try {
return Os.statvfs(path);
@@ -51,6 +56,8 @@ public class StatFs {
* Perform a restat of the file system referenced by this object. This is
* the same as re-constructing the object with the same file system path,
* and the new stat values are available upon return.
*
* @throws IllegalArgumentException if the file system access fails
*/
public void restat(String path) {
mStat = doStat(path);

View File

@@ -330,7 +330,8 @@ public class DeviceStorageMonitorService extends SystemService {
mLastReportedFreeMemTime = 0;
mResolver = context.getContentResolver();
mIsBootImageOnDisk = isBootImageOnDisk();
//create StatFs object
// If these constructors throw IllegalArgumentException, something
// is so seriously wrong that we just let the Exception propagate.
mDataFileStats = new StatFs(DATA_PATH.getAbsolutePath());
mSystemFileStats = new StatFs(SYSTEM_PATH.getAbsolutePath());
mCacheFileStats = new StatFs(CACHE_PATH.getAbsolutePath());