Skip to content

Commit

Permalink
Fix part of #1433: Introduce the Oppia Logger and move analytics logg…
Browse files Browse the repository at this point in the history
…ing to it (#1499)

* Add an oppia logger directory

* Move analytics controller to oppia logger

* Modify usage of analytics controller

* OppiaLoggerTest introduction

* Lint fixes

* More lint fixes

* Review changes

* Fix KDoc of oppia logger

* Fix subtopic data type change

* Fix comment in AnalyticsController

* Remove comment from OppiaLogger
  • Loading branch information
vinitamurthi authored Jul 28, 2020
1 parent 6413885 commit 5c5b8fc
Show file tree
Hide file tree
Showing 15 changed files with 367 additions and 222 deletions.
6 changes: 3 additions & 3 deletions app/src/main/java/org/oppia/app/home/HomeFragmentPresenter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import org.oppia.app.model.Profile
import org.oppia.app.model.ProfileId
import org.oppia.app.model.TopicList
import org.oppia.app.model.TopicSummary
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.oppialogger.OppiaLogger
import org.oppia.domain.profile.ProfileManagementController
import org.oppia.domain.topic.TopicListController
import org.oppia.util.data.AsyncResult
Expand All @@ -43,7 +43,7 @@ class HomeFragmentPresenter @Inject constructor(
private val topicListController: TopicListController,
private val oppiaClock: OppiaClock,
private val logger: ConsoleLogger,
private val analyticsController: AnalyticsController
private val oppiaLogger: OppiaLogger
) {
private val routeToTopicListener = activity as RouteToTopicListener
private val itemList: MutableList<HomeItemViewModel> = ArrayList()
Expand Down Expand Up @@ -204,7 +204,7 @@ class HomeFragmentPresenter @Inject constructor(
}

private fun logHomeActivityEvent() {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_HOME,
/* eventContext= */ null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ import org.oppia.app.databinding.ExplorationFragmentBinding
import org.oppia.app.fragment.FragmentScope
import org.oppia.app.model.EventLog
import org.oppia.app.player.state.StateFragment
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.oppialogger.OppiaLogger
import org.oppia.util.system.OppiaClock
import javax.inject.Inject

/** The presenter for [ExplorationFragment]. */
@FragmentScope
class ExplorationFragmentPresenter @Inject constructor(
private val fragment: Fragment,
private val analyticsController: AnalyticsController,
private val oppiaLogger: OppiaLogger,
private val oppiaClock: OppiaClock
) {
fun handleCreateView(
Expand Down Expand Up @@ -71,10 +71,10 @@ class ExplorationFragmentPresenter @Inject constructor(
}

private fun logPracticeFragmentEvent(topicId: String, storyId: String, explorationId: String) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_EXPLORATION_ACTIVITY,
analyticsController.createExplorationContext(topicId, storyId, explorationId)
oppiaLogger.createExplorationContext(topicId, storyId, explorationId)
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import org.oppia.app.model.EventLog
import org.oppia.app.model.ProfileChooserUiModel
import org.oppia.app.recyclerview.BindableAdapter
import org.oppia.app.viewmodel.ViewModelProvider
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.oppialogger.OppiaLogger
import org.oppia.domain.profile.ProfileManagementController
import org.oppia.util.data.AsyncResult
import org.oppia.util.logging.ConsoleLogger
Expand Down Expand Up @@ -67,7 +67,7 @@ class ProfileChooserFragmentPresenter @Inject constructor(
private val logger: ConsoleLogger,
private val viewModelProvider: ViewModelProvider<ProfileChooserViewModel>,
private val profileManagementController: ProfileManagementController,
private val analyticsController: AnalyticsController,
private val oppiaLogger: OppiaLogger,
private val oppiaClock: OppiaClock
) {
private lateinit var binding: ProfileChooserFragmentBinding
Expand Down Expand Up @@ -253,7 +253,7 @@ class ProfileChooserFragmentPresenter @Inject constructor(
}

private fun logProfileChooserEvent() {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_PROFILE_CHOOSER,
/* Event Context */ null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ import org.oppia.app.story.storyitemviewmodel.StoryChapterSummaryViewModel
import org.oppia.app.story.storyitemviewmodel.StoryHeaderViewModel
import org.oppia.app.story.storyitemviewmodel.StoryItemViewModel
import org.oppia.app.viewmodel.ViewModelProvider
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.oppialogger.OppiaLogger
import org.oppia.util.system.OppiaClock
import javax.inject.Inject

/** The presenter for [StoryFragment]. */
class StoryFragmentPresenter @Inject constructor(
private val activity: AppCompatActivity,
private val fragment: Fragment,
private val analyticsController: AnalyticsController,
private val oppiaLogger: OppiaLogger,
private val oppiaClock: OppiaClock,
private val viewModelProvider: ViewModelProvider<StoryViewModel>
) {
Expand Down Expand Up @@ -160,10 +160,10 @@ class StoryFragmentPresenter @Inject constructor(
}

private fun logStoryActivityEvent(topicId: String, storyId: String) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_STORY_ACTIVITY,
analyticsController.createStoryContext(topicId, storyId)
oppiaLogger.createStoryContext(topicId, storyId)
)
}
}
20 changes: 10 additions & 10 deletions app/src/main/java/org/oppia/app/topic/TopicFragmentPresenter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import org.oppia.app.databinding.TopicFragmentBinding
import org.oppia.app.fragment.FragmentScope
import org.oppia.app.model.EventLog
import org.oppia.app.viewmodel.ViewModelProvider
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.oppialogger.OppiaLogger
import org.oppia.util.system.OppiaClock
import javax.inject.Inject

Expand All @@ -22,7 +22,7 @@ class TopicFragmentPresenter @Inject constructor(
private val activity: AppCompatActivity,
private val fragment: Fragment,
private val viewModelProvider: ViewModelProvider<TopicViewModel>,
private val analyticsController: AnalyticsController,
private val oppiaLogger: OppiaLogger,
private val oppiaClock: OppiaClock
) {
private lateinit var tabLayout: TabLayout
Expand Down Expand Up @@ -104,34 +104,34 @@ class TopicFragmentPresenter @Inject constructor(
}

private fun logInfoFragmentEvent(topicId: String) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_INFO_TAB,
analyticsController.createTopicContext(topicId)
oppiaLogger.createTopicContext(topicId)
)
}

private fun logLessonsFragmentEvent(topicId: String) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_LESSONS_TAB,
analyticsController.createTopicContext(topicId)
oppiaLogger.createTopicContext(topicId)
)
}

private fun logPracticeFragmentEvent(topicId: String) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_PRACTICE_TAB,
analyticsController.createTopicContext(topicId)
oppiaLogger.createTopicContext(topicId)
)
}

private fun logRevisionFragmentEvent(topicId: String) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_REVISION_TAB,
analyticsController.createTopicContext(topicId)
oppiaLogger.createTopicContext(topicId)
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ import org.oppia.app.databinding.ConceptCardFragmentBinding
import org.oppia.app.fragment.FragmentScope
import org.oppia.app.model.EventLog
import org.oppia.app.viewmodel.ViewModelProvider
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.oppialogger.OppiaLogger
import org.oppia.util.system.OppiaClock
import javax.inject.Inject

/** Presenter for [ConceptCardFragment], sets up bindings from ViewModel */
@FragmentScope
class ConceptCardFragmentPresenter @Inject constructor(
private val fragment: Fragment,
private val analyticsController: AnalyticsController,
private val oppiaLogger: OppiaLogger,
private val oppiaClock: OppiaClock,
private val viewModelProvider: ViewModelProvider<ConceptCardViewModel>
) {
Expand Down Expand Up @@ -59,10 +59,10 @@ class ConceptCardFragmentPresenter @Inject constructor(
}

private fun logConceptCardEvent(skillId: String) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_CONCEPT_CARD,
analyticsController.createConceptCardContext(skillId)
oppiaLogger.createConceptCardContext(skillId)
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,11 @@ import org.oppia.app.fragment.FragmentScope
import org.oppia.app.model.ProfileId
import org.oppia.app.model.Topic
import org.oppia.app.viewmodel.ViewModelProvider
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.topic.TopicController
import org.oppia.util.data.AsyncResult
import org.oppia.util.gcsresource.DefaultResourceBucketName
import org.oppia.util.logging.ConsoleLogger
import org.oppia.util.parser.HtmlParser
import org.oppia.util.system.OppiaClock
import javax.inject.Inject

/** The presenter for [TopicInfoFragment]. */
Expand All @@ -30,8 +28,6 @@ class TopicInfoFragmentPresenter @Inject constructor(
private val logger: ConsoleLogger,
private val topicController: TopicController,
private val htmlParserFactory: HtmlParser.Factory,
private val analyticsController: AnalyticsController,
private val oppiaClock: OppiaClock,
@DefaultResourceBucketName private val resourceBucketName: String
) {
private lateinit var binding: TopicInfoFragmentBinding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import org.oppia.app.model.StorySummary
import org.oppia.app.model.Topic
import org.oppia.app.topic.RouteToStoryListener
import org.oppia.domain.exploration.ExplorationDataController
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.topic.TopicController
import org.oppia.util.data.AsyncResult
import org.oppia.util.logging.ConsoleLogger
Expand All @@ -32,7 +31,6 @@ class TopicLessonsFragmentPresenter @Inject constructor(
private val logger: ConsoleLogger,
private val explorationDataController: ExplorationDataController,
private val topicController: TopicController,
private val analyticsController: AnalyticsController,
private val oppiaClock: OppiaClock
) : StorySummarySelector, ChapterSummarySelector {
private val routeToExplorationListener = activity as RouteToExplorationListener
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import org.oppia.app.player.stopplaying.RestartPlayingSessionListener
import org.oppia.app.player.stopplaying.StopStatePlayingSessionListener
import org.oppia.app.utility.SplitScreenManager
import org.oppia.app.viewmodel.ViewModelProvider
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.oppialogger.OppiaLogger
import org.oppia.domain.question.QuestionAssessmentProgressController
import org.oppia.util.data.AsyncResult
import org.oppia.util.gcsresource.QuestionResourceBucketName
Expand All @@ -43,7 +43,7 @@ class QuestionPlayerFragmentPresenter @Inject constructor(
private val fragment: Fragment,
private val viewModelProvider: ViewModelProvider<QuestionPlayerViewModel>,
private val questionAssessmentProgressController: QuestionAssessmentProgressController,
private val analyticsController: AnalyticsController,
private val oppiaLogger: OppiaLogger,
private val oppiaClock: OppiaClock,
private val logger: ConsoleLogger,
@QuestionResourceBucketName private val resourceBucketName: String,
Expand Down Expand Up @@ -411,10 +411,10 @@ class QuestionPlayerFragmentPresenter @Inject constructor(
}

private fun logQuestionPlayerEvent(questionId: String, skillIds: List<String>) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_QUESTION_PLAYER,
analyticsController.createQuestionContext(
oppiaLogger.createQuestionContext(
questionId,
skillIds
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,13 @@ import org.oppia.app.recyclerview.BindableAdapter
import org.oppia.app.topic.RouteToRevisionCardListener
import org.oppia.app.topic.revision.revisionitemviewmodel.TopicRevisionItemViewModel
import org.oppia.app.viewmodel.ViewModelProvider
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.util.system.OppiaClock
import javax.inject.Inject

/** The presenter for [TopicRevisionFragment]. */
@FragmentScope
class TopicRevisionFragmentPresenter @Inject constructor(
activity: AppCompatActivity,
private val fragment: Fragment,
private val analyticsController: AnalyticsController,
private val oppiaClock: OppiaClock,
private val viewModelProvider: ViewModelProvider<TopicRevisionViewModel>
) : RevisionSubtopicSelector {
private lateinit var binding: TopicRevisionFragmentBinding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import org.oppia.app.databinding.RevisionCardFragmentBinding
import org.oppia.app.fragment.FragmentScope
import org.oppia.app.model.EventLog
import org.oppia.app.viewmodel.ViewModelProvider
import org.oppia.domain.oppialogger.analytics.AnalyticsController
import org.oppia.domain.oppialogger.OppiaLogger
import org.oppia.util.system.OppiaClock
import javax.inject.Inject

/** Presenter for [RevisionCardFragment], sets up bindings from ViewModel. */
@FragmentScope
class RevisionCardFragmentPresenter @Inject constructor(
private val fragment: Fragment,
private val analyticsController: AnalyticsController,
private val oppiaLogger: OppiaLogger,
private val oppiaClock: OppiaClock,
private val viewModelProvider: ViewModelProvider<RevisionCardViewModel>
) {
Expand Down Expand Up @@ -50,10 +50,10 @@ class RevisionCardFragmentPresenter @Inject constructor(
}

private fun logRevisionCardEvent(topicId: String, subTopicId: Int) {
analyticsController.logTransitionEvent(
oppiaLogger.logTransitionEvent(
oppiaClock.getCurrentCalendar().timeInMillis,
EventLog.EventAction.OPEN_REVISION_CARD,
analyticsController.createRevisionCardContext(topicId, subTopicId)
oppiaLogger.createRevisionCardContext(topicId, subTopicId)
)
}
}
Loading

0 comments on commit 5c5b8fc

Please sign in to comment.