Skip to content

Commit 09fb637

Browse files
Merge branch 'master' into perfFragmentsEAP
2 parents c08ebb7 + a0c54fd commit 09fb637

File tree

31 files changed

+574
-242
lines changed

31 files changed

+574
-242
lines changed

appcheck/firebase-appcheck/src/main/java/com/google/firebase/appcheck/internal/DefaultAppCheckToken.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ public final class DefaultAppCheckToken extends AppCheckToken {
4141
@VisibleForTesting static final String ISSUED_AT_KEY = "iat";
4242
@VisibleForTesting static final String EXPIRATION_TIME_KEY = "exp";
4343

44+
private static final long ONE_SECOND_MILLIS = 1000L;
45+
4446
// Raw token value
4547
private final String token;
4648
// Timestamp in MS at which this token was generated
@@ -79,7 +81,7 @@ public static DefaultAppCheckToken constructFromAppCheckTokenResponse(
7981
TokenParser.parseTokenClaims(tokenResponse.getAttestationToken());
8082
long iat = getLongFromClaimsSafely(claimsMap, ISSUED_AT_KEY);
8183
long exp = getLongFromClaimsSafely(claimsMap, EXPIRATION_TIME_KEY);
82-
expiresInMillis = exp - iat;
84+
expiresInMillis = (exp - iat) * ONE_SECOND_MILLIS;
8385
}
8486

8587
return new DefaultAppCheckToken(tokenResponse.getAttestationToken(), expiresInMillis);
@@ -138,10 +140,10 @@ public static DefaultAppCheckToken constructFromRawToken(@NonNull String token)
138140
Map<String, Object> claimsMap = TokenParser.parseTokenClaims(token);
139141
long iat = getLongFromClaimsSafely(claimsMap, ISSUED_AT_KEY);
140142
long exp = getLongFromClaimsSafely(claimsMap, EXPIRATION_TIME_KEY);
141-
long expiresInMillis = exp - iat;
143+
long expiresInMillis = (exp - iat) * ONE_SECOND_MILLIS;
142144
// We use iat for receivedAtTimestamp as an approximation since we have to guess for raw JWTs
143145
// that we recovered from storage
144-
return new DefaultAppCheckToken(token, expiresInMillis, iat);
146+
return new DefaultAppCheckToken(token, expiresInMillis, iat * ONE_SECOND_MILLIS);
145147
}
146148

147149
private static long getLongFromClaimsSafely(

appcheck/firebase-appcheck/src/test/java/com/google/firebase/appcheck/internal/DefaultAppCheckTokenTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public class DefaultAppCheckTokenTest {
3737
private static final String INVALID_TIME_TO_LIVE = "notanumber";
3838
private static final long EXPIRES_IN_ONE_HOUR = 60L * 60L * 1000L; // 1 hour in millis
3939
private static final long RECEIVED_AT_TIMESTAMP = 1L;
40+
private static final long ONE_SECOND_MILLIS = 1000L;
4041
private static final long IAT = 10L;
4142
private static final long EXP = 30L;
4243
private static final String TOKEN_PREFIX = "prefix";
@@ -104,8 +105,9 @@ public void testConstructFromRawToken_normalToken_expectSuccess() throws Excepti
104105

105106
assertThat(defaultAppCheckToken).isNotNull();
106107
assertThat(defaultAppCheckToken.getToken()).isEqualTo(rawToken);
107-
assertThat(defaultAppCheckToken.getReceivedAtTimestamp()).isEqualTo(IAT);
108-
assertThat(defaultAppCheckToken.getExpiresInMillis()).isEqualTo(EXP - IAT);
108+
assertThat(defaultAppCheckToken.getReceivedAtTimestamp()).isEqualTo(IAT * ONE_SECOND_MILLIS);
109+
assertThat(defaultAppCheckToken.getExpiresInMillis())
110+
.isEqualTo((EXP - IAT) * ONE_SECOND_MILLIS);
109111
}
110112

111113
@Test
@@ -143,7 +145,8 @@ public void testConstructFromAppCheckTokenResponse_invalidTimeToLiveFormat_fallb
143145
DefaultAppCheckToken.constructFromAppCheckTokenResponse(mockAppCheckTokenResponse);
144146

145147
assertThat(defaultAppCheckToken.getToken()).isEqualTo(rawToken);
146-
assertThat(defaultAppCheckToken.getExpiresInMillis()).isEqualTo(EXP - IAT);
148+
assertThat(defaultAppCheckToken.getExpiresInMillis())
149+
.isEqualTo((EXP - IAT) * ONE_SECOND_MILLIS);
147150
}
148151

149152
private String constructFakeRawToken() throws Exception {

appcheck/firebase-appcheck/src/test/java/com/google/firebase/appcheck/internal/StorageHelperTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class StorageHelperTest {
4040
private static final long RECEIVED_AT_TIMESTAMP = 10L;
4141
private static final long IAT = 10L;
4242
private static final long EXP = 30L;
43+
private static final long ONE_SECOND_MILLIS = 1000L;
4344
private static final String TOKEN_PREFIX = "prefix";
4445
private static final String TOKEN_SUFFIX = "suffix";
4546
private static final String SEPARATOR = ".";
@@ -108,8 +109,8 @@ public void testSaveAndRetrieveToken_TestAppCheckToken_expectEquivalentToken() t
108109
(DefaultAppCheckToken) storageHelper.retrieveAppCheckToken();
109110
assertThat(retrievedToken).isNotNull();
110111
assertThat(retrievedToken.getToken()).isEqualTo(rawToken);
111-
assertThat(retrievedToken.getExpiresInMillis()).isEqualTo(EXP - IAT);
112-
assertThat(retrievedToken.getReceivedAtTimestamp()).isEqualTo(IAT);
112+
assertThat(retrievedToken.getExpiresInMillis()).isEqualTo((EXP - IAT) * ONE_SECOND_MILLIS);
113+
assertThat(retrievedToken.getReceivedAtTimestamp()).isEqualTo(IAT * ONE_SECOND_MILLIS);
113114
}
114115

115116
@Test

firebase-appdistribution/CHANGELOG.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,17 @@
11
# Unreleased
2-
- Initial public beta release
2+
3+
# Released
4+
5+
## v20.0.6 (M112)
6+
7+
#### Android library
8+
* {{feature}} The Firebase App Distribution Android SDK is now available in beta. You
9+
can use this SDK to notify testers in-app when a new test build is available.
10+
To learn more, visit the
11+
[reference documentation](https://firebase.google.com/docs/reference/android/com/google/firebase/appdistribution/package-summary).
12+
13+
#### Kotlin extensions
14+
The Android library with Kotlin extensions is now available in
15+
beta. The Kotlin extensions library transitively includes the base
16+
`firebase-app-distribution` library. To learn more, visit the
17+
[KTX reference documentation](https://firebase.google.com/docs/reference/kotlin/com/google/firebase/appdistribution/ktx/package-summary).
Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.googletest.firebase.appdistribution.testapp" >
3+
package="com.googletest.firebase.appdistribution.testapp">
44

5-
<application
6-
android:allowBackup="true"
7-
android:icon="@mipmap/ic_launcher"
8-
android:label="@string/app_name"
9-
android:roundIcon="@mipmap/ic_launcher_round"
10-
android:supportsRtl="true"
11-
android:theme="@style/Theme.AppDistributionTestAppSample" >
12-
<activity android:name="com.googletest.firebase.appdistribution.testapp.MainActivity" >
13-
<intent-filter>
14-
<action android:name="android.intent.action.MAIN" />
5+
<application
6+
android:allowBackup="true"
7+
android:icon="@mipmap/ic_launcher"
8+
android:label="@string/app_name"
9+
android:roundIcon="@mipmap/ic_launcher_round"
10+
android:supportsRtl="true"
11+
android:theme="@style/Theme.AppDistributionTestAppSample">
12+
<activity android:name="com.googletest.firebase.appdistribution.testapp.MainActivity">
13+
<intent-filter>
14+
<action android:name="android.intent.action.MAIN" />
1515

16-
<category android:name="android.intent.category.LAUNCHER" />
17-
</intent-filter>
18-
</activity>
19-
<activity android:name="com.googletest.firebase.appdistribution.testapp.SecondActivity" >
20-
</activity>
21-
</application>
16+
<category android:name="android.intent.category.LAUNCHER" />
17+
</intent-filter>
18+
</activity>
19+
<activity android:name="com.googletest.firebase.appdistribution.testapp.SecondActivity"></activity>
20+
</application>
2221

2322
</manifest>

0 commit comments

Comments
 (0)