diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ab24b77e8..a1901cc50 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -141,6 +141,9 @@ detekt { } dependencies { + // Material Design 3 + implementation("com.google.android.material:material:1.11.0") + implementation(libs.fossify.commons) implementation(libs.eventbus) implementation(libs.indicator.fast.scroll) @@ -154,4 +157,4 @@ dependencies { implementation(libs.bundles.room) ksp(libs.androidx.room.compiler) detektPlugins(libs.compose.detekt) -} +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2fa856ddb..f1d945b14 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -36,7 +36,7 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_launcher_name" android:roundIcon="@mipmap/ic_launcher" - android:theme="@style/AppTheme"> + android:theme="@style/Theme.Messages"> - + \ No newline at end of file diff --git a/app/src/main/res/anim/slide_in_right.xml b/app/src/main/res/anim/slide_in_right.xml new file mode 100644 index 000000000..79683d35b --- /dev/null +++ b/app/src/main/res/anim/slide_in_right.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/slide_out_left.xml b/app/src/main/res/anim/slide_out_left.xml new file mode 100644 index 000000000..0d9e0c6f9 --- /dev/null +++ b/app/src/main/res/anim/slide_out_left.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index f70ffdd20..c22702b7b 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,148 +1,100 @@ - + android:layout_height="match_parent" + android:background="?attr/colorSurface" + tools:context=".activities.MainActivity"> - + - - + + + - + - - - - - - - - - - - - - - - - - - + + + - - + + + + - - + + - - - - - - - + + + + + + + + - - + android:layout_margin="16dp" + android:text="@string/new_message" + android:contentDescription="@string/new_message" + app:icon="@drawable/ic_add" + app:iconTint="?attr/colorOnPrimaryContainer" + style="@style/Widget.Messages.FloatingActionButton" /> + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_thread.xml b/app/src/main/res/layout/activity_thread.xml index f9e9ad266..450b1a9be 100644 --- a/app/src/main/res/layout/activity_thread.xml +++ b/app/src/main/res/layout/activity_thread.xml @@ -1,170 +1,107 @@ - - - + + + - - - - - - + + + - - - - + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:inputType="textMultiLine|textCapSentences" + android:maxLines="5" + android:minLines="1" + android:textColor="?attr/colorOnSurface" + android:imeOptions="actionSend" + android:importantForAutofill="no" /> + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_conversation.xml b/app/src/main/res/layout/item_conversation.xml index 385e2d9b2..41e3cce88 100644 --- a/app/src/main/res/layout/item_conversation.xml +++ b/app/src/main/res/layout/item_conversation.xml @@ -1,115 +1,125 @@ - + android:layout_marginBottom="8dp" + app:cardBackgroundColor="?attr/colorSurfaceContainer" + app:cardElevation="4dp" + app:cardCornerRadius="12dp" + app:rippleColor="?attr/colorPrimaryContainer" + style="@style/Widget.Messages.Card"> - - - + android:orientation="vertical" + android:padding="16dp"> - + + - + + - + + + + + + + + + + + + + + + + + + - + - - + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_message.xml b/app/src/main/res/layout/item_message.xml index a57c387f5..99cbd1050 100644 --- a/app/src/main/res/layout/item_message.xml +++ b/app/src/main/res/layout/item_message.xml @@ -1,69 +1,142 @@ - + android:orientation="vertical" + android:padding="4dp"> - + - - + android:layout_gravity="start" + android:layout_marginStart="16dp" + android:layout_marginEnd="64dp" + android:layout_marginBottom="4dp" + app:cardBackgroundColor="?attr/colorSurfaceVariant" + app:cardElevation="2dp" + app:cardCornerRadius="16dp" + style="@style/Widget.Messages.Card"> + android:padding="12dp"> - + + - + + + + + + + + - - + android:orientation="vertical" + android:padding="12dp"> + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index d781ec5f1..7b459b720 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,4 +1,55 @@ + + #6750A4 + #EADDFF + #FFFFFF + #21005D - + + #625B71 + #E8DEF8 + #FFFFFF + #1E192B + + + #7D5260 + #FFD8E4 + #FFFFFF + #31111D + + + #B3261E + #F9DEDC + #FFFFFF + #410E0B + + + #FFFBFE + #F3EDF7 + #E7E0EC + #1C1B1F + #49454F + + + #79747E + #000000 + #000000 + + + #313033 + #F4EFF4 + #D0BCFF + + + @color/md_ref_pal_primary + @color/md_ref_pal_primary_container + @color/md_ref_pal_on_primary + @color/md_ref_pal_on_primary_container + @color/md_ref_pal_surface + @color/md_ref_pal_surface_container + @color/md_ref_pal_on_surface + @color/md_ref_pal_on_surface_variant + @color/md_ref_pal_error + @color/md_ref_pal_outline + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 07213302a..f56eb585a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,7 +1,41 @@ + Messages Messages + New Message Type a message… + Send + Attach + No conversations yet + Search messages... + Delete + Reply + Forward + Copy + Select All + Deselect All + Mark as Read + Mark as Unread + Archive + Unarchive + Block + Unblock + Settings + About + Help + Feedback + Rate Us + Share + Exit + Are you sure you want to delete this? + Yes + No + Message deleted + Message sent + Delivered + Read + Permission denied + No internet connection Message not sent Not sent. Touch to retry. Your message to \'%s\' has not been sent @@ -9,7 +43,6 @@ Attachment No stored conversations have been found Start a conversation - Reply Show a character counter at writing messages Loading messages… Sender doesn\'t support replies @@ -19,24 +52,18 @@ Unpin Forward Unable to compress image to selected size - - Duplicate item was not included - and %d other and %d others - New conversation Add Contact or Number… Suggestions - Members Conversation name Conversation details Rename conversation Only you can see this conversation name - Scheduled message Schedule message Schedule send @@ -45,50 +72,38 @@ Keep the phone on and make sure there is nothing killing the app while in background. Update message Send now - Message details Sender Receiver Sent at Received at - Received SMS - New message - Mark as Read - Mark as Unread Me Enable custom notifications - Unarchive Delete all archived conversations Archive Show archived conversations - Archive No archived conversations have been found The archive has been emptied successfully Are you sure you want to empty the archive? All archived conversations will be permanently lost. Keep conversations archived - Restore Restore all messages Are you sure you want to empty the Recycle Bin? The messages will be permanently lost. Skip the Recycle Bin, delete messages directly - Are you sure you want to delete all messages of this conversation? Are you sure you want to archive %s? Are you sure you want to restore all messages of this conversation? Are you sure you want to restore %s? - %d conversation %d conversations - %d message %d messages - Keyword Blocked keywords Manage blocked keywords @@ -105,7 +120,6 @@ Outgoing messages Send group messages as MMS Send long messages as MMS - Messages Keywords Export messages @@ -117,7 +131,6 @@ You have to select at least one item Export blocked keywords Import blocked keywords - Can\'t send message to an empty number Unable to save message to the telephony database Couldn\'t send message, service unavailable @@ -129,7 +142,7 @@ Attachment size exceeds max MMS limit SIM card not available Couldn\'t download MMS - + Duplicate item was not included Why does the app require access to the internet? Sadly it is needed for sending MMS attachments. Not being able to send MMS would be a really huge disadvantage compared to other apps, so we decided to go this way. However, as usually, there are no ads, tracking or analytics whatsoever, the internet is used only for sending MMS. @@ -139,8 +152,4 @@ Yes, you can schedule messages to be sent in the future by long pressing the Send button and picking the desired date and time. Why do my group message replies appear as individual texts to recipients? You need to enable \"Send group messages as MMS\" in the app settings. This will ensure that group messages are sent as proper MMS, allowing all participants to see each other\'s replies. - - + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 6767789e0..a9d62fe40 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,9 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 000000000..55bebfc44 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,60 @@ + + + + + + + + \ No newline at end of file