]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/configuration/ConfigurationStore.java
f85d3d8084f37a6ce2ef9ed528ae3bcb8860913d
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / storage / configuration / ConfigurationStore.java
1 package org.asamk.signal.manager.storage.configuration;
2
3 import org.asamk.signal.manager.api.PhoneNumberSharingMode;
4 import org.asamk.signal.manager.storage.keyValue.KeyValueEntry;
5 import org.asamk.signal.manager.storage.keyValue.KeyValueStore;
6
7 public class ConfigurationStore {
8
9 private final KeyValueStore keyValueStore;
10
11 private final KeyValueEntry<Boolean> readReceipts = new KeyValueEntry<>("config-read-receipts", Boolean.class);
12 private final KeyValueEntry<Boolean> unidentifiedDeliveryIndicators = new KeyValueEntry<>(
13 "config-unidentified-delivery-indicators",
14 Boolean.class);
15 private final KeyValueEntry<Boolean> typingIndicators = new KeyValueEntry<>("config-typing-indicators",
16 Boolean.class);
17 private final KeyValueEntry<Boolean> linkPreviews = new KeyValueEntry<>("config-link-previews", Boolean.class);
18 private final KeyValueEntry<Boolean> phoneNumberUnlisted = new KeyValueEntry<>("config-phone-number-unlisted",
19 Boolean.class);
20 private final KeyValueEntry<PhoneNumberSharingMode> phoneNumberSharingMode = new KeyValueEntry<>(
21 "config-phone-number-sharing-mode",
22 PhoneNumberSharingMode.class);
23
24 public ConfigurationStore(final KeyValueStore keyValueStore) {
25 this.keyValueStore = keyValueStore;
26 }
27
28 public Boolean getReadReceipts() {
29 return keyValueStore.getEntry(readReceipts);
30 }
31
32 public void setReadReceipts(final boolean value) {
33 keyValueStore.storeEntry(readReceipts, value);
34 }
35
36 public Boolean getUnidentifiedDeliveryIndicators() {
37 return keyValueStore.getEntry(unidentifiedDeliveryIndicators);
38 }
39
40 public void setUnidentifiedDeliveryIndicators(final boolean value) {
41 keyValueStore.storeEntry(unidentifiedDeliveryIndicators, value);
42 }
43
44 public Boolean getTypingIndicators() {
45 return keyValueStore.getEntry(typingIndicators);
46 }
47
48 public void setTypingIndicators(final boolean value) {
49 keyValueStore.storeEntry(typingIndicators, value);
50 }
51
52 public Boolean getLinkPreviews() {
53 return keyValueStore.getEntry(linkPreviews);
54 }
55
56 public void setLinkPreviews(final boolean value) {
57 keyValueStore.storeEntry(linkPreviews, value);
58 }
59
60 public Boolean getPhoneNumberUnlisted() {
61 return keyValueStore.getEntry(phoneNumberUnlisted);
62 }
63
64 public void setPhoneNumberUnlisted(final boolean value) {
65 keyValueStore.storeEntry(phoneNumberUnlisted, value);
66 }
67
68 public PhoneNumberSharingMode getPhoneNumberSharingMode() {
69 return keyValueStore.getEntry(phoneNumberSharingMode);
70 }
71
72 public void setPhoneNumberSharingMode(final PhoneNumberSharingMode value) {
73 keyValueStore.storeEntry(phoneNumberSharingMode, value);
74 }
75 }