-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSharedPrefsHandler.java
More file actions
60 lines (46 loc) · 1.87 KB
/
SharedPrefsHandler.java
File metadata and controls
60 lines (46 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package pizza.olin.consamables.data;
import android.content.SharedPreferences;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
import pizza.olin.consamables.types.Beverage;
import pizza.olin.consamables.types.GroupOrder;
import pizza.olin.consamables.types.Topping;
public class SharedPrefsHandler {
private SharedPreferences prefs;
private Gson gson = new Gson();
public SharedPrefsHandler(SharedPreferences prefs) {
this.prefs = prefs;
}
private void setValue(String key, Object value) {
SharedPreferences.Editor editor = prefs.edit();
String serializedValue = gson.toJson(value);
editor.putString(key, serializedValue);
editor.commit();
}
public void setToppings(ArrayList<Topping> toppings) {
setValue("Toppings", toppings);
}
public void setCurrentOrder(GroupOrder order) {
setValue("Current Order", order);
}
public void setBeverages(ArrayList<Beverage> beverages) {
setValue("Beverages", beverages);
}
public ArrayList<Topping> getToppings() {
String serializedToppings = prefs.getString("Toppings", "[]");
ArrayList<Topping> allToppings = gson.fromJson(serializedToppings, new TypeToken<ArrayList<Topping>>(){}.getType());
return allToppings;
}
// This method doesn't seem to be used
public GroupOrder getCurrentOrder() {
String serializedOrder = prefs.getString("Current Order", "");
GroupOrder order = gson.fromJson(serializedOrder, GroupOrder.class);
return order;
}
public ArrayList<Beverage> getBeverages() {
String serializedBeverages = prefs.getString("Beverages", "[]");
ArrayList<Beverage> allBeverages = gson.fromJson(serializedBeverages, new TypeToken<ArrayList<Beverage>>(){}.getType());
return allBeverages;
}
}