Compare commits
25 Commits
oranki-mai
...
volfram
Author | SHA1 | Date |
---|---|---|
Jarno Rankinen | 470c827356 | |
Jarno Rankinen | 4ef107de8d | |
Jarno Rankinen | fd2420211c | |
Jarno Rankinen | 7730122c4b | |
Jarno Rankinen | 47740d6991 | |
Jarno Rankinen | 894472127f | |
Jarno Rankinen | 841a0def08 | |
Jarno Rankinen | b4b7b7749f | |
Jarno Rankinen | e1384bf80a | |
Jarno Rankinen | 86878e70f9 | |
Jarno Rankinen | aa609fdeb6 | |
Jarno Rankinen | c1e03e3633 | |
Jarno Rankinen | e5e790ead8 | |
Jarno Rankinen | 1b0f965dfb | |
Jarno Rankinen | 9e1ab131dc | |
Jarno Rankinen | 88f7050651 | |
Jarno Rankinen | 2143ad1c51 | |
Jarno Rankinen | 38da2ceb4e | |
Jarno Rankinen | 6279954d7a | |
Jarno Rankinen | 1ee194d65e | |
Jarno Rankinen | 89d4802428 | |
Jarno Rankinen | 4b4e2efe08 | |
Jarno Rankinen | 3bc029839e | |
Jarno Rankinen | d310db5f67 | |
Jarno Rankinen | 2e748a9f35 |
63
README.md
|
@ -1,58 +1,15 @@
|
||||||
[![Latest build](https://github.com/vector-im/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%3Adevelop)
|
# Volfram
|
||||||
[![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)
|
|
||||||
|
|
||||||
# Element Android
|
![logo](https://github.com/0ranki/volfram/blob/volfram/resources/img/volfram-logo.png?raw=true)
|
||||||
|
|
||||||
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).
|
This is a fork of Element Android, with slight modifications mainly to the UI.
|
||||||
|
|
||||||
It is a total rewrite of [Riot-Android](https://github.com/vector-im/riot-android) with a new user experience.
|
Idea is to stay close to Element, but introduce changes that make the app a bit more approachable.
|
||||||
|
|
||||||
[<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)
|
### Current changes:
|
||||||
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
|
- Based on the 1.6.5 release of Element
|
||||||
|
- Use black theme instead of dark when set to follow system theme
|
||||||
Build of develop branch: [![GitHub Action](https://github.com/vector-im/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%3Adevelop) Nightly test status: [![allScreensTest](https://github.com/vector-im/element-android/actions/workflows/nightly.yml/badge.svg)](https://github.com/vector-im/element-android/actions/workflows/nightly.yml)
|
- Toggle for visibility of encryption shields in Labs, by default shields are hidden
|
||||||
|
- New icon, name and logo to differentiate from upstream and allow simultaneous install
|
||||||
|
|
||||||
# New Android SDK
|
|
||||||
|
|
||||||
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/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://github.com/vector-im/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/vector-im/element-meta/wiki/Triage-process).
|
|
||||||
|
|
||||||
We use [issue labels](https://github.com/vector-im/element-meta/wiki/Issue-labelling) to sort all incoming issues.
|
|
||||||
|
|
||||||
|
All credits belong to devs of https://github.com/vector-im/element-android, I barely know what I'm doing with Kotlin.
|
||||||
|
|
|
@ -463,6 +463,9 @@
|
||||||
<string name="labs_enable_new_app_layout_title">Enable new layout</string>
|
<string name="labs_enable_new_app_layout_title">Enable new layout</string>
|
||||||
<string name="labs_enable_new_app_layout_summary">A simplified Element with optional tabs</string>
|
<string name="labs_enable_new_app_layout_summary">A simplified Element with optional tabs</string>
|
||||||
|
|
||||||
|
<string name="labs_enable_hide_shields_title">Hide encryption shields</string>
|
||||||
|
<string name="labs_enable_hide_shields_summary">Hide encryption shields next to messages in rooms</string>
|
||||||
|
|
||||||
<string name="labs_enable_deferred_dm_title">Enable deferred DMs</string>
|
<string name="labs_enable_deferred_dm_title">Enable deferred DMs</string>
|
||||||
<string name="labs_enable_deferred_dm_summary">Create DM only on first message</string>
|
<string name="labs_enable_deferred_dm_summary">Create DM only on first message</string>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="64dp"
|
||||||
|
android:height="64dp"
|
||||||
|
android:viewportWidth="64"
|
||||||
|
android:viewportHeight="64">
|
||||||
|
<path
|
||||||
|
android:pathData="M23.04,3.84C23.04,1.7192 24.7593,0 26.88,0C41.0185,0 52.48,11.4615 52.48,25.6C52.48,27.7208 50.7608,29.44 48.64,29.44C46.5193,29.44 44.8,27.7208 44.8,25.6C44.8,15.7031 36.777,7.68 26.88,7.68C24.7593,7.68 23.04,5.9608 23.04,3.84Z"
|
||||||
|
android:fillColor="#000000"
|
||||||
|
android:fillType="evenOdd"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M40.96,60.16C40.96,62.2808 39.2407,64 37.12,64C22.9815,64 11.52,52.5385 11.52,38.4C11.52,36.2792 13.2392,34.56 15.36,34.56C17.4807,34.56 19.2,36.2792 19.2,38.4C19.2,48.2969 27.223,56.32 37.12,56.32C39.2407,56.32 40.96,58.0392 40.96,60.16Z"
|
||||||
|
android:fillColor="#000000"
|
||||||
|
android:fillType="evenOdd"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M3.84,40.96C1.7192,40.96 -0,39.2407 -0,37.12C-0,22.9815 11.4615,11.52 25.6,11.52C27.7208,11.52 29.44,13.2392 29.44,15.36C29.44,17.4807 27.7208,19.2 25.6,19.2C15.7031,19.2 7.68,27.223 7.68,37.12C7.68,39.2407 5.9608,40.96 3.84,40.96Z"
|
||||||
|
android:fillColor="#000000"
|
||||||
|
android:fillType="evenOdd"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M60.16,23.04C62.2808,23.04 64,24.7593 64,26.88C64,41.0185 52.5385,52.48 38.4,52.48C36.2792,52.48 34.56,50.7608 34.56,48.64C34.56,46.5193 36.2792,44.8 38.4,44.8C48.2969,44.8 56.32,36.777 56.32,26.88C56.32,24.7593 58.0392,23.04 60.16,23.04Z"
|
||||||
|
android:fillColor="#000000"
|
||||||
|
android:fillType="evenOdd"/>
|
||||||
|
</vector>
|
|
@ -5,7 +5,7 @@
|
||||||
Source: https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=1521%3A23026 -->
|
Source: https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=1521%3A23026 -->
|
||||||
|
|
||||||
<color name="element_accent_light">@color/palette_element_green</color>
|
<color name="element_accent_light">@color/palette_element_green</color>
|
||||||
<color name="element_accent_dark">@color/palette_element_green</color>
|
<color name="element_accent_dark">@color/palette_gray_400</color>
|
||||||
|
|
||||||
<color name="element_alert_light">@color/palette_vermilion</color>
|
<color name="element_alert_light">@color/palette_vermilion</color>
|
||||||
<color name="element_alert_dark">@color/palette_vermilion</color>
|
<color name="element_alert_dark">@color/palette_vermilion</color>
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="ThemeOverlay.Vector.HomeFilterTabLayout" parent="Theme.Vector.Launcher">
|
<style name="ThemeOverlay.Vector.HomeFilterTabLayout" parent="Theme.Vector.Launcher">
|
||||||
|
<item name="colorPrimary">?vctr_content_primary</item>
|
||||||
<item name="colorSurface">?vctr_toolbar_background</item>
|
<item name="colorSurface">?vctr_toolbar_background</item>
|
||||||
<item name="colorOnSurface">?vctr_content_secondary</item>
|
<item name="colorOnSurface">?vctr_content_secondary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
<!-- Launcher Theme, only used for VectorLauncherActivity (will be use even before the Activity is started) -->
|
<!-- Launcher Theme, only used for VectorLauncherActivity (will be use even before the Activity is started) -->
|
||||||
<style name="Theme.Vector.Launcher" parent="Theme.MaterialComponents.Light.NoActionBar">
|
<style name="Theme.Vector.Launcher" parent="Theme.MaterialComponents.Light.NoActionBar">
|
||||||
<item name="android:windowBackground">@drawable/splash</item>
|
<item name="android:windowBackground">@drawable/splash</item>
|
||||||
<item name="colorPrimary">@color/element_accent_light</item>
|
<item name="colorPrimary">#000000</item>
|
||||||
<item name="android:statusBarColor">@color/element_accent_light</item>
|
<item name="android:statusBarColor">#000000</item>
|
||||||
<item name="android:navigationBarColor">@color/element_accent_light</item>
|
<item name="android:navigationBarColor">#000000</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.Vector.Black.AttachmentsPreview">
|
<style name="Theme.Vector.Black.AttachmentsPreview">
|
||||||
|
|
After Width: | Height: | Size: 15 KiB |
|
@ -38,6 +38,8 @@ ext.versionMinor = 6
|
||||||
// When creating a hotfix, you should decrease the value, since the current value
|
// When creating a hotfix, you should decrease the value, since the current value
|
||||||
// is the value for the next regular release.
|
// is the value for the next regular release.
|
||||||
ext.versionPatch = 6
|
ext.versionPatch = 6
|
||||||
|
// Volfram specific version number
|
||||||
|
ext.versionVfrm = 1
|
||||||
|
|
||||||
static def getGitTimestamp() {
|
static def getGitTimestamp() {
|
||||||
def cmd = 'git show -s --format=%ct'
|
def cmd = 'git show -s --format=%ct'
|
||||||
|
@ -103,7 +105,7 @@ static def gitBranchName() {
|
||||||
|
|
||||||
// For Google Play build, build on any other branch than main will have a "-dev" suffix
|
// For Google Play build, build on any other branch than main will have a "-dev" suffix
|
||||||
static def getGplayVersionSuffix() {
|
static def getGplayVersionSuffix() {
|
||||||
if (gitBranchName() == "main") {
|
if (gitBranchName() == "volfram") {
|
||||||
return ""
|
return ""
|
||||||
} else {
|
} else {
|
||||||
return "-dev"
|
return "-dev"
|
||||||
|
@ -145,7 +147,7 @@ android {
|
||||||
compileSdk versions.compileSdk
|
compileSdk versions.compileSdk
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "im.vector.app"
|
applicationId "net.oranki.volfram"
|
||||||
// Set to API 21: see #405
|
// Set to API 21: see #405
|
||||||
minSdk versions.minSdk
|
minSdk versions.minSdk
|
||||||
targetSdk versions.targetSdk
|
targetSdk versions.targetSdk
|
||||||
|
@ -205,7 +207,8 @@ android {
|
||||||
// See https://issuetracker.google.com/issues/171133218
|
// See https://issuetracker.google.com/issues/171133218
|
||||||
output.versionCodeOverride = baseVariantVersion + baseAbiVersionCode
|
output.versionCodeOverride = baseVariantVersion + baseAbiVersionCode
|
||||||
print "ABI " + output.getFilter(OutputFile.ABI) + " \t-> VersionCode = " + output.versionCode + "\n"
|
print "ABI " + output.getFilter(OutputFile.ABI) + " \t-> VersionCode = " + output.versionCode + "\n"
|
||||||
output.outputFileName = output.outputFileName.replace("vector-app", "vector")
|
output.outputFileName = output.outputFileName.replace("vector-app", "volfram")
|
||||||
|
output.outputFileName = output.outputFileName.replace("release", "release-" + versionMajor +"."+ versionMinor +"."+ versionPatch +".vfrm."+ versionVfrm)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,7 +252,7 @@ android {
|
||||||
debug {
|
debug {
|
||||||
applicationIdSuffix ".debug"
|
applicationIdSuffix ".debug"
|
||||||
signingConfig signingConfigs.debug
|
signingConfig signingConfigs.debug
|
||||||
resValue "string", "app_name", "Element - dbg"
|
resValue "string", "app_name", "Volfram - dbg"
|
||||||
|
|
||||||
if (project.hasProperty("coverage")) {
|
if (project.hasProperty("coverage")) {
|
||||||
testCoverageEnabled = coverage == "true"
|
testCoverageEnabled = coverage == "true"
|
||||||
|
@ -257,7 +260,7 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
release {
|
release {
|
||||||
resValue "string", "app_name", "Element"
|
resValue "string", "app_name", "Volfram"
|
||||||
postprocessing {
|
postprocessing {
|
||||||
// FIXME Set to true.
|
// FIXME Set to true.
|
||||||
removeUnusedCode false
|
removeUnusedCode false
|
||||||
|
@ -267,6 +270,7 @@ android {
|
||||||
optimizeCode true
|
optimizeCode true
|
||||||
proguardFiles 'proguard-rules.pro'
|
proguardFiles 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
|
signingConfig signingConfigs.release
|
||||||
// signingConfig signingConfigs.release
|
// signingConfig signingConfigs.release
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,14 +324,14 @@ android {
|
||||||
|
|
||||||
dimension "store"
|
dimension "store"
|
||||||
isDefault = true
|
isDefault = true
|
||||||
versionName "${versionMajor}.${versionMinor}.${versionPatch}${getGplayVersionSuffix()}"
|
versionName "${versionMajor}.${versionMinor}.${versionPatch}${getGplayVersionSuffix()}.vfrm.${versionVfrm}"
|
||||||
buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"G\""
|
buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"G\""
|
||||||
buildConfigField "String", "FLAVOR_DESCRIPTION", "\"GooglePlay\""
|
buildConfigField "String", "FLAVOR_DESCRIPTION", "\"GooglePlay\""
|
||||||
}
|
}
|
||||||
|
|
||||||
fdroid {
|
fdroid {
|
||||||
dimension "store"
|
dimension "store"
|
||||||
versionName "${versionMajor}.${versionMinor}.${versionPatch}${getFdroidVersionSuffix()}"
|
versionName "${versionMajor}.${versionMinor}.${versionPatch}${getFdroidVersionSuffix()}.vfrm.${versionVfrm}"
|
||||||
buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"F\""
|
buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"F\""
|
||||||
buildConfigField "String", "FLAVOR_DESCRIPTION", "\"FDroid\""
|
buildConfigField "String", "FLAVOR_DESCRIPTION", "\"FDroid\""
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,6 +85,11 @@ class DebugFeaturesStateFactory @Inject constructor(
|
||||||
key = DebugFeatureKeys.newAppLayoutEnabled,
|
key = DebugFeatureKeys.newAppLayoutEnabled,
|
||||||
factory = VectorFeatures::isNewAppLayoutFeatureEnabled
|
factory = VectorFeatures::isNewAppLayoutFeatureEnabled
|
||||||
),
|
),
|
||||||
|
createBooleanFeature(
|
||||||
|
label = "Disable Encryption Shields",
|
||||||
|
key = DebugFeatureKeys.shieldVisibilityDisabled,
|
||||||
|
factory = VectorFeatures::isShieldVisibilityDisabled
|
||||||
|
),
|
||||||
createBooleanFeature(
|
createBooleanFeature(
|
||||||
label = "Enable QR Code Login",
|
label = "Enable QR Code Login",
|
||||||
key = DebugFeatureKeys.qrCodeLoginEnabled,
|
key = DebugFeatureKeys.qrCodeLoginEnabled,
|
||||||
|
|
|
@ -76,6 +76,9 @@ class DebugVectorFeatures(
|
||||||
override fun isNewAppLayoutFeatureEnabled(): Boolean = read(DebugFeatureKeys.newAppLayoutEnabled)
|
override fun isNewAppLayoutFeatureEnabled(): Boolean = read(DebugFeatureKeys.newAppLayoutEnabled)
|
||||||
?: vectorFeatures.isNewAppLayoutFeatureEnabled()
|
?: vectorFeatures.isNewAppLayoutFeatureEnabled()
|
||||||
|
|
||||||
|
override fun isShieldVisibilityDisabled(): Boolean = read(DebugFeatureKeys.shieldVisibilityDisabled)
|
||||||
|
?: vectorFeatures.isShieldVisibilityDisabled()
|
||||||
|
|
||||||
override fun isQrCodeLoginEnabled() = read(DebugFeatureKeys.qrCodeLoginEnabled)
|
override fun isQrCodeLoginEnabled() = read(DebugFeatureKeys.qrCodeLoginEnabled)
|
||||||
?: vectorFeatures.isQrCodeLoginEnabled()
|
?: vectorFeatures.isQrCodeLoginEnabled()
|
||||||
|
|
||||||
|
@ -150,6 +153,7 @@ object DebugFeatureKeys {
|
||||||
val screenSharing = booleanPreferencesKey("screen-sharing")
|
val screenSharing = booleanPreferencesKey("screen-sharing")
|
||||||
val forceUsageOfOpusEncoder = booleanPreferencesKey("force-usage-of-opus-encoder")
|
val forceUsageOfOpusEncoder = booleanPreferencesKey("force-usage-of-opus-encoder")
|
||||||
val newAppLayoutEnabled = booleanPreferencesKey("new-app-layout-enabled")
|
val newAppLayoutEnabled = booleanPreferencesKey("new-app-layout-enabled")
|
||||||
|
val shieldVisibilityDisabled = booleanPreferencesKey("shield-visibility-disabled")
|
||||||
val qrCodeLoginEnabled = booleanPreferencesKey("qr-code-login-enabled")
|
val qrCodeLoginEnabled = booleanPreferencesKey("qr-code-login-enabled")
|
||||||
val qrCodeLoginForAllServers = booleanPreferencesKey("qr-code-login-for-all-servers")
|
val qrCodeLoginForAllServers = booleanPreferencesKey("qr-code-login-for-all-servers")
|
||||||
val reciprocateQrCodeLogin = booleanPreferencesKey("reciprocate-qr-code-login")
|
val reciprocateQrCodeLogin = booleanPreferencesKey("reciprocate-qr-code-login")
|
||||||
|
|
|
@ -2,6 +2,6 @@
|
||||||
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<share-target android:targetClass="im.vector.app.features.share.IncomingShareActivity">
|
<share-target android:targetClass="im.vector.app.features.share.IncomingShareActivity">
|
||||||
<data android:mimeType="*/*" />
|
<data android:mimeType="*/*" />
|
||||||
<category android:name="im.vector.app.debug.SHORTCUT_SHARE" />
|
<category android:name="net.oranki.volfram.debug.SHORTCUT_SHARE" />
|
||||||
</share-target>
|
</share-target>
|
||||||
</shortcuts>
|
</shortcuts>
|
|
@ -10,7 +10,7 @@
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d",
|
"mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "im.vector.app.debug"
|
"package_name": "net.oranki.volfram.debug"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [
|
"oauth_client": [
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d",
|
"mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "im.vector.app.nightly"
|
"package_name": "net.oranki.volfram.nightly"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [
|
"oauth_client": [
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d",
|
"mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "im.vector.app"
|
"package_name": "net.oranki.volfram"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [
|
"oauth_client": [
|
||||||
|
|
After Width: | Height: | Size: 18 KiB |
|
@ -5,6 +5,6 @@
|
||||||
android:viewportHeight="108">
|
android:viewportHeight="108">
|
||||||
<path
|
<path
|
||||||
android:pathData="m0,0h108v108h-108z"
|
android:pathData="m0,0h108v108h-108z"
|
||||||
android:fillColor="@color/launcher_background"
|
android:fillColor="@color/palette_white"
|
||||||
android:fillType="evenOdd"/>
|
android:fillType="evenOdd"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -5,18 +5,18 @@
|
||||||
android:viewportHeight="108">
|
android:viewportHeight="108">
|
||||||
<path
|
<path
|
||||||
android:pathData="M47.28,32.88C47.28,31.289 48.569,30 50.16,30C60.764,30 69.36,38.596 69.36,49.2C69.36,50.791 68.071,52.08 66.48,52.08C64.89,52.08 63.6,50.791 63.6,49.2C63.6,41.777 57.583,35.76 50.16,35.76C48.569,35.76 47.28,34.471 47.28,32.88Z"
|
android:pathData="M47.28,32.88C47.28,31.289 48.569,30 50.16,30C60.764,30 69.36,38.596 69.36,49.2C69.36,50.791 68.071,52.08 66.48,52.08C64.89,52.08 63.6,50.791 63.6,49.2C63.6,41.777 57.583,35.76 50.16,35.76C48.569,35.76 47.28,34.471 47.28,32.88Z"
|
||||||
android:fillColor="#ffffff"
|
android:fillColor="#000000"
|
||||||
android:fillType="evenOdd"/>
|
android:fillType="evenOdd"/>
|
||||||
<path
|
<path
|
||||||
android:pathData="M60.72,75.12C60.72,76.711 59.431,78 57.84,78C47.236,78 38.64,69.404 38.64,58.8C38.64,57.209 39.929,55.92 41.52,55.92C43.111,55.92 44.4,57.209 44.4,58.8C44.4,66.223 50.417,72.24 57.84,72.24C59.431,72.24 60.72,73.529 60.72,75.12Z"
|
android:pathData="M60.72,75.12C60.72,76.711 59.431,78 57.84,78C47.236,78 38.64,69.404 38.64,58.8C38.64,57.209 39.929,55.92 41.52,55.92C43.111,55.92 44.4,57.209 44.4,58.8C44.4,66.223 50.417,72.24 57.84,72.24C59.431,72.24 60.72,73.529 60.72,75.12Z"
|
||||||
android:fillColor="#ffffff"
|
android:fillColor="#000000"
|
||||||
android:fillType="evenOdd"/>
|
android:fillType="evenOdd"/>
|
||||||
<path
|
<path
|
||||||
android:pathData="M32.88,60.72C31.289,60.72 30,59.431 30,57.84C30,47.236 38.596,38.64 49.2,38.64C50.791,38.64 52.08,39.929 52.08,41.52C52.08,43.111 50.791,44.4 49.2,44.4C41.777,44.4 35.76,50.417 35.76,57.84C35.76,59.431 34.471,60.72 32.88,60.72Z"
|
android:pathData="M32.88,60.72C31.289,60.72 30,59.431 30,57.84C30,47.236 38.596,38.64 49.2,38.64C50.791,38.64 52.08,39.929 52.08,41.52C52.08,43.111 50.791,44.4 49.2,44.4C41.777,44.4 35.76,50.417 35.76,57.84C35.76,59.431 34.471,60.72 32.88,60.72Z"
|
||||||
android:fillColor="#ffffff"
|
android:fillColor="#000000"
|
||||||
android:fillType="evenOdd"/>
|
android:fillType="evenOdd"/>
|
||||||
<path
|
<path
|
||||||
android:pathData="M75.12,47.28C76.711,47.28 78,48.569 78,50.16C78,60.764 69.404,69.36 58.8,69.36C57.209,69.36 55.92,68.071 55.92,66.48C55.92,64.89 57.209,63.6 58.8,63.6C66.223,63.6 72.24,57.583 72.24,50.16C72.24,48.569 73.529,47.28 75.12,47.28Z"
|
android:pathData="M75.12,47.28C76.711,47.28 78,48.569 78,50.16C78,60.764 69.404,69.36 58.8,69.36C57.209,69.36 55.92,68.071 55.92,66.48C55.92,64.89 57.209,63.6 58.8,63.6C66.223,63.6 72.24,57.583 72.24,50.16C72.24,48.569 73.529,47.28 75.12,47.28Z"
|
||||||
android:fillColor="#ffffff"
|
android:fillColor="#000000"
|
||||||
android:fillType="evenOdd"/>
|
android:fillType="evenOdd"/>
|
||||||
</vector>
|
</vector>
|
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@drawable/ic_launcher_background" />
|
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@drawable/ic_launcher_background" />
|
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
Before Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 880 B |
Before Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 7.5 KiB |
|
@ -2,6 +2,6 @@
|
||||||
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<share-target android:targetClass="im.vector.app.features.share.IncomingShareActivity">
|
<share-target android:targetClass="im.vector.app.features.share.IncomingShareActivity">
|
||||||
<data android:mimeType="*/*" />
|
<data android:mimeType="*/*" />
|
||||||
<category android:name="im.vector.app.nightly.SHORTCUT_SHARE" />
|
<category android:name="net.oranki.volfram.nightly.SHORTCUT_SHARE" />
|
||||||
</share-target>
|
</share-target>
|
||||||
</shortcuts>
|
</shortcuts>
|
||||||
|
|
|
@ -2,6 +2,6 @@
|
||||||
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<share-target android:targetClass="im.vector.app.features.share.IncomingShareActivity">
|
<share-target android:targetClass="im.vector.app.features.share.IncomingShareActivity">
|
||||||
<data android:mimeType="*/*" />
|
<data android:mimeType="*/*" />
|
||||||
<category android:name="im.vector.app.SHORTCUT_SHARE" />
|
<category android:name="net.oranki.volfram.SHORTCUT_SHARE" />
|
||||||
</share-target>
|
</share-target>
|
||||||
</shortcuts>
|
</shortcuts>
|
|
@ -39,14 +39,15 @@
|
||||||
<!-- Level 1: Labs -->
|
<!-- Level 1: Labs -->
|
||||||
<bool name="settings_labs_deferred_dm_visible">true</bool>
|
<bool name="settings_labs_deferred_dm_visible">true</bool>
|
||||||
<bool name="settings_labs_deferred_dm_default">true</bool>
|
<bool name="settings_labs_deferred_dm_default">true</bool>
|
||||||
<bool name="settings_labs_thread_messages_default">true</bool>
|
<bool name="settings_labs_thread_messages_default">false</bool>
|
||||||
<bool name="settings_labs_new_app_layout_default">true</bool>
|
<bool name="settings_labs_new_app_layout_default">true</bool>
|
||||||
<bool name="settings_labs_new_session_manager_default">false</bool>
|
<bool name="settings_labs_hide_shields_default">true</bool>
|
||||||
|
<bool name="settings_labs_new_session_manager_default">true</bool>
|
||||||
<bool name="settings_labs_new_session_manager_visible">true</bool>
|
<bool name="settings_labs_new_session_manager_visible">true</bool>
|
||||||
<bool name="settings_labs_client_info_recording_default">false</bool>
|
<bool name="settings_labs_client_info_recording_default">true</bool>
|
||||||
<bool name="settings_labs_client_info_recording_visible">true</bool>
|
<bool name="settings_labs_client_info_recording_visible">true</bool>
|
||||||
<bool name="settings_timeline_show_live_sender_info_visible">true</bool>
|
<bool name="settings_timeline_show_live_sender_info_visible">true</bool>
|
||||||
<bool name="settings_timeline_show_live_sender_info_default">false</bool>
|
<bool name="settings_timeline_show_live_sender_info_default">true</bool>
|
||||||
<bool name="settings_labs_rich_text_editor_visible">true</bool>
|
<bool name="settings_labs_rich_text_editor_visible">true</bool>
|
||||||
<bool name="settings_labs_rich_text_editor_default">false</bool>
|
<bool name="settings_labs_rich_text_editor_default">false</bool>
|
||||||
<bool name="settings_labs_enable_voice_broadcast_visible">true</bool>
|
<bool name="settings_labs_enable_voice_broadcast_visible">true</bool>
|
||||||
|
@ -58,6 +59,6 @@
|
||||||
<!-- Level 1: Legals -->
|
<!-- Level 1: Legals -->
|
||||||
|
|
||||||
<!-- Level 3: Security & Privacy, Sessions -->
|
<!-- Level 3: Security & Privacy, Sessions -->
|
||||||
<bool name="settings_session_manager_show_ip_address">false</bool>
|
<bool name="settings_session_manager_show_ip_address">true</bool>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
<!-- It is the push gateway for UnifiedPush -->
|
<!-- It is the push gateway for UnifiedPush -->
|
||||||
<string name="default_push_gateway_http_url" translatable="false">https://matrix.gateway.unifiedpush.org/_matrix/push/v1/notify</string>
|
<string name="default_push_gateway_http_url" translatable="false">https://matrix.gateway.unifiedpush.org/_matrix/push/v1/notify</string>
|
||||||
<!-- Note: pusher_app_id cannot exceed 64 chars -->
|
<!-- Note: pusher_app_id cannot exceed 64 chars -->
|
||||||
<string name="pusher_app_id" translatable="false">im.vector.app.android</string>
|
<string name="pusher_app_id" translatable="false">net.oranki.volfram</string>
|
||||||
|
|
||||||
<!-- preferred jitsi domain -->
|
<!-- preferred jitsi domain -->
|
||||||
<string name="preferred_jitsi_domain" translatable="false">meet.element.io</string>
|
<string name="preferred_jitsi_domain" translatable="false">meet.element.io</string>
|
||||||
|
|
|
@ -40,6 +40,7 @@ interface VectorFeatures {
|
||||||
* use [VectorPreferences.isNewAppLayoutEnabled] instead.
|
* use [VectorPreferences.isNewAppLayoutEnabled] instead.
|
||||||
*/
|
*/
|
||||||
fun isNewAppLayoutFeatureEnabled(): Boolean
|
fun isNewAppLayoutFeatureEnabled(): Boolean
|
||||||
|
fun isShieldVisibilityDisabled(): Boolean
|
||||||
fun isQrCodeLoginEnabled(): Boolean
|
fun isQrCodeLoginEnabled(): Boolean
|
||||||
fun isQrCodeLoginForAllServers(): Boolean
|
fun isQrCodeLoginForAllServers(): Boolean
|
||||||
fun isReciprocateQrCodeLogin(): Boolean
|
fun isReciprocateQrCodeLogin(): Boolean
|
||||||
|
@ -60,6 +61,7 @@ class DefaultVectorFeatures : VectorFeatures {
|
||||||
override fun isLocationSharingEnabled() = Config.ENABLE_LOCATION_SHARING
|
override fun isLocationSharingEnabled() = Config.ENABLE_LOCATION_SHARING
|
||||||
override fun forceUsageOfOpusEncoder(): Boolean = false
|
override fun forceUsageOfOpusEncoder(): Boolean = false
|
||||||
override fun isNewAppLayoutFeatureEnabled(): Boolean = true
|
override fun isNewAppLayoutFeatureEnabled(): Boolean = true
|
||||||
|
override fun isShieldVisibilityDisabled(): Boolean = true
|
||||||
override fun isQrCodeLoginEnabled(): Boolean = true
|
override fun isQrCodeLoginEnabled(): Boolean = true
|
||||||
override fun isQrCodeLoginForAllServers(): Boolean = false
|
override fun isQrCodeLoginForAllServers(): Boolean = false
|
||||||
override fun isReciprocateQrCodeLogin(): Boolean = false
|
override fun isReciprocateQrCodeLogin(): Boolean = false
|
||||||
|
|
|
@ -317,7 +317,7 @@ class HomeActivity :
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun handleShowAnalyticsOptIn() {
|
private fun handleShowAnalyticsOptIn() {
|
||||||
navigator.openAnalyticsOptIn(this)
|
// navigator.openAnalyticsOptIn(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -26,6 +26,7 @@ import im.vector.app.features.home.room.detail.timeline.item.MessageInformationD
|
||||||
import im.vector.app.features.home.room.detail.timeline.item.ReferencesInfoData
|
import im.vector.app.features.home.room.detail.timeline.item.ReferencesInfoData
|
||||||
import im.vector.app.features.home.room.detail.timeline.item.SendStateDecoration
|
import im.vector.app.features.home.room.detail.timeline.item.SendStateDecoration
|
||||||
import im.vector.app.features.home.room.detail.timeline.style.TimelineMessageLayoutFactory
|
import im.vector.app.features.home.room.detail.timeline.style.TimelineMessageLayoutFactory
|
||||||
|
import im.vector.app.features.settings.VectorPreferences
|
||||||
import org.matrix.android.sdk.api.extensions.orFalse
|
import org.matrix.android.sdk.api.extensions.orFalse
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
import org.matrix.android.sdk.api.session.crypto.model.MessageVerificationState
|
import org.matrix.android.sdk.api.session.crypto.model.MessageVerificationState
|
||||||
|
@ -55,6 +56,7 @@ class MessageInformationDataFactory @Inject constructor(
|
||||||
private val messageLayoutFactory: TimelineMessageLayoutFactory,
|
private val messageLayoutFactory: TimelineMessageLayoutFactory,
|
||||||
private val reactionsSummaryFactory: ReactionsSummaryFactory,
|
private val reactionsSummaryFactory: ReactionsSummaryFactory,
|
||||||
private val pollResponseDataFactory: PollResponseDataFactory,
|
private val pollResponseDataFactory: PollResponseDataFactory,
|
||||||
|
private val vectorPreferences: VectorPreferences,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
fun create(params: TimelineItemFactoryParams): MessageInformationData {
|
fun create(params: TimelineItemFactoryParams): MessageInformationData {
|
||||||
|
@ -147,7 +149,7 @@ class MessageInformationDataFactory @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getE2EDecorationV2(roomSummary: RoomSummary?, event: Event): E2EDecoration {
|
private fun getE2EDecorationV2(roomSummary: RoomSummary?, event: Event): E2EDecoration {
|
||||||
if (roomSummary?.isEncrypted != true) {
|
if (roomSummary?.isEncrypted != true || vectorPreferences.isShieldVisibilityDisabled()) {
|
||||||
// No decoration for clear room
|
// No decoration for clear room
|
||||||
// Questionable? what if the event is E2E?
|
// Questionable? what if the event is E2E?
|
||||||
return E2EDecoration.NONE
|
return E2EDecoration.NONE
|
||||||
|
|
|
@ -70,6 +70,7 @@ class VectorPreferences @Inject constructor(
|
||||||
const val SETTINGS_BACKGROUND_SYNC_DIVIDER_PREFERENCE_KEY = "SETTINGS_BACKGROUND_SYNC_DIVIDER_PREFERENCE_KEY"
|
const val SETTINGS_BACKGROUND_SYNC_DIVIDER_PREFERENCE_KEY = "SETTINGS_BACKGROUND_SYNC_DIVIDER_PREFERENCE_KEY"
|
||||||
const val SETTINGS_LABS_PREFERENCE_KEY = "SETTINGS_LABS_PREFERENCE_KEY"
|
const val SETTINGS_LABS_PREFERENCE_KEY = "SETTINGS_LABS_PREFERENCE_KEY"
|
||||||
const val SETTINGS_LABS_NEW_APP_LAYOUT_KEY = "SETTINGS_LABS_NEW_APP_LAYOUT_KEY"
|
const val SETTINGS_LABS_NEW_APP_LAYOUT_KEY = "SETTINGS_LABS_NEW_APP_LAYOUT_KEY"
|
||||||
|
const val SETTINGS_LABS_HIDE_SHIELDS_KEY = "SETTINGS_LABS_HIDE_SHIELDS_KEY"
|
||||||
const val SETTINGS_LABS_DEFERRED_DM_KEY = "SETTINGS_LABS_DEFERRED_DM_KEY"
|
const val SETTINGS_LABS_DEFERRED_DM_KEY = "SETTINGS_LABS_DEFERRED_DM_KEY"
|
||||||
const val SETTINGS_LABS_RICH_TEXT_EDITOR_KEY = "SETTINGS_LABS_RICH_TEXT_EDITOR_KEY"
|
const val SETTINGS_LABS_RICH_TEXT_EDITOR_KEY = "SETTINGS_LABS_RICH_TEXT_EDITOR_KEY"
|
||||||
const val SETTINGS_LABS_NEW_SESSION_MANAGER_KEY = "SETTINGS_LABS_NEW_SESSION_MANAGER_KEY"
|
const val SETTINGS_LABS_NEW_SESSION_MANAGER_KEY = "SETTINGS_LABS_NEW_SESSION_MANAGER_KEY"
|
||||||
|
@ -305,6 +306,8 @@ class VectorPreferences @Inject constructor(
|
||||||
SETTINGS_SECURITY_USE_FLAG_SECURE,
|
SETTINGS_SECURITY_USE_FLAG_SECURE,
|
||||||
SETTINGS_SECURITY_INCOGNITO_KEYBOARD_PREFERENCE_KEY,
|
SETTINGS_SECURITY_INCOGNITO_KEYBOARD_PREFERENCE_KEY,
|
||||||
|
|
||||||
|
SETTINGS_LABS_HIDE_SHIELDS_KEY,
|
||||||
|
|
||||||
ShortcutsHandler.SHARED_PREF_KEY,
|
ShortcutsHandler.SHARED_PREF_KEY,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -1123,7 +1126,7 @@ class VectorPreferences @Inject constructor(
|
||||||
* Indicates whether or not thread messages are enabled.
|
* Indicates whether or not thread messages are enabled.
|
||||||
*/
|
*/
|
||||||
fun areThreadMessagesEnabled(): Boolean {
|
fun areThreadMessagesEnabled(): Boolean {
|
||||||
return defaultPrefs.getBoolean(SETTINGS_LABS_ENABLE_THREAD_MESSAGES, getDefault(R.bool.settings_labs_thread_messages_default))
|
return defaultPrefs.getBoolean(SETTINGS_LABS_ENABLE_THREAD_MESSAGES, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1141,7 +1144,7 @@ class VectorPreferences @Inject constructor(
|
||||||
* Should be removed when Threads flag will be removed
|
* Should be removed when Threads flag will be removed
|
||||||
*/
|
*/
|
||||||
fun wasThreadFlagChangedManually(): Boolean {
|
fun wasThreadFlagChangedManually(): Boolean {
|
||||||
return defaultPrefs.getBoolean(SETTINGS_LABS_THREAD_MESSAGES_CHANGED_BY_USER, false)
|
return defaultPrefs.getBoolean(SETTINGS_LABS_THREAD_MESSAGES_CHANGED_BY_USER, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1217,6 +1220,13 @@ class VectorPreferences @Inject constructor(
|
||||||
defaultPrefs.getBoolean(SETTINGS_LABS_NEW_APP_LAYOUT_KEY, getDefault(R.bool.settings_labs_new_app_layout_default))
|
defaultPrefs.getBoolean(SETTINGS_LABS_NEW_APP_LAYOUT_KEY, getDefault(R.bool.settings_labs_new_app_layout_default))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates if the encryption shields in rooms next to messages are hidden
|
||||||
|
*/
|
||||||
|
fun isShieldVisibilityDisabled() : Boolean {
|
||||||
|
return defaultPrefs.getBoolean(SETTINGS_LABS_HIDE_SHIELDS_KEY, getDefault(R.bool.settings_labs_hide_shields_default))
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates whether or not deferred DMs are enabled.
|
* Indicates whether or not deferred DMs are enabled.
|
||||||
*/
|
*/
|
||||||
|
@ -1228,18 +1238,18 @@ class VectorPreferences @Inject constructor(
|
||||||
* Indicates whether or not new session manager screens are enabled.
|
* Indicates whether or not new session manager screens are enabled.
|
||||||
*/
|
*/
|
||||||
fun isNewSessionManagerEnabled(): Boolean {
|
fun isNewSessionManagerEnabled(): Boolean {
|
||||||
return defaultPrefs.getBoolean(SETTINGS_LABS_NEW_SESSION_MANAGER_KEY, getDefault(R.bool.settings_labs_new_session_manager_default))
|
return defaultPrefs.getBoolean(SETTINGS_LABS_NEW_SESSION_MANAGER_KEY, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates whether or not client info recording is enabled.
|
* Indicates whether or not client info recording is enabled.
|
||||||
*/
|
*/
|
||||||
fun isClientInfoRecordingEnabled(): Boolean {
|
fun isClientInfoRecordingEnabled(): Boolean {
|
||||||
return defaultPrefs.getBoolean(SETTINGS_LABS_CLIENT_INFO_RECORDING_KEY, getDefault(R.bool.settings_labs_client_info_recording_default))
|
return defaultPrefs.getBoolean(SETTINGS_LABS_CLIENT_INFO_RECORDING_KEY, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showLiveSenderInfo(): Boolean {
|
fun showLiveSenderInfo(): Boolean {
|
||||||
return defaultPrefs.getBoolean(SETTINGS_TIMELINE_SHOW_LIVE_SENDER_INFO, getDefault(R.bool.settings_timeline_show_live_sender_info_default))
|
return defaultPrefs.getBoolean(SETTINGS_TIMELINE_SHOW_LIVE_SENDER_INFO, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isRichTextEditorEnabled(): Boolean {
|
fun isRichTextEditorEnabled(): Boolean {
|
||||||
|
@ -1252,7 +1262,7 @@ class VectorPreferences @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showIpAddressInSessionManagerScreens(): Boolean {
|
fun showIpAddressInSessionManagerScreens(): Boolean {
|
||||||
return defaultPrefs.getBoolean(SETTINGS_SESSION_MANAGER_SHOW_IP_ADDRESS, getDefault(R.bool.settings_session_manager_show_ip_address))
|
return defaultPrefs.getBoolean(SETTINGS_SESSION_MANAGER_SHOW_IP_ADDRESS, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setIpAddressVisibilityInDeviceManagerScreens(isVisible: Boolean) {
|
fun setIpAddressVisibilityInDeviceManagerScreens(isVisible: Boolean) {
|
||||||
|
|
|
@ -133,7 +133,7 @@ object ThemeUtils {
|
||||||
*/
|
*/
|
||||||
fun setActivityTheme(activity: Activity, otherThemes: ActivityOtherThemes) {
|
fun setActivityTheme(activity: Activity, otherThemes: ActivityOtherThemes) {
|
||||||
when (getApplicationTheme(activity)) {
|
when (getApplicationTheme(activity)) {
|
||||||
SYSTEM_THEME_VALUE -> if (isSystemDarkTheme(activity.resources)) activity.setTheme(otherThemes.dark)
|
SYSTEM_THEME_VALUE -> if (isSystemDarkTheme(activity.resources)) activity.setTheme(otherThemes.black)
|
||||||
THEME_DARK_VALUE -> activity.setTheme(otherThemes.dark)
|
THEME_DARK_VALUE -> activity.setTheme(otherThemes.dark)
|
||||||
THEME_BLACK_VALUE -> activity.setTheme(otherThemes.black)
|
THEME_BLACK_VALUE -> activity.setTheme(otherThemes.black)
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,7 @@ object ThemeUtils {
|
||||||
@StyleRes
|
@StyleRes
|
||||||
private fun themeToRes(context: Context, theme: String): Int =
|
private fun themeToRes(context: Context, theme: String): Int =
|
||||||
when (theme) {
|
when (theme) {
|
||||||
SYSTEM_THEME_VALUE -> if (isSystemDarkTheme(context.resources)) R.style.Theme_Vector_Dark else R.style.Theme_Vector_Light
|
SYSTEM_THEME_VALUE -> if (isSystemDarkTheme(context.resources)) R.style.Theme_Vector_Black else R.style.Theme_Vector_Light
|
||||||
THEME_DARK_VALUE -> R.style.Theme_Vector_Dark
|
THEME_DARK_VALUE -> R.style.Theme_Vector_Dark
|
||||||
THEME_BLACK_VALUE -> R.style.Theme_Vector_Black
|
THEME_BLACK_VALUE -> R.style.Theme_Vector_Black
|
||||||
else -> R.style.Theme_Vector_Light
|
else -> R.style.Theme_Vector_Light
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
android:layout_width="64dp"
|
android:layout_width="64dp"
|
||||||
android:layout_height="64dp"
|
android:layout_height="64dp"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:src="@drawable/element_logo_green"
|
android:src="@drawable/element_logo_black"
|
||||||
android:transitionName="loginLogoTransition" />
|
android:transitionName="loginLogoTransition" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:contentDescription="@string/app_name"
|
android:contentDescription="@string/app_name"
|
||||||
android:src="@drawable/element_logotype"
|
android:src="@drawable/element_logotype"
|
||||||
app:tint="?colorSecondary"
|
app:tint="@color/palette_black_900"
|
||||||
tools:ignore="MissingPrefix" />
|
tools:ignore="MissingPrefix" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
app:layout_constraintBottom_toTopOf="@id/newLayoutCreateChatButton"
|
app:layout_constraintBottom_toTopOf="@id/newLayoutCreateChatButton"
|
||||||
app:layout_constraintEnd_toEndOf="@id/newLayoutCreateChatButton"
|
app:layout_constraintEnd_toEndOf="@id/newLayoutCreateChatButton"
|
||||||
app:layout_constraintStart_toStartOf="@id/newLayoutCreateChatButton"
|
app:layout_constraintStart_toStartOf="@id/newLayoutCreateChatButton"
|
||||||
app:tint="?attr/colorPrimary"
|
app:tint="?vctr_content_primary"
|
||||||
tools:targetApi="lollipop_mr1"
|
tools:targetApi="lollipop_mr1"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
android:title="@string/settings_rageshake">
|
android:title="@string/settings_rageshake">
|
||||||
|
|
||||||
<im.vector.app.core.preference.VectorSwitchPreference
|
<im.vector.app.core.preference.VectorSwitchPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="false"
|
||||||
android:key="SETTINGS_USE_RAGE_SHAKE_KEY"
|
android:key="SETTINGS_USE_RAGE_SHAKE_KEY"
|
||||||
android:title="@string/send_bug_report_rage_shake" />
|
android:title="@string/send_bug_report_rage_shake" />
|
||||||
|
|
||||||
|
|
|
@ -89,6 +89,12 @@
|
||||||
android:summary="@string/labs_enable_new_app_layout_summary"
|
android:summary="@string/labs_enable_new_app_layout_summary"
|
||||||
android:title="@string/labs_enable_new_app_layout_title" />
|
android:title="@string/labs_enable_new_app_layout_title" />
|
||||||
|
|
||||||
|
<im.vector.app.core.preference.VectorSwitchPreference
|
||||||
|
android:defaultValue="@bool/settings_labs_hide_shields_default"
|
||||||
|
android:key="SETTINGS_LABS_HIDE_SHIELDS_KEY"
|
||||||
|
android:summary="@string/labs_enable_hide_shields_summary"
|
||||||
|
android:title="@string/labs_enable_hide_shields_title" />
|
||||||
|
|
||||||
<im.vector.app.core.preference.VectorSwitchPreference
|
<im.vector.app.core.preference.VectorSwitchPreference
|
||||||
android:defaultValue="@bool/settings_labs_deferred_dm_default"
|
android:defaultValue="@bool/settings_labs_deferred_dm_default"
|
||||||
android:key="SETTINGS_LABS_DEFERRED_DM_KEY"
|
android:key="SETTINGS_LABS_DEFERRED_DM_KEY"
|
||||||
|
|