1*3fc9c6a0SBartłomiej Klocek import ExpoModulesCore
2*3fc9c6a0SBartłomiej Klocek 
3*3fc9c6a0SBartłomiej Klocek public class TrackingTransparencyModule: Module {
definitionnull4*3fc9c6a0SBartłomiej Klocek   public func definition() -> ModuleDefinition {
5*3fc9c6a0SBartłomiej Klocek     Name("ExpoTrackingTransparency")
6*3fc9c6a0SBartłomiej Klocek 
7*3fc9c6a0SBartłomiej Klocek     OnCreate {
8*3fc9c6a0SBartłomiej Klocek       EXPermissionsMethodsDelegate.register([TrackingTransparencyPermissionRequester()], withPermissionsManager: self.appContext?.permissions)
9*3fc9c6a0SBartłomiej Klocek     }
10*3fc9c6a0SBartłomiej Klocek 
11*3fc9c6a0SBartłomiej Klocek     AsyncFunction("getPermissionsAsync") { (promise: Promise) in
12*3fc9c6a0SBartłomiej Klocek       EXPermissionsMethodsDelegate.getPermissionWithPermissionsManager(
13*3fc9c6a0SBartłomiej Klocek         self.appContext?.permissions,
14*3fc9c6a0SBartłomiej Klocek         withRequester: TrackingTransparencyPermissionRequester.self,
15*3fc9c6a0SBartłomiej Klocek         resolve: promise.resolver,
16*3fc9c6a0SBartłomiej Klocek         reject: promise.legacyRejecter
17*3fc9c6a0SBartłomiej Klocek       )
18*3fc9c6a0SBartłomiej Klocek     }
19*3fc9c6a0SBartłomiej Klocek 
20*3fc9c6a0SBartłomiej Klocek     AsyncFunction("requestPermissionsAsync") { (promise: Promise) in
21*3fc9c6a0SBartłomiej Klocek       EXPermissionsMethodsDelegate.askForPermission(
22*3fc9c6a0SBartłomiej Klocek         withPermissionsManager: self.appContext?.permissions,
23*3fc9c6a0SBartłomiej Klocek         withRequester: TrackingTransparencyPermissionRequester.self,
24*3fc9c6a0SBartłomiej Klocek         resolve: promise.resolver,
25*3fc9c6a0SBartłomiej Klocek         reject: promise.legacyRejecter
26*3fc9c6a0SBartłomiej Klocek       )
27*3fc9c6a0SBartłomiej Klocek     }
28*3fc9c6a0SBartłomiej Klocek   }
29*3fc9c6a0SBartłomiej Klocek }
30