Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
321 commits
Select commit Hold shift + click to select a range
e8b4c66
Refactor movie detail header layout and add new UI elements
itsahmedsalah Sep 8, 2025
4aae819
Refactor profile screen UI for improved layout and styling
MuhammedWael9991 Sep 8, 2025
c2bd23e
Update logout button text to 'Sign Out' for clarity
MuhammedWael9991 Sep 8, 2025
fede6c9
Update background colors in collection_item.xml for consistency
MuhammedWael9991 Sep 8, 2025
16c5014
Update string resources for consistency and clarity
MuhammedWael9991 Sep 8, 2025
3aa25cb
Add chip selector for background states in chip.xml
MuhammedWael9991 Sep 8, 2025
302c662
Update content descriptions for profile screen icons for clarity
MuhammedWael9991 Sep 8, 2025
95ed189
Update content descriptions for profile screen icons for clarity
MuhammedWael9991 Sep 8, 2025
2416337
Add placeholder image for collection items
MostafaMohamed2002 Sep 9, 2025
41b3042
Add style for small rounded image view
MostafaMohamed2002 Sep 9, 2025
5405cd9
Add collection_item_mid.xml for rounded bottom corners
MostafaMohamed2002 Sep 9, 2025
ee92f95
Add collection_item_mid.xml for rounded bottom corners
MostafaMohamed2002 Sep 9, 2025
bef26fa
Add layout for collection item
MostafaMohamed2002 Sep 9, 2025
3e3d041
Create PULL_REQUEST_TEMPLATE.md
MostafaMohamed2002 Sep 9, 2025
af99e81
Update collection_item_mid.xml to use brand_tertiary color
MostafaMohamed2002 Sep 9, 2025
88b3084
Refactor actor item layout and update adapters
baraa0abd Sep 9, 2025
35bc1a7
Merge remote-tracking branch 'origin/develop' into refactor/nav-bar
baraa0abd Sep 9, 2025
db25c89
Merge pull request #6 from Copenhagen-Squad/refactor/nav-bar
baraa0abd Sep 9, 2025
1feb9eb
Merge pull request #11 from Copenhagen-Squad/feature/cursor
baraa0abd Sep 9, 2025
5637c57
Merge pull request #16 from Copenhagen-Squad/feature/tabs
baraa0abd Sep 9, 2025
39425c0
Merge branch 'develop' into reafctor/txt
baraa0abd Sep 9, 2025
8201b58
Merge pull request #13 from Copenhagen-Squad/reafctor/txt
baraa0abd Sep 9, 2025
f0d73dc
Merge branch 'develop' into refactor/profile-screen-ui
baraa0abd Sep 9, 2025
230f2bc
Merge pull request #18 from Copenhagen-Squad/refactor/profile-screen-ui
baraa0abd Sep 9, 2025
641bd05
Refactor: Simplify custom bottom navigation logic
baraa0abd Sep 9, 2025
532bb3b
Merge pull request #19 from Copenhagen-Squad/component/collection_item
baraa0abd Sep 9, 2025
41083e0
Add logout icon
MostafaMohamed2002 Sep 9, 2025
68825c9
Add background drawable for logout message info box
MostafaMohamed2002 Sep 9, 2025
0abfb1d
Add new layout file `message_info_box.xml`
MostafaMohamed2002 Sep 9, 2025
034d675
Merge branch 'develop' into feature/collection_list
Asmaa7071 Sep 9, 2025
42b83e5
Merge pull request #15 from Copenhagen-Squad/feature/collection_list
Asmaa7071 Sep 9, 2025
04fee64
Refactor collection_item layout for improved readability and style co…
MuhammedWael9991 Sep 9, 2025
aebe476
Merge pull request #21 from Copenhagen-Squad/fix/collection_item
MuhammedWael9991 Sep 9, 2025
3fa9fc1
used typography instead of theme style
Sep 9, 2025
ecb214f
Merge pull request #22 from Copenhagen-Squad/bugfix/font-style
Asmaa7071 Sep 9, 2025
8efdec2
Refactor watch history UI for improved layout and style consistency
MuhammedWael9991 Sep 9, 2025
d90fd96
Update background color for watch history screen for better visual co…
MuhammedWael9991 Sep 9, 2025
5405454
Update content description for watch history item and add released da…
MuhammedWael9991 Sep 9, 2025
43b534a
Add CI configuration for Android build process
MuhammedWael9991 Sep 9, 2025
89e8de6
Grant execute permission for gradlew in CI configuration
MuhammedWael9991 Sep 9, 2025
f4f0e85
Add step to copy dummy google-services.json in CI configuration
MuhammedWael9991 Sep 9, 2025
f8a0a70
Update CI configuration to create google-services.json from secret
MuhammedWael9991 Sep 9, 2025
242a8c7
Merge pull request #24 from Copenhagen-Squad/feature/CI-CD
MuhammedWael9991 Sep 9, 2025
cc199d4
Merge remote-tracking branch 'origin/develop' into refactor/history-s…
MuhammedWael9991 Sep 9, 2025
1d6bc2a
Merge remote-tracking branch 'origin/develop' into refactor/Main-Details
MuhammedWael9991 Sep 9, 2025
acad319
bottom sheet component
baraa0abd Sep 10, 2025
3b4b158
Refactor bottom sheet layout and add string resources
baraa0abd Sep 10, 2025
17c6782
Update bottom sheet UI and add button backgrounds
baraa0abd Sep 10, 2025
a0ecfbc
Add drag handle and update line color in bottom sheet
baraa0abd Sep 10, 2025
8f57e6e
Update font style for buttons in bottom sheet
baraa0abd Sep 10, 2025
bf0abda
Update app launcher icon and background color
YaseenOmar Sep 10, 2025
76a7c80
Replace splash screen icon with new logo
YaseenOmar Sep 10, 2025
e8b106e
Add background drawable for info card
MostafaMohamed2002 Sep 10, 2025
6b5f1f2
Add info card layout
MostafaMohamed2002 Sep 10, 2025
092cd35
Add vector drawable for grid list icon
MostafaMohamed2002 Sep 10, 2025
fb72f3e
Add grid list duetone icon
MostafaMohamed2002 Sep 10, 2025
0d67d4f
Add selected_view_toggle_background.xml for view toggle state
MostafaMohamed2002 Sep 10, 2025
b7c54ba
Add new shape drawable for unselected view toggle background
MostafaMohamed2002 Sep 10, 2025
ee8bd7c
Add rounded rectangle drawable for view toggle background
MostafaMohamed2002 Sep 10, 2025
1adcdaf
Add ViewToggle enum for explore screen
MostafaMohamed2002 Sep 10, 2025
075898c
Add XML layout for view toggle component
MostafaMohamed2002 Sep 10, 2025
80f7a96
Merge pull request #23 from Copenhagen-Squad/refactor/history-screen-ui
MuhammedWael9991 Sep 10, 2025
420e832
Add ShapeAppearanceOverlay.CustomRounded style
MostafaMohamed2002 Sep 10, 2025
2196935
Add background drawable for horizontal posters
MostafaMohamed2002 Sep 10, 2025
180d55d
Add flash_placeholder.jpg to drawables
MostafaMohamed2002 Sep 10, 2025
e4eda35
Add horizontal poster placeholder image
MostafaMohamed2002 Sep 10, 2025
84c6fe3
Add BindingAdapter for horizontal poster image loading
MostafaMohamed2002 Sep 10, 2025
55cfbbf
Add horizontal poster layout
MostafaMohamed2002 Sep 10, 2025
728c2d0
Remove placeholder image for Flash
MostafaMohamed2002 Sep 10, 2025
80adf97
Merge pull request #28 from Copenhagen-Squad/refactor/splash-screen
YaseenOmar Sep 10, 2025
756ef7e
Merge remote-tracking branch 'origin/develop' into feature/logout-and…
baraa0abd Sep 10, 2025
7a568a4
Update bottom sheet text and colors
baraa0abd Sep 10, 2025
50c88aa
feature/season-card
NadeenXo Sep 10, 2025
ae3d12b
fix background color
NadeenXo Sep 10, 2025
9e7a764
Add MovieCircularProgressBar component with animated circular progress
MuhammedWael9991 Sep 10, 2025
c0e71ae
Replace LottieAnimationView with MovieCircularProgressBar in loading2…
MuhammedWael9991 Sep 10, 2025
e1aa9ab
Add attrs.xml for MovieCircularProgressBar custom attributes
MuhammedWael9991 Sep 10, 2025
28ad515
Add fragment_season.xml layout with MovieCircularProgressBar
MuhammedWael9991 Sep 10, 2025
a1623df
Merge branch 'develop' into feature/season-card
NadeenXo Sep 10, 2025
f79486e
Add actor main details card and related drawables
baraa0abd Sep 10, 2025
7c0ee45
Add actor header layout and circular background drawable
baraa0abd Sep 10, 2025
b86f619
Refactor fragment_season.xml layout to use Data Binding and update UI…
MuhammedWael9991 Sep 10, 2025
a401cf5
Add navigation action and fragment for Season details
MuhammedWael9991 Sep 10, 2025
e851a37
Add SeasonFragment to display season details and manage UI state
MuhammedWael9991 Sep 10, 2025
2a81eeb
Add "Try Again" string resource for improved error handling
MuhammedWael9991 Sep 10, 2025
0f09f55
Add navigation action for "Show More Seasons" in TvShowDetailsFragment
MuhammedWael9991 Sep 10, 2025
f2fb7b5
Add ClickShowMoreSeasons event to TvShowDetailsUIEvent for improved n…
MuhammedWael9991 Sep 10, 2025
1650028
Add gallery item layout and string resources
baraa0abd Sep 10, 2025
50ba23b
Remove unused radius attribute in actor_main_details_card.xml
baraa0abd Sep 10, 2025
0c671aa
Merge branch 'develop' into refactor/actor-details-screen
baraa0abd Sep 11, 2025
053f313
Merge pull request #32 from Copenhagen-Squad/refactor/actor-details-s…
baraa0abd Sep 11, 2025
06d6f7e
Refactor actor details screen UI
baraa0abd Sep 11, 2025
ee080d9
Update actor details UI and card styling
baraa0abd Sep 11, 2025
5cdc54c
Merge pull request #27 from Copenhagen-Squad/component/info_card
MostafaMohamed2002 Sep 11, 2025
0334493
Replace logout icon in message info box
MostafaMohamed2002 Sep 11, 2025
cacda15
Merge pull request #20 from Copenhagen-Squad/component/message_info_box
MostafaMohamed2002 Sep 11, 2025
c54eaca
Merge pull request #29 from Copenhagen-Squad/component/view_toggle
MostafaMohamed2002 Sep 11, 2025
0b010d5
Merge pull request #30 from Copenhagen-Squad/component/horizontal_poster
MostafaMohamed2002 Sep 11, 2025
8a6c603
Add loading indicator and "Try Again" text view to SeasonFragment layout
MuhammedWael9991 Sep 11, 2025
7f618c4
Refactor actor details screen layout
baraa0abd Sep 11, 2025
3b7ca2b
Refactor: Inline actor_main_details_card.xml into fragment_actor_deta…
baraa0abd Sep 11, 2025
4b64afb
Merge remote-tracking branch 'origin/develop' into feature/logout-and…
baraa0abd Sep 11, 2025
99d2aef
Merge pull request #26 from Copenhagen-Squad/feature/logout-and-botto…
baraa0abd Sep 11, 2025
2375439
Merge remote-tracking branch 'origin/develop' into refactor/Seasons-s…
MuhammedWael9991 Sep 11, 2025
e64a0fb
Merge pull request #33 from Copenhagen-Squad/refactor/Seasons-screen-ui
MuhammedWael9991 Sep 11, 2025
26b3c38
fix colors and fonts
NadeenXo Sep 11, 2025
8affc37
fix color
NadeenXo Sep 11, 2025
0bc0895
fix color
NadeenXo Sep 11, 2025
c39448e
Merge branch 'develop' into feature/season-card
NadeenXo Sep 11, 2025
d28007d
edit vote
NadeenXo Sep 11, 2025
ca20ef7
update item movie ui to be rated Image
Sep 12, 2025
917042a
update item movie to be rated
Sep 12, 2025
b56838f
Merge remote-tracking branch 'origin/develop' into feature/movie-list
Sep 12, 2025
0814c60
update margin space
Sep 12, 2025
f09ff0b
update mapper and ui state
Sep 12, 2025
734aaaa
media ui state to get title and rate
Sep 12, 2025
a64b0f8
Merge pull request #35 from Copenhagen-Squad/feature/movie-list
Asmaa7071 Sep 12, 2025
9fa5131
Remove gallery_item.xml layout
baraa0abd Sep 12, 2025
d17b74e
add header item rating
khaatteerr Sep 12, 2025
cfd3053
wrap recycler content
NadeenXo Sep 12, 2025
8469539
Merge branch 'develop' into feature/season-card
NadeenXo Sep 12, 2025
9f9c83b
Update tint color for calendar icon in item_season layout
MuhammedWael9991 Sep 12, 2025
3ef1527
Add content descriptions for accessibility and update tint color in i…
MuhammedWael9991 Sep 12, 2025
3f80800
Merge pull request #31 from Copenhagen-Squad/feature/season-card
MuhammedWael9991 Sep 12, 2025
19202f6
add binding adapter for rating
khaatteerr Sep 12, 2025
f7555fb
Merge remote-tracking branch 'origin/develop' into refactor/actor-det…
baraa0abd Sep 12, 2025
2e41f0e
Merge remote-tracking branch 'origin/develop' into refactor/Main-Details
MuhammedWael9991 Sep 12, 2025
e933555
Update tint color for add button and modify placeholder text for movi…
MuhammedWael9991 Sep 12, 2025
8cc6311
Update item_tv_show_details_header layout with new duration TextView …
MuhammedWael9991 Sep 12, 2025
853fddf
Merge pull request #34 from Copenhagen-Squad/refactor/actor-details-s…
baraa0abd Sep 12, 2025
4d7cba2
Update item_movie_detail_header layout to change overview text to sto…
MuhammedWael9991 Sep 12, 2025
c9c9271
Update item_tv_show_details_header layout to replace overview text wi…
MuhammedWael9991 Sep 12, 2025
46fac12
Add storyline string resource for improved detail display
MuhammedWael9991 Sep 12, 2025
91ff3ad
Merge remote-tracking branch 'origin/develop' into refactor/Main-Details
MuhammedWael9991 Sep 12, 2025
f91e666
Refactor item_movie_detail_header layout to correct constraints for s…
MuhammedWael9991 Sep 12, 2025
545ab6e
Refactor item_tv_show_details_header layout to correct constraints fo…
MuhammedWael9991 Sep 12, 2025
0643a32
Merge pull request #17 from Copenhagen-Squad/refactor/Main-Details
MuhammedWael9991 Sep 12, 2025
ef3b9d9
Merge remote-tracking branch 'origin/develop' into refactor/item-rating
itsahmedsalah Sep 12, 2025
71209bf
Refactor item movie detail header and list season layout; update styl…
itsahmedsalah Sep 12, 2025
143235d
Refactor loading animation in fragment_exploring layout to use includ…
MuhammedWael9991 Sep 12, 2025
9f15e34
Refactor loading animation in fragment_list_details layout to use inc…
MuhammedWael9991 Sep 12, 2025
653ed4b
Refactor loading animation in fragment_movie_details layout to use in…
MuhammedWael9991 Sep 12, 2025
008eee3
Refactor loading animation in fragment_my_lists layout to use include…
MuhammedWael9991 Sep 12, 2025
5d5d05c
Refactor loading animation in fragment_my_ratings layout to use inclu…
MuhammedWael9991 Sep 12, 2025
5419064
Refactor loading animation in fragment_review layout to use include f…
MuhammedWael9991 Sep 12, 2025
6017c51
Refactor DetailItemUIState to correct order of Cast and Seasons classes
itsahmedsalah Sep 12, 2025
3a59985
Refactor DetailUIStateAdapter to ensure correct item view type for Cast
itsahmedsalah Sep 12, 2025
550ac21
Refactor movie name TextView layout to improve width and constraints
itsahmedsalah Sep 12, 2025
85f0ca6
Refactor cast layout to use GridLayoutManager and update cast label t…
itsahmedsalah Sep 12, 2025
3c1e19f
Add 'Show More' button and update reviews comment text to 'Top Reviews'
itsahmedsalah Sep 12, 2025
d4605db
Add error state strings for offline connectivity messages
MuhammedWael9991 Sep 12, 2025
de1a340
Add rectangle button shape drawable for primary button styling
MuhammedWael9991 Sep 12, 2025
b435a37
Refactor error state layout to improve UI and user experience
MuhammedWael9991 Sep 12, 2025
0275511
Add circle shape drawable for additional secondary red styling
MuhammedWael9991 Sep 12, 2025
c69afb3
Refactor error state layout to enhance UI with new image and button d…
MuhammedWael9991 Sep 12, 2025
20536f6
Refactor error handling layout to streamline UI and improve error sta…
MuhammedWael9991 Sep 12, 2025
dcf532f
Refactor error state layout to utilize a new error layout and improve…
MuhammedWael9991 Sep 12, 2025
4ad0c0d
Refactor error state layout to use updated error layout for improved …
MuhammedWael9991 Sep 12, 2025
6770157
Refactor error state layout to include new error layout for improved …
MuhammedWael9991 Sep 12, 2025
462e671
Refactor error state layout to integrate new error view for enhanced …
MuhammedWael9991 Sep 12, 2025
5fb1cfc
Refactor profile fragment layout to integrate new error view for impr…
MuhammedWael9991 Sep 12, 2025
2acc6a1
Refactor error state layout to use updated error layout for improved …
MuhammedWael9991 Sep 12, 2025
0c05d80
Refactor search fragment layout to use updated error layout for impro…
MuhammedWael9991 Sep 12, 2025
9f6fba2
Refactor season fragment layout to integrate new error view for impro…
MuhammedWael9991 Sep 12, 2025
b01ebf4
Refactor TV show details layout to integrate updated error view for i…
MuhammedWael9991 Sep 12, 2025
6f13404
Fix typo in button drawable name and update error handling expression…
MuhammedWael9991 Sep 12, 2025
f8a13fc
Refactor movie review layout to improve rating bar and text display
itsahmedsalah Sep 12, 2025
848abad
Refactor movie review layout to enhance styling and improve readability
itsahmedsalah Sep 12, 2025
575f7a2
Refactor TV show review layout to improve spacing and background styling
itsahmedsalah Sep 12, 2025
3e303da
Refactor review layout styles to enhance text appearance and consistency
itsahmedsalah Sep 12, 2025
31e1675
Refactor user name text styling in movie and TV show reviews for impr…
itsahmedsalah Sep 12, 2025
871ee2c
Refactor movie and TV show review layouts for improved text styling a…
itsahmedsalah Sep 12, 2025
a8fd6fd
Refactor review layout margins and constraints for improved spacing a…
itsahmedsalah Sep 12, 2025
9bba088
Refactor DetailItemUIState and related adapters to remove SeeAllRevie…
itsahmedsalah Sep 12, 2025
deae54f
Refactor list_movie layout to update text styles and improve UI consi…
MuhammedWael9991 Sep 12, 2025
ada5f17
Refactor advertisement_section layout to improve structure and mainta…
MuhammedWael9991 Sep 13, 2025
13a98f0
Add back_icon_cta shape drawable for consistent UI design
MuhammedWael9991 Sep 13, 2025
8f294fc
Add spacing_extra_extra_large dimension for improved layout consistency
MuhammedWael9991 Sep 13, 2025
2bb3ebd
Add item_browser_everything_cta layout for enhanced user interaction
MuhammedWael9991 Sep 13, 2025
5a9330d
Add item_let_us_choose_cta layout for improved user engagement
MuhammedWael9991 Sep 13, 2025
17c891f
Add item_my_collection layout for improved user interaction
MuhammedWael9991 Sep 13, 2025
6b2e744
Refactor item_popular_movie layout for improved structure and readabi…
MuhammedWael9991 Sep 13, 2025
98ed3e8
Add item_recently_viewed layout for improved user experience
MuhammedWael9991 Sep 13, 2025
2cdbe4d
Remove onClick listener from see all actors button for improved funct…
MuhammedWael9991 Sep 13, 2025
fccde88
Add list_header_section layout for improved content display
MuhammedWael9991 Sep 13, 2025
e611d0d
Refactor list_popular layout to use ViewPager2 for improved scrolling…
MuhammedWael9991 Sep 13, 2025
9fe99a4
Add layout for recently viewed movies to enhance user experience
MuhammedWael9991 Sep 13, 2025
993b051
Add layout for user collections to enhance content organization
MuhammedWael9991 Sep 13, 2025
5df9b1e
Add background shape for media rating UI
MuhammedWael9991 Sep 13, 2025
cb9ba59
Add navigation actions for exploring, watch history, my list, and lis…
MuhammedWael9991 Sep 13, 2025
ee55371
Add rating card background shape for improved UI consistency
MuhammedWael9991 Sep 13, 2025
5ae5c03
Add ctaCard style for consistent UI layout in rating cards
MuhammedWael9991 Sep 13, 2025
6c4a8ee
Add adapters for recently viewed and user collections to enhance UI i…
MuhammedWael9991 Sep 13, 2025
750d7d6
Refactor media type enums to improve clarity and consistency in naming
MuhammedWael9991 Sep 13, 2025
a5a7be4
Add SectionHeaderView component for customizable section headers in UI
MuhammedWael9991 Sep 13, 2025
eb6c949
Refactor HomeAdapter and HomeFragment to support new UI components an…
MuhammedWael9991 Sep 13, 2025
123a817
Refactor HomeViewModel and use cases to integrate recently viewed and…
MuhammedWael9991 Sep 13, 2025
74868d2
Update titles in AllMovieFragment for improved clarity and consistency
MuhammedWael9991 Sep 13, 2025
ebaa367
Refactor TVShowAdapter to remove unused Media import and improve code…
MuhammedWael9991 Sep 13, 2025
6a53bbb
Add SectionHeaderView attributes for customizable text and visibility…
MuhammedWael9991 Sep 13, 2025
94af361
Refactor HomeAdapter and list_popular layout to improve ViewPager2 he…
MuhammedWael9991 Sep 13, 2025
0988653
refactor code formation
MuhammedWael9991 Sep 13, 2025
9616708
Feature: Add Onboarding Screen
YaseenOmar Sep 13, 2025
1824e11
Refactor: Remove ActionBar from MainActivity and update theme
YaseenOmar Sep 13, 2025
5b5680c
Merge pull request #43 from Copenhagen-Squad/feature/on-boarding-screen
YaseenOmar Sep 13, 2025
050f818
Merge remote-tracking branch 'origin/develop' into refactor/error-state
MuhammedWael9991 Sep 13, 2025
1338bbb
Merge remote-tracking branch 'origin/develop' into refactor/loading
MuhammedWael9991 Sep 13, 2025
07b863b
Merge pull request #37 from Copenhagen-Squad/refactor/loading
MuhammedWael9991 Sep 13, 2025
5e7fdfe
Merge remote-tracking branch 'origin/develop' into refactor/error-state
MuhammedWael9991 Sep 13, 2025
81a7f8c
Merge pull request #38 from Copenhagen-Squad/refactor/error-state
MuhammedWael9991 Sep 13, 2025
0bee86b
Refactor item_let_us_choose_cta layout to add top margin for improved…
MuhammedWael9991 Sep 13, 2025
6315449
Refactor item_my_collection layout to add tint attribute for improved…
MuhammedWael9991 Sep 13, 2025
5ca9efd
Refactor item_popular_movie layout to update styles and improve text …
MuhammedWael9991 Sep 13, 2025
8bbfcd5
Refactor item_tvshow layout to enhance UI with improved margins, dime…
MuhammedWael9991 Sep 13, 2025
7ed607b
Refactor list_movie layout to add top margin for improved spacing
MuhammedWael9991 Sep 13, 2025
a9fe74c
Refactor list_tvshow layout to update text styles and improve color v…
MuhammedWael9991 Sep 13, 2025
cc76998
Refactor CTA layouts to improve text visibility and update styles
MuhammedWael9991 Sep 13, 2025
06de50c
Merge remote-tracking branch 'origin/develop' into refactor/media-det…
itsahmedsalah Sep 13, 2025
7b5d0c7
Merge remote-tracking branch 'origin/develop' into refactor/home-secr…
MuhammedWael9991 Sep 13, 2025
5089b7c
Refactor background color in fragment_home layout for consistency
MuhammedWael9991 Sep 13, 2025
cde7d15
Refactor UI layouts for improved consistency and structure
MuhammedWael9991 Sep 13, 2025
d476418
Add section title and click listener bindings for SectionHeaderView
MuhammedWael9991 Sep 13, 2025
47677bd
Add item_movie_rating layout for user rating input and display
itsahmedsalah Sep 13, 2025
f303230
Add layout for Behind The Scenes section in TV show details
itsahmedsalah Sep 13, 2025
dfd9350
Add layout for Behind The Scenes section in movie details
itsahmedsalah Sep 13, 2025
3352db1
Merge pull request #40 from Copenhagen-Squad/refactor/home-secreen-ui
MuhammedWael9991 Sep 14, 2025
79eb177
Merge remote-tracking branch 'origin/develop' into refactor/item-rating
MuhammedWael9991 Sep 14, 2025
2aa05bf
Merge pull request #36 from Copenhagen-Squad/refactor/item-rating
MuhammedWael9991 Sep 14, 2025
73661cc
Refactor background colors and icon in activity_main layout for impro…
MuhammedWael9991 Sep 15, 2025
c097d5b
Refactor tab selection logic in MainActivity for improved icon handli…
MuhammedWael9991 Sep 15, 2025
c269406
Refactor activity_main layout for improved UI consistency and accessi…
MuhammedWael9991 Sep 15, 2025
0b19ab8
Refactor bottom navigation layout for improved structure and consistency
MuhammedWael9991 Sep 15, 2025
ba3575c
Refactor tab selection appearance in MainActivity for improved text s…
MuhammedWael9991 Sep 15, 2025
6801fa2
Refactor icons in activity_main layout for improved visual consistency
MuhammedWael9991 Sep 15, 2025
e15f107
Add StarRatingView component for displaying star ratings
MuhammedWael9991 Sep 15, 2025
cb761c9
Add StarRatingView attributes for customizable rating
MuhammedWael9991 Sep 15, 2025
f215992
Add layout for StarRatingView with five star icons
MuhammedWael9991 Sep 15, 2025
ade5af9
Add layout for your_rating.xml to display user rating
MuhammedWael9991 Sep 15, 2025
4cf6dfd
Add string resource for user rating feedback
MuhammedWael9991 Sep 15, 2025
95b8758
Remove unnecessary layout constraints from your_rating.xml
MuhammedWael9991 Sep 15, 2025
4c971bb
add ar strings
NadeenXo Sep 15, 2025
6084daf
Refactor list details to collection details, updating class names, pa…
MuhammedWael9991 Sep 16, 2025
84ddc0f
Refactor color attributes in activity_main layout for improved visual…
MuhammedWael9991 Sep 16, 2025
9130860
fix
NadeenXo Sep 16, 2025
4b13e35
Merge pull request #52 from Copenhagen-Squad/refactor/collection-navi…
MuhammedWael9991 Sep 16, 2025
8d4f9a6
Merge pull request #47 from Copenhagen-Squad/refactor/nav-bar-ui
MuhammedWael9991 Sep 16, 2025
57013dc
Merge pull request #48 from Copenhagen-Squad/component/rating-stars
MuhammedWael9991 Sep 16, 2025
5a9239d
Merge pull request #50 from Copenhagen-Squad/refactor/strings-file
NadeenXo Sep 16, 2025
8f21574
Merge remote-tracking branch 'origin/develop' into refactor/media-det…
itsahmedsalah Sep 16, 2025
a22be50
Add Behind The Scenes section layout and update UI state
itsahmedsalah Sep 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
### Description

_A brief, high-level summary of the changes in this pull request._

---

### Screenshots or Screen Recordings

_If applicable, add screenshots or screen recordings to help visualize the changes._

---
33 changes: 33 additions & 0 deletions .github/workflows/android-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Android CI

on:
pull_request:
branches:
- main
- develop

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout source code
uses: actions/checkout@v3

- name: Setup JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Create google-services.json from secret
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > app/google-services.json

- name: Build (skip tests & lint)
run: ./gradlew assembleDebug -x test -x lint
157 changes: 91 additions & 66 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,132 +1,157 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id "kotlin-kapt"
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
id 'androidx.navigation.safeargs'
id 'androidx.navigation.safeargs.kotlin'
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
id 'com.google.firebase.firebase-perf'
}

// Load local properties at the project level
def localProperties = new Properties()
localProperties.load(new FileInputStream(rootProject.file("local.properties")))
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}

android {
compileSdk 32
namespace 'com.karrar.movieapp'
compileSdk 34

defaultConfig {
applicationId "com.karrar.movieapp"
minSdk 21
targetSdk 32
targetSdk 34
versionCode 1
versionName "1.0"
buildConfigField "String", "API_KEY", localProperties['apiKey']

// Build config fields with safe property access
buildConfigField "String", "API_KEY", "\"${localProperties.getProperty('apiKey', '')}\""
buildConfigField "String", "BASE_URL", "\"https://api.themoviedb.org/3/\""
buildConfigField "String", "IMAGE_BASE_PATH", "\"https://image.tmdb.org/t/p/w500\""
buildConfigField "String", "TMDB_SIGNUP_URL", "\"https://www.themoviedb.org/signup\""

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArgument "runnerBuilder", "de.mannodermaus.junit5.AndroidJUnitPlatformBuilder"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
testOptions {
unitTests.all {
useJUnitPlatform()
debug {
// Add debug-specific configurations if needed
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
// For newer AGP versions, consider using VERSION_11
// sourceCompatibility JavaVersion.VERSION_11
// targetCompatibility JavaVersion.VERSION_11
}

kotlinOptions {
jvmTarget = '1.8'
// For newer Kotlin versions, consider using '11'
// jvmTarget = '11'
}

buildFeatures {
buildConfig true
dataBinding true
viewBinding true
}

testOptions {
unitTests.all {
useJUnitPlatform()
}
unitTests.returnDefaultValues = true
}
}

dependencies {

implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'com.google.android.material:material:1.6.1'
// Core Android
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

//Test
testImplementation "org.junit.jupiter:junit-jupiter-api:5.8.2"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.8.2"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.8.2"

implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

implementation "com.squareup.okhttp3:okhttp:4.9.1"
// Architecture Components
implementation 'androidx.fragment:fragment-ktx:1.8.2'
implementation 'androidx.activity:activity-ktx:1.9.1'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.4'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.4'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.4'

//viewModel
implementation 'androidx.fragment:fragment-ktx:1.5.2'
implementation 'androidx.activity:activity-ktx:1.5.1'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1'
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2'
implementation 'androidx.navigation:navigation-ui-ktx:2.5.2'
// Navigation
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.7'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.7'

implementation "androidx.recyclerview:recyclerview:1.2.0"
// RecyclerView
implementation "androidx.recyclerview:recyclerview:1.3.2"

//picasso
implementation 'com.squareup.picasso:picasso:2.71828'
// Networking
implementation 'com.squareup.retrofit2:retrofit:2.11.0'
implementation 'com.squareup.retrofit2:converter-gson:2.11.0'
implementation "com.squareup.okhttp3:okhttp:4.12.0"
implementation "com.squareup.okhttp3:logging-interceptor:4.12.0"

// room dependency
def room_version = "2.4.3"
implementation("androidx.room:room-runtime:$room_version")
kapt("androidx.room:room-compiler:$room_version")
implementation("androidx.room:room-ktx:$room_version")
// Image Loading
implementation 'io.coil-kt:coil:2.7.0'

implementation "com.google.dagger:hilt-android:2.42"
kapt "com.google.dagger:hilt-compiler:2.42"
// Room Database
def room_version = "2.6.1"
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-ktx:$room_version"
implementation "androidx.room:room-paging:$room_version"
kapt "androidx.room:room-compiler:$room_version"

implementation "androidx.compose.material3:material3:1.0.0-alpha14"
implementation "androidx.compose.material3:material3-window-size-class:1.0.0-alpha14"
//data store preferences
implementation "androidx.datastore:datastore-preferences:1.0.0"
// Hilt (Dependency Injection)
implementation "com.google.dagger:hilt-android:2.52"
kapt "com.google.dagger:hilt-compiler:2.52"

// Paging
implementation "androidx.paging:paging-runtime-ktx:3.3.2"

implementation 'androidx.core:core-splashscreen:1.0.0'
// DataStore
implementation "androidx.datastore:datastore-preferences:1.1.1"

implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
implementation 'com.google.android.material:material:1.0.0-alpha1'
// Splash Screen
implementation 'androidx.core:core-splashscreen:1.0.1'

// Lottie
implementation 'com.airbnb.android:lottie:5.2.0'
// ViewPager2 for OnBoarding
implementation 'androidx.viewpager2:viewpager2:1.0.0'

//Coil
implementation 'io.coil-kt:coil:2.2.2'
// Lottie Animations
implementation 'com.airbnb.android:lottie:6.4.1'

implementation 'io.github.glailton.expandabletextview:expandabletextview:1.0.2'
// YouTube Player
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:12.1.0'

implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:11.1.0'

// paging
implementation "androidx.paging:paging-runtime:3.1.1"
implementation "androidx.paging:paging-runtime-ktx:3.1.1"

// firebase
implementation platform('com.google.firebase:firebase-bom:31.1.0')
// Firebase
implementation platform('com.google.firebase:firebase-bom:33.1.2')
implementation 'com.google.firebase:firebase-analytics-ktx'

implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-perf-ktx'



// Testing
testImplementation 'junit:junit:4.13.2'
testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.2"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.2"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.10.2"
testImplementation "io.mockk:mockk:1.13.10"
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.8.0"

// Android Testing
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
androidTestImplementation "io.mockk:mockk-android:1.13.10"
}
2 changes: 2 additions & 0 deletions app/secret.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
API_KEY="b77ea619291736aea2b7740de4f6bfdc"
BASE_URL="api.themoviedb.org"
16 changes: 11 additions & 5 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.karrar.movieapp">
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />

Expand All @@ -19,18 +18,25 @@
tools:targetApi="31">

<activity
android:name=".ui.main.MainActivity"
android:name=".ui.onboarding.OnBoardingActivity"
android:exported="true"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustNothing"
android:theme="@style/Theme.MovieApp.SplashScreen">
android:theme="@style/Theme.MovieApp">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity
android:name=".ui.main.MainActivity"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustNothing"
android:theme="@style/Theme.MovieApp">
</activity>

<activity
android:name=".ui.youtubePlayer.YoutubePlayerActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode|locale|layoutDirection"
Expand Down
Binary file added app/src/main/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ enum class AllMediaType {
POPULAR,
TOP_RATED,
TRENDING,
NOW_STREAMING,
RECENTLY_RELEASED,
UPCOMING,
MYSTERY,
ADVENTURE,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package com.karrar.movieapp.domain.enums

enum class HomeItemsType(val value :String) {
ON_THE_AIR("On the air"),
TRENDING("Trending"),
NOW_STREAMING("Now streaming"),
UPCOMING("Upcoming"),
MYSTERY("Mystery"),
ADVENTURE("Adventure"),
TOP_RATED_TV_SHOWS("Top Rated Tv Shows"),
RECENTLY_RELEASED("Recently Released"),
UPCOMING("Upcoming Movies"),
RECENTLY_VIEWED("You Recently Viewed"),
YOUR_COLLECTIONS("Your Collections"),
NON("")
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ class GetMediaByTypeUseCase @Inject constructor(
wrapper({ movieRepository.getActorMoviesPager(actorId) }, movieMapper::map)
}
AllMediaType.LATEST,
AllMediaType.AIRING_TODAY,
-> {
AllMediaType.AIRING_TODAY, -> {
wrapper(seriesRepository::getAiringTodayTvShowPager, tvShowMapper::map)
}
AllMediaType.ON_THE_AIR -> {
Expand All @@ -43,7 +42,7 @@ class GetMediaByTypeUseCase @Inject constructor(
AllMediaType.TRENDING -> {
wrapper(movieRepository::getTrendingMoviesPager, movieMapper::map)
}
AllMediaType.NOW_STREAMING -> {
AllMediaType.RECENTLY_RELEASED -> {
wrapper(movieRepository::getNowPlayingMoviesPager, movieMapper::map)
}
AllMediaType.UPCOMING -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ import com.karrar.movieapp.domain.usecase.home.getData.series.GetAiringTodaySeri
import com.karrar.movieapp.domain.usecase.home.getData.series.GetOnTheAirSeriesUseCase
import com.karrar.movieapp.domain.usecase.home.getData.series.GetTopRatedTvShowSeriesUseCase
import com.karrar.movieapp.domain.usecase.home.getData.movie.*
import com.karrar.movieapp.domain.usecases.CheckIfLoggedInUseCase
import com.karrar.movieapp.domain.usecases.GetAccountDetailsUseCase
import com.karrar.movieapp.domain.usecases.GetWatchHistoryUseCase
import com.karrar.movieapp.domain.usecases.mylist.GetMyListUseCase

import javax.inject.Inject

Expand All @@ -19,4 +23,8 @@ class HomeUseCasesContainer @Inject constructor(
val getAdventureMoviesUseCase: GetAdventureMoviesUseCase,
val getNowStreamingMoviesUseCase: GetNowStreamingMoviesUseCase,
val getTrendingActorsUseCase: GetTrendingActorsUseCase,
val getWatchHistoryUseCase: GetWatchHistoryUseCase,
val getMyListUseCase: GetMyListUseCase,
val getAccountDetailsUseCase: GetAccountDetailsUseCase,
val checkIfLoggedInUseCase: CheckIfLoggedInUseCase
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ import com.karrar.movieapp.ui.adapters.ActorsInteractionListener
import com.karrar.movieapp.ui.base.BasePagingAdapter
import com.karrar.movieapp.ui.models.ActorUiState

class ActorsAdapter(listener: ActorsInteractionListener) :
class ActorsAdapter(listener: ActorsInteractionListener, override val layoutID: Int) :
BasePagingAdapter<ActorUiState>(ActorComparator, listener) {

override val layoutID: Int = R.layout.item_actor_see_all

object ActorComparator : DiffUtil.ItemCallback<ActorUiState>() {
override fun areItemsTheSame(oldItem: ActorUiState, newItem: ActorUiState) =
Expand Down
Loading