Skip to content
This repository was archived by the owner on Dec 8, 2025. It is now read-only.

Commit d41496a

Browse files
author
fanchao
committed
Strings work
Squashed commit of the following: commit 86cab0e Author: ThomasSession <[email protected]> Date: Fri Aug 30 10:17:04 2024 +1000 Bringing my xml dialog styling from my 'Standardise message deletion' branch commit 706d1aa Author: ThomasSession <[email protected]> Date: Fri Aug 30 09:49:48 2024 +1000 fixing up clear data dialog Removing unused code commit f905994 Author: Al Lansley <[email protected]> Date: Fri Aug 30 09:13:51 2024 +1000 Replaced 'now' with 12/24 hour time commit 16b8ad4 Author: alansley <[email protected]> Date: Thu Aug 29 17:34:03 2024 +1000 Fix two one-liner issues commit 4c6c450 Merge: 052f910 beb89d5 Author: ThomasSession <[email protected]> Date: Thu Aug 29 17:07:16 2024 +1000 Merge branch 'strings-squashed' of https://github.com/oxen-io/session-android into strings-squashed commit 052f910 Author: ThomasSession <[email protected]> Date: Thu Aug 29 17:06:53 2024 +1000 More bold fixing commit beb89d5 Author: fanchao <[email protected]> Date: Thu Aug 29 17:00:37 2024 +1000 Fix incorrect group member left message commit 5773f05 Merge: d35482d 1cec477 Author: ThomasSession <[email protected]> Date: Thu Aug 29 15:21:44 2024 +1000 Merge branch 'strings-squashed' of https://github.com/oxen-io/session-android into strings-squashed commit d35482d Author: ThomasSession <[email protected]> Date: Thu Aug 29 15:20:13 2024 +1000 More bold fixes and UI tweaks commit 78a9ab7 Author: ThomasSession <[email protected]> Date: Thu Aug 29 14:03:41 2024 +1000 Making sure we bold appropriately commit 1cec477 Author: alansley <[email protected]> Date: Thu Aug 29 13:33:50 2024 +1000 Made call to 'getQuantityString' pass the count twice because otherwise it doesn't work correctly commit 8e80ab0 Author: ThomasSession <[email protected]> Date: Thu Aug 29 13:28:54 2024 +1000 Using the existing implementation commit cb9554a Author: alansley <[email protected]> Date: Thu Aug 29 12:32:30 2024 +1000 Merge CrowdIn strings circa 2024-08-29 commit dd57da7 Author: alansley <[email protected]> Date: Thu Aug 29 09:06:22 2024 +1000 Updated Phrase usage in ConversationAdapter commit 34b15d7 Author: alansley <[email protected]> Date: Thu Aug 29 09:03:55 2024 +1000 Converted TransferControlView into Kotlin and updated Phrase usage commit a35a7a6 Author: alansley <[email protected]> Date: Thu Aug 29 08:55:16 2024 +1000 Converted MessageReceipientNotificationBuilder to Kotlin & updated Phrase usage commit 6dd93b3 Author: alansley <[email protected]> Date: Thu Aug 29 08:25:24 2024 +1000 Update MuteDialog, LinkPreviewDialog, and PathActivity commit e7dd1c5 Author: alansley <[email protected]> Date: Thu Aug 29 08:16:09 2024 +1000 Updated DisappearingMessages.kt and HelpSettingsActivity.kt commit 5bd55ea Author: alansley <[email protected]> Date: Thu Aug 29 08:01:30 2024 +1000 Converted SwitchPreferenceCompat to Kotlin and fixed the BlockedDialog using the joinCommunity string for some bizarre reason commit d3fb440 Author: alansley <[email protected]> Date: Thu Aug 29 07:15:03 2024 +1000 Removed R.string.gif and replaced with a string constant commit ace58e3 Author: alansley <[email protected]> Date: Thu Aug 29 07:11:53 2024 +1000 getSubbedString correction commit 2a8f010 Merge: ce8efd7 116bef3 Author: alansley <[email protected]> Date: Wed Aug 28 16:31:43 2024 +1000 Merge branch 'compose-open-url-dialog' into strings-squashed commit ce8efd7 Author: alansley <[email protected]> Date: Wed Aug 28 16:31:11 2024 +1000 WIP commit 114066a Author: alansley <[email protected]> Date: Wed Aug 28 15:30:02 2024 +1000 Push before changing over all the Phrase.from to extension method calls commit 116bef3 Author: ThomasSession <[email protected]> Date: Wed Aug 28 15:25:03 2024 +1000 For safety commit 0b1a71a Author: ThomasSession <[email protected]> Date: Wed Aug 28 15:23:02 2024 +1000 Cleaning other use of old url dialog commit 20abbeb Author: ThomasSession <[email protected]> Date: Wed Aug 28 15:19:46 2024 +1000 Forgot !! commit 25132c6 Author: ThomasSession <[email protected]> Date: Wed Aug 28 15:13:58 2024 +1000 Proper set up for the Open URL dialog commit 1f68791 Author: alansley <[email protected]> Date: Wed Aug 28 14:35:05 2024 +1000 Replaced placeholder text with new string commit 8d97f31 Author: alansley <[email protected]> Date: Wed Aug 28 14:31:52 2024 +1000 Adjusted comment commit dfebe6f Author: alansley <[email protected]> Date: Wed Aug 28 14:25:23 2024 +1000 Moved block/unblock string selection logic into ViewModel and fixed a comment commit 736b531 Author: alansley <[email protected]> Date: Wed Aug 28 14:02:54 2024 +1000 Changed toast to warning - although condition to trigger should not be possible commit 413bc0b Author: alansley <[email protected]> Date: Wed Aug 28 13:55:04 2024 +1000 Adjusted EditGroupMembers to match iOS and fixed up save attachment commentary / logic commit ae7164e Merge: 5df981b d1c4283 Author: alansley <[email protected]> Date: Wed Aug 28 09:51:58 2024 +1000 Merge branch 'dev' into strings-squashed commit 2aa58f4 Author: alansley <[email protected]> Date: Wed Aug 28 08:27:03 2024 +1000 WIP compose openURL dialog commit 5df981b Author: alansley <[email protected]> Date: Tue Aug 27 15:51:38 2024 +1000 Adjusted NotificationRadioButton that takes string IDs to act as a pass-through commit 96453f1 Author: alansley <[email protected]> Date: Tue Aug 27 15:42:33 2024 +1000 Added some TODO markers for tomorrow commit a402a1b Author: alansley <[email protected]> Date: Tue Aug 27 15:33:55 2024 +1000 Adjusted Landing page string substitutions to cater for emojis commit 4809b54 Author: alansley <[email protected]> Date: Tue Aug 27 15:12:39 2024 +1000 Removed unused 'isEmpty' utility methods commit b52048a Author: alansley <[email protected]> Date: Tue Aug 27 14:42:57 2024 +1000 Addressed many aspects of PR feedback + misc. strings issues commit 9cdbc4b Author: alansley <[email protected]> Date: Tue Aug 27 09:50:51 2024 +1000 Adjusted strings as per Rebecca's 'String Changes' spreadsheet commit 4d7e4b9 Merge: 3c57605 1393335 Author: alansley <[email protected]> Date: Tue Aug 27 08:19:53 2024 +1000 Merge branch 'dev' into strings-squashed commit 3c57605 Author: alansley <[email protected]> Date: Mon Aug 26 17:11:45 2024 +1000 Moved into libsession for ease of access to control message view creation commit b908a54 Merge: 404fb80 bfbe4a8 Author: alansley <[email protected]> Date: Mon Aug 26 11:54:09 2024 +1000 Merge branch 'dev' into strings-squashed commit 404fb80 Author: alansley <[email protected]> Date: Mon Aug 26 11:52:41 2024 +1000 Performed a PR pass to fix up anything obvious - there's still a few things left TODO commit 53978f8 Author: Al Lansley <[email protected]> Date: Fri Aug 23 14:13:11 2024 +1000 Cleaned up HomeActivityTests.kt commit 5f82571 Merge: 69b8bd7 8deb21c Author: Al Lansley <[email protected]> Date: Fri Aug 23 08:59:21 2024 +1000 Merge branch 'dev' into strings-squashed commit 69b8bd7 Author: alansley <[email protected]> Date: Thu Aug 22 16:20:17 2024 +1000 Added back app_name string so app names properly, fixed API 28 save issue, made some buttons display as red if they should commit e3cab9c Author: alansley <[email protected]> Date: Thu Aug 22 14:26:48 2024 +1000 SS-75 Prevented ScrollView vertical scroll bar from fading out commit b0b8350 Author: alansley <[email protected]> Date: Thu Aug 22 14:07:49 2024 +1000 SS-64 Removed all 'Unblocked {name}' toasts as per instructions commit c3c35de Merge: efc2ee2 8e10e1a Author: alansley <[email protected]> Date: Thu Aug 22 13:43:00 2024 +1000 Merge branch 'dev' into strings-squashed commit efc2ee2 Author: alansley <[email protected]> Date: Thu Aug 22 13:40:59 2024 +1000 Added some comments about the new CrowdIn strings commit 7a03fb3 Author: alansley <[email protected]> Date: Thu Aug 22 13:08:03 2024 +1000 Initial integration of CrowdIn strings (English only) commit 9766c3f Author: alansley <[email protected]> Date: Thu Aug 22 09:55:14 2024 +1000 SS-75 Added 'Copied' toast when the user copies a URL in the Open URL dialog commit 59b4805 Author: alansley <[email protected]> Date: Thu Aug 22 09:51:01 2024 +1000 SS-75 Prevent 'Are you sure you want to open this URL?' dialog from being excessively tall when given a very long URL commit b7f627f Author: alansley <[email protected]> Date: Wed Aug 21 14:54:17 2024 +1000 Made closed group deleting-someone-elses msgs use 'Delete message' or 'Delete Messages' appropriately commit 69f6818 Author: alansley <[email protected]> Date: Wed Aug 21 13:53:58 2024 +1000 Adjusted SS-64 so that all Block / Unblock buttons now use that text and are displayed in red commit 2192c2c Merge: 2338bb4 eea54d1 Author: alansley <[email protected]> Date: Wed Aug 21 13:28:16 2024 +1000 Merge branch 'dev' into strings-squashed commit 2338bb4 Author: alansley <[email protected]> Date: Tue Aug 20 19:11:40 2024 +1000 Converted DefaultMessageNotifier to Kotlin because it needs adjustment & that Java is nasty commit 6b29e4d Author: alansley <[email protected]> Date: Tue Aug 20 17:53:27 2024 +1000 Added a note about the plurals for search results commit f7748a0 Author: alansley <[email protected]> Date: Tue Aug 20 16:06:24 2024 +1000 Corrected text on storage permission dialog commit f6b6256 Author: alansley <[email protected]> Date: Tue Aug 20 14:44:25 2024 +1000 Minor cleanup of BlockedContactsActivity commit e3d4870 Author: alansley <[email protected]> Date: Tue Aug 20 14:41:14 2024 +1000 Addressed changes to fix SS-64 / QA-146 - unblocking contacts modal & toast adjustments commit e812527 Merge: 5e02e1e 9919f71 Author: alansley <[email protected]> Date: Tue Aug 20 13:27:35 2024 +1000 Merge branch 'dev' into strings-squashed commit 5e02e1e Author: alansley <[email protected]> Date: Tue Aug 20 09:39:16 2024 +1000 Added 'NonTranslatableStringConstants' file commit 816f21b Author: alansley <[email protected]> Date: Tue Aug 20 09:30:30 2024 +1000 Addressed commit feedback & removed desktop string 'attachmentsClickToDownload' as we use 'attachmentsTapToDownload' commit acc8d47 Author: Al Lansley <[email protected]> Date: Mon Aug 19 16:22:08 2024 +1000 SES-1571 Large messages show warning toast commit 27ca77d Merge: 27bc90b f379604 Author: Al Lansley <[email protected]> Date: Mon Aug 19 11:19:27 2024 +1000 Merge branch 'dev' into strings-squashed commit 27bc90b Author: Al Lansley <[email protected]> Date: Mon Aug 19 08:59:38 2024 +1000 Cleaned up some comments and content description commit 558684a Merge: 90d7064 93a2890 Author: Al Lansley <[email protected]> Date: Mon Aug 19 08:41:47 2024 +1000 Merge branch 'dev' into strings-squashed commit 90d7064 Author: Al Lansley <[email protected]> Date: Thu Aug 15 12:13:30 2024 +1000 Fixed issue where new closed groups would display a timestamp instead of the 'groupNoMessages' text commit 51ef0ec Author: Al Lansley <[email protected]> Date: Thu Aug 15 09:45:28 2024 +1000 Replaced string 'CreateProfileActivity_profile_photo' with the string 'photo' which has the same text ('Photo') commit eecce08 Merge: 01009cf 5a248da Author: Al Lansley <[email protected]> Date: Thu Aug 15 09:38:10 2024 +1000 Merge branch 'dev' into strings-squashed commit 01009cf Author: Al Lansley <[email protected]> Date: Thu Aug 15 08:37:19 2024 +1000 Changed allowed emoji reactions per minute from 5 (which I used for testing) to 20 (production) commit 9441d1e Author: Al Lansley <[email protected]> Date: Thu Aug 15 08:34:16 2024 +1000 Refactored emoji rate limiter to use a timestamp mechanism rather than removing queue items after a delay commit 6cd6cc3 Author: alansley <[email protected]> Date: Wed Aug 14 16:48:07 2024 +1000 Adjusted emoji rate limit to 20 reactions per minute to match acceptance criteria commit edd154d Author: alansley <[email protected]> Date: Wed Aug 14 16:02:16 2024 +1000 SS-78 / SES-199 Mechanism required to limit emoji reaction rate commit a8ee5c9 Author: alansley <[email protected]> Date: Wed Aug 14 14:51:40 2024 +1000 Replaced hard-coded 'Session' with '{app_name}' in 'callsSessionCall' commit 621094e Author: alansley <[email protected]> Date: Wed Aug 14 13:40:01 2024 +1000 SS-72 Update save attachment models + add one-time warning that other apps can access saved attachments commit 0c83606 Author: alansley <[email protected]> Date: Tue Aug 13 15:50:35 2024 +1000 SS-75 Open URL modal change commit 802cf19 Author: Al Lansley <[email protected]> Date: Mon Aug 12 16:42:15 2024 +1000 Open or copy URL WIP commit ea84aa1 Author: Al Lansley <[email protected]> Date: Mon Aug 12 14:17:04 2024 +1000 Tied in bandDeleteAll string commit 93b8e74 Author: Al Lansley <[email protected]> Date: Mon Aug 12 11:34:03 2024 +1000 Job done! All Accessibility ID strings mapped and/or dealt with appropriately! commit fc3b4ad Author: Al Lansley <[email protected]> Date: Mon Aug 12 09:49:57 2024 +1000 Further AccessibilityId mapping & fixed group members counts to display correct details commit 558d674 Author: alansley <[email protected]> Date: Fri Aug 9 17:24:44 2024 +1000 End of day push commit 73fdb16 Author: alansley <[email protected]> Date: Fri Aug 9 15:57:06 2024 +1000 Localised time strings working - even if the unit tests aren't commit 436175d Author: alansley <[email protected]> Date: Fri Aug 9 13:54:09 2024 +1000 Relative time string WIP commit f309263 Merge: 45c4118 007e705 Author: alansley <[email protected]> Date: Fri Aug 9 11:39:13 2024 +1000 Merge dev commit 45c4118 Author: Al Lansley <[email protected]> Date: Thu Aug 8 16:43:02 2024 +1000 Further AccessibilityId mapping WIP commit 31bac8e Author: Al Lansley <[email protected]> Date: Thu Aug 8 10:53:30 2024 +1000 Further accessibility ID changes & removed fragment_new_conversation_home.xml commit 9c2111e Author: alansley <[email protected]> Date: Wed Aug 7 13:13:52 2024 +1000 AccessibilityId WIP commit 1e9eeff Author: alansley <[email protected]> Date: Wed Aug 7 11:06:39 2024 +1000 AccessibilityId adjustments & removed some unused XML layouts commit e5fd2c8 Author: alansley <[email protected]> Date: Wed Aug 7 09:22:14 2024 +1000 AccessibilityId refactor WIP commit 399796b Author: alansley <[email protected]> Date: Tue Aug 6 15:51:53 2024 +1000 AccessibilityId WIP - up to AccessibilityId_reveal_recovery_phrase_button commit a8d72df Author: alansley <[email protected]> Date: Tue Aug 6 14:12:10 2024 +1000 Cleaned up a few comments and fixed some plurals logic commit be400d8 Author: alansley <[email protected]> Date: Tue Aug 6 11:32:08 2024 +1000 Removed commented out merge conflict marker commit 5cbe289 Merge: 5fe123e d6c5ab2 Author: alansley <[email protected]> Date: Tue Aug 6 11:30:50 2024 +1000 Merge dev and cleanup commit 5fe123e Author: Al Lansley <[email protected]> Date: Mon Aug 5 14:37:47 2024 +1000 Adjusted sending of mms messages to show 'Uploading' rather than 'Sending' as per SES-1721 commit d3f8e92 Merge: 0055293 cd1a064 Author: Al Lansley <[email protected]> Date: Mon Aug 5 13:30:03 2024 +1000 Merge branch 'dev' into strings-squashed commit 0055293 Author: Al Lansley <[email protected]> Date: Mon Aug 5 13:28:55 2024 +1000 Removed unused helpReportABugDesktop strings commit 6c0450b Author: Al Lansley <[email protected]> Date: Mon Aug 5 12:59:15 2024 +1000 Renamed 'quitButton' string to just 'quit' commit 284c485 Author: Al Lansley <[email protected]> Date: Mon Aug 5 12:00:35 2024 +1000 Replaced 'screenSecurity' with 'screenshotNotifications' as the title of the notifications toggle commit 6948d64 Author: Al Lansley <[email protected]> Date: Mon Aug 5 10:45:05 2024 +1000 WIP commit bc94cb7 Author: alansley <[email protected]> Date: Fri Aug 2 16:21:16 2024 +1000 End of day push commit 1a2df37 Merge: c7fdb6a a56e1d0 Author: alansley <[email protected]> Date: Fri Aug 2 15:20:19 2024 +1000 Merged dev commit c7fdb6a Author: alansley <[email protected]> Date: Fri Aug 2 14:21:11 2024 +1000 Replaced string 'dialog_disappearing_messages_follow_setting_confirm' with 'confirm' commit 2992d59 Author: alansley <[email protected]> Date: Fri Aug 2 14:01:00 2024 +1000 Removed string 'attachment_type_selector__gallery' and associated / un-used 'attachment_type_selector.xml' layout commit 4218663 Author: alansley <[email protected]> Date: Fri Aug 2 13:39:54 2024 +1000 Removed 'message_details_header__disappears' and the unused 'activity_message_detail.xml' which was the only reference to it commit ba2d027 Author: alansley <[email protected]> Date: Fri Aug 2 12:15:42 2024 +1000 Implemented task SS-79 to only provide a save attachment menu option when the attachment download is complete commit 20662c8 Merge: 608c984 fbbef48 Author: alansley <[email protected]> Date: Wed Jul 31 13:08:04 2024 +1000 Merge branch 'dev' into strings-squashed commit 608c984 Author: alansley <[email protected]> Date: Tue Jul 30 16:58:08 2024 +1000 Actually remove the 4 specific time period mute strings commit 006a4e8 Author: alansley <[email protected]> Date: Tue Jul 30 16:43:54 2024 +1000 Cleaned up MuteDialog.kt commit d3177f9 Author: alansley <[email protected]> Date: Tue Jul 30 16:27:06 2024 +1000 Added a 1 second kludge to the mute for subtitle so that it initially shows 1 hour not 59 minutes etc. commit d568a86 Author: alansley <[email protected]> Date: Tue Jul 30 16:20:20 2024 +1000 Removed 'Muted for' strings and fixed it up to use 'Mute for {large_time_unit}' across the board commit 84f6f19 Author: alansley <[email protected]> Date: Tue Jul 30 11:03:46 2024 +1000 Changed some hard-coded 'Session' text in strings and renamed another commit bc90d18 Author: alansley <[email protected]> Date: Tue Jul 30 10:27:55 2024 +1000 Cleaned up a leftover plural & changed 'app_name' to use 'sessionMessenger' string commit 79cd878 Merge: 3b62e47 dec02ce Author: alansley <[email protected]> Date: Tue Jul 30 08:16:02 2024 +1000 Merge branch 'dev' into strings-squashed commit 3b62e47 Author: Al Lansley <[email protected]> Date: Mon Jul 29 16:33:21 2024 +1000 Down to just the final few straggler strings commit 13e81f0 Author: Al Lansley <[email protected]> Date: Mon Jul 29 13:13:54 2024 +1000 WIP commit 2d9961d Author: Al Lansley <[email protected]> Date: Mon Jul 29 08:58:01 2024 +1000 Further cleanup of stragglers commit 08b8a84 Author: Al Lansley <[email protected]> Date: Mon Jul 29 08:29:12 2024 +1000 Cleaning up straggler strings commit d0e87c6 Author: alansley <[email protected]> Date: Fri Jul 26 17:07:46 2024 +1000 WIP commit 4bc9d09 Author: alansley <[email protected]> Date: Fri Jul 26 16:30:28 2024 +1000 WIP commit 3cee4bc Merge: aa1db13 a495ec2 Author: alansley <[email protected]> Date: Fri Jul 26 13:57:09 2024 +1000 Removed some legacy strings & substituted others commit aa1db13 Author: fanchao <[email protected]> Date: Fri Jul 26 11:34:05 2024 +1000 Initial squash merge for strings
1 parent 67bcc93 commit d41496a

File tree

279 files changed

+45021
-23533
lines changed

Some content is hidden

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

279 files changed

+45021
-23533
lines changed

.drone.jsonnet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ local ci_dep_mirror(want_mirror) = (if want_mirror then ' -DLOCAL_MIRROR=https:/
3838
pull: 'always',
3939
environment: { ANDROID_HOME: '/usr/lib/android-sdk' },
4040
commands: [
41-
'apt-get install -y ninja-build',
41+
'apt-get install -y ninja-build openjdk-17-jdk-headless',
4242
'./gradlew testPlayDebugUnitTestCoverageReport'
4343
],
4444
}
@@ -78,7 +78,7 @@ local ci_dep_mirror(want_mirror) = (if want_mirror then ' -DLOCAL_MIRROR=https:/
7878
pull: 'always',
7979
environment: { SSH_KEY: { from_secret: 'SSH_KEY' }, ANDROID_HOME: '/usr/lib/android-sdk' },
8080
commands: [
81-
'apt-get install -y ninja-build',
81+
'apt-get install -y ninja-build openjdk-17-jdk-headless',
8282
'./gradlew assemblePlayDebug',
8383
'./scripts/drone-static-upload.sh'
8484
],

.drone.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
kind: pipeline
3+
type: docker
4+
name: default
5+
6+
steps:
7+
- name: test
8+
image: mingc/android-build-box:1.24.0
9+
commands:
10+
- bash ./gradlew test

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
project.properties
33
.project
44
.settings
5+
.kotlin
56
bin/
67
gen/
78
.idea/

app/build.gradle

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
plugins {
2+
id 'com.android.application'
3+
id 'org.jetbrains.kotlin.android'
4+
id 'org.jetbrains.kotlin.plugin.serialization'
5+
id 'org.jetbrains.kotlin.plugin.compose'
26
id 'com.google.devtools.ksp'
37
id 'com.google.dagger.hilt.android'
8+
id 'kotlin-parcelize'
9+
id 'kotlinx-serialization'
410
}
511

6-
apply plugin: 'com.android.application'
7-
apply plugin: 'kotlin-android'
812
apply plugin: 'witness'
9-
apply plugin: 'kotlin-parcelize'
10-
apply plugin: 'kotlinx-serialization'
1113

12-
configurations.forEach {
13-
it.exclude module: "commons-logging"
14+
configurations.configureEach {
15+
exclude module: "commons-logging"
1416
}
1517

1618
def canonicalVersionCode = 380
@@ -40,12 +42,12 @@ android {
4042
useLibrary 'org.apache.http.legacy'
4143

4244
compileOptions {
43-
sourceCompatibility JavaVersion.VERSION_1_8
44-
targetCompatibility JavaVersion.VERSION_1_8
45+
sourceCompatibility JavaVersion.VERSION_17
46+
targetCompatibility JavaVersion.VERSION_17
4547
}
4648

4749
kotlinOptions {
48-
jvmTarget = '1.8'
50+
jvmTarget = '17'
4951
}
5052

5153
packagingOptions {
@@ -54,6 +56,7 @@ android {
5456
}
5557
}
5658

59+
5760
splits {
5861
abi {
5962
enable true
@@ -64,7 +67,8 @@ android {
6467
}
6568

6669
buildFeatures {
67-
compose true
70+
viewBinding true
71+
buildConfig true
6872
}
6973

7074
composeOptions {
@@ -151,7 +155,7 @@ android {
151155
}
152156
}
153157

154-
applicationVariants.forEach { variant ->
158+
applicationVariants.configureEach { variant ->
155159
variant.outputs.each { output ->
156160
def abiName = output.getFilter("ABI") ?: 'universal'
157161
def postFix = abiPostFix.get(abiName, 0)
@@ -169,11 +173,11 @@ android {
169173
}
170174
}
171175

172-
buildFeatures {
173-
viewBinding true
174-
}
175-
176176
def huaweiEnabled = project.properties['huawei'] != null
177+
lint {
178+
abortOnError true
179+
baseline file('lint-baseline.xml')
180+
}
177181

178182
applicationVariants.configureEach { variant ->
179183
if (variant.flavorName == 'huawei') {
@@ -226,6 +230,7 @@ dependencies {
226230
ksp("androidx.hilt:hilt-compiler:$jetpackHiltVersion")
227231
ksp("com.google.dagger:hilt-compiler:$daggerHiltVersion")
228232
ksp("com.github.bumptech.glide:ksp:$glideVersion")
233+
implementation("androidx.hilt:hilt-navigation-compose:$androidxHiltVersion")
229234

230235
implementation("com.google.dagger:hilt-android:$daggerHiltVersion")
231236
implementation "androidx.appcompat:appcompat:$appcompatVersion"
@@ -305,7 +310,6 @@ dependencies {
305310
implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
306311
implementation "com.squareup.phrase:phrase:$phraseVersion"
307312
implementation 'app.cash.copper:copper-flow:1.0.0'
308-
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
309313
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion"
310314
implementation "nl.komponents.kovenant:kovenant:$kovenantVersion"
311315
implementation "nl.komponents.kovenant:kovenant-android:$kovenantVersion"
@@ -329,7 +333,6 @@ dependencies {
329333
androidTestImplementation('com.adevinta.android:barista:4.2.0') {
330334
exclude group: 'org.jetbrains.kotlin'
331335
}
332-
333336
// AndroidJUnitRunner and JUnit Rules
334337
androidTestImplementation 'androidx.test:runner:1.5.2'
335338
androidTestImplementation 'androidx.test:rules:1.5.0'
@@ -348,6 +351,8 @@ dependencies {
348351
androidTestImplementation 'androidx.test.espresso:espresso-web:3.5.1'
349352
androidTestImplementation 'androidx.test.espresso.idling:idling-concurrent:3.5.1'
350353
androidTestImplementation 'androidx.test.espresso:espresso-idling-resource:3.5.1'
354+
androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.5.3"
355+
debugImplementation "androidx.compose.ui:ui-test-manifest:1.5.3"
351356
androidTestUtil 'androidx.test:orchestrator:1.4.2'
352357

353358
testImplementation 'org.robolectric:robolectric:4.12.2'
@@ -365,6 +370,11 @@ dependencies {
365370
androidTestImplementation "androidx.compose.ui:ui-test-junit4-android:$composeVersion"
366371
debugImplementation "androidx.compose.ui:ui-test-manifest:$composeVersion"
367372

373+
// Navigation
374+
implementation "androidx.navigation:navigation-fragment-ktx:$navVersion"
375+
implementation "androidx.navigation:navigation-ui-ktx:$navVersion"
376+
implementation "androidx.navigation:navigation-compose:$navVersion"
377+
368378
implementation "com.google.accompanist:accompanist-themeadapter-appcompat:0.33.1-alpha"
369379
implementation "com.google.accompanist:accompanist-permissions:0.33.1-alpha"
370380
implementation "com.google.accompanist:accompanist-drawablepainter:0.33.1-alpha"

app/src/androidTest/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,8 @@
33
<application>
44
<uses-library android:name="android.test.runner"
55
android:required="false" />
6+
7+
<activity android:name="androidx.activity.ComponentActivity"/>
8+
69
</application>
710
</manifest>
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
package network.loki.messenger
2+
3+
import androidx.compose.ui.test.hasContentDescriptionExactly
4+
import androidx.compose.ui.test.junit4.createComposeRule
5+
import androidx.compose.ui.test.performClick
6+
import androidx.compose.ui.test.performTextInput
7+
import androidx.test.ext.junit.runners.AndroidJUnit4
8+
import androidx.test.filters.SmallTest
9+
import androidx.test.platform.app.InstrumentationRegistry
10+
import org.hamcrest.CoreMatchers.*
11+
import org.hamcrest.MatcherAssert.*
12+
import org.junit.Rule
13+
import org.junit.Test
14+
import org.junit.runner.RunWith
15+
import org.thoughtcrime.securesms.ApplicationContext
16+
import org.thoughtcrime.securesms.groups.compose.CreateGroup
17+
import org.thoughtcrime.securesms.groups.ViewState
18+
import org.thoughtcrime.securesms.ui.theme.PreviewTheme
19+
20+
@RunWith(AndroidJUnit4::class)
21+
@SmallTest
22+
class CreateGroupTests {
23+
24+
@get:Rule
25+
val composeTest = createComposeRule()
26+
27+
@Test
28+
fun testNavigateToCreateGroup() {
29+
val application = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as ApplicationContext
30+
// Accessibility IDs
31+
val nameDesc = application.getString(R.string.AccessibilityId_closed_group_edit_group_name)
32+
val buttonDesc = application.getString(R.string.AccessibilityId_create_closed_group_create_button)
33+
34+
var backPressed = false
35+
var closePressed = false
36+
37+
composeTest.setContent {
38+
PreviewTheme {
39+
CreateGroup(
40+
viewState = ViewState.DEFAULT,
41+
onBack = { backPressed = true },
42+
onClose = { closePressed = true },
43+
onContactItemClicked = {},
44+
updateState = {}
45+
)
46+
}
47+
}
48+
49+
with(composeTest) {
50+
onNode(hasContentDescriptionExactly(nameDesc)).performTextInput("Name")
51+
onNode(hasContentDescriptionExactly(buttonDesc)).performClick()
52+
}
53+
54+
assertThat(backPressed, equalTo(false))
55+
assertThat(closePressed, equalTo(false))
56+
57+
}
58+
59+
@Test
60+
fun testFailToCreate() {
61+
val application = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as ApplicationContext
62+
// Accessibility IDs
63+
val nameDesc = application.getString(R.string.AccessibilityId_closed_group_edit_group_name)
64+
val buttonDesc = application.getString(R.string.AccessibilityId_create_closed_group_create_button)
65+
66+
var backPressed = false
67+
var closePressed = false
68+
69+
composeTest.setContent {
70+
PreviewTheme {
71+
CreateGroup(
72+
viewState = ViewState.DEFAULT,
73+
onBack = { backPressed = true },
74+
onClose = { closePressed = true },
75+
updateState = {},
76+
onContactItemClicked = {}
77+
)
78+
}
79+
}
80+
with(composeTest) {
81+
onNode(hasContentDescriptionExactly(nameDesc)).performTextInput("")
82+
onNode(hasContentDescriptionExactly(buttonDesc)).performClick()
83+
}
84+
85+
assertThat(backPressed, equalTo(false))
86+
assertThat(closePressed, equalTo(false))
87+
}
88+
89+
@Test
90+
fun testBackButton() {
91+
val application = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as ApplicationContext
92+
// Accessibility IDs
93+
val backDesc = application.getString(R.string.new_conversation_dialog_back_button_content_description)
94+
95+
var backPressed = false
96+
97+
composeTest.setContent {
98+
PreviewTheme {
99+
CreateGroup(
100+
viewState = ViewState.DEFAULT,
101+
onBack = { backPressed = true },
102+
onClose = {},
103+
onContactItemClicked = {},
104+
updateState = {}
105+
)
106+
}
107+
}
108+
109+
with (composeTest) {
110+
onNode(hasContentDescriptionExactly(backDesc)).performClick()
111+
}
112+
113+
assertThat(backPressed, equalTo(true))
114+
}
115+
116+
@Test
117+
fun testCloseButton() {
118+
val application = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as ApplicationContext
119+
// Accessibility IDs
120+
val closeDesc = application.getString(R.string.new_conversation_dialog_close_button_content_description)
121+
var closePressed = false
122+
123+
composeTest.setContent {
124+
PreviewTheme {
125+
CreateGroup(
126+
viewState = ViewState.DEFAULT,
127+
onBack = { },
128+
onClose = { closePressed = true },
129+
onContactItemClicked = {},
130+
updateState = {}
131+
)
132+
}
133+
}
134+
135+
with (composeTest) {
136+
onNode(hasContentDescriptionExactly(closeDesc)).performClick()
137+
}
138+
139+
assertThat(closePressed, equalTo(true))
140+
}
141+
142+
143+
}

0 commit comments

Comments
 (0)