Loading app/build.gradle +5 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,8 @@ dependencies { def hilt_version = '2.40.5' kapt "com.google.dagger:hilt-compiler:$hilt_version" implementation "com.google.dagger:hilt-android:$hilt_version" implementation 'androidx.hilt:hilt-work:1.0.0' kapt 'androidx.hilt:hilt-compiler:1.0.0' // Lifecycle Components def lifecycle_version = "2.4.0" Loading @@ -143,4 +145,7 @@ dependencies { kapt "androidx.room:room-compiler:$roomVersion" implementation "androidx.room:room-ktx:$roomVersion" implementation "androidx.room:room-runtime:$roomVersion" // WorkManager implementation 'androidx.work:work-runtime-ktx:2.7.1' } No newline at end of file app/src/main/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,13 @@ <action android:name="android.intent.action.DOWNLOAD_COMPLETE" /> </intent-filter> </receiver> <!-- If you want to disable android.startup completely. --> <provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" tools:node="remove"> </provider> </application> </manifest> No newline at end of file app/src/main/java/foundation/e/apps/AppLoungeApplication.kt +10 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package foundation.e.apps import android.app.Application import androidx.hilt.work.HiltWorkerFactory import androidx.work.Configuration import dagger.hilt.android.HiltAndroidApp import foundation.e.apps.manager.pkg.PkgManagerBR import foundation.e.apps.manager.pkg.PkgManagerModule Loading @@ -27,10 +29,12 @@ import javax.inject.Inject @HiltAndroidApp @DelicateCoroutinesApi class AppLoungeApplication : Application() { class AppLoungeApplication : Application(), Configuration.Provider { @Inject lateinit var pkgManagerModule: PkgManagerModule @Inject lateinit var workerFactory: HiltWorkerFactory override fun onCreate() { super.onCreate() Loading @@ -39,4 +43,9 @@ class AppLoungeApplication : Application() { val pkgManagerBR = object : PkgManagerBR() {} registerReceiver(pkgManagerBR, pkgManagerModule.getFilter()) } override fun getWorkManagerConfiguration() = Configuration.Builder() .setWorkerFactory(workerFactory) .build() } app/src/main/java/foundation/e/apps/MainActivity.kt +5 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.setupWithNavController import dagger.hilt.android.AndroidEntryPoint import foundation.e.apps.databinding.ActivityMainBinding import foundation.e.apps.updates.UpdatesNotifier import foundation.e.apps.utils.enums.Status import foundation.e.apps.utils.enums.Type import foundation.e.apps.utils.enums.User Loading Loading @@ -115,6 +116,10 @@ class MainActivity : AppCompatActivity() { } } if (intent.hasExtra(UpdatesNotifier.UPDATES_NOTIFICATION_CLICK_EXTRA)) { bottomNavigationView.selectedItemId = R.id.updatesFragment } // Create notification channel on post-nougat devices if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { viewModel.createNotificationChannels() Loading app/src/main/java/foundation/e/apps/manager/download/DownloadManagerBR.kt +6 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.app.DownloadManager import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.util.Log import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.DelicateCoroutinesApi import javax.inject.Inject Loading @@ -33,10 +34,15 @@ class DownloadManagerBR : BroadcastReceiver() { @Inject lateinit var downloadManagerUtils: DownloadManagerUtils companion object { private const val TAG = "DownloadManagerBR" } override fun onReceive(context: Context?, intent: Intent?) { val action = intent?.action if (context != null && action != null) { val id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0) Log.d(TAG, "onReceive: $action") when (action) { DownloadManager.ACTION_DOWNLOAD_COMPLETE -> { if (downloadManagerUtils.downloadStatus(id) == DownloadManager.STATUS_SUCCESSFUL) { Loading Loading
app/build.gradle +5 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,8 @@ dependencies { def hilt_version = '2.40.5' kapt "com.google.dagger:hilt-compiler:$hilt_version" implementation "com.google.dagger:hilt-android:$hilt_version" implementation 'androidx.hilt:hilt-work:1.0.0' kapt 'androidx.hilt:hilt-compiler:1.0.0' // Lifecycle Components def lifecycle_version = "2.4.0" Loading @@ -143,4 +145,7 @@ dependencies { kapt "androidx.room:room-compiler:$roomVersion" implementation "androidx.room:room-ktx:$roomVersion" implementation "androidx.room:room-runtime:$roomVersion" // WorkManager implementation 'androidx.work:work-runtime-ktx:2.7.1' } No newline at end of file
app/src/main/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,13 @@ <action android:name="android.intent.action.DOWNLOAD_COMPLETE" /> </intent-filter> </receiver> <!-- If you want to disable android.startup completely. --> <provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" tools:node="remove"> </provider> </application> </manifest> No newline at end of file
app/src/main/java/foundation/e/apps/AppLoungeApplication.kt +10 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package foundation.e.apps import android.app.Application import androidx.hilt.work.HiltWorkerFactory import androidx.work.Configuration import dagger.hilt.android.HiltAndroidApp import foundation.e.apps.manager.pkg.PkgManagerBR import foundation.e.apps.manager.pkg.PkgManagerModule Loading @@ -27,10 +29,12 @@ import javax.inject.Inject @HiltAndroidApp @DelicateCoroutinesApi class AppLoungeApplication : Application() { class AppLoungeApplication : Application(), Configuration.Provider { @Inject lateinit var pkgManagerModule: PkgManagerModule @Inject lateinit var workerFactory: HiltWorkerFactory override fun onCreate() { super.onCreate() Loading @@ -39,4 +43,9 @@ class AppLoungeApplication : Application() { val pkgManagerBR = object : PkgManagerBR() {} registerReceiver(pkgManagerBR, pkgManagerModule.getFilter()) } override fun getWorkManagerConfiguration() = Configuration.Builder() .setWorkerFactory(workerFactory) .build() }
app/src/main/java/foundation/e/apps/MainActivity.kt +5 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.setupWithNavController import dagger.hilt.android.AndroidEntryPoint import foundation.e.apps.databinding.ActivityMainBinding import foundation.e.apps.updates.UpdatesNotifier import foundation.e.apps.utils.enums.Status import foundation.e.apps.utils.enums.Type import foundation.e.apps.utils.enums.User Loading Loading @@ -115,6 +116,10 @@ class MainActivity : AppCompatActivity() { } } if (intent.hasExtra(UpdatesNotifier.UPDATES_NOTIFICATION_CLICK_EXTRA)) { bottomNavigationView.selectedItemId = R.id.updatesFragment } // Create notification channel on post-nougat devices if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { viewModel.createNotificationChannels() Loading
app/src/main/java/foundation/e/apps/manager/download/DownloadManagerBR.kt +6 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.app.DownloadManager import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.util.Log import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.DelicateCoroutinesApi import javax.inject.Inject Loading @@ -33,10 +34,15 @@ class DownloadManagerBR : BroadcastReceiver() { @Inject lateinit var downloadManagerUtils: DownloadManagerUtils companion object { private const val TAG = "DownloadManagerBR" } override fun onReceive(context: Context?, intent: Intent?) { val action = intent?.action if (context != null && action != null) { val id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0) Log.d(TAG, "onReceive: $action") when (action) { DownloadManager.ACTION_DOWNLOAD_COMPLETE -> { if (downloadManagerUtils.downloadStatus(id) == DownloadManager.STATUS_SUCCESSFUL) { Loading