1
+ package io.matthewnelson.topl_service_base
2
+
3
+ import androidx.annotation.StringDef
4
+ import io.matthewnelson.topl_core_base.BaseConsts
5
+
6
+ abstract class BaseServiceConsts : BaseConsts () {
7
+
8
+
9
+ // /////////////////////////////
10
+ // / BackgroundManagerPolicy ///
11
+ // /////////////////////////////
12
+ @Target(
13
+ AnnotationTarget .CLASS ,
14
+ AnnotationTarget .PROPERTY ,
15
+ AnnotationTarget .VALUE_PARAMETER ,
16
+ AnnotationTarget .TYPE
17
+ )
18
+ @StringDef(
19
+ BackgroundPolicy .RESPECT_RESOURCES ,
20
+ BackgroundPolicy .RUN_IN_FOREGROUND
21
+ )
22
+ @Retention(AnnotationRetention .SOURCE )
23
+ annotation class BackgroundPolicy {
24
+ companion object {
25
+ private const val BACKGROUND_POLICY = " BackgroundPolicy_"
26
+ const val RESPECT_RESOURCES = " ${BACKGROUND_POLICY } RESPECT_RESOURCES"
27
+ const val RUN_IN_FOREGROUND = " ${BACKGROUND_POLICY } RUN_IN_FOREGROUND"
28
+ }
29
+ }
30
+
31
+
32
+ // /////////////////////
33
+ // / TorServicePrefs ///
34
+ // /////////////////////
35
+ @StringDef(
36
+ PrefKeyBoolean .DISABLE_NETWORK ,
37
+ PrefKeyBoolean .HAS_BRIDGES ,
38
+ PrefKeyBoolean .HAS_COOKIE_AUTHENTICATION ,
39
+ PrefKeyBoolean .HAS_DEBUG_LOGS ,
40
+ PrefKeyBoolean .HAS_DORMANT_CANCELED_BY_STARTUP ,
41
+ PrefKeyBoolean .HAS_OPEN_PROXY_ON_ALL_INTERFACES ,
42
+ PrefKeyBoolean .HAS_REACHABLE_ADDRESS ,
43
+ PrefKeyBoolean .HAS_REDUCED_CONNECTION_PADDING ,
44
+ PrefKeyBoolean .HAS_SAFE_SOCKS ,
45
+ PrefKeyBoolean .HAS_STRICT_NODES ,
46
+ PrefKeyBoolean .HAS_TEST_SOCKS ,
47
+ PrefKeyBoolean .IS_AUTO_MAP_HOSTS_ON_RESOLVE ,
48
+ PrefKeyBoolean .IS_RELAY ,
49
+ PrefKeyBoolean .RUN_AS_DAEMON ,
50
+ PrefKeyBoolean .USE_SOCKS5
51
+ )
52
+ @Retention(AnnotationRetention .SOURCE )
53
+ annotation class PrefKeyBoolean {
54
+ companion object {
55
+ // Keys for returning Booleans
56
+ const val DISABLE_NETWORK = " DISABLE_NETWORK"
57
+ const val HAS_BRIDGES = " HAS_BRIDGES"
58
+ const val HAS_COOKIE_AUTHENTICATION = " HAS_COOKIE_AUTHENTICATION"
59
+ const val HAS_DEBUG_LOGS = " HAS_DEBUG_LOGS"
60
+ const val HAS_DORMANT_CANCELED_BY_STARTUP = " HAS_DORMANT_CANCELED_BY_STARTUP"
61
+ const val HAS_OPEN_PROXY_ON_ALL_INTERFACES = " HAS_OPEN_PROXY_ON_ALL_INTERFACES"
62
+ const val HAS_REACHABLE_ADDRESS = " HAS_REACHABLE_ADDRESS"
63
+ const val HAS_REDUCED_CONNECTION_PADDING = " HAS_REDUCED_CONNECTION_PADDING"
64
+ const val HAS_SAFE_SOCKS = " HAS_SAFE_SOCKS"
65
+ const val HAS_STRICT_NODES = " HAS_STRICT_NODES"
66
+ const val HAS_TEST_SOCKS = " HAS_TEST_SOCKS"
67
+ const val IS_AUTO_MAP_HOSTS_ON_RESOLVE = " IS_AUTO_MAP_HOSTS_ON_RESOLVE"
68
+ const val IS_RELAY = " IS_RELAY"
69
+ const val RUN_AS_DAEMON = " RUN_AS_DAEMON"
70
+ const val USE_SOCKS5 = " USE_SOCKS5"
71
+ }
72
+ }
73
+
74
+ @StringDef(
75
+ PrefKeyInt .DORMANT_CLIENT_TIMEOUT ,
76
+ PrefKeyInt .PROXY_PORT ,
77
+ PrefKeyInt .PROXY_SOCKS5_SERVER_PORT
78
+ )
79
+ @Retention(AnnotationRetention .SOURCE )
80
+ annotation class PrefKeyInt {
81
+ companion object {
82
+ // Keys for returning Ints
83
+ const val DORMANT_CLIENT_TIMEOUT = " DORMANT_CLIENT_TIMEOUT"
84
+ const val PROXY_PORT = " PROXY_PORT"
85
+ const val PROXY_SOCKS5_SERVER_PORT = " PROXY_SOCKS5_SERVER_PORT"
86
+ }
87
+ }
88
+
89
+ @StringDef(
90
+ PrefKeyList .DNS_PORT_ISOLATION_FLAGS ,
91
+ PrefKeyList .HTTP_TUNNEL_PORT_ISOLATION_FLAGS ,
92
+ PrefKeyList .SOCKS_PORT_ISOLATION_FLAGS ,
93
+ PrefKeyList .TRANS_PORT_ISOLATION_FLAGS ,
94
+ PrefKeyList .USER_DEFINED_BRIDGES
95
+ )
96
+ @Retention(AnnotationRetention .SOURCE )
97
+ annotation class PrefKeyList {
98
+ companion object {
99
+ // Keys for returning Lists
100
+ const val DNS_PORT_ISOLATION_FLAGS = " DNS_PORT_ISOLATION_FLAGS"
101
+ const val HTTP_TUNNEL_PORT_ISOLATION_FLAGS = " HTTP_PORT_ISOLATION_FLAGS"
102
+ const val SOCKS_PORT_ISOLATION_FLAGS = " SOCKS_PORT_ISOLATION_FLAGS"
103
+ const val TRANS_PORT_ISOLATION_FLAGS = " TRANS_PORT_ISOLATION_FLAGS"
104
+ const val USER_DEFINED_BRIDGES = " USER_DEFINED_BRIDGES"
105
+ }
106
+ }
107
+
108
+ @StringDef(
109
+ PrefKeyString .DNS_PORT ,
110
+ PrefKeyString .CUSTOM_TORRC ,
111
+ PrefKeyString .ENTRY_NODES ,
112
+ PrefKeyString .EXCLUDED_NODES ,
113
+ PrefKeyString .EXIT_NODES ,
114
+ PrefKeyString .HTTP_TUNNEL_PORT ,
115
+ PrefKeyString .PROXY_HOST ,
116
+ PrefKeyString .PROXY_PASSWORD ,
117
+ PrefKeyString .PROXY_SOCKS5_HOST ,
118
+ PrefKeyString .PROXY_TYPE ,
119
+ PrefKeyString .PROXY_USER ,
120
+ PrefKeyString .REACHABLE_ADDRESS_PORTS ,
121
+ PrefKeyString .RELAY_NICKNAME ,
122
+ PrefKeyString .RELAY_PORT ,
123
+ PrefKeyString .SOCKS_PORT ,
124
+ PrefKeyString .VIRTUAL_ADDRESS_NETWORK ,
125
+ PrefKeyString .HAS_CONNECTION_PADDING ,
126
+ PrefKeyString .TRANS_PORT
127
+ )
128
+ @Retention(AnnotationRetention .SOURCE )
129
+ annotation class PrefKeyString {
130
+ companion object {
131
+ // Keys for returning Strings
132
+ const val DNS_PORT = " DNS_PORT"
133
+ const val CUSTOM_TORRC = " CUSTOM_TORRC"
134
+ const val ENTRY_NODES = " ENTRY_NODES"
135
+ const val EXCLUDED_NODES = " EXCLUDED_NODES"
136
+ const val EXIT_NODES = " EXIT_NODES"
137
+ const val HTTP_TUNNEL_PORT = " HTTP_TUNNEL_PORT"
138
+ const val PROXY_HOST = " PROXY_HOST"
139
+ const val PROXY_PASSWORD = " PROXY_PASSWORD"
140
+ const val PROXY_SOCKS5_HOST = " PROXY_SOCKS5_HOST"
141
+ const val PROXY_TYPE = " PROXY_TYPE"
142
+ const val PROXY_USER = " PROXY_USER"
143
+ const val REACHABLE_ADDRESS_PORTS = " REACHABLE_ADDRESS_PORTS"
144
+ const val RELAY_NICKNAME = " RELAY_NICKNAME"
145
+ const val RELAY_PORT = " RELAY_PORT"
146
+ const val SOCKS_PORT = " SOCKS_PORT"
147
+ const val VIRTUAL_ADDRESS_NETWORK = " VIRTUAL_ADDRESS_NETWORK"
148
+ const val HAS_CONNECTION_PADDING = " HAS_CONNECTION_PADDING"
149
+ const val TRANS_PORT = " TRANS_PORT"
150
+ }
151
+ }
152
+ }
0 commit comments