Skip to content

Commit a750dbb

Browse files
committed
Fixed configuration loss bug
1 parent ab7f844 commit a750dbb

File tree

5 files changed

+21
-21
lines changed

5 files changed

+21
-21
lines changed

app/src/main/java/it/danieleverducci/ojo/CamerasSettings.java renamed to app/src/main/java/it/danieleverducci/ojo/Settings.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,21 @@
1919
/**
2020
* Manages the settings persistence
2121
*/
22-
public class CamerasSettings implements Serializable {
22+
public class Settings implements Serializable {
23+
private static final long serialVersionUID = 1081285022445419696L;
2324
private static final String FILENAME = "settings.bin";
2425
private static final String TAG = "Settings";
2526

2627
private volatile String settingsFilePath;
2728
private List<Camera> cameras = new ArrayList<>();
2829

29-
public static CamerasSettings fromDisk(Context context) {
30+
public static Settings fromDisk(Context context) {
3031
String filePath = context.getFilesDir() + File.separator + FILENAME;
31-
CamerasSettings s = new CamerasSettings();
32+
Settings s = new Settings();
3233
try {
3334
FileInputStream fin = new FileInputStream(filePath);
3435
ObjectInputStream ois = new ObjectInputStream(fin);
35-
s = (CamerasSettings) ois.readObject();
36+
s = (Settings) ois.readObject();
3637
} catch (FileNotFoundException e) {
3738
Log.d(TAG, "No saved settings found, will create a new one");
3839
} catch (IOException e) {

app/src/main/java/it/danieleverducci/ojo/entities/Camera.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.Serializable;
44

55
public class Camera implements Serializable {
6+
private static final long serialVersionUID = -3837361587400158910L;
67
private String name;
78
private String rtspUrl;
89

app/src/main/java/it/danieleverducci/ojo/ui/SettingsFragment.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package it.danieleverducci.ojo.ui;
22

3-
import android.app.AlertDialog;
4-
import android.app.Dialog;
53
import android.graphics.Color;
64
import android.os.Bundle;
75

@@ -21,7 +19,7 @@
2119
import java.util.List;
2220

2321
import it.danieleverducci.ojo.R;
24-
import it.danieleverducci.ojo.CamerasSettings;
22+
import it.danieleverducci.ojo.Settings;
2523
import it.danieleverducci.ojo.SharedPreferencesManager;
2624
import it.danieleverducci.ojo.databinding.FragmentSettingsItemListBinding;
2725
import it.danieleverducci.ojo.entities.Camera;
@@ -34,7 +32,7 @@
3432
public class SettingsFragment extends Fragment {
3533

3634
private FragmentSettingsItemListBinding binding;
37-
private CamerasSettings camerasSettings;
35+
private Settings settings;
3836

3937
@Override
4038
public View onCreateView(LayoutInflater inflater, ViewGroup container,
@@ -79,8 +77,8 @@ public void onResume() {
7977
super.onResume();
8078

8179
// Load cameras
82-
camerasSettings = CamerasSettings.fromDisk(getContext());
83-
List<Camera> cams = camerasSettings.getCameras();
80+
settings = Settings.fromDisk(getContext());
81+
List<Camera> cams = settings.getCameras();
8482

8583
// Set the adapter
8684
RecyclerView recyclerView = binding.list;
@@ -109,7 +107,7 @@ public void onPause() {
109107

110108
// Save cameras
111109
List<Camera> cams = ((SettingsRecyclerViewAdapter)binding.list.getAdapter()).getItems();
112-
this.camerasSettings.setCameras(cams);
113-
this.camerasSettings.save();
110+
this.settings.setCameras(cams);
111+
this.settings.save();
114112
}
115113
}

app/src/main/java/it/danieleverducci/ojo/ui/StreamUrlFragment.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@
1313
import com.google.android.material.snackbar.Snackbar;
1414

1515
import it.danieleverducci.ojo.R;
16-
import it.danieleverducci.ojo.CamerasSettings;
16+
import it.danieleverducci.ojo.Settings;
1717
import it.danieleverducci.ojo.databinding.FragmentAddStreamBinding;
1818
import it.danieleverducci.ojo.entities.Camera;
1919

2020
public class StreamUrlFragment extends Fragment {
2121
public static final String ARG_CAMERA = "arg_camera";
2222

2323
private FragmentAddStreamBinding binding;
24-
private CamerasSettings camerasSettings;
24+
private Settings settings;
2525
private Integer selectedCamera = null;
2626

2727
@Override
2828
public void onCreate(@Nullable Bundle savedInstanceState) {
2929
super.onCreate(savedInstanceState);
3030

3131
// Load existing settings (if any)
32-
camerasSettings = CamerasSettings.fromDisk(getContext());
32+
settings = Settings.fromDisk(getContext());
3333
}
3434

3535
@Override
@@ -45,7 +45,7 @@ public View onCreateView(
4545
if (args != null && args.containsKey(ARG_CAMERA)) {
4646
this.selectedCamera = args.getInt(ARG_CAMERA);
4747

48-
Camera c = camerasSettings.getCameras().get(this.selectedCamera);
48+
Camera c = settings.getCameras().get(this.selectedCamera);
4949
binding.streamName.setText(c.getName());
5050
binding.streamName.setHint(getContext().getString(R.string.stream_list_default_camera_name).replace("{camNo}", (this.selectedCamera+1)+""));
5151
binding.streamUrl.setText(c.getRtspUrl());
@@ -74,16 +74,16 @@ public void onClick(View view) {
7474

7575
if (StreamUrlFragment.this.selectedCamera != null) {
7676
// Update camera
77-
Camera c = camerasSettings.getCameras().get(StreamUrlFragment.this.selectedCamera);
77+
Camera c = settings.getCameras().get(StreamUrlFragment.this.selectedCamera);
7878
c.setName(name);
7979
c.setRtspUrl(url);
8080
} else {
8181
// Add stream to list
82-
camerasSettings.addCamera(new Camera(name, url));
82+
settings.addCamera(new Camera(name, url));
8383
}
8484

8585
// Save
86-
if (!camerasSettings.save()) {
86+
if (!settings.save()) {
8787
Snackbar.make(view, R.string.add_stream_error_saving, Snackbar.LENGTH_LONG).show();
8888
return;
8989
}

app/src/main/java/it/danieleverducci/ojo/ui/SurveillanceFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import java.util.List;
2929

3030
import it.danieleverducci.ojo.R;
31-
import it.danieleverducci.ojo.CamerasSettings;
31+
import it.danieleverducci.ojo.Settings;
3232
import it.danieleverducci.ojo.databinding.FragmentSurveillanceBinding;
3333
import it.danieleverducci.ojo.entities.Camera;
3434
import it.danieleverducci.ojo.utils.DpiUtils;
@@ -137,7 +137,7 @@ public void onPause() {
137137

138138

139139
private void addAllCameras() {
140-
CamerasSettings settings = CamerasSettings.fromDisk(getContext());
140+
Settings settings = Settings.fromDisk(getContext());
141141
List<Camera> cc = settings.getCameras();
142142

143143
int elemsPerSide = calcGridSideElements(cc.size());

0 commit comments

Comments
 (0)