diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/base/BaseComposeGmailFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/base/BaseComposeGmailFlow.kt index 2fe80c170b..1be0c1084a 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/base/BaseComposeGmailFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/base/BaseComposeGmailFlow.kt @@ -427,4 +427,4 @@ abstract class BaseComposeGmailFlow(accountEntity: AccountEntity = BASE_ACCOUNT_ const val LOCATION_URL = "/upload/gmail/v1/users/me/messages/send?uploadType=resumable&upload_id=Location" } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/base/BaseComposeScreenTest.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/base/BaseComposeScreenTest.kt index f93772eb34..91eb97ef8d 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/base/BaseComposeScreenTest.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/base/BaseComposeScreenTest.kt @@ -16,7 +16,6 @@ import androidx.test.espresso.action.ViewActions.closeSoftKeyboard import androidx.test.espresso.action.ViewActions.pressImeActionButton import androidx.test.espresso.action.ViewActions.replaceText import androidx.test.espresso.action.ViewActions.scrollTo -import androidx.test.espresso.action.ViewActions.typeText import androidx.test.espresso.action.ViewActions.typeTextIntoFocusedView import androidx.test.espresso.assertion.ViewAssertions.matches import androidx.test.espresso.intent.Intents.intending @@ -120,7 +119,7 @@ abstract class BaseComposeScreenTest : BaseTest() { .perform( scrollTo(), click(), - typeText(subject), + replaceText(subject), pressImeActionButton(), closeSoftKeyboard() ) diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow.kt index 081b2c7595..93fd1b6b54 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow.kt @@ -36,6 +36,7 @@ import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest import com.flowcrypt.email.ui.base.BaseGmailApiTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_ENCRYPTED import jakarta.mail.internet.InternetAddress import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher @@ -60,7 +61,7 @@ import java.util.concurrent.TimeUnit cc = [BaseGmailApiTest.DEFAULT_CC_RECIPIENT], bcc = [BaseGmailApiTest.DEFAULT_BCC_RECIPIENT], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Fwd: $SUBJECT_EXISTING_ENCRYPTED", isNew = false ) class EncryptedForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -186,4 +187,4 @@ class EncryptedForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFl checkEncryptedAttachment(multipart.getBodyPart(2), ATTACHMENT_NAME_3, attachmentsDataCache[2]) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow.kt index 7c3f59cfb7..706a41597a 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow.kt @@ -38,6 +38,7 @@ import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest import com.flowcrypt.email.ui.base.BaseGmailApiTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_STANDARD import jakarta.mail.internet.InternetAddress import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher @@ -62,7 +63,7 @@ import java.util.concurrent.TimeUnit cc = [BaseGmailApiTest.DEFAULT_CC_RECIPIENT], bcc = [BaseGmailApiTest.DEFAULT_BCC_RECIPIENT], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Fwd: $SUBJECT_EXISTING_STANDARD", isNew = false ) class EncryptedForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -188,4 +189,4 @@ class EncryptedForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlo checkEncryptedAttachment(multipart.getBodyPart(2), ATTACHMENT_NAME_3, attachmentsDataCache[2]) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedReplyAllComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedReplyAllComposeGmailApiFlow.kt index 5fb865ed44..3555275ba2 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedReplyAllComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedReplyAllComposeGmailApiFlow.kt @@ -36,6 +36,7 @@ import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest import com.flowcrypt.email.ui.base.BaseGmailApiTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_ENCRYPTED import jakarta.mail.Message import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher @@ -60,7 +61,7 @@ import java.util.concurrent.TimeUnit cc = [], bcc = [BaseGmailApiTest.DEFAULT_BCC_RECIPIENT], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Re: $SUBJECT_EXISTING_ENCRYPTED", isNew = false ) class EncryptedReplyAllComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -186,4 +187,4 @@ class EncryptedReplyAllComposeGmailApiFlow : BaseComposeGmailFlow() { ) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedReplyComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedReplyComposeGmailApiFlow.kt index 17219a2ed7..7e5a213677 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedReplyComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/EncryptedReplyComposeGmailApiFlow.kt @@ -37,6 +37,7 @@ import com.flowcrypt.email.rules.RetryRule import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_STANDARD import jakarta.mail.Message import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher @@ -61,7 +62,7 @@ import java.util.concurrent.TimeUnit cc = [], bcc = [], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Re: $SUBJECT_EXISTING_STANDARD", isNew = false ) class EncryptedReplyComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -186,4 +187,4 @@ class EncryptedReplyComposeGmailApiFlow : BaseComposeGmailFlow() { ) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow.kt index 852e98e09a..a3f111b691 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow.kt @@ -38,6 +38,7 @@ import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest import com.flowcrypt.email.ui.base.BaseGmailApiTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_ENCRYPTED import jakarta.mail.internet.InternetAddress import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher @@ -62,7 +63,7 @@ import java.util.concurrent.TimeUnit cc = [BaseGmailApiTest.DEFAULT_CC_RECIPIENT], bcc = [BaseGmailApiTest.DEFAULT_BCC_RECIPIENT], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Fwd: $SUBJECT_EXISTING_ENCRYPTED", isNew = false ) class StandardForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -193,4 +194,4 @@ class StandardForwardOfEncryptedMessageWithOriginalAttachmentsComposeGmailApiFlo checkStandardAttachment(multipart.getBodyPart(2), ATTACHMENT_NAME_3, attachmentsDataCache[2]) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfEncryptedPgpMimeMessageWithOriginalAttachmentsComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfEncryptedPgpMimeMessageWithOriginalAttachmentsComposeGmailApiFlow.kt index f3dd5929ef..2a9010acea 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfEncryptedPgpMimeMessageWithOriginalAttachmentsComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfEncryptedPgpMimeMessageWithOriginalAttachmentsComposeGmailApiFlow.kt @@ -37,6 +37,7 @@ import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest import com.flowcrypt.email.ui.base.BaseGmailApiTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_PGP_MIME import jakarta.mail.internet.InternetAddress import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher @@ -61,7 +62,7 @@ import java.util.concurrent.TimeUnit cc = [], bcc = [], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Fwd: $SUBJECT_EXISTING_PGP_MIME", isNew = false ) class StandardForwardOfEncryptedPgpMimeMessageWithOriginalAttachmentsComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -191,4 +192,4 @@ class StandardForwardOfEncryptedPgpMimeMessageWithOriginalAttachmentsComposeGmai checkStandardAttachment(multipart.getBodyPart(3), ATTACHMENT_NAME_3, attachmentsDataCache[2]) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow.kt index 1e7333e5d2..2c8d6c4852 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow.kt @@ -36,6 +36,7 @@ import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest import com.flowcrypt.email.ui.base.BaseGmailApiTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_STANDARD import jakarta.mail.internet.InternetAddress import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher @@ -60,7 +61,7 @@ import java.util.concurrent.TimeUnit cc = [BaseGmailApiTest.DEFAULT_CC_RECIPIENT], bcc = [BaseGmailApiTest.DEFAULT_BCC_RECIPIENT], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Fwd: $SUBJECT_EXISTING_STANDARD", isNew = false ) class StandardForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -183,4 +184,4 @@ class StandardForwardOfStandardMessageWithOriginalAttachmentsComposeGmailApiFlow checkStandardAttachment(multipart.getBodyPart(2), ATTACHMENT_NAME_3, attachmentsDataCache[2]) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardReplyAllComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardReplyAllComposeGmailApiFlow.kt index a1b994f980..545c2fa514 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardReplyAllComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardReplyAllComposeGmailApiFlow.kt @@ -36,6 +36,7 @@ import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest import com.flowcrypt.email.ui.base.BaseGmailApiTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_STANDARD import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher import okhttp3.mockwebserver.MockResponse @@ -59,7 +60,7 @@ import java.util.concurrent.TimeUnit cc = [], bcc = [BaseGmailApiTest.DEFAULT_BCC_RECIPIENT], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Re: $SUBJECT_EXISTING_STANDARD", isNew = false ) class StandardReplyAllComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -160,4 +161,4 @@ class StandardReplyAllComposeGmailApiFlow : BaseComposeGmailFlow() { ) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardReplyComposeGmailApiFlow.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardReplyComposeGmailApiFlow.kt index 3214e952dc..3e540485f2 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardReplyComposeGmailApiFlow.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/gmailapi/StandardReplyComposeGmailApiFlow.kt @@ -35,6 +35,7 @@ import com.flowcrypt.email.rules.RetryRule import com.flowcrypt.email.rules.ScreenshotTestRule import com.flowcrypt.email.ui.base.BaseComposeGmailFlow import com.flowcrypt.email.ui.base.BaseComposeScreenTest +import com.flowcrypt.email.ui.base.BaseGmailApiTest.Companion.SUBJECT_EXISTING_STANDARD import jakarta.mail.Message import jakarta.mail.internet.MimeMultipart import okhttp3.mockwebserver.Dispatcher @@ -59,7 +60,7 @@ import java.util.concurrent.TimeUnit cc = [], bcc = [], message = BaseComposeScreenTest.MESSAGE, - subject = "", + subject = "Re: $SUBJECT_EXISTING_STANDARD", isNew = false ) class StandardReplyComposeGmailApiFlow : BaseComposeGmailFlow() { @@ -174,4 +175,4 @@ class StandardReplyComposeGmailApiFlow : BaseComposeGmailFlow() { ) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/CreateMessageActivity.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/CreateMessageActivity.kt index 080626c8dc..aa7b79d8e1 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/CreateMessageActivity.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/CreateMessageActivity.kt @@ -11,6 +11,10 @@ import android.os.Bundle import android.view.LayoutInflater import android.widget.Toast import androidx.activity.OnBackPressedCallback +import androidx.activity.enableEdgeToEdge +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.core.view.updatePadding import androidx.navigation.NavHostController import androidx.navigation.ui.AppBarConfiguration import com.flowcrypt.email.Constants @@ -69,12 +73,14 @@ class CreateMessageActivity : BaseActivity(), } override fun onCreate(savedInstanceState: Bundle?) { + enableEdgeToEdge() super.onCreate(savedInstanceState) (navController as? NavHostController)?.enableOnBackPressed(true) isNavigationArrowDisplayed = true val navGraph = navController.navInflater.inflate(R.navigation.create_msg_graph) navController.setGraph(navGraph, intent.extras) FileAndDirectoryUtils.cleanDir(File(cacheDir, Constants.DRAFT_CACHE_DIR)) + applyInsetsToSupportEdgeToEdge() } override fun onAccountInfoRefreshed(accountEntity: AccountEntity?) { @@ -95,6 +101,15 @@ class CreateMessageActivity : BaseActivity(), } } + fun applyInsetsToSupportEdgeToEdge() { + ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets -> + val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + binding.appBarLayout.updatePadding(top = bars.top) + binding.root.updatePadding(bottom = bars.bottom) + insets + } + } + companion object { fun generateIntent( context: Context?, diff --git a/FlowCrypt/src/main/res/values/themes.xml b/FlowCrypt/src/main/res/values/themes.xml index a92bc151d7..157fc925fe 100644 --- a/FlowCrypt/src/main/res/values/themes.xml +++ b/FlowCrypt/src/main/res/values/themes.xml @@ -3,15 +3,10 @@ ~ Contributors: denbond7 --> - +