Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
cd506aa
Increment project version to 3.4.1
Jan 14, 2026
348fb48
Add initial Claude Code setup
ykyivskyi-gl Jan 22, 2026
2f240c3
chore: simplify Claude Code integration and reference version catalog
DavDo Jan 23, 2026
b28ad94
Update enabled MCP servers in local settings
DavDo Jan 23, 2026
d3c6770
Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 5, 2026
d4fb187
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 5, 2026
1f7b65a
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 5, 2026
404c5f3
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 5, 2026
1e9c2ef
fixup! fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 5, 2026
45d44a0
fixup! fixup! fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 5, 2026
e37bdd6
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 5, 2026
3e7ffa6
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 5, 2026
179a912
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 6, 2026
f70a137
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 6, 2026
f1469c9
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 6, 2026
b44bef1
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 6, 2026
5b36ce2
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 6, 2026
6a44cef
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 6, 2026
ef3abc3
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 6, 2026
cc2287d
fixup! Rewrite testing app with Jetpack Compose
Andrii-Horishnii-Glia Feb 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
658 changes: 658 additions & 0 deletions .claude/CLAUDE.md

Large diffs are not rendered by default.

45 changes: 45 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"enabledPlugins": {
"integrations@glia-plugins": true,
"commit-messages@glia-plugins": true
},
"enabledMcpjsonServers": [
"mobile-mcp"
],
"permissions": {
"allow": [
"Bash(acli jira workitem view:*)",
"Bash(acli jira workitem:*)",
"Bash(gh repo view:*)",
"Bash(gh api:*)",
"Bash(gh pr:*)",
"Bash(gh issue:*)",
"Bash(gh release:*)",
"Bash(gh search:*)",
"mcp__atlassian__search",
"mcp__atlassian__getConfluencePage",
"mcp__atlassian__getPagesInConfluenceSpace",
"mcp__atlassian__getConfluenceSpaces",
"mcp__atlassian__searchConfluenceUsingCql",
"mcp__mobile-mcp__mobile_list_available_devices",
"mcp__mobile-mcp__mobile_list_apps",
"mcp__mobile-mcp__mobile_launch_app",
"mcp__mobile-mcp__mobile_terminate_app",
"mcp__mobile-mcp__mobile_take_screenshot",
"mcp__mobile-mcp__mobile_list_elements_on_screen",
"mcp__mobile-mcp__mobile_click_on_screen_at_coordinates",
"mcp__mobile-mcp__mobile_double_tap_on_screen",
"mcp__mobile-mcp__mobile_long_press_on_screen_at_coordinates",
"mcp__mobile-mcp__mobile_swipe_on_screen",
"mcp__mobile-mcp__mobile_type_keys",
"mcp__mobile-mcp__mobile_press_button",
"mcp__mobile-mcp__mobile_get_screen_size",
"mcp__mobile-mcp__mobile_get_orientation",
"mcp__mobile-mcp__mobile_set_orientation",
"mcp__mobile-mcp__mobile_open_url",
"mcp__mobile-mcp__mobile_save_screenshot",
"mcp__mobile-mcp__mobile_install_app",
"mcp__mobile-mcp__mobile_uninstall_app"
]
}
}
6 changes: 6 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"enableAllProjectMcpServers": true,
"enabledMcpjsonServers": [
"mobile-mcp"
]
}
125 changes: 125 additions & 0 deletions .claudeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Build artifacts
build/
**/build/
.gradle/
**/.gradle/
app/build/
androidSdk/build/
.cxx/
**/.cxx/

# Android Studio / IntelliJ IDEA
.idea/
**/.idea/
*.iml
**/*.iml
local.properties
*.ipr
*.iws
.idea_modules/

# Gradle wrapper (generated)
!gradle/wrapper/gradle-wrapper.jar

# Generated files
**/generated/
gen/
**/gen/
out/
**/out/

# Android build outputs
*.apk
*.aab
*.ap_
*.dex
*.class

# ProGuard/R8 mapping files
mapping.txt
seeds.txt
usage.txt

# Test results and coverage
test-results/
**/test-results/
coverage/
**/coverage/
*.exec
jacoco/

# Lint baseline and reports
lint-baseline.xml
**/lint-reports/
lint-results*.xml
lint-results*.html

# NDK
obj/
**/obj/
*.so
**/*.so

# Logs
*.log
**/*.log

# macOS system files
.DS_Store
**/.DS_Store

# IDE specific (VSCode)
.vscode/
**/.vscode/

# Temporary files
*.swp
*.swo
*~
.tmp/
tmp/

# Documentation (generated)
**/docs/
**/dokka/
javadoc/
**/javadoc/

# External libraries (if vendored)
libs/*.aar
**/libs/*.aar

# Keystore files (security)
*.jks
*.keystore
keystore.properties

# Local configuration
local.properties

# Firebase config (may contain sensitive data)
google-services.json
**/google-services.json

# Release artifacts
*.aab
*.apk
release/
**/release/

# Dependency directories (large)
.m2/
**/.m2/

# Bitrise/CI artifacts
bitrise.yml.bak
**/bitrise-step-*/

# Fastlane (if used)
fastlane/report.xml
fastlane/README.md
fastlane/test_output/

# Version control
.git/
.gitignore.bak
92 changes: 92 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"mcpServers": {
"mobile-mcp": {
"type": "stdio",
"command": "npx",
"description": "Mobile automation for iOS/Android simulators and real devices",
"args": [
"-y",
"@mobilenext/mobile-mcp@latest"
],
"env": {}
}
},
"toolApprovalRules": [
{
"tool": "mcp__mobile-mcp__mobile_list_available_devices",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_list_apps",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_launch_app",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_terminate_app",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_take_screenshot",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_list_elements_on_screen",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_click_on_screen_at_coordinates",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_double_tap_on_screen",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_long_press_on_screen_at_coordinates",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_swipe_on_screen",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_type_keys",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_press_button",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_get_screen_size",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_get_orientation",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_set_orientation",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_open_url",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_save_screenshot",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_install_app",
"approvalPolicy": "always-allow"
},
{
"tool": "mcp__mobile-mcp__mobile_uninstall_app",
"approvalPolicy": "always-allow"
}
]
}
27 changes: 25 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
apply plugin: 'com.android.application'
apply plugin: 'org.jetbrains.kotlin.android'
plugins {
id 'com.android.application'
alias libs.plugins.kotlin.android
alias libs.plugins.kotlin.compose
}

//Detailed information about advantages of Java toolchain https://developer.android.com/build/jdks#toolchain
java {
Expand Down Expand Up @@ -84,6 +87,10 @@ android {
'HardcodedText'
}
namespace 'com.glia.exampleapp'

buildFeatures {
compose true
}
}

def initEnvProperty(String propertyName, String defaultValue = "UNDEFINED") {
Expand Down Expand Up @@ -120,6 +127,22 @@ dependencies {
implementation libs.java.ktor.logging
implementation libs.java.coroutines

// Compose
implementation platform(libs.compose.bom)
implementation libs.compose.ui
implementation libs.compose.ui.graphics
implementation libs.compose.ui.tooling.preview
implementation libs.compose.material3
implementation libs.compose.activity
implementation libs.compose.viewmodel
implementation libs.compose.navigation
implementation libs.compose.runtime.livedata

// DataStore
implementation libs.datastore.preferences

debugImplementation libs.compose.ui.tooling
debugImplementation libs.compose.ui.test.manifest

//debugImplementation libs.test.leakcanary
testImplementation libs.test.junit
Expand Down
14 changes: 3 additions & 11 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,11 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true">

<!-- Compose-based main activity -->
<activity
android:name=".TestingAppLauncherActivity"
android:name=".ComposeActivity"
android:exported="true"
android:theme="@style/Theme.GliaAndroidSDKWidgetsExample">
<nav-graph android:value="@navigation/nav_graph" />
</activity>

<activity-alias
android:name="LauncherActivity"
android:exported="true"
android:targetActivity=".TestingAppLauncherActivity">

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Expand All @@ -38,9 +31,8 @@
<data android:host="widgets" />
<data android:pathPrefix="/token" />
<data android:pathPrefix="/secret" />

</intent-filter>
</activity-alias>
</activity>

<activity
android:name=".LegacyActivity"
Expand Down
Loading