Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On-Going Development #1

Draft
wants to merge 15 commits into
base: main
Choose a base branch
from
Draft

On-Going Development #1

wants to merge 15 commits into from

Conversation

sobhanbera
Copy link
Member

Branch will be merged upon completion of the stable version of Sobyte.

🎨 style(ScreenNames.kt): update icons for Profile and MusicPlayer screens
🎨 style(SobyteEntryBottomBarNavigation.kt): reorder screens in bottom navigation bar
🎨 style(SobyteRootNavigation.kt): add userLoggedIn state to control what to show on the screen
🎨 style(LandingScreen.kt): replace navigateToScreen with login callback
🎨 style(EditProfileScreen.kt): add missing import for Text
The icons for the Home and MusicNote screens have been updated to use the Rounded variant instead of the Filled variant. The icons for the Profile and MusicPlayer screens have been updated to use the PlayArrow and Person2 icons respectively. The screens in the bottom navigation bar have been reordered to match the order in which they appear in the app. A userLoggedIn state has been added to control what to
Added the project logo to the readme file and updated the features section to include more details about the application. Also added a directory tree to give a better understanding of the project structure. Finally, added author and connect sections to provide more information about the project creator and ways to connect with them.
Add new logo images to the app. The new images are logo_small.png, logo_medium.png, and logo_large.png. Update the app theme to remove the translucent navigation bar. This improves the app's appearance and makes it more consistent. Also, add the INTERNET permission to the app manifest to allow network calls. Finally, update the dependencies in the app build.gradle file. The exo_player_version is updated to 2.18.6, and the lifecycle-runtime-compose dependency is added. The Palette library is also added to extract colors from images.
…kground color

feat(navigation): add scaleOnClick extension function to AddNewBottomBarItem
The BottomBar now has rounded corners, which improves its visual appearance. The background color of the BottomBar has been changed to MaterialTheme.colors.primary with an alpha of 1f. The AddNewBottomBarItem now has a scaleOnClick extension function, which scales the icon when it is clicked, providing visual feedback to the user.

feat(Constants.kt): add constants for app dimensions, resources, and image qualities
feat(Gutters.kt): add Gutters data class and LocalGutters compositionLocalOf
feat(Theme.kt): add CompositionLocalProvider for LocalGutters

This commit adds constants for app dimensions, resources, and image qualities in Constants.kt. It also adds a Gutters data class and LocalGutters compositionLocalOf in Gutters.kt. Lastly, it adds a CompositionLocalProvider for LocalGutters in Theme.kt. These changes improve the consistency and flexibility of the app's design.
feat(model): add ColorPalette interface and DefaultColorPalette
feat(model): update ScreenParams icons and add icon size
feat(navigation): add CorePlayerViewModel and CorePlayerViewModelState to SobyteEntryBottomBarNavigation
fix(navigation): pass CorePlayerViewModel and CorePlayerViewModelState to MusicPlayerScreen
The update to compose_activity_version is a routine update to the latest version. The addition of the ColorPalette interface and DefaultColorPalette provides a default color palette for the app. The update to ScreenParams icons and addition of icon size provides more flexibility in the app's UI. The addition of CorePlayerViewModel and CorePlayerViewModelState to SobyteEntryBottomBarNavigation and MusicPlayerScreen allows for the app to have a more robust music player.

feat(SobyteRootNavigation.kt): add CorePlayerViewModel and CorePlayerViewModelState to SobyteRootNavigation
feat(CorePlayerViewModel.kt): add CorePlayerViewModel and CorePlayerViewModelState
feat(strings.xml): add color values for primary, primary variant, secondary, secondary variant, and background
The changes add support for the CorePlayerViewModel and CorePlayerViewModelState to the SobyteRootNavigation. The CorePlayerViewModel is used to store the state of the core player, including data related to the currently playing song, such as image, URL, title, artist, and more. The SobyteRootNavigation now takes in the CorePlayerViewModel and CorePlayerViewModelState as parameters. The changes also add color values for primary, primary variant, secondary, secondary variant, and background to the strings.xml file.
This commit adds support for dynamic bottom bar item width based on the number of items in the bottom bar. This ensures that each item takes up an equal amount of space in the bottom bar. Additionally, the bottom bar item now uses a Box and Column layout instead of a Row layout. This allows for better centering of the icon and label. Finally, the label text style has been updated to use MaterialTheme.typography.h6 with a font size of 10sp.

feat(BottomBar.kt): add support for dynamic background color based on current song's artwork
feat(Constants.kt): add constants for bottom bar width and track artwork dimensions
The BottomBar component now supports dynamic background color based on the current song's artwork. The color is extracted from the artwork and used as the background color of the bottom bar. The Constants file now has constants for the actual width of the bottom bar and the dimensions of the track artwork. These constants are used in the BottomBar component to calculate the width and height of the artwork.

fix(utils/ScreenNavigation.kt): fix typo in status bar height resource identifier
feat(utils/ScreenNavigation.kt): add function to get screen dimensions in DP
The status bar height resource identifier was incorrectly named as "screen_bar_height" instead of "status_bar_height". This commit fixes the typo in the identifier. Additionally, a new function `getScreenDimensions()` is added to get the screen dimensions in DP. This function returns a Pair of Int values representing the screen width and height in DP.
…rScreen

The AppLogoHeader component is a new component that displays the app logo and a search icon. The MusicPlayerScreen is a new screen that displays the music player. It uses the AppLogoHeader component and a SobyteLinearGradient component to display a gradient background. The screen also uses a CorePlayerViewModel and CorePlayerViewModelState to manage the state of the music player. The screen is not fully implemented yet.
…d gutters data class

The commit adds a custom icon component that uses the Iconics library to render custom icons. It also adds a status bar spacer component that creates an empty container with a specified height to fill the space of the status bar. The commit also adds a data class for gutters that contains values for different sizes of gutters and the height of the status bar. Finally, the commit updates the getStatusBarHeight function to use the correct resource identifier for the status bar height.
refactor(AppLogoHeader.kt): remove unused imports and padding
feat(AddNewBottomBarItemExtension.kt): remove unused imports
refactor(Constants.kt): rename DEFAULT_LOGO_RESOURCE to DEFAULT_LOGO_RESOURCE_ID and add constants for external icon size and search icon resource ID
The AppLogoHeader component now has a search icon and the app logo as a small icon. Unused imports and padding have been removed. The AddNewBottomBarItemExtension component no longer has unused imports. The DEFAULT_LOGO_RESOURCE constant has been renamed to DEFAULT_LOGO_RESOURCE_ID and constants for external icon size and search icon resource ID have been added.

style(ModifierExtensions.kt): change default scaleOnClick value to 0.95f
refactor(ScreenNames.kt): remove unused import statement
feat(icon_search.png): add new icon for search functionality
The default value of the scaleOnClick parameter in the ModifierExtensions.kt file has been changed to 0.95f to improve the visual experience of the application. The unused import statement in the ScreenNames.kt file has been removed to improve code readability. A new icon for search functionality has been added to the project.
This commit adds an AsyncImage component to the MusicPlayerScreen, which displays the track artwork image. The image is loaded asynchronously and is displayed with a height of TRACK_ARTWORK_HEIGHT and a width of TRACK_ARTWORK_WIDTH. The StatusBarSpacer component is also added to the Column to ensure that the content is not obscured by the status bar.
@sobhanbera sobhanbera added this to the First stable release milestone Apr 30, 2023
@sobhanbera sobhanbera self-assigned this Apr 30, 2023
sobhanbera added 3 commits May 8, 2023 00:13
feat: add constants for track artwork padding and spacing
The deploymentTargetDropDown.xml file was removed, which is no longer needed. Constants for track artwork padding and spacing were added to improve the layout of the player. The MAX_DISPLAY_HEIGHT_OF_TRACK_ARTWORK_WRAPPER constant was also updated to include the vertical padding, track artwork height, and 2% of the screen's height available. The swatches property was commented out in the AppModels.kt file.
…reen

feat(navigation): use dark muted color with alpha 0 for music player interface
The restoreState property is set to true when navigating to a new screen, which ensures that the navigation state is restored when the user navigates back to the previous screen. The dark muted color with alpha 0 is now used for the music player interface, which improves the visibility of the bottom bar.
…Click modifier

feat(ModifierExtensions.kt): add delay parameter to scaleOnClick modifier
This commit adds a new composable `MusicTrackInfo` and a new modifier `scaleOnClick` to the project. The `MusicTrackInfo` composable is a placeholder that will be used to display information about the currently playing track. The `scaleOnClick` modifier is used to animate a button when it is clicked. The modifier now has a new optional parameter `delay` which specifies the delay before the button returns to its original state after being clicked.
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.

1 participant