Skip to content
Snippets Groups Projects
Commit a1ca4896 authored by Taras's avatar Taras
Browse files

System notices to core, remove settings

parent f3aebd70
No related branches found
No related tags found
No related merge requests found
Showing
with 113 additions and 70 deletions
......@@ -60,7 +60,6 @@ dependencies {
implementation project(path: ':core')
implementation project(path: ':auth')
implementation project(path: ':gallery')
implementation project(path: ':settings')
//Firebase
gplayImplementation platform('com.google.firebase:firebase-bom:32.1.1')
......
......@@ -28,7 +28,7 @@ class RemoveFollowingDialog(
setContentView(binding.root)
with(binding) {
val title = "${context.getString(R.string.remove)} $roomName"
val title = "${context.getString(org.futo.circles.core.R.string.remove)} $roomName"
tvTitle.text = title
btnClose.setOnClickListener { dismiss() }
btnCancel.setOnClickListener { dismiss() }
......
......@@ -30,7 +30,7 @@ import org.futo.circles.core.picker.RuntimePermissionHelper
import org.futo.circles.core.provider.MatrixSessionProvider
import org.futo.circles.databinding.FragmentBottomNavigationBinding
import org.futo.circles.gallery.feature.backup.service.MediaBackupServiceManager
import org.futo.circles.settings.feature.system_notices.SystemNoticesCountSharedViewModel
import org.futo.circles.core.notices.SystemNoticesCountSharedViewModel
import org.matrix.android.sdk.api.session.getRoomSummary
import javax.inject.Inject
......
package org.futo.circles.settings.feature
package org.futo.circles.feature.settings
import android.content.Context
import com.bumptech.glide.Glide
......
package org.futo.circles.settings.feature
package org.futo.circles.feature.settings
import android.os.Bundle
import android.view.View
......@@ -9,6 +9,7 @@ import androidx.fragment.app.viewModels
import by.kirich1409.viewbindingdelegate.viewBinding
import dagger.hilt.android.AndroidEntryPoint
import org.futo.circles.MainActivity
import org.futo.circles.R
import org.futo.circles.auth.model.LogOut
import org.futo.circles.auth.model.SwitchUser
import org.futo.circles.core.CirclesAppConfig
......@@ -19,13 +20,11 @@ import org.futo.circles.core.extensions.observeResponse
import org.futo.circles.core.extensions.showError
import org.futo.circles.core.extensions.showSuccess
import org.futo.circles.core.extensions.withConfirmation
import org.futo.circles.core.notices.SystemNoticesCountSharedViewModel
import org.futo.circles.core.provider.PreferencesProvider
import org.futo.circles.core.view.LoadingDialog
import org.futo.circles.settings.R
import org.futo.circles.settings.databinding.FragmentSettingsBinding
import org.futo.circles.settings.feature.system_notices.SystemNoticesCountSharedViewModel
import org.futo.circles.settings.model.DeactivateAccount
import org.futo.circles.settings.model.LogOut
import org.futo.circles.databinding.FragmentSettingsBinding
import org.futo.circles.model.DeactivateAccount
import org.matrix.android.sdk.api.session.user.model.User
@AndroidEntryPoint
......@@ -73,7 +72,7 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
}
viewModel.deactivateLiveData.observeResponse(this,
success = { clearSessionAndRestart() },
error = { showError(getString(R.string.invalid_auth)) }
error = { showError(getString(org.futo.circles.auth.R.string.invalid_auth)) }
)
systemNoticesCountViewModel.systemNoticesCountLiveData?.observeData(this) {
binding.ivNoticesCount.setCount(it ?: 0)
......
package org.futo.circles.settings.feature
package org.futo.circles.feature.settings
import androidx.navigation.fragment.findNavController
import org.futo.circles.R
import org.futo.circles.core.extensions.navigateSafe
import org.futo.circles.core.extensions.showError
import org.futo.circles.core.utils.getSharedCirclesSpaceId
import org.futo.circles.core.utils.getSystemNoticesRoomId
import org.futo.circles.settings.R
class SettingsNavigator(private val fragment: SettingsFragment) {
......
package org.futo.circles.settings.feature
package org.futo.circles.feature.settings
import androidx.lifecycle.ViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
......
package org.futo.circles.settings.feature.edit_profile
package org.futo.circles.feature.settings.edit_profile
import android.os.Bundle
import android.view.View
......@@ -6,6 +6,7 @@ import androidx.core.widget.doAfterTextChanged
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import dagger.hilt.android.AndroidEntryPoint
import org.futo.circles.R
import org.futo.circles.core.extensions.getText
import org.futo.circles.core.extensions.loadProfileIcon
import org.futo.circles.core.extensions.notEmptyDisplayName
......@@ -15,9 +16,8 @@ import org.futo.circles.core.extensions.onBackPressed
import org.futo.circles.core.extensions.showSuccess
import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
import org.futo.circles.core.fragment.HasLoadingState
import org.futo.circles.databinding.DialogFragmentEditProfileBinding
import org.futo.circles.gallery.feature.pick.AllMediaPickerHelper
import org.futo.circles.settings.R
import org.futo.circles.settings.databinding.DialogFragmentEditProfileBinding
import org.matrix.android.sdk.api.session.user.model.User
@AndroidEntryPoint
......
package org.futo.circles.settings.feature.edit_profile
package org.futo.circles.feature.settings.edit_profile
import android.net.Uri
import androidx.lifecycle.MutableLiveData
......
......@@ -56,7 +56,7 @@ class TimelineDialogFragment : BaseFullscreenDialogFragment(DialogFragmentTimeli
private val timelineId by lazy {
if (isGroupMode) args.roomId
else getTimelineRoomFor(args.roomId)?.roomId ?: throw IllegalArgumentException(
requireContext().getString(R.string.timeline_not_found)
"Timeline not found"
)
}
private val binding by lazy {
......
......@@ -26,7 +26,7 @@ data class UnfollowTimeline(
data class RemovePost(
override val titleRes: Int = R.string.remove_post,
override val messageRes: Int = R.string.remove_post_message,
override val positiveButtonRes: Int = R.string.remove
override val positiveButtonRes: Int = org.futo.circles.core.R.string.remove
) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
data class IgnoreSender(
......@@ -62,7 +62,7 @@ data class DeleteCircle(
data class RemoveRoomUser(
override val titleRes: Int = R.string.remove_user,
override val messageRes: Int = R.string.remove_user_in_room_message,
override val positiveButtonRes: Int = R.string.remove
override val positiveButtonRes: Int = org.futo.circles.core.R.string.remove
) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
data class BanUser(
......@@ -87,4 +87,10 @@ data class ResendInvite(
override val titleRes: Int = R.string.resend_invite,
override val messageRes: Int = R.string.resend_invite_message,
override val positiveButtonRes: Int = android.R.string.ok
) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
data class DeactivateAccount(
override val titleRes: Int = R.string.deactivate_my_account,
override val messageRes: Int = R.string.deactivate_message,
override val positiveButtonRes: Int = R.string.deactivate
) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
\ No newline at end of file
......@@ -7,7 +7,7 @@
<fragment
android:id="@+id/settingsFragment"
android:name="org.futo.circles.settings.feature.SettingsFragment"
android:name="org.futo.circles.feature.settings.SettingsFragment"
android:label="@string/settings"
tools:layout="@layout/fragment_settings">
<action
......@@ -18,7 +18,7 @@
app:destination="@id/changePasswordDialogFragment" />
<action
android:id="@+id/to_activeSessionsDialogFragment"
app:destination="@id/activeSessionsDialogFragment" />
app:destination="@id/log_in_sessions_nav_graph" />
<action
android:id="@+id/to_systemNoticesDialogFragment"
app:destination="@id/systemNoticesDialogFragment">
......@@ -35,9 +35,6 @@
app:nullable="false" />
</action>
<action
android:id="@+id/action_settingsFragment_to_activeSessionsDialogFragment"
app:destination="@id/activeSessionsDialogFragment" />
<action
android:id="@+id/to_reAuthStagesDialogFragment"
app:destination="@id/reAuthStagesDialogFragment" />
......@@ -63,35 +60,14 @@
<dialog
android:id="@+id/editProfileDialogFragment"
android:name="org.futo.circles.settings.edit_profile.EditProfileDialogFragment"
android:name="org.futo.circles.feature.settings.edit_profile.EditProfileDialogFragment"
android:label="ProfileDialogFragment"
tools:layout="@layout/dialog_fragment_edit_profile" />
<dialog
android:id="@+id/changePasswordDialogFragment"
android:name="org.futo.circles.settings.change_password.ChangePasswordDialogFragment"
android:name="org.futo.circles.auth.feature.change_password.ChangePasswordDialogFragment"
android:label="ChangePasswordDialogFragment"
tools:layout="@layout/dialog_fragment_change_password" />
<dialog
android:id="@+id/activeSessionsDialogFragment"
android:name="org.futo.circles.settings.active_sessions.ActiveSessionsDialogFragment"
android:label="ActiveSessionsDialogFragment"
tools:layout="@layout/dialog_fragment_active_sessions">
<action
android:id="@+id/to_reAuthStagesDialogFragment"
app:destination="@id/reAuthStagesDialogFragment" />
<action
android:id="@+id/to_verifySessionDialogFragment"
app:destination="@id/verifySessionDialogFragment">
<argument
android:name="deviceId"
app:argType="string"
app:nullable="false" />
</action>
</dialog>
<dialog
android:id="@+id/systemNoticesDialogFragment"
android:name="org.futo.circles.feature.notices.SystemNoticesDialogFragment"
......@@ -108,22 +84,6 @@
app:nullable="false" />
</dialog>
<dialog
android:id="@+id/verifySessionDialogFragment"
android:name="org.futo.circles.settings.active_sessions.verify.VerifySessionDialogFragment"
tools:layout="@layout/dialog_fragment_verify_session">
<argument
android:name="deviceId"
app:argType="string"
app:nullable="false" />
</dialog>
<dialog
android:id="@+id/reAuthStagesDialogFragment"
android:name="org.futo.circles.auth.feature.reauth.ReAuthStagesDialogFragment"
tools:layout="@layout/fragment_login_stages" />
<dialog
android:id="@+id/shareRoomDialogFragment"
......@@ -155,4 +115,11 @@
android:name="org.futo.circles.feature.notifications.test.NotificationTestDialogFragment"
tools:layout="@layout/dialog_fragment_notifications_test" />
<include app:graph="@navigation/log_in_sessions_nav_graph" />
<dialog
android:id="@+id/reAuthStagesDialogFragment"
android:name="org.futo.circles.auth.feature.reauth.ReAuthStagesDialogFragment"
tools:layout="@layout/fragment_login_stages" />
</navigation>
\ No newline at end of file
......@@ -166,8 +166,6 @@
<string name="end_poll_message">This will stop people from being able to vote and will display the final results of the poll.</string>
<string name="system_notices_room_not_found">System notices room not found.</string>
<string name="you_are_signed_out">You’re signed out</string>
<string name="verify_session">Verify session</string>
<string name="scan_qr_code">Scan QR code</string>
<string name="create_your_first_circle_to_be_able_to_accept_invite">Create your first Circle to be able to accept invite</string>
<string name="show_more">Show more</string>
<string name="edit">Edit</string>
......@@ -284,6 +282,14 @@
<string name="send_request_to_follow_user">Send request to follow this user</string>
<string name="resend">Resend</string>
<string name="unable_to_parse_url">Unable to parse url</string>
<string name="profile_updated">Profile updated</string>
<string name="version_format">Version %s</string>
<string name="developer_mode_enabled">Developer mode is enabled</string>
<string name="developer_mode_disabled">Developer mode is disabled</string>
<string name="deactivate_my_account">Deactivate my account</string>
<string name="deactivate_message">This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user lD. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.</string>
<string name="deactivate">Deactivate</string>
<string name="room_not_found">Room is not found</string>
<string-array name="report_categories">
<item>@string/crude_language</item>
......
......@@ -15,6 +15,26 @@
<item name="cornerFamilyTopRight">rounded</item>
</style>
<style name="settingMenuItem" parent="body">
<item name="android:background">?attr/selectableItemBackground</item>
<item name="android:clickable">true</item>
<item name="android:focusable">true</item>
<item name="android:drawablePadding">8dp</item>
<item name="android:paddingBottom">10dp</item>
<item name="android:paddingStart">16dp</item>
<item name="android:paddingEnd">16dp</item>
<item name="android:paddingTop">10dp</item>
<item name="android:drawableTint">@color/list_item_icon_color</item>
</style>
<style name="settingMenuHeader" parent="subheadline">
<item name="android:textColor">@color/blue</item>
<item name="android:paddingBottom">8dp</item>
<item name="android:paddingStart">16dp</item>
<item name="android:paddingEnd">16dp</item>
<item name="android:paddingTop">16dp</item>
</style>
<style name="AuthLogoStyle">
<item name="android:src">@drawable/ic_logo</item>
</style>
......
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/log_in_sessions_nav_graph"
app:startDestination="@id/activeSessionsDialogFragment">
<dialog
android:id="@+id/activeSessionsDialogFragment"
android:name="org.futo.circles.auth.feature.active_sessions.ActiveSessionsDialogFragment"
android:label="ActiveSessionsDialogFragment"
tools:layout="@layout/dialog_fragment_active_sessions">
<action
android:id="@+id/to_reAuthStagesDialogFragment"
app:destination="@id/reAuthStagesDialogFragment" />
<action
android:id="@+id/to_verifySessionDialogFragment"
app:destination="@id/verifySessionDialogFragment">
<argument
android:name="deviceId"
app:argType="string"
app:nullable="false" />
</action>
</dialog>
<dialog
android:id="@+id/verifySessionDialogFragment"
android:name="org.futo.circles.auth.feature.active_sessions.verify.VerifySessionDialogFragment"
tools:layout="@layout/dialog_fragment_verify_session">
<argument
android:name="deviceId"
app:argType="string"
app:nullable="false" />
</dialog>
<dialog
android:id="@+id/reAuthStagesDialogFragment"
android:name="org.futo.circles.auth.feature.reauth.ReAuthStagesDialogFragment"
tools:layout="@layout/fragment_login_stages" />
</navigation>
......@@ -117,6 +117,9 @@
<string name="cross_signed">cross signed</string>
<string name="waiting_for_verification_format">Waiting for %s to start verification</string>
<string name="session_verified">Session verified</string>
<string name="active_login_sessions">Active login sessions</string>
<string name="verify_session">Verify session</string>
<string name="scan_qr_code">Scan QR code</string>
<plurals name="days">
<item quantity="one">%1$d day</item>
......
package org.futo.circles.settings.feature.system_notices
package org.futo.circles.core.notices
import androidx.lifecycle.ViewModel
import androidx.lifecycle.map
......
......@@ -2,5 +2,4 @@ rootProject.name = "Circles"
include ':app'
include ':auth'
include ':core'
include ':gallery'
include ':settings'
include ':gallery'
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment