1 package abi47_0_0.expo.modules.firebase.core;
2 
3 import com.google.firebase.FirebaseOptions;
4 
5 import java.util.Map;
6 import java.util.HashMap;
7 
8 public class FirebaseCoreOptions {
9 
fromJSON(final Map<String, String> json)10   public static FirebaseOptions fromJSON(final Map<String, String> json) {
11     if (json == null)
12       return null;
13     FirebaseOptions.Builder builder = new FirebaseOptions.Builder();
14 
15     if (json.containsKey("apiKey"))
16       builder.setApiKey(json.get("apiKey"));
17     if (json.containsKey("appId"))
18       builder.setApplicationId(json.get("appId"));
19     if (json.containsKey("databaseURL"))
20       builder.setDatabaseUrl(json.get("databaseURL"));
21     if (json.containsKey("messagingSenderId"))
22       builder.setGcmSenderId(json.get("messagingSenderId"));
23     if (json.containsKey("projectId"))
24       builder.setProjectId(json.get("projectId"));
25     if (json.containsKey("storageBucket"))
26       builder.setStorageBucket(json.get("storageBucket"));
27     if (json.containsKey("trackingId"))
28       builder.setGaTrackingId(json.get("trackingId"));
29 
30     return builder.build();
31   }
32 
toJSON(final FirebaseOptions options)33   public static Map<String, String> toJSON(final FirebaseOptions options) {
34     if (options == null)
35       return null;
36     final Map<String, String> result = new HashMap<>();
37     result.put("apiKey", options.getApiKey());
38     result.put("appId", options.getApplicationId());
39     result.put("databaseURL", options.getDatabaseUrl());
40     result.put("messagingSenderId", options.getGcmSenderId());
41     result.put("projectId", options.getProjectId());
42     result.put("storageBucket", options.getStorageBucket());
43     if (options.getGaTrackingId() != null)
44       result.put("trackingId", options.getGaTrackingId());
45 
46     return result;
47   }
48 
isEqual(final FirebaseOptions opts1, final FirebaseOptions opts2)49   public static boolean isEqual(final FirebaseOptions opts1, final FirebaseOptions opts2) {
50     if (opts1 == opts2)
51       return true;
52     if ((opts1 == null) || (opts2 == null))
53       return false;
54     return opts1.equals(opts2);
55   }
56 }
57