Skip to content

Fix addFrameworkJar build logic and remove workarounds#39

Open
thejaustin wants to merge 5135 commits into
15-devfrom
fix/build-logic-framework-jar
Open

Fix addFrameworkJar build logic and remove workarounds#39
thejaustin wants to merge 5135 commits into
15-devfrom
fix/build-logic-framework-jar

Conversation

@thejaustin
Copy link
Copy Markdown
Owner

This PR fixes a consistent build failure caused by improper configuration in the addFrameworkJar method within build.gradle.

Changes:

  • Refactored addFrameworkJar to use tasks.withType(...).configureEach instead of gradle.projectsEvaluated, ensuring reliable task configuration.
  • Removed LC-Build-TODO comments and associated temporary workarounds in module-level build.gradle files (systemUI/anim, systemUI/shared, wmshell) as the root fix renders them unnecessary.

This change ensures that the framework jar is correctly added to the classpath for both Java and Kotlin compilation tasks, resolving the "addFrameworkJar() doesn't work" issue.

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
AutoCat Dev and others added 29 commits January 11, 2026 23:20
- Remove unused search UI components (SearchPreferenceFAB, PreferenceSearchBar, etc.)
- Remove search state management and LaunchedEffect hooks
- Clean up imports for better code organization
- Fix DraggableSettingsCategoryGroup indentation
- Maintain existing warning banners (debug, default launcher)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…cons

- Create AppMetadataProvider stub for app metadata API
- Remove hideDefaultLauncherWarning preference (doesn't exist)
- Fix LauncherIcons getIconScale override error

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The setIsDisabled method is not available in the current API.
Commented out for now with TODO to re-enable when available.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…ndicator method

- Simplified haptic feedback to use VibratorWrapper.EFFECT_CLICK (Android 10+ compatible)
- Removed PRIMITIVE_LOW_TICK references (Android 12+ only)
- Added setArrowClickListener() stub to CategoryTabStrip (required by PageIndicator interface)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Updated AppMetadataProvider to use AppInfo with all required fields
- Added category, installedTime, and description fields to AppInfo
- Removed non-existent categorizeAppsWithSystemAndGoogle import

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Added getCategoryName companion method for Android system categories
- Added getAppInfo stub method to AppMetadataProvider
- Fixed setArrowClickListener signature in CategoryTabStrip (using wildcard)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…calls

- Removed icon assignment in FolderInfo (property no longer exists)
- Removed icon parameter from updateFolderWithItems calls (not in method signature)
- Affects LawnchairAlphabeticalAppsList, CategoryFolderSyncService, FolderAutoSortService

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Added gesture_handler_open_quick_settings string
- Added accessibility hint strings (generic_a11y_hint, generic_a11y_disclaimer, notifications_fallback_a11y_hint, quick_settings_a11y_hint, recents_screen_a11y_hint, sleep_a11y_hint)
- Added smartspace battery charging state strings (smartspace_battery_fast_charging, smartspace_battery_slow_charging)
- Fixed CategoryTabStrip Direction import from com.android.launcher3.pageindicators
- Fixed setArrowClickListener signature to use specific Direction type

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Replace CollapsiblePreferenceGroup with PreferenceGroup (component removed in 16-dev)
- Remove unused imports for non-existent cards package and CollapsiblePreferenceGroup
- Add missing icon shape strings (icon_shape_very_sunny, icon_shape_complex_clover)
- Fix circuitBreakerTimeoutMs type conversion (Int instead of Long)
- Remove reference to non-existent circuitBreakerHalfOpenDurationMs preference

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add imports for route objects in SettingsCategoryConfig (General, HomeScreen, etc.)
- Define AppDrawerAppCategorizations and AppDrawerLLMSettings routes in PreferenceRoutes.kt
- Remove invalid icon parameter from NavigationActionPreference calls
- Replace CategorizationProgress composable with LinearProgressIndicator

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Refactors the addFrameworkJar closure in build.gradle to correctly configure tasks without using gradle.projectsEvaluated, which was causing issues.
Removes the redundant and temporary workarounds labeled 'LC-Build-TODO' from module build files.
Wrapping task configuration in afterEvaluate ensures tasks are fully registered before configuration attempts, resolving the 'configureAction is null' error.
- Resolve imports for Arrangement and height in DraggableSettingsCategory.kt
- Fix lambda type mismatch in DraggableSettingsCategory.kt
- Migrate from ReorderableListItemScope to ReorderableCollectionItemScope in ReorderablePreference*.kt
- Replace missing rememberReorderHapticFeedback with View.performHapticFeedback
- Replace longPressDraggableHandle with draggableHandle
- Comment out animateItemPlacement in DraggableSettingsCategory as it requires LazyItemScope
…eference

- Explicitly type the empty lambda in DraggableSettingsCategory to resolve type inference ambiguity between () -> Unit and Unit.
- Capture ReorderableCollectionItemScope in ReorderablePreference to prevent 'this' shadowing by ColumnScope, ensuring itemContent is called with the correct receiver.
- Removed redundant import of ReorderableCollectionItemScope.
- Removed explicit 'with(scope)' and 'invoke' call which was causing resolution ambiguity. The lambda 'itemContent' can be called directly.
The previous commit incorrectly removed the import for ReorderableCollectionItemScope, leading to an 'Unresolved reference' error. This commit restores the necessary import.
…eference.kt

The previous commit addressed a missing import, but the  lambda in  was still causing a 'receiver type mismatch' error. This commit explicitly calls  on the  receiver, resolving the compilation issue.
…enceGroup

Modified ReorderablePreferenceItem's content lambda to correctly accept a ReorderableCollectionItemScope receiver. Adjusted the call site in ReorderablePreferenceGroup to provide this receiver, fixing the 'Unresolved reference' compilation error.
thejaustin added a commit that referenced this pull request Mar 27, 2026
Manual merge of valuable fixes from fix/build-logic-framework-jar branch:

Reorderable Preferences:
- Simplified haptic feedback (direct Android API vs wrapper)
- Fixed ReorderableScope type (was ReorderableListItemScope)
- Cleaner onSettle logic with also {} scope function
- Removed duplicate LaunchedEffect

DraggableSettingsCategory:
- Removed complex shared transition scope
- Simplified edit mode animation (scale → elevation)
- Cleaner onNavigate lambda handling
- Reduced drag handle padding (16dp → 8dp)

PositionalReorderer:
- Simplified haptic feedback (CLOCK_TICK vs custom wrapper)
- Removed ReorderHapticFeedback utility class

Cleanup:
- Removed obsolete ReorderHapticFeedback.kt
- Removed obsolete LocalSharedTransitionScope.kt

Benefits:
- Simpler, more maintainable code
- Direct Android API usage (better compatibility)
- Reduced complexity in preference UI
- Fixed type mismatches with reorderable library

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants