Skip to content

Merge FIS Android SDK into master branch #1048

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 121 commits into from
Dec 10, 2019
Merged
Show file tree
Hide file tree
Changes from 119 commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
0d05282
Add Firebase Segmentation SDK and some skeleton code in Firebase Andr…
diwu-arete Jun 13, 2019
8881325
Implement Firebase segmentation SDK device local cache
diwu-arete Jun 13, 2019
864748f
[Firebase Segmentation] Add custom installation id cache layer and te…
diwu-arete Jun 14, 2019
0a3ebf6
Add test for updating cache
diwu-arete Jun 14, 2019
2d158ed
Switch to use SQLiteOpenHelper
diwu-arete Jun 15, 2019
f118d39
Switch to use SharedPreferences from SQLite.
diwu-arete Jun 17, 2019
4da5d31
Change the cache class to be singleton
diwu-arete Jun 18, 2019
d1ff0ec
Wrap shared pref commit in a async task.
diwu-arete Jun 18, 2019
2c5102c
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 18, 2019
41fbfee
Address comments
diwu-arete Jun 18, 2019
5fd2fa0
Google format fix
diwu-arete Jun 18, 2019
e950003
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 18, 2019
dc46eee
[Firebase Segmentation] Add custom installation id cache layer and te…
diwu-arete Jun 18, 2019
a73ebf9
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 18, 2019
dba0c0e
Replace some deprecated code.
diwu-arete Jun 18, 2019
dc37bf8
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 18, 2019
ebdd626
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 18, 2019
8b7380d
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 18, 2019
f26741e
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 18, 2019
1274b42
Fix some deprecations (#533)
diwu-arete Jun 18, 2019
38c403f
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 18, 2019
a9a43a4
Package refactor
diwu-arete Jun 18, 2019
ca6dacf
nit
diwu-arete Jun 18, 2019
e7fff81
nit
diwu-arete Jun 18, 2019
d952003
package refactor (#534)
diwu-arete Jun 18, 2019
bb8bf45
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 18, 2019
b381889
Add the state machine of updating custom installation id in the local
diwu-arete Jun 19, 2019
a7b5684
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 19, 2019
a72cf60
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 19, 2019
1adcfbd
minor format fix
diwu-arete Jun 20, 2019
6091f82
Address comments #1
diwu-arete Jun 20, 2019
ada5577
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 20, 2019
fdbbdee
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 20, 2019
af5bcd1
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 20, 2019
e7fb811
Add the state machine of updating custom installation id in the local…
diwu-arete Jun 24, 2019
de6fb6d
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 24, 2019
75e523b
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 24, 2019
dd16319
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 24, 2019
0a794dc
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 24, 2019
134f06e
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 24, 2019
6a0f502
Http client in Firebase Segmentation SDK to call backend service.
diwu-arete Jun 26, 2019
a79cae2
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jun 26, 2019
4ac7db5
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jun 26, 2019
7f40978
Revert unintentional change
diwu-arete Jun 26, 2019
b2fc302
Fix connected device test
diwu-arete Jun 26, 2019
1f2ab34
Fix connected device test
diwu-arete Jun 26, 2019
402d8b6
Merge branch 'arete-floc' of github.com:firebase/firebase-android-sdk…
diwu-arete Jun 26, 2019
b4e11e9
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jul 8, 2019
ce698cf
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jul 8, 2019
0e0278e
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jul 8, 2019
9880624
1. Add a few annotations to make java code Kotlin friendly
diwu-arete Jul 8, 2019
8ffb5bb
Fix java format
diwu-arete Jul 8, 2019
daf4698
Fix API version
diwu-arete Jul 8, 2019
7985e14
Change the segmentation API implementation to synchronous and put the
diwu-arete Jul 9, 2019
9f36d35
Fix a async getResult race issue.
diwu-arete Jul 9, 2019
047c0af
OkHttpClient -> HttpsUrlConnection
diwu-arete Jul 10, 2019
8b39c31
Use gzip for compressing content and fix ourput stream memory leak risk.
diwu-arete Jul 18, 2019
dc1a63c
Addressed a few comments
diwu-arete Jul 22, 2019
d07ec25
Http client in Firebase Segmentation SDK to call backend service. (#573)
diwu-arete Jul 22, 2019
8ea4861
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jul 22, 2019
b401d31
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jul 22, 2019
8ba1c9b
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jul 22, 2019
64af341
Initial Code structure for FIS Android SDK (#648)
ankitaj224 Jul 24, 2019
b0a625c
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
ankitaj224 Jul 29, 2019
beccce4
Initial Code structure for FIS Android SDK (#648)
ankitaj224 Jul 24, 2019
915d532
Merge branch 'fis_sdk' of github.com:firebase/firebase-android-sdk in…
ankitaj224 Jul 29, 2019
d74f799
Initial Code structure for FIS Android SDK (#648)
ankitaj224 Jul 24, 2019
c38f503
Merge branch 'fis_sdk' of github.com:firebase/firebase-android-sdk in…
ankitaj224 Jul 29, 2019
8665301
Adding http client to call fis backend service (#659)
ankitaj224 Jul 30, 2019
9ac96db
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
ankitaj224 Jul 30, 2019
46c6614
Merge branch 'fis_sdk' of github.com:firebase/firebase-android-sdk in…
ankitaj224 Jul 30, 2019
143ed74
FirebaseSegmentation SDK
diwu-arete Jul 30, 2019
0990fee
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jul 30, 2019
e5f0cd3
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Jul 30, 2019
a5250c1
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Jul 30, 2019
16521a1
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
ankitaj224 Jul 31, 2019
7f30aea
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Aug 5, 2019
6daae2a
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Aug 5, 2019
4d5b2de
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Aug 6, 2019
52d259d
FirebaseSegmentation SDK changes (#673)
diwu-arete Aug 6, 2019
78ce7cd
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Aug 6, 2019
d467379
Restrict Firebase API key to Android app package name.
diwu-arete Aug 6, 2019
33665b2
Restrict Firebase API key to Android app package name. (#690)
diwu-arete Aug 6, 2019
818e471
Explicitly add internet permission
diwu-arete Aug 6, 2019
e2fbc88
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Aug 6, 2019
f4ba63c
Arete floc (#691)
diwu-arete Aug 6, 2019
a7ef2db
Merge branch 'floc-master' of github.com:firebase/firebase-android-sd…
diwu-arete Aug 6, 2019
47f33ec
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
ankitaj224 Aug 7, 2019
f86ba48
Implementing cache for FIS SDK (#694)
ankitaj224 Aug 7, 2019
9794e1f
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
ankitaj224 Aug 29, 2019
c1f7dbe
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
ankitaj224 Aug 30, 2019
77b6d97
Adding Util class for FIrebaseInstallations APIs. (#676)
ankitaj224 Aug 30, 2019
1980321
Initial Code structure for FIS Android SDK (#648)
ankitaj224 Jul 24, 2019
af1e510
Adding http client to call fis backend service (#659)
ankitaj224 Jul 30, 2019
30b48c3
Implementing cache for FIS SDK (#694)
ankitaj224 Aug 7, 2019
05da0b0
Adding Util class for FIrebaseInstallations APIs. (#676)
ankitaj224 Aug 30, 2019
8520ca8
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
ankitaj224 Sep 5, 2019
18a180f
Merge branch 'fis_sdk' of github.com:firebase/firebase-android-sdk in…
ankitaj224 Sep 5, 2019
e405108
Updating api.txt to resolve api-information presubmit check.
ankitaj224 Sep 13, 2019
8059184
Adding api.txt for fisbase-installations-interop
ankitaj224 Sep 13, 2019
b9437d6
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
ankitaj224 Sep 13, 2019
7ed78a4
Updating subprojects.cfg
ankitaj224 Sep 13, 2019
6a013fa
FIS getAuthToken implementation. (#769)
ankitaj224 Sep 16, 2019
5b0acbf
FID delete() implementation. (#813)
ankitaj224 Sep 18, 2019
aa73d95
Adding headers for Chemist to check API key restriction. (#821)
ankitaj224 Sep 18, 2019
ac24fae
Enabling FIS network call timeout. (#827)
ankitaj224 Sep 19, 2019
12ae11d
Simplifying FirebaseInstallations class by adding listeners. (#847)
ankitaj224 Oct 10, 2019
8e65eae
Merging changes into fis_sdk (#910)
ankitaj224 Oct 14, 2019
42e442f
FIS error handling (#911)
ankitaj224 Oct 16, 2019
98b2aac
Reuse existing Iid as Fid (#924)
ankitaj224 Oct 25, 2019
0c1ef2c
touch file (#993)
ChaoqunCHEN Nov 21, 2019
101ee18
getAuthToken error handling for 401 & 404 response code (#961)
ankitaj224 Nov 21, 2019
3adccda
Renaming getAuthToken to getToken. (#1026)
ankitaj224 Dec 3, 2019
fdbc752
Add heartbeat to fis sdk (#1037)
VinayGuthal Dec 5, 2019
56d72ee
Fixes for multi-process access (#1042)
fredquintana Dec 10, 2019
f866315
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Dec 10, 2019
77b0dc7
Merge branch 'fis_sdk' of github.com:firebase/firebase-android-sdk in…
diwu-arete Dec 10, 2019
7d91146
Remove FirebaseSegmentation from fis_sdk branch. (was added by mistake)
diwu-arete Dec 10, 2019
e54a54e
Add separator line back
diwu-arete Dec 10, 2019
d941202
Merge branch 'master' of github.com:firebase/firebase-android-sdk int…
diwu-arete Dec 10, 2019
2840a51
Update api info for FIS SDK
diwu-arete Dec 10, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions firebase-installations-interop/api.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Signature format: 2.0
package com.google.firebase.installations {

public abstract class InstallationTokenResult {
ctor public InstallationTokenResult();
method @NonNull public static com.google.firebase.installations.InstallationTokenResult.Builder builder();
method @NonNull public abstract String getToken();
method @NonNull public abstract long getTokenCreationTimestamp();
method @NonNull public abstract long getTokenExpirationTimestamp();
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder toBuilder();
}

public abstract static class InstallationTokenResult.Builder {
ctor public InstallationTokenResult.Builder();
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult build();
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setToken(@NonNull String);
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setTokenCreationTimestamp(long);
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setTokenExpirationTimestamp(long);
}

}

Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// Copyright 2018 Google LLC
//
// 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.


plugins {
id 'firebase-library'
}

firebaseLibrary.publishJavadoc = false

android {
compileSdkVersion project.targetSdkVersion
defaultConfig {
minSdkVersion project.minSdkVersion
targetSdkVersion project.targetSdkVersion
versionName version
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
testOptions {
unitTests {
includeAndroidResources = true
}
}
}

dependencies {
implementation 'com.google.android.gms:play-services-tasks:17.0.0'

compileOnly "com.google.auto.value:auto-value-annotations:1.6.5"
annotationProcessor "com.google.auto.value:auto-value:1.6.2"
}
1 change: 1 addition & 0 deletions firebase-installations-interop/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
version=17.1.1
17 changes: 17 additions & 0 deletions firebase-installations-interop/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2019 Google LLC -->
<!-- -->
<!-- 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. -->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.firebase.installations.interop" />
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// Copyright 2019 Google LLC
//
// 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.installations;

import static java.lang.annotation.RetentionPolicy.SOURCE;

import androidx.annotation.IntDef;
import com.google.android.gms.tasks.Task;
import java.lang.annotation.Retention;

/**
* This is an interface of {@code FirebaseInstallations} that is only exposed to 2p via component
* injection.
*
* @hide
*/
public interface FirebaseInstallationsApi {

/** Specifies the options to get a FIS AuthToken. */
@IntDef({DO_NOT_FORCE_REFRESH, FORCE_REFRESH})
@Retention(SOURCE)
@interface AuthTokenOption {}
/**
* AuthToken is not refreshed until requested by the developer or if one doesn't exist, is expired
* or about to expire.
*/
int DO_NOT_FORCE_REFRESH = 0;
/**
* AuthToken is forcefully refreshed on calling the {@link
* FirebaseInstallationsApi#getToken(int)}.
*/
int FORCE_REFRESH = 1;

/**
* Async function that returns a globally unique identifier of this Firebase app installation.
* This is a url-safe base64 string of a 128-bit integer.
*/
Task<String> getId();

/** Async function that returns a auth token(public key) of this Firebase app installation. */
Task<InstallationTokenResult> getToken(@AuthTokenOption int authTokenOption);

/**
* Async function that deletes this Firebase app installation from Firebase backend. This call
* would possibly lead Firebase Notification, Firebase RemoteConfig, Firebase Predictions or
* Firebase In-App Messaging not function properly.
*/
Task<Void> delete();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// Copyright 2019 Google LLC
//
// 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.installations;

import androidx.annotation.NonNull;
import com.google.auto.value.AutoValue;

/** This class represents a set of values describing a FIS Auth Token Result. */
@AutoValue
public abstract class InstallationTokenResult {

/** A new FIS Auth-Token, created for this Firebase Installation. */
@NonNull
public abstract String getToken();
/**
* The amount of time, in seconds, before the auth-token expires for this Firebase Installation.
*/
@NonNull
public abstract long getTokenExpirationTimestamp();

/**
* The amount of time, in seconds, when the auth-token was created for this Firebase Installation.
*/
@NonNull
public abstract long getTokenCreationTimestamp();

@NonNull
public abstract Builder toBuilder();

/** Returns a default Builder object to create an InstallationResponse object */
@NonNull
public static InstallationTokenResult.Builder builder() {
return new AutoValue_InstallationTokenResult.Builder();
}

@AutoValue.Builder
public abstract static class Builder {
@NonNull
public abstract Builder setToken(@NonNull String value);

@NonNull
public abstract Builder setTokenExpirationTimestamp(long value);

@NonNull
public abstract Builder setTokenCreationTimestamp(long value);

@NonNull
public abstract InstallationTokenResult build();
}
}
150 changes: 150 additions & 0 deletions firebase-installations/api.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
// Signature format: 2.0
package com.google.firebase.installations {

public class FirebaseInstallations {
method @NonNull public Task<Void> delete();
method @NonNull public Task<String> getId();
method @NonNull public static com.google.firebase.installations.FirebaseInstallations getInstance();
method @NonNull public static com.google.firebase.installations.FirebaseInstallations getInstance(@NonNull FirebaseApp);
method @NonNull public Task<InstallationTokenResult> getToken(int);
}

public class FirebaseInstallationsException {
ctor public FirebaseInstallationsException(@NonNull com.google.firebase.installations.FirebaseInstallationsException.Status);
ctor public FirebaseInstallationsException(@NonNull String, @NonNull com.google.firebase.installations.FirebaseInstallationsException.Status);
ctor public FirebaseInstallationsException(@NonNull String, @NonNull com.google.firebase.installations.FirebaseInstallationsException.Status, @NonNull Throwable);
method @NonNull public com.google.firebase.installations.FirebaseInstallationsException.Status getStatus();
}

public enum FirebaseInstallationsException.Status {
enum_constant public static final com.google.firebase.installations.FirebaseInstallationsException.Status BAD_CONFIG;
}

public class RandomFidGenerator {
ctor public RandomFidGenerator();
method @NonNull public String createRandomFid();
}

}

package com.google.firebase.installations.local {

public class IidStore {
ctor public IidStore();
method @Nullable public String readIid();
}

public class PersistedInstallation {
ctor public PersistedInstallation(@NonNull FirebaseApp);
method public void clearForTesting();
method @NonNull public com.google.firebase.installations.local.PersistedInstallationEntry insertOrUpdatePersistedInstallationEntry(@NonNull com.google.firebase.installations.local.PersistedInstallationEntry);
method @NonNull public com.google.firebase.installations.local.PersistedInstallationEntry readPersistedInstallationEntryValue();
}

public enum PersistedInstallation.RegistrationStatus {
enum_constant public static final com.google.firebase.installations.local.PersistedInstallation.RegistrationStatus ATTEMPT_MIGRATION;
enum_constant public static final com.google.firebase.installations.local.PersistedInstallation.RegistrationStatus NOT_GENERATED;
enum_constant public static final com.google.firebase.installations.local.PersistedInstallation.RegistrationStatus REGISTERED;
enum_constant public static final com.google.firebase.installations.local.PersistedInstallation.RegistrationStatus REGISTER_ERROR;
enum_constant public static final com.google.firebase.installations.local.PersistedInstallation.RegistrationStatus UNREGISTERED;
}

public abstract class PersistedInstallationEntry {
ctor public PersistedInstallationEntry();
method @NonNull public static com.google.firebase.installations.local.PersistedInstallationEntry.Builder builder();
method @Nullable public abstract String getAuthToken();
method public abstract long getExpiresInSecs();
method @Nullable public abstract String getFirebaseInstallationId();
method @Nullable public abstract String getFisError();
method @Nullable public abstract String getRefreshToken();
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallation.RegistrationStatus getRegistrationStatus();
method public abstract long getTokenCreationEpochInSecs();
method public boolean isErrored();
method public boolean isNotGenerated();
method public boolean isRegistered();
method public boolean isUnregistered();
method public boolean shouldAttemptMigration();
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry.Builder toBuilder();
method @NonNull public com.google.firebase.installations.local.PersistedInstallationEntry withAuthToken(@NonNull String, long, long);
method @NonNull public com.google.firebase.installations.local.PersistedInstallationEntry withClearedAuthToken();
method @NonNull public com.google.firebase.installations.local.PersistedInstallationEntry withFisError(@NonNull String);
method @NonNull public com.google.firebase.installations.local.PersistedInstallationEntry withNoGeneratedFid();
method @NonNull public com.google.firebase.installations.local.PersistedInstallationEntry withRegisteredFid(@NonNull String, @NonNull String, long, @Nullable String, long);
method @NonNull public com.google.firebase.installations.local.PersistedInstallationEntry withUnregisteredFid(@NonNull String);
field @NonNull public static com.google.firebase.installations.local.PersistedInstallationEntry INSTANCE;
}

public abstract static class PersistedInstallationEntry.Builder {
ctor public PersistedInstallationEntry.Builder();
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry build();
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry.Builder setAuthToken(@Nullable String);
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry.Builder setExpiresInSecs(long);
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry.Builder setFirebaseInstallationId(@NonNull String);
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry.Builder setFisError(@Nullable String);
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry.Builder setRefreshToken(@Nullable String);
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry.Builder setRegistrationStatus(@NonNull com.google.firebase.installations.local.PersistedInstallation.RegistrationStatus);
method @NonNull public abstract com.google.firebase.installations.local.PersistedInstallationEntry.Builder setTokenCreationEpochInSecs(long);
}

}

package com.google.firebase.installations.remote {

public class FirebaseInstallationServiceClient {
ctor public FirebaseInstallationServiceClient(@NonNull Context, @Nullable UserAgentPublisher, @Nullable HeartBeatInfo);
method @NonNull public com.google.firebase.installations.remote.InstallationResponse createFirebaseInstallation(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
method @NonNull public void deleteFirebaseInstallation(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
method @NonNull public com.google.firebase.installations.remote.TokenResult generateAuthToken(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
}

public abstract class InstallationResponse {
ctor public InstallationResponse();
method @NonNull public static com.google.firebase.installations.remote.InstallationResponse.Builder builder();
method @Nullable public abstract com.google.firebase.installations.remote.TokenResult getAuthToken();
method @Nullable public abstract String getFid();
method @Nullable public abstract String getRefreshToken();
method @Nullable public abstract com.google.firebase.installations.remote.InstallationResponse.ResponseCode getResponseCode();
method @Nullable public abstract String getUri();
method @NonNull public abstract com.google.firebase.installations.remote.InstallationResponse.Builder toBuilder();
}

public abstract static class InstallationResponse.Builder {
ctor public InstallationResponse.Builder();
method @NonNull public abstract com.google.firebase.installations.remote.InstallationResponse build();
method @NonNull public abstract com.google.firebase.installations.remote.InstallationResponse.Builder setAuthToken(@NonNull com.google.firebase.installations.remote.TokenResult);
method @NonNull public abstract com.google.firebase.installations.remote.InstallationResponse.Builder setFid(@NonNull String);
method @NonNull public abstract com.google.firebase.installations.remote.InstallationResponse.Builder setRefreshToken(@NonNull String);
method @NonNull public abstract com.google.firebase.installations.remote.InstallationResponse.Builder setResponseCode(@NonNull com.google.firebase.installations.remote.InstallationResponse.ResponseCode);
method @NonNull public abstract com.google.firebase.installations.remote.InstallationResponse.Builder setUri(@NonNull String);
}

public enum InstallationResponse.ResponseCode {
enum_constant public static final com.google.firebase.installations.remote.InstallationResponse.ResponseCode BAD_CONFIG;
enum_constant public static final com.google.firebase.installations.remote.InstallationResponse.ResponseCode OK;
}

public abstract class TokenResult {
ctor public TokenResult();
method @NonNull public static com.google.firebase.installations.remote.TokenResult.Builder builder();
method @Nullable public abstract com.google.firebase.installations.remote.TokenResult.ResponseCode getResponseCode();
method @Nullable public abstract String getToken();
method @NonNull public abstract long getTokenExpirationTimestamp();
method @NonNull public abstract com.google.firebase.installations.remote.TokenResult.Builder toBuilder();
}

public abstract static class TokenResult.Builder {
ctor public TokenResult.Builder();
method @NonNull public abstract com.google.firebase.installations.remote.TokenResult build();
method @NonNull public abstract com.google.firebase.installations.remote.TokenResult.Builder setResponseCode(@NonNull com.google.firebase.installations.remote.TokenResult.ResponseCode);
method @NonNull public abstract com.google.firebase.installations.remote.TokenResult.Builder setToken(@NonNull String);
method @NonNull public abstract com.google.firebase.installations.remote.TokenResult.Builder setTokenExpirationTimestamp(long);
}

public enum TokenResult.ResponseCode {
enum_constant public static final com.google.firebase.installations.remote.TokenResult.ResponseCode AUTH_ERROR;
enum_constant public static final com.google.firebase.installations.remote.TokenResult.ResponseCode BAD_CONFIG;
enum_constant public static final com.google.firebase.installations.remote.TokenResult.ResponseCode OK;
}

}

Loading