Merge branch 'develop' into maths
This commit is contained in:
commit
95b1ae9488
@ -9,25 +9,6 @@ insert_final_newline=true
|
|||||||
# it's automatically set to 100 on `ktlint --android ...` (per Android Kotlin Style Guide)
|
# it's automatically set to 100 on `ktlint --android ...` (per Android Kotlin Style Guide)
|
||||||
max_line_length=off
|
max_line_length=off
|
||||||
|
|
||||||
# Comma-separated list of rules to disable (Since 0.34.0)
|
# From https://github.com/pinterest/ktlint#custom-ktlint-specific-editorconfig-properties
|
||||||
# Note that rules in any ruleset other than the standard ruleset will need to be prefixed
|
# default IntelliJ IDEA style, same as alphabetical, but with "java", "javax", "kotlin" and alias imports in the end of the imports list
|
||||||
# by the ruleset identifier.
|
ij_kotlin_imports_layout=*,java.**,javax.**,kotlin.**,^
|
||||||
disabled_rules=no-multi-spaces,colon-spacing,chain-wrapping,import-ordering,experimental:annotation
|
|
||||||
|
|
||||||
# The following (so far identified) rules are kept:
|
|
||||||
# no-blank-line-before-rbrace
|
|
||||||
# final-newline
|
|
||||||
# no-consecutive-blank-lines
|
|
||||||
# comment-spacing
|
|
||||||
# filename
|
|
||||||
# comma-spacing
|
|
||||||
# paren-spacing
|
|
||||||
# op-spacing
|
|
||||||
# string-template
|
|
||||||
# no-unused-imports
|
|
||||||
# curly-spacing
|
|
||||||
# no-semi
|
|
||||||
# no-empty-class-body
|
|
||||||
# experimental:multiline-if-else
|
|
||||||
# experimental:no-empty-first-line-in-method-block
|
|
||||||
# no-wildcard-imports
|
|
||||||
|
10
.github/ISSUE_TEMPLATE/bug.yml
vendored
10
.github/ISSUE_TEMPLATE/bug.yml
vendored
@ -23,12 +23,12 @@ body:
|
|||||||
- type: textarea
|
- type: textarea
|
||||||
id: result
|
id: result
|
||||||
attributes:
|
attributes:
|
||||||
label: What happened?
|
label: Outcome
|
||||||
placeholder: Tell us what went wrong
|
placeholder: Tell us what went wrong
|
||||||
value: |
|
value: |
|
||||||
### What did you expect?
|
#### What did you expect?
|
||||||
|
|
||||||
### What happened?
|
#### What happened instead?
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: input
|
- type: input
|
||||||
@ -64,9 +64,9 @@ body:
|
|||||||
- type: dropdown
|
- type: dropdown
|
||||||
id: rageshake
|
id: rageshake
|
||||||
attributes:
|
attributes:
|
||||||
label: Have you submitted a rageshake?
|
label: Will you send logs?
|
||||||
description: |
|
description: |
|
||||||
Did you know that you can shake your phone to submit logs for this issue? Trigger the defect, then shake your phone and you will see a popup asking if you would like to open the bug report screen. Click YES, and describe the issue, mentioning that you have also filed a bug. Submit the report to send anonymous logs to the developers.
|
Did you know that you can shake your phone to submit logs for this issue? Trigger the defect, then shake your phone and you will see a popup asking if you would like to open the bug report screen. Click YES, and describe the issue, mentioning that you have also filed a bug (it's helpful if you can include a link to the bug). Send the report to submit anonymous logs to the developers.
|
||||||
options:
|
options:
|
||||||
- 'Yes'
|
- 'Yes'
|
||||||
- 'No'
|
- 'No'
|
||||||
|
2
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
2
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
@ -10,7 +10,7 @@ body:
|
|||||||
id: usecase
|
id: usecase
|
||||||
attributes:
|
attributes:
|
||||||
label: Your use case
|
label: Your use case
|
||||||
description: What would you like to be able to do? Please feel welcome to include screenshots or mock ups.
|
description: Please feel welcome to include screenshots or mock ups.
|
||||||
placeholder: Tell us what you would like to do!
|
placeholder: Tell us what you would like to do!
|
||||||
value: |
|
value: |
|
||||||
#### What would you like to do?
|
#### What would you like to do?
|
||||||
|
10
.github/ISSUE_TEMPLATE/release.yml
vendored
10
.github/ISSUE_TEMPLATE/release.yml
vendored
@ -1,7 +1,7 @@
|
|||||||
name: Release checklist
|
name: Release checklist
|
||||||
description: Checklist for each release. This template is only for the core team.
|
description: Checklist for each release. This template is only for the core team.
|
||||||
title: "[Release] Element Android v"
|
title: "[Release] Element Android v"
|
||||||
labels: [\U0001F680 Release]
|
labels: [🚀 Release]
|
||||||
assignees:
|
assignees:
|
||||||
- bmarty
|
- bmarty
|
||||||
|
|
||||||
@ -23,8 +23,6 @@ body:
|
|||||||
### Do the release
|
### Do the release
|
||||||
|
|
||||||
- [ ] Create release with gitflow, branch name `release/1.1.10`
|
- [ ] Create release with gitflow, branch name `release/1.1.10`
|
||||||
- [ ] Run `./tools/import_emojis.py` and commit the change if any.
|
|
||||||
- [ ] Run `./tools/import_sas_strings.py` and commit the change if any. If there is no change since a while, ping Travis
|
|
||||||
- [ ] Check the crashes from the PlayStore
|
- [ ] Check the crashes from the PlayStore
|
||||||
- [ ] Check the rageshake with the current dev version: https://github.com/matrix-org/element-android-rageshakes/labels/1.1.10-dev
|
- [ ] Check the rageshake with the current dev version: https://github.com/matrix-org/element-android-rageshakes/labels/1.1.10-dev
|
||||||
- [ ] Run the integration test, and especially `UiAllScreensSanityTest.allScreensTest()`
|
- [ ] Run the integration test, and especially `UiAllScreensSanityTest.allScreensTest()`
|
||||||
@ -71,14 +69,14 @@ body:
|
|||||||
https://github.com/matrix-org/matrix-android-sdk2
|
https://github.com/matrix-org/matrix-android-sdk2
|
||||||
|
|
||||||
- [ ] Create a release with GitFlow
|
- [ ] Create a release with GitFlow
|
||||||
|
- [ ] Update the value of VERSION_NAME in the file gradle.properties
|
||||||
- [ ] Update the files `./build.gradle` and `./gradle/gradle-wrapper.properties` manually, to use the latest version for the dependency. You can get inspired by the same files on Element Android project.
|
- [ ] Update the files `./build.gradle` and `./gradle/gradle-wrapper.properties` manually, to use the latest version for the dependency. You can get inspired by the same files on Element Android project.
|
||||||
- [ ] Run the script `./tools/import_from_element.sh`
|
- [ ] Run the script `./tools/import_from_element.sh`
|
||||||
- [ ] Update the version in `./matrix-sdk-android/build.gradle`
|
- [ ] Check the diff in the file `./matrix-sdk-android/build.gradle` and restore what may have been erased (in particular the line `apply plugin: "com.vanniktech.maven.publish"` and the line about the version)
|
||||||
- [ ] Check the diff on this file and restore what may have been erased (in particular the line `apply plugin: "com.vanniktech.maven.publish"`)
|
|
||||||
- [ ] Let the script finish to build the library
|
- [ ] Let the script finish to build the library
|
||||||
- [ ] Update the file `CHANGES.md`
|
- [ ] Update the file `CHANGES.md`
|
||||||
- [ ] Update the value of VERSION_NAME in the file gradle.properties
|
|
||||||
- [ ] Finish the release using GitFlow
|
- [ ] Finish the release using GitFlow
|
||||||
|
- [ ] Push the branch `main`, the new tag and the branch `develop` to origin
|
||||||
|
|
||||||
##### Release on MavenCentral
|
##### Release on MavenCentral
|
||||||
|
|
||||||
|
10
.github/PULL_REQUEST_TEMPLATE.md
vendored
10
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,10 +1,16 @@
|
|||||||
### Pull Request Checklist
|
### Pull Request Checklist
|
||||||
|
|
||||||
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
|
<!--
|
||||||
|
Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request
|
||||||
|
Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked.
|
||||||
|
-->
|
||||||
|
|
||||||
- [ ] Changes has been tested on an Android device or Android emulator with API 21
|
- [ ] Changes has been tested on an Android device or Android emulator with API 21
|
||||||
- [ ] UI change has been tested on both light and dark themes
|
- [ ] UI change has been tested on both light and dark themes
|
||||||
|
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#accessibility
|
||||||
- [ ] Pull request is based on the develop branch
|
- [ ] Pull request is based on the develop branch
|
||||||
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog
|
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog
|
||||||
- [ ] Pull request includes screenshots or videos if containing UI changes
|
- [ ] Pull request includes screenshots or videos if containing UI changes
|
||||||
- [ ] Pull request includes a [sign off](https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.md#sign-off)
|
- [ ] Pull request includes a [sign off](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#sign-off)
|
||||||
|
- [ ] You've made a self review of your PR
|
||||||
|
- [ ] If you have modified the screen flow, or added new screens to the application, you have updated the test [UiAllScreensSanityTest.allScreensTest()](https://github.com/vector-im/element-android/blob/main/vector/src/androidTest/java/im/vector/app/ui/UiAllScreensSanityTest.kt#L73)
|
||||||
|
5
.github/dependabot.yml
vendored
5
.github/dependabot.yml
vendored
@ -18,6 +18,5 @@ updates:
|
|||||||
open-pull-requests-limit: 200
|
open-pull-requests-limit: 200
|
||||||
reviewers:
|
reviewers:
|
||||||
- "bmarty"
|
- "bmarty"
|
||||||
### ignore:
|
ignore:
|
||||||
### - dependency-name: com.squareup.okhttp3:logging-interceptor
|
- dependency-name: com.google.zxing:core
|
||||||
### versions: "> 3.12.10"
|
|
||||||
|
12
.github/workflows/quality.yml
vendored
12
.github/workflows/quality.yml
vendored
@ -14,15 +14,19 @@ jobs:
|
|||||||
- name: Run code quality check suite
|
- name: Run code quality check suite
|
||||||
run: ./tools/check/check_code_quality.sh
|
run: ./tools/check/check_code_quality.sh
|
||||||
|
|
||||||
klint:
|
ktlint:
|
||||||
name: Kotlin Linter
|
name: Kotlin Linter
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Run klint
|
- name: Run ktlint
|
||||||
run: |
|
run: |
|
||||||
curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.36.0/ktlint && chmod a+x ktlint
|
./gradlew ktlintCheck --continue
|
||||||
./ktlint --android --experimental -v
|
- name: Upload reports
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ktlinting-report
|
||||||
|
path: vector/build/reports/ktlint/*.*
|
||||||
|
|
||||||
# Lint for main module and all the other modules
|
# Lint for main module and all the other modules
|
||||||
android-lint:
|
android-lint:
|
||||||
|
40
.github/workflows/sanity_test.yml
vendored
40
.github/workflows/sanity_test.yml
vendored
@ -1,9 +1,9 @@
|
|||||||
name: Sanity Test
|
name: Sanity Test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request: { }
|
schedule:
|
||||||
push:
|
# At 20:00 every day UTC
|
||||||
branches: [ main, develop ]
|
- cron: '0 20 * * *'
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
@ -14,13 +14,15 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
integration-tests:
|
integration-tests:
|
||||||
name: Sanity Tests (Synapse)
|
name: Sanity Tests (Synapse)
|
||||||
runs-on: ubuntu-latest
|
runs-on: macos-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
api-level: [28]
|
api-level: [ 29 ]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
ref: develop
|
||||||
- name: Set up Python 3.8
|
- name: Set up Python 3.8
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v2
|
||||||
with:
|
with:
|
||||||
@ -46,11 +48,31 @@ jobs:
|
|||||||
python3 -m venv .synapse
|
python3 -m venv .synapse
|
||||||
source .synapse/bin/activate
|
source .synapse/bin/activate
|
||||||
pip install synapse matrix-synapse
|
pip install synapse matrix-synapse
|
||||||
curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh --no-rate-limit \
|
curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \
|
||||||
| sed s/127.0.0.1/0.0.0.0/g | bash
|
| 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: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
- name: Run sanity tests on API ${{ matrix.api-level }}
|
- name: Run sanity tests on API ${{ matrix.api-level }}
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
uses: reactivecircus/android-emulator-runner@v2
|
||||||
with:
|
with:
|
||||||
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||||
api-level: ${{ matrix.api-level }}
|
api-level: ${{ matrix.api-level }}
|
||||||
script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest
|
profile: 24 # Pixel 5
|
||||||
|
emulator-build: 7425822 # workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160
|
||||||
|
script: |
|
||||||
|
adb root
|
||||||
|
adb logcat -c
|
||||||
|
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
|
||||||
|
- name: Upload Failing Test Report Log
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: failure()
|
||||||
|
with:
|
||||||
|
name: sanity-error-results
|
||||||
|
path: |
|
||||||
|
emulator.log
|
||||||
|
failure_screenshots/
|
96
.github/workflows/sync-from-external-sources.yml
vendored
Normal file
96
.github/workflows/sync-from-external-sources.yml
vendored
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
name: Sync Data From External Sources
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# At 00:00 on every Monday UTC
|
||||||
|
- cron: '0 0 * * 1'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sync-emojis:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Skip in forks
|
||||||
|
if: github.repository == 'vector-im/element-android'
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Python 3.8
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
- name: Cache pip
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pip
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pip-
|
||||||
|
${{ runner.os }}-
|
||||||
|
- name: Install Prerequisite dependencies
|
||||||
|
run: |
|
||||||
|
pip install BeautifulSoup4
|
||||||
|
pip install requests
|
||||||
|
- name: Run Emoji script
|
||||||
|
run: ./tools/import_emojis.py
|
||||||
|
- name: Create Pull Request for Emojis
|
||||||
|
uses: peter-evans/create-pull-request@v3
|
||||||
|
with:
|
||||||
|
commit-message: Sync Emojis
|
||||||
|
title: Sync Emojis
|
||||||
|
body: |
|
||||||
|
- Update Emojis from Unicode.org
|
||||||
|
branch: sync-emojis
|
||||||
|
base: develop
|
||||||
|
|
||||||
|
sync-sas-strings:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Skip in forks
|
||||||
|
if: github.repository == 'vector-im/element-android'
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Python 3.8
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
- name: Cache pip
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pip
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pip-
|
||||||
|
${{ runner.os }}-
|
||||||
|
- name: Install Prerequisite dependencies
|
||||||
|
run: |
|
||||||
|
pip install requests
|
||||||
|
- name: Run SAS String script
|
||||||
|
run: ./tools/import_sas_strings.py
|
||||||
|
- name: Create Pull Request for SAS Strings
|
||||||
|
uses: peter-evans/create-pull-request@v3
|
||||||
|
with:
|
||||||
|
commit-message: Sync SAS Strings
|
||||||
|
title: Sync SAS Strings
|
||||||
|
body: |
|
||||||
|
- Update SAS Strings from matrix-doc.
|
||||||
|
branch: sync-sas-strings
|
||||||
|
base: develop
|
||||||
|
|
||||||
|
sync-analytics-plan:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Skip in forks
|
||||||
|
if: github.repository == 'vector-im/element-android'
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Run analytics import script
|
||||||
|
run: ./tools/import_analytic_plan.sh
|
||||||
|
- name: Create Pull Request for analytics plan
|
||||||
|
uses: peter-evans/create-pull-request@v3
|
||||||
|
with:
|
||||||
|
commit-message: Sync analytics plan
|
||||||
|
title: Sync analytics plan
|
||||||
|
body: |
|
||||||
|
### Update analytics plan
|
||||||
|
Reviewers:
|
||||||
|
- [ ] Please remove usage of Event or Enum which may have been removed or updated
|
||||||
|
- [ ] please ensure new Events or new Enums are used to send analytics by pushing new commit(s) to this PR.
|
||||||
|
|
||||||
|
*Note*: Change are coming from [this project](https://github.com/matrix-org/matrix-analytics-events)
|
||||||
|
branch: sync-analytics-plan
|
||||||
|
base: develop
|
17
.github/workflows/triage-incoming.yml
vendored
Normal file
17
.github/workflows/triage-incoming.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
name: Move new issues onto Issue triage board
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [ opened ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
automate-project-columns:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' # Skip in forks
|
||||||
|
steps:
|
||||||
|
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||||
|
with:
|
||||||
|
project: Issue triage
|
||||||
|
column: Incoming
|
||||||
|
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
149
.github/workflows/triage-move-labelled.yml
vendored
Normal file
149
.github/workflows/triage-move-labelled.yml
vendored
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
name: Move labelled issues to correct boards and columns
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [ labeled ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
move_needs_info_issues:
|
||||||
|
name: X-Needs-Info issues to Need info column on triage board
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' # Skip in forks
|
||||||
|
steps:
|
||||||
|
- uses: konradpabjan/move-labeled-or-milestoned-issue@219d384e03fa4b6460cd24f9f37d19eb033a4338
|
||||||
|
with:
|
||||||
|
action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
|
||||||
|
project-url: "https://github.com/vector-im/element-android/projects/4"
|
||||||
|
column-name: "Need info"
|
||||||
|
label-name: "X-Needs-Info"
|
||||||
|
|
||||||
|
add_priority_design_issues_to_project:
|
||||||
|
name: P1 X-Needs-Design to Design project board
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' && # Skip in forks
|
||||||
|
contains(github.event.issue.labels.*.name, 'X-Needs-Design') &&
|
||||||
|
(contains(github.event.issue.labels.*.name, 'S-Critical') &&
|
||||||
|
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
||||||
|
steps:
|
||||||
|
- uses: octokit/graphql-action@v2.x
|
||||||
|
id: add_to_project
|
||||||
|
with:
|
||||||
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
query: |
|
||||||
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||||
|
projectNextItem {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
projectid: ${{ env.PROJECT_ID }}
|
||||||
|
contentid: ${{ github.event.issue.node_id }}
|
||||||
|
env:
|
||||||
|
PROJECT_ID: "PN_kwDOAM0swc0sUA"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
# delight_issues_to_board:
|
||||||
|
# name: Spaces issues to new Delight project board
|
||||||
|
# runs-on: ubuntu-latest
|
||||||
|
# if: |
|
||||||
|
# github.repository == 'vector-im/element-android' && # Skip in forks
|
||||||
|
# contains(github.event.issue.labels.*.name, 'A-Spaces') ||
|
||||||
|
# contains(github.event.issue.labels.*.name, 'A-Space-Settings') ||
|
||||||
|
# contains(github.event.issue.labels.*.name, 'A-Subspaces')
|
||||||
|
# steps:
|
||||||
|
# - uses: octokit/graphql-action@v2.x
|
||||||
|
# with:
|
||||||
|
# headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
# query: |
|
||||||
|
# mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
# addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||||
|
# projectNextItem {
|
||||||
|
# id
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
# projectid: ${{ env.PROJECT_ID }}
|
||||||
|
# contentid: ${{ github.event.issue.node_id }}
|
||||||
|
# env:
|
||||||
|
# PROJECT_ID: "PN_kwDOAM0swc1HvQ"
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
move_voice-message_issues:
|
||||||
|
name: A-Voice Messages to voice message board
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' && # Skip in forks
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-Voice Messages')
|
||||||
|
steps:
|
||||||
|
- uses: octokit/graphql-action@v2.x
|
||||||
|
with:
|
||||||
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
query: |
|
||||||
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||||
|
projectNextItem {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
projectid: ${{ env.PROJECT_ID }}
|
||||||
|
contentid: ${{ github.event.issue.node_id }}
|
||||||
|
env:
|
||||||
|
PROJECT_ID: "PN_kwDOAM0swc2KCw"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
move_threads_issues:
|
||||||
|
name: A-Threads to Thread board
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' && # Skip in forks
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-Threads')
|
||||||
|
steps:
|
||||||
|
- uses: octokit/graphql-action@v2.x
|
||||||
|
with:
|
||||||
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
query: |
|
||||||
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||||
|
projectNextItem {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
projectid: ${{ env.PROJECT_ID }}
|
||||||
|
contentid: ${{ github.event.issue.node_id }}
|
||||||
|
env:
|
||||||
|
PROJECT_ID: "PN_kwDOAM0swc0rRA"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
move_message_bubbles_issues:
|
||||||
|
name: A-Message-Bubbles to Message bubbles board
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' && # Skip in forks
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-Message-Bubbles')
|
||||||
|
steps:
|
||||||
|
- uses: octokit/graphql-action@v2.x
|
||||||
|
with:
|
||||||
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
query: |
|
||||||
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||||
|
projectNextItem {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
projectid: ${{ env.PROJECT_ID }}
|
||||||
|
contentid: ${{ github.event.issue.node_id }}
|
||||||
|
env:
|
||||||
|
PROJECT_ID: "PN_kwDOAM0swc3m-g"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
35
.github/workflows/triage-move-unlabelled.yml
vendored
Normal file
35
.github/workflows/triage-move-unlabelled.yml
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
name: Move unlabelled from needs info columns to triaged
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [ unlabeled ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Move_Unabeled_Issue_On_Project_Board:
|
||||||
|
name: Move no longer X-Needs-Info issues to Triaged
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' && # Skip in forks
|
||||||
|
!contains(github.event.issue.labels.*.name, 'X-Needs-Info')
|
||||||
|
env:
|
||||||
|
BOARD_NAME: "Issue triage"
|
||||||
|
OWNER: ${{ github.repository_owner }}
|
||||||
|
REPO: ${{ github.event.repository.name }}
|
||||||
|
ISSUE: ${{ github.event.issue.number }}
|
||||||
|
steps:
|
||||||
|
- name: Check if issue is already in "${{ env.BOARD_NAME }}"
|
||||||
|
run: |
|
||||||
|
if curl -i -H 'Content-Type: application/json' -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -X POST -d '{"query": "query($issue: Int!, $owner: String!, $repo: String!) { repository(owner: $owner, name: $repo) { issue(number: $issue) { projectCards { nodes { project { name } } } } } } ", "variables" : "{ \"issue\": '${ISSUE}', \"owner\": \"'${OWNER}'\", \"repo\": \"'${REPO}'\" }" }' https://api.github.com/graphql | grep "\b$BOARD_NAME\b"; then
|
||||||
|
echo "Issue is already in Project '$BOARD_NAME', proceeding";
|
||||||
|
echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "Issue is not in project '$BOARD_NAME', cancelling this workflow"
|
||||||
|
echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
- name: Move issue
|
||||||
|
uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||||
|
if: ${{ env.ALREADY_IN_BOARD == 'true' }}
|
||||||
|
with:
|
||||||
|
project: Issue triage
|
||||||
|
column: Triaged
|
||||||
|
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
57
.github/workflows/triage-priority-bugs.yml
vendored
Normal file
57
.github/workflows/triage-priority-bugs.yml
vendored
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
name: Move P1 bugs to boards
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [ labeled, unlabeled ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
p1_issues_to_team_workboard:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' && # Skip in forks
|
||||||
|
(!contains(github.event.issue.labels.*.name, 'A-E2EE') &&
|
||||||
|
!contains(github.event.issue.labels.*.name, 'A-E2EE-Cross-Signing') &&
|
||||||
|
!contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') &&
|
||||||
|
!contains(github.event.issue.labels.*.name, 'A-E2EE-Key-Backup') &&
|
||||||
|
!contains(github.event.issue.labels.*.name, 'A-E2EE-SAS-Verification') &&
|
||||||
|
!contains(github.event.issue.labels.*.name, 'A-Spaces') &&
|
||||||
|
!contains(github.event.issue.labels.*.name, 'A-Spaces-Settings') &&
|
||||||
|
!contains(github.event.issue.labels.*.name, 'A-Subspaces')) &&
|
||||||
|
(contains(github.event.issue.labels.*.name, 'T-Defect') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'S-Critical') &&
|
||||||
|
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
||||||
|
steps:
|
||||||
|
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||||
|
with:
|
||||||
|
project: Android App Team
|
||||||
|
column: P1
|
||||||
|
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
P1_issues_to_crypto_team_workboard:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.repository == 'vector-im/element-android' && # Skip in forks
|
||||||
|
(contains(github.event.issue.labels.*.name, 'A-E2EE') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-E2EE-Cross-Signing') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-E2EE-Key-Backup') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-E2EE-SAS-Verification')) &&
|
||||||
|
(contains(github.event.issue.labels.*.name, 'T-Defect') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'S-Critical') &&
|
||||||
|
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
||||||
|
steps:
|
||||||
|
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||||
|
with:
|
||||||
|
project: Crypto Team
|
||||||
|
column: Ready
|
||||||
|
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -8,6 +8,7 @@
|
|||||||
.idea/*.xml
|
.idea/*.xml
|
||||||
.DS_Store
|
.DS_Store
|
||||||
/build
|
/build
|
||||||
|
/benchmark-out
|
||||||
/captures
|
/captures
|
||||||
.externalNativeBuild
|
.externalNativeBuild
|
||||||
|
|
||||||
@ -15,4 +16,4 @@
|
|||||||
/fastlane/private
|
/fastlane/private
|
||||||
/fastlane/report.xml
|
/fastlane/report.xml
|
||||||
|
|
||||||
ktlint
|
/library/build
|
||||||
|
1
.idea/dictionaries/bmarty.xml
generated
1
.idea/dictionaries/bmarty.xml
generated
@ -24,6 +24,7 @@
|
|||||||
<w>pbkdf</w>
|
<w>pbkdf</w>
|
||||||
<w>pids</w>
|
<w>pids</w>
|
||||||
<w>pkcs</w>
|
<w>pkcs</w>
|
||||||
|
<w>posthog</w>
|
||||||
<w>previewable</w>
|
<w>previewable</w>
|
||||||
<w>previewables</w>
|
<w>previewables</w>
|
||||||
<w>pstn</w>
|
<w>pstn</w>
|
||||||
|
325
CHANGES.md
325
CHANGES.md
@ -1,3 +1,328 @@
|
|||||||
|
Changes in Element v1.3.12 (2021-12-20)
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Fixing emoji related crashes on android 8.1.1 and below ([#4769](https://github.com/vector-im/element-android/issues/4769))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.11 (2021-12-17)
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Fixing proximity sensor still being active after a call ([#2467](https://github.com/vector-im/element-android/issues/2467))
|
||||||
|
- Fix name and shield are truncated in the room detail screen ([#4700](https://github.com/vector-im/element-android/issues/4700))
|
||||||
|
- Call banner: center text vertically ([#4710](https://github.com/vector-im/element-android/issues/4710))
|
||||||
|
- Fixes unable to render messages by allowing them to render whilst the emoji library is initialising ([#4733](https://github.com/vector-im/element-android/issues/4733))
|
||||||
|
- Fix app crash uppon long press on a reply event ([#4742](https://github.com/vector-im/element-android/issues/4742))
|
||||||
|
- Fixes crash when launching rooms which contain emojis in the emote content on android 12+ ([#4743](https://github.com/vector-im/element-android/issues/4743))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Avoids leaking the activity windows when loading dialogs are displaying ([#4713](https://github.com/vector-im/element-android/issues/4713))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.10 (2021-12-14)
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Poll Feature - Render in timeline ([#4653](https://github.com/vector-im/element-android/issues/4653))
|
||||||
|
- Updates URL previews to match latest designs ([#4278](https://github.com/vector-im/element-android/issues/4278))
|
||||||
|
- Setup Analytics framework using PostHog. Analytics are disabled by default. Opt-in screen not automatically displayed yet. ([#4559](https://github.com/vector-im/element-android/issues/4559))
|
||||||
|
- Create a legal screen in the setting to group all the different policies. ([#4660](https://github.com/vector-im/element-android/issues/4660))
|
||||||
|
- Add a help section in the settings. ([#4638](https://github.com/vector-im/element-android/issues/4638))
|
||||||
|
- MSC2732: Olm fallback keys ([#3473](https://github.com/vector-im/element-android/issues/3473))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Fixes message menu showing when copying message urls ([#4324](https://github.com/vector-im/element-android/issues/4324))
|
||||||
|
- Fix lots of integration tests by introducing TestMatrix class and MatrixWorkerFactory. ([#4546](https://github.com/vector-im/element-android/issues/4546))
|
||||||
|
- Fix empty Dev Tools screen issue. ([#4592](https://github.com/vector-im/element-android/issues/4592))
|
||||||
|
- Fix for outgoing voip call via sip bridge failing after 1 minute. ([#4621](https://github.com/vector-im/element-android/issues/4621))
|
||||||
|
- Update log warning for call selection during voip calls. ([#4636](https://github.com/vector-im/element-android/issues/4636))
|
||||||
|
- Fix possible crash when having identical subspaces in multiple root spaces ([#4693](https://github.com/vector-im/element-android/issues/4693))
|
||||||
|
- Fix a crash in the timeline with some Emojis. Also migrate to androidx.emoji2 ([#4698](https://github.com/vector-im/element-android/issues/4698))
|
||||||
|
- At the very first room search after opening the app sometimes no results are displayed ([#4600](https://github.com/vector-im/element-android/issues/4600))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Upgrade OLM to v3.2.7 and get it from our maven repository. ([#4647](https://github.com/vector-im/element-android/issues/4647))
|
||||||
|
- Add explicit dependency location, regarding the several maven repository. Also update some libraries (flexbox and alerter), and do some cleanup. ([#4670](https://github.com/vector-im/element-android/issues/4670))
|
||||||
|
- Introducing feature flagging to the login and notification settings flows ([#4626](https://github.com/vector-im/element-android/issues/4626))
|
||||||
|
- There is no need to call job.cancel() when we are using viewModelScope() ([#4602](https://github.com/vector-im/element-android/issues/4602))
|
||||||
|
- Debounce some clicks ([#4645](https://github.com/vector-im/element-android/issues/4645))
|
||||||
|
- Improve issue automation workflows ([#4617](https://github.com/vector-im/element-android/issues/4617))
|
||||||
|
- Add automation to move message bubbles issues to message bubbles board. ([#4666](https://github.com/vector-im/element-android/issues/4666))
|
||||||
|
- Fix graphql warning in issue workflow automation ([#4671](https://github.com/vector-im/element-android/issues/4671))
|
||||||
|
- Cleanup the layout files ([#4604](https://github.com/vector-im/element-android/issues/4604))
|
||||||
|
- Cleanup id ref. Use type views instead ([#4650](https://github.com/vector-im/element-android/issues/4650))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.9 (2021-12-01)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Voice messages: Persist drafts of voice messages when navigating between rooms ([#3922](https://github.com/vector-im/element-android/issues/3922))
|
||||||
|
- Make Element Android Thread aware ([#4246](https://github.com/vector-im/element-android/issues/4246))
|
||||||
|
- Iterate on the consent dialog of the identity server. ([#4577](https://github.com/vector-im/element-android/issues/4577))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Fixes left over text when inserting emojis via the ':' menu and replaces the last typed ':' rather than the one at the end of the message ([#3449](https://github.com/vector-im/element-android/issues/3449))
|
||||||
|
- Fixing queued voice message failing to send or retry ([#3833](https://github.com/vector-im/element-android/issues/3833))
|
||||||
|
- Keeping device screen on whilst recording and playing back voice messages ([#4022](https://github.com/vector-im/element-android/issues/4022))
|
||||||
|
- Allow voice messages to continue recording during device rotation ([#4067](https://github.com/vector-im/element-android/issues/4067))
|
||||||
|
- Allowing users to hang up VOIP calls during the initialisation phase (avoids getting stuck in the call screen if something goes wrong) ([#4144](https://github.com/vector-im/element-android/issues/4144))
|
||||||
|
- Make the verification shields the same in Element Web and Element Android ([#4338](https://github.com/vector-im/element-android/issues/4338))
|
||||||
|
- Fix a display issue in the composer when the replied message is changed. ([#4343](https://github.com/vector-im/element-android/issues/4343))
|
||||||
|
- Dismissing the Fdroid variant Listening for notifications on sign out, fixes crash when tapping the notification when signed out ([#4488](https://github.com/vector-im/element-android/issues/4488))
|
||||||
|
- Fix a crash when displaying the bootstrap bottom sheet ([#4520](https://github.com/vector-im/element-android/issues/4520))
|
||||||
|
- Remove duplicated settings declaration ([#4539](https://github.com/vector-im/element-android/issues/4539))
|
||||||
|
- Fixes .ogg files failing to upload to rooms ([#4552](https://github.com/vector-im/element-android/issues/4552))
|
||||||
|
- Add robustness when getting data from cursors ([#4605](https://github.com/vector-im/element-android/issues/4605))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Upgrade Jitsi lib (and so webrtc) from Jitsi android-sdk-3.1.0 to android-sdk-3.10.0 ([#4504](https://github.com/vector-im/element-android/issues/4504))
|
||||||
|
- Improve crypto logs to help debug decryption failures ([#4507](https://github.com/vector-im/element-android/issues/4507))
|
||||||
|
- Voice recording mic button refactor with small animation tweaks in preparation for voice drafts ([#4515](https://github.com/vector-im/element-android/issues/4515))
|
||||||
|
- Remove requestModelBuild() from epoxy Controllers init{} block ([#4591](https://github.com/vector-im/element-android/issues/4591))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.8 (2021-11-17)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Android 12 support ([#4433](https://github.com/vector-im/element-android/issues/4433))
|
||||||
|
- Make notification text spoiler aware ([#3477](https://github.com/vector-im/element-android/issues/3477))
|
||||||
|
- Poll Feature - Create Poll Screen (Disabled for now) ([#4367](https://github.com/vector-im/element-android/issues/4367))
|
||||||
|
- Adds support for images inside message notifications ([#4402](https://github.com/vector-im/element-android/issues/4402))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Render markdown in room list ([#452](https://github.com/vector-im/element-android/issues/452))
|
||||||
|
- Fix incorrect cropping of conversation icons ([#4424](https://github.com/vector-im/element-android/issues/4424))
|
||||||
|
- Fix potential NullPointerException crashes in Room and User account data sources ([#4428](https://github.com/vector-im/element-android/issues/4428))
|
||||||
|
- Unable to establish Olm outbound session from fallback key ([#4446](https://github.com/vector-im/element-android/issues/4446))
|
||||||
|
- Fixes intermittent crash on sign out due to the session being incorrectly recreated whilst being closed ([#4480](https://github.com/vector-im/element-android/issues/4480))
|
||||||
|
|
||||||
|
SDK API changes ⚠️
|
||||||
|
------------------
|
||||||
|
- Add content scanner API from MSC1453
|
||||||
|
API documentation : https://github.com/matrix-org/matrix-content-scanner#api ([#4392](https://github.com/vector-im/element-android/issues/4392))
|
||||||
|
- Breaking SDK API change to PushRuleListener, the separated callbacks have been merged into one with a data class which includes all the previously separated push information ([#4401](https://github.com/vector-im/element-android/issues/4401))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Finish migration from RxJava to Flow ([#4219](https://github.com/vector-im/element-android/issues/4219))
|
||||||
|
- Remove redundant text in feature request issue form ([#4257](https://github.com/vector-im/element-android/issues/4257))
|
||||||
|
- Add and improve issue triage workflows ([#4435](https://github.com/vector-im/element-android/issues/4435))
|
||||||
|
- Update issue template to bring in line with element-web ([#4452](https://github.com/vector-im/element-android/issues/4452))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.7 (2021-11-04)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Adding the room name to the invitation notification (if the room summary is available) ([#582](https://github.com/vector-im/element-android/issues/582))
|
||||||
|
- Updating single sign on providers ordering to match priority/popularity ([#4277](https://github.com/vector-im/element-android/issues/4277))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Stops showing a dedicated redacted event notification, the message notifications will update accordingly ([#1491](https://github.com/vector-im/element-android/issues/1491))
|
||||||
|
- Fixes marking individual notifications as read causing other notifications to be dismissed ([#3395](https://github.com/vector-im/element-android/issues/3395))
|
||||||
|
- Fixing missing send button in light mode dev tools - send * event ([#3674](https://github.com/vector-im/element-android/issues/3674))
|
||||||
|
- Fixing room search needing exact casing for non latin-1 character named rooms ([#3968](https://github.com/vector-im/element-android/issues/3968))
|
||||||
|
- Fixing call ringtones only playing once when the ringtone doesn't contain looping metadata (android 9.0 and above) ([#4047](https://github.com/vector-im/element-android/issues/4047))
|
||||||
|
- Tentatively fixing the doubled notifications by updating the group summary at specific points in the notification rendering cycle ([#4152](https://github.com/vector-im/element-android/issues/4152))
|
||||||
|
- Do not show shortcuts if a PIN code is set ([#4170](https://github.com/vector-im/element-android/issues/4170))
|
||||||
|
- Fixes being unable to join rooms by name ([#4255](https://github.com/vector-im/element-android/issues/4255))
|
||||||
|
- Fixing missing F-Droid notifications when in background due to background syncs not triggering ([#4298](https://github.com/vector-im/element-android/issues/4298))
|
||||||
|
- Fix video compression before upload ([#4353](https://github.com/vector-im/element-android/issues/4353))
|
||||||
|
- Fixing QR code crashes caused by a known issue in the zxing library for older versions of android by downgrading to 3.3.3 ([#4361](https://github.com/vector-im/element-android/issues/4361))
|
||||||
|
- Fixing timeline crash when rotating with the emoji window open ([#4365](https://github.com/vector-im/element-android/issues/4365))
|
||||||
|
- Fix handling of links coming from web instance reported as malformed by mistake ([#4369](https://github.com/vector-im/element-android/issues/4369))
|
||||||
|
|
||||||
|
SDK API changes ⚠️
|
||||||
|
------------------
|
||||||
|
- Add API `LoginWizard.loginCustom(data: JsonDict): Session` to be able to login to a homeserver using arbitrary request content ([#4266](https://github.com/vector-im/element-android/issues/4266))
|
||||||
|
- Add optional deviceId to the login API ([#4334](https://github.com/vector-im/element-android/issues/4334))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Migrate app DI framework to Hilt ([#3888](https://github.com/vector-im/element-android/issues/3888))
|
||||||
|
- Limit supported TLS versions and cipher suites ([#4192](https://github.com/vector-im/element-android/issues/4192))
|
||||||
|
- Fixed capitalisation of text on initial sync screen ([#4292](https://github.com/vector-im/element-android/issues/4292))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.6 (2021-10-26)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Correctly handle url of type https://mobile.element.io/?hs_url=…&is_url=…
|
||||||
|
Skip the choose server screen when such URL are open when Element ([#2684](https://github.com/vector-im/element-android/issues/2684))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.5 (2021-10-25)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Fixing malformed link pop up when tapping on notifications ([#4267](https://github.com/vector-im/element-android/issues/4267))
|
||||||
|
- Fix Broken EditText when using FromEditTextItem ([#4276](https://github.com/vector-im/element-android/issues/4276))
|
||||||
|
- Fix crash when clicking on ViewEvent source actions ([#4279](https://github.com/vector-im/element-android/issues/4279))
|
||||||
|
- Fix voice message record button wrong visibility ([#4283](https://github.com/vector-im/element-android/issues/4283))
|
||||||
|
- Fix unread marker not showing ([#4313](https://github.com/vector-im/element-android/issues/4313))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.4 (2021-10-20)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Implement /part command, with or without parameter ([#2909](https://github.com/vector-im/element-android/issues/2909))
|
||||||
|
- Handle Presence support, for Direct Message room ([#4090](https://github.com/vector-im/element-android/issues/4090))
|
||||||
|
- Priority conversations for Android 11+ ([#3313](https://github.com/vector-im/element-android/issues/3313))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Issue #908 Adding trailing space " " or ": " if the user started a sentence by mentioning someone, ([#908](https://github.com/vector-im/element-android/issues/908))
|
||||||
|
- Fixes reappearing notifications when dismissing notifications from slow homeservers or delayed /sync responses ([#3437](https://github.com/vector-im/element-android/issues/3437))
|
||||||
|
- Catching event decryption crash and logging when attempting to markOlmSessionForUnwedging fails ([#3608](https://github.com/vector-im/element-android/issues/3608))
|
||||||
|
- Fixing notification sounds being triggered for every message, now they only trigger for the first, consistent with the vibrations ([#3774](https://github.com/vector-im/element-android/issues/3774))
|
||||||
|
- Voice Message not sendable if recorded while flight mode was on ([#4006](https://github.com/vector-im/element-android/issues/4006))
|
||||||
|
- Fixes push notification emails list not refreshing the first time seeing the notifications page.
|
||||||
|
Also improves the error handling in the email notification toggling by using synchronous flows instead of the WorkManager ([#4106](https://github.com/vector-im/element-android/issues/4106))
|
||||||
|
- Make MegolmBackupAuthData.signatures optional for robustness ([#4162](https://github.com/vector-im/element-android/issues/4162))
|
||||||
|
- Fixing push notifications starting the looping background sync when the push notification causes the application to be created. ([#4167](https://github.com/vector-im/element-android/issues/4167))
|
||||||
|
- Fix random crash when user logs out just after the log in. ([#4193](https://github.com/vector-im/element-android/issues/4193))
|
||||||
|
- Make the font size selection dialog scrollable ([#4201](https://github.com/vector-im/element-android/issues/4201))
|
||||||
|
- Fix conversation notification for sent messages ([#4221](https://github.com/vector-im/element-android/issues/4221))
|
||||||
|
- Fixes the developer sync options being displayed in the home menu when developer mode is disabled ([#4234](https://github.com/vector-im/element-android/issues/4234))
|
||||||
|
- Restore support for Android Auto as sent messages are no longer read aloud ([#4247](https://github.com/vector-im/element-android/issues/4247))
|
||||||
|
- Fix crash on slash commands Exceptions ([#4261](https://github.com/vector-im/element-android/issues/4261))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Scrub user sensitive data like gps location from images when sending on original quality ([#465](https://github.com/vector-im/element-android/issues/465))
|
||||||
|
- Migrate to MvRx2 (Mavericks) ([#3890](https://github.com/vector-im/element-android/issues/3890))
|
||||||
|
- Implement a new github action workflow to generate two PRs for emoji and sas string sync ([#4216](https://github.com/vector-im/element-android/issues/4216))
|
||||||
|
- Improve wording around rageshakes in the defect issue template. ([#4226](https://github.com/vector-im/element-android/issues/4226))
|
||||||
|
- Add automation to move incoming issues and X-Needs-Info into the right places on the issue triage board. ([#4250](https://github.com/vector-im/element-android/issues/4250))
|
||||||
|
- Uppon sharing image compression fails, return the original image ([#4264](https://github.com/vector-im/element-android/issues/4264))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.3 (2021-10-11)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Disable Android Auto supports ([#4205](https://github.com/vector-im/element-android/issues/4205))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.2 (2021-10-08)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Android Auto notification support ([#240](https://github.com/vector-im/element-android/issues/240))
|
||||||
|
- Add a fallback for user displayName when this one is null or empty ([#3732](https://github.com/vector-im/element-android/issues/3732))
|
||||||
|
- Add client base url config to customize permalinks ([#4027](https://github.com/vector-im/element-android/issues/4027))
|
||||||
|
- Check if DM exists before creating a new one ([#4157](https://github.com/vector-im/element-android/issues/4157))
|
||||||
|
- Handle 8 new slash commands: `/ignore`, `/unignore`, `/roomname`, `/myroomnick`, `/roomavatar`, `/myroomavatar`, `/lenny`, `/whois`. ([#4158](https://github.com/vector-im/element-android/issues/4158))
|
||||||
|
- Display identity server policies in the Discovery screen ([#4184](https://github.com/vector-im/element-android/issues/4184))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Ensure initial sync progress dialog is hidden when the initial sync is over ([#983](https://github.com/vector-im/element-android/issues/983))
|
||||||
|
- Avoid resending notifications that are already shown ([#1673](https://github.com/vector-im/element-android/issues/1673))
|
||||||
|
- Room filter no results bad CTA in space mode when a space selected ([#3048](https://github.com/vector-im/element-android/issues/3048))
|
||||||
|
- Fixes notifications not dismissing when reading messages on other devices ([#3347](https://github.com/vector-im/element-android/issues/3347))
|
||||||
|
- Fixes the passphrase screen being incorrectly shown when pressing back on the key verification screen.
|
||||||
|
When the user doesn't have a passphrase set we don't show the passphrase screen. ([#3898](https://github.com/vector-im/element-android/issues/3898))
|
||||||
|
- App doesn't take you to a Space after choosing to Join it ([#3933](https://github.com/vector-im/element-android/issues/3933))
|
||||||
|
- Validate public space addresses and room aliases length ([#3934](https://github.com/vector-im/element-android/issues/3934))
|
||||||
|
- Save button for adding rooms to a space is hidden when scrolling through list of rooms ([#3935](https://github.com/vector-im/element-android/issues/3935))
|
||||||
|
- Align new room encryption default to Web ([#4045](https://github.com/vector-im/element-android/issues/4045))
|
||||||
|
- Fix Reply/Edit mode animation is broken when sending ([#4077](https://github.com/vector-im/element-android/issues/4077))
|
||||||
|
- Added changes that will make SearchView in search bar focused by default on opening reaction picker.
|
||||||
|
|
||||||
|
When tapping close icon of SearchView, the SearchView did not collapse therefore added the on close listener
|
||||||
|
which will collapse the SearchView on close. ([#4092](https://github.com/vector-im/element-android/issues/4092))
|
||||||
|
- Troubleshoot notification: Fix button not clickable ([#4109](https://github.com/vector-im/element-android/issues/4109))
|
||||||
|
- Harmonize wording in the message bottom sheet and move up the View Reactions item ([#4155](https://github.com/vector-im/element-android/issues/4155))
|
||||||
|
- Remove unused SendRelationWorker and related API call (3588) ([#4156](https://github.com/vector-im/element-android/issues/4156))
|
||||||
|
- SIP user to native user mapping is wrong ([#4176](https://github.com/vector-im/element-android/issues/4176))
|
||||||
|
|
||||||
|
SDK API changes ⚠️
|
||||||
|
------------------
|
||||||
|
- Create extension `String.isMxcUrl()` ([#4158](https://github.com/vector-im/element-android/issues/4158))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Use ktlint plugin. See [the documentation](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#ktlint) for more detail. ([#3957](https://github.com/vector-im/element-android/issues/3957))
|
||||||
|
- Minimize the use of exported="true" in android Manifest (link: https://github.com/matrix-org/matrix-dinsic/issues/618) ([#4018](https://github.com/vector-im/element-android/issues/4018))
|
||||||
|
- Fix redundancy in heading in the bug report issue form ([#4076](https://github.com/vector-im/element-android/issues/4076))
|
||||||
|
- Fix release label in the release issue template ([#4113](https://github.com/vector-im/element-android/issues/4113))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.1 (2021-09-29)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Verifying exported E2E keys to provide user feedback when the output is malformed ([#4082](https://github.com/vector-im/element-android/issues/4082))
|
||||||
|
- Fix settings crash when accelerometer not available ([#4103](https://github.com/vector-im/element-android/issues/4103))
|
||||||
|
- Crash while rendering failed message warning ([#4110](https://github.com/vector-im/element-android/issues/4110))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.3.0 (2021-09-27)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Spaces!
|
||||||
|
- Adds email notification registration to Settings ([#2243](https://github.com/vector-im/element-android/issues/2243))
|
||||||
|
- Spaces | M3.23 Invite by email in create private space flow ([#3678](https://github.com/vector-im/element-android/issues/3678))
|
||||||
|
- Improve space invite bottom sheet ([#4057](https://github.com/vector-im/element-android/issues/4057))
|
||||||
|
- Allow to also leave rooms when leaving a space ([#3692](https://github.com/vector-im/element-android/issues/3692))
|
||||||
|
- Better expose adding spaces as Subspaces ([#3752](https://github.com/vector-im/element-android/issues/3752))
|
||||||
|
- Push and syncs: add debug info on room list and on room detail screen and improves the log format. ([#4046](https://github.com/vector-im/element-android/issues/4046))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Remove the "Teammate spaces aren't quite ready" bottom sheet ([#3945](https://github.com/vector-im/element-android/issues/3945))
|
||||||
|
- Restricted Room previews aren't working ([#3946](https://github.com/vector-im/element-android/issues/3946))
|
||||||
|
- A removed room from a space can't be re-added as it won't be shown in add-room ([#3947](https://github.com/vector-im/element-android/issues/3947))
|
||||||
|
- "Non-Admin" user able to invite others to Private Space (by default) ([#3951](https://github.com/vector-im/element-android/issues/3951))
|
||||||
|
- Kick user dialog for spaces talks about rooms ([#3956](https://github.com/vector-im/element-android/issues/3956))
|
||||||
|
- Messages are displayed as unable to decrypt then decrypted a few seconds later ([#4011](https://github.com/vector-im/element-android/issues/4011))
|
||||||
|
- Fix DTMF not working ([#4015](https://github.com/vector-im/element-android/issues/4015))
|
||||||
|
- Fix sticky end call notification ([#4019](https://github.com/vector-im/element-android/issues/4019))
|
||||||
|
- Fix call screen stuck with some hanging up scenarios ([#4026](https://github.com/vector-im/element-android/issues/4026))
|
||||||
|
- Fix other call not always refreshed when ended ([#4028](https://github.com/vector-im/element-android/issues/4028))
|
||||||
|
- Private space invite bottomsheet only offering inviting by username not by email ([#4042](https://github.com/vector-im/element-android/issues/4042))
|
||||||
|
- Spaces invitation system notifications don't take me to the join space toast ([#4043](https://github.com/vector-im/element-android/issues/4043))
|
||||||
|
- Space Invites are not lighting up the drawer menu ([#4059](https://github.com/vector-im/element-android/issues/4059))
|
||||||
|
- MessageActionsBottomSheet not being shown on local echos ([#4068](https://github.com/vector-im/element-android/issues/4068))
|
||||||
|
|
||||||
|
SDK API changes ⚠️
|
||||||
|
------------------
|
||||||
|
- InitialSyncProgressService has been renamed to SyncStatusService and its function getInitialSyncProgressStatus() has been renamed to getSyncStatusLive() ([#4046](https://github.com/vector-im/element-android/issues/4046))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Better support for Sdk2 version. Also slight change in the default user agent: `MatrixAndroidSDK_X` is replaced by `MatrixAndroidSdk2` ([#3994](https://github.com/vector-im/element-android/issues/3994))
|
||||||
|
- Introduces ConferenceEvent to abstract usage of Jitsi BroadcastEvent class. ([#4014](https://github.com/vector-im/element-android/issues/4014))
|
||||||
|
- Improve performances on RoomDetail screen ([#4065](https://github.com/vector-im/element-android/issues/4065))
|
||||||
|
|
||||||
|
|
||||||
Changes in Element v1.2.2 (2021-09-13)
|
Changes in Element v1.2.2 (2021-09-13)
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ Android support can be found in this [ via the Google Play Store.
|
||||||
|
2. Install a [release APK](https://github.com/vector-im/element-android/releases) directly - download the relevant .apk file and allow installing from untrusted sources in your device settings. Note: these releases are the Google Play version, which depend on some Google services. If you prefer to avoid that, try the latest dev builds, and choose the F-Droid version.
|
||||||
|
3. If you're really brave, install the [very latest dev build](https://buildkite.com/matrix-dot-org/element-android/builds/latest?branch=develop&state=passed) - click on *Assemble (GPlay or FDroid) Debug version* then on *Artifacts*.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Please refer to [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) if you want to contribute on Matrix Android projects!
|
Please refer to [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) if you want to contribute on Matrix Android projects!
|
||||||
|
@ -53,7 +53,6 @@ dependencies {
|
|||||||
implementation libs.rx.rxKotlin
|
implementation libs.rx.rxKotlin
|
||||||
implementation libs.rx.rxAndroid
|
implementation libs.rx.rxAndroid
|
||||||
|
|
||||||
implementation libs.jetbrains.kotlinStdlib
|
|
||||||
implementation libs.androidx.core
|
implementation libs.androidx.core
|
||||||
implementation libs.androidx.appCompat
|
implementation libs.androidx.appCompat
|
||||||
implementation libs.androidx.recyclerview
|
implementation libs.androidx.recyclerview
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
package im.vector.lib.attachmentviewer
|
package im.vector.lib.attachmentviewer
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
@ -39,7 +40,6 @@ import androidx.core.view.updatePadding
|
|||||||
import androidx.transition.TransitionManager
|
import androidx.transition.TransitionManager
|
||||||
import androidx.viewpager2.widget.ViewPager2
|
import androidx.viewpager2.widget.ViewPager2
|
||||||
import im.vector.lib.attachmentviewer.databinding.ActivityAttachmentViewerBinding
|
import im.vector.lib.attachmentviewer.databinding.ActivityAttachmentViewerBinding
|
||||||
|
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
|
|
||||||
@ -142,7 +142,12 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
|||||||
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||||
window.setDecorFitsSystemWindows(false)
|
window.setDecorFitsSystemWindows(false)
|
||||||
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
|
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
|
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
||||||
|
} else {
|
||||||
|
@SuppressLint("WrongConstant")
|
||||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
||||||
|
}
|
||||||
// New API instead of FLAG_TRANSLUCENT_STATUS
|
// New API instead of FLAG_TRANSLUCENT_STATUS
|
||||||
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
||||||
// new API instead of FLAG_TRANSLUCENT_NAVIGATION
|
// new API instead of FLAG_TRANSLUCENT_NAVIGATION
|
||||||
@ -291,8 +296,8 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
|||||||
private fun calculateTranslationAlpha(translationY: Float, translationLimit: Int): Float =
|
private fun calculateTranslationAlpha(translationY: Float, translationLimit: Int): Float =
|
||||||
1.0f - 1.0f / translationLimit.toFloat() / 4f * abs(translationY)
|
1.0f - 1.0f / translationLimit.toFloat() / 4f * abs(translationY)
|
||||||
|
|
||||||
private fun createSwipeToDismissHandler()
|
private fun createSwipeToDismissHandler(): SwipeToDismissHandler =
|
||||||
: SwipeToDismissHandler = SwipeToDismissHandler(
|
SwipeToDismissHandler(
|
||||||
swipeView = views.dismissContainer,
|
swipeView = views.dismissContainer,
|
||||||
shouldAnimateDismiss = { shouldAnimateDismiss() },
|
shouldAnimateDismiss = { shouldAnimateDismiss() },
|
||||||
onDismiss = { animateClose() },
|
onDismiss = { animateClose() },
|
||||||
@ -348,7 +353,12 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
|||||||
// new API instead of SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
// new API instead of SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||||
window.decorView.windowInsetsController?.hide(WindowInsets.Type.navigationBars())
|
window.decorView.windowInsetsController?.hide(WindowInsets.Type.navigationBars())
|
||||||
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
|
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
|
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
||||||
|
} else {
|
||||||
|
@SuppressLint("WrongConstant")
|
||||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
||||||
|
}
|
||||||
// New API instead of FLAG_TRANSLUCENT_STATUS
|
// New API instead of FLAG_TRANSLUCENT_STATUS
|
||||||
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
||||||
// New API instead of FLAG_TRANSLUCENT_NAVIGATION
|
// New API instead of FLAG_TRANSLUCENT_NAVIGATION
|
||||||
|
@ -36,8 +36,8 @@ interface ImageLoaderTarget {
|
|||||||
fun onResourceReady(uid: String, resource: Drawable)
|
fun onResourceReady(uid: String, resource: Drawable)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class DefaultImageLoaderTarget(val holder: AnimatedImageViewHolder, private val contextView: ImageView)
|
internal class DefaultImageLoaderTarget(val holder: AnimatedImageViewHolder, private val contextView: ImageView) :
|
||||||
: ImageLoaderTarget {
|
ImageLoaderTarget {
|
||||||
override fun contextView(): ImageView {
|
override fun contextView(): ImageView {
|
||||||
return contextView
|
return contextView
|
||||||
}
|
}
|
||||||
|
96
build.gradle
96
build.gradle
@ -1,12 +1,11 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
|
|
||||||
apply from: 'dependencies.gradle'
|
apply from: 'dependencies.gradle'
|
||||||
|
apply from: 'dependencies_groups.gradle'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
jcenter()
|
|
||||||
maven {
|
maven {
|
||||||
url "https://plugins.gradle.org/m2/"
|
url "https://plugins.gradle.org/m2/"
|
||||||
}
|
}
|
||||||
@ -17,6 +16,7 @@ buildscript {
|
|||||||
// https://developer.android.com/studio/releases/gradle-plugin
|
// https://developer.android.com/studio/releases/gradle-plugin
|
||||||
classpath libs.gradle.gradlePlugin
|
classpath libs.gradle.gradlePlugin
|
||||||
classpath libs.gradle.kotlinPlugin
|
classpath libs.gradle.kotlinPlugin
|
||||||
|
classpath libs.gradle.hiltPlugin
|
||||||
classpath 'com.google.gms:google-services:4.3.10'
|
classpath 'com.google.gms:google-services:4.3.10'
|
||||||
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
|
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.4'
|
||||||
@ -27,47 +27,59 @@ buildscript {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ktlint Plugin
|
||||||
|
plugins {
|
||||||
|
id "org.jlleitschuh.gradle.ktlint" version "10.2.1"
|
||||||
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
|
apply plugin: "org.jlleitschuh.gradle.ktlint"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
// For olm library. This has to be declared first, to ensure that Olm library is not downloaded from another repo
|
// For olm library.
|
||||||
|
maven {
|
||||||
|
url 'https://gitlab.matrix.org/api/v4/projects/27/packages/maven'
|
||||||
|
content {
|
||||||
|
groups.olm.regex.each { includeGroupByRegex it }
|
||||||
|
groups.olm.group.each { includeGroup it }
|
||||||
|
}
|
||||||
|
}
|
||||||
maven {
|
maven {
|
||||||
url 'https://jitpack.io'
|
url 'https://jitpack.io'
|
||||||
content {
|
content {
|
||||||
// Use this repo only for olm library
|
groups.jitpack.regex.each { includeGroupByRegex it }
|
||||||
includeGroupByRegex "org\\.matrix\\.gitlab\\.matrix-org"
|
groups.jitpack.group.each { includeGroup it }
|
||||||
// And also for FilePicker
|
|
||||||
includeGroupByRegex "com\\.github\\.jaiselrahman"
|
|
||||||
// And monarchy
|
|
||||||
includeGroupByRegex "com\\.github\\.Zhuinden"
|
|
||||||
// And ucrop
|
|
||||||
includeGroupByRegex "com\\.github\\.yalantis"
|
|
||||||
// JsonViewer
|
|
||||||
includeGroupByRegex 'com\\.github\\.BillCarsonFr'
|
|
||||||
// PhotoView
|
|
||||||
includeGroupByRegex 'com\\.github\\.chrisbanes'
|
|
||||||
// PFLockScreen-Android
|
|
||||||
includeGroupByRegex 'com\\.github\\.vector-im'
|
|
||||||
// DraggableView
|
|
||||||
includeGroupByRegex 'com\\.github\\.hyuwah'
|
|
||||||
|
|
||||||
// Chat effects
|
|
||||||
includeGroupByRegex 'com\\.github\\.jetradarmobile'
|
|
||||||
includeGroupByRegex 'nl\\.dionsegijn'
|
|
||||||
|
|
||||||
// Voice RecordView
|
|
||||||
includeGroupByRegex 'com\\.github\\.Armen101'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
|
|
||||||
// Jitsi repo
|
// Jitsi repo
|
||||||
maven {
|
maven {
|
||||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.1.0"
|
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.10.0"
|
||||||
// Note: to test Jitsi release you can use a local file like this:
|
// Note: to test Jitsi release you can use a local file like this:
|
||||||
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.1.0"
|
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.10.0"
|
||||||
|
content {
|
||||||
|
groups.jitsi.regex.each { includeGroupByRegex it }
|
||||||
|
groups.jitsi.group.each { includeGroup it }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
google {
|
||||||
|
content {
|
||||||
|
groups.google.regex.each { includeGroupByRegex it }
|
||||||
|
groups.google.group.each { includeGroup it }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mavenCentral {
|
||||||
|
content {
|
||||||
|
groups.mavenCentral.regex.each { includeGroupByRegex it }
|
||||||
|
groups.mavenCentral.group.each { includeGroup it }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//noinspection JcenterRepositoryObsolete
|
||||||
|
jcenter {
|
||||||
|
content {
|
||||||
|
groups.jcenter.regex.each { includeGroupByRegex it }
|
||||||
|
groups.jcenter.group.each { includeGroup it }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
google()
|
|
||||||
mavenCentral()
|
|
||||||
jcenter()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
|
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
|
||||||
@ -75,6 +87,26 @@ allprojects {
|
|||||||
// You can override by passing `-PallWarningsAsErrors=false` in the command line
|
// You can override by passing `-PallWarningsAsErrors=false` in the command line
|
||||||
kotlinOptions.allWarningsAsErrors = project.getProperties().getOrDefault("allWarningsAsErrors", "true").toBoolean()
|
kotlinOptions.allWarningsAsErrors = project.getProperties().getOrDefault("allWarningsAsErrors", "true").toBoolean()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fix "Java heap space" issue
|
||||||
|
tasks.withType(org.jlleitschuh.gradle.ktlint.tasks.BaseKtLintCheckTask).configureEach {
|
||||||
|
it.workerMaxHeapSize.set("2G")
|
||||||
|
}
|
||||||
|
|
||||||
|
// See https://github.com/JLLeitschuh/ktlint-gradle#configuration
|
||||||
|
ktlint {
|
||||||
|
android = true
|
||||||
|
ignoreFailures = false
|
||||||
|
enableExperimentalRules = true
|
||||||
|
// display the corresponding rule
|
||||||
|
verbose = true
|
||||||
|
disabledRules = [
|
||||||
|
"spacing-between-declarations-with-comments",
|
||||||
|
"no-multi-spaces",
|
||||||
|
"experimental:spacing-between-declarations-with-annotations",
|
||||||
|
"experimental:annotation"
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task clean(type: Delete) {
|
task clean(type: Delete) {
|
||||||
|
1
changelog.d/3444.bugfix
Normal file
1
changelog.d/3444.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Attachment picker UI improvements
|
@ -1 +0,0 @@
|
|||||||
Spaces | M3.23 Invite by email in create private space flow
|
|
@ -1 +0,0 @@
|
|||||||
Allow to also leave rooms when leaving a space
|
|
@ -1 +0,0 @@
|
|||||||
Better expose adding spaces as Subspaces
|
|
@ -1 +0,0 @@
|
|||||||
Remove the "Teammate spaces aren't quite ready" bottom sheet
|
|
@ -1 +0,0 @@
|
|||||||
Restricted Room previews aren't working
|
|
@ -1 +0,0 @@
|
|||||||
A removed room from a space can't be re-added as it won't be shown in add-room
|
|
@ -1 +0,0 @@
|
|||||||
"Non-Admin" user able to invite others to Private Space (by default)
|
|
@ -1 +0,0 @@
|
|||||||
Kick user dialog for spaces talks about rooms
|
|
@ -1 +0,0 @@
|
|||||||
Better support for Sdk2 version. Also slight change in the default user agent: `MatrixAndroidSDK_X` is replaced by `MatrixAndroidSdk2`
|
|
@ -1 +0,0 @@
|
|||||||
Messages are displayed as unable to decrypt then decrypted a few seconds later
|
|
@ -1 +0,0 @@
|
|||||||
Introduces ConferenceEvent to abstract usage of Jitsi BroadcastEvent class.
|
|
@ -1 +0,0 @@
|
|||||||
Fix DTMF not working
|
|
@ -1 +0,0 @@
|
|||||||
Fix sticky end call notification
|
|
@ -1 +0,0 @@
|
|||||||
Fix call screen stuck with some hanging up scenarios
|
|
@ -1 +0,0 @@
|
|||||||
Fix other call not always refreshed when ended
|
|
@ -1 +0,0 @@
|
|||||||
Spaces invitation system notifications don't take me to the join space toast
|
|
@ -1 +0,0 @@
|
|||||||
Push and syncs: add debug info on room list and on room detail screen and improves the log format.
|
|
@ -1 +0,0 @@
|
|||||||
InitialSyncProgressService has been renamed to SyncStatusService and its function getInitialSyncProgressStatus() has been renamed to getSyncStatusLive()
|
|
@ -1 +0,0 @@
|
|||||||
Improve performances on RoomDetail screen
|
|
@ -1 +0,0 @@
|
|||||||
MessageActionsBottomSheet not being shown on local echos
|
|
1
changelog.d/4612.misc
Normal file
1
changelog.d/4612.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Workaround to fetch all the pending toDevice events from a Synapse homeserver
|
1
changelog.d/4747.misc
Normal file
1
changelog.d/4747.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Cleaning rendering of state events in timeline
|
1
changelog.d/4756.bugfix
Normal file
1
changelog.d/4756.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fixes newer emojis rendering strangely when inserting from the system keyboard
|
1
changelog.d/4767.bugfix
Normal file
1
changelog.d/4767.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fixing unable to change change avatar in some scenarios
|
1
changelog.d/4804.bugfix
Normal file
1
changelog.d/4804.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fixing encrypted non message events showing up as notification messages (eg when a participant joins, mutes or leaves a voice call)
|
@ -1,30 +1,32 @@
|
|||||||
ext.versions = [
|
ext.versions = [
|
||||||
|
|
||||||
'minSdk' : 21,
|
'minSdk' : 21,
|
||||||
'compileSdk' : 30,
|
'compileSdk' : 31,
|
||||||
'targetSdk' : 30,
|
'targetSdk' : 31,
|
||||||
'sourceCompat' : JavaVersion.VERSION_11,
|
'sourceCompat' : JavaVersion.VERSION_11,
|
||||||
'targetCompat' : JavaVersion.VERSION_11,
|
'targetCompat' : JavaVersion.VERSION_11,
|
||||||
]
|
]
|
||||||
|
|
||||||
def gradle = "7.0.2"
|
def gradle = "7.0.4"
|
||||||
// Ref: https://kotlinlang.org/releases.html
|
// Ref: https://kotlinlang.org/releases.html
|
||||||
def kotlin = "1.5.30"
|
def kotlin = "1.5.31"
|
||||||
def kotlinCoroutines = "1.5.1"
|
def kotlinCoroutines = "1.5.2"
|
||||||
def dagger = "2.38.1"
|
def dagger = "2.40.5"
|
||||||
def retrofit = "2.9.0"
|
def retrofit = "2.9.0"
|
||||||
def arrow = "0.8.2"
|
def arrow = "0.8.2"
|
||||||
def markwon = "4.3.1"
|
def markwon = "4.3.1"
|
||||||
def moshi = "1.12.0"
|
def moshi = "1.12.0"
|
||||||
def lifecycle = "2.2.0"
|
def lifecycle = "2.4.0"
|
||||||
def rxBinding = "3.1.0"
|
def flowBinding = "1.2.0"
|
||||||
def epoxy = "4.6.2"
|
def epoxy = "4.6.2"
|
||||||
|
def mavericks = "2.5.0"
|
||||||
def glide = "4.12.0"
|
def glide = "4.12.0"
|
||||||
def bigImageViewer = "1.8.1"
|
def bigImageViewer = "1.8.1"
|
||||||
def jjwt = "0.11.2"
|
def jjwt = "0.11.2"
|
||||||
|
def vanniktechEmoji = "0.8.0"
|
||||||
|
|
||||||
// Testing
|
// Testing
|
||||||
def mockk = "1.12.0"
|
def mockk = "1.12.1"
|
||||||
def espresso = "3.4.0"
|
def espresso = "3.4.0"
|
||||||
def androidxTest = "1.4.0"
|
def androidxTest = "1.4.0"
|
||||||
|
|
||||||
@ -32,29 +34,30 @@ def androidxTest = "1.4.0"
|
|||||||
ext.libs = [
|
ext.libs = [
|
||||||
gradle : [
|
gradle : [
|
||||||
'gradlePlugin' : "com.android.tools.build:gradle:$gradle",
|
'gradlePlugin' : "com.android.tools.build:gradle:$gradle",
|
||||||
'kotlinPlugin' : "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin"
|
'kotlinPlugin' : "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin",
|
||||||
|
'hiltPlugin' : "com.google.dagger:hilt-android-gradle-plugin:$dagger"
|
||||||
|
|
||||||
],
|
],
|
||||||
jetbrains : [
|
jetbrains : [
|
||||||
'kotlinStdlibJdk7' : "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin",
|
|
||||||
'kotlinStdlib' : "org.jetbrains.kotlin:kotlin-stdlib:$kotlin",
|
|
||||||
'coroutinesCore' : "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutines",
|
'coroutinesCore' : "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutines",
|
||||||
'coroutinesAndroid' : "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinCoroutines",
|
'coroutinesAndroid' : "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinCoroutines",
|
||||||
'coroutinesRx2' : "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:$kotlinCoroutines"
|
'coroutinesRx2' : "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:$kotlinCoroutines",
|
||||||
|
'coroutinesTest' : "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinCoroutines"
|
||||||
],
|
],
|
||||||
androidx : [
|
androidx : [
|
||||||
'appCompat' : "androidx.appcompat:appcompat:1.3.1",
|
'appCompat' : "androidx.appcompat:appcompat:1.4.0",
|
||||||
'core' : "androidx.core:core-ktx:1.6.0",
|
'core' : "androidx.core:core-ktx:1.7.0",
|
||||||
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
|
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
|
||||||
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.3",
|
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.3",
|
||||||
'fragmentKtx' : "androidx.fragment:fragment-ktx:1.3.6",
|
'fragmentKtx' : "androidx.fragment:fragment-ktx:1.4.0",
|
||||||
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.0",
|
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.2",
|
||||||
'work' : "androidx.work:work-runtime-ktx:2.5.0",
|
'work' : "androidx.work:work-runtime-ktx:2.7.1",
|
||||||
'autoFill' : "androidx.autofill:autofill:1.1.0",
|
'autoFill' : "androidx.autofill:autofill:1.1.0",
|
||||||
'preferenceKtx' : "androidx.preference:preference-ktx:1.1.1",
|
'preferenceKtx' : "androidx.preference:preference-ktx:1.1.1",
|
||||||
'junit' : "androidx.test.ext:junit:1.1.3",
|
'junit' : "androidx.test.ext:junit:1.1.3",
|
||||||
'lifecycleExtensions' : "androidx.lifecycle:lifecycle-extensions:$lifecycle",
|
'lifecycleCommon' : "androidx.lifecycle:lifecycle-common:$lifecycle",
|
||||||
'lifecycleJava8' : "androidx.lifecycle:lifecycle-common-java8:$lifecycle",
|
'lifecycleLivedata' : "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle",
|
||||||
'lifecycleLivedata' : "androidx.lifecycle:lifecycle-livedata-ktx:2.3.1",
|
'lifecycleProcess' : "androidx.lifecycle:lifecycle-process:$lifecycle",
|
||||||
'datastore' : "androidx.datastore:datastore:1.0.0",
|
'datastore' : "androidx.datastore:datastore:1.0.0",
|
||||||
'datastorepreferences' : "androidx.datastore:datastore-preferences:1.0.0",
|
'datastorepreferences' : "androidx.datastore:datastore-preferences:1.0.0",
|
||||||
'pagingRuntimeKtx' : "androidx.paging:paging-runtime-ktx:2.1.2",
|
'pagingRuntimeKtx' : "androidx.paging:paging-runtime-ktx:2.1.2",
|
||||||
@ -72,7 +75,9 @@ ext.libs = [
|
|||||||
],
|
],
|
||||||
dagger : [
|
dagger : [
|
||||||
'dagger' : "com.google.dagger:dagger:$dagger",
|
'dagger' : "com.google.dagger:dagger:$dagger",
|
||||||
'daggerCompiler' : "com.google.dagger:dagger-compiler:$dagger"
|
'daggerCompiler' : "com.google.dagger:dagger-compiler:$dagger",
|
||||||
|
'hilt' : "com.google.dagger:hilt-android:$dagger",
|
||||||
|
'hiltCompiler' : "com.google.dagger:hilt-compiler:$dagger"
|
||||||
],
|
],
|
||||||
squareup : [
|
squareup : [
|
||||||
'moshi' : "com.squareup.moshi:moshi-adapters:$moshi",
|
'moshi' : "com.squareup.moshi:moshi-adapters:$moshi",
|
||||||
@ -99,7 +104,8 @@ ext.libs = [
|
|||||||
'epoxyGlide' : "com.airbnb.android:epoxy-glide-preloading:$epoxy",
|
'epoxyGlide' : "com.airbnb.android:epoxy-glide-preloading:$epoxy",
|
||||||
'epoxyProcessor' : "com.airbnb.android:epoxy-processor:$epoxy",
|
'epoxyProcessor' : "com.airbnb.android:epoxy-processor:$epoxy",
|
||||||
'epoxyPaging' : "com.airbnb.android:epoxy-paging:$epoxy",
|
'epoxyPaging' : "com.airbnb.android:epoxy-paging:$epoxy",
|
||||||
'mvrx' : "com.airbnb.android:mvrx:1.5.1"
|
'mavericks' : "com.airbnb.android:mavericks:$mavericks",
|
||||||
|
'mavericksTesting' : "com.airbnb.android:mavericks-testing:$mavericks"
|
||||||
],
|
],
|
||||||
mockk : [
|
mockk : [
|
||||||
'mockk' : "io.mockk:mockk:$mockk",
|
'mockk' : "io.mockk:mockk:$mockk",
|
||||||
@ -111,19 +117,26 @@ ext.libs = [
|
|||||||
'bigImageViewer' : "com.github.piasy:BigImageViewer:$bigImageViewer",
|
'bigImageViewer' : "com.github.piasy:BigImageViewer:$bigImageViewer",
|
||||||
'glideImageLoader' : "com.github.piasy:GlideImageLoader:$bigImageViewer",
|
'glideImageLoader' : "com.github.piasy:GlideImageLoader:$bigImageViewer",
|
||||||
'progressPieIndicator' : "com.github.piasy:ProgressPieIndicator:$bigImageViewer",
|
'progressPieIndicator' : "com.github.piasy:ProgressPieIndicator:$bigImageViewer",
|
||||||
'glideImageViewFactory' : "com.github.piasy:GlideImageViewFactory:$bigImageViewer"
|
'glideImageViewFactory' : "com.github.piasy:GlideImageViewFactory:$bigImageViewer",
|
||||||
|
'flowBinding' : "io.github.reactivecircus.flowbinding:flowbinding-android:$flowBinding",
|
||||||
|
'flowBindingAppcompat' : "io.github.reactivecircus.flowbinding:flowbinding-appcompat:$flowBinding",
|
||||||
|
'flowBindingMaterial' : "io.github.reactivecircus.flowbinding:flowbinding-material:$flowBinding"
|
||||||
],
|
],
|
||||||
jakewharton : [
|
jakewharton : [
|
||||||
'timber' : "com.jakewharton.timber:timber:5.0.1",
|
'timber' : "com.jakewharton.timber:timber:5.0.1"
|
||||||
'rxbinding' : "com.jakewharton.rxbinding3:rxbinding:$rxBinding",
|
|
||||||
'rxbindingAppcompat' : "com.jakewharton.rxbinding3:rxbinding-appcompat:$rxBinding",
|
|
||||||
'rxbindingMaterial' : "com.jakewharton.rxbinding3:rxbinding-material:$rxBinding"
|
|
||||||
],
|
],
|
||||||
jsonwebtoken: [
|
jsonwebtoken: [
|
||||||
'jjwtApi' : "io.jsonwebtoken:jjwt-api:$jjwt",
|
'jjwtApi' : "io.jsonwebtoken:jjwt-api:$jjwt",
|
||||||
'jjwtImpl' : "io.jsonwebtoken:jjwt-impl:$jjwt",
|
'jjwtImpl' : "io.jsonwebtoken:jjwt-impl:$jjwt",
|
||||||
'jjwtOrgjson' : "io.jsonwebtoken:jjwt-orgjson:$jjwt"
|
'jjwtOrgjson' : "io.jsonwebtoken:jjwt-orgjson:$jjwt"
|
||||||
],
|
],
|
||||||
|
vanniktech : [
|
||||||
|
'emojiMaterial' : "com.vanniktech:emoji-material:$vanniktechEmoji",
|
||||||
|
'emojiGoogle' : "com.vanniktech:emoji-google:$vanniktechEmoji"
|
||||||
|
],
|
||||||
|
apache : [
|
||||||
|
'commonsImaging' : "org.apache.sanselan:sanselan:0.97-incubator"
|
||||||
|
],
|
||||||
tests : [
|
tests : [
|
||||||
'kluent' : "org.amshove.kluent:kluent-android:1.68",
|
'kluent' : "org.amshove.kluent:kluent-android:1.68",
|
||||||
'timberJunitRule' : "net.lachlanmckee:timber-junit-rule:1.0.1",
|
'timberJunitRule' : "net.lachlanmckee:timber-junit-rule:1.0.1",
|
||||||
|
201
dependencies_groups.gradle
Normal file
201
dependencies_groups.gradle
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
ext.groups = [
|
||||||
|
jitpack : [
|
||||||
|
regex: [
|
||||||
|
],
|
||||||
|
group: [
|
||||||
|
'com.github.Armen101',
|
||||||
|
'com.github.BillCarsonFr',
|
||||||
|
'com.github.chrisbanes',
|
||||||
|
'com.github.hyuwah',
|
||||||
|
'com.github.jetradarmobile',
|
||||||
|
'com.github.tapadoo',
|
||||||
|
'com.github.vector-im',
|
||||||
|
'com.github.yalantis',
|
||||||
|
'com.github.Zhuinden',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
olm : [
|
||||||
|
regex: [
|
||||||
|
],
|
||||||
|
group: [
|
||||||
|
'org.matrix.android',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
jitsi : [
|
||||||
|
regex: [
|
||||||
|
],
|
||||||
|
group: [
|
||||||
|
'com.facebook.react',
|
||||||
|
'org.jitsi.react',
|
||||||
|
'org.webkit',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
google : [
|
||||||
|
regex: [
|
||||||
|
'androidx\\..*',
|
||||||
|
'com\\.android\\.tools\\..*',
|
||||||
|
'com\\.google\\.android\\..*',
|
||||||
|
],
|
||||||
|
group: [
|
||||||
|
'com.google.firebase',
|
||||||
|
'com.android',
|
||||||
|
'com.android.tools',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
mavenCentral: [
|
||||||
|
regex: [
|
||||||
|
],
|
||||||
|
group: [
|
||||||
|
'com.adevinta.android',
|
||||||
|
'com.airbnb.android',
|
||||||
|
'com.almworks.sqlite4java',
|
||||||
|
'com.arthenica',
|
||||||
|
'com.atlassian.commonmark',
|
||||||
|
'com.atlassian.pom',
|
||||||
|
'com.beust',
|
||||||
|
'com.davemorrissey.labs',
|
||||||
|
'com.dropbox.core',
|
||||||
|
'com.facebook.fresco',
|
||||||
|
'com.facebook.infer.annotation',
|
||||||
|
'com.facebook.soloader',
|
||||||
|
'com.facebook.stetho',
|
||||||
|
'com.fasterxml',
|
||||||
|
'com.fasterxml.jackson',
|
||||||
|
'com.fasterxml.jackson.core',
|
||||||
|
'com.gabrielittner.threetenbp',
|
||||||
|
'com.getkeepsafe.relinker',
|
||||||
|
'com.github.bumptech.glide',
|
||||||
|
'com.github.filippudak',
|
||||||
|
'com.github.filippudak.progresspieview',
|
||||||
|
'com.github.javaparser',
|
||||||
|
'com.github.piasy',
|
||||||
|
'com.github.shyiko.klob',
|
||||||
|
'com.google',
|
||||||
|
'com.google.auto.service',
|
||||||
|
'com.google.auto.value',
|
||||||
|
'com.google.code.findbugs',
|
||||||
|
'com.google.code.gson',
|
||||||
|
'com.google.dagger',
|
||||||
|
'com.google.devtools.ksp',
|
||||||
|
'com.google.errorprone',
|
||||||
|
'com.google.googlejavaformat',
|
||||||
|
'com.google.guava',
|
||||||
|
'com.google.j2objc',
|
||||||
|
'com.google.jimfs',
|
||||||
|
'com.google.protobuf',
|
||||||
|
'com.google.zxing',
|
||||||
|
'com.googlecode.htmlcompressor',
|
||||||
|
'com.googlecode.json-simple',
|
||||||
|
'com.googlecode.libphonenumber',
|
||||||
|
'com.ibm.icu',
|
||||||
|
'com.jakewharton.android.repackaged',
|
||||||
|
'com.jakewharton.timber',
|
||||||
|
'com.linkedin.dexmaker',
|
||||||
|
'com.nulab-inc',
|
||||||
|
'com.otaliastudios.opengl',
|
||||||
|
'com.parse.bolts',
|
||||||
|
'com.pinterest',
|
||||||
|
'com.pinterest.ktlint',
|
||||||
|
'com.posthog.android',
|
||||||
|
'com.squareup',
|
||||||
|
'com.squareup.duktape',
|
||||||
|
'com.squareup.moshi',
|
||||||
|
'com.squareup.okhttp3',
|
||||||
|
'com.squareup.okio',
|
||||||
|
'com.squareup.retrofit2',
|
||||||
|
'com.sun.activation',
|
||||||
|
'com.sun.istack',
|
||||||
|
'com.sun.xml.bind',
|
||||||
|
'com.sun.xml.bind.mvn',
|
||||||
|
'com.sun.xml.fastinfoset',
|
||||||
|
'com.thoughtworks.qdox',
|
||||||
|
'com.vanniktech',
|
||||||
|
'commons-cli',
|
||||||
|
'commons-codec',
|
||||||
|
'commons-io',
|
||||||
|
'commons-logging',
|
||||||
|
'info.picocli',
|
||||||
|
'io.arrow-kt',
|
||||||
|
'io.github.detekt.sarif4k',
|
||||||
|
'io.github.reactivecircus.flowbinding',
|
||||||
|
'io.jsonwebtoken',
|
||||||
|
'io.kindedj',
|
||||||
|
'io.mockk',
|
||||||
|
'io.noties.markwon',
|
||||||
|
'io.reactivex.rxjava2',
|
||||||
|
'io.realm',
|
||||||
|
'it.unimi.dsi',
|
||||||
|
'jakarta.activation',
|
||||||
|
'jakarta.xml.bind',
|
||||||
|
'javax.annotation',
|
||||||
|
'javax.inject',
|
||||||
|
'jline',
|
||||||
|
'jp.wasabeef',
|
||||||
|
'junit',
|
||||||
|
'me.leolin',
|
||||||
|
'me.saket',
|
||||||
|
'net.bytebuddy',
|
||||||
|
'net.java',
|
||||||
|
'net.java.dev.jna',
|
||||||
|
'net.lachlanmckee',
|
||||||
|
'net.ltgt.gradle.incap',
|
||||||
|
'net.sf.jopt-simple',
|
||||||
|
'net.sf.kxml',
|
||||||
|
'nl.dionsegijn',
|
||||||
|
'org.amshove.kluent',
|
||||||
|
'org.apache',
|
||||||
|
'org.apache.ant',
|
||||||
|
'org.apache.commons',
|
||||||
|
'org.apache.httpcomponents',
|
||||||
|
'org.apache.sanselan',
|
||||||
|
'org.bouncycastle',
|
||||||
|
'org.checkerframework',
|
||||||
|
'org.codehaus',
|
||||||
|
'org.codehaus.groovy',
|
||||||
|
'org.codehaus.mojo',
|
||||||
|
'org.eclipse.ee4j',
|
||||||
|
'org.ec4j.core',
|
||||||
|
'org.glassfish.jaxb',
|
||||||
|
'org.hamcrest',
|
||||||
|
'org.jetbrains',
|
||||||
|
'org.jetbrains.intellij.deps',
|
||||||
|
'org.jetbrains.kotlin',
|
||||||
|
'org.jetbrains.kotlinx',
|
||||||
|
'org.jsoup',
|
||||||
|
'org.junit',
|
||||||
|
'org.junit.jupiter',
|
||||||
|
'org.junit.platform',
|
||||||
|
'org.jvnet.staxex',
|
||||||
|
'org.mockito',
|
||||||
|
'org.mongodb',
|
||||||
|
'org.objenesis',
|
||||||
|
'org.opentest4j',
|
||||||
|
'org.ow2',
|
||||||
|
'org.ow2.asm',
|
||||||
|
'org.ow2.asm',
|
||||||
|
'org.reactivestreams',
|
||||||
|
'org.robolectric',
|
||||||
|
'org.slf4j',
|
||||||
|
'org.sonatype.oss',
|
||||||
|
'org.testng',
|
||||||
|
'org.threeten',
|
||||||
|
'xerces',
|
||||||
|
'xml-apis',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
jcenter : [
|
||||||
|
regex: [
|
||||||
|
],
|
||||||
|
group: [
|
||||||
|
'com.amulyakhare',
|
||||||
|
'com.otaliastudios',
|
||||||
|
'com.yqritc',
|
||||||
|
// https://github.com/cmelchior/realmfieldnameshelper/issues/42
|
||||||
|
'dk.ilios',
|
||||||
|
'im.dlg',
|
||||||
|
'me.dm7.barcodescanner',
|
||||||
|
'me.gujun.android',
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
16
docs/analytics.md
Normal file
16
docs/analytics.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Analytics in Element
|
||||||
|
|
||||||
|
## Solution
|
||||||
|
|
||||||
|
Element is using PostHog to send analytics event.
|
||||||
|
We ask for the user to give consent before sending any analytics data.
|
||||||
|
|
||||||
|
## How to add a new Event
|
||||||
|
|
||||||
|
The analytics plan is shared between all Element clients. To add an Event, please open a PR to this project: https://github.com/matrix-org/matrix-analytics-events
|
||||||
|
|
||||||
|
Then, once the PR has been merged, you can run the tool `import_analytic_plan.sh` to import the plan to Element, and then you can use the new Event. Note that this tool is run by Github action once a week.
|
||||||
|
|
||||||
|
## Forks of Element
|
||||||
|
|
||||||
|
Analytics on forks are disabled by default. Please refer to AnalyticsConfig and there implementation to setup analytics on your project.
|
104
docs/design.md
Normal file
104
docs/design.md
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
# Element Android design
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
Design at element.io is done using Figma - https://www.figma.com
|
||||||
|
|
||||||
|
## How to import from Figma to the Element Android project
|
||||||
|
|
||||||
|
Integration should be done using the Android development best practice, and should follow the existing convention in the code.
|
||||||
|
|
||||||
|
### Colors
|
||||||
|
|
||||||
|
Element Android already contains all the colors which can be used by the designer, in the module `ui-style`.
|
||||||
|
Some of them depend on the theme, so ensure to use theme attributes and not colors directly.
|
||||||
|
|
||||||
|
### Text
|
||||||
|
|
||||||
|
- click on a text on Figma
|
||||||
|
- on the right panel, information about the style and colors are displayed
|
||||||
|
- in Element Android, text style are already defined, generally you should not create new style
|
||||||
|
- apply the style and the color to the layout
|
||||||
|
|
||||||
|
### Dimension, position and margin
|
||||||
|
|
||||||
|
- click on an item on Figma
|
||||||
|
- dimensions of the item will be displayed.
|
||||||
|
- move the mouse to other items to get relative positioning, margin, etc.
|
||||||
|
|
||||||
|
### Icons
|
||||||
|
|
||||||
|
#### Export drawable from Figma
|
||||||
|
|
||||||
|
- click on the element to export
|
||||||
|
- ensure that the correct layer is selected. Sometimes the parent layer has to be selected on the left panel
|
||||||
|
- on the right panel, click on "export"
|
||||||
|
- select SVG
|
||||||
|
- you can check the preview of what will be exported
|
||||||
|
- click on "export" and save the file locally
|
||||||
|
- unzip the file if necessary
|
||||||
|
|
||||||
|
It's also possible for any icon to go to the main component by right-clicking on the icon.
|
||||||
|
|
||||||
|
#### Import in Android Studio
|
||||||
|
|
||||||
|
- right click on the drawable folder where the drawable will be created
|
||||||
|
- click on "New"/"Vector Asset"
|
||||||
|
- select the exported file
|
||||||
|
- update the filename if necessary
|
||||||
|
- click on "Next" and click on "Finish"
|
||||||
|
- open the created vector drawable
|
||||||
|
- optionally update the color(s) to "#FF0000" (red) to ensure that the drawable is correctly tinted at runtime.
|
||||||
|
|
||||||
|
## Figma links
|
||||||
|
|
||||||
|
Figma links can be included in the layout, for future reference, but it is also OK to add a paragraph below here, to centralize the information
|
||||||
|
|
||||||
|
Main entry point: https://www.figma.com/files/project/5612863/Element?fuid=779371459522484071
|
||||||
|
|
||||||
|
Note: all the Figma links are not publicly available.
|
||||||
|
|
||||||
|
### Coumpound
|
||||||
|
|
||||||
|
Coumpound contains the theme of the application, with all the components, in Light and Dark theme: palette (colors), typography, iconography, etc.
|
||||||
|
|
||||||
|
https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound
|
||||||
|
|
||||||
|
### Login
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
#### Login v2
|
||||||
|
|
||||||
|
https://www.figma.com/file/xdV4PuI3DlzA1EiBvbrggz/Login-Flow-v2
|
||||||
|
|
||||||
|
### Room list
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
### Timeline
|
||||||
|
|
||||||
|
https://www.figma.com/file/x1HYYLYMmbYnhfoz2c2nGD/%5BRiotX%5D-Misc?node-id=0%3A1
|
||||||
|
|
||||||
|
### Voice message
|
||||||
|
|
||||||
|
https://www.figma.com/file/uaWc62Ux2DkZC4OGtAGcNc/Voice-Messages?node-id=473%3A12
|
||||||
|
|
||||||
|
### Room settings
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
### VoIP
|
||||||
|
|
||||||
|
https://www.figma.com/file/V6m2z0oAtUV1l8MdyIrAep/VoIP?node-id=4254%3A25767
|
||||||
|
|
||||||
|
### Presence
|
||||||
|
|
||||||
|
https://www.figma.com/file/qmvEskET5JWva8jZJ4jX8o/Presence---User-Status?node-id=114%3A9174
|
||||||
|
(Option B is chosen)
|
||||||
|
|
||||||
|
### Spaces
|
||||||
|
|
||||||
|
https://www.figma.com/file/m7L63aGPW7iHnIYStfdxCe/Spaces?node-id=192%3A30161
|
||||||
|
|
||||||
|
### List to be continued...
|
33
docs/hilt_migration.md
Normal file
33
docs/hilt_migration.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
Useful links:
|
||||||
|
- https://dagger.dev/hilt/migration-guide
|
||||||
|
- https://dagger.dev/hilt/quick-start
|
||||||
|
|
||||||
|
Hilt is built on top of Dagger 2 and simplify usage by removing needs to create components manually.
|
||||||
|
|
||||||
|
When you create a new feature, you should have the following:
|
||||||
|
|
||||||
|
Annotate your Activity with @AndroidEntryPoint
|
||||||
|
If you have a BottomSheetFragment => Annotate it with @AndroidEntryPoint
|
||||||
|
Otherwise => Add your Fragment to the FragmentModule
|
||||||
|
Add your ViewModel.Factory to the MavericksViewModelModule
|
||||||
|
Makes sure your ViewModel as the following code:
|
||||||
|
|
||||||
|
```
|
||||||
|
@AssistedFactory
|
||||||
|
interface Factory: MavericksAssistedViewModelFactory<MyViewModel, MyViewState> {
|
||||||
|
override fun create(initialState: MyViewState): MyViewModel
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object : MavericksViewModelFactory<MyViewModel, MyViewState> by hiltMavericksViewModelFactory()
|
||||||
|
```
|
||||||
|
|
||||||
|
## Some remarks
|
||||||
|
|
||||||
|
@MavericksViewModelScope dependencies can't be injected inside Fragments/Activities
|
||||||
|
You can only inject @Singleton, @MavericksViewModelScope or unscoped dependencies inside Maverick ViewModels
|
||||||
|
You can access some specific dependencies from Singleton component by using
|
||||||
|
```
|
||||||
|
context.singletonEntryPoint()
|
||||||
|
```
|
||||||
|
Be aware that only the app has been migrated to Hilt and not the SDK.
|
||||||
|
|
@ -18,7 +18,7 @@ The generated maven repository is then host in the project https://github.com/ve
|
|||||||
|
|
||||||
Update the script `./tools/jitsi/build_jisti_libs.sh` with the tag of the project `https://github.com/jitsi/jitsi-meet`.
|
Update the script `./tools/jitsi/build_jisti_libs.sh` with the tag of the project `https://github.com/jitsi/jitsi-meet`.
|
||||||
|
|
||||||
Currently we are building the version with the tag `android-sdk-3.1.0`.
|
Currently we are building the version with the tag `android-sdk-3.10.0`.
|
||||||
|
|
||||||
### Run the build script
|
### Run the build script
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ It will build the Jitsi Meet Android library and put every generated files in th
|
|||||||
- Update the file `./build.gradle` to use the previously created local Maven repository. Currently we have this line:
|
- Update the file `./build.gradle` to use the previously created local Maven repository. Currently we have this line:
|
||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.1.0"
|
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.10.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
You can uncomment and update the line starting with `// url "file://...` and comment the line starting with `url`, to test the library using the locally generated Maven repository.
|
You can uncomment and update the line starting with `// url "file://...` and comment the line starting with `url`, to test the library using the locally generated Maven repository.
|
||||||
@ -43,13 +43,13 @@ You can uncomment and update the line starting with `// url "file://...` and com
|
|||||||
- Update the dependency of the Jitsi Meet library in the file `./vector/build.gradle`. Currently we have this line:
|
- Update the dependency of the Jitsi Meet library in the file `./vector/build.gradle`. Currently we have this line:
|
||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
implementation('org.jitsi.react:jitsi-meet-sdk:3.1.0')
|
implementation('org.jitsi.react:jitsi-meet-sdk:3.10.0')
|
||||||
```
|
```
|
||||||
|
|
||||||
- Update the dependency of the WebRTC library in the file `./vector/build.gradle`. Currently we have this line:
|
- Update the dependency of the WebRTC library in the file `./vector/build.gradle`. Currently we have this line:
|
||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
implementation('com.facebook.react:react-native-webrtc:1.87.3-jitsi-6624067@aar')
|
implementation('com.facebook.react:react-native-webrtc:1.92.1-jitsi-9093212@aar')
|
||||||
```
|
```
|
||||||
|
|
||||||
- Perform a gradle sync and build the project
|
- Perform a gradle sync and build the project
|
||||||
@ -74,7 +74,7 @@ If all the tests are passed, you can export the generated Jitsi library to our M
|
|||||||
- Update the file `./build.gradle` to use the previously created Maven repository. Currently we have this line:
|
- Update the file `./build.gradle` to use the previously created Maven repository. Currently we have this line:
|
||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.1.0"
|
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.10.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
- Build the project and perform the sanity tests again.
|
- Build the project and perform the sanity tests again.
|
||||||
|
11
docs/mavericks_migration.md
Normal file
11
docs/mavericks_migration.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Useful links:
|
||||||
|
- https://airbnb.io/mavericks/#/new-2x
|
||||||
|
|
||||||
|
Mavericks 2 is replacing MvRx, by removing usage of Rx by Flow, both internally and in the API.
|
||||||
|
See the link ^ to have more intel, but basically, the changes are:
|
||||||
|
|
||||||
|
session.rx() => session.flow()
|
||||||
|
room.rx() => room.flow()
|
||||||
|
subscribe { }.disposeOnClear() => onEach { }.launchIn(viewModelScope)
|
||||||
|
|
||||||
|
Only using manually onEach requires to add launchIn,any other methods provided by Mavericks on viewModel and activity/fragment are already taking care of lifecycle.
|
41
docs/rx_flow_migration.md
Normal file
41
docs/rx_flow_migration.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
Useful links:
|
||||||
|
- https://github.com/ReactiveCircus/FlowBinding
|
||||||
|
- https://ivanisidrowu.github.io/kotlin/2020/08/09/Kotlin-Flow-Migration-And-Testing.html
|
||||||
|
|
||||||
|
|
||||||
|
Rx is now completely removed from Element dependencies.
|
||||||
|
Some examples of the changes:
|
||||||
|
|
||||||
|
```
|
||||||
|
sharedActionViewModel
|
||||||
|
.observe()
|
||||||
|
.subscribe { handleQuickActions(it) }
|
||||||
|
.disposeOnDestroyView()
|
||||||
|
```
|
||||||
|
|
||||||
|
became
|
||||||
|
|
||||||
|
```
|
||||||
|
sharedActionViewModel
|
||||||
|
.stream()
|
||||||
|
.onEach { handleQuickActions(it) }
|
||||||
|
.launchIn(viewLifecycleOwner.lifecycleScope)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Inside fragment use
|
||||||
|
```
|
||||||
|
launchIn(viewLifecycleOwner.lifecycleScope)
|
||||||
|
```
|
||||||
|
Inside activity use
|
||||||
|
```
|
||||||
|
launchIn(lifecycleScope)
|
||||||
|
```
|
||||||
|
Inside viewModel use
|
||||||
|
```
|
||||||
|
launchIn(viewModelScope)
|
||||||
|
```
|
||||||
|
|
||||||
|
Also be aware that when using these scopes the coroutine is launched on Dispatchers.Main by default.
|
||||||
|
|
||||||
|
|
2
fastlane/metadata/android/cs-CZ/changelogs/40102010.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40102010.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Mnohá vylepšení VoIP a prostorů (stále v beta verzi).
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.2.1
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103000.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Uspořádejte si místnosti pomocí Prostorů!
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.0
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103010.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103010.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Uspořádejte si místnosti pomocí Prostorů! Verze 1.3.1 opravuje pády, ke kterým může docházet ve verzi v1.3.0.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.1
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103020.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Přidání podpory pro Android Auto. Spousta oprav chyb!
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.2
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103030.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103030.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Umožňuje v nastavení zviditelnit zásady serveru identit. Dočasně odstraňuje podporu pro Android Auto.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.3
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103040.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Přidání podpory přítomnosti pro místnost s přímými zprávami (poznámka: přítomnost je na matrix.org zakázána). Opět přidána podpora Android Auto.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.4
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103050.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103050.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Přidání podpory přítomnosti pro místnost s přímými zprávami (poznámka: přítomnost je na matrix.org zakázána). Opět přidána podpora Android Auto.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.5
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103060.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103060.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Přidání podpory přítomnosti pro místnost s přímými zprávami (poznámka: přítomnost je na matrix.org zakázána). Opět přidána podpora Android Auto.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.6
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103070.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103070.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Opravy chyb týkající se především oznámení.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103080.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Opravy chyb!
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.8
|
@ -37,3 +37,6 @@ Zprávy, hlasové a videohovory, sdílení souborů, sdílení obrazovky a celá
|
|||||||
|
|
||||||
<b>Navažte tam, kde jste skončili</b>
|
<b>Navažte tam, kde jste skončili</b>
|
||||||
Zůstaňte v kontaktu, ať jste kdekoli, díky plně synchronizované historii zpráv ve všech zařízeních a na webu https://app.element.io
|
Zůstaňte v kontaktu, ať jste kdekoli, díky plně synchronizované historii zpráv ve všech zařízeních a na webu https://app.element.io
|
||||||
|
|
||||||
|
<b>Open source</b>
|
||||||
|
Element Android je projekt s otevřeným zdrojovým kódem, který je hostován na GitHubu. Nahlaste prosím chyby a přispějte k jeho vývoji na adrese https://github.com/vector-im/element-android
|
||||||
|
2
fastlane/metadata/android/de-DE/changelogs/40102000.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40102000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hauptänderungen: Sprachnachrichten standardmäßig aktiviert.
|
||||||
|
Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.2.0
|
2
fastlane/metadata/android/de-DE/changelogs/40102010.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40102010.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VoIP und Spaces verbessert
|
||||||
|
Vollständige Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.2.1
|
2
fastlane/metadata/android/de-DE/changelogs/40103000.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hauptänderungen: Organisiere deine Räume mit Spaces!
|
||||||
|
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.0
|
2
fastlane/metadata/android/de-DE/changelogs/40103010.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103010.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hauptänderungen: Organisiere deine Räume mit Spaces, Crash aus 1.3.0 gefixt.
|
||||||
|
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.1
|
2
fastlane/metadata/android/de-DE/changelogs/40103020.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hauptänderungen: Unterstützung für Android Auto, Viele Fehlerbehebungen
|
||||||
|
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.2
|
2
fastlane/metadata/android/de-DE/changelogs/40103030.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103030.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hauptänderungen: Bedingungen des Identitätsservers in Einstellungen anzeigen. Unterstützung für Android Auto temporär entfernt.
|
||||||
|
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.3
|
4
fastlane/metadata/android/de-DE/changelogs/40103040.txt
Normal file
4
fastlane/metadata/android/de-DE/changelogs/40103040.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
Hauptänderungen:
|
||||||
|
- Anwesenheiten in Direktnachrichten anzeigen (Momentan auf Matrix.org deaktiviert)
|
||||||
|
- Android Auto wird wieder unterstützt
|
||||||
|
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.4
|
2
fastlane/metadata/android/de-DE/changelogs/40103070.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103070.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hauptänderungen: Fehler bei Benachrichtigungen gefixt
|
||||||
|
Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2
|
2
fastlane/metadata/android/de-DE/changelogs/40103080.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Änderungen: Verschiedene Fehler behoben
|
||||||
|
Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.8
|
@ -37,3 +37,6 @@ Kurznachrichten, Sprach- und Videoanrufe, Dateifreigaben, Bildschirmübertragung
|
|||||||
|
|
||||||
<b>Da Weitermachen, wo Sie aufgehört haben</b>
|
<b>Da Weitermachen, wo Sie aufgehört haben</b>
|
||||||
Bleiben Sie in Kontakt, egal wo Sie sind, mit vollständig synchronisiertem Nachrichtenverlauf quer über all Ihre Geräte und im Netz auf https://app.element.io
|
Bleiben Sie in Kontakt, egal wo Sie sind, mit vollständig synchronisiertem Nachrichtenverlauf quer über all Ihre Geräte und im Netz auf https://app.element.io
|
||||||
|
|
||||||
|
<b>Open source</b>
|
||||||
|
Element ist ein Open-Source-Projekt und wird auf GitHub gehostet. Solltest du Fehler in Element finden, melde diese bitte hier: https://github.com/vector-im/element-android
|
||||||
|
2
fastlane/metadata/android/en-US/changelogs/40103000.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Organize your rooms using Spaces!
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.0
|
2
fastlane/metadata/android/en-US/changelogs/40103010.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103010.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Organize your rooms using Spaces! v1.3.1 is fixing a crash which can occurs in v1.3.0.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.1
|
2
fastlane/metadata/android/en-US/changelogs/40103020.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Add support for Android Auto. Lot of bug fixes!
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.2
|
2
fastlane/metadata/android/en-US/changelogs/40103030.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103030.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Make identity server policy(ies) visible in the settings. Temporarily remove Android Auto support.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.3
|
2
fastlane/metadata/android/en-US/changelogs/40103040.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Add Presence support, for Direct Message room (note: presence is disabled on matrix.org). Add again Android Auto support.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.4
|
2
fastlane/metadata/android/en-US/changelogs/40103050.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103050.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Add Presence support, for Direct Message room (note: presence is disabled on matrix.org). Add again Android Auto support.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.5
|
2
fastlane/metadata/android/en-US/changelogs/40103060.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103060.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Add Presence support, for Direct Message room (note: presence is disabled on matrix.org). Add again Android Auto support.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.6
|
2
fastlane/metadata/android/en-US/changelogs/40103070.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103070.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Bug fixes mainly regarding the notifications.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2
|
2
fastlane/metadata/android/en-US/changelogs/40103080.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Bug fixes!
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.8
|
2
fastlane/metadata/android/en-US/changelogs/40103090.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103090.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Add support for voice message draft. Many bugfixes!
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.9
|
2
fastlane/metadata/android/en-US/changelogs/40103100.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103100.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Add support for polls (in labs). New URL preview design.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.10
|
2
fastlane/metadata/android/en-US/changelogs/40103110.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103110.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Bug fixes!
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.11
|
2
fastlane/metadata/android/en-US/changelogs/40103120.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103120.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Bug fixes!
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.12
|
@ -37,3 +37,6 @@ Messaging, voice and video calls, file sharing, screen sharing and a whole bunch
|
|||||||
|
|
||||||
<b>Pick up where you left off</b>
|
<b>Pick up where you left off</b>
|
||||||
Stay in touch wherever you are with fully synchronised message history across all your devices and on the web at https://app.element.io
|
Stay in touch wherever you are with fully synchronised message history across all your devices and on the web at https://app.element.io
|
||||||
|
|
||||||
|
<b>Open source</b>
|
||||||
|
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
|
@ -1 +1,2 @@
|
|||||||
// TODO
|
Esta nueva versión contiene principalmente correcciones de errores y mejoras. Enviar un mensaje ahora es mucho más rápido.
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.0.10
|
||||||
|
2
fastlane/metadata/android/es-ES/changelogs/40100110.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/40100110.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Esta nueva versión contiene principalmente mejoras en la interfaz de usuario y la experiencia del usuario. Ahora puedes invitar amigos y crear mensajes directos muy rápido escaneando códigos QR.
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.0.11
|
2
fastlane/metadata/android/es-ES/changelogs/40100120.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/40100120.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principales cambios en esta versión: Vista previa de URL, nuevo teclado Emoji, nuevas capacidades de configuración de la habitación y ¡nieve para Navidad!
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.0.12
|
2
fastlane/metadata/android/es-ES/changelogs/40100130.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/40100130.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principales cambios en esta versión: Vista previa de URL, nuevo teclado Emoji, nuevas capacidades de configuración de la habitación y ¡nieve para Navidad!
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.0.13
|
2
fastlane/metadata/android/es-ES/changelogs/40100140.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/40100140.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principales cambios en esta versión: Editar permisos de sala, tema automático de luz / oscuridad y un montón de correcciones de errores.
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.0.14
|
2
fastlane/metadata/android/es-ES/changelogs/40100150.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/40100150.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principales cambios en esta versión: Soporte de inicio de sesión social.
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.0.15
|
2
fastlane/metadata/android/es-ES/changelogs/40100160.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/40100160.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principales cambios en esta versión: Soporte de inicio de sesión social.
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.0.15 y https://github.com/vector-im/element-android/releases/tag/v1.0.16
|
2
fastlane/metadata/android/es-ES/changelogs/40100170.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/40100170.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principales cambios en esta versión: ¡Corrección de errores!
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.0.17
|
2
fastlane/metadata/android/es-ES/changelogs/40101000.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/40101000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principales cambios en esta versión: ¡Mejora de VoIP (audio y videollamadas en DM) y corrección de errores!
|
||||||
|
Registro de cambios completo: https://github.com/vector-im/element-android/releases/tag/v1.1.0
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user