Skip to content

Commit 12ae11d

Browse files
authored
Simplifying FirebaseInstallations class by adding listeners. (#847)
* Simplifying FirebaseInstallations class by adding listeners. * Addressing ciaran's comments to return same token if multiple getAuthToken() calls are triggered simultaneously. * Cleaning doRegistration method. * Fixing FISClient to correctly parse expiration timestamp. (#848) * Updating getAuthToken to return creation timestamp (#884) * Propagating the exceptions to the clients. (#856)
1 parent ac24fae commit 12ae11d

File tree

16 files changed

+668
-361
lines changed

16 files changed

+668
-361
lines changed

firebase-installations-interop/api.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@ package com.google.firebase.installations {
55
ctor public InstallationTokenResult();
66
method @NonNull public static com.google.firebase.installations.InstallationTokenResult.Builder builder();
77
method @NonNull public abstract String getToken();
8-
method @NonNull public abstract long getTokenExpirationInSecs();
8+
method @NonNull public abstract long getTokenCreationTimestamp();
9+
method @NonNull public abstract long getTokenExpirationTimestamp();
910
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder toBuilder();
1011
}
1112

1213
public abstract static class InstallationTokenResult.Builder {
1314
ctor public InstallationTokenResult.Builder();
1415
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult build();
1516
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setToken(@NonNull String);
16-
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setTokenExpirationInSecs(long);
17+
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setTokenCreationTimestamp(long);
18+
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setTokenExpirationTimestamp(long);
1719
}
1820

1921
}

firebase-installations-interop/src/main/java/com/google/firebase/installations/InstallationTokenResult.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,13 @@ public abstract class InstallationTokenResult {
2828
* The amount of time, in seconds, before the auth-token expires for this Firebase Installation.
2929
*/
3030
@NonNull
31-
public abstract long getTokenExpirationInSecs();
31+
public abstract long getTokenExpirationTimestamp();
32+
33+
/**
34+
* The amount of time, in seconds, when the auth-token was created for this Firebase Installation.
35+
*/
36+
@NonNull
37+
public abstract long getTokenCreationTimestamp();
3238

3339
@NonNull
3440
public abstract Builder toBuilder();
@@ -45,7 +51,10 @@ public abstract static class Builder {
4551
public abstract Builder setToken(@NonNull String value);
4652

4753
@NonNull
48-
public abstract Builder setTokenExpirationInSecs(long value);
54+
public abstract Builder setTokenExpirationTimestamp(long value);
55+
56+
@NonNull
57+
public abstract Builder setTokenCreationTimestamp(long value);
4958

5059
@NonNull
5160
public abstract InstallationTokenResult build();

firebase-installations/api.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ package com.google.firebase.installations.local {
2929
ctor public PersistedFid(@NonNull FirebaseApp);
3030
method @NonNull public boolean clear();
3131
method @NonNull public boolean insertOrUpdatePersistedFidEntry(@NonNull com.google.firebase.installations.local.PersistedFidEntry);
32-
method @Nullable public com.google.firebase.installations.local.PersistedFidEntry readPersistedFidEntryValue();
32+
method @NonNull public com.google.firebase.installations.local.PersistedFidEntry readPersistedFidEntryValue();
3333
}
3434

3535
public enum PersistedFid.RegistrationStatus {
36-
enum_constant public static final com.google.firebase.installations.local.PersistedFid.RegistrationStatus PENDING;
36+
enum_constant public static final com.google.firebase.installations.local.PersistedFid.RegistrationStatus NOT_GENERATED;
3737
enum_constant public static final com.google.firebase.installations.local.PersistedFid.RegistrationStatus REGISTERED;
3838
enum_constant public static final com.google.firebase.installations.local.PersistedFid.RegistrationStatus REGISTER_ERROR;
3939
enum_constant public static final com.google.firebase.installations.local.PersistedFid.RegistrationStatus UNREGISTERED;
@@ -44,10 +44,14 @@ package com.google.firebase.installations.local {
4444
method @NonNull public static com.google.firebase.installations.local.PersistedFidEntry.Builder builder();
4545
method @Nullable public abstract String getAuthToken();
4646
method public abstract long getExpiresInSecs();
47-
method @NonNull public abstract String getFirebaseInstallationId();
47+
method @Nullable public abstract String getFirebaseInstallationId();
4848
method @Nullable public abstract String getRefreshToken();
4949
method @NonNull public abstract com.google.firebase.installations.local.PersistedFid.RegistrationStatus getRegistrationStatus();
5050
method public abstract long getTokenCreationEpochInSecs();
51+
method public boolean isErrored();
52+
method public boolean isNotGenerated();
53+
method public boolean isRegistered();
54+
method public boolean isUnregistered();
5155
method @NonNull public abstract com.google.firebase.installations.local.PersistedFidEntry.Builder toBuilder();
5256
}
5357

firebase-installations/firebase-installations.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ dependencies {
5252
testImplementation 'androidx.test:core:1.2.0'
5353
testImplementation 'junit:junit:4.12'
5454
testImplementation "org.robolectric:robolectric:$robolectricVersion"
55+
testImplementation "com.google.truth:truth:$googleTruthVersion"
56+
5557

5658
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
5759
androidTestImplementation 'androidx.test:runner:1.2.0'

0 commit comments

Comments
 (0)