From 1d9ac485b51be7b488a826b35333aedc4a348ed6 Mon Sep 17 00:00:00 2001 From: Adolfo Santiago Date: Sat, 25 Jun 2022 11:35:12 +0200 Subject: [PATCH] Change Lifecycle callback for open class --- .../com/keylesspalace/tusky/di/AppInjector.kt | 75 ++++++++----------- 1 file changed, 31 insertions(+), 44 deletions(-) diff --git a/husky/app/src/main/java/com/keylesspalace/tusky/di/AppInjector.kt b/husky/app/src/main/java/com/keylesspalace/tusky/di/AppInjector.kt index cd59201..403b7ba 100644 --- a/husky/app/src/main/java/com/keylesspalace/tusky/di/AppInjector.kt +++ b/husky/app/src/main/java/com/keylesspalace/tusky/di/AppInjector.kt @@ -1,80 +1,67 @@ -/* Copyright 2018 charlag +/* + * Husky -- A Pleroma client for Android * - * This file is a part of Tusky. + * Copyright (C) 2022 The Husky Developers + * Copyright (C) 2018 charlag * - * This program is free software; you can redistribute it and/or modify it under the terms of the - * GNU General Public License as published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. * - * Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even - * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - * Public License for more details. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Tusky; if not, - * see . */ + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ package com.keylesspalace.tusky.di import android.app.Activity -import android.app.Application import android.content.Context import android.os.Bundle import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentManager import com.keylesspalace.tusky.TuskyApplication +import com.keylesspalace.tusky.core.ui.callbacks.ActivityCallback import dagger.android.AndroidInjection import dagger.android.HasAndroidInjector import dagger.android.support.AndroidSupportInjection -/** - * Created by charlag on 3/24/18. - */ - object AppInjector { fun init(app: TuskyApplication) { DaggerAppComponent.builder().application(app) - .build().inject(app) + .build().inject(app) - app.registerActivityLifecycleCallbacks(object : Application.ActivityLifecycleCallbacks { + app.registerActivityLifecycleCallbacks(object : ActivityCallback() { override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) { handleActivity(activity) } - - override fun onActivityPaused(activity: Activity) { - } - - override fun onActivityResumed(activity: Activity) { - } - - override fun onActivityStarted(activity: Activity) { - } - - override fun onActivityDestroyed(activity: Activity) { - } - - override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) { - } - - override fun onActivityStopped(activity: Activity) { - } - }) } private fun handleActivity(activity: Activity) { - if (activity is HasAndroidInjector || activity is Injectable) { + if(activity is HasAndroidInjector || activity is Injectable) { AndroidInjection.inject(activity) } - if (activity is FragmentActivity) { + if(activity is FragmentActivity) { activity.supportFragmentManager.registerFragmentLifecycleCallbacks( - object : FragmentManager.FragmentLifecycleCallbacks() { - override fun onFragmentPreAttached(fm: FragmentManager, f: Fragment, context: Context) { - if (f is Injectable) { - AndroidSupportInjection.inject(f) - } + object : FragmentManager.FragmentLifecycleCallbacks() { + override fun onFragmentPreAttached( + fm: FragmentManager, + f: Fragment, + context: Context + ) { + if(f is Injectable) { + AndroidSupportInjection.inject(f) } - }, true) + } + }, true + ) } } }