1 package expo.modules.apploader;
2 
3 import android.content.Context;
4 
5 import expo.modules.core.interfaces.Consumer;
6 
7 public interface HeadlessAppLoader {
8 
9   class AppConfigurationError extends Exception {
10 
AppConfigurationError(String message)11     public AppConfigurationError(String message) {
12       super(message);
13     }
14 
AppConfigurationError(String message, Exception cause)15     public AppConfigurationError(String message, Exception cause) {
16       super(message, cause);
17     }
18   }
19 
loadApp(Context context, Params params, Runnable alreadyRunning, Consumer<Boolean> callback)20   void loadApp(Context context, Params params, Runnable alreadyRunning, Consumer<Boolean> callback) throws AppConfigurationError;
21 
invalidateApp(String appScopeKey)22   boolean invalidateApp(String appScopeKey);
23 
isRunning(String appScopeKey)24   boolean isRunning(String appScopeKey);
25 
26   final class Params {
27     private final String appScopeKey;
28     private final String appUrl;
29 
Params(String appScopeKey, String appUrl)30     public Params(String appScopeKey, String appUrl) {
31       this.appScopeKey = appScopeKey;
32       this.appUrl = appUrl;
33     }
34 
getAppScopeKey()35     public String getAppScopeKey() {
36       return appScopeKey;
37     }
38 
getAppUrl()39     public String getAppUrl() {
40       return appUrl;
41     }
42 
43   }
44 
45 }
46