Skip to content

Commit f8cd508

Browse files
authored
Merge pull request #79 from TimPushkin/spbu-pf
Faculty of Physics, St. Petersburg State University
2 parents 5cfbac5 + 0815bb6 commit f8cd508

File tree

6,106 files changed

+11893
-2159
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

6,106 files changed

+11893
-2159
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ specific rooms on them.
1111
The following maps are available:
1212

1313
- Mathematics and Mechanics Faculty, St. Petersburg State University
14+
- Faculty of Physics, St. Petersburg State University
1415

1516
| [<img src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play" height="80" />](https://play.google.com/store/apps/details?id=ru.spbu.depnav&utm_source=https%3A%2F%2Fgithub.com%2FTimPushkin%2FDepNav&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1) | [<img src="https://i.imgur.com/g5WjbFC.png" alt="AppGallery" height="80" />](https://appgallery.cloud.huawei.com/ag/n/app/C106717783?channelId=GitHub+repository&id=05d3f9cea9c44d829cd43b9f79593c88&s=A358D75497B3480E158A47713DE08E03B4047FD6FD5F2DA45C7AF9D9B5410F64&detailType=0&v=&callType=AGDLINK&installType=0000) |
1617
|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
@@ -20,11 +21,11 @@ The following maps are available:
2021
With **DepNav** you can do the following:
2122

2223
- **View** the available maps by floors
23-
- **Search** for specific rooms and other objects on the selected map with built-in search
24+
- **Search** for specific rooms and other objects on the selected map with the built-in search
2425
- Enjoy Material UI 3 in selectable light and dark themes
2526
- Two languages available: English and Russian
2627

27-
| ![Map](https://i.imgur.com/1qjld38.png) | ![Search](https://i.imgur.com/cE3RtaA.png) | ![Info](https://i.imgur.com/Hcis0w0.png) |
28+
| ![Map](https://i.imgur.com/Tyn21xJ.png) | ![Search](https://i.imgur.com/4XGDlQH.png) | ![Info](https://i.imgur.com/35E5mkG.png) |
2829
|:---------------------------------------:|:------------------------------------------:|:----------------------------------------:|
2930

3031
## Get it!

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def keystorePropertiesFile = rootProject.file('keystore.properties')
1717
def keystoreProperties = new Properties()
1818
if (keystorePropertiesFile.exists()) keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
1919

20-
def version = ['major': 1, 'minor': 3, 'patch': 3]
20+
def version = ['major': 1, 'minor': 4, 'patch': 0]
2121

2222
android {
2323
namespace 'ru.spbu.depnav'
Lines changed: 340 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,340 @@
1+
{
2+
"formatVersion": 1,
3+
"database": {
4+
"version": 9,
5+
"identityHash": "b2f5f82a76e1409ed0ad2d4aafaef05b",
6+
"entities": [
7+
{
8+
"tableName": "map_info",
9+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `internal_name` TEXT NOT NULL, `floor_width` INTEGER NOT NULL, `floor_height` INTEGER NOT NULL, `tile_size` INTEGER NOT NULL, `levels_num` INTEGER NOT NULL, `floors_num` INTEGER NOT NULL, PRIMARY KEY(`id`))",
10+
"fields": [
11+
{
12+
"fieldPath": "id",
13+
"columnName": "id",
14+
"affinity": "INTEGER",
15+
"notNull": true
16+
},
17+
{
18+
"fieldPath": "internalName",
19+
"columnName": "internal_name",
20+
"affinity": "TEXT",
21+
"notNull": true
22+
},
23+
{
24+
"fieldPath": "floorWidth",
25+
"columnName": "floor_width",
26+
"affinity": "INTEGER",
27+
"notNull": true
28+
},
29+
{
30+
"fieldPath": "floorHeight",
31+
"columnName": "floor_height",
32+
"affinity": "INTEGER",
33+
"notNull": true
34+
},
35+
{
36+
"fieldPath": "tileSize",
37+
"columnName": "tile_size",
38+
"affinity": "INTEGER",
39+
"notNull": true
40+
},
41+
{
42+
"fieldPath": "levelsNum",
43+
"columnName": "levels_num",
44+
"affinity": "INTEGER",
45+
"notNull": true
46+
},
47+
{
48+
"fieldPath": "floorsNum",
49+
"columnName": "floors_num",
50+
"affinity": "INTEGER",
51+
"notNull": true
52+
}
53+
],
54+
"primaryKey": {
55+
"autoGenerate": false,
56+
"columnNames": [
57+
"id"
58+
]
59+
},
60+
"indices": [
61+
{
62+
"name": "index_map_info_internal_name",
63+
"unique": true,
64+
"columnNames": [
65+
"internal_name"
66+
],
67+
"orders": [],
68+
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_map_info_internal_name` ON `${TABLE_NAME}` (`internal_name`)"
69+
}
70+
],
71+
"foreignKeys": []
72+
},
73+
{
74+
"tableName": "map_title",
75+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`map_id` INTEGER NOT NULL, `language_id` TEXT NOT NULL, `title` TEXT NOT NULL, PRIMARY KEY(`map_id`, `language_id`), FOREIGN KEY(`map_id`) REFERENCES `map_info`(`id`) ON UPDATE CASCADE ON DELETE RESTRICT )",
76+
"fields": [
77+
{
78+
"fieldPath": "mapId",
79+
"columnName": "map_id",
80+
"affinity": "INTEGER",
81+
"notNull": true
82+
},
83+
{
84+
"fieldPath": "languageId",
85+
"columnName": "language_id",
86+
"affinity": "TEXT",
87+
"notNull": true
88+
},
89+
{
90+
"fieldPath": "title",
91+
"columnName": "title",
92+
"affinity": "TEXT",
93+
"notNull": true
94+
}
95+
],
96+
"primaryKey": {
97+
"autoGenerate": false,
98+
"columnNames": [
99+
"map_id",
100+
"language_id"
101+
]
102+
},
103+
"indices": [],
104+
"foreignKeys": [
105+
{
106+
"table": "map_info",
107+
"onDelete": "RESTRICT",
108+
"onUpdate": "CASCADE",
109+
"columns": [
110+
"map_id"
111+
],
112+
"referencedColumns": [
113+
"id"
114+
]
115+
}
116+
]
117+
},
118+
{
119+
"tableName": "marker",
120+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `map_id` INTEGER NOT NULL, `type` TEXT NOT NULL, `floor` INTEGER NOT NULL, `x` REAL NOT NULL, `y` REAL NOT NULL, FOREIGN KEY(`map_id`) REFERENCES `map_info`(`id`) ON UPDATE CASCADE ON DELETE RESTRICT )",
121+
"fields": [
122+
{
123+
"fieldPath": "id",
124+
"columnName": "id",
125+
"affinity": "INTEGER",
126+
"notNull": true
127+
},
128+
{
129+
"fieldPath": "mapId",
130+
"columnName": "map_id",
131+
"affinity": "INTEGER",
132+
"notNull": true
133+
},
134+
{
135+
"fieldPath": "type",
136+
"columnName": "type",
137+
"affinity": "TEXT",
138+
"notNull": true
139+
},
140+
{
141+
"fieldPath": "floor",
142+
"columnName": "floor",
143+
"affinity": "INTEGER",
144+
"notNull": true
145+
},
146+
{
147+
"fieldPath": "x",
148+
"columnName": "x",
149+
"affinity": "REAL",
150+
"notNull": true
151+
},
152+
{
153+
"fieldPath": "y",
154+
"columnName": "y",
155+
"affinity": "REAL",
156+
"notNull": true
157+
}
158+
],
159+
"primaryKey": {
160+
"autoGenerate": true,
161+
"columnNames": [
162+
"id"
163+
]
164+
},
165+
"indices": [
166+
{
167+
"name": "index_marker_map_id_floor",
168+
"unique": false,
169+
"columnNames": [
170+
"map_id",
171+
"floor"
172+
],
173+
"orders": [],
174+
"createSql": "CREATE INDEX IF NOT EXISTS `index_marker_map_id_floor` ON `${TABLE_NAME}` (`map_id`, `floor`)"
175+
}
176+
],
177+
"foreignKeys": [
178+
{
179+
"table": "map_info",
180+
"onDelete": "RESTRICT",
181+
"onUpdate": "CASCADE",
182+
"columns": [
183+
"map_id"
184+
],
185+
"referencedColumns": [
186+
"id"
187+
]
188+
}
189+
]
190+
},
191+
{
192+
"tableName": "marker_text",
193+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`marker_id` INTEGER NOT NULL, `language_id` TEXT NOT NULL, `title` TEXT, `location` TEXT, `description` TEXT, PRIMARY KEY(`marker_id`, `language_id`), FOREIGN KEY(`marker_id`) REFERENCES `marker`(`id`) ON UPDATE CASCADE ON DELETE RESTRICT )",
194+
"fields": [
195+
{
196+
"fieldPath": "markerId",
197+
"columnName": "marker_id",
198+
"affinity": "INTEGER",
199+
"notNull": true
200+
},
201+
{
202+
"fieldPath": "languageId",
203+
"columnName": "language_id",
204+
"affinity": "TEXT",
205+
"notNull": true
206+
},
207+
{
208+
"fieldPath": "title",
209+
"columnName": "title",
210+
"affinity": "TEXT",
211+
"notNull": false
212+
},
213+
{
214+
"fieldPath": "location",
215+
"columnName": "location",
216+
"affinity": "TEXT",
217+
"notNull": false
218+
},
219+
{
220+
"fieldPath": "description",
221+
"columnName": "description",
222+
"affinity": "TEXT",
223+
"notNull": false
224+
}
225+
],
226+
"primaryKey": {
227+
"autoGenerate": false,
228+
"columnNames": [
229+
"marker_id",
230+
"language_id"
231+
]
232+
},
233+
"indices": [],
234+
"foreignKeys": [
235+
{
236+
"table": "marker",
237+
"onDelete": "RESTRICT",
238+
"onUpdate": "CASCADE",
239+
"columns": [
240+
"marker_id"
241+
],
242+
"referencedColumns": [
243+
"id"
244+
]
245+
}
246+
]
247+
},
248+
{
249+
"ftsVersion": "FTS4",
250+
"ftsOptions": {
251+
"tokenizer": "unicode61",
252+
"tokenizerArgs": [],
253+
"contentTable": "marker_text",
254+
"languageIdColumnName": "",
255+
"matchInfo": "FTS4",
256+
"notIndexedColumns": [],
257+
"prefixSizes": [],
258+
"preferredOrder": "ASC"
259+
},
260+
"contentSyncTriggers": [
261+
"CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_marker_text_fts_BEFORE_UPDATE BEFORE UPDATE ON `marker_text` BEGIN DELETE FROM `marker_text_fts` WHERE `docid`=OLD.`rowid`; END",
262+
"CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_marker_text_fts_BEFORE_DELETE BEFORE DELETE ON `marker_text` BEGIN DELETE FROM `marker_text_fts` WHERE `docid`=OLD.`rowid`; END",
263+
"CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_marker_text_fts_AFTER_UPDATE AFTER UPDATE ON `marker_text` BEGIN INSERT INTO `marker_text_fts`(`docid`, `title`, `location`, `description`) VALUES (NEW.`rowid`, NEW.`title`, NEW.`location`, NEW.`description`); END",
264+
"CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_marker_text_fts_AFTER_INSERT AFTER INSERT ON `marker_text` BEGIN INSERT INTO `marker_text_fts`(`docid`, `title`, `location`, `description`) VALUES (NEW.`rowid`, NEW.`title`, NEW.`location`, NEW.`description`); END"
265+
],
266+
"tableName": "marker_text_fts",
267+
"createSql": "CREATE VIRTUAL TABLE IF NOT EXISTS `${TABLE_NAME}` USING FTS4(`title` TEXT, `location` TEXT, `description` TEXT, tokenize=unicode61, content=`marker_text`)",
268+
"fields": [
269+
{
270+
"fieldPath": "title",
271+
"columnName": "title",
272+
"affinity": "TEXT",
273+
"notNull": false
274+
},
275+
{
276+
"fieldPath": "location",
277+
"columnName": "location",
278+
"affinity": "TEXT",
279+
"notNull": false
280+
},
281+
{
282+
"fieldPath": "description",
283+
"columnName": "description",
284+
"affinity": "TEXT",
285+
"notNull": false
286+
}
287+
],
288+
"primaryKey": {
289+
"autoGenerate": false,
290+
"columnNames": []
291+
},
292+
"indices": [],
293+
"foreignKeys": []
294+
},
295+
{
296+
"tableName": "search_history_entry",
297+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`marker_id` INTEGER NOT NULL, `timestamp` INTEGER NOT NULL, PRIMARY KEY(`marker_id`), FOREIGN KEY(`marker_id`) REFERENCES `marker`(`id`) ON UPDATE CASCADE ON DELETE RESTRICT )",
298+
"fields": [
299+
{
300+
"fieldPath": "markerId",
301+
"columnName": "marker_id",
302+
"affinity": "INTEGER",
303+
"notNull": true
304+
},
305+
{
306+
"fieldPath": "timestamp",
307+
"columnName": "timestamp",
308+
"affinity": "INTEGER",
309+
"notNull": true
310+
}
311+
],
312+
"primaryKey": {
313+
"autoGenerate": false,
314+
"columnNames": [
315+
"marker_id"
316+
]
317+
},
318+
"indices": [],
319+
"foreignKeys": [
320+
{
321+
"table": "marker",
322+
"onDelete": "RESTRICT",
323+
"onUpdate": "CASCADE",
324+
"columns": [
325+
"marker_id"
326+
],
327+
"referencedColumns": [
328+
"id"
329+
]
330+
}
331+
]
332+
}
333+
],
334+
"views": [],
335+
"setupQueries": [
336+
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
337+
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'b2f5f82a76e1409ed0ad2d4aafaef05b')"
338+
]
339+
}
340+
}

0 commit comments

Comments
 (0)