diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7d810466..eac1fc27 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,14 +31,14 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Build bundle - run: ./gradlew :androidApp:bundleDevDebug + run: ./gradlew :app:bundleDevDebug - name: Build APK - run: ./gradlew :androidApp:assembleDevDebug + run: ./gradlew :app:assembleDevDebug - name: Upload APK and bundle uses: actions/upload-artifact@v4 with: name: app - path: androidApp/build/outputs/ + path: app/build/outputs/ - name: Create release if: startsWith(github.ref, 'refs/tags/') uses: marvinpinto/action-automatic-releases@latest @@ -48,5 +48,5 @@ jobs: automatic_release_tag: "${{ env.VERSION }}" title: "${{ env.VERSION }}" files: | - androidApp/build/outputs/apk/dev/debug/androidApp-dev-debug.apk - androidApp/build/outputs/bundle/devDebug/androidApp-dev-debug.aab + app/build/outputs/apk/dev/debug/app-dev-debug.apk + app/build/outputs/bundle/devDebug/app-dev-debug.aab diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 28aed3b2..754dc506 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -53,6 +53,6 @@ jobs: - name: Warm Gradle dependency cache run: | ./gradlew --no-daemon \ - :androidApp:assembleDevDebug \ - :androidApp:compileDevDebugUnitTestSources \ + :app:assembleDevDebug \ + :app:compileDevDebugUnitTestSources \ :shared:assemble diff --git a/.github/workflows/detekt.yml b/.github/workflows/detekt.yml index b225377a..f3cd2a01 100644 --- a/.github/workflows/detekt.yml +++ b/.github/workflows/detekt.yml @@ -28,5 +28,5 @@ jobs: with: name: detekt-reports path: | - androidApp/build/reports/detekt/ + app/build/reports/detekt/ diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index b91938e1..7cd3acb7 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -30,7 +30,7 @@ jobs: with: name: test-results path: | - androidApp/build/test-results/testDevDebugUnitTest/ - androidApp/build/reports/tests + app/build/test-results/testDevDebugUnitTest/ + app/build/reports/tests shared/build/test-results/testDebugUnitTest/ shared/build/reports/tests diff --git a/.gitignore b/.gitignore index ef9e3ff8..2af5a53d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,9 +8,7 @@ /captures **/build/ app/full-r8-config.txt -androidApp/full-r8-config.txt app/prod/ -androidApp/prod/ /.vs/ .kotlin/ **/.kotlin/ @@ -19,11 +17,9 @@ androidApp/prod/ *.jks keystore.* app/keystore.* -androidApp/keystore.* #google services app/google-services.json -androidApp/google-services.json #iOS / Xcode # The Xcode project is generated from iosApp/project.yml with XcodeGen, not committed. diff --git a/MULTIPLATFORM.md b/MULTIPLATFORM.md index b59dce2d..69ae1ab1 100644 --- a/MULTIPLATFORM.md +++ b/MULTIPLATFORM.md @@ -15,7 +15,7 @@ reviewable changes. | Module | Type | Contents | |-----------|------------------------------|-----------------------------------------------------| | `:shared` | Kotlin Multiplatform library | Platform-agnostic code shared by Android and iOS | -| `:androidApp` | Android application | Android entry point, Glance widget, Firebase, WorkManager, Android theming/resources | +| `:app` | Android application | Android entry point, Glance widget, Firebase, WorkManager, Android theming/resources | | `iosApp` | Xcode project (planned) | SwiftUI shell + WidgetKit extension, hosts shared Compose UI | The in-app screens are shared via **Compose Multiplatform** (see "UI strategy" @@ -112,7 +112,7 @@ Phase 2 (see "Done — Phase 2"), so the shared modules are reused directly here Ktor client over the existing (`@Named("yahoo")`-authenticated) `OkHttpClient`, and `NetworkModule` providers call those factories. The last Retrofit consumer — the unused `GithubApi` compare-tags interface, obsoleted by the network-free shared `CommitsProvider` (the changelog is now baked into - the build) — has been removed, so Retrofit is no longer a dependency of `:androidApp`. + the build) — has been removed, so Retrofit is no longer a dependency of `:app`. - Replaced Jsoup most-active HTML scraping with a dependency-free `fin-streamer` symbol parser in `commonMain` (`YahooFinanceMostActiveApi`), removing `jsoup` and the scalars converter from `:app`. - Replaced the SimpleXML RSS models with `kotlinx.serialization` + xmlutil in `commonMain` @@ -320,7 +320,7 @@ Migrated into `commonMain` so far: `material3.TimePicker`/`TimePickerState`, removing the Android `AlertDialog`/`TimePickerDialog`/ `LocalContext` dependencies. The Android-coupled inputs are hoisted as parameters: the localised labels/string-arrays as `String`/`Array` values, the three dialog confirm/dismiss labels, - the `Divider` as a composable slot (it lives in `:androidApp`), the alarm-permission banner as a composable + the `Divider` as a composable slot (it lives in `:app`), the alarm-permission banner as a composable slot, the `Alegreya`/`Bold` fonts as nullable `FontFamily` params, all user actions as callback lambdas (file pickers, Custom Tabs links, notification-permission flow, version-tap easter egg), the `RuntimeShader`-based `fadingEdges` as a `(ScrollableState) -> Modifier` lambda, and the @@ -358,7 +358,7 @@ Migrated into `commonMain` so far: formatters as lambdas, the `AppMessaging` bottom-sheet card-tap as an `onCardClick(title, data)` lambda, the per-section `Holdings`/`Alerts`/`Notes`/`Displayname` editing as `onEdit*` callbacks plus the displayed `position`/`alert`/`notes`/`displayname` state values, the `AppCard` container - (it lives in `:androidApp`), `NewsCard`, `AddSymbolDialog` and the website `LinkText` as composable slots, + (it lives in `:app`), `NewsCard`, `AddSymbolDialog` and the website `LinkText` as composable slots, the `RuntimeShader`-based `fadingEdges` as a `(ScrollableState) -> Modifier` lambda, the `SnackbarHostState`, and the adaptive Accompanist `TwoPane`/`WindowWidthSizeClass`/`ContentType` layout as an optional `twoPane(first, second)` slot (null = single column). A thin @@ -396,7 +396,7 @@ Migrated into `commonMain` so far: multiplatform `coil3.compose.AsyncImage` for the article thumbnail. The Android-coupled inputs are hoisted as parameters: the article tap (the `CustomTabs` Custom Tab open) as an `onClick` callback, the `ColourPalette` image placeholder gradient colour as a `placeholderColor: Color`, and the - `AppCard` container (it lives in `:androidApp`) as a `card` composable slot. A thin `:app` `NewsCard.kt` + `AppCard` container (it lives in `:app`) as a `card` composable slot. A thin `:app` `NewsCard.kt` overload (`NewsCard(item)`, keeping the same signature so `NewsFeedScreenHost`, `QuoteDetailScreenHost` and `SearchScreenHost` are unchanged) supplies the Custom Tab open, the `ColourPalette` placeholder colour and the `AppCard` slot. @@ -425,7 +425,7 @@ Migrated into `commonMain` so far: - The remaining **shared UI building blocks** moved into `commonMain`: the platform-neutral in-app message model (`AppMessage`, in `ticker.ui`, with its `BottomSheetMessage`/`BannerMessage` subtypes — the Android `AppMessaging` dispatcher that needs a `Context` to resolve string - resources stays in `:androidApp` and emits these); the **bottom-sheet message UI** + resources stays in `:app` and emits these); the **bottom-sheet message UI** (`BottomSheetWithMessage`/`ModalBottomSheetWithMessage`, its Android `@Preview` dropped); the **bottom-sheet message collector** (`CollectBottomSheetMessage`) — now a plain composable that takes the `bottomSheets: Flow` as a parameter (hoisted off `LocalAppMessaging`) @@ -573,7 +573,7 @@ The full plan and rationale live in the PR description / issue. Subsequent phase into shared Compose resources (`shared/src/commonMain/composeResources/font`) and a shared `appTypography()` (`commonMain` `tickerwidget.ui.theme`) builds the Material 3 type scale from them, so the Android `AppTheme` and the iOS `IosAppTheme` render the same fonts (the duplicate - Android `AppTypography.kt` was removed; the `androidApp/res/font` files remain only for the legacy + Android `AppTypography.kt` was removed; the `app/res/font` files remain only for the legacy XML themes). The **colour scheme is now shared too**: the brand Material 3 palette and the light/dark `ColorScheme`s (`brandLightColorScheme`/`brandDarkColorScheme`), the `appShapes`, and a single cross-platform `SharedAppTheme` composable all live in `commonMain` @@ -629,7 +629,7 @@ The full plan and rationale live in the PR description / issue. Subsequent phase end, but a number of Android features are still missing, stubbed or simplified on iOS. Close these gaps before moving on to CI: - **Local notifications (price alerts + daily summary).** *(Done.)* Android delivers price-alert - notifications and a scheduled daily-summary notification (`androidApp/.../notifications/ + notifications and a scheduled daily-summary notification (`app/.../notifications/ NotificationsHandler.kt`, `DailySummaryNotificationReceiver.kt`) via `AlarmManager`/ `WorkManager`. The iOS app now has an equivalent `UNUserNotificationCenter`-backed `LocalNotificationsHandler` (`shared/src/iosMain/.../notifications/LocalNotificationsHandler.kt`): @@ -644,7 +644,7 @@ The full plan and rationale live in the PR description / issue. Subsequent phase - **Home-screen widget configuration & customisation.** *(Done.)* Android supports multiple Glance widgets, each with its own watchlist and per-widget options (auto-sort, layout, size, background/text colour, bold text, header visibility, currency display, refresh button), - configured in-app (`androidApp/.../widget/`). The iOS `StockTickerWidget` + configured in-app (`app/.../widget/`). The iOS `StockTickerWidget` (`iosApp/StockTickerWidget/StockTickerWidget.swift`) is now an `AppIntentConfiguration` driven by a per-widget `StockTickerConfigurationIntent` (`iosApp/StockTickerWidget/StockTickerWidgetIntent.swift`): each placed widget keeps its own @@ -655,7 +655,7 @@ The full plan and rationale live in the PR description / issue. Subsequent phase `WidgetsScreen.kt` (`shared/src/iosMain/.../ui`) explains how to add a widget and edit each one (touch & hold → *Edit Widget*). - **Onboarding tutorial.** *(Done.)* Android shows a first-run tutorial gated on the shared - `tutorialShown()` preference (`androidApp/.../home/HomeActivity.kt` → + `tutorialShown()` preference (`app/.../home/HomeActivity.kt` → `HomeViewModel.checkShowTutorial()`). The iOS app now presents an equivalent onboarding flow: `OnboardingScreen.kt` (`shared/src/iosMain/.../ui`) is a multi-step Compose Multiplatform modal (`OnboardingController` + `OnboardingTutorial`) driven by the same shared @@ -664,8 +664,8 @@ The full plan and rationale live in the PR description / issue. Subsequent phase re-opens it (`onTutorial` → `controller.show()`), and dismissing it persists the preference. The iOS pages are tailored to iOS (watchlist, search, quote detail, Home Screen WidgetKit widget). - **In-app review / version-tap.** *(Done.)* Android triggers - the Play in-app review flow (`androidApp/.../home/IAppReviewManager.kt`) and a functional - version-tap handler (`androidApp/.../settings/SettingsScreenHost.kt`). The iOS `onVersionTap` is + the Play in-app review flow (`app/.../home/IAppReviewManager.kt`) and a functional + version-tap handler (`app/.../settings/SettingsScreenHost.kt`). The iOS `onVersionTap` is wired (five quick taps open the debug DB viewer — see below). The in-app review prompt is now wired too: `AppReviewPrompter` (`shared/src/iosMain/.../review/AppReviewPrompter.kt`) requests an App Store rating via StoreKit's `SKStoreReviewController.requestReviewInScene(...)`. Like @@ -674,7 +674,7 @@ The full plan and rationale live in the PR description / issue. Subsequent phase same shared `UserPreferences.shouldPromptRate()` plus a once-per-session guard; the system itself decides whether to actually show the rating sheet and rate-limits it. - **Debug database viewer.** *(Done.)* Android exposes a DB viewer from settings - (`androidApp/.../debug/DbViewerActivity.kt`). The iOS app now has an equivalent: + (`app/.../debug/DbViewerActivity.kt`). The iOS app now has an equivalent: `DbViewerScreen.kt` (`shared/src/iosMain/.../ui`) with an `IosDbViewerViewModel` that reads the shared Room-backed `QuoteDao` and renders the quotes/holdings/properties tables plus recent fetch logs as HTML in a native `WKWebView` (JavaScript disabled), hosted via Compose Multiplatform's @@ -779,7 +779,7 @@ and/or duplicated on iOS): Android (unchanged): ```bash -./gradlew :androidApp:assembleDevDebug +./gradlew :app:assembleDevDebug ``` Shared module checks: diff --git a/androidApp/build.gradle.kts b/app/build.gradle.kts similarity index 100% rename from androidApp/build.gradle.kts rename to app/build.gradle.kts diff --git a/androidApp/proguard-rules.pro b/app/proguard-rules.pro similarity index 100% rename from androidApp/proguard-rules.pro rename to app/proguard-rules.pro diff --git a/androidApp/src/dev/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt b/app/src/dev/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt similarity index 100% rename from androidApp/src/dev/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt rename to app/src/dev/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt diff --git a/androidApp/src/dev/java/com/github/premnirmal/ticker/components/LoggingTree.kt b/app/src/dev/java/com/github/premnirmal/ticker/components/LoggingTree.kt similarity index 100% rename from androidApp/src/dev/java/com/github/premnirmal/ticker/components/LoggingTree.kt rename to app/src/dev/java/com/github/premnirmal/ticker/components/LoggingTree.kt diff --git a/androidApp/src/dev/java/com/github/premnirmal/ticker/home/AppReviewManager.kt b/app/src/dev/java/com/github/premnirmal/ticker/home/AppReviewManager.kt similarity index 100% rename from androidApp/src/dev/java/com/github/premnirmal/ticker/home/AppReviewManager.kt rename to app/src/dev/java/com/github/premnirmal/ticker/home/AppReviewManager.kt diff --git a/androidApp/src/dev/res/values/app_name.xml b/app/src/dev/res/values/app_name.xml similarity index 100% rename from androidApp/src/dev/res/values/app_name.xml rename to app/src/dev/res/values/app_name.xml diff --git a/androidApp/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml similarity index 100% rename from androidApp/src/main/AndroidManifest.xml rename to app/src/main/AndroidManifest.xml diff --git a/androidApp/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png similarity index 100% rename from androidApp/src/main/ic_launcher-web.png rename to app/src/main/ic_launcher-web.png diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/AppPreferences.kt b/app/src/main/java/com/github/premnirmal/ticker/AppPreferences.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/AppPreferences.kt rename to app/src/main/java/com/github/premnirmal/ticker/AppPreferences.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/AppPreferencesDataMigration.kt b/app/src/main/java/com/github/premnirmal/ticker/AppPreferencesDataMigration.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/AppPreferencesDataMigration.kt rename to app/src/main/java/com/github/premnirmal/ticker/AppPreferencesDataMigration.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/CustomTabs.kt b/app/src/main/java/com/github/premnirmal/ticker/CustomTabs.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/CustomTabs.kt rename to app/src/main/java/com/github/premnirmal/ticker/CustomTabs.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/Extensions.kt b/app/src/main/java/com/github/premnirmal/ticker/Extensions.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/Extensions.kt rename to app/src/main/java/com/github/premnirmal/ticker/Extensions.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/StocksApp.kt b/app/src/main/java/com/github/premnirmal/ticker/StocksApp.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/StocksApp.kt rename to app/src/main/java/com/github/premnirmal/ticker/StocksApp.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/UpdateReceiver.kt b/app/src/main/java/com/github/premnirmal/ticker/UpdateReceiver.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/UpdateReceiver.kt rename to app/src/main/java/com/github/premnirmal/ticker/UpdateReceiver.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/base/BaseActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/base/BaseActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/base/BaseActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/base/BaseActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/components/AppClockExtensions.kt b/app/src/main/java/com/github/premnirmal/ticker/components/AppClockExtensions.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/components/AppClockExtensions.kt rename to app/src/main/java/com/github/premnirmal/ticker/components/AppClockExtensions.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/components/AppModule.kt b/app/src/main/java/com/github/premnirmal/ticker/components/AppModule.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/components/AppModule.kt rename to app/src/main/java/com/github/premnirmal/ticker/components/AppModule.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/components/ViewModelModule.kt b/app/src/main/java/com/github/premnirmal/ticker/components/ViewModelModule.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/components/ViewModelModule.kt rename to app/src/main/java/com/github/premnirmal/ticker/components/ViewModelModule.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/debug/DbViewerActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/debug/DbViewerActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/debug/DbViewerActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/debug/DbViewerActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/debug/DbViewerViewModel.kt b/app/src/main/java/com/github/premnirmal/ticker/debug/DbViewerViewModel.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/debug/DbViewerViewModel.kt rename to app/src/main/java/com/github/premnirmal/ticker/debug/DbViewerViewModel.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/detail/QuoteDetailScreenHost.kt b/app/src/main/java/com/github/premnirmal/ticker/detail/QuoteDetailScreenHost.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/detail/QuoteDetailScreenHost.kt rename to app/src/main/java/com/github/premnirmal/ticker/detail/QuoteDetailScreenHost.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/detail/QuoteDetails.kt b/app/src/main/java/com/github/premnirmal/ticker/detail/QuoteDetails.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/detail/QuoteDetails.kt rename to app/src/main/java/com/github/premnirmal/ticker/detail/QuoteDetails.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/home/HomeActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/home/HomeActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/home/HomeActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/home/HomeActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/home/HomeEvent.kt b/app/src/main/java/com/github/premnirmal/ticker/home/HomeEvent.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/home/HomeEvent.kt rename to app/src/main/java/com/github/premnirmal/ticker/home/HomeEvent.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/home/HomeListDetail.kt b/app/src/main/java/com/github/premnirmal/ticker/home/HomeListDetail.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/home/HomeListDetail.kt rename to app/src/main/java/com/github/premnirmal/ticker/home/HomeListDetail.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/home/HomeViewModel.kt b/app/src/main/java/com/github/premnirmal/ticker/home/HomeViewModel.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/home/HomeViewModel.kt rename to app/src/main/java/com/github/premnirmal/ticker/home/HomeViewModel.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/home/IAppReviewManager.kt b/app/src/main/java/com/github/premnirmal/ticker/home/IAppReviewManager.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/home/IAppReviewManager.kt rename to app/src/main/java/com/github/premnirmal/ticker/home/IAppReviewManager.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/home/WatchlistContentHost.kt b/app/src/main/java/com/github/premnirmal/ticker/home/WatchlistContentHost.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/home/WatchlistContentHost.kt rename to app/src/main/java/com/github/premnirmal/ticker/home/WatchlistContentHost.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/home/WatchlistScreen.kt b/app/src/main/java/com/github/premnirmal/ticker/home/WatchlistScreen.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/home/WatchlistScreen.kt rename to app/src/main/java/com/github/premnirmal/ticker/home/WatchlistScreen.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/model/AlarmScheduler.kt b/app/src/main/java/com/github/premnirmal/ticker/model/AlarmScheduler.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/model/AlarmScheduler.kt rename to app/src/main/java/com/github/premnirmal/ticker/model/AlarmScheduler.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/model/RefreshWorker.kt b/app/src/main/java/com/github/premnirmal/ticker/model/RefreshWorker.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/model/RefreshWorker.kt rename to app/src/main/java/com/github/premnirmal/ticker/model/RefreshWorker.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/model/StocksProvider.kt b/app/src/main/java/com/github/premnirmal/ticker/model/StocksProvider.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/model/StocksProvider.kt rename to app/src/main/java/com/github/premnirmal/ticker/model/StocksProvider.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/navigation/HomeNavigation.kt b/app/src/main/java/com/github/premnirmal/ticker/navigation/HomeNavigation.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/navigation/HomeNavigation.kt rename to app/src/main/java/com/github/premnirmal/ticker/navigation/HomeNavigation.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/navigation/NavigationHelpers.kt b/app/src/main/java/com/github/premnirmal/ticker/navigation/NavigationHelpers.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/navigation/NavigationHelpers.kt rename to app/src/main/java/com/github/premnirmal/ticker/navigation/NavigationHelpers.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/navigation/RootGraph.kt b/app/src/main/java/com/github/premnirmal/ticker/navigation/RootGraph.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/navigation/RootGraph.kt rename to app/src/main/java/com/github/premnirmal/ticker/navigation/RootGraph.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/network/CrumbInterceptor.kt b/app/src/main/java/com/github/premnirmal/ticker/network/CrumbInterceptor.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/network/CrumbInterceptor.kt rename to app/src/main/java/com/github/premnirmal/ticker/network/CrumbInterceptor.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/network/NetworkModule.kt b/app/src/main/java/com/github/premnirmal/ticker/network/NetworkModule.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/network/NetworkModule.kt rename to app/src/main/java/com/github/premnirmal/ticker/network/NetworkModule.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/network/YahooFinanceCookies.kt b/app/src/main/java/com/github/premnirmal/ticker/network/YahooFinanceCookies.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/network/YahooFinanceCookies.kt rename to app/src/main/java/com/github/premnirmal/ticker/network/YahooFinanceCookies.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/news/NewsCardHost.kt b/app/src/main/java/com/github/premnirmal/ticker/news/NewsCardHost.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/news/NewsCardHost.kt rename to app/src/main/java/com/github/premnirmal/ticker/news/NewsCardHost.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/news/NewsFeedScreenHost.kt b/app/src/main/java/com/github/premnirmal/ticker/news/NewsFeedScreenHost.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/news/NewsFeedScreenHost.kt rename to app/src/main/java/com/github/premnirmal/ticker/news/NewsFeedScreenHost.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/news/QuoteDetailActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/news/QuoteDetailActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/news/QuoteDetailActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/news/QuoteDetailActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/notifications/DailySummaryNotificationReceiver.kt b/app/src/main/java/com/github/premnirmal/ticker/notifications/DailySummaryNotificationReceiver.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/notifications/DailySummaryNotificationReceiver.kt rename to app/src/main/java/com/github/premnirmal/ticker/notifications/DailySummaryNotificationReceiver.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/notifications/NotificationsHandler.kt b/app/src/main/java/com/github/premnirmal/ticker/notifications/NotificationsHandler.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/notifications/NotificationsHandler.kt rename to app/src/main/java/com/github/premnirmal/ticker/notifications/NotificationsHandler.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/AlertsActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/AlertsActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/AlertsActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/AlertsActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/CleanupWorker.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/CleanupWorker.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/CleanupWorker.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/CleanupWorker.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/DisplaynameActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/DisplaynameActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/DisplaynameActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/DisplaynameActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/HoldingsActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/HoldingsActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/HoldingsActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/HoldingsActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/NotesActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/NotesActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/NotesActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/NotesActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/AddSymbolDialogHost.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/search/AddSymbolDialogHost.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/AddSymbolDialogHost.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/search/AddSymbolDialogHost.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchScreenHost.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchScreenHost.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchScreenHost.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchScreenHost.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchViewModel.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchViewModel.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchViewModel.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/search/SearchViewModel.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/SuggestionViewModel.kt b/app/src/main/java/com/github/premnirmal/ticker/portfolio/search/SuggestionViewModel.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/portfolio/search/SuggestionViewModel.kt rename to app/src/main/java/com/github/premnirmal/ticker/portfolio/search/SuggestionViewModel.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/repo/SharedPreferencesTickersStore.kt b/app/src/main/java/com/github/premnirmal/ticker/repo/SharedPreferencesTickersStore.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/repo/SharedPreferencesTickersStore.kt rename to app/src/main/java/com/github/premnirmal/ticker/repo/SharedPreferencesTickersStore.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/settings/ExportTasks.kt b/app/src/main/java/com/github/premnirmal/ticker/settings/ExportTasks.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/settings/ExportTasks.kt rename to app/src/main/java/com/github/premnirmal/ticker/settings/ExportTasks.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/settings/ImportTasks.kt b/app/src/main/java/com/github/premnirmal/ticker/settings/ImportTasks.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/settings/ImportTasks.kt rename to app/src/main/java/com/github/premnirmal/ticker/settings/ImportTasks.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/settings/SettingsScreenHost.kt b/app/src/main/java/com/github/premnirmal/ticker/settings/SettingsScreenHost.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/settings/SettingsScreenHost.kt rename to app/src/main/java/com/github/premnirmal/ticker/settings/SettingsScreenHost.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/settings/SettingsViewModel.kt b/app/src/main/java/com/github/premnirmal/ticker/settings/SettingsViewModel.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/settings/SettingsViewModel.kt rename to app/src/main/java/com/github/premnirmal/ticker/settings/SettingsViewModel.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/settings/WebViewActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/settings/WebViewActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/settings/WebViewActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/settings/WebViewActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/settings/WidgetSettingsActivity.kt b/app/src/main/java/com/github/premnirmal/ticker/settings/WidgetSettingsActivity.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/settings/WidgetSettingsActivity.kt rename to app/src/main/java/com/github/premnirmal/ticker/settings/WidgetSettingsActivity.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/ui/AppMessaging.kt b/app/src/main/java/com/github/premnirmal/ticker/ui/AppMessaging.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/ui/AppMessaging.kt rename to app/src/main/java/com/github/premnirmal/ticker/ui/AppMessaging.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/ui/AxisFormatters.kt b/app/src/main/java/com/github/premnirmal/ticker/ui/AxisFormatters.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/ui/AxisFormatters.kt rename to app/src/main/java/com/github/premnirmal/ticker/ui/AxisFormatters.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/ui/FadingEdge.kt b/app/src/main/java/com/github/premnirmal/ticker/ui/FadingEdge.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/ui/FadingEdge.kt rename to app/src/main/java/com/github/premnirmal/ticker/ui/FadingEdge.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/ui/ThemeViewModel.kt b/app/src/main/java/com/github/premnirmal/ticker/ui/ThemeViewModel.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/ui/ThemeViewModel.kt rename to app/src/main/java/com/github/premnirmal/ticker/ui/ThemeViewModel.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/ui/WindowStateUtils.kt b/app/src/main/java/com/github/premnirmal/ticker/ui/WindowStateUtils.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/ui/WindowStateUtils.kt rename to app/src/main/java/com/github/premnirmal/ticker/ui/WindowStateUtils.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/GlanceStocksWidget.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/GlanceStocksWidget.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/GlanceStocksWidget.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/GlanceStocksWidget.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/IWidgetData.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/IWidgetData.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/IWidgetData.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/IWidgetData.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/RefreshReceiver.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/RefreshReceiver.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/RefreshReceiver.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/RefreshReceiver.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/StockWidget.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/StockWidget.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/StockWidget.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/StockWidget.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetColors.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/WidgetColors.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetColors.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/WidgetColors.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetData.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/WidgetData.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetData.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/WidgetData.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetDataProvider.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/WidgetDataProvider.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetDataProvider.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/WidgetDataProvider.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetGlanceState.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/WidgetGlanceState.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetGlanceState.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/WidgetGlanceState.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetPreview.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/WidgetPreview.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetPreview.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/WidgetPreview.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetsScreenHost.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/WidgetsScreenHost.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetsScreenHost.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/WidgetsScreenHost.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetsViewModel.kt b/app/src/main/java/com/github/premnirmal/ticker/widget/WidgetsViewModel.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/ticker/widget/WidgetsViewModel.kt rename to app/src/main/java/com/github/premnirmal/ticker/widget/WidgetsViewModel.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/tickerwidget/ui/theme/AppTheme.kt b/app/src/main/java/com/github/premnirmal/tickerwidget/ui/theme/AppTheme.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/tickerwidget/ui/theme/AppTheme.kt rename to app/src/main/java/com/github/premnirmal/tickerwidget/ui/theme/AppTheme.kt diff --git a/androidApp/src/main/java/com/github/premnirmal/tickerwidget/ui/theme/Colours.kt b/app/src/main/java/com/github/premnirmal/tickerwidget/ui/theme/Colours.kt similarity index 100% rename from androidApp/src/main/java/com/github/premnirmal/tickerwidget/ui/theme/Colours.kt rename to app/src/main/java/com/github/premnirmal/tickerwidget/ui/theme/Colours.kt diff --git a/androidApp/src/main/res/drawable-night-nodpi/splash_bg_tile.png b/app/src/main/res/drawable-night-nodpi/splash_bg_tile.png similarity index 100% rename from androidApp/src/main/res/drawable-night-nodpi/splash_bg_tile.png rename to app/src/main/res/drawable-night-nodpi/splash_bg_tile.png diff --git a/androidApp/src/main/res/drawable-night/app_widget_background.xml b/app/src/main/res/drawable-night/app_widget_background.xml similarity index 100% rename from androidApp/src/main/res/drawable-night/app_widget_background.xml rename to app/src/main/res/drawable-night/app_widget_background.xml diff --git a/androidApp/src/main/res/drawable-night/bg_header_light.xml b/app/src/main/res/drawable-night/bg_header_light.xml similarity index 100% rename from androidApp/src/main/res/drawable-night/bg_header_light.xml rename to app/src/main/res/drawable-night/bg_header_light.xml diff --git a/androidApp/src/main/res/drawable-night/translucent_widget_bg.xml b/app/src/main/res/drawable-night/translucent_widget_bg.xml similarity index 100% rename from androidApp/src/main/res/drawable-night/translucent_widget_bg.xml rename to app/src/main/res/drawable-night/translucent_widget_bg.xml diff --git a/androidApp/src/main/res/drawable-nodpi/ic_splash.png b/app/src/main/res/drawable-nodpi/ic_splash.png similarity index 100% rename from androidApp/src/main/res/drawable-nodpi/ic_splash.png rename to app/src/main/res/drawable-nodpi/ic_splash.png diff --git a/androidApp/src/main/res/drawable-nodpi/splash_bg_tile.png b/app/src/main/res/drawable-nodpi/splash_bg_tile.png similarity index 100% rename from androidApp/src/main/res/drawable-nodpi/splash_bg_tile.png rename to app/src/main/res/drawable-nodpi/splash_bg_tile.png diff --git a/androidApp/src/main/res/drawable/app_widget_background.xml b/app/src/main/res/drawable/app_widget_background.xml similarity index 100% rename from androidApp/src/main/res/drawable/app_widget_background.xml rename to app/src/main/res/drawable/app_widget_background.xml diff --git a/androidApp/src/main/res/drawable/app_widget_background_dark.xml b/app/src/main/res/drawable/app_widget_background_dark.xml similarity index 100% rename from androidApp/src/main/res/drawable/app_widget_background_dark.xml rename to app/src/main/res/drawable/app_widget_background_dark.xml diff --git a/androidApp/src/main/res/drawable/bg_header_dark.xml b/app/src/main/res/drawable/bg_header_dark.xml similarity index 100% rename from androidApp/src/main/res/drawable/bg_header_dark.xml rename to app/src/main/res/drawable/bg_header_dark.xml diff --git a/androidApp/src/main/res/drawable/bg_header_light.xml b/app/src/main/res/drawable/bg_header_light.xml similarity index 100% rename from androidApp/src/main/res/drawable/bg_header_light.xml rename to app/src/main/res/drawable/bg_header_light.xml diff --git a/androidApp/src/main/res/drawable/bg_splash.xml b/app/src/main/res/drawable/bg_splash.xml similarity index 100% rename from androidApp/src/main/res/drawable/bg_splash.xml rename to app/src/main/res/drawable/bg_splash.xml diff --git a/androidApp/src/main/res/drawable/ic_add.xml b/app/src/main/res/drawable/ic_add.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_add.xml rename to app/src/main/res/drawable/ic_add.xml diff --git a/androidApp/src/main/res/drawable/ic_add_circle.xml b/app/src/main/res/drawable/ic_add_circle.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_add_circle.xml rename to app/src/main/res/drawable/ic_add_circle.xml diff --git a/androidApp/src/main/res/drawable/ic_add_to_list.xml b/app/src/main/res/drawable/ic_add_to_list.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_add_to_list.xml rename to app/src/main/res/drawable/ic_add_to_list.xml diff --git a/androidApp/src/main/res/drawable/ic_arrow_back.xml b/app/src/main/res/drawable/ic_arrow_back.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_arrow_back.xml rename to app/src/main/res/drawable/ic_arrow_back.xml diff --git a/androidApp/src/main/res/drawable/ic_arrow_down.xml b/app/src/main/res/drawable/ic_arrow_down.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_arrow_down.xml rename to app/src/main/res/drawable/ic_arrow_down.xml diff --git a/androidApp/src/main/res/drawable/ic_back.xml b/app/src/main/res/drawable/ic_back.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_back.xml rename to app/src/main/res/drawable/ic_back.xml diff --git a/androidApp/src/main/res/drawable/ic_close.xml b/app/src/main/res/drawable/ic_close.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_close.xml rename to app/src/main/res/drawable/ic_close.xml diff --git a/androidApp/src/main/res/drawable/ic_design.xml b/app/src/main/res/drawable/ic_design.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_design.xml rename to app/src/main/res/drawable/ic_design.xml diff --git a/androidApp/src/main/res/drawable/ic_done.xml b/app/src/main/res/drawable/ic_done.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_done.xml rename to app/src/main/res/drawable/ic_done.xml diff --git a/androidApp/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_edit.xml rename to app/src/main/res/drawable/ic_edit.xml diff --git a/androidApp/src/main/res/drawable/ic_enlarge.xml b/app/src/main/res/drawable/ic_enlarge.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_enlarge.xml rename to app/src/main/res/drawable/ic_enlarge.xml diff --git a/androidApp/src/main/res/drawable/ic_home.xml b/app/src/main/res/drawable/ic_home.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_home.xml rename to app/src/main/res/drawable/ic_home.xml diff --git a/androidApp/src/main/res/drawable/ic_launcher_monochrome.xml b/app/src/main/res/drawable/ic_launcher_monochrome.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_launcher_monochrome.xml rename to app/src/main/res/drawable/ic_launcher_monochrome.xml diff --git a/androidApp/src/main/res/drawable/ic_money.xml b/app/src/main/res/drawable/ic_money.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_money.xml rename to app/src/main/res/drawable/ic_money.xml diff --git a/androidApp/src/main/res/drawable/ic_more.xml b/app/src/main/res/drawable/ic_more.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_more.xml rename to app/src/main/res/drawable/ic_more.xml diff --git a/androidApp/src/main/res/drawable/ic_news.xml b/app/src/main/res/drawable/ic_news.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_news.xml rename to app/src/main/res/drawable/ic_news.xml diff --git a/androidApp/src/main/res/drawable/ic_refresh.xml b/app/src/main/res/drawable/ic_refresh.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_refresh.xml rename to app/src/main/res/drawable/ic_refresh.xml diff --git a/androidApp/src/main/res/drawable/ic_remove.xml b/app/src/main/res/drawable/ic_remove.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_remove.xml rename to app/src/main/res/drawable/ic_remove.xml diff --git a/androidApp/src/main/res/drawable/ic_remove_circle.xml b/app/src/main/res/drawable/ic_remove_circle.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_remove_circle.xml rename to app/src/main/res/drawable/ic_remove_circle.xml diff --git a/androidApp/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_search.xml rename to app/src/main/res/drawable/ic_search.xml diff --git a/androidApp/src/main/res/drawable/ic_settings.xml b/app/src/main/res/drawable/ic_settings.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_settings.xml rename to app/src/main/res/drawable/ic_settings.xml diff --git a/androidApp/src/main/res/drawable/ic_timeline.xml b/app/src/main/res/drawable/ic_timeline.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_timeline.xml rename to app/src/main/res/drawable/ic_timeline.xml diff --git a/androidApp/src/main/res/drawable/ic_trending_down.xml b/app/src/main/res/drawable/ic_trending_down.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_trending_down.xml rename to app/src/main/res/drawable/ic_trending_down.xml diff --git a/androidApp/src/main/res/drawable/ic_trending_up.xml b/app/src/main/res/drawable/ic_trending_up.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_trending_up.xml rename to app/src/main/res/drawable/ic_trending_up.xml diff --git a/androidApp/src/main/res/drawable/ic_widget.xml b/app/src/main/res/drawable/ic_widget.xml similarity index 100% rename from androidApp/src/main/res/drawable/ic_widget.xml rename to app/src/main/res/drawable/ic_widget.xml diff --git a/androidApp/src/main/res/drawable/translucent_widget_bg.xml b/app/src/main/res/drawable/translucent_widget_bg.xml similarity index 100% rename from androidApp/src/main/res/drawable/translucent_widget_bg.xml rename to app/src/main/res/drawable/translucent_widget_bg.xml diff --git a/androidApp/src/main/res/drawable/translucent_widget_bg_dark.xml b/app/src/main/res/drawable/translucent_widget_bg_dark.xml similarity index 100% rename from androidApp/src/main/res/drawable/translucent_widget_bg_dark.xml rename to app/src/main/res/drawable/translucent_widget_bg_dark.xml diff --git a/androidApp/src/main/res/drawable/transparent_widget_bg.xml b/app/src/main/res/drawable/transparent_widget_bg.xml similarity index 100% rename from androidApp/src/main/res/drawable/transparent_widget_bg.xml rename to app/src/main/res/drawable/transparent_widget_bg.xml diff --git a/androidApp/src/main/res/drawable/widget_preview.png b/app/src/main/res/drawable/widget_preview.png similarity index 100% rename from androidApp/src/main/res/drawable/widget_preview.png rename to app/src/main/res/drawable/widget_preview.png diff --git a/androidApp/src/main/res/font/alegreya_black_italic.ttf b/app/src/main/res/font/alegreya_black_italic.ttf similarity index 100% rename from androidApp/src/main/res/font/alegreya_black_italic.ttf rename to app/src/main/res/font/alegreya_black_italic.ttf diff --git a/androidApp/src/main/res/font/raleway_light.ttf b/app/src/main/res/font/raleway_light.ttf similarity index 100% rename from androidApp/src/main/res/font/raleway_light.ttf rename to app/src/main/res/font/raleway_light.ttf diff --git a/androidApp/src/main/res/font/ubuntu_bold.ttf b/app/src/main/res/font/ubuntu_bold.ttf similarity index 100% rename from androidApp/src/main/res/font/ubuntu_bold.ttf rename to app/src/main/res/font/ubuntu_bold.ttf diff --git a/androidApp/src/main/res/font/ubuntu_italic.ttf b/app/src/main/res/font/ubuntu_italic.ttf similarity index 100% rename from androidApp/src/main/res/font/ubuntu_italic.ttf rename to app/src/main/res/font/ubuntu_italic.ttf diff --git a/androidApp/src/main/res/font/ubuntu_light.ttf b/app/src/main/res/font/ubuntu_light.ttf similarity index 100% rename from androidApp/src/main/res/font/ubuntu_light.ttf rename to app/src/main/res/font/ubuntu_light.ttf diff --git a/androidApp/src/main/res/font/ubuntu_medium.ttf b/app/src/main/res/font/ubuntu_medium.ttf similarity index 100% rename from androidApp/src/main/res/font/ubuntu_medium.ttf rename to app/src/main/res/font/ubuntu_medium.ttf diff --git a/androidApp/src/main/res/font/ubuntu_regular.ttf b/app/src/main/res/font/ubuntu_regular.ttf similarity index 100% rename from androidApp/src/main/res/font/ubuntu_regular.ttf rename to app/src/main/res/font/ubuntu_regular.ttf diff --git a/androidApp/src/main/res/layout/glance_preview_layout.xml b/app/src/main/res/layout/glance_preview_layout.xml similarity index 100% rename from androidApp/src/main/res/layout/glance_preview_layout.xml rename to app/src/main/res/layout/glance_preview_layout.xml diff --git a/androidApp/src/main/res/layout/stockview_flipper.xml b/app/src/main/res/layout/stockview_flipper.xml similarity index 100% rename from androidApp/src/main/res/layout/stockview_flipper.xml rename to app/src/main/res/layout/stockview_flipper.xml diff --git a/androidApp/src/main/res/layout/widget_loading_layout.xml b/app/src/main/res/layout/widget_loading_layout.xml similarity index 100% rename from androidApp/src/main/res/layout/widget_loading_layout.xml rename to app/src/main/res/layout/widget_loading_layout.xml diff --git a/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml similarity index 100% rename from androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml rename to app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png similarity index 100% rename from androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.png rename to app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.png rename to app/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_splash.png b/app/src/main/res/mipmap-hdpi/ic_splash.png similarity index 100% rename from androidApp/src/main/res/mipmap-hdpi/ic_splash.png rename to app/src/main/res/mipmap-hdpi/ic_splash.png diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png similarity index 100% rename from androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.png rename to app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.png rename to app/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_splash.png b/app/src/main/res/mipmap-mdpi/ic_splash.png similarity index 100% rename from androidApp/src/main/res/mipmap-mdpi/ic_splash.png rename to app/src/main/res/mipmap-mdpi/ic_splash.png diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png similarity index 100% rename from androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png rename to app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png rename to app/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_splash.png b/app/src/main/res/mipmap-xhdpi/ic_splash.png similarity index 100% rename from androidApp/src/main/res/mipmap-xhdpi/ic_splash.png rename to app/src/main/res/mipmap-xhdpi/ic_splash.png diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png similarity index 100% rename from androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png rename to app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png rename to app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_splash.png b/app/src/main/res/mipmap-xxhdpi/ic_splash.png similarity index 100% rename from androidApp/src/main/res/mipmap-xxhdpi/ic_splash.png rename to app/src/main/res/mipmap-xxhdpi/ic_splash.png diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png similarity index 100% rename from androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png rename to app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png rename to app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_splash.png b/app/src/main/res/mipmap-xxxhdpi/ic_splash.png similarity index 100% rename from androidApp/src/main/res/mipmap-xxxhdpi/ic_splash.png rename to app/src/main/res/mipmap-xxxhdpi/ic_splash.png diff --git a/androidApp/src/main/res/values-de/settings.xml b/app/src/main/res/values-de/settings.xml similarity index 100% rename from androidApp/src/main/res/values-de/settings.xml rename to app/src/main/res/values-de/settings.xml diff --git a/androidApp/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml similarity index 100% rename from androidApp/src/main/res/values-de/strings.xml rename to app/src/main/res/values-de/strings.xml diff --git a/androidApp/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml similarity index 100% rename from androidApp/src/main/res/values-en-rGB/strings.xml rename to app/src/main/res/values-en-rGB/strings.xml diff --git a/androidApp/src/main/res/values-es/settings.xml b/app/src/main/res/values-es/settings.xml similarity index 100% rename from androidApp/src/main/res/values-es/settings.xml rename to app/src/main/res/values-es/settings.xml diff --git a/androidApp/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml similarity index 100% rename from androidApp/src/main/res/values-es/strings.xml rename to app/src/main/res/values-es/strings.xml diff --git a/androidApp/src/main/res/values-fr/settings.xml b/app/src/main/res/values-fr/settings.xml similarity index 100% rename from androidApp/src/main/res/values-fr/settings.xml rename to app/src/main/res/values-fr/settings.xml diff --git a/androidApp/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml similarity index 100% rename from androidApp/src/main/res/values-fr/strings.xml rename to app/src/main/res/values-fr/strings.xml diff --git a/androidApp/src/main/res/values-it/settings.xml b/app/src/main/res/values-it/settings.xml similarity index 100% rename from androidApp/src/main/res/values-it/settings.xml rename to app/src/main/res/values-it/settings.xml diff --git a/androidApp/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml similarity index 100% rename from androidApp/src/main/res/values-it/strings.xml rename to app/src/main/res/values-it/strings.xml diff --git a/androidApp/src/main/res/values-ja/settings.xml b/app/src/main/res/values-ja/settings.xml similarity index 100% rename from androidApp/src/main/res/values-ja/settings.xml rename to app/src/main/res/values-ja/settings.xml diff --git a/androidApp/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml similarity index 100% rename from androidApp/src/main/res/values-ja/strings.xml rename to app/src/main/res/values-ja/strings.xml diff --git a/androidApp/src/main/res/values-night-v31/color_palette.xml b/app/src/main/res/values-night-v31/color_palette.xml similarity index 100% rename from androidApp/src/main/res/values-night-v31/color_palette.xml rename to app/src/main/res/values-night-v31/color_palette.xml diff --git a/androidApp/src/main/res/values-night/base_themes.xml b/app/src/main/res/values-night/base_themes.xml similarity index 100% rename from androidApp/src/main/res/values-night/base_themes.xml rename to app/src/main/res/values-night/base_themes.xml diff --git a/androidApp/src/main/res/values-night/color_palette.xml b/app/src/main/res/values-night/color_palette.xml similarity index 100% rename from androidApp/src/main/res/values-night/color_palette.xml rename to app/src/main/res/values-night/color_palette.xml diff --git a/androidApp/src/main/res/values-night/widget_colors.xml b/app/src/main/res/values-night/widget_colors.xml similarity index 100% rename from androidApp/src/main/res/values-night/widget_colors.xml rename to app/src/main/res/values-night/widget_colors.xml diff --git a/androidApp/src/main/res/values-pt-rBR/settings.xml b/app/src/main/res/values-pt-rBR/settings.xml similarity index 100% rename from androidApp/src/main/res/values-pt-rBR/settings.xml rename to app/src/main/res/values-pt-rBR/settings.xml diff --git a/androidApp/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml similarity index 100% rename from androidApp/src/main/res/values-pt-rBR/strings.xml rename to app/src/main/res/values-pt-rBR/strings.xml diff --git a/androidApp/src/main/res/values-ru/settings.xml b/app/src/main/res/values-ru/settings.xml similarity index 100% rename from androidApp/src/main/res/values-ru/settings.xml rename to app/src/main/res/values-ru/settings.xml diff --git a/androidApp/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml similarity index 100% rename from androidApp/src/main/res/values-ru/strings.xml rename to app/src/main/res/values-ru/strings.xml diff --git a/androidApp/src/main/res/values-v26/themes.xml b/app/src/main/res/values-v26/themes.xml similarity index 100% rename from androidApp/src/main/res/values-v26/themes.xml rename to app/src/main/res/values-v26/themes.xml diff --git a/androidApp/src/main/res/values-v27/themes.xml b/app/src/main/res/values-v27/themes.xml similarity index 100% rename from androidApp/src/main/res/values-v27/themes.xml rename to app/src/main/res/values-v27/themes.xml diff --git a/androidApp/src/main/res/values-v31/color_palette.xml b/app/src/main/res/values-v31/color_palette.xml similarity index 100% rename from androidApp/src/main/res/values-v31/color_palette.xml rename to app/src/main/res/values-v31/color_palette.xml diff --git a/androidApp/src/main/res/values-v31/themes.xml b/app/src/main/res/values-v31/themes.xml similarity index 100% rename from androidApp/src/main/res/values-v31/themes.xml rename to app/src/main/res/values-v31/themes.xml diff --git a/androidApp/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml similarity index 100% rename from androidApp/src/main/res/values/attrs.xml rename to app/src/main/res/values/attrs.xml diff --git a/androidApp/src/main/res/values/base_themes.xml b/app/src/main/res/values/base_themes.xml similarity index 100% rename from androidApp/src/main/res/values/base_themes.xml rename to app/src/main/res/values/base_themes.xml diff --git a/androidApp/src/main/res/values/color_palette.xml b/app/src/main/res/values/color_palette.xml similarity index 100% rename from androidApp/src/main/res/values/color_palette.xml rename to app/src/main/res/values/color_palette.xml diff --git a/androidApp/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml similarity index 100% rename from androidApp/src/main/res/values/dimens.xml rename to app/src/main/res/values/dimens.xml diff --git a/androidApp/src/main/res/values/settings.xml b/app/src/main/res/values/settings.xml similarity index 100% rename from androidApp/src/main/res/values/settings.xml rename to app/src/main/res/values/settings.xml diff --git a/androidApp/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml similarity index 100% rename from androidApp/src/main/res/values/strings.xml rename to app/src/main/res/values/strings.xml diff --git a/androidApp/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml similarity index 100% rename from androidApp/src/main/res/values/styles.xml rename to app/src/main/res/values/styles.xml diff --git a/androidApp/src/main/res/values/theme_colors.xml b/app/src/main/res/values/theme_colors.xml similarity index 100% rename from androidApp/src/main/res/values/theme_colors.xml rename to app/src/main/res/values/theme_colors.xml diff --git a/androidApp/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml similarity index 100% rename from androidApp/src/main/res/values/themes.xml rename to app/src/main/res/values/themes.xml diff --git a/androidApp/src/main/res/values/typography.xml b/app/src/main/res/values/typography.xml similarity index 100% rename from androidApp/src/main/res/values/typography.xml rename to app/src/main/res/values/typography.xml diff --git a/androidApp/src/main/res/values/widget_colors.xml b/app/src/main/res/values/widget_colors.xml similarity index 100% rename from androidApp/src/main/res/values/widget_colors.xml rename to app/src/main/res/values/widget_colors.xml diff --git a/androidApp/src/main/res/xml/provider_paths.xml b/app/src/main/res/xml/provider_paths.xml similarity index 100% rename from androidApp/src/main/res/xml/provider_paths.xml rename to app/src/main/res/xml/provider_paths.xml diff --git a/androidApp/src/main/res/xml/widget.xml b/app/src/main/res/xml/widget.xml similarity index 100% rename from androidApp/src/main/res/xml/widget.xml rename to app/src/main/res/xml/widget.xml diff --git a/androidApp/src/prod/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt b/app/src/prod/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt similarity index 100% rename from androidApp/src/prod/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt rename to app/src/prod/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt diff --git a/androidApp/src/prod/java/com/github/premnirmal/ticker/components/LoggingTree.kt b/app/src/prod/java/com/github/premnirmal/ticker/components/LoggingTree.kt similarity index 100% rename from androidApp/src/prod/java/com/github/premnirmal/ticker/components/LoggingTree.kt rename to app/src/prod/java/com/github/premnirmal/ticker/components/LoggingTree.kt diff --git a/androidApp/src/prod/java/com/github/premnirmal/ticker/home/AppReviewManager.kt b/app/src/prod/java/com/github/premnirmal/ticker/home/AppReviewManager.kt similarity index 100% rename from androidApp/src/prod/java/com/github/premnirmal/ticker/home/AppReviewManager.kt rename to app/src/prod/java/com/github/premnirmal/ticker/home/AppReviewManager.kt diff --git a/androidApp/src/prod/res/values/app_name.xml b/app/src/prod/res/values/app_name.xml similarity index 100% rename from androidApp/src/prod/res/values/app_name.xml rename to app/src/prod/res/values/app_name.xml diff --git a/androidApp/src/purefoss/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt b/app/src/purefoss/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt similarity index 100% rename from androidApp/src/purefoss/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt rename to app/src/purefoss/java/com/github/premnirmal/ticker/analytics/AnalyticsImpl.kt diff --git a/androidApp/src/purefoss/java/com/github/premnirmal/ticker/components/LoggingTree.kt b/app/src/purefoss/java/com/github/premnirmal/ticker/components/LoggingTree.kt similarity index 100% rename from androidApp/src/purefoss/java/com/github/premnirmal/ticker/components/LoggingTree.kt rename to app/src/purefoss/java/com/github/premnirmal/ticker/components/LoggingTree.kt diff --git a/androidApp/src/purefoss/java/com/github/premnirmal/ticker/home/AppReviewManager.kt b/app/src/purefoss/java/com/github/premnirmal/ticker/home/AppReviewManager.kt similarity index 100% rename from androidApp/src/purefoss/java/com/github/premnirmal/ticker/home/AppReviewManager.kt rename to app/src/purefoss/java/com/github/premnirmal/ticker/home/AppReviewManager.kt diff --git a/androidApp/src/purefoss/res/values/app_name.xml b/app/src/purefoss/res/values/app_name.xml similarity index 100% rename from androidApp/src/purefoss/res/values/app_name.xml rename to app/src/purefoss/res/values/app_name.xml diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/BaseUnitTest.kt b/app/src/test/java/com/github/premnirmal/ticker/BaseUnitTest.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/BaseUnitTest.kt rename to app/src/test/java/com/github/premnirmal/ticker/BaseUnitTest.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/FakePreferenceStore.kt b/app/src/test/java/com/github/premnirmal/ticker/FakePreferenceStore.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/FakePreferenceStore.kt rename to app/src/test/java/com/github/premnirmal/ticker/FakePreferenceStore.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/TestApplication.kt b/app/src/test/java/com/github/premnirmal/ticker/TestApplication.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/TestApplication.kt rename to app/src/test/java/com/github/premnirmal/ticker/TestApplication.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/components/KoinModulesTest.kt b/app/src/test/java/com/github/premnirmal/ticker/components/KoinModulesTest.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/components/KoinModulesTest.kt rename to app/src/test/java/com/github/premnirmal/ticker/components/KoinModulesTest.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/mock/Mocker.kt b/app/src/test/java/com/github/premnirmal/ticker/mock/Mocker.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/mock/Mocker.kt rename to app/src/test/java/com/github/premnirmal/ticker/mock/Mocker.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/model/AlarmSchedulerTest.kt b/app/src/test/java/com/github/premnirmal/ticker/model/AlarmSchedulerTest.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/model/AlarmSchedulerTest.kt rename to app/src/test/java/com/github/premnirmal/ticker/model/AlarmSchedulerTest.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/model/StocksProviderTest.kt b/app/src/test/java/com/github/premnirmal/ticker/model/StocksProviderTest.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/model/StocksProviderTest.kt rename to app/src/test/java/com/github/premnirmal/ticker/model/StocksProviderTest.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/network/StocksApiTest.kt b/app/src/test/java/com/github/premnirmal/ticker/network/StocksApiTest.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/network/StocksApiTest.kt rename to app/src/test/java/com/github/premnirmal/ticker/network/StocksApiTest.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/repo/StocksStorageTest.kt b/app/src/test/java/com/github/premnirmal/ticker/repo/StocksStorageTest.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/repo/StocksStorageTest.kt rename to app/src/test/java/com/github/premnirmal/ticker/repo/StocksStorageTest.kt diff --git a/androidApp/src/test/java/com/github/premnirmal/ticker/tools/Parser.kt b/app/src/test/java/com/github/premnirmal/ticker/tools/Parser.kt similarity index 100% rename from androidApp/src/test/java/com/github/premnirmal/ticker/tools/Parser.kt rename to app/src/test/java/com/github/premnirmal/ticker/tools/Parser.kt diff --git a/androidApp/src/test/resources/YahooQuotes.json b/app/src/test/resources/YahooQuotes.json similarity index 100% rename from androidApp/src/test/resources/YahooQuotes.json rename to app/src/test/resources/YahooQuotes.json diff --git a/androidApp/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker similarity index 100% rename from androidApp/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker rename to app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker diff --git a/androidApp/src/test/resources/robolectric.properties b/app/src/test/resources/robolectric.properties similarity index 100% rename from androidApp/src/test/resources/robolectric.properties rename to app/src/test/resources/robolectric.properties diff --git a/androidApp/updateVersionPropertiesFile.gradle.kts b/app/updateVersionPropertiesFile.gradle.kts similarity index 100% rename from androidApp/updateVersionPropertiesFile.gradle.kts rename to app/updateVersionPropertiesFile.gradle.kts diff --git a/androidApp/version.properties b/app/version.properties similarity index 100% rename from androidApp/version.properties rename to app/version.properties diff --git a/iosApp/README.md b/iosApp/README.md index 7ad905ed..b6fc2733 100644 --- a/iosApp/README.md +++ b/iosApp/README.md @@ -94,7 +94,7 @@ On a Mac: `version.sh` exports `MARKETING_VERSION` (`CFBundleShortVersionString`) and `CURRENT_PROJECT_VERSION` (`CFBundleVersion`) from `git describe --tags`, mirroring how the Android app derives its `versionName` / `versionCode` in - `androidApp/build.gradle.kts` (falling back to `1.0` / `1` when no tag is + `app/build.gradle.kts` (falling back to `1.0` / `1` when no tag is reachable). `project.yml` references those env vars, so source it before generating — otherwise the bundle version is empty and an app-extension install fails. diff --git a/iosApp/project.yml b/iosApp/project.yml index 44c17392..25c2d092 100644 --- a/iosApp/project.yml +++ b/iosApp/project.yml @@ -28,7 +28,7 @@ settings: # here ensures symbolication works for Release/Archive (TestFlight/App Store) builds. DEBUG_INFORMATION_FORMAT: "dwarf-with-dsym" # App/extension version, derived from the latest git tag (mirroring the - # Android app — see androidApp/build.gradle.kts). These back + # Android app — see app/build.gradle.kts). These back # CFBundleShortVersionString ($(MARKETING_VERSION)) and CFBundleVersion # ($(CURRENT_PROJECT_VERSION)) in every target's Info.plist. They MUST be # non-empty: an app extension whose CFBundleVersion resolves to an empty diff --git a/iosApp/version.sh b/iosApp/version.sh index 0449401b..306e624d 100755 --- a/iosApp/version.sh +++ b/iosApp/version.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # # Derive the iOS app version from the latest git tag, mirroring the Android app -# (androidApp/build.gradle.kts derives versionName/versionCode from +# (app/build.gradle.kts derives versionName/versionCode from # `git describe --tags --abbrev=0`). # # Source this script before generating the Xcode project so XcodeGen can expand @@ -31,7 +31,7 @@ if [ -z "$_version_name" ]; then fi # Build number = major*100000000 + minor*100000 + patch, mirroring the Android -# versionCode in androidApp/build.gradle.kts. Missing components default to 0. +# versionCode in app/build.gradle.kts. Missing components default to 0. _version_major="$(printf '%s' "$_version_name" | cut -d. -f1)" _version_minor="$(printf '%s' "$_version_name" | cut -d. -f2)" _version_patch="$(printf '%s' "$_version_name" | cut -d. -f3)" diff --git a/settings.gradle.kts b/settings.gradle.kts index 4375de64..f5933155 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -6,5 +6,5 @@ pluginManagement { } } -include(":androidApp") +include(":app") include(":shared") diff --git a/shared/src/commonMain/kotlin/com/github/premnirmal/ticker/ui/AppMessage.kt b/shared/src/commonMain/kotlin/com/github/premnirmal/ticker/ui/AppMessage.kt index a9d9894a..cefb166a 100644 --- a/shared/src/commonMain/kotlin/com/github/premnirmal/ticker/ui/AppMessage.kt +++ b/shared/src/commonMain/kotlin/com/github/premnirmal/ticker/ui/AppMessage.kt @@ -2,7 +2,7 @@ package com.github.premnirmal.ticker.ui /** * Platform-neutral in-app message model shared by Android and iOS. The Android `AppMessaging` - * dispatcher (which needs a `Context` to resolve string resources) stays in `:androidApp` and emits + * dispatcher (which needs a `Context` to resolve string resources) stays in `:app` and emits * these messages; the shared bottom-sheet UI renders [BottomSheetMessage]. */ sealed class AppMessage( diff --git a/shared/src/iosMain/kotlin/com/github/premnirmal/ticker/notifications/LocalNotificationsHandler.kt b/shared/src/iosMain/kotlin/com/github/premnirmal/ticker/notifications/LocalNotificationsHandler.kt index 88c3e8c1..2e9d1f4d 100644 --- a/shared/src/iosMain/kotlin/com/github/premnirmal/ticker/notifications/LocalNotificationsHandler.kt +++ b/shared/src/iosMain/kotlin/com/github/premnirmal/ticker/notifications/LocalNotificationsHandler.kt @@ -29,7 +29,7 @@ import kotlin.math.absoluteValue /** * iOS implementation of local notifications — the counterpart of Android's - * `NotificationsHandler` (`androidApp/.../notifications/NotificationsHandler.kt`). + * `NotificationsHandler` (`app/.../notifications/NotificationsHandler.kt`). * * It mirrors the same two notification kinds Android delivers and that the "notification alerts" * settings toggle ([UserPreferences.notificationAlerts]) gates: