Skip to content

Develop to Main. Implementation of the basic functionality of showing films. #1

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

Merged
merged 9 commits into from
Apr 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 74 additions & 3 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,15 @@ plugins {
* Serialization
*
* https://github.com/Kotlin/kotlinx.serialization
* https://kotlinlang.org/docs/serialization.html
*
* implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0")
*/
alias(libs.plugins.serialization)

/**
* KSP - Kotlin Symbol Processing API
*
* https://github.com/google/ksp
*/
alias(libs.plugins.ksp)
}

android {
Expand Down Expand Up @@ -115,4 +119,71 @@ dependencies {
* implementation("androidx.core:core-splashscreen:1.0.1")
*/
implementation(libs.androidx.core.splashscreen)

/**
* Android Jetpack's Navigation component
*
* https://developer.android.com/guide/navigation
*
*/
implementation(libs.androidx.navigation.fragment.ktx)
implementation(libs.androidx.navigation.ui)

/**
* ViewModel Lifecycle
*
* https://developer.android.com/jetpack/androidx/releases/lifecycle
*/
implementation(libs.androidx.lifecycle.viewmodel.ktx)

/**
* SkeletonLayout
*
* https://github.com/Faltenreich/SkeletonLayout
*/
implementation(libs.skeletonlayout)

/**
* Glide
* BlurTransformation glide-transformations
*
* https://github.com/bumptech/glide
* https://github.com/wasabeef/glide-transformations
*/
implementation(libs.glide)

/**
* Retrofit
*
* https://github.com/square/retrofit
* https://github.com/square/retrofit/tree/trunk/retrofit-converters/kotlinx-serialization
*/
implementation(libs.retrofit)
implementation(libs.converter.kotlinx.serialization)

/**
* OkHttp
*
* https://github.com/square/okhttp
*/
implementation(platform(libs.okhttp.bom))
implementation(libs.okhttp)
implementation(libs.logging.interceptor)

/**
* DI Koin
*
* https://github.com/InsertKoinIO/koin
*/
implementation(libs.koin.core)
implementation(libs.koin.android)
implementation(libs.koin.annotations)
ksp(libs.koin.ksp.compiler)

/**
* SwipeRefreshLayout
*
* https://developer.android.com/develop/ui/views/touch-and-input/swipe/add-swipe-interface
*/
implementation(libs.androidx.swiperefreshlayout)
}
5 changes: 3 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<uses-permission android:name="android.permission.INTERNET" />

<application
android:name=".App"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
Expand All @@ -15,7 +16,7 @@
android:largeHeap="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Sequence"
android:theme="@style/Theme.Sequenia"
tools:targetApi="31">

<activity
Expand All @@ -33,7 +34,7 @@
<activity
android:name=".activity.MainActivity"
android:exported="false"
android:theme="@style/Theme.Sequence"
android:theme="@style/Theme.Sequenia"
android:windowSoftInputMode="adjustResize">

<intent-filter>
Expand Down
17 changes: 0 additions & 17 deletions app/src/main/java/com/sequence/activity/MainActivity.kt

This file was deleted.

This file was deleted.

31 changes: 31 additions & 0 deletions app/src/main/java/com/sequenia/App.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.sequenia

import android.app.Application

import com.sequenia.di.ApiModule
import com.sequenia.di.RepositoryModule
import com.sequenia.di.ViewModelModule

import org.koin.android.ext.koin.androidContext
import org.koin.core.context.startKoin
import org.koin.ksp.generated.module

class App : Application() {
override fun onCreate() {
super.onCreate()

startKoin {
androidContext(this@App)

if (BuildConfig.DEBUG) printLogger()

modules(
listOf(
ApiModule().module,
RepositoryModule().module,
ViewModelModule().module,
)
)
}
}
}
31 changes: 31 additions & 0 deletions app/src/main/java/com/sequenia/activity/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.sequenia.activity

import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import com.sequenia.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)

enableEdgeToEdge()

ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.statusBars())
binding.statusBarBackground.layoutParams.height = systemBars.top
insets
}

WindowCompat.getInsetsController(window, window.decorView).apply {
isAppearanceLightStatusBars = false
isAppearanceLightNavigationBars = false
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.sequence.activity
package com.sequenia.activity

import android.annotation.SuppressLint
import android.content.Intent
Expand Down
Loading