Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18d791c8 authored by Amit Kumar's avatar Amit Kumar Committed by Amit Kumar
Browse files

Add initial layers for clean architecture

parent d1dee091
Loading
Loading
Loading
Loading
+21 −20
Original line number Diff line number Diff line
import foundation.e.blisslauncher.buildsrc.Libs
import foundation.e.blisslauncher.buildsrc.Versions

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'

// Manifest version information!
def versionMajor = 1
@@ -7,11 +12,11 @@ def versionMinor = 2
def versionPatch = 4

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    compileSdkVersion Versions.compile_sdk
    defaultConfig {
        applicationId "foundation.e.blisslauncher"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        minSdkVersion Versions.min_sdk
        targetSdkVersion Versions.target_sdk
        versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100
        versionName "${versionMajor}.${versionMinor}.${versionPatch}"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -83,38 +88,34 @@ dependencies {
    apiNougatImplementation 'org.cyanogenmod:platform.sdk:6.0'
    apiOreoImplementation files('libs/lineage-sdk.jar')

    debugImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
    debugImplementation 'com.google.firebase:firebase-core:16.0.6'
    debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'

    implementation 'org.greenrobot:eventbus:3.1.1'

    // Support Libs
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibraryVersion}"
    implementation "com.android.support:support-media-compat:${rootProject.ext.supportLibraryVersion}"
    implementation "com.android.support:support-v4:${rootProject.ext.supportLibraryVersion}"
    implementation "com.android.support:recyclerview-v7:${rootProject.ext.supportLibraryVersion}"
    implementation Libs.AndroidX.appcompat
    implementation Libs.AndroidX.recyclerview

    // Rx Java and Android
    implementation "io.reactivex.rxjava2:rxandroid:${rootProject.ext.rxAndroidVersion}"
    implementation "io.reactivex.rxjava2:rxjava:${rootProject.ext.rxJavaVersion}"
    implementation Libs.RxJava.rxAndroid
    implementation Libs.RxJava.rxJava
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'

    // Retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
    implementation Libs.Retrofit.retrofit
    implementation Libs.Retrofit.gsonConverter
    implementation Libs.Retrofit.retrofit_rxjava_adapter

    // Okhttp
    implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'
    implementation Libs.OkHttp.okhttp
    implementation Libs.OkHttp.loggingInterceptor

    // Rx Relay
    implementation "com.jakewharton.rxrelay2:rxrelay:${rootProject.ext.rxRelayVersion}"

    // Room
    implementation "android.arch.persistence.room:runtime:1.1.1"
    annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
    implementation "com.android.support:support-annotations:${rootProject.ext.supportLibraryVersion}"
    implementation Libs.AndroidX.Room.runtime
    annotationProcessor Libs.AndroidX.Room.compiler

    // Unit test dependencies
    testImplementation "junit:junit:${rootProject.ext.junitVersion}"
@@ -138,7 +139,7 @@ dependencies {
    androidTestImplementation "com.android.support.test.espresso:espresso-core:${rootProject.ext.espressoVersion}"
    androidTestImplementation "com.android.support.test:runner:${rootProject.ext.runnerRulesVersion}"
    androidTestImplementation "com.android.support.test:rules:${rootProject.ext.runnerRulesVersion}"
    implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
}

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.getkeepsafe.dexcount'
+17 −4
Original line number Diff line number Diff line
// Top-level build file where you can add configuration options common to all sub-projects/modules.


import foundation.e.blisslauncher.buildsrc.Libs

buildscript {
    repositories {
        google()
@@ -9,15 +12,21 @@ buildscript {
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        classpath 'io.fabric.tools:gradle:1.26.1'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.6'
        classpath Libs.androidGradlePlugin

        classpath Libs.Kotlin.gradlePlugin
        classpath Libs.Kotlin.extensions

        classpath Libs.Google.fabricPlugin
        classpath Libs.Google.gmsGoogleServices

        classpath Libs.dexcountGradlePlugin
    }
}

plugins {
    id "com.diffplug.gradle.spotless" version "3.14.0"
    id 'com.github.ben-manes.versions' version "0.25.0"
}

allprojects {
@@ -36,6 +45,10 @@ subprojects {
            target '**/*.java'
            removeUnusedImports() // removes any unused imports
        }
        kotlin {
            target "**/*.kt"
            ktlint()
        }
    }
}

+7 −0
Original line number Diff line number Diff line
repositories {
    jcenter()
}

plugins {
    `kotlin-dsl`
}
 No newline at end of file
+127 −0
Original line number Diff line number Diff line
package foundation.e.blisslauncher.buildsrc

object Versions {
    const val compile_sdk = 28
    const val min_sdk = 23
    const val target_sdk = 28
    const val android_gradle_plugin = "3.5.0"
    const val dexcount_gradle_plugin = "0.8.6"
    const val kotlin = "1.3.41"
    const val timber = "4.7.1"
    const val junit = "4.12"
    const val robolectric = "4.3"
    const val mockK = "1.9.3"
    const val firebase_core = "17.1.0"
    const val crashlytics = "2.10.1"
    const val google_services = "4.3.0"
    const val fabric = "1.31.0"
    const val okhttp = "4.1.0"
    const val retrofit = "2.6.1"
    const val dagger = "2.24"
    const val rxjava = "2.2.11"
    const val rxandroid = "2.1.1"
    const val rxkotlin = "2.4.0"
    const val ktlint = "0.34.2"
}

object Libs {
    const val androidGradlePlugin = "com.android.tools.build:gradle:${Versions.android_gradle_plugin}"
    const val dexcountGradlePlugin = "com.getkeepsafe.dexcount:dexcount-gradle-plugin:${Versions.dexcount_gradle_plugin}"

    const val timber = "com.jakewharton.timber:timber:${Versions.timber}"

    const val junit = "junit:junit:${Versions.junit}"
    const val robolectric = "org.robolectric:robolectric:${Versions.robolectric}"
    const val mockK = "io.mockk:mockk:${Versions.mockK}"

    object Google {
        const val firebaseCore = "com.google.firebase:firebase-core:${Versions.firebase_core}"
        const val crashlytics = "com.crashlytics.sdk.android:crashlytics:${Versions.crashlytics}"
        const val gmsGoogleServices = "com.google.gms:google-services:${Versions.google_services}"
        const val fabricPlugin = "io.fabric.tools:gradle:${Versions.fabric}"
    }

    object Kotlin {
        const val stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Versions.kotlin}"
        const val reflect = "org.jetbrains.kotlin:kotlin-reflect:${Versions.kotlin}"
        const val gradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}"
        const val extensions = "org.jetbrains.kotlin:kotlin-android-extensions:${Versions.kotlin}"
    }

    object AndroidX {
        const val appcompat = "androidx.appcompat:appcompat:1.1.0-rc01"
        const val collection = "androidx.collection:collection-ktx:1.1.0"
        const val palette = "androidx.palette:palette:1.0.0"
        const val recyclerview = "androidx.recyclerview:recyclerview:1.1.0-beta03"

        object Navigation {
            private const val version = "2.2.0-alpha01"
            const val fragment = "androidx.navigation:navigation-fragment-ktx:$version"
            const val ui = "androidx.navigation:navigation-ui-ktx:$version"
            const val safeArgs = "androidx.navigation:navigation-safe-args-gradle-plugin:$version"
        }

        object Fragment {
            private const val version = "1.2.0-alpha02"
            const val fragment = "androidx.fragment:fragment:$version"
            const val fragmentKtx = "androidx.fragment:fragment-ktx:$version"
        }

        object Test {
            private const val version = "1.2.0"
            const val core = "androidx.test:core:$version"
            const val runner = "androidx.test:runner:$version"
            const val rules = "androidx.test:rules:$version"

            const val espressoCore = "androidx.test.espresso:espresso-core:3.2.0"
        }

        const val archCoreTesting = "androidx.arch.core:core-testing:2.0.1"

        const val preference = "androidx.preference:preference:1.1.0-rc01"

        const val constraintlayout = "androidx.constraintlayout:constraintlayout:2.0.0-beta2"

        const val coreKtx = "androidx.core:core-ktx:1.2.0-alpha03"

        object Lifecycle {
            private const val version = "2.2.0-alpha03"
            const val extensions = "androidx.lifecycle:lifecycle-extensions:$version"
            const val compiler = "androidx.lifecycle:lifecycle-compiler:$version"
            const val viewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:$version"
        }

        object Room {
            private const val version = "2.2.0-beta01"
            const val common = "androidx.room:room-common:$version"
            const val runtime = "androidx.room:room-runtime:$version"
            const val compiler = "androidx.room:room-compiler:$version"
            const val ktx = "androidx.room:room-ktx:$version"
            const val testing = "androidx.room:room-testing:$version"
        }
    }

    object RxJava {
        const val rxJava = "io.reactivex.rxjava2:rxjava:${Versions.rxjava}"
        const val rxAndroid = "io.reactivex.rxjava2:rxandroid:${Versions.rxandroid}"
        const val rxKotlin = "io.reactivex.rxjava2:rxkotlin:${Versions.rxkotlin}"
    }

    object Dagger {
        const val dagger = "com.google.dagger:dagger:${Versions.dagger}"
        const val androidSupport = "com.google.dagger:dagger-android-support:${Versions.dagger}"
        const val compiler = "com.google.dagger:dagger-compiler:${Versions.dagger}"
        const val androidProcessor = "com.google.dagger:dagger-android-processor:${Versions.dagger}"
    }

    object Retrofit {
        const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
        const val retrofit_rxjava_adapter = "com.squareup.retrofit2:adapter-rxjava2:${Versions.retrofit}"
        const val gsonConverter = "com.squareup.retrofit2:converter-gson:${Versions.retrofit}"
    }

    object OkHttp {
        const val okhttp = "com.squareup.okhttp3:okhttp:${Versions.okhttp}"
        const val loggingInterceptor = "com.squareup.okhttp3:logging-interceptor:${Versions.okhttp}"
    }
}
 No newline at end of file

data/.gitignore

0 → 100644
+1 −0
Original line number Diff line number Diff line
/build
Loading