diff options
Diffstat (limited to 'app/src/main/java/invalid/lena/scrcpy/Devices.java')
| -rw-r--r-- | app/src/main/java/invalid/lena/scrcpy/Devices.java | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/app/src/main/java/invalid/lena/scrcpy/Devices.java b/app/src/main/java/invalid/lena/scrcpy/Devices.java index 2883025..c3e5141 100644 --- a/app/src/main/java/invalid/lena/scrcpy/Devices.java +++ b/app/src/main/java/invalid/lena/scrcpy/Devices.java @@ -6,6 +6,7 @@ import org.json.JSONArray; import org.json.JSONObject; import java.io.File; +import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.util.ArrayList; @@ -97,18 +98,14 @@ public final class Devices { } } - public static void save(Context ctx, List<Device> devices) { + public static void save(Context ctx, List<Device> devices) throws IOException { File f = new File(ctx.getFilesDir(), FILE); - try { - AtomicFiles.write(f, serialize(devices).getBytes(StandardCharsets.UTF_8)); - } catch (Exception e) { - Log.e(e, "devices: save failed"); - } + AtomicFiles.write(f, serialize(devices).getBytes(StandardCharsets.UTF_8)); } // Add or replace by host+port. Context-rooted; the in-place helper // is the test seam. - public static List<Device> upsert(Context ctx, Device d) { + public static synchronized List<Device> upsert(Context ctx, Device d) throws IOException { List<Device> list = load(ctx); list.removeIf(d::equals); list.add(d); @@ -117,7 +114,7 @@ public final class Devices { } // Remove the matching device (by host+port). Returns the updated list. - public static List<Device> remove(Context ctx, Device d) { + public static synchronized List<Device> remove(Context ctx, Device d) throws IOException { List<Device> list = load(ctx); list.removeIf(d::equals); save(ctx, list); |