From 78d0d33e595a0af3aceca1ab81b3a46bbada62cf Mon Sep 17 00:00:00 2001 From: webianks Date: Sun, 18 Jan 2026 17:57:55 +0530 Subject: [PATCH 1/4] RoomDB: Fallback to destructive migration. --- app/src/main/java/tech/salroid/filmy/di/MoviesModule.kt | 2 +- app/src/main/res/layout/custom_row.xml | 2 +- app/src/main/res/layout/fragment_movies.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/tech/salroid/filmy/di/MoviesModule.kt b/app/src/main/java/tech/salroid/filmy/di/MoviesModule.kt index 9205b6b6..3b16a966 100644 --- a/app/src/main/java/tech/salroid/filmy/di/MoviesModule.kt +++ b/app/src/main/java/tech/salroid/filmy/di/MoviesModule.kt @@ -57,6 +57,6 @@ object MoviesModule { appContext, FilmyDatabase::class.java, "filmy" - ).build() + ).fallbackToDestructiveMigration(true).build() } } \ No newline at end of file diff --git a/app/src/main/res/layout/custom_row.xml b/app/src/main/res/layout/custom_row.xml index 2bda76de..adaa85ee 100644 --- a/app/src/main/res/layout/custom_row.xml +++ b/app/src/main/res/layout/custom_row.xml @@ -12,7 +12,7 @@ diff --git a/app/src/main/res/layout/fragment_movies.xml b/app/src/main/res/layout/fragment_movies.xml index 712bfcc6..f2f424bb 100644 --- a/app/src/main/res/layout/fragment_movies.xml +++ b/app/src/main/res/layout/fragment_movies.xml @@ -37,7 +37,7 @@ android:id="@+id/logo" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:fontFamily="@font/pacifico_regular" + android:fontFamily="@font/lobster_regular" android:text="@string/app_name" android:textColor="@color/black" android:textSize="22sp" From e556f3e637f7ea011a46e574ee89bac6143eab55 Mon Sep 17 00:00:00 2001 From: webianks Date: Sun, 18 Jan 2026 19:17:41 +0530 Subject: [PATCH 2/4] Remove hardcoded text. --- .../salroid/filmy/ui/home/MoviesFragment.kt | 2 +- app/src/main/res/font/host_grotesk_bold.ttf | Bin 0 -> 59432 bytes app/src/main/res/layout/activity_detailed.xml | 2 +- app/src/main/res/layout/all_trailer_layout.xml | 1 - .../main/res/layout/extra_info_movie_detail.xml | 4 ---- app/src/main/res/layout/filmy_appwidget.xml | 4 ++-- app/src/main/res/layout/fragment_movies.xml | 14 +++++++------- app/src/main/res/values/colors.xml | 1 + app/src/main/res/values/strings.xml | 7 +++++++ 9 files changed, 19 insertions(+), 16 deletions(-) create mode 100644 app/src/main/res/font/host_grotesk_bold.ttf diff --git a/app/src/main/java/tech/salroid/filmy/ui/home/MoviesFragment.kt b/app/src/main/java/tech/salroid/filmy/ui/home/MoviesFragment.kt index bdd2802a..e46fef46 100644 --- a/app/src/main/java/tech/salroid/filmy/ui/home/MoviesFragment.kt +++ b/app/src/main/java/tech/salroid/filmy/ui/home/MoviesFragment.kt @@ -181,7 +181,7 @@ class MoviesFragment : Fragment() { } private fun lightThemeLogic() { - binding.logo.setTextColor(ContextCompat.getColor(requireActivity(), R.color.dark)) + binding.logo.setTextColor(ContextCompat.getColor(requireActivity(), R.color.textColorDark)) binding.ivLogo.imageTintList = ContextCompat.getColorStateList(requireActivity(), R.color.colorMore) binding.searchIcon.background = diff --git a/app/src/main/res/font/host_grotesk_bold.ttf b/app/src/main/res/font/host_grotesk_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3ff824c6912bcfc8d9213c92cae1611e71eacfa5 GIT binary patch literal 59432 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_detailed.xml b/app/src/main/res/layout/activity_detailed.xml index e431cb6e..9c8ea9a7 100644 --- a/app/src/main/res/layout/activity_detailed.xml +++ b/app/src/main/res/layout/activity_detailed.xml @@ -141,7 +141,7 @@ android:layout_gravity="center_horizontal" android:layout_marginTop="8dp" android:fontFamily="@font/circularstd_book" - android:text="+ More" + android:text="@string/more_plus" android:textAllCaps="true" /> diff --git a/app/src/main/res/layout/all_trailer_layout.xml b/app/src/main/res/layout/all_trailer_layout.xml index 03caef74..893ee603 100644 --- a/app/src/main/res/layout/all_trailer_layout.xml +++ b/app/src/main/res/layout/all_trailer_layout.xml @@ -42,7 +42,6 @@ android:layout_marginEnd="16dp" android:layout_toEndOf="@+id/cross" android:fontFamily="@font/circularstd_book" - android:text="" android:textColor="#000000" android:textSize="20sp" android:textStyle="bold" /> diff --git a/app/src/main/res/layout/extra_info_movie_detail.xml b/app/src/main/res/layout/extra_info_movie_detail.xml index 579a1a0d..5223d836 100644 --- a/app/src/main/res/layout/extra_info_movie_detail.xml +++ b/app/src/main/res/layout/extra_info_movie_detail.xml @@ -32,7 +32,6 @@ android:layout_marginStart="8dp" android:layout_toEndOf="@id/runtime_holder" android:fontFamily="@font/circularstd_book" - android:text="" android:textSize="14sp" /> diff --git a/app/src/main/res/layout/filmy_appwidget.xml b/app/src/main/res/layout/filmy_appwidget.xml index 8faf509c..07766a92 100644 --- a/app/src/main/res/layout/filmy_appwidget.xml +++ b/app/src/main/res/layout/filmy_appwidget.xml @@ -38,7 +38,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp" - android:text="TRENDING" + android:text="@string/trending_widget_title" android:textColor="@color/white" android:textStyle="bold" android:fontFamily="@font/circularstd_book" @@ -58,7 +58,7 @@ android:padding="16dp" android:textStyle="bold" android:textColor="@color/white" - android:text=" " + android:text="@string/empty_space" android:fontFamily="@font/circularstd_book" /> diff --git a/app/src/main/res/layout/fragment_movies.xml b/app/src/main/res/layout/fragment_movies.xml index f2f424bb..3a2d7701 100644 --- a/app/src/main/res/layout/fragment_movies.xml +++ b/app/src/main/res/layout/fragment_movies.xml @@ -37,11 +37,11 @@ android:id="@+id/logo" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:fontFamily="@font/lobster_regular" + android:layout_marginTop="8dp" + android:fontFamily="@font/host_grotesk_bold" android:text="@string/app_name" - android:textColor="@color/black" android:textSize="22sp" - android:textStyle="bold" + app:fontFamily="@font/host_grotesk_bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@id/ivLogo" app:layout_constraintTop_toTopOf="parent" /> @@ -51,6 +51,7 @@ android:layout_width="46dp" android:layout_height="wrap_content" android:layout_gravity="end|center_vertical" + android:layout_marginTop="8dp" android:layout_marginEnd="16dp" android:background="@drawable/bg_search_icon" android:clickable="true" @@ -107,7 +108,7 @@ android:fontFamily="@font/circularstd_book" android:gravity="center_vertical" android:letterSpacing="0.1" - android:text="Popular" + android:text="@string/popular_title" android:textAllCaps="false" android:textSize="14sp" android:textStyle="bold" @@ -135,7 +136,7 @@ android:fontFamily="@font/circularstd_book" android:gravity="center_vertical" android:letterSpacing="0.1" - android:text="Now Playing" + android:text="@string/now_playing_title" android:textAllCaps="false" android:textSize="14sp" android:textStyle="bold" @@ -163,7 +164,7 @@ android:fontFamily="@font/circularstd_book" android:gravity="center_vertical" android:letterSpacing="0.1" - android:text="Upcoming" + android:text="@string/upcoming_title" android:textAllCaps="false" android:textSize="14sp" android:textStyle="bold" @@ -208,4 +209,3 @@ app:layout_constraintTop_toBottomOf="@id/appbar" /> - diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index fbd93c69..c86715b5 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -23,6 +23,7 @@ #CCCCCC #616161 + #434343 #323232 #1C1B20 #FFFBFF diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5005eea1..7e321bdc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -313,4 +313,11 @@ limitations under the License. Close Video Video Player + Popular + Now Playing + Upcoming + + More + TRENDING + " " + \ No newline at end of file From fd0c1e9ae74dd8b3d25623ca77982aaf93af2816 Mon Sep 17 00:00:00 2001 From: webianks Date: Sun, 18 Jan 2026 19:39:16 +0530 Subject: [PATCH 3/4] Remove usage of ClearTextTraffic. --- app/src/main/AndroidManifest.xml | 3 +-- .../filmy/data/network/MoviesApiService.kt | 2 +- .../filmy/ui/details/MovieDetailsActivity.kt | 2 +- app/src/main/res/values/strings.xml | 18 +++++++++--------- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fa59dbb9..7867f8c8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,8 +12,7 @@ android:label="@string/app_name" android:resizeableActivity="true" android:supportsRtl="true" - android:theme="@style/AppTheme.MD3" - android:usesCleartextTraffic="true"> + android:theme="@style/AppTheme.MD3"> https://api.trakt.tv/people/ /people?extended=images - http://api.themoviedb.org/3/movie/ + https://api.themoviedb.org/3/movie/ extended=full,images /movies?extended=images,full - http://www.imdb.com/title/ - http://img.youtube.com/vi/%1$s/0.jpg - http://image.tmdb.org/t/p/w342 - http://image.tmdb.org/t/p/w1280 - http://image.tmdb.org/t/p/ + https://www.imdb.com/title/ + https://img.youtube.com/vi/%1$s/0.jpg + https://image.tmdb.org/t/p/w342 + https://image.tmdb.org/t/p/w1280 + https://image.tmdb.org/t/p/ https://www.youtube.com/watch?v= Collections @@ -306,9 +306,9 @@ limitations under the License. GitHub - http://image.tmdb.org/t/p/w500%1$s - http://image.tmdb.org/t/p/w185%1$s - http://image.tmdb.org/t/p/w185%1$s + https://image.tmdb.org/t/p/w500%1$s + https://image.tmdb.org/t/p/w185%1$s + https://image.tmdb.org/t/p/w185%1$s Remove Close Video Video Player From f2c71bd4db7e216768150903831b97566c4b4923 Mon Sep 17 00:00:00 2001 From: webianks Date: Mon, 19 Jan 2026 00:18:07 +0530 Subject: [PATCH 4/4] Bump version code. --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 09020a07..9c7b1619 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,7 +21,7 @@ android { applicationId "tech.salroid.filmy" minSdkVersion 24 targetSdkVersion 35 - versionCode 22 + versionCode 23 versionName "3.0.0" multiDexEnabled true resourceConfigurations += ['en', 'de', 'es-rES', 'hi-rIN', 'nl-rNL']