@@ -13,79 +13,82 @@ lazy_static! {
13
13
) ) ;
14
14
}
15
15
16
+ #[ cfg( not( target_os = "android" ) ) ]
16
17
pub fn get_config_dir ( ) -> Result < PathBuf , ( ) > {
17
- #[ cfg( not( target_os = "android" ) ) ]
18
- {
19
- let mut dir = appdirs:: user_config_dir ( Some ( "activitywatch" ) , None , false ) ?;
20
- dir. push ( "aw-server-rust" ) ;
21
- fs:: create_dir_all ( dir. clone ( ) ) . expect ( "Unable to create config dir" ) ;
22
- Ok ( dir)
23
- }
18
+ let mut dir = appdirs:: user_config_dir ( Some ( "activitywatch" ) , None , false ) ?;
19
+ dir. push ( "aw-server-rust" ) ;
20
+ fs:: create_dir_all ( dir. clone ( ) ) . expect ( "Unable to create config dir" ) ;
21
+ Ok ( dir)
22
+ }
24
23
25
- #[ cfg( target_os = "android" ) ]
26
- {
27
- panic ! ( "not implemented on Android" ) ;
28
- }
24
+ #[ cfg( target_os = "android" ) ]
25
+ pub fn get_config_dir ( ) -> Result < PathBuf , ( ) > {
26
+ panic ! ( "not implemented on Android" ) ;
29
27
}
30
28
29
+ #[ cfg( not( target_os = "android" ) ) ]
31
30
pub fn get_data_dir ( ) -> Result < PathBuf , ( ) > {
32
- #[ cfg( not( target_os = "android" ) ) ]
33
- {
34
- let mut dir = appdirs:: user_data_dir ( Some ( "activitywatch" ) , None , false ) ?;
35
- dir. push ( "aw-server-rust" ) ;
36
- fs:: create_dir_all ( dir. clone ( ) ) . expect ( "Unable to create data dir" ) ;
37
- Ok ( dir)
38
- }
31
+ let mut dir = appdirs:: user_data_dir ( Some ( "activitywatch" ) , None , false ) ?;
32
+ dir. push ( "aw-server-rust" ) ;
33
+ fs:: create_dir_all ( dir. clone ( ) ) . expect ( "Unable to create data dir" ) ;
34
+ Ok ( dir)
35
+ }
39
36
40
- #[ cfg( target_os = "android" ) ]
41
- {
42
- return Ok ( ANDROID_DATA_DIR . lock ( ) . unwrap ( ) . to_path_buf ( ) ) ;
43
- }
37
+ #[ cfg( target_os = "android" ) ]
38
+ pub fn get_data_dir ( ) -> Result < PathBuf , ( ) > {
39
+ return Ok ( ANDROID_DATA_DIR . lock ( ) . unwrap ( ) . to_path_buf ( ) ) ;
44
40
}
45
41
42
+ #[ cfg( not( target_os = "android" ) ) ]
46
43
pub fn get_cache_dir ( ) -> Result < PathBuf , ( ) > {
47
- #[ cfg( not( target_os = "android" ) ) ]
48
- {
49
- let mut dir = appdirs:: user_cache_dir ( Some ( "activitywatch" ) , None ) ?;
50
- dir. push ( "aw-server-rust" ) ;
51
- fs:: create_dir_all ( dir. clone ( ) ) . expect ( "Unable to create cache dir" ) ;
52
- Ok ( dir)
53
- }
44
+ let mut dir = appdirs:: user_cache_dir ( Some ( "activitywatch" ) , None ) ?;
45
+ dir. push ( "aw-server-rust" ) ;
46
+ fs:: create_dir_all ( dir. clone ( ) ) . expect ( "Unable to create cache dir" ) ;
47
+ Ok ( dir)
48
+ }
54
49
55
- #[ cfg( target_os = "android" ) ]
56
- {
57
- panic ! ( "not implemented on Android" ) ;
58
- }
50
+ #[ cfg( target_os = "android" ) ]
51
+ pub fn get_cache_dir ( ) -> Result < PathBuf , ( ) > {
52
+ panic ! ( "not implemented on Android" ) ;
59
53
}
60
54
55
+ #[ cfg( not( target_os = "android" ) ) ]
61
56
pub fn get_log_dir ( ) -> Result < PathBuf , ( ) > {
62
- #[ cfg( not( target_os = "android" ) ) ]
63
- {
64
- let mut dir = appdirs:: user_cache_dir ( Some ( "activitywatch" ) , None ) ?;
65
- dir. push ( "log" ) ;
66
- dir. push ( "aw-server-rust" ) ;
67
- fs:: create_dir_all ( dir. clone ( ) ) . expect ( "Unable to create cache dir" ) ;
68
- Ok ( dir)
69
- }
57
+ let mut dir = appdirs:: user_cache_dir ( Some ( "activitywatch" ) , None ) ?;
58
+ dir. push ( "log" ) ;
59
+ dir. push ( "aw-server-rust" ) ;
60
+ fs:: create_dir_all ( dir. clone ( ) ) . expect ( "Unable to create cache dir" ) ;
61
+ Ok ( dir)
62
+ }
70
63
71
- #[ cfg( target_os = "android" ) ]
72
- {
73
- panic ! ( "not implemented on Android" ) ;
74
- }
64
+ #[ cfg( target_os = "android" ) ]
65
+ pub fn get_log_dir ( ) -> Result < PathBuf , ( ) > {
66
+ panic ! ( "not implemented on Android" ) ;
75
67
}
76
68
77
- pub fn db_path ( testing : bool ) -> PathBuf {
78
- let mut db_path = get_data_dir ( ) . unwrap ( ) ;
69
+ pub fn db_path ( testing : bool ) -> Result < PathBuf , ( ) > {
70
+ let mut db_path = get_data_dir ( ) ? ;
79
71
if testing {
80
72
db_path. push ( "sqlite-testing.db" ) ;
81
73
} else {
82
74
db_path. push ( "sqlite.db" ) ;
83
75
}
84
- db_path
76
+ Ok ( db_path)
85
77
}
86
78
87
79
#[ cfg( target_os = "android" ) ]
88
80
pub fn set_android_data_dir ( path : & str ) {
89
81
let mut android_data_dir = ANDROID_DATA_DIR . lock ( ) . unwrap ( ) ;
90
82
* android_data_dir = PathBuf :: from ( path) ;
91
83
}
84
+
85
+ #[ test]
86
+ fn test_get_dirs ( ) {
87
+ #[ cfg( target_os = "android" ) ]
88
+ set_android_data_dir ( "/test" ) ;
89
+
90
+ get_cache_dir ( ) . unwrap ( ) ;
91
+ get_log_dir ( ) . unwrap ( ) ;
92
+ db_path ( true ) . unwrap ( ) ;
93
+ db_path ( false ) . unwrap ( ) ;
94
+ }
0 commit comments