|
|
@ -35,7 +35,7 @@ import org.mozilla.fenix.ext.requireComponents
|
|
|
|
@SuppressWarnings("TooManyFunctions")
|
|
|
|
@SuppressWarnings("TooManyFunctions")
|
|
|
|
class AccountSettingsFragment : PreferenceFragmentCompat() {
|
|
|
|
class AccountSettingsFragment : PreferenceFragmentCompat() {
|
|
|
|
private lateinit var accountManager: FxaAccountManager
|
|
|
|
private lateinit var accountManager: FxaAccountManager
|
|
|
|
private lateinit var accountSettingsStore: AccountSettingsStore
|
|
|
|
private lateinit var accountSettingsStore: AccountSettingsFragmentStore
|
|
|
|
private lateinit var accountSettingsInteractor: AccountSettingsInteractor
|
|
|
|
private lateinit var accountSettingsInteractor: AccountSettingsInteractor
|
|
|
|
|
|
|
|
|
|
|
|
// Navigate away from this fragment when we encounter auth problems or logout events.
|
|
|
|
// Navigate away from this fragment when we encounter auth problems or logout events.
|
|
|
@ -97,8 +97,8 @@ class AccountSettingsFragment : PreferenceFragmentCompat() {
|
|
|
|
setPreferencesFromResource(R.xml.account_settings_preferences, rootKey)
|
|
|
|
setPreferencesFromResource(R.xml.account_settings_preferences, rootKey)
|
|
|
|
|
|
|
|
|
|
|
|
accountSettingsStore = StoreProvider.get(this) {
|
|
|
|
accountSettingsStore = StoreProvider.get(this) {
|
|
|
|
AccountSettingsStore(
|
|
|
|
AccountSettingsFragmentStore(
|
|
|
|
AccountSettingsState(
|
|
|
|
AccountSettingsFragmentState(
|
|
|
|
lastSyncedDate =
|
|
|
|
lastSyncedDate =
|
|
|
|
if (getLastSynced(requireContext()) == 0L)
|
|
|
|
if (getLastSynced(requireContext()) == 0L)
|
|
|
|
LastSyncTime.Never
|
|
|
|
LastSyncTime.Never
|
|
|
@ -140,7 +140,7 @@ class AccountSettingsFragment : PreferenceFragmentCompat() {
|
|
|
|
deviceConstellation?.state()?.currentDevice?.let { device ->
|
|
|
|
deviceConstellation?.state()?.currentDevice?.let { device ->
|
|
|
|
summary = device.displayName
|
|
|
|
summary = device.displayName
|
|
|
|
text = device.displayName
|
|
|
|
text = device.displayName
|
|
|
|
accountSettingsStore.dispatch(AccountSettingsAction.UpdateDeviceName(device.displayName))
|
|
|
|
accountSettingsStore.dispatch(AccountSettingsFragmentAction.UpdateDeviceName(device.displayName))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setOnBindEditTextListener { editText ->
|
|
|
|
setOnBindEditTextListener { editText ->
|
|
|
|
editText.filters = arrayOf(InputFilter.LengthFilter(DEVICE_NAME_MAX_LENGTH))
|
|
|
|
editText.filters = arrayOf(InputFilter.LengthFilter(DEVICE_NAME_MAX_LENGTH))
|
|
|
@ -227,7 +227,7 @@ class AccountSettingsFragment : PreferenceFragmentCompat() {
|
|
|
|
pref.isEnabled = true
|
|
|
|
pref.isEnabled = true
|
|
|
|
|
|
|
|
|
|
|
|
val time = getLastSynced(requireContext())
|
|
|
|
val time = getLastSynced(requireContext())
|
|
|
|
accountSettingsStore.dispatch(AccountSettingsAction.SyncEnded(time))
|
|
|
|
accountSettingsStore.dispatch(AccountSettingsFragmentAction.SyncEnded(time))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -241,7 +241,7 @@ class AccountSettingsFragment : PreferenceFragmentCompat() {
|
|
|
|
pref.isEnabled = true
|
|
|
|
pref.isEnabled = true
|
|
|
|
|
|
|
|
|
|
|
|
val failedTime = getLastSynced(requireContext())
|
|
|
|
val failedTime = getLastSynced(requireContext())
|
|
|
|
accountSettingsStore.dispatch(AccountSettingsAction.SyncFailed(failedTime))
|
|
|
|
accountSettingsStore.dispatch(AccountSettingsFragmentAction.SyncFailed(failedTime))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -250,18 +250,18 @@ class AccountSettingsFragment : PreferenceFragmentCompat() {
|
|
|
|
private val deviceConstellationObserver = object : DeviceConstellationObserver {
|
|
|
|
private val deviceConstellationObserver = object : DeviceConstellationObserver {
|
|
|
|
override fun onDevicesUpdate(constellation: ConstellationState) {
|
|
|
|
override fun onDevicesUpdate(constellation: ConstellationState) {
|
|
|
|
constellation.currentDevice?.displayName?.also {
|
|
|
|
constellation.currentDevice?.displayName?.also {
|
|
|
|
accountSettingsStore.dispatch(AccountSettingsAction.UpdateDeviceName(it))
|
|
|
|
accountSettingsStore.dispatch(AccountSettingsFragmentAction.UpdateDeviceName(it))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun updateDeviceName(state: AccountSettingsState) {
|
|
|
|
private fun updateDeviceName(state: AccountSettingsFragmentState) {
|
|
|
|
val deviceNameKey = getPreferenceKey(R.string.pref_key_sync_device_name)
|
|
|
|
val deviceNameKey = getPreferenceKey(R.string.pref_key_sync_device_name)
|
|
|
|
val preferenceDeviceName = findPreference<Preference>(deviceNameKey)
|
|
|
|
val preferenceDeviceName = findPreference<Preference>(deviceNameKey)
|
|
|
|
preferenceDeviceName?.summary = state.deviceName
|
|
|
|
preferenceDeviceName?.summary = state.deviceName
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun updateLastSyncTimePref(state: AccountSettingsState) {
|
|
|
|
private fun updateLastSyncTimePref(state: AccountSettingsFragmentState) {
|
|
|
|
val value = when (state.lastSyncedDate) {
|
|
|
|
val value = when (state.lastSyncedDate) {
|
|
|
|
LastSyncTime.Never -> getString(R.string.sync_never_synced_summary)
|
|
|
|
LastSyncTime.Never -> getString(R.string.sync_never_synced_summary)
|
|
|
|
is LastSyncTime.Failed -> {
|
|
|
|
is LastSyncTime.Failed -> {
|
|
|
|