From 8550e374c959ba6d2fbf166fe0e621ca6662dfc2 Mon Sep 17 00:00:00 2001 From: Scallop Ye <16952958+yescallop@users.noreply.github.com> Date: Tue, 20 Aug 2019 19:01:11 +0800 Subject: [PATCH] Fix the issue that Spoof in Settings causes crash. Fix device info not being written into file. Skip the file if its property UserReadableName is null. --- .../main/java/com/aurora/store/manager/SpoofManager.java | 5 ++++- .../main/java/com/aurora/store/task/DeviceInfoBuilder.java | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/aurora/store/manager/SpoofManager.java b/app/src/main/java/com/aurora/store/manager/SpoofManager.java index b042f09c6..142c86f02 100644 --- a/app/src/main/java/com/aurora/store/manager/SpoofManager.java +++ b/app/src/main/java/com/aurora/store/manager/SpoofManager.java @@ -177,7 +177,10 @@ public class SpoofManager { if (!file.isFile() || !filenameValid(file.getName())) { continue; } - deviceNames.put(file.getName(), getProperties(file).getProperty("UserReadableName")); + String name = getProperties(file).getProperty("UserReadableName"); + if (name != null) { + deviceNames.put(file.getName(), name); + } } return deviceNames; } diff --git a/app/src/main/java/com/aurora/store/task/DeviceInfoBuilder.java b/app/src/main/java/com/aurora/store/task/DeviceInfoBuilder.java index 3273b67df..5aee9edcc 100644 --- a/app/src/main/java/com/aurora/store/task/DeviceInfoBuilder.java +++ b/app/src/main/java/com/aurora/store/task/DeviceInfoBuilder.java @@ -37,11 +37,10 @@ import com.aurora.store.provider.NativeGsfVersionProvider; import com.aurora.store.utility.Log; import com.aurora.store.utility.PathUtil; -import org.apache.commons.io.IOUtils; - import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.io.Writer; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; @@ -82,7 +81,9 @@ public class DeviceInfoBuilder extends ContextWrapper { final File file = new File(PathUtil.getExtBaseDirectory(context), "device-" + Build.DEVICE + ".properties"); final String content = buildProperties(getDeviceInfo()); try { - IOUtils.write(content, new FileWriter(file)); + Writer writer = new FileWriter(file); + writer.write(content); + writer.flush(); return true; } catch (IOException e) { Log.e("Filed to write device info");