Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/weblate-integration' into weblat…
Browse files Browse the repository at this point in the history
…e-integration
  • Loading branch information
weblate committed Jul 12, 2024
2 parents 17ef53a + b0b9634 commit c8c4c36
Show file tree
Hide file tree
Showing 91 changed files with 2,567 additions and 533 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Built application files
*.apk
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex
Expand Down
241 changes: 130 additions & 111 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ android {
}

composeOptions {
kotlinCompilerExtensionVersion = Versions.google_compose_compiler
kotlinCompilerExtensionVersion = libs.versions.google.composecompiler.get()
}

buildTypes {
Expand Down Expand Up @@ -123,7 +123,7 @@ android {
}

lint {
disable 'IconDuplicates', 'MissingTranslation', 'UnusedQuantity'
disable 'IconDuplicates', 'MissingTranslation', 'UnusedQuantity', 'GradleDependency'
lintConfig file("lint.xml")
baseline file("lint-baseline.xml")
}
Expand Down Expand Up @@ -168,6 +168,26 @@ tasks.whenTaskAdded { task ->

def baseBuildDate = generatedBuildDate
def apkDate = generatedApkDate
def appId = android.defaultConfig.applicationId.tokenize('.')

// -------------------------------------------------------------------------------------------------
// Copy and rename AAB - adapted from https://stackoverflow.com/a/54010142
// -------------------------------------------------------------------------------------------------
tasks.whenTaskAdded { task ->
if (task.name.startsWith("bundle")) {
def renameTaskName = "rename${task.name.capitalize()}"
def variantName = task.name.substring("bundle".length()).uncapitalize()
def versionName = android.defaultConfig.versionName
tasks.register(renameTaskName, Copy) {
def path = "${buildDir}/outputs/bundle/${variantName}/"
from(path)
include "app-${variantName}.aab"
destinationDir file("$project.rootDir/output/${variantName}/")
rename "app-${variantName}.aab", "${appId[2]}-${variantName}-${versionName}-${apkDate}.aab"
}
task.finalizedBy renameTaskName
}
}

android.applicationVariants.all { variant ->

Expand Down Expand Up @@ -295,7 +315,6 @@ if (project.hasProperty("telemetry") && project.property("telemetry") == "true")
// Set the name of the output apks and copy to project directory
// -------------------------------------------------------------------------------------------------
variant.outputs.all { output ->
def appId = applicationId.tokenize('.')
def abi = output.getFilter(OutputFile.ABI)
def version = output.versionNameOverride
outputFileName = "${appId[2]}-${abi}-${variant.name}-${version}-${apkDate}.apk"
Expand Down Expand Up @@ -325,121 +344,121 @@ project.configurations.all {
}

dependencies {
implementation Deps.mozilla_concept_awesomebar
implementation Deps.mozilla_concept_engine
implementation Deps.mozilla_concept_menu
implementation Deps.mozilla_concept_tabstray
implementation Deps.mozilla_concept_toolbar
implementation Deps.mozilla_concept_storage
implementation Deps.mozilla_concept_sync
implementation Deps.mozilla_concept_push

implementation Deps.mozilla_compose_awesomebar

implementation Deps.mozilla_browser_engine_gecko

implementation Deps.mozilla_browser_domains
implementation Deps.mozilla_browser_tabstray
implementation Deps.mozilla_browser_toolbar
implementation Deps.mozilla_browser_menu
implementation Deps.mozilla_browser_menu2
implementation Deps.mozilla_browser_session_storage
implementation Deps.mozilla_browser_state
implementation Deps.mozilla_browser_storage_sync
implementation Deps.mozilla_browser_icons
implementation Deps.mozilla_browser_thumbnails

implementation Deps.mozilla_feature_accounts
implementation Deps.mozilla_feature_accounts_push
implementation Deps.mozilla_feature_addons
implementation Deps.mozilla_feature_app_links
implementation Deps.mozilla_feature_awesomebar
implementation Deps.mozilla_feature_autofill
implementation Deps.mozilla_feature_contextmenu
implementation Deps.mozilla_feature_customtabs
implementation Deps.mozilla_feature_findinpage
implementation Deps.mozilla_feature_media
implementation Deps.mozilla_feature_sitepermissions
implementation Deps.mozilla_feature_intent
implementation Deps.mozilla_feature_search
implementation Deps.mozilla_feature_session
implementation Deps.mozilla_feature_toolbar
implementation Deps.mozilla_feature_tabs
implementation Deps.mozilla_feature_downloads
implementation Deps.mozilla_feature_prompts
implementation Deps.mozilla_feature_push
implementation Deps.mozilla_feature_pwa
implementation Deps.mozilla_feature_qr
implementation Deps.mozilla_feature_readerview
implementation Deps.mozilla_feature_syncedtabs
implementation Deps.mozilla_feature_webauthn
implementation Deps.mozilla_feature_webcompat
implementation Deps.mozilla_feature_webnotifications

implementation Deps.mozilla_ui_autocomplete
implementation Deps.mozilla_ui_colors
implementation Deps.mozilla_ui_icons
implementation Deps.mozilla_ui_tabcounter

implementation Deps.mozilla_service_firefox_accounts
implementation Deps.mozilla_service_location
implementation Deps.mozilla_service_sync_logins

implementation Deps.mozilla_support_images
implementation Deps.mozilla_support_utils
implementation Deps.mozilla_support_ktx
implementation Deps.mozilla_support_rustlog
implementation Deps.mozilla_support_rusthttp
implementation Deps.mozilla_support_webextensions

implementation Deps.mozilla_lib_publicsuffixlist
implementation Deps.mozilla_lib_dataprotect

implementation Deps.thirdparty_sentry
implementation Deps.thirdparty_gson

implementation Deps.kotlin_coroutines
implementation Deps.kotlin_serialization

implementation Deps.androidx_appcompat
implementation Deps.androidx_core_ktx
implementation Deps.androidx_constraintlayout
implementation Deps.androidx_lifecycle_process
implementation Deps.androidx_preference_ktx
implementation Deps.androidx_swiperefreshlayout
implementation Deps.androidx_work_runtime_ktx

implementation Deps.androidx_activity_compose
implementation Deps.androidx_compose_ui
implementation Deps.androidx_compose_ui_tooling
implementation Deps.androidx_compose_foundation
implementation Deps.androidx_compose_material
implementation Deps.androidx_navigation_fragment
implementation Deps.androidx_navigation_ui

implementation Deps.google_material
implementation libs.mozilla.conceptawesomebar
implementation libs.mozilla.conceptengine
implementation libs.mozilla.conceptmenu
implementation libs.mozilla.concepttabstray
implementation libs.mozilla.concepttoolbar
implementation libs.mozilla.conceptstorage
implementation libs.mozilla.conceptsync
implementation libs.mozilla.conceptpush

implementation libs.mozilla.composeawesomebar

implementation libs.mozilla.browserenginegecko
implementation libs.mozilla.browserdomains
implementation libs.mozilla.browsertabstray
implementation libs.mozilla.browsertoolbar
implementation libs.mozilla.browsermenu
implementation libs.mozilla.browsermenu2
implementation libs.mozilla.browsersessionstorage
implementation libs.mozilla.browserstate
implementation libs.mozilla.browserstoragesync
implementation libs.mozilla.browsericons
implementation libs.mozilla.browserthumbnails

implementation libs.mozilla.featureaccounts
implementation libs.mozilla.featureaccountspush
implementation libs.mozilla.featureaddons
implementation libs.mozilla.featureapplinks
implementation libs.mozilla.featureawesomebar
implementation libs.mozilla.featureautofill
implementation libs.mozilla.featurecontextmenu
implementation libs.mozilla.featurecustomtabs
implementation libs.mozilla.featurefindinpage
implementation libs.mozilla.featuremedia
implementation libs.mozilla.featuresitepermissions
implementation libs.mozilla.featureintent
implementation libs.mozilla.featuresearch
implementation libs.mozilla.featuresession
implementation libs.mozilla.featuretoolbar
implementation libs.mozilla.featuretabs
implementation libs.mozilla.featuredownloads
implementation libs.mozilla.featureprompts
implementation libs.mozilla.featurepush
implementation libs.mozilla.featurepwa
implementation libs.mozilla.featureqr
implementation libs.mozilla.featurereaderview
implementation libs.mozilla.featuresyncedtabs
implementation libs.mozilla.featurewebauthn
implementation libs.mozilla.featurewebcompat
implementation libs.mozilla.featurewebnotifications
implementation libs.mozilla.featureshare

implementation libs.mozilla.uiautocomplete
implementation libs.mozilla.uicolors
implementation libs.mozilla.uiicons
implementation libs.mozilla.uitabcounter

implementation libs.mozilla.servicefirefoxaccounts
implementation libs.mozilla.servicelocation
implementation libs.mozilla.servicesynclogins

implementation libs.mozilla.supportimages
implementation libs.mozilla.supportutils
implementation libs.mozilla.supportktx
implementation libs.mozilla.supportrustlog
implementation libs.mozilla.supportrusthttp
implementation libs.mozilla.supportwebextensions

implementation libs.mozilla.libpublicsuffixlist
implementation libs.mozilla.libdataprotect

implementation libs.thirdparty.sentry
implementation libs.thirdparty.gson

implementation libs.kotlin.coroutines
implementation libs.kotlin.serialization

implementation libs.androidx.appcompat
implementation libs.androidx.corektx
implementation libs.androidx.constraintlayout
implementation libs.androidx.lifecycleprocess
implementation libs.androidx.preferencektx
implementation libs.androidx.swiperefreshlayout
implementation libs.androidx.workruntimektx

implementation libs.androidx.activitycompose
implementation libs.androidx.composeui
implementation libs.androidx.composeuitooling
implementation libs.androidx.composefoundation
implementation libs.androidx.composematerial
implementation libs.androidx.navigationfragment
implementation libs.androidx.navigationui

implementation libs.google.material

/* CENO: Begin implement additional dependencies */
implementation Deps.mozilla_feature_top_sites
implementation Deps.mozilla_ui_widgets
implementation libs.mozilla.featuretopsites
implementation libs.mozilla.uiwidgets

if (gradle.hasProperty('localProperties.dependencySubstitutions.ouinetLocalLib')) {
project.logger.lifecycle('Subtituting local AAR for Ouinet dependency')
implementation(files(gradle."localProperties.dependencySubstitutions.ouinetLocalLib"))
} else {
implementation Deps.ouinet_omni
implementation libs.ouinet.omni
}
implementation Deps.relinker
implementation libs.relinker
/* CENO: End implement additional dependencies */

androidTestImplementation Deps.uiautomator
androidTestImplementation Deps.junit_ktx
androidTestImplementation libs.uiautomator
androidTestImplementation libs.junit.ktx

androidTestImplementation Deps.espresso_core, {
androidTestImplementation libs.espresso.core, {
exclude group: 'com.android.support', module: 'support-annotations'
}

androidTestImplementation(Deps.espresso_contrib) {
androidTestImplementation(libs.espresso.contrib) {
exclude module: 'appcompat-v7'
exclude module: 'support-v4'
exclude module: 'support-annotations'
Expand All @@ -448,16 +467,16 @@ dependencies {
exclude module: 'espresso-core'
}

androidTestImplementation Deps.espresso_idling_resources
androidTestImplementation Deps.espresso_web, {
androidTestImplementation libs.espresso.idlingresources
androidTestImplementation libs.espresso.web, {
exclude group: 'com.android.support', module: 'support-annotations'
}

androidTestImplementation Deps.mockwebserver
androidTestImplementation Deps.tools_test_runner
androidTestImplementation Deps.tools_test_rules
androidTestUtil Deps.orchestrator
androidTestImplementation Deps.espresso_core, {
androidTestImplementation libs.mockwebserver
androidTestImplementation libs.tools.testrunner
androidTestImplementation libs.tools.testrules
androidTestUtil libs.orchestrator
androidTestImplementation libs.espresso.core, {
exclude group: 'com.android.support', module: 'support-annotations'
}
}
Expand Down
19 changes: 19 additions & 0 deletions app/src/androidTest/java/ie/equalit/ceno/ui/DownloadTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,23 @@ class DownloadTest {
verifyDownloadNotificationExist("Download completed", downloadFileName)
}.closeNotification {}
}

// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2048448
// Save edited PDF file from the share overlay
@Test
fun saveAsPdfFunctionalityTest() {
val genericURL =
TestAssetHelper.getGenericAsset(mockWebServer, 1)

navigationToolbar {
}.enterUrlAndEnterToBrowser (genericURL.url) {
verifyPageContent("Page content: 1")
}
navigationToolbar {
}.openThreeDotMenu {
}.clickShareButton {
}.clickSaveAsPDF {
verifyDownloadPrompt("Page content: 1")
}.clickDownload ()
}
}
17 changes: 11 additions & 6 deletions app/src/androidTest/java/ie/equalit/ceno/ui/ReaderViewTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import ie.equalit.ceno.helpers.TestAssetHelper
import ie.equalit.ceno.ui.robots.navigationToolbar
import ie.equalit.ceno.ui.robots.onboarding

@Ignore("Disabled - ")
class ReaderViewTest {

private lateinit var mockWebServer: MockWebServer
Expand Down Expand Up @@ -48,15 +47,18 @@ class ReaderViewTest {
}.enterUrlAndEnterToBrowser(readerViewPage.url) {
}
navigationToolbar {
verifyReaderViewButton()
}.openThreeDotMenu {
verifyEnableReaderViewButton()
}.clickReaderViewButton {
verifyAppearanceButtonExists()
clickAppearanceButton()
verifyAppearanceMenuExists()
}.dismissAppearanceMenu {
}
navigationToolbar {
}.clickReaderViewButton {
}.openThreeDotMenu {
verifyDisableReaderViewButton()
}.clickDisableReaderViewButton {
verifyAppearanceButtonDoesntExists()
}
}
Expand All @@ -69,7 +71,8 @@ class ReaderViewTest {
}.enterUrlAndEnterToBrowser(readerViewPage.url) {
}
navigationToolbar {
verifyReaderViewButton()
}.openThreeDotMenu {
verifyEnableReaderViewButton()
}.clickReaderViewButton {
verifyAppearanceButtonExists()
clickAppearanceButton()
Expand All @@ -90,7 +93,8 @@ class ReaderViewTest {
}.enterUrlAndEnterToBrowser(readerViewPage.url) {
}
navigationToolbar {
verifyReaderViewButton()
}.openThreeDotMenu {
verifyEnableReaderViewButton()
}.clickReaderViewButton {
verifyAppearanceButtonExists()
clickAppearanceButton()
Expand All @@ -113,7 +117,8 @@ class ReaderViewTest {
}.enterUrlAndEnterToBrowser(readerViewPage.url) {
}
navigationToolbar {
verifyReaderViewButton()
}.openThreeDotMenu {
verifyEnableReaderViewButton()
}.clickReaderViewButton {
verifyAppearanceButtonExists()
clickAppearanceButton()
Expand Down
Loading

0 comments on commit c8c4c36

Please sign in to comment.