Skip to content

Commit

Permalink
Merge pull request #6 from Akashkamble/migrate_to_alpha
Browse files Browse the repository at this point in the history
Migrate to Dagger Hilt and Jetpack Compose alpha.
  • Loading branch information
Akashkamble committed Aug 29, 2020
2 parents 9e1220c + 4bbc220 commit bdf4228
Show file tree
Hide file tree
Showing 41 changed files with 996 additions and 879 deletions.
6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ News App built with JetPack Compose

## The app contains following libraries

- [Jetpack Compose(v0.1.0-dev14)] (https://developer.android.com/jetpack/compose) (UI)
- [Jetpack Compose](https://developer.android.com/jetpack/compose) (UI)

- [Koin](https://insert-koin.io/) (Dependency Injection)
- [Dagger-Hilt](https://dagger.dev/hilt/) (Dependency Injection)

- [LifeCycle Components](https://developer.android.com/topic/libraries/architecture/livedata) (ViewModel and LiveData)

- [Kotlin Corountines](https://kotlinlang.org/docs/reference/coroutines-overview.html) (Asynchronous programming)
- [Kotlin Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) (Asynchronous programming)

- [Retrofit](https://square.github.io/retrofit/) (Networking)

Expand Down
53 changes: 32 additions & 21 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'dagger.hilt.android.plugin'


android {
compileSdkVersion 29

defaultConfig {
applicationId "com.akash.newzz_compose"
applicationId "com.akash.newzzcompose"
minSdkVersion 21
targetSdkVersion 29
versionCode 2
versionName "0.0.2"
versionCode 3
versionName "0.0.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

Expand All @@ -28,51 +29,61 @@ android {
}
kotlinOptions {
jvmTarget = '1.8'
useIR = true
}
buildFeatures {
compose true
}

composeOptions {
kotlinCompilerVersion "1.3.70-dev-withExperimentalGoogleExtensions-20200424"
kotlinCompilerExtensionVersion "0.1.0-dev14"
kotlinCompilerVersion "$kotlin_version"
kotlinCompilerExtensionVersion "$compose_version"
}
}

dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation project(':data')
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation "androidx.activity:activity-ktx:1.1.0"
implementation 'android.arch.lifecycle:extensions:1.1.1'

/* ---------------------JetPack Compose-----------------------------*/
implementation("androidx.compose:compose-runtime:$compose_version")
implementation("androidx.ui:ui-core:$compose_version")
implementation "androidx.ui:ui-layout:$compose_version"
implementation "androidx.ui:ui-material:$compose_version"
implementation "androidx.ui:ui-tooling:$compose_version"
implementation "androidx.ui:ui-livedata:$compose_version"
implementation("androidx.compose.runtime:runtime:$compose_version")
implementation("androidx.compose.runtime:runtime-livedata:$compose_version")
implementation("androidx.compose.foundation:foundation:$compose_version")
implementation("androidx.compose.foundation:foundation-layout:$compose_version")

implementation("androidx.compose.ui:ui:$compose_version")
implementation("androidx.compose.material:material:$compose_version")
implementation("androidx.compose.material:material-icons-extended:$compose_version")

implementation("androidx.ui:ui-tooling:$compose_version")

/* ---------------------LifeCycle Extension-----------------------------*/
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"

/*-----------------------Koin-------------------------------------*/
implementation "org.koin:koin-android:$koin_version"
implementation "org.koin:koin-android-viewmodel:$koin_version"
/*------------------------Dagger Hilt----------------------------------*/
implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-android-compiler:$hilt_version"

implementation "androidx.hilt:hilt-lifecycle-viewmodel:$hilt_jetpack_config_version"
kapt "androidx.hilt:hilt-compiler:$hilt_jetpack_config_version"

/*---------------------ChromeCustomTab------------------------------*/
implementation 'androidx.browser:browser:1.3.0-alpha04'
implementation 'androidx.browser:browser:1.3.0-alpha05'

/*---------------------CoilImageLoader------------------------------*/
implementation "dev.chrisbanes.accompanist:accompanist-coil:0.1.6"
implementation "dev.chrisbanes.accompanist:accompanist-coil:0.2.0"

/*----------------------------Moshi-------------------------------------*/
implementation 'com.squareup.moshi:moshi:1.9.1'


testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

}
17 changes: 0 additions & 17 deletions app/src/main/java/com/akash/newzz_compose/Category.kt

This file was deleted.

14 changes: 3 additions & 11 deletions app/src/main/java/com/akash/newzz_compose/NewzzApplication.kt
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
package com.akash.newzz_compose

import com.akash.newzz.data.BaseApplication
import com.akash.newzz_compose.di.appModule
import org.koin.android.ext.koin.androidContext
import org.koin.android.ext.koin.androidLogger
import org.koin.core.context.startKoin
import dagger.hilt.android.HiltAndroidApp

/**
* Created by Akash on 06/06/20
* Created by Akash on 28/08/20
*/
@HiltAndroidApp
class NewzzApplication : BaseApplication() {

override fun onCreate() {
super.onCreate()
startKoin {
androidLogger()
androidContext(this@NewzzApplication)
modules(appModule)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.akash.newzz_compose.di

import com.akash.newzz.data.apiservice.NewzzApiService
import com.akash.newzz.data.repository.NewsRepository
import com.akash.newzz.data.repository.NewsRepositoryImpl
import com.squareup.moshi.Moshi
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.components.ActivityComponent
import dagger.hilt.android.scopes.ActivityScoped

/**
* Created by Akash on 28/08/20
*/

@Module
@InstallIn(ActivityComponent::class)
object NewzzActivityModule {

@Provides
@ActivityScoped
fun provideNewsApiService(): NewzzApiService = NewzzApiService()

@Provides
@ActivityScoped
fun provideNewsRepo(
apiService: NewzzApiService,
moshi: Moshi
): NewsRepository = NewsRepositoryImpl(apiService, moshi)

@Provides
@ActivityScoped
fun provideMoshi(): Moshi = Moshi.Builder().build()
}
20 changes: 0 additions & 20 deletions app/src/main/java/com/akash/newzz_compose/di/module.kt

This file was deleted.

34 changes: 34 additions & 0 deletions app/src/main/java/com/akash/newzz_compose/other/Category.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.akash.newzz_compose.other

import com.akash.newzz_compose.R

/**
* Created by Akash on 28/08/20
*/

interface Category {
val category: String
val icon: Int
}

data class General(
override val category: String = "general",
override val icon: Int = R.drawable.ic_general
) : Category

data class Business(
override val category: String = "business",
override val icon: Int = R.drawable.ic_business
) : Category

data class Technology(
override val category: String = "technology",
override val icon: Int = R.drawable.ic_tech
) : Category

fun getTitleResource(activeCategory: Category): Int = when (activeCategory) {
is General -> R.string.title_general
is Business -> R.string.title_business
is Technology -> R.string.title_technology
else -> throw IllegalAccessException("Page number is invalid")
}
34 changes: 0 additions & 34 deletions app/src/main/java/com/akash/newzz_compose/style/Color.kt

This file was deleted.

33 changes: 0 additions & 33 deletions app/src/main/java/com/akash/newzz_compose/style/TextStyle.kt

This file was deleted.

24 changes: 0 additions & 24 deletions app/src/main/java/com/akash/newzz_compose/style/Theme.kt

This file was deleted.

Loading

0 comments on commit bdf4228

Please sign in to comment.