Skip to content

fix: avoid android.os.strictmode.UnbufferedIoViolation by using BufferedInputStream #6565

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

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
37aecfd
fix: avoid android.os.strictmode.UnbufferedIoViolation by using Buffe…
gubatron Dec 5, 2024
be98d00
Add an overload to FirebaseCrashlytics.recordException to attach addi…
tejasd Dec 5, 2024
8e5e955
Add a kotlin method for recording an exception with custom keys (#6546)
tejasd Dec 5, 2024
82d1b97
firebase-dataconnect minimal demo app added (#6561)
dconeybe Dec 5, 2024
74bf398
Use version catalog for appcheck deps (#6567)
rlazo Dec 6, 2024
a7431e2
dataconnect: .github/workflows/dataconnect_demo_app.yml added (#6568)
dconeybe Dec 6, 2024
00c4713
Use version catalog for encoders (#6570)
rlazo Dec 6, 2024
373d5a5
Bump path-to-regexp and express in /smoke-tests/src/androidTest/backe…
dependabot[bot] Dec 6, 2024
f1de4c4
Bump tj-actions/changed-files from 36.0.10 to 41.0.0 in /.github/work…
dependabot[bot] Dec 6, 2024
f3b18fd
dataconnect: demo: make codegen gradle task cacheable (#6571)
dconeybe Dec 7, 2024
87a7ffa
dataconnect: DataConnectExecutableVersions.json updated with versions…
dconeybe Dec 7, 2024
6abd7df
Fix "duplicate class" errors when running `./gradlew :appcheck:fireba…
dconeybe Dec 9, 2024
00f9a5a
dataconnect: demo: upgrade firebase-tools to v13.28.0 (#6577)
dconeybe Dec 9, 2024
fb41a14
dataconnect: demo: add "Delete" button an "List Items" screen. (#6585)
dconeybe Dec 9, 2024
afc74ab
Move all SDKs dependencies to use the version catalog (#6584)
rlazo Dec 10, 2024
36558ba
dataconnect: `FirebaseDataConnect.logLevel` changed to `MutableStateF…
dconeybe Dec 11, 2024
63e3365
Use the version catalog in the main build.gradle file (#6590)
rlazo Dec 12, 2024
760ead1
Add clean command to fireci (#6563)
daymxn Dec 12, 2024
de5484b
Fix: sort document reference by long type id (#6594)
milaGGL Dec 17, 2024
5da351c
Cleanup root build files (#6606)
daymxn Dec 18, 2024
a7f7e40
fix(firebase-perf): Update device cache only if RC value is different…
exaby73 Dec 19, 2024
b324692
Migrate to composite plugin (#6608)
daymxn Dec 19, 2024
be2b33c
Adjust Functions Kotlin docs for release (#6449)
emilypgoogle Dec 27, 2024
d3b25fd
Firestore: update javadocs of Exclude, PropertyName, and ServerTimest…
dconeybe Jan 3, 2025
3864b58
Add custom signals support in Remote Config. (#6539)
tusharkhandelwal8 Jan 8, 2025
7e421ac
FIX: sort strings in UTF-8 encoded byte order (#6615)
milaGGL Jan 15, 2025
c6aa598
dataconnect: DataConnectExecutableVersions.json updated with version …
dconeybe Jan 17, 2025
3cfafcf
Update code formatting command in vertex's README (#6637)
rlazo Jan 20, 2025
a8d831b
dataconnect: integration tests added to github actions workflows (#6638)
dconeybe Jan 23, 2025
bba243b
Refactor Vendor Plugin (#6640)
daymxn Jan 24, 2025
37531af
Remove preview notice from vertexai readme (#6646)
rlazo Jan 27, 2025
bfb3baf
Update fdl readme (#6649)
rlazo Jan 28, 2025
7a60b81
Implement GMavenService (#6644)
daymxn Jan 28, 2025
8f9cfd3
Drop empty text parts when parsing the model's response (#6652)
rlazo Jan 28, 2025
6e65de8
Update the vertex golden file version being pulled (#6651)
rlazo Jan 29, 2025
ccd886d
Migrate VertexAI serialization to be localized (#6631)
emilypgoogle Jan 29, 2025
32a7aa3
Add missing changelog (#6654)
daymxn Jan 29, 2025
ce32724
Update core-ktx version (#6656)
daymxn Jan 30, 2025
c712c5d
m158 mergeback (#6657)
google-oss-bot Jan 30, 2025
cfb1226
Update create pull request version (#6663)
emilypgoogle Feb 3, 2025
00b019a
Update changelogs for m150 (#6672)
daymxn Feb 4, 2025
c90c0d7
dataconnect.yml: ensure that test logs are uploaded even when the tes…
dconeybe Feb 5, 2025
02dcd65
Update Metalava and api.txt files (#6671)
emilypgoogle Feb 5, 2025
7591dc6
Refactor bom generation (#6675)
daymxn Feb 5, 2025
787dd94
Fix ModuleVersion bumping (#6679)
daymxn Feb 6, 2025
761643c
m159 mergeback (#6680)
google-oss-bot Feb 7, 2025
609e325
dataconnect: DataConnectExecutableVersions.json updated with versions…
dconeybe Feb 7, 2025
d16cf3b
dataconnect.yaml: improve readability of the output of the "tool vers…
dconeybe Feb 7, 2025
a0081c2
dataconnect: fix cache key conflict on nighty integration tests runs …
dconeybe Feb 7, 2025
8395fa0
Add support for token-based usage metrics (#6658)
rlazo Feb 8, 2025
c1400a5
Add support for new FinishReason and BlockReason values (#6685)
davidmotson Feb 10, 2025
f642cb0
Fix deprecated message in KeyValueBuilder to render properly (#6691)
mrober Feb 10, 2025
d59a449
Add functions changelog (#6694)
emilypgoogle Feb 11, 2025
86399f6
Make token count details fields non-nullable (#6695)
rlazo Feb 11, 2025
f54e7cb
dataconnect: fix generation of invalid timestamp values in internal t…
dconeybe Feb 12, 2025
aab75e7
dataconnect: improve cache restoration in github actions workflow (#6…
dconeybe Feb 12, 2025
4c8ce8e
Make AQS resilient to background init in multi-process apps (#6699)
mrober Feb 13, 2025
1733f7d
Followup to #6699 (#6701)
mrober Feb 13, 2025
f0909db
docs: update ImagePart refdocs (#6681)
thatfiredev Feb 17, 2025
9530d5e
Initial implementation to API spec (#6607)
davidmotson Feb 19, 2025
53f4f18
add new recipe entries to BoM generator (#6702)
davidmotson Feb 21, 2025
c81c117
Improve imagen Java API (#6712)
rlazo Feb 24, 2025
475feea
Remove test code left by mistake (#6717)
rlazo Feb 24, 2025
d569fcf
Add missing optIn declarations to reduce compilation noise (#6713)
rlazo Feb 24, 2025
d598198
Support custom tabs in more browsers (#6705)
Fry-kun Feb 24, 2025
944f8ba
Update CHANGELOG for Crashlytics and NDK (#6719)
mrober Feb 24, 2025
8d5f941
Bump well known types (#6716)
daymxn Feb 24, 2025
2d52d41
Update CHANGELOG.md (#6718)
lfkellogg Feb 24, 2025
267af8c
Add custom signal limits link and fix Javadoc List Formatting (#6722)
tusharkhandelwal8 Feb 26, 2025
d2b6741
Fix documentation for ImagenGenerationResponse (#6728)
davidmotson Feb 26, 2025
6867776
Add copyApiTxtFile task (#6724)
emilypgoogle Feb 26, 2025
075ee3c
dataconnect: minor cosmetic changes to the github actions workflow (#…
dconeybe Feb 26, 2025
6622f4d
Bump truth from 1.4.2 to 1.4.4 (#6723)
dependabot[bot] Feb 27, 2025
ad38e64
Bump semver from 7.5.0 to 7.5.4 in /smoke-tests/src/androidTest/backe…
dependabot[bot] Feb 27, 2025
17ec7d9
build(deps): bump com.fasterxml.jackson.core:jackson-databind from 2.…
dependabot[bot] Feb 27, 2025
90ddc49
dataconnect: DataConnectExecutableVersions.json updated with versions…
dconeybe Feb 27, 2025
51a14e5
dataconnect: change grpc api version from "v1beta" to "v1" (#6729)
dconeybe Feb 27, 2025
4c42ecd
Add Metalava SemVer Task (#6725)
emilypgoogle Feb 28, 2025
b1160f5
Use lazy encoding in utf-8 encoded string comparison (#6706)
milaGGL Mar 3, 2025
41d6235
Avoid Process.myProcessName() on Android 13 (#6720)
mrober Mar 3, 2025
ad26d13
Fix bug that let responsePayloadBytes get set to -1 (#6721)
mrober Mar 3, 2025
1c47974
Update datastore dependency to 1.1.3 (#6688)
mrober Mar 4, 2025
6e1d0b7
build(deps): bump org.eclipse.jgit:org.eclipse.jgit from 6.3.0.202209…
dependabot[bot] Mar 4, 2025
307a413
build(deps): bump kotestAssertionsCore from 5.5.5 to 5.8.1 (#6736)
rlazo Mar 5, 2025
72aade9
Remove unnecessary steps in CI Testing for vertex (#6743)
rlazo Mar 7, 2025
3b59a4d
Update functions changelog (#6751)
rlazo Mar 10, 2025
e5e3c0f
[VertexAI] Add initial support to export covered API (#6749)
rlazo Mar 10, 2025
79381ea
Remove code style from deprecated message (#6753)
mrober Mar 10, 2025
f5be103
Store registered context for sync task unregistrations (#6752)
welishr Mar 10, 2025
899ca72
Extend Firebase SDK with new APIs to consume streaming callable funct…
MustafaJadid2025 Mar 10, 2025
4233654
[Functions] Send the placeholder appcheck token in case of error (#6750)
rlazo Mar 10, 2025
7391984
Read version control info from Android resource (#6754)
mrober Mar 11, 2025
acb10fb
Use Dagger for dependency injection in Sessions (#6745)
mrober Mar 11, 2025
c5cb50a
Add warning for known issue b/328687152 (#6755)
mrober Mar 11, 2025
9f91336
m160 mergeback (#6757)
google-oss-bot Mar 11, 2025
a4ad54b
[Vertex AI] Remove `golden-files` directory (#6740)
andrewheard Mar 11, 2025
c380ff2
build(deps): bump app.cash.turbine:turbine from 1.0.0 to 1.2.0 (#6738)
dependabot[bot] Mar 11, 2025
9ec7f67
Update changelogs and versions for Crashlytics, Perf, and AQS (#6758)
mrober Mar 11, 2025
4bd773b
build(deps): bump com.google.firebase:firebase-appdistribution-gradle…
dependabot[bot] Mar 12, 2025
156ec90
Adjust Create Release (#6761)
emilypgoogle Mar 12, 2025
141b519
Add GenerationConfig to CountTokenRequest's (#6768)
rlazo Mar 13, 2025
f012951
[VertexAI] Remove redundant tests (#6762)
rlazo Mar 13, 2025
82bc53c
Add m161 changelog for functions (#6769)
emilypgoogle Mar 13, 2025
4448346
dataconnect: demo: upgrade versions in build.gradle.kts (#6776)
dconeybe Mar 14, 2025
ca41092
chore(functions): export reactive-streams as a transitive dependency …
thatfiredev Mar 14, 2025
38fed2b
fix(functions): use notifyError() instead of throwing (#6773)
thatfiredev Mar 14, 2025
a0ea6b8
formatting on SessionReportingCoordinator.java
gubatron Mar 18, 2025
6805f98
firebase-crashlytics changelog for PR #6565
gubatron Mar 18, 2025
52cdde7
fix for new version of golden files (#6771)
davidmotson Mar 17, 2025
a2959f5
missing import java.io.BufferedInputStream on SessionReportingCoordin…
gubatron Mar 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 2 additions & 10 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,9 @@ jobs:
distribution: temurin
cache: gradle

- name: Pull genai-common
if: matrix.module == ':firebase-vertexai'
run: |
git clone https://github.com/google-gemini/generative-ai-android.git
cd generative-ai-android
./gradlew :common:updateVersion common:publishToMavenLocal
cd ..

- name: Clone mock responses
if: matrix.module == ':firebase-vertexai'
run: |
firebase-vertexai/update_responses.sh
run: firebase-vertexai/update_responses.sh

- name: Add google-services.json
env:
Expand Down Expand Up @@ -119,6 +110,7 @@ jobs:
module: ${{ fromJSON(needs.determine_changed.outputs.modules) }}
exclude:
- module: :firebase-firestore
- module: :firebase-functions:ktx

steps:
- uses: actions/[email protected]
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/create_releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ on:
jobs:
create-branches:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
Expand All @@ -25,6 +28,9 @@ jobs:

create-pull-request:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/[email protected]
with:
Expand All @@ -40,7 +46,7 @@ jobs:
./gradlew generateReleaseConfig -PcurrentRelease=${{ inputs.name }} -PpastRelease=${{ inputs.past-name }} -PprintOutput=true

- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f
with:
base: 'releases/${{ inputs.name }}'
branch: 'releases/${{ inputs.name }}.release'
Expand Down
238 changes: 238 additions & 0 deletions .github/workflows/dataconnect.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
name: Data Connect Integration Tests

on:
workflow_dispatch:
inputs:
javaVersion:
androidEmulatorApiLevel:
nodeJsVersion:
firebaseToolsVersion:
gradleInfoLog:
type: boolean
pull_request:
paths:
- .github/workflows/dataconnect.yml
- 'firebase-dataconnect/**'
- '!firebase-dataconnect/demo/**'
- '!firebase-dataconnect/scripts/**'
- '!firebase-dataconnect/**/*.md'
- '!firebase-dataconnect/**/*.txt'
schedule:
- cron: '0 11 * * *' # Run nightly at 11am UTC (3am Pacific, 6am Eastern)

env:
FDC_JAVA_VERSION: ${{ inputs.javaVersion || '17' }}
FDC_ANDROID_EMULATOR_API_LEVEL: ${{ inputs.androidEmulatorApiLevel || '34' }}
FDC_NODEJS_VERSION: ${{ inputs.nodeJsVersion || '20' }}
FDC_FIREBASE_TOOLS_VERSION: ${{ inputs.firebaseToolsVersion || '13.29.1' }}
FDC_FIREBASE_TOOLS_DIR: /tmp/firebase-tools
FDC_FIREBASE_COMMAND: /tmp/firebase-tools/node_modules/.bin/firebase

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
integration-test:
continue-on-error: false
runs-on: ubuntu-latest

services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: password
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432

steps:
- uses: actions/checkout@v4
with:
show-progress: false

- uses: actions/setup-java@v4
with:
java-version: ${{ env.FDC_JAVA_VERSION }}
distribution: temurin

- uses: actions/setup-node@v4
with:
node-version: ${{ env.FDC_NODEJS_VERSION }}

- name: install firebase-tools
run: |
set -v
mkdir -p ${{ env.FDC_FIREBASE_TOOLS_DIR }}
cd ${{ env.FDC_FIREBASE_TOOLS_DIR }}
echo '{}' > package.json
npm install --fund=false --audit=false --save --save-exact firebase-tools@${{ env.FDC_FIREBASE_TOOLS_VERSION }}

- name: Restore Gradle cache
id: restore-gradle-cache
uses: actions/cache/restore@v4
if: github.event_name != 'schedule'
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-cache-jqnvfzw6w7-${{ github.run_id }}
restore-keys: |
gradle-cache-jqnvfzw6w7-

- name: tool versions
continue-on-error: true
run: |
function run_cmd {
echo "==============================================================================="
echo "Running Command: $*"
("$@" 2>&1) || echo "WARNING: command failed with non-zero exit code $?: $*"
}

run_cmd uname -a
run_cmd which java
run_cmd java -version
run_cmd which javac
run_cmd javac -version
run_cmd which node
run_cmd node --version
run_cmd ${{ env.FDC_FIREBASE_COMMAND }} --version
run_cmd ./gradlew --version

- name: Gradle assembleDebugAndroidTest
run: |
set -v

# Speed up build times and also avoid configuring firebase-crashlytics-ndk
# which is finicky integrating with the Android NDK.
echo >> gradle.properties
echo "org.gradle.configureondemand=true" >> gradle.properties

./gradlew \
--profile \
${{ (inputs.gradleInfoLog && '--info') || '' }} \
:firebase-dataconnect:assembleDebugAndroidTest

- name: Save Gradle cache
uses: actions/cache/save@v4
if: github.event_name == 'schedule'
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ steps.restore-gradle-cache.outputs.cache-primary-key }}

- name: Enable KVM group permissions for Android Emulator
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \
| sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: Restore AVD cache
uses: actions/cache/restore@v4
if: github.event_name != 'schedule'
id: restore-avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-cache-zhdsn586je-api${{ env.FDC_ANDROID_EMULATOR_API_LEVEL }}-${{ github.run_id }}
restore-keys: |
avd-cache-zhdsn586je-api${{ env.FDC_ANDROID_EMULATOR_API_LEVEL }}-

- name: Create AVD
if: github.event_name == 'schedule' || steps.restore-avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ env.FDC_ANDROID_EMULATOR_API_LEVEL }}
arch: x86_64
force-avd-creation: false
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: echo "Generated AVD snapshot for caching."

- name: Save AVD cache
uses: actions/cache/save@v4
if: github.event_name == 'schedule'
with:
path: |
~/.android/avd/*
~/.android/adb*
key: ${{ steps.restore-avd-cache.outputs.cache-primary-key }}

- name: Data Connect Emulator
run: |
set -x

echo 'emulator.postgresConnectionUrl=postgresql://postgres:[email protected]:5432?sslmode=disable' > firebase-dataconnect/dataconnect.local.properties

./gradlew \
${{ (inputs.gradleInfoLog && '--info') || '' }} \
:firebase-dataconnect:connectors:runDebugDataConnectEmulator \
>firebase.emulator.dataconnect.log 2>&1 &

- name: Firebase Auth Emulator
run: |
set -x
cd firebase-dataconnect/emulator
${{ env.FDC_FIREBASE_COMMAND }} emulators:start --only=auth >firebase.emulator.auth.log 2>&1 &

- name: Capture Logcat Logs
run: adb logcat >logcat.log &

- name: Gradle connectedCheck
id: connectedCheck
uses: reactivecircus/android-emulator-runner@v2
# Allow this GitHub Actions "job" to continue even if the tests fail so that logs from a
# failed test run get uploaded as "artifacts" and are available to investigate failed runs.
# A later step in this "job" will fail the job if this step fails
continue-on-error: true
with:
api-level: ${{ env.FDC_ANDROID_EMULATOR_API_LEVEL }}
arch: x86_64
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: |
set -eux && ./gradlew ${{ (inputs.gradleInfoLog && '--info') || '' }} :firebase-dataconnect:connectedCheck :firebase-dataconnect:connectors:connectedCheck

- name: Upload log file artifacts
uses: actions/upload-artifact@v4
with:
name: integration_test_logs
path: "**/*.log"
if-no-files-found: warn
compression-level: 9

- name: Upload Gradle build report artifacts
uses: actions/upload-artifact@v4
with:
name: integration_test_gradle_build_reports
path: firebase-dataconnect/**/build/reports/
if-no-files-found: warn
compression-level: 9

- name: Verify "Gradle connectedCheck" step was successful
if: steps.connectedCheck.outcome != 'success'
run: |
echo 'Failing because the outcome of the "Gradle connectedCheck" step ("${{ steps.connectedCheck.outcome }}") was not successful'
exit 1

# Check this yml file with "actionlint": https://github.com/rhysd/actionlint
# To run actionlint yourself, run `brew install actionlint` followed by
# `actionlint .github/workflows/dataconnect.yml`
actionlint-dataconnect-yml:
continue-on-error: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
show-progress: false
- uses: docker://rhysd/actionlint:1.7.7
with:
args: -color /github/workspace/.github/workflows/dataconnect.yml
Loading