@@ -3,6 +3,7 @@ import FontLoader, {FontExtension, LoadFontInput} from './FontLoader';
3
3
import FontDownloader , { FontDownloaderProps } from './FontDownloader' ;
4
4
import PermissionsAcquirerAndroid , { PermissionsAcquirerProps } from './PermissionsAcquirer.android' ;
5
5
import PermissionsAcquirerIOS from './PermissionsAcquirer.ios' ;
6
+ import NoPermissionsAcquirer from './NoPermissionsAcquirer' ;
6
7
const PermissionsAcquirer = Platform . OS === 'android' ? PermissionsAcquirerAndroid : PermissionsAcquirerIOS ;
7
8
8
9
const DEFAULT_FONT_LOAD_ERROR_MESSAGE = 'Unable to load this font.' ;
@@ -15,6 +16,10 @@ type DynamicFontsProps = {
15
16
* Enable debug mode to print extra logs
16
17
*/
17
18
debug ?: boolean ;
19
+ /**
20
+ * Do not request permissions
21
+ */
22
+ doNotRequestPermissions ?: boolean ;
18
23
} ;
19
24
20
25
type GetFontInput = {
@@ -45,9 +50,11 @@ export default class DynamicFonts {
45
50
private readonly fontDownloader : InstanceType < typeof FontDownloader > ;
46
51
47
52
constructor ( props : DynamicFontsProps ) {
48
- const { debug = __DEV__ } = props ;
53
+ const { debug = __DEV__ , doNotRequestPermissions } = props ;
49
54
this . props = { fontLoadErrorMessage : DEFAULT_FONT_LOAD_ERROR_MESSAGE , ...props } ;
50
- this . permissionsAcquirer = new PermissionsAcquirer ( this . props . permissionsAcquirerProps ?? { } ) ;
55
+ this . permissionsAcquirer = doNotRequestPermissions
56
+ ? new NoPermissionsAcquirer ( )
57
+ : new PermissionsAcquirer ( this . props . permissionsAcquirerProps ?? { } ) ;
51
58
this . fontLoader = new FontLoader ( { debug} ) ;
52
59
const fontDownloadingProps = this . props . fontDownloadingProps ?? { } ;
53
60
this . fontDownloader = new FontDownloader ( { ...fontDownloadingProps , debug} ) ;
@@ -162,4 +169,8 @@ export default class DynamicFonts {
162
169
await this . deleteFontFromDisk ( fontName , fontExtension , fontNamePrefix ) ;
163
170
} ) ;
164
171
}
172
+
173
+ public async isFontDownloaded ( fontName : string , fontExtension : FontExtension ) : Promise < boolean > {
174
+ return await this . fontDownloader . isFontDownloaded ( fontName , fontExtension ) ;
175
+ }
165
176
}
0 commit comments