Skip to content

Commit 6021c19

Browse files
Merge pull request #1060 from session-foundation/release/1.22.0
Release/1.22.0
2 parents d8193c4 + 735d95f commit 6021c19

File tree

1,031 files changed

+9525
-11425
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,031 files changed

+9525
-11425
lines changed

.github/workflows/build_and_test.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Build and test
2+
3+
on:
4+
push:
5+
branches: [ "dev", "master" ]
6+
pull_request:
7+
types: [opened, synchronize, reopened]
8+
9+
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build_and_test:
16+
runs-on: ubuntu-latest
17+
strategy:
18+
fail-fast: false # Continue with other matrix items if one fails
19+
matrix:
20+
variant: [ 'play', 'website', 'huawei' ]
21+
build_type: [ 'debug' ]
22+
include:
23+
- variant: 'huawei'
24+
extra_build_command_options: '-Phuawei=1'
25+
steps:
26+
- name: Cache Gradle
27+
uses: actions/cache@v4
28+
with:
29+
path: |
30+
~/.gradle/caches
31+
.gradle
32+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }}
33+
restore-keys: |
34+
${{ runner.os }}-gradle-
35+
36+
- uses: actions/checkout@v4
37+
with:
38+
submodules: 'recursive'
39+
- name: Set up JDK 17
40+
uses: actions/setup-java@v2
41+
with:
42+
distribution: 'temurin'
43+
java-version: '17'
44+
45+
- name: Build and test with Gradle
46+
id: build
47+
run: ./gradlew assemble${{ matrix.variant }}${{ matrix.build_type }} test${{ matrix.variant }}${{ matrix.build_type }}UnitTest ${{ matrix.extra_build_command_options }}
48+
49+
- name: Upload build reports regardless
50+
if: always()
51+
uses: actions/upload-artifact@v4
52+
with:
53+
name: build-reports-${{ matrix.variant }}-${{ matrix.build_type }}
54+
path: app/build/reports
55+
if-no-files-found: ignore
56+
57+
- name: Upload artifacts
58+
uses: actions/upload-artifact@v4
59+
with:
60+
name: session-${{ matrix.variant }}-${{ matrix.build_type }}
61+
path: app/build/outputs/apk/${{ matrix.variant }}/${{ matrix.build_type }}/*-universal*apk
62+
if-no-files-found: error
63+
compression-level: 0

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ sha256sum session-$SESSION_VERSION-universal.apk
6363
grep universal.apk signature.asc
6464
```
6565

66+
## Testing
67+
### BrowserStack
68+
69+
This project is tested with BrowserStack.
70+
6671
## License
6772

6873
Copyright 2011 Whisper Systems

app/build.gradle

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ configurations.configureEach {
1515
exclude module: "commons-logging"
1616
}
1717

18-
def canonicalVersionCode = 401
19-
def canonicalVersionName = "1.21.3"
18+
def canonicalVersionCode = 402
19+
def canonicalVersionName = "1.22.0"
2020

2121
def postFixSize = 10
2222
def abiPostFix = ['armeabi-v7a' : 1,
@@ -37,7 +37,6 @@ def getGitHash = { ->
3737
}
3838

3939
android {
40-
compileSdkVersion androidCompileSdkVersion
4140
namespace 'network.loki.messenger'
4241
useLibrary 'org.apache.http.legacy'
4342

@@ -79,6 +78,7 @@ android {
7978
versionCode canonicalVersionCode * postFixSize
8079
versionName canonicalVersionName
8180

81+
compileSdk androidCompileSdkVersion
8282
minSdkVersion androidMinimumSdkVersion
8383
targetSdkVersion androidTargetSdkVersion
8484

@@ -270,7 +270,7 @@ dependencies {
270270

271271
implementation("com.google.dagger:hilt-android:$daggerHiltVersion")
272272
implementation "androidx.appcompat:appcompat:$appcompatVersion"
273-
implementation 'androidx.recyclerview:recyclerview:1.2.1'
273+
implementation 'androidx.recyclerview:recyclerview:1.3.2'
274274
implementation "com.google.android.material:material:$materialVersion"
275275
implementation 'com.google.android.flexbox:flexbox:3.0.0'
276276
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
@@ -425,6 +425,9 @@ dependencies {
425425

426426
// Note: ZXing 3.5.3 is the latest stable release as of 2024/08/21
427427
implementation "com.google.zxing:core:$zxingVersion"
428+
429+
// Note: 1.1.0 is the latest stable release as of 2024/12/18
430+
implementation "androidx.biometric:biometric:1.1.0"
428431
}
429432

430433
static def getLastCommitTimestamp() {

app/src/main/AndroidManifest.xml

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,24 +31,19 @@
3131

3232
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
3333
<uses-permission android:name="android.permission.BLUETOOTH" />
34-
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
3534
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
3635
<uses-permission android:name="android.permission.CAMERA" />
3736
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" tools:node="remove" />
3837
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
38+
3939
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
40-
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"/>
4140
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL"/>
4241
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
42+
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
43+
4344
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
4445
<uses-permission android:name="android.permission.INTERNET" />
4546

46-
<!-- Google may (potentially) insist we implement `ConnectionService` to request MANAGE_OWN_CALLS - see:
47-
- https://developer.android.com/reference/android/Manifest.permission#MANAGE_OWN_CALLS
48-
- https://developer.android.com/reference/android/telecom/ConnectionService
49-
-->
50-
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
51-
5247
<uses-permission android:name="android.app.role.DIALER" />
5348
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
5449
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
@@ -77,8 +72,7 @@
7772
</intent>
7873
</queries>
7974

80-
<!-- The allowBackup="false" below is important to guard against potential malicious backups -->
81-
75+
<!-- Note: The allowBackup="false" below is important to guard against potential malicious backups -->
8276
<application
8377
android:name="org.thoughtcrime.securesms.ApplicationContext"
8478
android:allowBackup="false"
@@ -91,7 +85,6 @@
9185
tools:replace="android:allowBackup,android:label" >
9286

9387
<!-- Disable all analytics -->
94-
9588
<meta-data
9689
android:name="firebase_analytics_collection_deactivated"
9790
android:value="true" />
@@ -268,9 +261,9 @@
268261
android:launchMode="singleTask"
269262
android:theme="@style/NoAnimation.Theme.AppCompat.Light.DarkActionBar" />
270263
<activity
271-
android:name="org.thoughtcrime.securesms.PassphrasePromptActivity"
264+
android:name="org.thoughtcrime.securesms.ScreenLockActivity"
272265
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
273-
android:launchMode="singleTask"
266+
android:launchMode="singleInstancePerTask"
274267
android:theme="@style/Theme.Session.DayNight.NoActionBar" />
275268
<activity
276269
android:name="org.thoughtcrime.securesms.giph.ui.GiphyActivity"
@@ -311,7 +304,7 @@
311304
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
312305
android:exported="true"
313306
android:theme="@style/Theme.Session.DayNight.NoActionBar" />
314-
<activity android:name="org.thoughtcrime.securesms.calls.WebRtcCallActivity"
307+
<activity android:name="org.thoughtcrime.securesms.webrtc.WebRtcCallActivity"
315308
android:launchMode="singleTop"
316309
android:screenOrientation="portrait"
317310
android:showForAllUsers="true"
@@ -323,11 +316,6 @@
323316
</activity>
324317
<activity android:name="org.thoughtcrime.securesms.media.MediaOverviewActivity" />
325318

326-
<service
327-
android:enabled="true"
328-
android:name="org.thoughtcrime.securesms.service.WebRtcCallService"
329-
android:foregroundServiceType="phoneCall"
330-
android:exported="false" />
331319
<service
332320
android:name="org.thoughtcrime.securesms.service.KeyCachingService"
333321
android:enabled="true"
@@ -343,6 +331,11 @@
343331
<action android:name="android.service.chooser.ChooserTargetService" />
344332
</intent-filter>
345333
</service>
334+
<service
335+
android:name="org.thoughtcrime.securesms.service.CallForegroundService"
336+
android:foregroundServiceType="phoneCall"
337+
android:exported="false" />
338+
346339
<receiver
347340
android:name="org.thoughtcrime.securesms.notifications.MarkReadReceiver"
348341
android:enabled="true"
@@ -374,6 +367,9 @@
374367
</intent-filter>
375368
</receiver>
376369
<receiver android:name="org.thoughtcrime.securesms.service.ExpirationListener" />
370+
<receiver android:name="org.thoughtcrime.securesms.webrtc.EndCallReceiver"
371+
android:enabled="true"
372+
android:exported="false" />
377373

378374
<provider
379375
android:name="org.thoughtcrime.securesms.providers.PartProvider"

0 commit comments

Comments
 (0)