/* * Copyright 2017 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.firebase; import com.google.firebase.auth.FirebaseCredential; import com.google.firebase.internal.AuthStateListener; import com.google.firebase.internal.FirebaseService; import com.google.firebase.internal.GetTokenResult; import com.google.firebase.internal.NonNull; import com.google.firebase.tasks.Task; /** * Provides trampolines into package-private APIs used by components of Firebase. Intentionally * scarily-named to dissuade people from actually trying to use the class and to make it less likely * to appear in code completion. * * @hide */ public final class ImplFirebaseTrampolines { private ImplFirebaseTrampolines() {} public static FirebaseCredential getCredential(@NonNull FirebaseApp app) { return app.getOptions().getCredential(); } public static boolean isDefaultApp(@NonNull FirebaseApp app) { return app.isDefaultApp(); } public static String getPersistenceKey(@NonNull FirebaseApp app) { return app.getPersistenceKey(); } public static String getPersistenceKey(String name, FirebaseOptions options) { return FirebaseApp.getPersistenceKey(name, options); } public static void addAuthStateChangeListener( @NonNull FirebaseApp app, @NonNull AuthStateListener listener) { app.addAuthStateListener(listener); } public static void removeAuthStateChangeListener( @NonNull FirebaseApp app, @NonNull AuthStateListener listener) { app.removeAuthStateListener(listener); } public static Task<GetTokenResult> getToken(@NonNull FirebaseApp app, boolean forceRefresh) { return app.getToken(forceRefresh); } public static <T extends FirebaseService> T getService( @NonNull FirebaseApp app, @NonNull String id, @NonNull Class<T> type) { return type.cast(app.getService(id)); } public static <T extends FirebaseService> T addService( @NonNull FirebaseApp app, @NonNull T service) { app.addService(service); return service; } }