Refactor ad handling, add frogo-compose modules, and update UI showcase#89
Conversation
Enhance core SDK with improvements and bug fixes
Enhance core SDK with improvements, bug fixes, and ad optimizations
- Remove extensive debug logging and toast messages across the core-ads module. - Refactor `FrogoAdmobViewAdapter` to use a local variable for `viewCallback` with a null-check and clear error message. - Fix logic in `FrogoAdDelegatesImpl` by adding missing return statements after showing Admob ads. - Simplify error and progress messages in `AdmobInterstitialExt`, `FrogoAppOpenAdManager`, and `FrogoAdmob`. - Fix bug in `RewardedInterstitialAd.load` to properly use the configured `adRequest` instead of a default builder.
…otifications, and Kotlin extensions
…lifecycle-aware delegates, and activity-based integration classes
- Remove extensive debug logging and toast messages across the core-ads module. - Refactor `FrogoAdmobViewAdapter` to use a local variable for `viewCallback` with a null-check and clear error message. - Fix logic in `FrogoAdDelegatesImpl` by adding missing return statements after showing Admob ads. - Simplify error and progress messages in `AdmobInterstitialExt`, `FrogoAppOpenAdManager`, and `FrogoAdmob`. - Fix bug in `RewardedInterstitialAd.load` to properly use the configured `adRequest` instead of a default builder.
- Add new `frogo-compose-android` library module. - Implement base classes: `FrogoComposeActivity`, `FrogoComposeBottomSheetFragment`, `FrogoComposeViewModel`, and `FrogoComposeScreen`. - Update `libs.versions.toml` with Jetpack Compose BOM and related dependencies. - Configure `buildSrc` with new module constants and paths. - Integrate the module into `settings.gradle.kts` and configure Maven publishing.
- Add new `frogo-compose-android` library module. - Implement base classes: `FrogoComposeActivity`, `FrogoComposeBottomSheetFragment`, `FrogoComposeViewModel`, and `FrogoComposeScreen`. - Update `libs.versions.toml` with Jetpack Compose BOM and related dependencies. - Configure `buildSrc` with new module constants and paths. - Integrate the module into `settings.gradle.kts` and configure Maven publishing.
…theme - Create new `frogo-compose-ui` module structure and configurations - Add base Compose theme components: `Color.kt`, `Type.kt`, and `Theme.kt` - Define module constants in `ProjectSetting.kt` and `DependencyGradle.kt` - Register the new module in `settings.gradle.kts` - Update issue planning documentation to reflect the new UI module setup
- Enable Jetpack Compose in the app module and add necessary dependencies. - Create the `frogo-compose-ui` module with an initial `FrogoButton` component. - Implement `MainComposeActivity` and `MainComposeUiActivity` to demonstrate Compose integration. - Update `MainActivity` and layout to include navigation to the new Compose examples.
- Add `ComposeUiMainScreen` with tab-based navigation. - Implement `WidgetScreen` to demonstrate buttons, text fields, and selection controls. - Implement `TemplateScreen` to showcase various dialog components. - Implement `ListScreen` to display `FrogoLazyColumn` and `FrogoListItem` usage. - Update `MainComposeUiActivity` to display the new showcase UI.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c28c538c7f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| fun FrogoSearchTopAppBar( | ||
| query: String, | ||
| onQueryChange: (String) -> Unit, | ||
| onSearch: (String) -> Unit, |
There was a problem hiding this comment.
Invoke the
onSearch callback from search UI events
FrogoSearchTopAppBar exposes an onSearch parameter but never calls it, so consumers that pass search logic (e.g., firing a query when the user submits from the keyboard) will never run that logic. In practice this makes the component look like a searchable app bar while silently dropping the submit action; wire onSearch(query) into the TextField search/IME action (and/or explicit search trigger) so callers can actually execute searches.
Useful? React with 👍 / 👎.
No description provided.