am 13e46665: am 736f5ec4: Merge "Work on issue #3101415: Crespo apps seem to have their UID changed over time." into gingerbread
Merge commit '13e46665ff69c1a37880762d7d611aacdf02dac7' * commit '13e46665ff69c1a37880762d7d611aacdf02dac7': Work on issue #3101415: Crespo apps seem to have their UID changed over time.
This commit is contained in:
@@ -3166,6 +3166,7 @@ class ContextImpl extends Context {
|
||||
return;
|
||||
}
|
||||
XmlUtils.writeMapXml(mcr.mapToWriteToDisk, str);
|
||||
FileUtils.sync(str);
|
||||
str.close();
|
||||
setFilePermissionsFromMode(mFile.getPath(), mMode, 0);
|
||||
FileStatus stat = new FileStatus();
|
||||
|
||||
@@ -93,7 +93,22 @@ public class FileUtils
|
||||
* @return volume ID or -1
|
||||
*/
|
||||
public static native int getFatVolumeId(String mountPoint);
|
||||
|
||||
|
||||
/**
|
||||
* Perform an fsync on the given FileOutputStream. The stream at this
|
||||
* point must be flushed but not yet closed.
|
||||
*/
|
||||
public static boolean sync(FileOutputStream stream) {
|
||||
try {
|
||||
if (stream != null) {
|
||||
stream.getFD().sync();
|
||||
}
|
||||
return true;
|
||||
} catch (IOException e) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// copy a file from srcFile to destFile, return true if succeed, return
|
||||
// false if fail
|
||||
public static boolean copyFile(File srcFile, File destFile) {
|
||||
@@ -120,7 +135,7 @@ public class FileUtils
|
||||
if (destFile.exists()) {
|
||||
destFile.delete();
|
||||
}
|
||||
OutputStream out = new FileOutputStream(destFile);
|
||||
FileOutputStream out = new FileOutputStream(destFile);
|
||||
try {
|
||||
byte[] buffer = new byte[4096];
|
||||
int bytesRead;
|
||||
@@ -128,6 +143,11 @@ public class FileUtils
|
||||
out.write(buffer, 0, bytesRead);
|
||||
}
|
||||
} finally {
|
||||
out.flush();
|
||||
try {
|
||||
out.getFD().sync();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
out.close();
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -77,6 +77,7 @@ public class AtomicFile {
|
||||
|
||||
public void finishWrite(FileOutputStream str) {
|
||||
if (str != null) {
|
||||
FileUtils.sync(str);
|
||||
try {
|
||||
str.close();
|
||||
mBackupName.delete();
|
||||
@@ -88,6 +89,7 @@ public class AtomicFile {
|
||||
|
||||
public void failWrite(FileOutputStream str) {
|
||||
if (str != null) {
|
||||
FileUtils.sync(str);
|
||||
try {
|
||||
str.close();
|
||||
mBaseName.delete();
|
||||
@@ -109,6 +111,7 @@ public class AtomicFile {
|
||||
public void truncate() throws IOException {
|
||||
try {
|
||||
FileOutputStream fos = new FileOutputStream(mBaseName);
|
||||
FileUtils.sync(fos);
|
||||
fos.close();
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new IOException("Couldn't append " + mBaseName);
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.bluetooth.BluetoothHeadset;
|
||||
import android.net.TrafficStats;
|
||||
import android.os.BatteryManager;
|
||||
import android.os.BatteryStats;
|
||||
import android.os.FileUtils;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.os.Parcel;
|
||||
@@ -4490,6 +4491,7 @@ public final class BatteryStatsImpl extends BatteryStats {
|
||||
FileOutputStream stream = new FileOutputStream(mFile.chooseForWrite());
|
||||
stream.write(next.marshall());
|
||||
stream.flush();
|
||||
FileUtils.sync(stream);
|
||||
stream.close();
|
||||
mFile.commit();
|
||||
} catch (IOException e) {
|
||||
|
||||
Reference in New Issue
Block a user