[TMP] Automatic upstream merge preparation

Change-Id: I8880173164b9e9339c22f1f28b8fb0255df114df
This commit is contained in:
SpiritCroc 2024-12-20 19:31:00 +01:00
parent 7b0a5a6efb
commit 123629b1e2
2381 changed files with 406 additions and 406 deletions

View file

@ -1,25 +1,58 @@
[![Translation status](https://weblate.spiritcroc.de/widgets/schildichat/-/schildichat-android/svg-badge.svg)](https://weblate.spiritcroc.de/projects/schildichat/schildichat-android/)
[![SchildiChat-Android Matrix room #android:schildi.chat](https://img.shields.io/matrix/android:schildi.chat.svg?label=%23android:schildi.chat&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#android:schildi.chat)
[![Latest build](https://github.com/element-hq/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop)
[![Weblate](https://translate.element.io/widgets/element-android/-/svg-badge.svg)](https://translate.element.io/engage/element-android/?utm_source=widget)
[![Element Android Matrix room #element-android:matrix.org](https://img.shields.io/matrix/element-android:matrix.org.svg?label=%23element-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-android:matrix.org)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-android&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=vector-im_element-android)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-android&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=vector-im_element-android)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-android&metric=bugs)](https://sonarcloud.io/summary/new_code?id=vector-im_element-android)
# SchildiChat for Android
# Element Android
SchildiChat for Android is a Matrix Client based on [Element Android](https://github.com/vector-im/element-android),
featuring a different design and various extra tweaks, customization options, and additional community features.
A list of changes compared to Element can be found [here](FEATURES.md) - but keep in mind this list might not be up-to-date at all times.
Element Android is an Android Matrix Client provided by [Element](https://element.io/). The app can be run on every Android devices with Android OS Lollipop and more (API 21).
<a href="https://f-droid.org/packages/de.spiritcroc.riotx/" alt="Get it on F-Droid" target="_blank"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" height="80"></a>
<a href="https://play.google.com/store/apps/details?id=de.spiritcroc.riotx" alt="Get it on Google Play" target="_blank"><img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png" height="80"></a>
It is a total rewrite of [Riot-Android](https://github.com/element-hq/riot-android) with a new user experience.
Information about available app variants can be found [on our website](https://schildi.chat/android/).
[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.app)
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
<a href="https://matrix.to/#/#android:schildi.chat" target="_blank">Join the discussion on matrix</a>
<a href="https://matrix.to/#/#space:schildi.chat" target="_blank">Join our matrix community space</a>
Build of develop branch: [![GitHub Action](https://github.com/element-hq/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop) Nightly test status: [![allScreensTest](https://github.com/element-hq/element-android/actions/workflows/nightly.yml/badge.svg)](https://github.com/element-hq/element-android/actions/workflows/nightly.yml)
## Translations
If you want to translate SchildiChat, visit its weblate [here](https://translate.schildi.chat/projects/schildichat/schildichat-android/).
For translations that concern upstream Element code, visit their weblate [here](https://translate.element.io/engage/element-android/).
# New Android SDK
## Screenshots
Element is based on a new Android SDK fully written in Kotlin (like Element). In order to make the early development as fast as possible, Element and the new SDK currently share the same git repository.
At each Element release, the SDK module is copied to a dedicated repository: https://github.com/matrix-org/matrix-android-sdk2. That way, third party apps can add a regular gradle dependency to use it. So more details on how to do that here: https://github.com/matrix-org/matrix-android-sdk2.
# Roadmap
The version 1.0.0 of Element still misses some features which was previously included in Riot-Android.
The team will work to add them on a regular basis.
# Releases to app stores
There is some delay between when a release is created and when it appears in the app stores (Google Play Store and F-Droid). Here are some of the reasons:
* Not all versioned releases that appear on GitHub are considered stable. Each release is first considered beta: this continues for at least two days. If the release is stable (no serious issues or crashes are reported), then it is released as a production release in Google Play Store, and a request is sent to F-Droid too.
* Each release on the Google Play Store undergoes review by Google before it comes out. This can take an unpredictable amount of time. In some cases it has taken several weeks.
* In order for F-Droid to guarantee that the app you receive exactly matches the public source code, they build releases themselves. When a release is considered stable, Element staff inform the F-Droid maintainers and it is added to the build queue. Depending on the load on F-Droid's infrastructure, it can take some time for releases to be built. This always takes at least 24 hours, and can take several days.
If you would like to receive releases more quickly (bearing in mind that they may not be stable) you have a number of options:
1. [Sign up to receive beta releases](https://play.google.com/apps/testing/im.vector.app) via the Google Play Store.
2. Install a [release APK](https://github.com/element-hq/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://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop) - pick a build, then click on `Summary` to download the APKs from there: `vector-Fdroid-debug` and `vector-Gplay-debug` contains the APK for the desired store. Each file contains 5 APKs. 4 APKs for every supported specific architecture of device. In doubt you can install the `universal` APK.
## Contributing
Please refer to [CONTRIBUTING.md](./CONTRIBUTING.md) if you want to contribute on Matrix Android projects!
Come chat with the community in the dedicated Matrix [room](https://matrix.to/#/#element-android:matrix.org).
Also [this documentation](./docs/_developer_onboarding.md) can hopefully help developers to start working on the project.
## Triaging issues
Issues are triaged by community members and the Android App Team, following the [triage process](https://github.com/element-hq/element-meta/wiki/Triage-process).
We use [issue labels](https://github.com/element-hq/element-meta/wiki/Issue-labelling) to sort all incoming issues.
<img src="https://raw.githubusercontent.com/SchildiChat/SchildiChat-android/sc/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png" height="500"/> <img src="https://raw.githubusercontent.com/SchildiChat/SchildiChat-android/sc/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png" height="500"/> <img src="https://raw.githubusercontent.com/SchildiChat/SchildiChat-android/sc/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png" height="500"/> <img src="https://raw.githubusercontent.com/SchildiChat/SchildiChat-android/sc/fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png" height="500"/>

View file

@ -1,2 +1,2 @@
json_key_file("../google-api-fastlane-release.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("de.spiritcroc.riotx") # e.g. com.krausefx.app
json_key_file("./fastlane/private/api-8525453667099313774-565354-aca0e6153603.json")
package_name("im.vector.app")

View file

@ -16,49 +16,45 @@
default_platform(:android)
platform :android do
keystore = ENV["keystore"]
keystore_pass = ENV["keystorepass"]
key_alias = ENV["keyalias"]
key_pass = ENV["keypass"]
desc "Runs all the tests"
lane :test do
gradle(task: "test")
end
desc "Deploy a new version to Google Play"
desc "Submit a new Beta Build to Crashlytics Beta"
lane :beta do
gradle(task: "clean assembleRelease")
crashlytics
# sh "your_script.sh"
# You can also use other beta testing services here
end
desc "Deploy a new version to the Google Play"
lane :deploy do
gradle(
task: "clean bundleGplayRelease",
properties: {
"android.injected.signing.store.file": keystore,
"android.injected.signing.store.password": keystore_pass,
"android.injected.signing.key.alias": key_alias,
"android.injected.signing.key.password": key_pass
}
)
gradle(task: "clean assembleRelease")
upload_to_play_store
end
desc "Deploy Google Play metadata"
lane :deployMeta do
# Doc: https://docs.fastlane.tools/actions/upload_to_play_store/
upload_to_play_store(
# apk: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]
skip_upload_apk: true,
skip_upload_aab: true,
skip_upload_images: true,
skip_upload_screenshots: true,
skip_upload_changelogs: true,
# Set to true to not update the PlayStore
validate_only: false
)
end
desc "Deploy a beta to Google Play"
lane :deploy_beta do
gradle(
task: "clean bundleGplayRelease",
properties: {
"android.injected.signing.store.file": keystore,
"android.injected.signing.store.password": keystore_pass,
"android.injected.signing.key.alias": key_alias,
"android.injected.signing.key.password": key_pass
}
)
upload_to_play_store(
# apk: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]
track: 'beta',
skip_upload_metadata: false,
skip_upload_images: true,
skip_upload_screenshots: true
)
desc "Get version code"
lane :getVersionCode do
versions = google_play_track_version_codes(track: "production")
puts(versions)
version_code = versions[0]
puts(version_code)
end
end

View file

@ -23,21 +23,37 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do
Runs all the tests
### android beta
```sh
[bundle exec] fastlane android beta
```
Submit a new Beta Build to Crashlytics Beta
### android deploy
```sh
[bundle exec] fastlane android deploy
```
Deploy a new version to Google Play
Deploy a new version to the Google Play
### android deploy_beta
### android deployMeta
```sh
[bundle exec] fastlane android deploy_beta
[bundle exec] fastlane android deployMeta
```
Deploy a beta to Google Play
Deploy Google Play metadata
### android getVersionCode
```sh
[bundle exec] fastlane android getVersionCode
```
Get version code
----

Some files were not shown because too many files have changed in this diff Show more