Skip to content

Commit

Permalink
Merge pull request #886 from StepicOrg/feature/APPS_3455_update_fireb…
Browse files Browse the repository at this point in the history
…ase_dependencies

APPS-3455: Update Firebase dependencies
  • Loading branch information
rostikjoystick authored Sep 28, 2021
2 parents 7c6f09e + 3047a17 commit 34d2b44
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 28 deletions.
1 change: 1 addition & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ dependencies {

implementation libraries.playCore
implementation libraries.playCoreKtx
implementation platform(libraries.firebaseBoM)
implementation libraries.firebaseMessaging
implementation libraries.firebaseAnalytics
implementation libraries.firebaseAppindexing
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.stepik.android.domain.debug.interactor

import com.facebook.login.LoginManager
import com.google.firebase.iid.FirebaseInstanceId
import com.google.firebase.messaging.FirebaseMessaging
import com.vk.api.sdk.VK
import io.reactivex.Completable
import io.reactivex.Single
Expand All @@ -15,7 +15,7 @@ import javax.inject.Inject
class DebugInteractor
@Inject
constructor(
private val firebaseInstanceId: FirebaseInstanceId,
private val firebaseMessaging: FirebaseMessaging,
private val sharedPreferenceHelper: SharedPreferenceHelper,
private val logoutManager: StepikLogoutManager
) {
Expand All @@ -40,9 +40,9 @@ constructor(

private fun getFirebaseToken(): Single<String> =
Single.create { emitter ->
firebaseInstanceId
.instanceId
.addOnSuccessListener { instanceIdResult -> emitter.onSuccess(instanceIdResult.token) }
firebaseMessaging
.token
.addOnSuccessListener { result -> emitter.onSuccess(result) }
.addOnFailureListener(emitter::onError)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ package org.stepic.droid.core

import android.content.Context
import androidx.annotation.WorkerThread
import com.google.firebase.iid.FirebaseInstanceId
import com.google.android.gms.tasks.Tasks
import com.google.firebase.messaging.FirebaseMessaging
import org.stepic.droid.analytic.Analytic
import org.stepic.droid.di.AppSingleton
import org.stepic.droid.preferences.SharedPreferenceHelper
Expand All @@ -17,18 +18,17 @@ class StepikDevicePosterImpl
@Inject
constructor(
private val context: Context,
private val firebaseInstanceId: FirebaseInstanceId,
private val firebaseMessaging: FirebaseMessaging,
private val deviceRepository: DeviceRepository,
private val sharedPreferencesHelper: SharedPreferenceHelper,
private val analytic: Analytic
) : StepikDevicePoster {

@WorkerThread
override fun registerDevice() {
val tokenNullable: String? = firebaseInstanceId.token
try {
val token = Tasks.await(firebaseMessaging.token)
sharedPreferencesHelper.authResponseFromStore!! //for logged user only work
val token = tokenNullable!!

try {
deviceRepository.registerDevice(createDeviceRequest(token)).blockingAwait()
Expand Down
14 changes: 12 additions & 2 deletions app/src/main/java/org/stepic/droid/di/FirebaseModule.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package org.stepic.droid.di

import com.google.firebase.iid.FirebaseInstanceId
import android.content.Context
import com.google.firebase.appindexing.FirebaseAppIndex
import com.google.firebase.appindexing.FirebaseUserActions
import com.google.firebase.messaging.FirebaseMessaging
import dagger.Module
import dagger.Provides

Expand All @@ -9,6 +12,13 @@ class FirebaseModule {

@Provides
@AppSingleton
fun provideFirebaseInstanceId(): FirebaseInstanceId = FirebaseInstanceId.getInstance()
fun provideFirebaseMessaging(): FirebaseMessaging = FirebaseMessaging.getInstance()

@Provides
@AppSingleton
fun provideFirebaseAppIndex(context: Context): FirebaseAppIndex = FirebaseAppIndex.getInstance(context)

@Provides
@AppSingleton
fun provideFirebaseUserActions(context: Context): FirebaseUserActions = FirebaseUserActions.getInstance(context)
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,24 @@ import javax.inject.Inject
class CourseIndexingInteractor
@Inject
constructor(
private val endpointResolver: EndpointResolver
private val endpointResolver: EndpointResolver,
private val firebaseAppIndex: FirebaseAppIndex,
private val firebaseUserActions: FirebaseUserActions
) {
private var action: Action? = null

fun startIndexing(course: Course) {
val title = course.title ?: return
val uri = StringUtil.getUriForCourse(endpointResolver.getBaseUrl(), course.slug ?: return)

FirebaseAppIndex.getInstance().update(Indexables.newSimple(title, uri))
firebaseAppIndex.update(Indexables.newSimple(title, uri))

action = Actions.newView(title, uri)
action?.let(FirebaseUserActions.getInstance()::start)
action?.let(firebaseUserActions::start)
}

fun endIndexing() {
action?.let(FirebaseUserActions.getInstance()::end)
action?.let(firebaseUserActions::end)
action = null
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,21 @@ class StepIndexingInteractor
@Inject
constructor(
private val context: Context,
private val firebaseAppIndex: FirebaseAppIndex,
private val firebaseUserActions: FirebaseUserActions,
private val endpointResolver: EndpointResolver
) {
private var action: Action? = null

fun startIndexing(unit: Unit?, lesson: Lesson, step: Step) {
FirebaseAppIndex.getInstance().update(newIndexable(unit, lesson, step))
firebaseAppIndex.update(newIndexable(unit, lesson, step))

action = newAction(unit, lesson, step)
action?.let(FirebaseUserActions.getInstance()::start)
action?.let(firebaseUserActions::start)
}

fun endIndexing() {
action?.let(FirebaseUserActions.getInstance()::end)
action?.let(firebaseUserActions::end)
action = null
}

Expand Down
17 changes: 7 additions & 10 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,7 @@ ext.versions = [
playCore : '1.8.2',
playCoreKtx : '1.8.1',
googleauth : '18.1.0',
firebaseAnalytics : '17.4.3',
firebaseAppindexing : '19.1.0',
firebaseConfig : '19.1.4',
firebaseMessaging : '20.2.1',
firebasePerf : '19.0.7',
firebaseBoM : '28.4.1',

checkout : '1.2.1',

Expand Down Expand Up @@ -191,11 +187,12 @@ ext.libraries = [
playCore : "com.google.android.play:core:$versions.playCore",
playCoreKtx : "com.google.android.play:core-ktx:$versions.playCoreKtx",
googleauth : "com.google.android.gms:play-services-auth:$versions.googleauth",
firebaseAnalytics : "com.google.firebase:firebase-analytics-ktx:$versions.firebaseAnalytics",
firebaseAppindexing : "com.google.firebase:firebase-appindexing:$versions.firebaseAppindexing",
firebaseConfig : "com.google.firebase:firebase-config-ktx:$versions.firebaseConfig",
firebaseMessaging : "com.google.firebase:firebase-messaging:$versions.firebaseMessaging",
firebasePerf : "com.google.firebase:firebase-perf:$versions.firebasePerf",
firebaseBoM : "com.google.firebase:firebase-bom:$versions.firebaseBoM",
firebaseAnalytics : "com.google.firebase:firebase-analytics-ktx",
firebaseAppindexing : "com.google.firebase:firebase-appindexing",
firebaseConfig : "com.google.firebase:firebase-config-ktx",
firebaseMessaging : "com.google.firebase:firebase-messaging",
firebasePerf : "com.google.firebase:firebase-perf",

checkout : "org.solovyev.android:checkout:$versions.checkout",

Expand Down

0 comments on commit 34d2b44

Please sign in to comment.