Merge pull request #5223 from vector-im/sync-analytics-plan
Sync analytics plan
This commit is contained in:
commit
555754b6e6
@ -67,7 +67,7 @@ import im.vector.app.core.utils.toast
|
|||||||
import im.vector.app.features.MainActivity
|
import im.vector.app.features.MainActivity
|
||||||
import im.vector.app.features.MainActivityArgs
|
import im.vector.app.features.MainActivityArgs
|
||||||
import im.vector.app.features.analytics.AnalyticsTracker
|
import im.vector.app.features.analytics.AnalyticsTracker
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.analytics.screen.ScreenEvent
|
import im.vector.app.features.analytics.screen.ScreenEvent
|
||||||
import im.vector.app.features.configuration.VectorConfiguration
|
import im.vector.app.features.configuration.VectorConfiguration
|
||||||
import im.vector.app.features.consent.ConsentNotGivenHelper
|
import im.vector.app.features.consent.ConsentNotGivenHelper
|
||||||
@ -97,7 +97,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
|||||||
* Analytics
|
* Analytics
|
||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
|
|
||||||
protected var analyticsScreenName: Screen.ScreenName? = null
|
protected var analyticsScreenName: MobileScreen.ScreenName? = null
|
||||||
private var screenEvent: ScreenEvent? = null
|
private var screenEvent: ScreenEvent? = null
|
||||||
|
|
||||||
protected lateinit var analyticsTracker: AnalyticsTracker
|
protected lateinit var analyticsTracker: AnalyticsTracker
|
||||||
|
@ -38,7 +38,7 @@ import im.vector.app.core.extensions.singletonEntryPoint
|
|||||||
import im.vector.app.core.extensions.toMvRxBundle
|
import im.vector.app.core.extensions.toMvRxBundle
|
||||||
import im.vector.app.core.utils.DimensionConverter
|
import im.vector.app.core.utils.DimensionConverter
|
||||||
import im.vector.app.features.analytics.AnalyticsTracker
|
import im.vector.app.features.analytics.AnalyticsTracker
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.analytics.screen.ScreenEvent
|
import im.vector.app.features.analytics.screen.ScreenEvent
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
@ -53,7 +53,7 @@ abstract class VectorBaseBottomSheetDialogFragment<VB : ViewBinding> : BottomShe
|
|||||||
* Analytics
|
* Analytics
|
||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
|
|
||||||
protected var analyticsScreenName: Screen.ScreenName? = null
|
protected var analyticsScreenName: MobileScreen.ScreenName? = null
|
||||||
private var screenEvent: ScreenEvent? = null
|
private var screenEvent: ScreenEvent? = null
|
||||||
|
|
||||||
protected lateinit var analyticsTracker: AnalyticsTracker
|
protected lateinit var analyticsTracker: AnalyticsTracker
|
||||||
|
@ -44,7 +44,7 @@ import im.vector.app.core.extensions.singletonEntryPoint
|
|||||||
import im.vector.app.core.extensions.toMvRxBundle
|
import im.vector.app.core.extensions.toMvRxBundle
|
||||||
import im.vector.app.core.utils.ToolbarConfig
|
import im.vector.app.core.utils.ToolbarConfig
|
||||||
import im.vector.app.features.analytics.AnalyticsTracker
|
import im.vector.app.features.analytics.AnalyticsTracker
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.analytics.screen.ScreenEvent
|
import im.vector.app.features.analytics.screen.ScreenEvent
|
||||||
import im.vector.app.features.navigation.Navigator
|
import im.vector.app.features.navigation.Navigator
|
||||||
import im.vector.lib.ui.styles.dialogs.MaterialProgressDialog
|
import im.vector.lib.ui.styles.dialogs.MaterialProgressDialog
|
||||||
@ -58,7 +58,7 @@ abstract class VectorBaseFragment<VB : ViewBinding> : Fragment(), MavericksView
|
|||||||
* Analytics
|
* Analytics
|
||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
|
|
||||||
protected var analyticsScreenName: Screen.ScreenName? = null
|
protected var analyticsScreenName: MobileScreen.ScreenName? = null
|
||||||
private var screenEvent: ScreenEvent? = null
|
private var screenEvent: ScreenEvent? = null
|
||||||
|
|
||||||
protected lateinit var analyticsTracker: AnalyticsTracker
|
protected lateinit var analyticsTracker: AnalyticsTracker
|
||||||
|
@ -22,9 +22,9 @@ import im.vector.app.features.analytics.itf.VectorAnalyticsScreen
|
|||||||
// https://github.com/matrix-org/matrix-analytics-events/
|
// https://github.com/matrix-org/matrix-analytics-events/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Triggered when the user changed screen
|
* Triggered when the user changed screen on Element Android/iOS
|
||||||
*/
|
*/
|
||||||
data class Screen(
|
data class MobileScreen(
|
||||||
/**
|
/**
|
||||||
* How long the screen was displayed for in milliseconds.
|
* How long the screen was displayed for in milliseconds.
|
||||||
*/
|
*/
|
||||||
@ -33,6 +33,11 @@ data class Screen(
|
|||||||
) : VectorAnalyticsScreen {
|
) : VectorAnalyticsScreen {
|
||||||
|
|
||||||
enum class ScreenName {
|
enum class ScreenName {
|
||||||
|
/**
|
||||||
|
* The screen that displays the user's breadcrumbs.
|
||||||
|
*/
|
||||||
|
Breadcrumbs,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The screen shown to create a new (non-direct) room.
|
* The screen shown to create a new (non-direct) room.
|
||||||
*/
|
*/
|
||||||
@ -43,6 +48,16 @@ data class Screen(
|
|||||||
*/
|
*/
|
||||||
DeactivateAccount,
|
DeactivateAccount,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The tab on mobile that displays the dialpad.
|
||||||
|
*/
|
||||||
|
Dialpad,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Favourites tab on mobile that lists your favourite people/rooms.
|
||||||
|
*/
|
||||||
|
Favourites,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The form for the forgot password use case
|
* The form for the forgot password use case
|
||||||
*/
|
*/
|
||||||
@ -54,11 +69,15 @@ data class Screen(
|
|||||||
Group,
|
Group,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Home tab on iOS | possibly the same on Android? | Home page on
|
* The Home tab on iOS | possibly the same on Android?
|
||||||
* Web
|
|
||||||
*/
|
*/
|
||||||
Home,
|
Home,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The screen shown to share a link to download the app.
|
||||||
|
*/
|
||||||
|
InviteFriends,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The screen that displays the login flow (when the user already has an
|
* The screen that displays the login flow (when the user already has an
|
||||||
* account).
|
* account).
|
||||||
@ -66,100 +85,14 @@ data class Screen(
|
|||||||
Login,
|
Login,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The screen that displays the user's breadcrumbs.
|
* Legacy: The screen that shows all groups/communities you have joined.
|
||||||
*/
|
*/
|
||||||
MobileBreadcrumbs,
|
MyGroups,
|
||||||
|
|
||||||
/**
|
|
||||||
* The tab on mobile that displays the dialpad.
|
|
||||||
*/
|
|
||||||
MobileDialpad,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Favourites tab on mobile that lists your favourite people/rooms.
|
|
||||||
*/
|
|
||||||
MobileFavourites,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The screen shown to share a link to download the app.
|
|
||||||
*/
|
|
||||||
MobileInviteFriends,
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The People tab on mobile that lists all the DM rooms you have joined.
|
* The People tab on mobile that lists all the DM rooms you have joined.
|
||||||
*/
|
*/
|
||||||
MobilePeople,
|
People,
|
||||||
|
|
||||||
/**
|
|
||||||
* The Rooms tab on mobile that lists all the (non-direct) rooms you've
|
|
||||||
* joined.
|
|
||||||
*/
|
|
||||||
MobileRooms,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Files tab shown in the global search screen on Mobile.
|
|
||||||
*/
|
|
||||||
MobileSearchFiles,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Messages tab shown in the global search screen on Mobile.
|
|
||||||
*/
|
|
||||||
MobileSearchMessages,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The People tab shown in the global search screen on Mobile.
|
|
||||||
*/
|
|
||||||
MobileSearchPeople,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Rooms tab shown in the global search screen on Mobile.
|
|
||||||
*/
|
|
||||||
MobileSearchRooms,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The global settings screen shown in the app.
|
|
||||||
*/
|
|
||||||
MobileSettings,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The settings screen to change the default notification options.
|
|
||||||
*/
|
|
||||||
MobileSettingsDefaultNotifications,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The settings screen to manage notification mentions and keywords.
|
|
||||||
*/
|
|
||||||
MobileSettingsMentionsAndKeywords,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The global security settings screen.
|
|
||||||
*/
|
|
||||||
MobileSettingsSecurity,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The sidebar shown on mobile with spaces, settings etc.
|
|
||||||
*/
|
|
||||||
MobileSidebar,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Screen that displays the list of members of a space
|
|
||||||
*/
|
|
||||||
MobileSpaceMembers,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The bottom sheet that list all space options
|
|
||||||
*/
|
|
||||||
MobileSpaceMenu,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The screen shown to select which room directory you'd like to use.
|
|
||||||
*/
|
|
||||||
MobileSwitchDirectory,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Legacy: The screen that shows all groups/communities you have joined.
|
|
||||||
*/
|
|
||||||
MyGroups,
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The screen that displays the registration flow (when the user wants
|
* The screen that displays the registration flow (when the user wants
|
||||||
@ -216,107 +149,87 @@ data class Screen(
|
|||||||
*/
|
*/
|
||||||
RoomUploads,
|
RoomUploads,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Rooms tab on mobile that lists all the (non-direct) rooms you've
|
||||||
|
* joined.
|
||||||
|
*/
|
||||||
|
Rooms,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Files tab shown in the global search screen on Mobile.
|
||||||
|
*/
|
||||||
|
SearchFiles,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Messages tab shown in the global search screen on Mobile.
|
||||||
|
*/
|
||||||
|
SearchMessages,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The People tab shown in the global search screen on Mobile.
|
||||||
|
*/
|
||||||
|
SearchPeople,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Rooms tab shown in the global search screen on Mobile.
|
||||||
|
*/
|
||||||
|
SearchRooms,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The global settings screen shown in the app.
|
||||||
|
*/
|
||||||
|
Settings,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The settings screen to change the default notification options.
|
||||||
|
*/
|
||||||
|
SettingsDefaultNotifications,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The settings screen to manage notification mentions and keywords.
|
||||||
|
*/
|
||||||
|
SettingsMentionsAndKeywords,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The global security settings screen.
|
||||||
|
*/
|
||||||
|
SettingsSecurity,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The sidebar shown on mobile with spaces, settings etc.
|
||||||
|
*/
|
||||||
|
Sidebar,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Screen that displays the list of rooms and spaces of a space
|
* Screen that displays the list of rooms and spaces of a space
|
||||||
*/
|
*/
|
||||||
SpaceExploreRooms,
|
SpaceExploreRooms,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Screen that displays the list of members of a space
|
||||||
|
*/
|
||||||
|
SpaceMembers,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The bottom sheet that list all space options
|
||||||
|
*/
|
||||||
|
SpaceMenu,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The screen shown to create a new direct room.
|
* The screen shown to create a new direct room.
|
||||||
*/
|
*/
|
||||||
StartChat,
|
StartChat,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The screen shown to select which room directory you'd like to use.
|
||||||
|
*/
|
||||||
|
SwitchDirectory,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A screen that shows information about a room member.
|
* A screen that shows information about a room member.
|
||||||
*/
|
*/
|
||||||
User,
|
User,
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web showing flow to trust this new device with cross-signing.
|
|
||||||
*/
|
|
||||||
WebCompleteSecurity,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web showing flow to setup SSSS / cross-signing on this
|
|
||||||
* account.
|
|
||||||
*/
|
|
||||||
WebE2ESetup,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web loading spinner.
|
|
||||||
*/
|
|
||||||
WebLoading,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web device has been soft logged out by the server.
|
|
||||||
*/
|
|
||||||
WebSoftLogout,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Legacy: Element Web User Settings Flair Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingFlair,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Mjolnir (labs) Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingMjolnir,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Appearance Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsAppearance,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings General Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsGeneral,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Help & About Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsHelpAbout,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Ignored Users Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsIgnoredUsers,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Keyboard Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsKeyboard,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Labs Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsLabs,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Notifications Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsNotifications,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Preferences Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsPreferences,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Security & Privacy Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsSecurityPrivacy,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Sidebar Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsSidebar,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element Web User Settings Voice & Video Tab.
|
|
||||||
*/
|
|
||||||
WebUserSettingsVoiceVideo,
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The splash screen.
|
* The splash screen.
|
||||||
*/
|
*/
|
@ -18,13 +18,13 @@ package im.vector.app.features.analytics.screen
|
|||||||
|
|
||||||
import android.os.SystemClock
|
import android.os.SystemClock
|
||||||
import im.vector.app.features.analytics.AnalyticsTracker
|
import im.vector.app.features.analytics.AnalyticsTracker
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Track a screen display. Unique usage.
|
* Track a screen display. Unique usage.
|
||||||
*/
|
*/
|
||||||
class ScreenEvent(val screenName: Screen.ScreenName) {
|
class ScreenEvent(val screenName: MobileScreen.ScreenName) {
|
||||||
private val startTime = SystemClock.elapsedRealtime()
|
private val startTime = SystemClock.elapsedRealtime()
|
||||||
|
|
||||||
// Protection to avoid multiple sending
|
// Protection to avoid multiple sending
|
||||||
@ -34,14 +34,14 @@ class ScreenEvent(val screenName: Screen.ScreenName) {
|
|||||||
* @param screenNameOverride can be used to override the screen name passed in constructor parameter
|
* @param screenNameOverride can be used to override the screen name passed in constructor parameter
|
||||||
*/
|
*/
|
||||||
fun send(analyticsTracker: AnalyticsTracker,
|
fun send(analyticsTracker: AnalyticsTracker,
|
||||||
screenNameOverride: Screen.ScreenName? = null) {
|
screenNameOverride: MobileScreen.ScreenName? = null) {
|
||||||
if (isSent) {
|
if (isSent) {
|
||||||
Timber.w("Event $screenName Already sent!")
|
Timber.w("Event $screenName Already sent!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
isSent = true
|
isSent = true
|
||||||
analyticsTracker.screen(
|
analyticsTracker.screen(
|
||||||
Screen(
|
MobileScreen(
|
||||||
screenName = screenNameOverride ?: screenName,
|
screenName = screenNameOverride ?: screenName,
|
||||||
durationMs = (SystemClock.elapsedRealtime() - startTime).toInt()
|
durationMs = (SystemClock.elapsedRealtime() - startTime).toInt()
|
||||||
)
|
)
|
||||||
|
@ -40,7 +40,7 @@ import com.android.dialer.dialpadview.DigitsEditText
|
|||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.singletonEntryPoint
|
import im.vector.app.core.extensions.singletonEntryPoint
|
||||||
import im.vector.app.features.analytics.AnalyticsTracker
|
import im.vector.app.features.analytics.AnalyticsTracker
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.analytics.screen.ScreenEvent
|
import im.vector.app.features.analytics.screen.ScreenEvent
|
||||||
import im.vector.app.features.themes.ThemeUtils
|
import im.vector.app.features.themes.ThemeUtils
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ class DialPadFragment : Fragment(), TextWatcher {
|
|||||||
private var screenEvent: ScreenEvent? = null
|
private var screenEvent: ScreenEvent? = null
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
screenEvent = ScreenEvent(Screen.ScreenName.MobileDialpad)
|
screenEvent = ScreenEvent(MobileScreen.ScreenName.Dialpad)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
|
@ -43,7 +43,7 @@ import im.vector.app.core.utils.PERMISSIONS_FOR_TAKING_PHOTO
|
|||||||
import im.vector.app.core.utils.checkPermissions
|
import im.vector.app.core.utils.checkPermissions
|
||||||
import im.vector.app.core.utils.onPermissionDeniedSnackbar
|
import im.vector.app.core.utils.onPermissionDeniedSnackbar
|
||||||
import im.vector.app.core.utils.registerForPermissionsResult
|
import im.vector.app.core.utils.registerForPermissionsResult
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.contactsbook.ContactsBookFragment
|
import im.vector.app.features.contactsbook.ContactsBookFragment
|
||||||
import im.vector.app.features.qrcode.QrCodeScannerEvents
|
import im.vector.app.features.qrcode.QrCodeScannerEvents
|
||||||
import im.vector.app.features.qrcode.QrCodeScannerFragment
|
import im.vector.app.features.qrcode.QrCodeScannerFragment
|
||||||
@ -71,7 +71,7 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() {
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.StartChat
|
analyticsScreenName = MobileScreen.ScreenName.StartChat
|
||||||
views.toolbar.visibility = View.GONE
|
views.toolbar.visibility = View.GONE
|
||||||
|
|
||||||
sharedActionViewModel = viewModelProvider.get(UserListSharedActionViewModel::class.java)
|
sharedActionViewModel = viewModelProvider.get(UserListSharedActionViewModel::class.java)
|
||||||
|
@ -48,7 +48,7 @@ import im.vector.app.databinding.ActivityHomeBinding
|
|||||||
import im.vector.app.features.MainActivity
|
import im.vector.app.features.MainActivity
|
||||||
import im.vector.app.features.MainActivityArgs
|
import im.vector.app.features.MainActivityArgs
|
||||||
import im.vector.app.features.analytics.accountdata.AnalyticsAccountDataViewModel
|
import im.vector.app.features.analytics.accountdata.AnalyticsAccountDataViewModel
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.analytics.screen.ScreenEvent
|
import im.vector.app.features.analytics.screen.ScreenEvent
|
||||||
import im.vector.app.features.disclaimer.showDisclaimerDialog
|
import im.vector.app.features.disclaimer.showDisclaimerDialog
|
||||||
import im.vector.app.features.matrixto.MatrixToBottomSheet
|
import im.vector.app.features.matrixto.MatrixToBottomSheet
|
||||||
@ -165,7 +165,7 @@ class HomeActivity :
|
|||||||
private val drawerListener = object : DrawerLayout.SimpleDrawerListener() {
|
private val drawerListener = object : DrawerLayout.SimpleDrawerListener() {
|
||||||
private var drawerScreenEvent: ScreenEvent? = null
|
private var drawerScreenEvent: ScreenEvent? = null
|
||||||
override fun onDrawerOpened(drawerView: View) {
|
override fun onDrawerOpened(drawerView: View) {
|
||||||
drawerScreenEvent = ScreenEvent(Screen.ScreenName.MobileSidebar)
|
drawerScreenEvent = ScreenEvent(MobileScreen.ScreenName.Sidebar)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDrawerClosed(drawerView: View) {
|
override fun onDrawerClosed(drawerView: View) {
|
||||||
@ -184,7 +184,7 @@ class HomeActivity :
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.Home
|
analyticsScreenName = MobileScreen.ScreenName.Home
|
||||||
supportFragmentManager.registerFragmentLifecycleCallbacks(fragmentLifecycleCallbacks, false)
|
supportFragmentManager.registerFragmentLifecycleCallbacks(fragmentLifecycleCallbacks, false)
|
||||||
FcmHelper.ensureFcmTokenIsRetrieved(this, pushManager, vectorPreferences.areNotificationEnabledForDevice())
|
FcmHelper.ensureFcmTokenIsRetrieved(this, pushManager, vectorPreferences.areNotificationEnabledForDevice())
|
||||||
sharedActionViewModel = viewModelProvider.get(HomeSharedActionViewModel::class.java)
|
sharedActionViewModel = viewModelProvider.get(HomeSharedActionViewModel::class.java)
|
||||||
|
@ -30,7 +30,7 @@ import im.vector.app.core.extensions.replaceChildFragment
|
|||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.core.utils.startSharePlainTextIntent
|
import im.vector.app.core.utils.startSharePlainTextIntent
|
||||||
import im.vector.app.databinding.FragmentHomeDrawerBinding
|
import im.vector.app.databinding.FragmentHomeDrawerBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.settings.VectorPreferences
|
import im.vector.app.features.settings.VectorPreferences
|
||||||
import im.vector.app.features.settings.VectorSettingsActivity
|
import im.vector.app.features.settings.VectorSettingsActivity
|
||||||
import im.vector.app.features.spaces.SpaceListFragment
|
import im.vector.app.features.spaces.SpaceListFragment
|
||||||
@ -98,7 +98,7 @@ class HomeDrawerFragment @Inject constructor(
|
|||||||
|
|
||||||
views.homeDrawerInviteFriendButton.debouncedClicks {
|
views.homeDrawerInviteFriendButton.debouncedClicks {
|
||||||
session.permalinkService().createPermalink(sharedActionViewModel.session.myUserId)?.let { permalink ->
|
session.permalinkService().createPermalink(sharedActionViewModel.session.myUserId)?.let { permalink ->
|
||||||
analyticsTracker.screen(Screen(screenName = Screen.ScreenName.MobileInviteFriends))
|
analyticsTracker.screen(MobileScreen(screenName = MobileScreen.ScreenName.InviteFriends))
|
||||||
val text = getString(R.string.invite_friends_text, permalink)
|
val text = getString(R.string.invite_friends_text, permalink)
|
||||||
|
|
||||||
startSharePlainTextIntent(
|
startSharePlainTextIntent(
|
||||||
|
@ -35,7 +35,7 @@ import im.vector.app.core.extensions.keepScreenOn
|
|||||||
import im.vector.app.core.extensions.replaceFragment
|
import im.vector.app.core.extensions.replaceFragment
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivityRoomDetailBinding
|
import im.vector.app.databinding.ActivityRoomDetailBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.analytics.screen.ScreenEvent
|
import im.vector.app.features.analytics.screen.ScreenEvent
|
||||||
import im.vector.app.features.home.room.breadcrumbs.BreadcrumbsFragment
|
import im.vector.app.features.home.room.breadcrumbs.BreadcrumbsFragment
|
||||||
import im.vector.app.features.home.room.detail.arguments.TimelineArgs
|
import im.vector.app.features.home.room.detail.arguments.TimelineArgs
|
||||||
@ -160,7 +160,7 @@ class RoomDetailActivity :
|
|||||||
private val drawerListener = object : DrawerLayout.SimpleDrawerListener() {
|
private val drawerListener = object : DrawerLayout.SimpleDrawerListener() {
|
||||||
private var drawerScreenEvent: ScreenEvent? = null
|
private var drawerScreenEvent: ScreenEvent? = null
|
||||||
override fun onDrawerOpened(drawerView: View) {
|
override fun onDrawerOpened(drawerView: View) {
|
||||||
drawerScreenEvent = ScreenEvent(Screen.ScreenName.MobileBreadcrumbs)
|
drawerScreenEvent = ScreenEvent(MobileScreen.ScreenName.Breadcrumbs)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDrawerClosed(drawerView: View) {
|
override fun onDrawerClosed(drawerView: View) {
|
||||||
|
@ -120,7 +120,7 @@ import im.vector.app.core.utils.toast
|
|||||||
import im.vector.app.databinding.DialogReportContentBinding
|
import im.vector.app.databinding.DialogReportContentBinding
|
||||||
import im.vector.app.databinding.FragmentTimelineBinding
|
import im.vector.app.databinding.FragmentTimelineBinding
|
||||||
import im.vector.app.features.analytics.plan.Composer
|
import im.vector.app.features.analytics.plan.Composer
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.attachments.AttachmentTypeSelectorView
|
import im.vector.app.features.attachments.AttachmentTypeSelectorView
|
||||||
import im.vector.app.features.attachments.AttachmentsHelper
|
import im.vector.app.features.attachments.AttachmentsHelper
|
||||||
import im.vector.app.features.attachments.ContactAttachment
|
import im.vector.app.features.attachments.ContactAttachment
|
||||||
@ -342,7 +342,7 @@ class TimelineFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.Room
|
analyticsScreenName = MobileScreen.ScreenName.Room
|
||||||
setFragmentResultListener(MigrateRoomBottomSheet.REQUEST_KEY) { _, bundle ->
|
setFragmentResultListener(MigrateRoomBottomSheet.REQUEST_KEY) { _, bundle ->
|
||||||
bundle.getString(MigrateRoomBottomSheet.BUNDLE_KEY_REPLACEMENT_ROOM)?.let { replacementRoomId ->
|
bundle.getString(MigrateRoomBottomSheet.BUNDLE_KEY_REPLACEMENT_ROOM)?.let { replacementRoomId ->
|
||||||
timelineViewModel.handle(RoomDetailAction.RoomUpgradeSuccess(replacementRoomId))
|
timelineViewModel.handle(RoomDetailAction.RoomUpgradeSuccess(replacementRoomId))
|
||||||
|
@ -24,7 +24,7 @@ import dagger.hilt.android.AndroidEntryPoint
|
|||||||
import im.vector.app.core.extensions.replaceFragment
|
import im.vector.app.core.extensions.replaceFragment
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivityFilteredRoomsBinding
|
import im.vector.app.databinding.ActivityFilteredRoomsBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.home.RoomListDisplayMode
|
import im.vector.app.features.home.RoomListDisplayMode
|
||||||
import im.vector.app.features.home.room.list.RoomListFragment
|
import im.vector.app.features.home.room.list.RoomListFragment
|
||||||
import im.vector.app.features.home.room.list.RoomListParams
|
import im.vector.app.features.home.room.list.RoomListParams
|
||||||
@ -43,7 +43,7 @@ class FilteredRoomsActivity : VectorBaseActivity<ActivityFilteredRoomsBinding>()
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.RoomFilter
|
analyticsScreenName = MobileScreen.ScreenName.RoomFilter
|
||||||
setupToolbar(views.filteredRoomsToolbar)
|
setupToolbar(views.filteredRoomsToolbar)
|
||||||
.allowBack()
|
.allowBack()
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
|
@ -42,7 +42,7 @@ import im.vector.app.core.platform.StateView
|
|||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.core.resources.UserPreferencesProvider
|
import im.vector.app.core.resources.UserPreferencesProvider
|
||||||
import im.vector.app.databinding.FragmentRoomListBinding
|
import im.vector.app.databinding.FragmentRoomListBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.home.RoomListDisplayMode
|
import im.vector.app.features.home.RoomListDisplayMode
|
||||||
import im.vector.app.features.home.room.filtered.FilteredRoomFooterItem
|
import im.vector.app.features.home.room.filtered.FilteredRoomFooterItem
|
||||||
import im.vector.app.features.home.room.list.actions.RoomListQuickActionsBottomSheet
|
import im.vector.app.features.home.room.list.actions.RoomListQuickActionsBottomSheet
|
||||||
@ -104,8 +104,8 @@ class RoomListFragment @Inject constructor(
|
|||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = when (roomListParams.displayMode) {
|
analyticsScreenName = when (roomListParams.displayMode) {
|
||||||
RoomListDisplayMode.PEOPLE -> Screen.ScreenName.MobilePeople
|
RoomListDisplayMode.PEOPLE -> MobileScreen.ScreenName.People
|
||||||
RoomListDisplayMode.ROOMS -> Screen.ScreenName.MobileRooms
|
RoomListDisplayMode.ROOMS -> MobileScreen.ScreenName.Rooms
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ import im.vector.app.core.extensions.addFragmentToBackstack
|
|||||||
import im.vector.app.core.extensions.exhaustive
|
import im.vector.app.core.extensions.exhaustive
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivityLoginBinding
|
import im.vector.app.databinding.ActivityLoginBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.home.HomeActivity
|
import im.vector.app.features.home.HomeActivity
|
||||||
import im.vector.app.features.login.terms.LoginTermsFragment
|
import im.vector.app.features.login.terms.LoginTermsFragment
|
||||||
import im.vector.app.features.login.terms.LoginTermsFragmentArgument
|
import im.vector.app.features.login.terms.LoginTermsFragmentArgument
|
||||||
@ -81,7 +81,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), UnlockedA
|
|||||||
override fun getCoordinatorLayout() = views.coordinatorLayout
|
override fun getCoordinatorLayout() = views.coordinatorLayout
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
analyticsScreenName = Screen.ScreenName.Login
|
analyticsScreenName = MobileScreen.ScreenName.Login
|
||||||
|
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
addFirstFragment()
|
addFirstFragment()
|
||||||
@ -203,7 +203,7 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), UnlockedA
|
|||||||
if (loginViewState.isUserLogged()) {
|
if (loginViewState.isUserLogged()) {
|
||||||
if (loginViewState.signMode == SignMode.SignUp) {
|
if (loginViewState.signMode == SignMode.SignUp) {
|
||||||
// change the screen name
|
// change the screen name
|
||||||
analyticsScreenName = Screen.ScreenName.Register
|
analyticsScreenName = MobileScreen.ScreenName.Register
|
||||||
}
|
}
|
||||||
val intent = HomeActivity.newIntent(
|
val intent = HomeActivity.newIntent(
|
||||||
this,
|
this,
|
||||||
|
@ -31,7 +31,7 @@ import im.vector.app.core.extensions.hidePassword
|
|||||||
import im.vector.app.core.extensions.isEmail
|
import im.vector.app.core.extensions.isEmail
|
||||||
import im.vector.app.core.extensions.toReducedUrl
|
import im.vector.app.core.extensions.toReducedUrl
|
||||||
import im.vector.app.databinding.FragmentLoginResetPasswordBinding
|
import im.vector.app.databinding.FragmentLoginResetPasswordBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import kotlinx.coroutines.flow.combine
|
import kotlinx.coroutines.flow.combine
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
@ -48,7 +48,7 @@ class LoginResetPasswordFragment @Inject constructor() : AbstractLoginFragment<F
|
|||||||
private var showWarning = true
|
private var showWarning = true
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
analyticsScreenName = Screen.ScreenName.ForgotPassword
|
analyticsScreenName = MobileScreen.ScreenName.ForgotPassword
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
|||||||
import im.vector.app.BuildConfig
|
import im.vector.app.BuildConfig
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.databinding.FragmentLoginSplashBinding
|
import im.vector.app.databinding.FragmentLoginSplashBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.settings.VectorPreferences
|
import im.vector.app.features.settings.VectorPreferences
|
||||||
import org.matrix.android.sdk.api.failure.Failure
|
import org.matrix.android.sdk.api.failure.Failure
|
||||||
import java.net.UnknownHostException
|
import java.net.UnknownHostException
|
||||||
@ -44,7 +44,7 @@ class LoginSplashFragment @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
analyticsScreenName = Screen.ScreenName.Welcome
|
analyticsScreenName = MobileScreen.ScreenName.Welcome
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ import im.vector.app.core.extensions.addFragmentToBackstack
|
|||||||
import im.vector.app.core.extensions.popBackstack
|
import im.vector.app.core.extensions.popBackstack
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.matrixto.MatrixToBottomSheet
|
import im.vector.app.features.matrixto.MatrixToBottomSheet
|
||||||
import im.vector.app.features.navigation.Navigator
|
import im.vector.app.features.navigation.Navigator
|
||||||
import im.vector.app.features.roomdirectory.createroom.CreateRoomArgs
|
import im.vector.app.features.roomdirectory.createroom.CreateRoomArgs
|
||||||
@ -51,7 +51,7 @@ class RoomDirectoryActivity : VectorBaseActivity<ActivitySimpleBinding>(), Matri
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.RoomDirectory
|
analyticsScreenName = MobileScreen.ScreenName.RoomDirectory
|
||||||
sharedActionViewModel = viewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
sharedActionViewModel = viewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
||||||
|
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
|
@ -26,7 +26,7 @@ import dagger.hilt.android.AndroidEntryPoint
|
|||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectorySharedAction
|
import im.vector.app.features.roomdirectory.RoomDirectorySharedAction
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectorySharedActionViewModel
|
import im.vector.app.features.roomdirectory.RoomDirectorySharedActionViewModel
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
@ -57,7 +57,7 @@ class CreateRoomActivity : VectorBaseActivity<ActivitySimpleBinding>() {
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.CreateRoom
|
analyticsScreenName = MobileScreen.ScreenName.CreateRoom
|
||||||
sharedActionViewModel = viewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
sharedActionViewModel = viewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
||||||
sharedActionViewModel
|
sharedActionViewModel
|
||||||
.stream()
|
.stream()
|
||||||
|
@ -29,7 +29,7 @@ import im.vector.app.core.extensions.configureWith
|
|||||||
import im.vector.app.core.platform.OnBackPressed
|
import im.vector.app.core.platform.OnBackPressed
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.databinding.FragmentRoomDirectoryPickerBinding
|
import im.vector.app.databinding.FragmentRoomDirectoryPickerBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectoryAction
|
import im.vector.app.features.roomdirectory.RoomDirectoryAction
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectoryData
|
import im.vector.app.features.roomdirectory.RoomDirectoryData
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectoryServer
|
import im.vector.app.features.roomdirectory.RoomDirectoryServer
|
||||||
@ -54,7 +54,7 @@ class RoomDirectoryPickerFragment @Inject constructor(private val roomDirectoryP
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.MobileSwitchDirectory
|
analyticsScreenName = MobileScreen.ScreenName.SwitchDirectory
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
@ -47,7 +47,7 @@ import im.vector.app.databinding.DialogBaseEditTextBinding
|
|||||||
import im.vector.app.databinding.DialogShareQrCodeBinding
|
import im.vector.app.databinding.DialogShareQrCodeBinding
|
||||||
import im.vector.app.databinding.FragmentMatrixProfileBinding
|
import im.vector.app.databinding.FragmentMatrixProfileBinding
|
||||||
import im.vector.app.databinding.ViewStubRoomMemberProfileHeaderBinding
|
import im.vector.app.databinding.ViewStubRoomMemberProfileHeaderBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.crypto.verification.VerificationBottomSheet
|
import im.vector.app.features.crypto.verification.VerificationBottomSheet
|
||||||
import im.vector.app.features.displayname.getBestName
|
import im.vector.app.features.displayname.getBestName
|
||||||
import im.vector.app.features.home.AvatarRenderer
|
import im.vector.app.features.home.AvatarRenderer
|
||||||
@ -91,7 +91,7 @@ class RoomMemberProfileFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.User
|
analyticsScreenName = MobileScreen.ScreenName.User
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
@ -44,7 +44,7 @@ import im.vector.app.core.utils.copyToClipboard
|
|||||||
import im.vector.app.core.utils.startSharePlainTextIntent
|
import im.vector.app.core.utils.startSharePlainTextIntent
|
||||||
import im.vector.app.databinding.FragmentMatrixProfileBinding
|
import im.vector.app.databinding.FragmentMatrixProfileBinding
|
||||||
import im.vector.app.databinding.ViewStubRoomProfileHeaderBinding
|
import im.vector.app.databinding.ViewStubRoomProfileHeaderBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.home.AvatarRenderer
|
import im.vector.app.features.home.AvatarRenderer
|
||||||
import im.vector.app.features.home.room.detail.RoomDetailPendingAction
|
import im.vector.app.features.home.room.detail.RoomDetailPendingAction
|
||||||
import im.vector.app.features.home.room.detail.RoomDetailPendingActionStore
|
import im.vector.app.features.home.room.detail.RoomDetailPendingActionStore
|
||||||
@ -89,7 +89,7 @@ class RoomProfileFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.RoomSettings
|
analyticsScreenName = MobileScreen.ScreenName.RoomSettings
|
||||||
setFragmentResultListener(MigrateRoomBottomSheet.REQUEST_KEY) { _, bundle ->
|
setFragmentResultListener(MigrateRoomBottomSheet.REQUEST_KEY) { _, bundle ->
|
||||||
bundle.getString(MigrateRoomBottomSheet.BUNDLE_KEY_REPLACEMENT_ROOM)?.let { replacementRoomId ->
|
bundle.getString(MigrateRoomBottomSheet.BUNDLE_KEY_REPLACEMENT_ROOM)?.let { replacementRoomId ->
|
||||||
roomDetailPendingActionStore.data = RoomDetailPendingAction.OpenRoom(replacementRoomId, closeCurrentRoom = true)
|
roomDetailPendingActionStore.data = RoomDetailPendingAction.OpenRoom(replacementRoomId, closeCurrentRoom = true)
|
||||||
|
@ -34,7 +34,7 @@ import im.vector.app.core.platform.VectorBaseFragment
|
|||||||
import im.vector.app.core.utils.saveMedia
|
import im.vector.app.core.utils.saveMedia
|
||||||
import im.vector.app.core.utils.shareMedia
|
import im.vector.app.core.utils.shareMedia
|
||||||
import im.vector.app.databinding.FragmentRoomUploadsBinding
|
import im.vector.app.databinding.FragmentRoomUploadsBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.home.AvatarRenderer
|
import im.vector.app.features.home.AvatarRenderer
|
||||||
import im.vector.app.features.notifications.NotificationUtils
|
import im.vector.app.features.notifications.NotificationUtils
|
||||||
import im.vector.app.features.roomprofile.RoomProfileArgs
|
import im.vector.app.features.roomprofile.RoomProfileArgs
|
||||||
@ -57,7 +57,7 @@ class RoomUploadsFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.RoomUploads
|
analyticsScreenName = MobileScreen.ScreenName.RoomUploads
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
@ -30,7 +30,7 @@ import im.vector.app.core.extensions.singletonEntryPoint
|
|||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.core.utils.toast
|
import im.vector.app.core.utils.toast
|
||||||
import im.vector.app.features.analytics.AnalyticsTracker
|
import im.vector.app.features.analytics.AnalyticsTracker
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.analytics.screen.ScreenEvent
|
import im.vector.app.features.analytics.screen.ScreenEvent
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
@ -43,7 +43,7 @@ abstract class VectorSettingsBaseFragment : PreferenceFragmentCompat(), Maverick
|
|||||||
* Analytics
|
* Analytics
|
||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
|
|
||||||
protected var analyticsScreenName: Screen.ScreenName? = null
|
protected var analyticsScreenName: MobileScreen.ScreenName? = null
|
||||||
private var screenEvent: ScreenEvent? = null
|
private var screenEvent: ScreenEvent? = null
|
||||||
|
|
||||||
protected lateinit var analyticsTracker: AnalyticsTracker
|
protected lateinit var analyticsTracker: AnalyticsTracker
|
||||||
|
@ -19,7 +19,7 @@ package im.vector.app.features.settings
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.preference.VectorPreference
|
import im.vector.app.core.preference.VectorPreference
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class VectorSettingsRootFragment @Inject constructor() : VectorSettingsBaseFragment() {
|
class VectorSettingsRootFragment @Inject constructor() : VectorSettingsBaseFragment() {
|
||||||
@ -29,7 +29,7 @@ class VectorSettingsRootFragment @Inject constructor() : VectorSettingsBaseFragm
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.MobileSettings
|
analyticsScreenName = MobileScreen.ScreenName.Settings
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun bindPref() {
|
override fun bindPref() {
|
||||||
|
@ -51,7 +51,7 @@ import im.vector.app.core.utils.copyToClipboard
|
|||||||
import im.vector.app.core.utils.openFileSelection
|
import im.vector.app.core.utils.openFileSelection
|
||||||
import im.vector.app.core.utils.toast
|
import im.vector.app.core.utils.toast
|
||||||
import im.vector.app.databinding.DialogImportE2eKeysBinding
|
import im.vector.app.databinding.DialogImportE2eKeysBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.analytics.ui.consent.AnalyticsConsentViewActions
|
import im.vector.app.features.analytics.ui.consent.AnalyticsConsentViewActions
|
||||||
import im.vector.app.features.analytics.ui.consent.AnalyticsConsentViewModel
|
import im.vector.app.features.analytics.ui.consent.AnalyticsConsentViewModel
|
||||||
import im.vector.app.features.analytics.ui.consent.AnalyticsConsentViewState
|
import im.vector.app.features.analytics.ui.consent.AnalyticsConsentViewState
|
||||||
@ -94,7 +94,7 @@ class VectorSettingsSecurityPrivacyFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.MobileSettingsSecurity
|
analyticsScreenName = MobileScreen.ScreenName.SettingsSecurity
|
||||||
}
|
}
|
||||||
|
|
||||||
// cryptography
|
// cryptography
|
||||||
|
@ -31,7 +31,7 @@ import im.vector.app.core.platform.VectorBaseFragment
|
|||||||
import im.vector.app.databinding.FragmentDeactivateAccountBinding
|
import im.vector.app.databinding.FragmentDeactivateAccountBinding
|
||||||
import im.vector.app.features.MainActivity
|
import im.vector.app.features.MainActivity
|
||||||
import im.vector.app.features.MainActivityArgs
|
import im.vector.app.features.MainActivityArgs
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import im.vector.app.features.auth.ReAuthActivity
|
import im.vector.app.features.auth.ReAuthActivity
|
||||||
import im.vector.app.features.settings.VectorSettingsActivity
|
import im.vector.app.features.settings.VectorSettingsActivity
|
||||||
import org.matrix.android.sdk.api.auth.data.LoginFlowTypes
|
import org.matrix.android.sdk.api.auth.data.LoginFlowTypes
|
||||||
@ -66,7 +66,7 @@ class DeactivateAccountFragment @Inject constructor() : VectorBaseFragment<Fragm
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.DeactivateAccount
|
analyticsScreenName = MobileScreen.ScreenName.DeactivateAccount
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
|
@ -19,7 +19,7 @@ package im.vector.app.features.settings.notifications
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.preference.VectorPreferenceCategory
|
import im.vector.app.core.preference.VectorPreferenceCategory
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import org.matrix.android.sdk.api.pushrules.RuleIds
|
import org.matrix.android.sdk.api.pushrules.RuleIds
|
||||||
|
|
||||||
class VectorSettingsDefaultNotificationPreferenceFragment :
|
class VectorSettingsDefaultNotificationPreferenceFragment :
|
||||||
@ -38,7 +38,7 @@ class VectorSettingsDefaultNotificationPreferenceFragment :
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.MobileSettingsDefaultNotifications
|
analyticsScreenName = MobileScreen.ScreenName.SettingsDefaultNotifications
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun bindPref() {
|
override fun bindPref() {
|
||||||
|
@ -25,7 +25,7 @@ import im.vector.app.core.preference.KeywordPreference
|
|||||||
import im.vector.app.core.preference.VectorCheckboxPreference
|
import im.vector.app.core.preference.VectorCheckboxPreference
|
||||||
import im.vector.app.core.preference.VectorPreference
|
import im.vector.app.core.preference.VectorPreference
|
||||||
import im.vector.app.core.preference.VectorPreferenceCategory
|
import im.vector.app.core.preference.VectorPreferenceCategory
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
@ -45,7 +45,7 @@ class VectorSettingsKeywordAndMentionsNotificationPreferenceFragment :
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.MobileSettingsMentionsAndKeywords
|
analyticsScreenName = MobileScreen.ScreenName.SettingsMentionsAndKeywords
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user