Skip to content

Commit

Permalink
Reduce start up time (owlmail#89)
Browse files Browse the repository at this point in the history
  • Loading branch information
sachin2dehury committed Jun 27, 2023
1 parent b6cd2d2 commit cd54a6f
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 12 deletions.
1 change: 1 addition & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ dependencies {
kapt Dependencies.RoomCompiler

implementation Dependencies.BaselineProfileInstaller
implementation Dependencies.StartUp

implementation(project(Modules.Auth))
implementation(project(Modules.Mail))
Expand Down
18 changes: 16 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,24 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="github.owlmail.app.androidx-startup"
android:name="com.google.firebase.provider.FirebaseInitProvider"
android:authorities="${applicationId}.FirebaseInitProvider"
android:exported="false"
tools:node="remove" />
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<meta-data
android:name="github.owlmail.app.initializer.FirebaseInitializer"
android:value="androidx.startup" />
<meta-data
android:name="github.owlmail.app.initializer.StethoInitializer"
android:value="androidx.startup" />
</provider>
</application>

</manifest>
10 changes: 0 additions & 10 deletions app/src/main/kotlin/github/owlmail/app/OwlMailApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package github.owlmail.app
import android.app.Application
import androidx.hilt.work.HiltWorkerFactory
import androidx.work.Configuration
import com.facebook.stetho.Stetho
import com.google.firebase.FirebaseApp
import dagger.hilt.android.HiltAndroidApp
import javax.inject.Inject

Expand All @@ -17,12 +15,4 @@ class OwlMailApp : Application(), Configuration.Provider {
Configuration.Builder()
.setWorkerFactory(workerFactory)
.build()

override fun onCreate() {
super.onCreate()
FirebaseApp.initializeApp(this)
if (BuildConfig.DEBUG) {
Stetho.initializeWithDefaults(this)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package github.owlmail.app.initializer

import android.content.Context
import androidx.startup.Initializer
import com.google.firebase.FirebaseApp

class FirebaseInitializer : Initializer<Unit> {

override fun create(context: Context) {
FirebaseApp.initializeApp(context)
}

override fun dependencies(): List<Class<out Initializer<*>>> {
return emptyList()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package github.owlmail.app.initializer

import android.content.Context
import androidx.startup.Initializer
import com.facebook.stetho.Stetho
import github.owlmail.app.BuildConfig

class StethoInitializer : Initializer<Unit> {
override fun create(context: Context) {
if (BuildConfig.DEBUG) {
Stetho.initializeWithDefaults(context)
}
}

override fun dependencies(): List<Class<out Initializer<*>>> {
return emptyList()
}
}
2 changes: 2 additions & 0 deletions buildSrc/src/main/kotlin/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,6 @@ object Dependencies {
// Baseline Profile installer
const val BaselineProfileInstaller =
"androidx.profileinstaller:profileinstaller:${DependencyVersion.BaselineProfileInstaller}"

const val StartUp = "androidx.startup:startup-runtime:${DependencyVersion.StartUp}"
}
2 changes: 2 additions & 0 deletions buildSrc/src/main/kotlin/DependencyVersion.kt
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,6 @@ object DependencyVersion {

// Baseline Profile installer
const val BaselineProfileInstaller = "1.2.2"

const val StartUp = "1.1.1"
}

0 comments on commit cd54a6f

Please sign in to comment.