diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1ba71c1f61..14b5112818 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,8 +25,8 @@ jobs: group: ${{ github.ref == 'refs/heads/develop' && format('integration-tests-develop-{0}-{1}', matrix.target, github.sha) || format('build-debug-{0}-{1}', matrix.target, github.ref) }} cancel-in-progress: true steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 + - uses: actions/checkout@v3 + - uses: actions/cache@v3 with: path: | ~/.gradle/caches @@ -49,8 +49,8 @@ jobs: if: github.ref == 'refs/heads/main' # Only runs on main, no concurrency. steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 + - uses: actions/checkout@v3 + - uses: actions/cache@v3 with: path: | ~/.gradle/caches diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml index ee4a87293f..4e701faa44 100644 --- a/.github/workflows/gradle-wrapper-validation.yml +++ b/.github/workflows/gradle-wrapper-validation.yml @@ -7,5 +7,5 @@ jobs: runs-on: ubuntu-latest # No concurrency required, this is a prerequisite to other actions and should run every time. steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: gradle/wrapper-validation-action@v1 diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 277809a58f..7f789b4610 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -13,53 +13,7 @@ env: CI_GRADLE_ARG_PROPERTIES: > -Porg.gradle.jvmargs=-Xmx4g -Porg.gradle.parallel=false - -PallWarningsAsErrors=false - jobs: - # Build Android Tests [Matrix SDK] - build-android-test-matrix-sdk: - name: Matrix SDK - Build Android Tests - runs-on: macos-latest - # No concurrency required, runs every time on a schedule. - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v2 - with: - distribution: 'adopt' - java-version: 11 - - uses: actions/cache@v2 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Build Android Tests for matrix-sdk-android - run: ./gradlew clean matrix-sdk-android:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace - - # Build Android Tests [Matrix APP] - build-android-test-app: - name: App - Build Android Tests - runs-on: macos-latest - # No concurrency required, runs every time on a schedule. - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v2 - with: - distribution: 'adopt' - java-version: 11 - - uses: actions/cache@v2 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Build Android Tests for vector - run: ./gradlew clean vector:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace - # Run Android Tests integration-tests: name: Matrix SDK - Running Integration Tests @@ -70,7 +24,7 @@ jobs: api-level: [ 28 ] # No concurrency required, runs every time on a schedule. steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: gradle/wrapper-validation-action@v1 - uses: actions/setup-java@v2 with: @@ -80,7 +34,7 @@ jobs: uses: actions/setup-python@v3 with: python-version: 3.8 - - uses: actions/cache@v2 + - uses: actions/cache@v3 with: path: | ~/.gradle/caches @@ -89,11 +43,11 @@ jobs: restore-keys: | ${{ runner.os }}-gradle- - name: Start synapse server - run: | - pip install matrix-synapse - curl https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh -o start.sh - chmod 777 start.sh - ./start.sh --no-rate-limit + uses: michaelkaye/setup-matrix-synapse@v0.4.0 + with: + uploadLogs: true + httpPort: 8080 + disableRateLimiting: true # package: org.matrix.android.sdk.session - name: Run integration tests for Matrix SDK [org.matrix.android.sdk.session] API[${{ matrix.api-level }}] uses: reactivecircus/android-emulator-runner@v2 @@ -104,11 +58,20 @@ jobs: force-avd-creation: false emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none emulator-build: 7425822 - script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.session' matrix-sdk-android:connectedDebugAndroidTest + script: | + adb root + adb logcat -c + touch emulator-session.log + chmod 777 emulator-session.log + adb logcat >> emulator-session.log & + ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.session' matrix-sdk-android:connectedDebugAndroidTest - name: Read Results [org.matrix.android.sdk.session] if: always() id: get-comment-body-session run: python3 ./tools/ci/render_test_output.py session ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml + - name: Remove adb logcat + if: always() + run: pkill -9 adb - name: Run integration tests for Matrix SDK [org.matrix.android.sdk.account] API[${{ matrix.api-level }}] if: always() uses: reactivecircus/android-emulator-runner@v2 @@ -119,11 +82,20 @@ jobs: force-avd-creation: false emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none emulator-build: 7425822 - script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.account' matrix-sdk-android:connectedDebugAndroidTest + script: | + adb root + adb logcat -c + touch emulator-account.log + chmod 777 emulator-account.log + adb logcat >> emulator-account.log & + ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.account' matrix-sdk-android:connectedDebugAndroidTest - name: Read Results [org.matrix.android.sdk.account] if: always() id: get-comment-body-account run: python3 ./tools/ci/render_test_output.py account ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml + - name: Remove adb logcat + if: always() + run: pkill -9 adb # package: org.matrix.android.sdk.internal - name: Run integration tests for Matrix SDK [org.matrix.android.sdk.internal] API[${{ matrix.api-level }}] if: always() @@ -135,11 +107,20 @@ jobs: force-avd-creation: false emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none emulator-build: 7425822 - script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.internal' matrix-sdk-android:connectedDebugAndroidTest + script: | + adb root + adb logcat -c + touch emulator-internal.log + chmod 777 emulator-internal.log + adb logcat >> emulator-internal.log & + ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.internal' matrix-sdk-android:connectedDebugAndroidTest - name: Read Results [org.matrix.android.sdk.internal] if: always() id: get-comment-body-internal run: python3 ./tools/ci/render_test_output.py internal ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml + - name: Remove adb logcat + if: always() + run: pkill -9 adb # package: org.matrix.android.sdk.ordering - name: Run integration tests for Matrix SDK [org.matrix.android.sdk.ordering] API[${{ matrix.api-level }}] if: always() @@ -151,11 +132,20 @@ jobs: force-avd-creation: false emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none emulator-build: 7425822 - script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.ordering' matrix-sdk-android:connectedDebugAndroidTest + script: | + adb root + adb logcat -c + touch emulator-ordering.log + chmod 777 emulator-ordering.log + adb logcat >> emulator-ordering.log & + ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.ordering' matrix-sdk-android:connectedDebugAndroidTest - name: Read Results [org.matrix.android.sdk.ordering] if: always() id: get-comment-body-ordering run: python3 ./tools/ci/render_test_output.py ordering ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml + - name: Remove adb logcat + if: always() + run: pkill -9 adb # package: class PermalinkParserTest - name: Run integration tests for Matrix SDK class [org.matrix.android.sdk.PermalinkParserTest] API[${{ matrix.api-level }}] if: always() @@ -167,11 +157,20 @@ jobs: force-avd-creation: false emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none emulator-build: 7425822 - script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.class='org.matrix.android.sdk.PermalinkParserTest' matrix-sdk-android:connectedDebugAndroidTest + script: | + adb root + adb logcat -c + touch emulator-permalink.log + chmod 777 emulator-permalink.log + adb logcat >> emulator-permalink.log & + ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.class='org.matrix.android.sdk.PermalinkParserTest' matrix-sdk-android:connectedDebugAndroidTest - name: Read Results [org.matrix.android.sdk.PermalinkParserTest] if: always() id: get-comment-body-permalink run: python3 ./tools/ci/render_test_output.py permalink ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml + - name: Remove adb logcat + if: always() + run: pkill -9 adb # package: class PermalinkParserTest - name: Find Comment if: always() && github.event_name == 'pull_request' @@ -196,6 +195,17 @@ jobs: - `[org.matrix.android.sdk.ordering]`
${{ steps.get-comment-body-ordering.outputs.ordering }} - `[org.matrix.android.sdk.PermalinkParserTest]`
${{ steps.get-comment-body-permalink.outputs.permalink }} edit-mode: replace + - name: Upload Test Report Log + uses: actions/upload-artifact@v2 + if: always() + with: + name: integrationtest-error-results + path: | + emulator-permalink.log + emulator-internal.log + emulator-ordering.log + emulator-account.log + emulator-session.log ui-tests: name: UI Tests (Synapse) @@ -206,14 +216,12 @@ jobs: api-level: [ 28 ] # No concurrency required, runs every time on a schedule. steps: - - uses: actions/checkout@v2 - with: - ref: develop + - uses: actions/checkout@v3 - name: Set up Python 3.8 uses: actions/setup-python@v3 with: python-version: 3.8 - - uses: actions/cache@v2 + - uses: actions/cache@v3 with: path: | ~/.gradle/caches @@ -222,10 +230,11 @@ jobs: restore-keys: | ${{ runner.os }}-gradle- - name: Start synapse server - run: | - pip install matrix-synapse - curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \ - | sed s/127.0.0.1/0.0.0.0/g | sed 's/http:\/\/localhost/http:\/\/10.0.2.2/g' | bash -s -- --no-rate-limit + uses: michaelkaye/setup-matrix-synapse@v0.4.0 + with: + uploadLogs: true + httpPort: 8080 + disableRateLimiting: true - uses: actions/setup-java@v2 with: distribution: 'adopt' @@ -245,22 +254,79 @@ jobs: touch emulator.log chmod 777 emulator.log adb logcat >> emulator.log & - ./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || (adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 ) + ./gradlew $CI_GRADLE_ARG_PROPERTIES connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || (adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 ) - name: Upload Test Report Log uses: actions/upload-artifact@v2 if: always() with: - name: sanity-error-results + name: uitest-error-results path: | emulator.log failure_screenshots/ + codecov-units: + name: Unit tests with code coverage + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' + - uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - run: ./gradlew allCodeCoverageReport $CI_GRADLE_ARG_PROPERTIES + - name: Upload Codecov data + uses: actions/upload-artifact@v2 + if: always() + with: + name: codecov-xml + path: | + build/reports/jacoco/allCodeCoverageReport/allCodeCoverageReport.xml + + sonarqube: + name: Sonarqube upload + runs-on: macos-latest + if: always() + needs: + - codecov-units + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' + - uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - uses: actions/download-artifact@v3 + with: + name: codecov-xml # will restore to allCodeCoverageReport.xml by default; we restore to the same location in following tasks + - run: mkdir -p build/reports/jacoco/allCodeCoverageReport/ + - run: mv allCodeCoverageReport.xml build/reports/jacoco/allCodeCoverageReport/ + - run: ./gradlew sonarqube $CI_GRADLE_ARG_PROPERTIES + env: + ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }} + # Notify the channel about scheduled runs, do not notify for manually triggered runs notify: + name: Notify matrix runs-on: ubuntu-latest needs: - integration-tests - ui-tests + - sonarqube if: always() && github.event_name != 'workflow_dispatch' # No concurrency required, runs every time on a schedule. steps: @@ -270,4 +336,4 @@ jobs: matrix_access_token: ${{ secrets.ELEMENT_ANDROID_NOTIFICATION_ACCESS_TOKEN }} matrix_room_id: ${{ secrets.ELEMENT_ANDROID_INTERNAL_ROOM_ID }} text_template: "Nightly test run: {{#each job_statuses }}{{#with this }}{{#if completed }} {{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}" - html_template: "Nightly test run results: {{#each job_statuses }}{{#with this }}{{#if completed }}
{{name}} {{conclusion}} at {{completed_at}} [details]{{/if}}{{/with}}{{/each}}" \ No newline at end of file + html_template: "Nightly test run results: {{#each job_statuses }}{{#with this }}{{#if completed }}
{{icon conclusion}} {{name}} {{conclusion}} at {{completed_at}} [details]{{/if}}{{/with}}{{/each}}" diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 02827e7f17..d427d65b7f 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -10,7 +10,7 @@ jobs: name: Project Check Suite runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Run code quality check suite run: ./tools/check/check_code_quality.sh @@ -23,7 +23,7 @@ jobs: group: ${{ github.ref == 'refs/heads/main' && format('ktlint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('ktlint-develop-{0}', github.sha) || format('ktlint-{0}', github.ref) }} cancel-in-progress: true steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Run ktlint run: | ./gradlew ktlintCheck --continue @@ -96,8 +96,8 @@ jobs: group: ${{ github.ref == 'refs/heads/main' && format('android-lint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('android-lint-develop-{0}', github.sha) || format('android-lint-{0}', github.ref) }} cancel-in-progress: true steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 + - uses: actions/checkout@v3 + - uses: actions/cache@v3 with: path: | ~/.gradle/caches @@ -129,8 +129,8 @@ jobs: group: ${{ github.ref == 'refs/heads/develop' && format('apk-lint-develop-{0}-{1}', matrix.target, github.sha) || format('apk-lint-{0}-{1}', matrix.target, github.ref) }} cancel-in-progress: true steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 + - uses: actions/checkout@v3 + - uses: actions/cache@v3 with: path: | ~/.gradle/caches diff --git a/.github/workflows/sync-from-external-sources.yml b/.github/workflows/sync-from-external-sources.yml index 55873c9112..d390c47696 100644 --- a/.github/workflows/sync-from-external-sources.yml +++ b/.github/workflows/sync-from-external-sources.yml @@ -11,7 +11,7 @@ jobs: if: github.repository == 'vector-im/element-android' # No concurrency required, runs every time on a schedule. steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python 3.8 uses: actions/setup-python@v3 with: @@ -38,7 +38,7 @@ jobs: if: github.repository == 'vector-im/element-android' # No concurrency required, runs every time on a schedule. steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python 3.8 uses: actions/setup-python@v3 with: @@ -64,7 +64,7 @@ jobs: if: github.repository == 'vector-im/element-android' # No concurrency required, runs every time on a schedule. steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Run analytics import script run: ./tools/import_analytic_plan.sh - name: Create Pull Request for analytics plan diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d6e194916b..98e5f588ca 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -12,6 +12,30 @@ env: -Porg.gradle.parallel=false jobs: + # Build Android Tests + build-android-tests: + name: Build Android Tests + runs-on: ubuntu-latest + concurrency: + group: ${{ github.ref == 'refs/heads/main' && format('unit-tests-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('unit-tests-develop-{0}', github.sha) || format('build-android-tests-{0}', github.ref) }} + cancel-in-progress: true + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: 11 + - uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Build Android Tests + run: ./gradlew clean assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace + unit-tests: name: Run Unit Tests runs-on: ubuntu-latest @@ -20,8 +44,8 @@ jobs: group: ${{ github.ref == 'refs/heads/main' && format('unit-tests-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('unit-tests-develop-{0}', github.sha) || format('unit-tests-{0}', github.ref) }} cancel-in-progress: true steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 + - uses: actions/checkout@v3 + - uses: actions/cache@v3 with: path: | ~/.gradle/caches @@ -30,7 +54,10 @@ jobs: restore-keys: | ${{ runner.os }}-gradle- - name: Run unit tests - run: ./gradlew clean test $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false --stacktrace + run: ./gradlew clean test $CI_GRADLE_ARG_PROPERTIES --stacktrace + - name: Format unit test results + if: always() + run: python3 ./tools/ci/render_test_output.py unit ./**/build/test-results/**/*.xml - name: Publish Unit Test Results uses: EnricoMi/publish-unit-test-result-action@v1 if: always() && @@ -38,3 +65,20 @@ jobs: ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository ) with: files: ./**/build/test-results/**/*.xml + +# Notify the channel about runs against develop or main that have failures, as PRs should have caught these first. + notify: + runs-on: ubuntu-latest + needs: + - unit-tests + - build-android-tests + if: ${{ (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/main' ) && failure() }} + steps: + - uses: michaelkaye/matrix-hookshot-action@v0.3.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + matrix_access_token: ${{ secrets.ELEMENT_ANDROID_NOTIFICATION_ACCESS_TOKEN }} + matrix_room_id: ${{ secrets.ELEMENT_ANDROID_INTERNAL_ROOM_ID }} + text_template: "Build is broken for ${{ github.ref }}: {{#each job_statuses }}{{#with this }}{{#if completed }}{{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}" + html_template: "Build is broken for ${{ github.ref }}: {{#each job_statuses }}{{#with this }}{{#if completed }}
{{icon conclusion }} {{name}} {{conclusion}} at {{completed_at}} [details]{{/if}}{{/with}}{{/each}}" + diff --git a/.github/workflows/update-gradle-wrapper.yml b/.github/workflows/update-gradle-wrapper.yml index 4a786a9339..1cbf29cc8d 100644 --- a/.github/workflows/update-gradle-wrapper.yml +++ b/.github/workflows/update-gradle-wrapper.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Update Gradle Wrapper uses: gradle-update/update-gradle-wrapper-action@v1 diff --git a/.idea/dictionaries/bmarty.xml b/.idea/dictionaries/bmarty.xml index ed572b573f..85290e72df 100644 --- a/.idea/dictionaries/bmarty.xml +++ b/.idea/dictionaries/bmarty.xml @@ -11,6 +11,7 @@ emoji emojis fdroid + ganfra gplay hmac homeserver @@ -18,6 +19,7 @@ ktlint linkified linkify + manu megolm msisdn msisdns diff --git a/CHANGES.md b/CHANGES.md index 318290107a..2a97120452 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,120 @@ +Changes in Element v1.4.8 (2022-03-28) +====================================== + +Other changes +------------- + - Moving live location sharing permission to debug only builds whilst it is WIP ([#5636](https://github.com/vector-im/element-android/issues/5636)) + + +Changes in Element v1.4.7 (2022-03-24) +====================================== + +Bugfixes 🐛 +---------- + - Fix inconsistencies between the arrow visibility and the collapse action on the room sections ([#5616](https://github.com/vector-im/element-android/issues/5616)) + - Fix room list header count flickering + +Changes in Element v1.4.6 (2022-03-23) +====================================== + +Features ✨ +---------- + - Thread timeline is now live and much faster especially for large or old threads ([#5230](https://github.com/vector-im/element-android/issues/5230)) + - View all threads per room screen is now live when the home server supports threads ([#5232](https://github.com/vector-im/element-android/issues/5232)) + - Add a custom view to display a picker for share location options ([#5395](https://github.com/vector-im/element-android/issues/5395)) + - Add ability to pin a location on map for sharing ([#5417](https://github.com/vector-im/element-android/issues/5417)) + - Poll Integration Tests ([#5522](https://github.com/vector-im/element-android/issues/5522)) + - Live location sharing: adding build config field and show permission dialog ([#5536](https://github.com/vector-im/element-android/issues/5536)) + - Live location sharing: Adding indicator view when enabled ([#5571](https://github.com/vector-im/element-android/issues/5571)) + +Bugfixes 🐛 +---------- + - Poll system notifications on Android are not user friendly ([#4780](https://github.com/vector-im/element-android/issues/4780)) + - Add colors for shield vector drawable ([#4860](https://github.com/vector-im/element-android/issues/4860)) + - Support both stable and unstable prefixes for Events about Polls and Location ([#5340](https://github.com/vector-im/element-android/issues/5340)) + - Fix missing messages when loading messages forwards ([#5448](https://github.com/vector-im/element-android/issues/5448)) + - Fix presence indicator being aligned to the center of the room image ([#5489](https://github.com/vector-im/element-android/issues/5489)) + - Read receipt in wrong order ([#5514](https://github.com/vector-im/element-android/issues/5514)) + - Fix mentions using matrix.to rather than client defined permalink base url ([#5521](https://github.com/vector-im/element-android/issues/5521)) + - Fixes crash when tapping the timeline verification surround box instead of the buttons ([#5540](https://github.com/vector-im/element-android/issues/5540)) + - [Notification mode] Wrong mode is displayed when the mention only is selected on the web client ([#5547](https://github.com/vector-im/element-android/issues/5547)) + - Fix local echos not being shown when re-opening rooms ([#5551](https://github.com/vector-im/element-android/issues/5551)) + - Fix crash when closing a room while decrypting timeline events ([#5552](https://github.com/vector-im/element-android/issues/5552)) + - Fix sometimes read marker not properly updating ([#5564](https://github.com/vector-im/element-android/issues/5564)) + +In development 🚧 +---------------- + - Dynamically showing/hiding onboarding personalisation screens based on the users homeserver capabilities ([#5375](https://github.com/vector-im/element-android/issues/5375)) + - Introduces FTUE personalisation complete screen along with confetti celebration ([#5389](https://github.com/vector-im/element-android/issues/5389)) + +SDK API changes ⚠️ +------------------ + - Adds support for MSC3440, additional threads homeserver capabilities ([#5271](https://github.com/vector-im/element-android/issues/5271)) + +Other changes +------------- + - Refactoring for safer olm and megolm session usage ([#5380](https://github.com/vector-im/element-android/issues/5380)) + - Improve headers UI in Rooms/Messages lists ([#4533](https://github.com/vector-im/element-android/issues/4533)) + - Number of unread messages on space badge now include number of unread DMs ([#5260](https://github.com/vector-im/element-android/issues/5260)) + - Amend spaces menu to be consistent with iOS version ([#5270](https://github.com/vector-im/element-android/issues/5270)) + - Selected space highlight changed in left panel ([#5346](https://github.com/vector-im/element-android/issues/5346)) + - [Rooms list] Do not suggest collapse the unique section ([#5347](https://github.com/vector-im/element-android/issues/5347)) + - Add analytics support for threads ([#5378](https://github.com/vector-im/element-android/issues/5378)) + - Add top margin before our first message ([#5384](https://github.com/vector-im/element-android/issues/5384)) + - Improved onboarding registration unit test coverage ([#5408](https://github.com/vector-im/element-android/issues/5408)) + - Adds stable room hierarchy endpoint with a fallback to the unstable one ([#5443](https://github.com/vector-im/element-android/issues/5443)) + - Use ColorPrimary for attachmentGalleryButton tint ([#5501](https://github.com/vector-im/element-android/issues/5501)) + - Added online presence indicator attribute online to match offline styling ([#5513](https://github.com/vector-im/element-android/issues/5513)) + - Add a presence sync enabling build config ([#5563](https://github.com/vector-im/element-android/issues/5563)) + - Show stickers on click ([#5572](https://github.com/vector-im/element-android/issues/5572)) + + +Changes in Element v1.4.4 (2022-03-09) +====================================== + +Features ✨ +---------- + - Adds animated typing indicator to the bottom of the timeline ([#3296](https://github.com/vector-im/element-android/issues/3296)) + - Removes the topic and typing information from the room's top bar ([#4642](https://github.com/vector-im/element-android/issues/4642)) + - Add possibility to save media from Gallery + reorder choices in message context menu ([#5005](https://github.com/vector-im/element-android/issues/5005)) + - Improves settings error dialog messaging when changing avatar or display name fails ([#5418](https://github.com/vector-im/element-android/issues/5418)) + +Bugfixes 🐛 +---------- + - Open direct message screen when clicking on DM button in the space members list ([#4319](https://github.com/vector-im/element-android/issues/4319)) + - Fix incorrect media cache size in settings ([#5394](https://github.com/vector-im/element-android/issues/5394)) + - Setting an avatar when creating a room had no effect ([#5402](https://github.com/vector-im/element-android/issues/5402)) + - Fix reactions summary crash when reopening a room ([#5463](https://github.com/vector-im/element-android/issues/5463)) + - Fixing room titles overlapping the room image in the room toolbar ([#5468](https://github.com/vector-im/element-android/issues/5468)) + +In development 🚧 +---------------- + - Starts the FTUE account personalisation flow by adding an account created screen behind a feature flag ([#5158](https://github.com/vector-im/element-android/issues/5158)) + +SDK API changes ⚠️ +------------------ + - Change name of getTimeLineEvent and getTimeLineEventLive methods to getTimelineEvent and getTimelineEventLive. ([#5330](https://github.com/vector-im/element-android/issues/5330)) + +Other changes +------------- + - Improve Bubble layouts rendering ([#5303](https://github.com/vector-im/element-android/issues/5303)) + - Continue improving realm usage (potentially helping with storage and RAM usage) ([#5330](https://github.com/vector-im/element-android/issues/5330)) + - Update reaction button layout. ([#5313](https://github.com/vector-im/element-android/issues/5313)) + - Adds forceLoginFallback feature flag and usages to FTUE login and registration ([#5325](https://github.com/vector-im/element-android/issues/5325)) + - Override task affinity to prevent unknown activities running in our app tasks. ([#4498](https://github.com/vector-im/element-android/issues/4498)) + - Tentatively fixing the UI sanity test being unable to click on the space menu items ([#5269](https://github.com/vector-im/element-android/issues/5269)) + - Moves attachment-viewer, diff-match-patch, and multipicker modules to subfolders under library ([#5309](https://github.com/vector-im/element-android/issues/5309)) + - Log the `since` token used and `next_batch` token returned when doing an incremental sync. ([#5312](https://github.com/vector-im/element-android/issues/5312), [#5318](https://github.com/vector-im/element-android/issues/5318)) + - Upgrades material dependency version from 1.4.0 to 1.5.0 ([#5392](https://github.com/vector-im/element-android/issues/5392)) + - Using app name instead of hardcoded "Element" for exported keys filename ([#5326](https://github.com/vector-im/element-android/issues/5326)) + - Upgrade the plugin which generate strings with template from 1.2.2 to 2.0.0 ([#5348](https://github.com/vector-im/element-android/issues/5348)) + - Remove about 700 unused strings and their translations ([#5352](https://github.com/vector-im/element-android/issues/5352)) + - Creates dedicated VectorOverrides for forcing behaviour for local testing/development ([#5361](https://github.com/vector-im/element-android/issues/5361)) + - Cleanup unused threads build configurations ([#5379](https://github.com/vector-im/element-android/issues/5379)) + - Notify element-android channel each time a nightly build completes. ([#5314](https://github.com/vector-im/element-android/issues/5314)) + - Iterate on badge / unread indicator color ([#5456](https://github.com/vector-im/element-android/issues/5456)) + + Changes in Element v1.4.2 (2022-02-22 Palindrome Day!) ====================================================== diff --git a/build.gradle b/build.gradle index 9cae9e7e70..31416a0440 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ buildscript { classpath libs.gradle.hiltPlugin classpath 'com.google.gms:google-services:4.3.10' classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3' - classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4' + classpath 'com.google.android.gms:oss-licenses-plugin:0.10.5' classpath "com.likethesalad.android:stem-plugin:2.0.0" // NOTE: Do not place your application dependencies here; they belong @@ -105,11 +105,21 @@ task clean(type: Delete) { delete rootProject.buildDir } +def launchTask = getGradle() + .getStartParameter() + .getTaskRequests() + .toString() + .toLowerCase() + +if (launchTask.contains("codeCoverageReport".toLowerCase())) { + apply from: 'coverage.gradle' +} + apply plugin: 'org.sonarqube' // To run a sonar analysis: // Run './gradlew sonarqube -Dsonar.login=' -// The SONAR_KEY is stored in passbolt +// The SONAR_KEY is stored in passbolt as Token Sonar Cloud Bma sonarqube { properties { @@ -119,10 +129,12 @@ sonarqube { property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName property "sonar.sourceEncoding", "UTF-8" property "sonar.links.homepage", "https://github.com/vector-im/element-android/" - property "sonar.links.ci", "https://buildkite.com/matrix-dot-org/element-android" + property "sonar.links.ci", "https://github.com/vector-im/element-android/actions" property "sonar.links.scm", "https://github.com/vector-im/element-android/" property "sonar.links.issue", "https://github.com/vector-im/element-android/issues" property "sonar.organization", "new_vector_ltd_organization" + property "sonar.java.coveragePlugin", "jacoco" + property "sonar.coverage.jacoco.xmlReportPaths", "${project.buildDir}/reports/jacoco/allCodeCoverageReport/allCodeCoverageReport.xml" property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid" } } diff --git a/changelog.d/3296.bugfix b/changelog.d/3296.bugfix deleted file mode 100644 index e5f8799f21..0000000000 --- a/changelog.d/3296.bugfix +++ /dev/null @@ -1 +0,0 @@ -Typing notifications moved from the header to the bottom of the timeline. \ No newline at end of file diff --git a/changelog.d/4319.bugfix b/changelog.d/4319.bugfix deleted file mode 100644 index da42c864c6..0000000000 --- a/changelog.d/4319.bugfix +++ /dev/null @@ -1 +0,0 @@ -Open direct message screen when clicking on DM button in the space members list diff --git a/changelog.d/5005.feature b/changelog.d/5005.feature deleted file mode 100644 index ce3b2ad1f9..0000000000 --- a/changelog.d/5005.feature +++ /dev/null @@ -1 +0,0 @@ -Add possibility to save media from Gallery + reorder choices in message context menu diff --git a/changelog.d/5158.wip b/changelog.d/5158.wip deleted file mode 100644 index 67a3d83a7a..0000000000 --- a/changelog.d/5158.wip +++ /dev/null @@ -1 +0,0 @@ -Starts the FTUE account personalisation flow by adding an account created screen behind a feature flag \ No newline at end of file diff --git a/changelog.d/5269.misc b/changelog.d/5269.misc deleted file mode 100644 index 699ddfd3dd..0000000000 --- a/changelog.d/5269.misc +++ /dev/null @@ -1 +0,0 @@ -Tentatively fixing the UI sanity test being unable to click on the space menu items \ No newline at end of file diff --git a/changelog.d/5303.misc b/changelog.d/5303.misc deleted file mode 100644 index dbad0b738d..0000000000 --- a/changelog.d/5303.misc +++ /dev/null @@ -1 +0,0 @@ -Improve Bubble layouts rendering. \ No newline at end of file diff --git a/changelog.d/5309.misc b/changelog.d/5309.misc deleted file mode 100644 index 83771995af..0000000000 --- a/changelog.d/5309.misc +++ /dev/null @@ -1 +0,0 @@ -Moves attachment-viewer, diff-match-patch, and multipicker modules to subfolders under library \ No newline at end of file diff --git a/changelog.d/5312.misc b/changelog.d/5312.misc deleted file mode 100644 index d724f1ba3f..0000000000 --- a/changelog.d/5312.misc +++ /dev/null @@ -1 +0,0 @@ -Log the `since` token used and `next_batch` token returned when doing an incremental sync. diff --git a/changelog.d/5313.misc b/changelog.d/5313.misc deleted file mode 100644 index efc225a0a4..0000000000 --- a/changelog.d/5313.misc +++ /dev/null @@ -1 +0,0 @@ -Update reaction button layout. \ No newline at end of file diff --git a/changelog.d/5314.misc b/changelog.d/5314.misc deleted file mode 100644 index 35fed08a61..0000000000 --- a/changelog.d/5314.misc +++ /dev/null @@ -1 +0,0 @@ -Notify element-android channel each time a nightly build completes. diff --git a/changelog.d/5318.misc b/changelog.d/5318.misc deleted file mode 100644 index d724f1ba3f..0000000000 --- a/changelog.d/5318.misc +++ /dev/null @@ -1 +0,0 @@ -Log the `since` token used and `next_batch` token returned when doing an incremental sync. diff --git a/changelog.d/5325.feature b/changelog.d/5325.feature deleted file mode 100644 index 23754c790d..0000000000 --- a/changelog.d/5325.feature +++ /dev/null @@ -1 +0,0 @@ -Adds forceLoginFallback feature flag and usages to FTUE login and registration \ No newline at end of file diff --git a/changelog.d/5326.misc b/changelog.d/5326.misc deleted file mode 100644 index 5ffa732d53..0000000000 --- a/changelog.d/5326.misc +++ /dev/null @@ -1 +0,0 @@ -[Export e2ee keys] use appName instead of element \ No newline at end of file diff --git a/changelog.d/5330.misc b/changelog.d/5330.misc deleted file mode 100644 index 6315ad536c..0000000000 --- a/changelog.d/5330.misc +++ /dev/null @@ -1 +0,0 @@ -Continue improving realm usage. \ No newline at end of file diff --git a/changelog.d/5330.sdk b/changelog.d/5330.sdk deleted file mode 100644 index 3f6d46401c..0000000000 --- a/changelog.d/5330.sdk +++ /dev/null @@ -1 +0,0 @@ -Change name of getTimeLineEvent and getTimeLineEventLive methods to getTimelineEvent and getTimelineEventLive. \ No newline at end of file diff --git a/changelog.d/5348.misc b/changelog.d/5348.misc deleted file mode 100644 index f5ee8627ce..0000000000 --- a/changelog.d/5348.misc +++ /dev/null @@ -1 +0,0 @@ -Upgrade the plugin which generate strings with template from 1.2.2 to 2.0.0 \ No newline at end of file diff --git a/changelog.d/5352.misc b/changelog.d/5352.misc deleted file mode 100644 index 956de682d8..0000000000 --- a/changelog.d/5352.misc +++ /dev/null @@ -1 +0,0 @@ -Remove about 700 unused strings and their translations \ No newline at end of file diff --git a/changelog.d/5379.misc b/changelog.d/5379.misc deleted file mode 100644 index d485636f10..0000000000 --- a/changelog.d/5379.misc +++ /dev/null @@ -1 +0,0 @@ -Cleanup unused threads build configurations \ No newline at end of file diff --git a/changelog.d/5392.misc b/changelog.d/5392.misc deleted file mode 100644 index 54d7dba992..0000000000 --- a/changelog.d/5392.misc +++ /dev/null @@ -1 +0,0 @@ -Upgrades material dependency version from 1.4.0 to 1.5.0 diff --git a/changelog.d/5394.bugfix b/changelog.d/5394.bugfix deleted file mode 100644 index f8c5311492..0000000000 --- a/changelog.d/5394.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix incorrect media cache size in settings \ No newline at end of file diff --git a/changelog.d/5426.feature b/changelog.d/5426.feature new file mode 100644 index 0000000000..2dee22f07a --- /dev/null +++ b/changelog.d/5426.feature @@ -0,0 +1 @@ +Allow scrolling position of Voice Message playback \ No newline at end of file diff --git a/changelog.d/5473.bugfix b/changelog.d/5473.bugfix new file mode 100644 index 0000000000..e53329e202 --- /dev/null +++ b/changelog.d/5473.bugfix @@ -0,0 +1 @@ +Fixes polls being votable after being ended diff --git a/changelog.d/5497.bugfix b/changelog.d/5497.bugfix new file mode 100644 index 0000000000..4228ebaafb --- /dev/null +++ b/changelog.d/5497.bugfix @@ -0,0 +1 @@ +[Subscribing] Blank display name \ No newline at end of file diff --git a/changelog.d/5517.misc b/changelog.d/5517.misc new file mode 100644 index 0000000000..18269afcc6 --- /dev/null +++ b/changelog.d/5517.misc @@ -0,0 +1 @@ +Flattening the asynchronous onboarding state and passing all errors through the same pipeline \ No newline at end of file diff --git a/changelog.d/5595.feature b/changelog.d/5595.feature new file mode 100644 index 0000000000..8fd4d4b144 --- /dev/null +++ b/changelog.d/5595.feature @@ -0,0 +1 @@ +Live Location Sharing - Foreground Service and Notification \ No newline at end of file diff --git a/coverage.gradle b/coverage.gradle new file mode 100644 index 0000000000..96881dfff2 --- /dev/null +++ b/coverage.gradle @@ -0,0 +1,55 @@ +def excludes = [ ] + +def initializeReport(report, projects, classExcludes) { + projects.each { project -> project.apply plugin: 'jacoco' } + report.executionData { fileTree(rootProject.rootDir.absolutePath).include("**/build/jacoco/*.exec") } + + report.reports { + xml.enabled true + html.enabled true + csv.enabled false + } + + gradle.projectsEvaluated { + def androidSourceDirs = [] + def androidClassDirs = [] + + projects.each { project -> + switch (project) { + case { project.plugins.hasPlugin("com.android.application") }: + androidClassDirs.add("${project.buildDir}/tmp/kotlin-classes/debug") + androidSourceDirs.add("${project.projectDir}/src/main/kotlin") + androidSourceDirs.add("${project.projectDir}/src/main/java") + break + case { project.plugins.hasPlugin("com.android.library") }: + androidClassDirs.add("${project.buildDir}/tmp/kotlin-classes/debug") + androidSourceDirs.add("${project.projectDir}/src/main/kotlin") + androidSourceDirs.add("${project.projectDir}/src/main/java") + break + default: + report.sourceSets project.sourceSets.main + } + } + + report.sourceDirectories.setFrom(report.sourceDirectories + files(androidSourceDirs)) + def classFiles = androidClassDirs.collect { files(it).files }.flatten() + report.classDirectories.setFrom(files((report.classDirectories.files + classFiles).collect { + fileTree(dir: it, excludes: classExcludes) + })) + } +} + +def collectProjects(predicate) { + return subprojects.findAll { it.buildFile.isFile() && predicate(it) } +} + +task allCodeCoverageReport(type: JacocoReport) { + outputs.upToDateWhen { false } + rootProject.apply plugin: 'jacoco' + // to limit projects in a specific report, add + // def excludedProjects = [ ... ] + // def projects = collectProjects { !excludedProjects.contains(it.name) } + def projects = collectProjects { true } + dependsOn { projects*.test } + initializeReport(it, projects, excludes) +} diff --git a/dependencies.gradle b/dependencies.gradle index 87b8e3c12f..7666a3bf9f 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -9,13 +9,13 @@ ext.versions = [ def gradle = "7.0.4" // Ref: https://kotlinlang.org/releases.html -def kotlin = "1.5.31" -def kotlinCoroutines = "1.5.2" +def kotlin = "1.6.0" +def kotlinCoroutines = "1.6.0" def dagger = "2.40.5" def retrofit = "2.9.0" def arrow = "0.8.2" def markwon = "4.6.2" -def moshi = "1.12.0" +def moshi = "1.13.0" def lifecycle = "2.4.0" def flowBinding = "1.2.0" def epoxy = "4.6.2" @@ -58,6 +58,7 @@ ext.libs = [ 'lifecycleCommon' : "androidx.lifecycle:lifecycle-common:$lifecycle", 'lifecycleLivedata' : "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle", 'lifecycleProcess' : "androidx.lifecycle:lifecycle-process:$lifecycle", + 'lifecycleRuntimeKtx' : "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle", 'datastore' : "androidx.datastore:datastore:1.0.0", 'datastorepreferences' : "androidx.datastore:datastore-preferences:1.0.0", 'pagingRuntimeKtx' : "androidx.paging:paging-runtime-ktx:2.1.2", @@ -141,4 +142,4 @@ ext.libs = [ 'timberJunitRule' : "net.lachlanmckee:timber-junit-rule:1.0.1", 'junit' : "junit:junit:4.13.2" ] -] \ No newline at end of file +] diff --git a/dependencies_groups.gradle b/dependencies_groups.gradle index 7de8100469..45883f506d 100644 --- a/dependencies_groups.gradle +++ b/dependencies_groups.gradle @@ -29,9 +29,10 @@ ext.groups = [ 'com\\.google\\.android\\..*', ], group: [ - 'com.google.firebase', 'com.android', 'com.android.tools', + 'com.google.firebase', + 'com.google.testing.platform', ] ], mavenCentral: [ @@ -63,6 +64,8 @@ ext.groups = [ 'com.github.piasy', 'com.github.shyiko.klob', 'com.google', + 'com.google.android', + 'com.google.api.grpc', 'com.google.auto.service', 'com.google.auto.value', 'com.google.code.findbugs', @@ -111,10 +114,13 @@ ext.groups = [ 'io.arrow-kt', 'io.github.detekt.sarif4k', 'io.github.reactivecircus.flowbinding', + 'io.grpc', 'io.jsonwebtoken', 'io.kindedj', 'io.mockk', + 'io.netty', 'io.noties.markwon', + 'io.opencensus', 'io.reactivex.rxjava2', 'io.realm', 'it.unimi.dsi', @@ -150,6 +156,7 @@ ext.groups = [ 'org.ec4j.core', 'org.glassfish.jaxb', 'org.hamcrest', + 'org.jacoco', 'org.jetbrains', 'org.jetbrains.intellij.deps', 'org.jetbrains.kotlin', @@ -175,6 +182,7 @@ ext.groups = [ 'org.sonatype.oss', 'org.testng', 'org.threeten', + 'org.webjars', 'ru.noties', 'xerces', 'xml-apis', diff --git a/fastlane/metadata/android/de-DE/changelogs/40104000.txt b/fastlane/metadata/android/de-DE/changelogs/40104000.txt new file mode 100644 index 0000000000..37de3cb4a2 --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/40104000.txt @@ -0,0 +1,2 @@ +Neues: Erstelle Threads, damit dein Chatverlauf nicht zugespammt wird. Nachrichtenblasen. +Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.4.0 diff --git a/fastlane/metadata/android/de-DE/changelogs/40104020.txt b/fastlane/metadata/android/de-DE/changelogs/40104020.txt new file mode 100644 index 0000000000..6693401a24 --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/40104020.txt @@ -0,0 +1,2 @@ +Neues: Unterstützung für @room, Verbesserungen der Abstimmungen und weitere kleine Änderungen +Ganzer Changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.2 diff --git a/fastlane/metadata/android/en-US/changelogs/40104040.txt b/fastlane/metadata/android/en-US/changelogs/40104040.txt new file mode 100644 index 0000000000..d36b10c390 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40104040.txt @@ -0,0 +1,2 @@ +Main changes in this version: typing indicator UI updates. Various bug fixes and stability improvements. +Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.4 \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/40104060.txt b/fastlane/metadata/android/en-US/changelogs/40104060.txt new file mode 100644 index 0000000000..1863bef5fb --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40104060.txt @@ -0,0 +1,2 @@ +Main changes in this version: Thread timeline are now live and faster. Various bug fixes and stability improvements. +Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.6 \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/40104070.txt b/fastlane/metadata/android/en-US/changelogs/40104070.txt new file mode 100644 index 0000000000..99a3ecfe7b --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40104070.txt @@ -0,0 +1,2 @@ +Main changes in this version: Various bug fixes and stability improvements. +Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.7 \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/40104080.txt b/fastlane/metadata/android/en-US/changelogs/40104080.txt new file mode 100644 index 0000000000..66ed1664bd --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40104080.txt @@ -0,0 +1,2 @@ +Main changes in this version: Thread timeline are now live and faster. Various bug fixes and stability improvements. +Full changelog: https://github.com/vector-im/element-android/releases \ No newline at end of file diff --git a/fastlane/metadata/android/es-ES/changelogs/40104000.txt b/fastlane/metadata/android/es-ES/changelogs/40104000.txt new file mode 100644 index 0000000000..ea607fe19a --- /dev/null +++ b/fastlane/metadata/android/es-ES/changelogs/40104000.txt @@ -0,0 +1,2 @@ +Principales cambios de esta versión: primera implementación de los hilos de mensajes. Burbujas de mensajes. +Todos los cambios en: https://github.com/vector-im/element-android/releases/tag/v1.4.0 diff --git a/fastlane/metadata/android/es-ES/changelogs/40104020.txt b/fastlane/metadata/android/es-ES/changelogs/40104020.txt new file mode 100644 index 0000000000..8c2c78cb62 --- /dev/null +++ b/fastlane/metadata/android/es-ES/changelogs/40104020.txt @@ -0,0 +1,2 @@ +Principales cambios de esta versión: añadir @room, encuestas cerradas y muchos cambios menores más. +Todos los cambios en: https://github.com/vector-im/element-android/releases/tag/v1.4.2 diff --git a/fastlane/metadata/android/fa/changelogs/40104000.txt b/fastlane/metadata/android/fa/changelogs/40104000.txt new file mode 100644 index 0000000000..7beb79981f --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40104000.txt @@ -0,0 +1,2 @@ +تغییرات اصلی در این نگارش: پیاده سازی نخستین پیام‌های رشته‌ای. حباب‌های پیام. +گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases/tag/v1.4.0 diff --git a/fastlane/metadata/android/fa/changelogs/40104020.txt b/fastlane/metadata/android/fa/changelogs/40104020.txt new file mode 100644 index 0000000000..6d5148220d --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40104020.txt @@ -0,0 +1,2 @@ +تغییرات اصلی در این نگارش: افزودن پشتیبانی به ‪@room‬ و نظرسنجی‌های فاش نشده در کنار تغییرات کوچک دیگر. +گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases/tag/v1.4.2 diff --git a/fastlane/metadata/android/fr-FR/changelogs/40103170.txt b/fastlane/metadata/android/fr-FR/changelogs/40103170.txt new file mode 100644 index 0000000000..c264ea3703 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40103170.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : envoyer votre position dans n'importe quel salon. Éditer un sondage. +Intégralité des changements : https://github.com/vector-im/element-android/releases/tag/v1.3.17 diff --git a/fastlane/metadata/android/fr-FR/changelogs/40103180.txt b/fastlane/metadata/android/fr-FR/changelogs/40103180.txt new file mode 100644 index 0000000000..0b8a9542a5 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40103180.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : envoyer votre position dans n'importe quel salon. Éditer un sondage. +Intégralité des changements : https://github.com/vector-im/element-android/releases/tag/v1.3.18 diff --git a/fastlane/metadata/android/fr-FR/changelogs/40104000.txt b/fastlane/metadata/android/fr-FR/changelogs/40104000.txt new file mode 100644 index 0000000000..eaced9e3f4 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40104000.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : Implémentation initial des fils de discussion. Bulles de messages. +Intégralité des changements : https://github.com/vector-im/element-android/releases/tag/v1.4.0 diff --git a/fastlane/metadata/android/fr-FR/changelogs/40104020.txt b/fastlane/metadata/android/fr-FR/changelogs/40104020.txt new file mode 100644 index 0000000000..068b4aac43 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40104020.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : Ajout du support pour @room et des sondages non terminé parmi plein d'autres changements mineurs. +Intégralité des changements : https://github.com/vector-im/element-android/releases/tag/v1.4.2 diff --git a/fastlane/metadata/android/hu-HU/full_description.txt b/fastlane/metadata/android/hu-HU/full_description.txt index 899b4cd978..b43613eb20 100644 --- a/fastlane/metadata/android/hu-HU/full_description.txt +++ b/fastlane/metadata/android/hu-HU/full_description.txt @@ -1,43 +1,43 @@ -Element egy biztonságos üzenetküldő és csapatmunka támogató alkalmazás ami ideális távoli munkavégzés közben csoportos csevegéshez. Az alkalmazás végpontok közötti titkosítást használ videó konferenciához, fájl megosztáshoz és videó hivásokhoz. +Az Element egy biztonságos üzenetküldő, és egy csapatmunka app, amely távoli munkavégzéshez is alkalmas lehet. Az alkalmazás végponti titkosítás használatával biztosít videó konferencia, fájlmegosztás, és audio hívás lehetőségeket. -Element tulajdonságai: -- Fejlett online kommunikációs eszköz -- Teljesen titkosított üzenetküldés biztonságos céges kommunikációt kínál még a távdolgozóknak is -- Elosztott csevegés a Matrix nyílt forráskódú keretrendszer felhasználásával -- Bizontságos fájl megosztás titkosítottan projektek kezeléséhez -- Videó hívás VoIP-pal és képernyőmegosztással -- Könnyen integrálható a kedvenc online kollaborációs eszközöddel, projekt menedzsment eszközzel, VoIP szolgáltatással vagy más csoport üzenetküldő alkalmazással +Az Element funkciói többek között: +- Fejlett online kommunikációs eszközök +- Titkosított üzenetek a biztonságos céges kommunikációhoz, otthonról dolgozóknak is +- Decentralizált chat a nyílt forráskódú Matrix protokoll használatával +- Biztonságos fájlmegosztáss a projektek kezeléséhez +- Videochat, VoIP, és képernyőmegosztási lehetőséggel +- Egyszerű integráció a kedvenc online kollaborációs eszközeiddel, projektkezelési eszközökkel, VoIP szolgáltatásokkal, és más csoportos üzenetküldő alkalmazásokkal -Element teljesen más mint a többi üzenetküldő alkalmazás. Matrixot használ, egy nyílt hálózatot a decentralizált biztonságos kommunikációhoz. Lehetőséget ad saját szerver üzemeltetésére ami maximális tulajdont és kontrollt biztosít az adatok fölött. +Az Element teljesen más, mint az összes többi üzenetküldő és kollaborációs alkalmazás. A biztonságos üzenetküldést és decentralizált kommunikációt biztosító Matrix platformot használja. Akár egyénileg üzemeltetett szervereket is lehet használni az adatok teljes kontrollálása érdekében. -Magánélet védelme és titkosított üzenetküldés -Element megóv a kéretlen hirdetésektől, adatbányászattól és a különböző szigetszerű megoldásoktól. Minden adatot biztonságba helyez, egy az egybe videó és hang kommunikáció végpontok között titkosítva ahol az eszközök hitelesítve vannak. +Magánszféra és titkosított csevegés +Az Element megvéd a nemkívánatos hirdetésektől, adatbányászattól, és a zárt platformoktól. Ezeken felül biztonságban tartja az összes adatod és 1:1 hívásod a végponti titkosításnak és az eszközök-közti hitelesítésnek köszönhetően. -Element a kezedbe adja az adatvédelmi irányítást miközben bárkivel kommunikálhatsz a Matrix hálózatban vagy más üzleti kollaborációs eszközzel ami integrálva van, mint amilyen a Slack. +Az Element átadja neked az irányítást a magánszférád felett, miközben lehetővé teszi, hogy biztonságosan kommunikálj bárkivel a Matrix hálózatban, vagy a többi üzleti kommunikációs eszközt használókkal, az olyan appok integrálásának köszönhetően, mint például a Slack. -Element futtatható saját szerveren -Azért, hogy az érzékeny adatok és beszélgetések minnél inkább az irányításod alatt lehessen az Elementet saját magadnak üzemeltetheted vagy választhatsz bármely Matrixon alapuló - szabványos nyílt forráskódú és decentralizált kommunikáció - szoláltató közül. Element adatvédelmet, biztonságot és rugalmas integrációkat biztosít. +Element can be self-hosted +To allow more control of your sensitive data and conversations, Element can be self-hosted or you can choose any Matrix-based host - the standard for open source, decentralized communication. Element gives you privacy, security compliance and integration flexibility. -A te adatod a tiéd -Te döntöd el, hogy hol tárolod az adataidat és üzeneteidet. Adatbányászat vagy harmadik fél hozzáférésének kockázata nélkül. +Own your data +You decide where to keep your data and messages. Without the risk of data mining or access from third parties. -Element többféle képpen adja vissza az irányítást: -1. Szerezz egy ingyenes hozzáférést a matrix.org nyilvános szerverre amit a Matrix fejlesztők üzemeltetnek vagy válassz a több ezer önkéntesek által üzemeltetett nyilvános szerverből -2. Üzemeltess szerver magadnak a saját infrastruktúrádon -3. Iratkozz fel egy egyedi szerverre az Element Matrix Services platformon +Element puts you in control in different ways: +1. Get a free account on the matrix.org public server hosted by the Matrix developers, or choose from thousands of public servers hosted by volunteers +2. Self-host your account by running a server on your own IT infrastructure +3. Sign up for an account on a custom server by simply subscribing to the Element Matrix Services hosting platform -Nyílt üzenetküldés és kollaboráció -Bárkivel beszélgethetsz a Matrix hálózaton, akár az Elementet használja akár egy másik Matrix alkalmazást használ vagy akár egy eltérő üzenetküldőt. +Open messaging and collaboration +You can chat with anyone on the Matrix network, whether they’re using Element, another Matrix app or even if they are using a different messaging app. -Fantasztikusan biztonságos -Igazi végpontok között titkosítás (csak a beszélgetésben résztvevők tudják visszafejteni) és hitelesítés eszközök közötti aláírásokkal. +Super secure +Real end-to-end encryption (only those in the conversation can decrypt messages), and cross-signed device verification. -Teljes kommunikáció és integráció -Üzenetküldés, hang és videóhívás, fájl megosztás, képernyő megosztás és egy csomó integráció, botok és kisalkalmazások. Építs szobákat, közösségeket, maradj kapcsolatban és végezz el dolgokat. +Complete communication and integration +Messaging, voice and video calls, file sharing, screen sharing and a whole bunch of integrations, bots and widgets. Build rooms, communities, stay in touch and get things done. -Vedd fel a fonalat -Maradj kapcsolatban bárhol minden eszközödön a szinkronizált üzenetekkel és a weben a https://app.element.io oldallal +Pick up where you left off +Stay in touch wherever you are with fully synchronised message history across all your devices and on the web at https://app.element.io -Nyílt forráskód -Element Android egy nyílt forráskódú projekt a GitHubon. Küldj hibajegyet és/vagy vegyél részt a fejlesztésében itt: https://github.com/vector-im/element-android +Open source +Element Android is an open source project, hosted by GitHub. Please report bugs and/or contribute to its development at https://github.com/vector-im/element-android diff --git a/fastlane/metadata/android/hu-HU/short_description.txt b/fastlane/metadata/android/hu-HU/short_description.txt index 2dfe14c516..51be689331 100644 --- a/fastlane/metadata/android/hu-HU/short_description.txt +++ b/fastlane/metadata/android/hu-HU/short_description.txt @@ -1 +1 @@ -Csoportos üzenetküldő - titkosított üzenetek, videó hívások +Csoportos üzenetküldő - titkosított üzenetek és videó hívások diff --git a/fastlane/metadata/android/hu-HU/title.txt b/fastlane/metadata/android/hu-HU/title.txt index 907f907f99..c463dea393 100644 --- a/fastlane/metadata/android/hu-HU/title.txt +++ b/fastlane/metadata/android/hu-HU/title.txt @@ -1 +1 @@ -Element +Element - Biztonságos üzenetküldő diff --git a/fastlane/metadata/android/ja-JP/changelogs/40100100.txt b/fastlane/metadata/android/ja-JP/changelogs/40100100.txt index 48af96d216..0f9fc720a9 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40100100.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40100100.txt @@ -1,2 +1,2 @@ 今回の新バージョンでは、主にバグの修正と改善が行われています。メッセージの送信がより速くなりました。 -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.10 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.10 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40100110.txt b/fastlane/metadata/android/ja-JP/changelogs/40100110.txt index b8b9798fcd..d67486a147 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40100110.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40100110.txt @@ -1,2 +1,2 @@ 今回の新バージョンでは、主にUI(ユーザーインターフェース)とUX(ユーザーエクスペリエンス)の向上が図られています。友達を招待したり、QRコードを読み取って素早くDMを作成できるようになりました。 -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.11 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.11 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40100120.txt b/fastlane/metadata/android/ja-JP/changelogs/40100120.txt index 01c33c5d52..1e10e5f2e3 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40100120.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40100120.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: URLプレビュー、新しい絵文字、新しいルーム設定機能、それにクリスマスには雪が! -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.12 +このバージョンの主な変更点:URLプレビュー、新しい絵文字、新しいルーム設定機能、それにクリスマスには雪が! +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.12 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40100130.txt b/fastlane/metadata/android/ja-JP/changelogs/40100130.txt index 941a052239..0e5ef9b8eb 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40100130.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40100130.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: URLプレビュー、新しい絵文字、新しいルーム設定機能、それにクリスマスには雪が! -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.13 +このバージョンの主な変更点:URLプレビュー、新しい絵文字、新しいルーム設定機能、それにクリスマスには雪が! +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.13 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40100140.txt b/fastlane/metadata/android/ja-JP/changelogs/40100140.txt index 6dc536cdcf..8fa9848d0b 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40100140.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40100140.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: 部屋の許可、自動のテーマ切替、そして多くのバグを修正しました。 -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.14 +このバージョンの主な変更点:部屋の許可、自動のテーマ切替、そして多くのバグを修正しました。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.14 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40100150.txt b/fastlane/metadata/android/ja-JP/changelogs/40100150.txt index caded1b8ed..c94330b70b 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40100150.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40100150.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: ソーシャルログインに対応しました。 -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.15 +このバージョンの主な変更点:ソーシャルログインに対応しました。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.15 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40100160.txt b/fastlane/metadata/android/ja-JP/changelogs/40100160.txt index 1b1a2092b0..ae947f1781 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40100160.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40100160.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: パフォーマンスの向上とバグの修正! -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.15 and https://github.com/vector-im/element-android/releases/tag/v1.0.16 +このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました! +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.15 and https://github.com/vector-im/element-android/releases/tag/v1.0.16 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40100170.txt b/fastlane/metadata/android/ja-JP/changelogs/40100170.txt index a0cc7b107d..01b742a9a2 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40100170.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40100170.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: バグの修正! -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.17 +このバージョンの主な変更点:バグを修正しました! +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.17 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40101000.txt b/fastlane/metadata/android/ja-JP/changelogs/40101000.txt index d0900f38c2..0c09cee3dd 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40101000.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40101000.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: パフォーマンスの向上とバグの修正! -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.0 +このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました! +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.0 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40101010.txt b/fastlane/metadata/android/ja-JP/changelogs/40101010.txt index cb204e5696..25ac73b449 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40101010.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40101010.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: パフォーマンスの向上とバグの修正! -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.1 +このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました! +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.1 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40101020.txt b/fastlane/metadata/android/ja-JP/changelogs/40101020.txt index bb6ab66525..762879a281 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40101020.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40101020.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: パフォーマンスの向上とバグの修正! -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.2 +このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました! +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.2 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40101030.txt b/fastlane/metadata/android/ja-JP/changelogs/40101030.txt index e7ecc05a0f..3c641c09ac 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40101030.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40101030.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点: パフォーマンスの向上とバグの修正! -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.3 +このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました! +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.3 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40101040.txt b/fastlane/metadata/android/ja-JP/changelogs/40101040.txt new file mode 100644 index 0000000000..2dc1cdb781 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40101040.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:パフォーマンスの向上と不具合の修正 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.4 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40101100.txt b/fastlane/metadata/android/ja-JP/changelogs/40101100.txt new file mode 100644 index 0000000000..2f720498ec --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40101100.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:テーマ、スタイルの更新と、スペースに関する新機能。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.10 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40101160.txt b/fastlane/metadata/android/ja-JP/changelogs/40101160.txt index 985ea10510..3e37e353d7 100644 --- a/fastlane/metadata/android/ja-JP/changelogs/40101160.txt +++ b/fastlane/metadata/android/ja-JP/changelogs/40101160.txt @@ -1,2 +1,2 @@ -このバージョンの主な変更点:ルームにて誰かがログアウトした際に発生するエラーを修正しました。 -全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.16 +このバージョンの主な変更点:ルームにて誰かがログアウトした際に発生するエラーを修正しました。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.16 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103070.txt b/fastlane/metadata/android/ja-JP/changelogs/40103070.txt new file mode 100644 index 0000000000..09c44e990d --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103070.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:主に通知に関する不具合の修正。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103080.txt b/fastlane/metadata/android/ja-JP/changelogs/40103080.txt new file mode 100644 index 0000000000..7c37f5a756 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103080.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:不具合の修正 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.8 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103090.txt b/fastlane/metadata/android/ja-JP/changelogs/40103090.txt new file mode 100644 index 0000000000..580b49e6d9 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103090.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:音声メッセージの下書き機能の追加。不具合の修正。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.9 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103100.txt b/fastlane/metadata/android/ja-JP/changelogs/40103100.txt new file mode 100644 index 0000000000..0527756005 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103100.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:アンケート機能のサポート(実験的)。URL プレビューの新規デザイン。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.10 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103110.txt b/fastlane/metadata/android/ja-JP/changelogs/40103110.txt new file mode 100644 index 0000000000..5295af5833 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103110.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:不具合の修正 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.11 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103120.txt b/fastlane/metadata/android/ja-JP/changelogs/40103120.txt new file mode 100644 index 0000000000..3859bee8d5 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103120.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:不具合の修正 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.12 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103130.txt b/fastlane/metadata/android/ja-JP/changelogs/40103130.txt new file mode 100644 index 0000000000..19d04a9b99 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103130.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:登録時の表示に関する変更(Analyticsへのオプトインなど)。数学に関するイベントをラボに追加。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.13 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103140.txt b/fastlane/metadata/android/ja-JP/changelogs/40103140.txt new file mode 100644 index 0000000000..c9f5062c5b --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103140.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:登録時の表示に関する変更(Analyticsへのオプトインなど)。数学に関するイベントをラボに追加。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.14 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40103150.txt b/fastlane/metadata/android/ja-JP/changelogs/40103150.txt new file mode 100644 index 0000000000..89c3117cf5 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40103150.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:登録時の表示に関する変更(Analyticsへのオプトインなど)。数学に関するイベントをラボに追加。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.15 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40104000.txt b/fastlane/metadata/android/ja-JP/changelogs/40104000.txt new file mode 100644 index 0000000000..22a205dc37 --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40104000.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:スレッド機能の実装、吹き出しメッセージ。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.4.0 diff --git a/fastlane/metadata/android/ja-JP/changelogs/40104020.txt b/fastlane/metadata/android/ja-JP/changelogs/40104020.txt new file mode 100644 index 0000000000..e792008faf --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40104020.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:@roomの対応、非公開の投票など。 +更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.4.2 diff --git a/fastlane/metadata/android/ja-JP/full_description.txt b/fastlane/metadata/android/ja-JP/full_description.txt index 6014938cce..ce1550acb0 100644 --- a/fastlane/metadata/android/ja-JP/full_description.txt +++ b/fastlane/metadata/android/ja-JP/full_description.txt @@ -1,42 +1,42 @@ -Elementは、安全なメッセンジャー、リモートワーク中のグループチャットに適したチームコラボレーションアプリです。エンドツーエンドの暗号化を使用して、強力なビデオ会議、ファイル共有、音声通話を提供します。 +Elementは、安全なメッセージングアプリ、リモートワーク中のグループチャットに適したチームコラボレーションアプリです。エンド・ツー・エンドの暗号化技術を使用して、強力なビデオ会議、ファイル共有、音声通話を提供します。 Elementの特徴 - 高度なオンラインコミュニケーションツール -- 完全に暗号化されたメッセージにより、リモートワーカーでも、より安全な企業コミュニケーションが可能 -- Matrixオープンソースフレームワークをベースにした分散型のチャット -- プロジェクトを管理しながら、暗号化されたデータで安全にファイル共有 +- メッセージの完全な暗号化。リモートワーカーでも、より安全な企業コミュニケーションが可能 +- Matrixオープンソースフレームワークに基づく、分散型のチャット +- プロジェクトの管理と並行して、データの暗号化によりファイルを安全に共有することが可能 - Voice over IPによるビデオチャットと画面共有 -- お気に入りのオンラインコラボレーションツール、プロジェクト管理ツール、VoIPサービス、その他のチームメッセージングアプリと簡単に統合可能 +- お気に入りのオンラインコラボレーションツールや、プロジェクト管理ツール、VoIPサービス、その他のチームメッセージングアプリと簡単に統合可能 -Elementは他のメッセージングアプリやコラボレーションアプリとは全く異なります。安全なメッセージングと分散型(非中央集権)コミュニケーションのためのオープンネットワークであるMatrixで動作します。ユーザーが自分のデータやメッセージを最大限にコントロールできるように、セルフホスティングも可能です。 +Elementは、他のメッセージングアプリやコラボレーションアプリとは全く異なります。安全なメッセージングと分散型(非中央集権型)コミュニケーションのためのオープンネットワークであるMatrixで動作します。自分のデータやメッセージを最大限にコントロールするために、あなた自身がサーバーを運営することもできます。 プライバシーと暗号化されたコミュニケーション -Elementは、望ましくない広告、データマイニング、ウォールドガーデンからユーザーを保護します。また、エンド・ツー・エンドの暗号化と相互署名された端末の検証により、全てのデータ、1対1のビデオおよび音声通信を保護します。 +Elementは、望ましくない広告、データマイニング、囲い込みからユーザーを守ります。また、エンド・ツー・エンドの暗号化と、相互署名による端末の認証に基づき、全てのデータ、ビデオ会議、音声通信を保護します。 -Elementは、Slackなどのアプリと統合することで、Matrixネットワーク上の誰とでも安全にコミュニケーションを取ることができると同時に、プライバシーをコントロールすることができます。 +Elementでは、Matrixネットワークにいる誰とでもコミュニケーションが行えるだけでなく、Slackなどのアプリと連携すれば、他のネットワークともコミュニケーションを行うとともに、プライバシーをコントロールすることができます。 -Elementはセルフホスティングが可能 -機密データや会話の管理を強化するために、Elementはセルフホスティングが可能です。または、オープンソースの分散型コミュニケーションの標準であるMatrixベースのホストを選択することもできます。Elementは、プライバシー、セキュリティーコンプライアンス、および統合の柔軟性を提供します。 +セルフホスティングが可能 +機密データや会話の管理を強化するために、Elementはセルフホスティングが可能です。または、オープンソースの分散型コミュニケーションの標準であるMatrixに基づくサーバーを選ぶこともできます。Elementは、プライバシー、セキュリティーコンプライアンス、および柔軟な機能統合を提供します。 自分のデータを所有する -データやメッセージをどこに保管するかは、ユーザー自身が決めることができます。データマイニングやサードパーティからのアクセスのリスクはありません。 +データやメッセージを保管する場所を自分で決めることができます。データマイニングや第三者へのデータ流出のリスクはありません。 -Elementでは、どのサーバーを使うかを、ご自身で決めることができます。 -1. 開発者がホストする matrix.org のパブリックサーバーで無料アカウントを取得するか、ボランティアがホストしているパブリックサーバーから選択する。 +Elementでは、どのサーバーを使うかをご自身で決めることができます。 +1. 開発者が運営する matrix.org の公開サーバーで無料アカウントを取得するか、ボランティアが管理している運営サーバーから選ぶ。 2. あなた自身がサーバーを運営し、アカウントを管理する。 -3. Element Matrix Servicesのホスティングプラットフォームに加入し、カスタムサーバー上でアカウントを作る。 +3. Element Matrix Servicesの運営プラットフォームに加入し、カスタムサーバー上でアカウントを作る。 オープンなメッセージングとコラボレーション -Matrixネットワーク上の誰とでも、相手がElementや他のMatrixアプリを使っているか、さらには他のメッセージングアプリを使っているかに関わらず、チャットをすることができます。 +相手がElement、他のMatrixアプリ、さらには他のメッセージングアプリを使っているかに関わらず、Matrixネットワーク上の誰とでもチャットをすることができます。 非常に安全 -本物のエンド・ツー・エンドの暗号化(会話に参加している人だけがメッセージを復号化できる)と、相互署名された端末の検証を行います。 +本物のエンド・ツー・エンドの暗号化(会話に参加している人だけがメッセージを復号化できます)と、クロス署名による端末の認証が可能です。 包括的なコミュニケーションと統合 -メッセージング、音声およびビデオ通話、ファイル共有、画面共有、その他多くのインテグレーション、ボット、ウィジェットを提供します。ルームやコミュニティーを立ち上げて連絡を取り合い、物事をスムーズに成し遂げることができます。 +メッセージング、音声およびビデオ通話、ファイル共有、画面共有、その他多くの機能統合、ボット、ウィジェットを提供します。ルームやコミュニティーを立ち上げて連絡を取り合い、物事をスムーズに成し遂げましょう。 -中断からの再開 -メッセージの履歴は全ての端末とウェブ(https://app.element.io)で完全に同期されるので、どこからでも連絡を取り合うことができます。 +いつでも、どこにいても +メッセージの履歴は、全ての端末とウェブ(https://app.element.io)で完全に同期されるので、どこからでも連絡を取り合うことができます。 オープンソース -Element AndroidはGitHubで開発されているオープンソースのプロジェクトです。 バグの報告や開発への貢献は https://github.com/vector-im/element-android にて受け付けています。 +Element Androidは、GitHubで開発されているオープンソースのプロジェクトです。 不具合の報告や開発への貢献は https://github.com/vector-im/element-android にて受け付けています。 diff --git a/fastlane/metadata/android/ru-RU/changelogs/40104000.txt b/fastlane/metadata/android/ru-RU/changelogs/40104000.txt new file mode 100644 index 0000000000..f6bf34b3cc --- /dev/null +++ b/fastlane/metadata/android/ru-RU/changelogs/40104000.txt @@ -0,0 +1,2 @@ +Основные изменения в этой версии: Начальная реализация веток сообщений. Сообщения пузыри. +Полный список изменений: https://github.com/vector-im/element-android/releases/tag/v1.4.0 diff --git a/fastlane/metadata/android/ru-RU/changelogs/40104020.txt b/fastlane/metadata/android/ru-RU/changelogs/40104020.txt new file mode 100644 index 0000000000..864bd03d5e --- /dev/null +++ b/fastlane/metadata/android/ru-RU/changelogs/40104020.txt @@ -0,0 +1,2 @@ +Основные изменения в этой версии: добавлена поддержка @room и нераскрытых опросов, а также множество других мелких изменений. +Полный список изменений: https://github.com/vector-im/element-android/releases/tag/v1.4.2 diff --git a/fastlane/metadata/android/sq/changelogs/40104000.txt b/fastlane/metadata/android/sq/changelogs/40104000.txt new file mode 100644 index 0000000000..f917c7c0cb --- /dev/null +++ b/fastlane/metadata/android/sq/changelogs/40104000.txt @@ -0,0 +1,2 @@ +Ndryshime kryesore në këtë version: Sendërtimi fillestar i mesazheve në rrjedha. Flluska mesazhesh. +Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.4.0 diff --git a/fastlane/metadata/android/sq/changelogs/40104020.txt b/fastlane/metadata/android/sq/changelogs/40104020.txt new file mode 100644 index 0000000000..2fbe4f2bf6 --- /dev/null +++ b/fastlane/metadata/android/sq/changelogs/40104020.txt @@ -0,0 +1,2 @@ +Ndryshimet kryesore në këtë version: shtim mbulimi për @room dhe për pyetësorë jopublikë, mes mjaft ndryshimesh të tjera të vockla. +Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.4.2 diff --git a/fastlane/metadata/android/sv-SE/changelogs/40104000.txt b/fastlane/metadata/android/sv-SE/changelogs/40104000.txt new file mode 100644 index 0000000000..6bce52ba36 --- /dev/null +++ b/fastlane/metadata/android/sv-SE/changelogs/40104000.txt @@ -0,0 +1,2 @@ +Huvudsakliga ändringar i den här versionen: Initial implementation av trådmeddelanden. Meddelandebubblor. +Full ändringslogg: https://github.com/vector-im/element-android/releases/tag/v1.4.0 diff --git a/fastlane/metadata/android/sv-SE/changelogs/40104020.txt b/fastlane/metadata/android/sv-SE/changelogs/40104020.txt new file mode 100644 index 0000000000..e3b5d4cd1c --- /dev/null +++ b/fastlane/metadata/android/sv-SE/changelogs/40104020.txt @@ -0,0 +1,2 @@ +Huvudsakliga ändringar i den här versionen: lägg till stöd för @room och slutna omröstningar, och många andra små ändringar. +Full ändringslogg: https://github.com/vector-im/element-android/releases/tag/v1.4.2 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dcf5e2cb7b..db3bccc1f9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=cd5c2958a107ee7f0722004a12d0f8559b4564c34daad7df06cffd4d12a426d0 -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip +distributionSha256Sum=a9a7b7baba105f6557c9dcf9c3c6e8f7e57e6b49889c5f1d133f015d0727e4be +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/library/jsonviewer/build.gradle b/library/jsonviewer/build.gradle index 15f46754b3..0cad8ac171 100644 --- a/library/jsonviewer/build.gradle +++ b/library/jsonviewer/build.gradle @@ -59,7 +59,7 @@ dependencies { implementation libs.jetbrains.coroutinesCore implementation libs.jetbrains.coroutinesAndroid - testImplementation 'org.json:json:20211205' + testImplementation 'org.json:json:20220320' testImplementation libs.tests.junit androidTestImplementation libs.androidx.junit androidTestImplementation libs.androidx.espressoCore diff --git a/library/jsonviewer/src/main/java/org/billcarsonfr/jsonviewer/JSonViewerEpoxyController.kt b/library/jsonviewer/src/main/java/org/billcarsonfr/jsonviewer/JSonViewerEpoxyController.kt index 96b5a9c997..9f8093f801 100644 --- a/library/jsonviewer/src/main/java/org/billcarsonfr/jsonviewer/JSonViewerEpoxyController.kt +++ b/library/jsonviewer/src/main/java/org/billcarsonfr/jsonviewer/JSonViewerEpoxyController.kt @@ -20,13 +20,12 @@ import android.content.Context import android.view.View import com.airbnb.epoxy.TypedEpoxyController import com.airbnb.mvrx.Fail -import com.airbnb.mvrx.Success import im.vector.lib.core.utils.epoxy.charsequence.toEpoxyCharSequence import me.gujun.android.span.Span import me.gujun.android.span.span internal class JSonViewerEpoxyController(private val context: Context) : - TypedEpoxyController() { + TypedEpoxyController() { private var styleProvider: JSonViewerStyleProvider = JSonViewerStyleProvider.default(context) @@ -44,10 +43,8 @@ internal class JSonViewerEpoxyController(private val context: Context) : text(async.error.localizedMessage?.toEpoxyCharSequence()) } } - is Success -> { - val model = data.root.invoke() - - model?.let { + else -> { + async.invoke()?.let { buildRec(it, 0, "") } } @@ -55,9 +52,9 @@ internal class JSonViewerEpoxyController(private val context: Context) : } private fun buildRec( - model: JSonViewerModel, - depth: Int, - idBase: String + model: JSonViewerModel, + depth: Int, + idBase: String ) { val host = this val id = "$idBase/${model.key ?: model.index}_${model.isExpanded}}" @@ -74,34 +71,34 @@ internal class JSonViewerEpoxyController(private val context: Context) : id(id + "_sum") depth(depth) text( - span { - if (model.key != null) { - span("\"${model.key}\"") { - textColor = host.styleProvider.keyColor - } - span(" : ") { - textColor = host.styleProvider.baseColor - } - } - if (model.index != null) { - span("${model.index}") { - textColor = host.styleProvider.secondaryColor - } - span(" : ") { - textColor = host.styleProvider.baseColor - } - } span { - +"{+${model.keys.size}}" - textColor = host.styleProvider.baseColor - } - }.toEpoxyCharSequence() + if (model.key != null) { + span("\"${model.key}\"") { + textColor = host.styleProvider.keyColor + } + span(" : ") { + textColor = host.styleProvider.baseColor + } + } + if (model.index != null) { + span("${model.index}") { + textColor = host.styleProvider.secondaryColor + } + span(" : ") { + textColor = host.styleProvider.baseColor + } + } + span { + +"{+${model.keys.size}}" + textColor = host.styleProvider.baseColor + } + }.toEpoxyCharSequence() ) itemClickListener(View.OnClickListener { host.itemClicked(model) }) } } } - is JSonViewerArray -> { + is JSonViewerArray -> { if (model.isExpanded) { open(id, model.key, model.index, depth, false, model) model.items.forEach { @@ -113,6 +110,38 @@ internal class JSonViewerEpoxyController(private val context: Context) : id(id + "_sum") depth(depth) text( + span { + if (model.key != null) { + span("\"${model.key}\"") { + textColor = host.styleProvider.keyColor + } + span(" : ") { + textColor = host.styleProvider.baseColor + } + } + if (model.index != null) { + span("${model.index}") { + textColor = host.styleProvider.secondaryColor + } + span(" : ") { + textColor = host.styleProvider.baseColor + } + } + span { + +"[+${model.items.size}]" + textColor = host.styleProvider.baseColor + } + }.toEpoxyCharSequence() + ) + itemClickListener(View.OnClickListener { host.itemClicked(model) }) + } + } + } + is JSonViewerLeaf -> { + valueItem { + id(id) + depth(depth) + text( span { if (model.key != null) { span("\"${model.key}\"") { @@ -122,6 +151,7 @@ internal class JSonViewerEpoxyController(private val context: Context) : textColor = host.styleProvider.baseColor } } + if (model.index != null) { span("${model.index}") { textColor = host.styleProvider.secondaryColor @@ -130,41 +160,8 @@ internal class JSonViewerEpoxyController(private val context: Context) : textColor = host.styleProvider.baseColor } } - span { - +"[+${model.items.size}]" - textColor = host.styleProvider.baseColor - } + append(host.valueToSpan(model)) }.toEpoxyCharSequence() - ) - itemClickListener(View.OnClickListener { host.itemClicked(model) }) - } - } - } - is JSonViewerLeaf -> { - valueItem { - id(id) - depth(depth) - text( - span { - if (model.key != null) { - span("\"${model.key}\"") { - textColor = host.styleProvider.keyColor - } - span(" : ") { - textColor = host.styleProvider.baseColor - } - } - - if (model.index != null) { - span("${model.index}") { - textColor = host.styleProvider.secondaryColor - } - span(" : ") { - textColor = host.styleProvider.baseColor - } - } - append(host.valueToSpan(model)) - }.toEpoxyCharSequence() ) copyValue(model.stringRes) } @@ -175,12 +172,12 @@ internal class JSonViewerEpoxyController(private val context: Context) : private fun valueToSpan(leaf: JSonViewerLeaf): Span { val host = this return when (leaf.type) { - JSONType.STRING -> { + JSONType.STRING -> { span("\"${leaf.stringRes}\"") { textColor = host.styleProvider.stringColor } } - JSONType.NUMBER -> { + JSONType.NUMBER -> { span(leaf.stringRes) { textColor = host.styleProvider.numberColor } @@ -190,7 +187,7 @@ internal class JSonViewerEpoxyController(private val context: Context) : textColor = host.styleProvider.booleanColor } } - JSONType.NULL -> { + JSONType.NULL -> { span("null") { textColor = host.styleProvider.booleanColor } @@ -199,42 +196,42 @@ internal class JSonViewerEpoxyController(private val context: Context) : } private fun open( - id: String, - key: String?, - index: Int?, - depth: Int, - isObject: Boolean = true, - composed: JSonViewerModel + id: String, + key: String?, + index: Int?, + depth: Int, + isObject: Boolean = true, + composed: JSonViewerModel ) { val host = this valueItem { id("${id}_Open") depth(depth) text( - span { - if (key != null) { - span("\"$key\"") { - textColor = host.styleProvider.keyColor + span { + if (key != null) { + span("\"$key\"") { + textColor = host.styleProvider.keyColor + } + span(" : ") { + textColor = host.styleProvider.baseColor + } } - span(" : ") { - textColor = host.styleProvider.baseColor + if (index != null) { + span("$index") { + textColor = host.styleProvider.secondaryColor + } + span(" : ") { + textColor = host.styleProvider.baseColor + } } - } - if (index != null) { - span("$index") { + span("- ") { textColor = host.styleProvider.secondaryColor } - span(" : ") { + span("{".takeIf { isObject } ?: "[") { textColor = host.styleProvider.baseColor } - } - span("- ") { - textColor = host.styleProvider.secondaryColor - } - span("{".takeIf { isObject } ?: "[") { - textColor = host.styleProvider.baseColor - } - }.toEpoxyCharSequence() + }.toEpoxyCharSequence() ) itemClickListener(View.OnClickListener { host.itemClicked(composed) }) } @@ -251,10 +248,10 @@ internal class JSonViewerEpoxyController(private val context: Context) : id("${id}_Close") depth(depth) text( - span { - text = "}".takeIf { isObject } ?: "]" - textColor = host.styleProvider.baseColor - }.toEpoxyCharSequence() + span { + text = "}".takeIf { isObject } ?: "]" + textColor = host.styleProvider.baseColor + }.toEpoxyCharSequence() ) } } diff --git a/library/jsonviewer/src/main/java/org/billcarsonfr/jsonviewer/ValueItem.kt b/library/jsonviewer/src/main/java/org/billcarsonfr/jsonviewer/ValueItem.kt index 227ac2a71d..00d66645e6 100644 --- a/library/jsonviewer/src/main/java/org/billcarsonfr/jsonviewer/ValueItem.kt +++ b/library/jsonviewer/src/main/java/org/billcarsonfr/jsonviewer/ValueItem.kt @@ -20,7 +20,6 @@ import android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.view.ContextMenu -import android.view.Menu import android.view.View import android.widget.LinearLayout import android.widget.TextView @@ -77,10 +76,7 @@ internal abstract class ValueItem : EpoxyModelWithHolder() { menuInfo: ContextMenu.ContextMenuInfo? ) { if (copyValue != null) { - val menuItem = menu?.add( - Menu.NONE, R.id.copy_value, - Menu.NONE, R.string.copy_value - ) + val menuItem = menu?.add(R.string.copy_value) val clipService = v?.context?.getSystemService(Context.CLIPBOARD_SERVICE) as? ClipboardManager menuItem?.setOnMenuItemClickListener { diff --git a/library/jsonviewer/src/main/res/menu/jv_menu_item.xml b/library/jsonviewer/src/main/res/menu/jv_menu_item.xml deleted file mode 100644 index 4da69b5117..0000000000 --- a/library/jsonviewer/src/main/res/menu/jv_menu_item.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/library/jsonviewer/src/main/res/values/strings.xml b/library/jsonviewer/src/main/res/values/strings.xml index cc4b8726b4..fbd67256f5 100644 --- a/library/jsonviewer/src/main/res/values/strings.xml +++ b/library/jsonviewer/src/main/res/values/strings.xml @@ -1,3 +1,4 @@ + Copy Value diff --git a/library/multipicker/src/main/java/im/vector/lib/multipicker/utils/CursorExtensions.kt b/library/multipicker/src/main/java/im/vector/lib/multipicker/utils/CursorExtensions.kt index 87cf48d0a7..72880babbf 100644 --- a/library/multipicker/src/main/java/im/vector/lib/multipicker/utils/CursorExtensions.kt +++ b/library/multipicker/src/main/java/im/vector/lib/multipicker/utils/CursorExtensions.kt @@ -17,7 +17,12 @@ package im.vector.lib.multipicker.utils import android.database.Cursor +import androidx.core.database.getStringOrNull fun Cursor.getColumnIndexOrNull(column: String): Int? { return getColumnIndex(column).takeIf { it != -1 } } + +fun Cursor.readStringColumnOrNull(column: String): String? { + return getColumnIndexOrNull(column)?.let { getStringOrNull(it) } +} diff --git a/library/ui-styles/build.gradle b/library/ui-styles/build.gradle index cee58414c7..0ac513b252 100644 --- a/library/ui-styles/build.gradle +++ b/library/ui-styles/build.gradle @@ -60,6 +60,4 @@ dependencies { implementation 'com.github.vector-im:PFLockScreen-Android:1.0.0-beta12' // dialpad dimen implementation 'im.dlg:android-dialer:1.2.5' - // AudioRecordView attr - implementation 'com.github.Armen101:AudioRecordView:1.0.5' } \ No newline at end of file diff --git a/library/ui-styles/src/debug/res/layout/activity_debug_button_styles.xml b/library/ui-styles/src/debug/res/layout/activity_debug_button_styles.xml index 0f129fb406..cc15bb1b3b 100644 --- a/library/ui-styles/src/debug/res/layout/activity_debug_button_styles.xml +++ b/library/ui-styles/src/debug/res/layout/activity_debug_button_styles.xml @@ -71,19 +71,6 @@ android:enabled="false" android:text="Destructive disabled" /> -