Skip to content

Merge main branch changes into dev. #270

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 279 commits into from
Feb 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
279 commits
Select commit Hold shift + click to select a range
a70101c
Avoid double deletion of internal objects during cleanup.
wilhuff Jul 8, 2020
7e62c36
Avoid empty statement warnings in Firebase assertions
wilhuff Jul 8, 2020
eb66965
Miscellaneous test-only fixes
wilhuff Jul 9, 2020
feb21a7
Delete C++ Firestore objects when C# has no more references to them.
a-googler Jul 10, 2020
32ee577
Remove the unconditional calls to Firebase::Terminate() in test cleanup.
a-googler Jul 10, 2020
0827dad
Change std:unique_ptr to UniquePtr
chkuang-g Jul 10, 2020
082c5d2
Update Android deps to latest
chkuang-g Jul 10, 2020
0490b4b
Make test failures in numeric transforms tests easier to read
wilhuff Jul 13, 2020
cb36be5
Add JNI Object wrapper and type conversion traits
wilhuff Jul 13, 2020
30f9b9e
Add JNI ownership types
wilhuff Jul 14, 2020
cdec053
Add FIREventScreenView and params
a-googler Jul 14, 2020
44dbea4
Add another line in the generate constant header script
a-maurice Jul 15, 2020
c4731f4
Add initial Env with minimal support for Strings
wilhuff Jul 16, 2020
3ac9e71
Rework ToJni conversions to enable pass-through of JNI types
wilhuff Jul 17, 2020
667478f
Add support for calling methods and getting fields.
wilhuff Jul 21, 2020
dbe14b6
Merge remote-tracking branch 'origin/master' into ghm
a-maurice Jul 22, 2020
d464bcf
Create dummy workflow for integration tests (#106)
anonymous-akorn Aug 3, 2020
95beec9
Create feature-request.md
chkuang-g Sep 8, 2020
cea22cf
Update and rename firebase-cpp-sdk-issue.md to issue.md
chkuang-g Sep 8, 2020
a577462
Merge pull request #137 from firebase/chkuang-g-patch-3
chkuang-g Sep 8, 2020
abfdb58
Merge branch 'master' into chkuang-g-patch-2
chkuang-g Sep 8, 2020
bfb4ca6
Merge pull request #136 from firebase/chkuang-g-patch-2
chkuang-g Sep 8, 2020
b8f1e9b
Update issue.md
chkuang-g Sep 9, 2020
8d51ba9
Merge pull request #138 from firebase/chkuang-g-patch-4
chkuang-g Sep 9, 2020
e4f99ff
Update issue templates
chkuang-g Sep 19, 2020
700b0a0
Update feature-request.md
chkuang-g Sep 19, 2020
135811e
Merge pull request #149 from firebase/issue-templates-patch
a-maurice Sep 19, 2020
d54325c
Revise string methods to be wrapper-only
wilhuff Jul 23, 2020
ade6db2
Fix deletion of the pointers returned from CreateFirestore().
a-googler Jul 23, 2020
8431f04
Add exception support to Env
wilhuff Jul 23, 2020
15a630e
Add logic to ignore a specific file in Kokoro build logic
a-maurice Jul 28, 2020
c8bc017
Add support for cacheable global declarations of JNI types
wilhuff Jul 29, 2020
9ee98fc
Add support for embedded files and other odds and ends
wilhuff Jul 29, 2020
6bde07c
Convert CollectionReference to new JNI framework
wilhuff Jul 29, 2020
bd7b283
Add C++ proxies for Java standard library types
wilhuff Aug 4, 2020
062faa1
Fix assertion incorrectly checking a moved-from rather than the moved…
var-const Aug 4, 2020
8e9fdbf
Improve `Variant` error message when used with an unsupported type.
var-const Aug 5, 2020
d88c2b4
Add support for creating and manipulating Java arrays to the `JNIEnv`…
wilhuff Aug 5, 2020
afe1e29
Improve the tests for ClearPersistence() to use the default Firebase …
a-googler Aug 6, 2020
b83c1fd
Convert DocumentReference and supporting classes to the new JNI frame…
wilhuff Aug 7, 2020
e9ab209
Rework MapFieldValue and MapFieldPathValue calls
wilhuff Aug 7, 2020
b2f9b5a
Automated g4 rollback of changelist 325229850.
a-googler Aug 12, 2020
ecc9be9
Updated MessageForwardingService to be a JobIntentService for Android O.
Aug 14, 2020
da043d4
Deprecating Send.
Aug 14, 2020
57c9075
LSC: Change for loops to use const refs, per performance-for-range-copy
a-googler Aug 15, 2020
a19ffc2
Update the Android dependencies for M77
a-maurice Aug 20, 2020
546d3fb
Convert DocumentChange to the new JNI framework
wilhuff Aug 20, 2020
7f04dab
Convert ServerTimetampBehavior to new JNI framework
wilhuff Aug 20, 2020
e983cce
Convert SnapshotMetadata to the new JNI framework
wilhuff Aug 21, 2020
6ad447c
Make Unity send Cloud API headers indicating the language version and…
var-const Aug 21, 2020
7e79870
Convert DocumentSnapshot to the new JNI framework
wilhuff Aug 21, 2020
d425f88
Improve the error message that is generated when a Future fails.
a-googler Aug 24, 2020
b5c99dc
Convert Blob to the new JNI framework
wilhuff Aug 28, 2020
502a386
Convert Direction to the new JNI framework
wilhuff Aug 28, 2020
a88486e
Convert Settings to the new JNI framework
wilhuff Sep 2, 2020
435481d
Convert WriteBatch to the new JNI framework
wilhuff Sep 2, 2020
0c728c1
Convert Timestamp to the new JNI framework
wilhuff Sep 2, 2020
a13be5b
Change forward declaration for SignInResult to struct
chkuang-g Sep 3, 2020
1ff5a40
Convert QuerySnapshot to the new JNI framework
wilhuff Sep 4, 2020
5889e73
Update the Android dependencies for M78
a-maurice Sep 8, 2020
65e5703
Re-write `run_local_tests.sh` to run the tests in parallel.
a-googler Sep 9, 2020
33d90f4
Plumb through error messages for Query and Document listens in C++ an…
a-googler Sep 9, 2020
f8240f7
Check that calls to Terminate() and ClearPersistence() actually succeed.
a-googler Sep 9, 2020
721c280
Add logic to detect the compiler version and the C++ language standar…
var-const Sep 14, 2020
ebb43ad
Automated g4 rollback of changelist 326267389.
a-googler Sep 16, 2020
4c13211
Temporarily add a platform token to the Cloud API headers.
var-const Sep 16, 2020
9c7b7c5
Add play-services-base to Android deps for analytics/admob/remote_con…
a-googler Sep 17, 2020
37751e7
Update the Build and Podfiles
a-maurice Sep 17, 2020
3babeb6
Update the version numbers for 6.16.0
a-maurice Sep 18, 2020
a0c292a
Convert GeoPoint to the new JNI framework
wilhuff Sep 22, 2020
1f39b71
Handling `IllegalStateException` when loading or creating interstitia…
a-googler Sep 22, 2020
f32e36e
Convert Query to the new JNI framework
wilhuff Sep 22, 2020
c33ef95
Copybara Firestore
a-googler Sep 22, 2020
61beffe
Added a test for C++ namespace renaming to Blastdoor tests, and added…
jonsimantov Sep 22, 2020
e7363ce
Set the language in Cloud headers to `gl-cpp/` in the C++ SDK on Andr…
var-const Sep 23, 2020
f2105db
Convert FirestoreInternal to the new JNI framework
wilhuff Sep 24, 2020
782ec2a
Convert ListenerRegistration to the new JNI framework
wilhuff Sep 24, 2020
3cc9467
Fix it so only external C++ symbols matching the list of namespaces t…
jonsimantov Sep 24, 2020
d3fe671
Convert EventListener to the new JNI framework
wilhuff Sep 28, 2020
ee4fa72
Clean up exception naming
wilhuff Sep 28, 2020
3282885
Convert ExceptionInternal to the new JNI framework
wilhuff Sep 28, 2020
0acec23
Make snapshot from TransactionGetResult return by value.
wu-hui Sep 29, 2020
66887d6
Add Ad Impression constants to public header
a-googler Sep 29, 2020
be955c6
Finish conversion of TransactionInternal to the new JNI framework
wilhuff Sep 29, 2020
354e637
Add boxed primitive types to the JNI library
wilhuff Sep 29, 2020
dd5966b
Add example to ad unit in header file
a-googler Sep 29, 2020
d011534
Add note about value param in ad impression event
a-googler Sep 30, 2020
9aecf1e
Add Equals to the JNI Object proxy.
wilhuff Sep 30, 2020
f0a9d5b
Merge remote-tracking branch 'origin/master' into ghm
a-maurice Sep 30, 2020
b0520d8
Add a cache of Firestore Java references to FirestoreInternal pointers
wilhuff Sep 30, 2020
269c554
Update to the Messaging Library Manifest File which caused build issu…
DellaBitta Oct 1, 2020
e0db37f
Automated g4 rollback of changelist 333356092.
var-const Oct 5, 2020
a8b8b98
Remove FirestoreInternal::Wrap and Internal
wilhuff Oct 7, 2020
0ab7887
Convert FieldValue to the new JNI framework
wilhuff Oct 8, 2020
60c1868
Convert Wrapper to the new JNI framework
wilhuff Oct 8, 2020
60e26a1
Reduce dependencies on app's util_android.h
wilhuff Oct 8, 2020
2bdf3e8
Post-migration clean-up
wilhuff Oct 8, 2020
219658d
Reorganize utilities
wilhuff Oct 8, 2020
6031b23
[FIS]CPP package change (8/n)
Oct 9, 2020
c22377a
Fix a deadlock between snapshot listeners and cleanup.
var-const Oct 12, 2020
2b802a1
Update the version numbers to 6.16.1
a-maurice Oct 14, 2020
f278b61
Added helper function to create directories recursively on desktop pl…
a-googler Oct 14, 2020
180bfea
Remove the call from Database to variant_utils that take Flexbuffers
a-maurice Oct 17, 2020
675c6d3
Remove the dependency on variant_util from Database
a-maurice Oct 19, 2020
a65e743
[FIS] mark IID deprecated
Oct 20, 2020
d201e1d
Import Firestore release 1.19.0 from GitHub (Firebase 6.34.0, M81).
var-const Oct 21, 2020
601deb1
Make Android's FirestoreException match iOS
wilhuff Oct 27, 2020
4f20af6
[M82]Update android dependencies
Oct 27, 2020
fb8deaa
[RemoteConfig V2] update api deprecation for Fireconf
Oct 27, 2020
b49acc2
Update the Build and Podfiles for 7.0.0
a-maurice Oct 27, 2020
c4ea71c
Removing deprecated Send and Direct Channel functionality
a-maurice Oct 27, 2020
99cb085
[FCM]Add GetToken, DeleteToken function
Oct 28, 2020
0dbfb8a
[M82]Fix an RC change that fails build unity
Oct 28, 2020
f168c3e
Updated the raw_data field in messaging.h to be a vector of bytes ins…
a-maurice Oct 29, 2020
4cbaaf8
Remove deprecated SetMinimumSessionDuration in Analytics
a-maurice Oct 29, 2020
f825917
Update the version numbers to 7.0.0
a-maurice Nov 2, 2020
b2e2751
Automated g4 rollback of changelist 335476967.
var-const Nov 2, 2020
71dfd15
Port WhereNotEqualTo and WhereNotIn to C++ SDK
wu-hui Nov 4, 2020
67f3520
LSC: Add absl::GetFlag and absl::SetFlag to uses of some flags so the…
a-googler Nov 4, 2020
3cd6c83
[Unity] Port NotEqual and NotIn Queries to Unity SDK
wu-hui Nov 6, 2020
1e5ce8a
Add support for setting and retrieving the cache size to `Settings`.
var-const Nov 7, 2020
62fe4cd
#cleanup Unable to fix after @UiThread or runOnMainSync
a-googler Nov 9, 2020
a2eee76
[FIS]Add unit test for getId, getToken, delete
Nov 9, 2020
eec81e7
Make `Query` methods that return new queries (e.g. `WhereEqualTo`) co…
var-const Nov 9, 2020
8739652
Remove deprecated Dynamic Links properties in C++ and Unity SDK
chkuang-g Nov 10, 2020
c1af0e5
Extract the has-exceptions test into a common header
wilhuff Nov 11, 2020
bda1c10
Implement Firebase Heartbeat in C++.
var-const Nov 12, 2020
87928a7
Fix Unity Editor hang on Windows when Listen() is invoked (b/172566004).
a-googler Nov 12, 2020
b06e164
Fix Android crash when Firestore is disposed during a transaction cal…
a-googler Nov 12, 2020
dae6e76
Copybara Firestore
a-googler Nov 13, 2020
4fdf225
Re-write the transaction logic to run the user-supplied callback asyn…
a-googler Nov 17, 2020
06b4fea
Clean up `Firestore` instance management.
a-googler Nov 20, 2020
f4e8858
Remove unnecessary std before strlen, as it causes problems
a-maurice Nov 21, 2020
16060f5
Update Integration and Testapp minimum target iOS version to fix rapi…
DellaBitta Nov 21, 2020
2e784e8
A second update to the integration and testapp XCode projects to bump…
DellaBitta Nov 23, 2020
fb2201f
Automated g4 rollback of changelist 343888975.
DellaBitta Nov 25, 2020
381d3a4
Fix invalid conversion from AuthError to a Firestore Error.
a-googler Nov 30, 2020
6ebbd36
Fix AdMob Android to initialize JavaVM earlier in initialization.
jonsimantov Nov 30, 2020
a4b572b
Fix 1 ClangTidyReadability finding:
a-googler Dec 2, 2020
538623c
Fix memory leaks in ReleaseXArrayElements:
a-googler Dec 3, 2020
30f9bf7
Fix bug where including a "delete" operation in an update causes part…
a-googler Dec 4, 2020
f4f119e
[M82][RemoteConfig] Remove deprecated android apis in 7.0.0
Dec 5, 2020
b1ba676
Merge remote-tracking branch 'origin/master' into ghm
a-maurice Dec 9, 2020
b14728d
Add copybara logic to handle CL description errors
a-maurice Dec 10, 2020
d435dd2
Add unit tests for promise_android.h.
a-googler Dec 14, 2020
0d779c4
Delete unused (and invalid) overload of Promise::RegisterForTask().
a-googler Dec 14, 2020
70e9e44
Fix DocumentSnapshot for non-existent documents in C++ and Unity
wilhuff Dec 14, 2020
2026f49
Add Installations to the copybara and build logic
a-maurice Dec 15, 2020
b09efc2
Merge remote-tracking branch 'origin/master' into ghm
a-maurice Dec 16, 2020
097de63
Actually implement DocumentChange.Type
wilhuff Dec 16, 2020
40a4dfb
Optimize calls to std::string::find() and friends for a single char.
a-googler Dec 17, 2020
71b65da
Allow Firestore::set_log_level to be called early on Android
wilhuff Dec 17, 2020
df232ab
Add Get/Set languge code to the Firebase Auth C++/Unity APIs.
DellaBitta Dec 17, 2020
afaa730
Fix Unicode handling on Android
wilhuff Dec 17, 2020
f2b829a
Reflect changes made to our Open Source repo in order to fix build er…
DellaBitta Dec 18, 2020
f39f953
Internal change.
a-googler Dec 22, 2020
f646e06
Using the recommended backwards compatible way of scheduling jobs int…
a-googler Jan 5, 2021
cfc9735
Process the current run loop while sleeping in tests.
wilhuff Jan 14, 2021
f818813
Add a function registry entry for the current user uid
wilhuff Jan 14, 2021
3aa46a1
Add JNI wrapper for the GMS `Task` class and modify the Firestore And…
a-googler Jan 14, 2021
414f835
Add function registry entries for AuthStateListeners
wilhuff Jan 14, 2021
5bca2e8
Rework firebase_metadata_provider to use an alias
wilhuff Jan 14, 2021
e42945e
Add a `JavaEq` matcher.
a-googler Jan 18, 2021
2ba99ad
[RemoteConfig V2] Desktop impl
Jan 19, 2021
07c8ccf
Use the Objective-C CredentialsProvider on iOS
wilhuff Jan 21, 2021
0fea62e
Use the function registry for Auth calls
wilhuff Jan 26, 2021
aa8dd33
Update gms_package_versions_generated.bzl by running get_gms_package_…
a-googler Jan 26, 2021
5f2555e
Internal change.
a-googler Jan 27, 2021
42d61c6
Internal change.
a-googler Jan 27, 2021
a0f9d83
[RemoteConfig V2]Impl SetConfigSettings in iOS/Android/Desktop
Jan 28, 2021
619d51a
[RemoteConfig V2]Clean up legacy code
Jan 29, 2021
ebca3c6
Port exception-throwing abstractions from iOS to common
wilhuff Jan 29, 2021
aef877b
Enable testing with exceptions for all C++ platforms
wilhuff Jan 29, 2021
102226e
Build changes to make validation_test work everywhere
wilhuff Jan 29, 2021
07714dd
Make field_path_portable_test work on Android
wilhuff Jan 29, 2021
45609b7
Remote old Database REST interface, no longer used.
a-googler Feb 1, 2021
aefd413
Deprecating old RemoteConfig API functions with suggestions to use eq…
a-googler Feb 2, 2021
d73e1c0
Fix the crash(es) that occur when deleting Firestore from a `Future` …
var-const Feb 3, 2021
010f6ce
Reflect changes made to our Open Source repo in order to fix build er…
DellaBitta Dec 18, 2020
9b04246
Applied google3-readability-pass-trivial-by-value ClangTidy fixes to …
a-googler Dec 22, 2020
69dbef9
Using the recommended backwards compatible way of scheduling jobs int…
a-googler Jan 5, 2021
5980cf1
Process the current run loop while sleeping in tests.
wilhuff Jan 14, 2021
00fc467
Add a function registry entry for the current user uid
wilhuff Jan 14, 2021
22099ca
Add JNI wrapper for the GMS `Task` class and modify the Firestore And…
a-googler Jan 14, 2021
7b3beb2
Add function registry entries for AuthStateListeners
wilhuff Jan 14, 2021
b2f56d0
Rework firebase_metadata_provider to use an alias
wilhuff Jan 14, 2021
3ac0af6
Add a `JavaEq` matcher.
a-googler Jan 18, 2021
9060ff9
[RemoteConfig V2] Desktop impl
Jan 19, 2021
b95e70c
Use the Objective-C CredentialsProvider on iOS
wilhuff Jan 21, 2021
e68dff6
Use the function registry for Auth calls
wilhuff Jan 26, 2021
c2a4914
Update gms_package_versions_generated.bzl by running get_gms_package_…
a-googler Jan 26, 2021
2a13952
Applied ClangTidy fixes to all of google3.
a-googler Jan 27, 2021
753e6dc
LSC: Add absl::GetFlag and absl::SetFlag to uses of some flags so the…
a-googler Jan 27, 2021
ac23c2d
[RemoteConfig V2]Impl SetConfigSettings in iOS/Android/Desktop
Jan 28, 2021
405099c
[RemoteConfig V2]Clean up legacy code
Jan 29, 2021
045e457
Port exception-throwing abstractions from iOS to common
wilhuff Jan 29, 2021
68783cc
Enable testing with exceptions for all C++ platforms
wilhuff Jan 29, 2021
608d2eb
Build changes to make validation_test work everywhere
wilhuff Jan 29, 2021
2a6c2ca
Make field_path_portable_test work on Android
wilhuff Jan 29, 2021
fc1a98d
Internal change
a-googler Feb 1, 2021
4fc6e74
Deprecating old RemoteConfig API functions with suggestions to use eq…
a-googler Feb 2, 2021
39752a3
Fix the crash(es) that occur when deleting Firestore from a `Future` …
var-const Feb 3, 2021
3ecb52a
Merge branch 'master' of sso://devrel/libraries/firebase/cpp-firebase…
jonsimantov Feb 4, 2021
2ad1195
Rename flatbuffer schema target to avoid name collision with Auth.
jonsimantov Feb 4, 2021
a7e7748
Merge remote-tracking branch 'origin/master' into ghm
jonsimantov Feb 4, 2021
17a278b
Merge branch 'master' into feature/js-merge-main-to-dev-jan
jonsimantov Feb 4, 2021
8394708
Merge branch 'dev' into feature/js-merge-main-to-dev-jan
jonsimantov Feb 4, 2021
371b4fa
Remove merge conflict markers that snuck into the files.
jonsimantov Feb 5, 2021
b0080cf
Update Firestore version.
jonsimantov Feb 5, 2021
dca0248
Add missing Android source file from push.
jonsimantov Feb 5, 2021
96eafe0
Update Cocoapods version to 7.5.0.
jonsimantov Feb 5, 2021
b9da77d
Fix path to Cocoapods headers, allowing for inclusion of private head…
jonsimantov Feb 5, 2021
61ec094
Remove merge marker.
jonsimantov Feb 6, 2021
1f02722
Firestore C++ Android is not allowed to have a dependency on absl, but
jonsimantov Feb 6, 2021
23fbdde
Remove debug message when adding private header directory.
jonsimantov Feb 6, 2021
bc58fe4
Add back part of file missing from merge conflict.
jonsimantov Feb 6, 2021
7dc7995
Remove <type_traits> from Remote Config, and std::mutex / std::unique…
jonsimantov Feb 6, 2021
16286bd
Put the std::mutex back until we can remove the need for condition_va…
jonsimantov Feb 6, 2021
2d2bbd5
Add missing Firestore source file.
jonsimantov Feb 6, 2021
288eb0d
Remove usage of internal header from external header.
jonsimantov Feb 6, 2021
09dbefd
Update integration test for new Remote Config implementation.
jonsimantov Feb 6, 2021
90a505f
Clean up integration tests (non-deprecated).
jonsimantov Feb 6, 2021
5446f9d
Fix an issue where initialized_ was not actually set in the constructor.
jonsimantov Feb 6, 2021
49253f2
Add BIND_JOB_SERVICE permission for integration test.
jonsimantov Feb 6, 2021
73115df
Merge branch 'feature/js-merge-main-to-dev-jan' of https://github.com…
jonsimantov Feb 6, 2021
0a70945
Add missing JNI task source file to firestore android.
jonsimantov Feb 7, 2021
d9c5ab4
Add Flatbuffers back to Messaging dependencies.
jonsimantov Feb 7, 2021
41a135e
Update Gradle build plugin to 3.3.3, and gradle wrapper to 4.10.1.
jonsimantov Feb 7, 2021
4d98acb
Try forcing the OpenSSL root dir.
jonsimantov Feb 7, 2021
3d632f7
Use /usr/local/lib as openssl path...?
jonsimantov Feb 7, 2021
a85c853
Add "brew link" command as requested.
jonsimantov Feb 7, 2021
08abca3
Specify the brew-specific path for OpenSSL on Mac.
jonsimantov Feb 7, 2021
4a9f2d9
Do OPENSSL_ROOT_DIR via GitHub env file.
jonsimantov Feb 7, 2021
bb08535
Update gradle plugin version in _resources directories.
jonsimantov Feb 7, 2021
4f8f991
Update Firebase Android SDK dependencies.
jonsimantov Feb 7, 2021
87d02da
Remove tabs.
jonsimantov Feb 7, 2021
82f3d86
Updated readme:
jonsimantov Feb 7, 2021
12a3e92
Fix badly formatted gradle file.
jonsimantov Feb 8, 2021
4f95049
Add Visual Studio 2019 to build_testapps compiler list.
jonsimantov Feb 8, 2021
770ec87
Remove local messaging_java dependency in binary SDK.
jonsimantov Feb 8, 2021
c212b74
Update SampleNativeActivity in Messaging integration test to reflect …
jonsimantov Feb 8, 2021
bf6a89f
Add missing Firebase C++ Java AAR for Messaging.
jonsimantov Feb 8, 2021
dc3c4ce
Turn on verbose build for openssl, for debugging.
jonsimantov Feb 8, 2021
ae106c3
Remove verbose option.
jonsimantov Feb 8, 2021
6e4f095
Merge branch 'dev' into feature/js-merge-main-to-dev-jan
jonsimantov Feb 8, 2021
a497a03
Update integration test Pod versions to 7.5.0.
jonsimantov Feb 8, 2021
4fb8319
Merge branch 'feature/js-merge-main-to-dev-jan' of https://github.com…
jonsimantov Feb 8, 2021
abb7711
Clean up the Remote Config race condition fix.
jonsimantov Feb 8, 2021
9e54a0c
Update C++ SDK version to 7.1.0.
jonsimantov Feb 8, 2021
5e02409
Fix formatting + add #endif comments.
jonsimantov Feb 8, 2021
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
2 changes: 2 additions & 0 deletions .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ jobs:
startsWith(matrix.os, 'macos')
run: |
brew install openssl
# brew won't overwrite MacOS system default OpenSSL, so force it here.
echo "OPENSSL_ROOT_DIR=/usr/local/opt/[email protected]" >> $GITHUB_ENV

- name: Install OpenSSL (Linux)
if: matrix.target_platform == 'Desktop' &&
Expand Down
39 changes: 20 additions & 19 deletions Android/firebase_dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,30 @@ import org.gradle.util.ConfigureUtil;

// A map of library to the dependencies that need to be added for it.
def firebaseDependenciesMap = [
'app' : ['com.google.firebase:firebase-analytics:18.0.0'],
'admob' : ['com.google.firebase:firebase-ads:19.5.0',
'com.google.android.gms:play-services-measurement-sdk-api:18.0.0',
'com.google.android.gms:play-services-base:17.5.0'],
'analytics' : ['com.google.firebase:firebase-analytics:18.0.0',
'com.google.android.gms:play-services-base:17.5.0'],
'auth' : ['com.google.firebase:firebase-auth:20.0.0'],
'database' : ['com.google.firebase:firebase-database:19.5.1'],
'app' : ['com.google.firebase:firebase-analytics:18.0.2'],
'admob' : ['com.google.firebase:firebase-ads:19.7.0',
'com.google.android.gms:play-services-measurement-sdk-api:18.0.2',
'com.google.android.gms:play-services-base:17.6.0'],
'analytics' : ['com.google.firebase:firebase-analytics:18.0.2',
'com.google.android.gms:play-services-base:17.6.0'],
'auth' : ['com.google.firebase:firebase-auth:20.0.2'],
'database' : ['com.google.firebase:firebase-database:19.6.0'],
'dynamic_links' : ['com.google.firebase:firebase-dynamic-links:19.1.1'],
'firestore' : ['com.google.firebase:firebase-firestore:22.0.0'],
'functions' : ['com.google.firebase:firebase-functions:19.1.0'],
'installations' : ['com.google.firebase:firebase-installations:16.3.3',
'com.google.android.gms:play-services-base:17.4.0'],
'instance_id' : ['com.google.firebase:firebase-iid:21.0.0'],
'firestore' : ['com.google.firebase:firebase-firestore:22.0.2'],
'functions' : ['com.google.firebase:firebase-functions:19.2.0'],
'installations' : ['com.google.firebase:firebase-installations:16.3.5',
'com.google.android.gms:play-services-base:17.6.0'],
'instance_id' : ['com.google.firebase:firebase-iid:21.0.1'],
'invites' : ['com.google.firebase:firebase-invites:17.0.0'],
// Messaging has an additional local dependency to include.
'messaging' : ['com.google.firebase:firebase-messaging:21.0.0',
'messaging' : ['com.google.firebase:firebase-messaging:21.0.1',
'firebase_cpp_sdk.messaging:messaging_java',
'androidx.core:core:1.0.1'],
'performance' : ['com.google.firebase:firebase-perf:19.0.9'],
'remote_config' : ['com.google.firebase:firebase-config:20.0.0',
'com.google.android.gms:play-services-base:17.5.0'],
'storage' : ['com.google.firebase:firebase-storage:19.2.0']
'androidx.core:core:1.0.1',
'com.google.flatbuffers:flatbuffers-java:1.9.0'],
'performance' : ['com.google.firebase:firebase-perf:19.1.0'],
'remote_config' : ['com.google.firebase:firebase-config:20.0.3',
'com.google.android.gms:play-services-base:17.6.0'],
'storage' : ['com.google.firebase:firebase-storage:19.2.1']
]

// A map of library to the gradle resources that they depend upon.
Expand Down
8 changes: 4 additions & 4 deletions admob/admob_resources/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
classpath 'com.google.gms:google-services:4.2.0'
}
}
Expand All @@ -45,13 +45,13 @@ android {
}

dependencies {
implementation 'com.google.firebase:firebase-analytics:18.0.0'
implementation 'com.google.firebase:firebase-ads:19.5.0'
implementation 'com.google.firebase:firebase-analytics:18.0.2'
implementation 'com.google.firebase:firebase-ads:19.7.0'
}

afterEvaluate {
generateReleaseBuildConfig.enabled = false
}

apply from: "$rootDir/android_build_files/extract_and_dex.gradle"
extractAndDexAarFile('admob_resources')
extractAndDexAarFile('admob_resources')
2 changes: 1 addition & 1 deletion admob/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
}
}
allprojects {
Expand Down
2 changes: 1 addition & 1 deletion admob/integration_test/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ platform :ios, '10.0'
# Firebase AdMob test application.

target 'integration_test' do
pod 'Firebase/AdMob', '7.0.0'
pod 'Firebase/AdMob', '7.5.0'
end

post_install do |installer|
Expand Down
2 changes: 1 addition & 1 deletion admob/integration_test/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
classpath 'com.google.gms:google-services:4.0.1'
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
2 changes: 1 addition & 1 deletion analytics/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
}
}
allprojects {
Expand Down
2 changes: 1 addition & 1 deletion analytics/integration_test/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ platform :ios, '10.0'
# Firebase Analytics test application.

target 'integration_test' do
pod 'Firebase/Analytics', '7.0.0'
pod 'Firebase/Analytics', '7.5.0'
end

post_install do |installer|
Expand Down
2 changes: 1 addition & 1 deletion analytics/integration_test/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
classpath 'com.google.gms:google-services:4.0.1'
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
6 changes: 3 additions & 3 deletions app/app_resources/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
classpath 'com.google.gms:google-services:4.2.0'
}
}
Expand Down Expand Up @@ -46,12 +46,12 @@ android {
}

dependencies {
implementation 'com.google.firebase:firebase-analytics:18.0.0'
implementation 'com.google.firebase:firebase-analytics:18.0.2'
}

afterEvaluate {
generateReleaseBuildConfig.enabled = false
}

apply from: "$rootDir/android_build_files/extract_and_dex.gradle"
extractAndDexAarFile('app_resources')
extractAndDexAarFile('app_resources')
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
}
}
allprojects {
Expand Down
8 changes: 4 additions & 4 deletions app/google_api_resources/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
classpath 'com.google.gms:google-services:4.2.0'
}
}
Expand Down Expand Up @@ -49,8 +49,8 @@ android {
}

dependencies {
implementation 'com.google.firebase:firebase-analytics:18.0.0'
implementation 'com.google.android.gms:play-services-base:17.5.0'
implementation 'com.google.firebase:firebase-analytics:18.0.2'
implementation 'com.google.android.gms:play-services-base:17.6.0'
implementation project(':app:app_resources')
}

Expand All @@ -59,4 +59,4 @@ afterEvaluate {
}

apply from: "$rootDir/android_build_files/extract_and_dex.gradle"
extractAndDexAarFile('google_api_resources')
extractAndDexAarFile('google_api_resources')
2 changes: 1 addition & 1 deletion app/integration_test/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ platform :ios, '10.0'
# Firebase App test application.

target 'integration_test' do
pod 'Firebase/Analytics', '7.0.0'
pod 'Firebase/Analytics', '7.5.0'
end

post_install do |installer|
Expand Down
2 changes: 1 addition & 1 deletion app/integration_test/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
classpath 'com.google.gms:google-services:4.0.1'
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
6 changes: 3 additions & 3 deletions app/invites_resources/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.3.3'
classpath 'com.google.gms:google-services:4.2.0'
}
}
Expand All @@ -45,7 +45,7 @@ android {
}

dependencies {
implementation 'com.google.firebase:firebase-analytics:18.0.0'
implementation 'com.google.firebase:firebase-analytics:18.0.2'
implementation 'com.google.firebase:firebase-dynamic-links:19.1.1'
implementation project(':app:app_resources')
}
Expand All @@ -55,4 +55,4 @@ afterEvaluate {
}

apply from: "$rootDir/android_build_files/extract_and_dex.gradle"
extractAndDexAarFile('invites_resources')
extractAndDexAarFile('invites_resources')
5 changes: 4 additions & 1 deletion app/src/function_registry.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ enum FunctionId {
FnAuthGetCurrentToken,
FnAuthStartTokenListener,
FnAuthStopTokenListener,
FnAuthGetTokenAsync
FnAuthGetTokenAsync,
FnAuthGetCurrentUserUid,
FnAuthAddAuthStateListener,
FnAuthRemoveAuthStateListener,
};

// Class for providing a generic way for firebase libraries to expose their
Expand Down
14 changes: 12 additions & 2 deletions app/src/future_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ FutureManager::~FutureManager() {
orphaned_future_apis_.insert(i->second);
}
future_apis_.clear();
CleanupOrphanedFutureApis(true); // force delete all
CleanupOrphanedFutureApis(/*force_delete_all=*/true);
}

void FutureManager::AllocFutureApi(void* owner, int num_fns) {
Expand Down Expand Up @@ -95,8 +95,18 @@ void FutureManager::CleanupOrphanedFutureApis(bool force_delete_all) {
std::vector<ReferenceCountedFutureImpl*> to_delete;
for (auto api = orphaned_future_apis_.begin();
api != orphaned_future_apis_.end(); ++api) {
if (force_delete_all || IsSafeToDeleteFutureApi(*api)) {
if (IsSafeToDeleteFutureApi(*api)) {
to_delete.push_back(*api);
} else if (force_delete_all) {
// Deleting an API while it's running a callback (which could have
// triggered the current call to `CleanupOrphanedFutureApis`) will lead to
// a use-after-free. Instead, mark the API to be deleted once the callback
// finishes.
if ((*api)->IsRunningCallback()) {
(*api)->MarkOrphaned();
} else {
to_delete.push_back(*api);
}
}
}

Expand Down
5 changes: 2 additions & 3 deletions app/src/heartbeat_date_storage_desktop.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@
#include <fstream>
#include <utility>

#include <app/src/mutex.h>

#include "app/src/filesystem.h"
#include "app/src/mutex.h"

namespace FIREBASE_NAMESPACE {

Expand All @@ -32,7 +31,7 @@ const char kHeartbeatFilename[] = "HEARTBEAT_INFO_STORAGE";

// Returns the mutex that protects accesses to the storage file.
Mutex& FileMutex() {
static Mutex* mutex_ = new Mutex(Mutex::kModeNonRecursive);
static Mutex* mutex_ = new Mutex(Mutex::kModeNonRecursive);
return *mutex_;
}

Expand Down
15 changes: 15 additions & 0 deletions app/src/reference_counted_future_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,11 @@ void ReferenceCountedFutureImpl::RunCallback(
is_running_callback_ = false;
}

bool ReferenceCountedFutureImpl::is_orphaned() const {
MutexLock lock(mutex_);
return is_orphaned_;
}

static void CleanupFuture(FutureBase* future) { future->Release(); }

void ReferenceCountedFutureImpl::RegisterFutureForCleanup(FutureBase* future) {
Expand Down Expand Up @@ -715,6 +720,11 @@ bool ReferenceCountedFutureImpl::IsSafeToDelete() const {
return true;
}

bool ReferenceCountedFutureImpl::IsRunningCallback() const {
MutexLock lock(mutex_);
return is_running_callback_;
}

bool ReferenceCountedFutureImpl::IsReferencedExternally() const {
MutexLock lock(mutex_);

Expand Down Expand Up @@ -803,6 +813,11 @@ void ReferenceCountedFutureImpl::ForceReleaseFuture(
FIREBASE_FUTURE_TRACE("API: ForceReleaseFuture handle %d", handle.id());
}

void ReferenceCountedFutureImpl::MarkOrphaned() {
MutexLock lock(mutex_);
is_orphaned_ = true;
}

// Implementation of FutureHandle from future.h
FutureHandle::FutureHandle() : id_(0), api_(nullptr) {}

Expand Down
Loading