From e9a7ba8d9efb40020362c95078a7e54a93ca0246 Mon Sep 17 00:00:00 2001 From: Mohd Aquib Date: Mon, 4 May 2026 09:25:22 +0800 Subject: [PATCH 1/4] Add project scaffolding with initial setup for ComposeA11yScanner --- .gitignore | 3 + app/build.gradle.kts | 5 ++ app/src/main/AndroidManifest.xml | 1 + .../ComposeA11yScannerApplication.kt | 7 +++ build.gradle.kts | 4 ++ gradle/libs.versions.toml | 12 +++- sample/build.gradle.kts | 55 +++++++++++++++++++ sample/proguard-rules.pro | 0 sample/src/main/AndroidManifest.xml | 24 ++++++++ .../sample/SampleActivity.kt | 36 ++++++++++++ .../sample/SampleApplication.kt | 7 +++ sample/src/main/res/values/strings.xml | 4 ++ sample/src/main/res/values/themes.xml | 4 ++ scanner-core/build.gradle.kts | 38 +++++++++++++ scanner-core/consumer-rules.pro | 0 scanner-core/proguard-rules.pro | 0 scanner-core/src/main/AndroidManifest.xml | 2 + .../composea11yscanner/core/ScannerCore.kt | 5 ++ scanner-rules/build.gradle.kts | 38 +++++++++++++ scanner-rules/consumer-rules.pro | 0 scanner-rules/proguard-rules.pro | 0 scanner-rules/src/main/AndroidManifest.xml | 2 + .../composea11yscanner/rules/ScannerRules.kt | 7 +++ scanner-ui/build.gradle.kts | 51 +++++++++++++++++ scanner-ui/consumer-rules.pro | 0 scanner-ui/proguard-rules.pro | 0 scanner-ui/src/main/AndroidManifest.xml | 2 + .../com/composea11yscanner/ui/ScannerUi.kt | 13 +++++ settings.gradle.kts | 4 ++ 29 files changed, 323 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/composea11yscanner/ComposeA11yScannerApplication.kt create mode 100644 sample/build.gradle.kts create mode 100644 sample/proguard-rules.pro create mode 100644 sample/src/main/AndroidManifest.xml create mode 100644 sample/src/main/java/com/composea11yscanner/sample/SampleActivity.kt create mode 100644 sample/src/main/java/com/composea11yscanner/sample/SampleApplication.kt create mode 100644 sample/src/main/res/values/strings.xml create mode 100644 sample/src/main/res/values/themes.xml create mode 100644 scanner-core/build.gradle.kts create mode 100644 scanner-core/consumer-rules.pro create mode 100644 scanner-core/proguard-rules.pro create mode 100644 scanner-core/src/main/AndroidManifest.xml create mode 100644 scanner-core/src/main/java/com/composea11yscanner/core/ScannerCore.kt create mode 100644 scanner-rules/build.gradle.kts create mode 100644 scanner-rules/consumer-rules.pro create mode 100644 scanner-rules/proguard-rules.pro create mode 100644 scanner-rules/src/main/AndroidManifest.xml create mode 100644 scanner-rules/src/main/java/com/composea11yscanner/rules/ScannerRules.kt create mode 100644 scanner-ui/build.gradle.kts create mode 100644 scanner-ui/consumer-rules.pro create mode 100644 scanner-ui/proguard-rules.pro create mode 100644 scanner-ui/src/main/AndroidManifest.xml create mode 100644 scanner-ui/src/main/java/com/composea11yscanner/ui/ScannerUi.kt diff --git a/.gitignore b/.gitignore index aa724b7..b904214 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,6 @@ .externalNativeBuild .cxx local.properties +/.idea/markdown.xml +/.idea/gradle.xml +/.idea/misc.xml \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7ce9f28..ace9492 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,6 +1,8 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.compose) + alias(libs.plugins.hilt) + alias(libs.plugins.ksp) } android { @@ -40,6 +42,9 @@ android { } dependencies { + implementation(project(":scanner-ui")) + implementation(libs.hilt.android) + ksp(libs.hilt.android.compiler) implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e1a7864..7cabb79 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,6 +3,7 @@ xmlns:tools="http://schemas.android.com/tools"> + + + + + + + + + + + + diff --git a/sample/src/main/java/com/composea11yscanner/sample/SampleActivity.kt b/sample/src/main/java/com/composea11yscanner/sample/SampleActivity.kt new file mode 100644 index 0000000..e8ad775 --- /dev/null +++ b/sample/src/main/java/com/composea11yscanner/sample/SampleActivity.kt @@ -0,0 +1,36 @@ +package com.composea11yscanner.sample + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +class SampleActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContent { SampleApp() } + } +} + +@Composable +fun SampleApp(modifier: Modifier = Modifier) { + Scaffold(modifier = modifier.fillMaxSize()) { innerPadding -> + Text(text = "ComposeA11yScanner Sample", modifier = Modifier.padding(innerPadding)) + } +} + +@Preview(showBackground = true) +@Composable +fun SampleAppPreview() { + SampleApp() +} diff --git a/sample/src/main/java/com/composea11yscanner/sample/SampleApplication.kt b/sample/src/main/java/com/composea11yscanner/sample/SampleApplication.kt new file mode 100644 index 0000000..d8f21dc --- /dev/null +++ b/sample/src/main/java/com/composea11yscanner/sample/SampleApplication.kt @@ -0,0 +1,7 @@ +package com.composea11yscanner.sample + +import android.app.Application +import dagger.hilt.android.HiltAndroidApp + +@HiltAndroidApp +class SampleApplication : Application() diff --git a/sample/src/main/res/values/strings.xml b/sample/src/main/res/values/strings.xml new file mode 100644 index 0000000..4a3e95c --- /dev/null +++ b/sample/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + A11y Scanner Sample + diff --git a/sample/src/main/res/values/themes.xml b/sample/src/main/res/values/themes.xml new file mode 100644 index 0000000..df1c1fa --- /dev/null +++ b/sample/src/main/res/values/themes.xml @@ -0,0 +1,4 @@ + + +