Skip to content

Commit 0e44d93

Browse files
committed
wip
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent 783a5c0 commit 0e44d93

1 file changed

Lines changed: 30 additions & 19 deletions

File tree

app/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/BackupFragment.kt

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,19 @@ class BackupFragment :
6262
OnDateSetListener,
6363
Injectable {
6464

65-
@Inject lateinit var backgroundJobManager: BackgroundJobManager
65+
@Inject
66+
lateinit var backgroundJobManager: BackgroundJobManager
6667

67-
@Inject lateinit var themeUtils: ThemeUtils
68+
@Inject
69+
lateinit var themeUtils: ThemeUtils
6870

69-
@Inject lateinit var arbitraryDataProvider: ArbitraryDataProvider
71+
@Inject
72+
lateinit var arbitraryDataProvider: ArbitraryDataProvider
7073

71-
@Inject lateinit var viewThemeUtils: ViewThemeUtils
74+
@Inject
75+
lateinit var viewThemeUtils: ViewThemeUtils
7276

7377
private lateinit var binding: BackupFragmentBinding
74-
private lateinit var user: User
7578
private lateinit var contactsBackupFolderPath: String
7679
private lateinit var calendarBackupFolderPath: String
7780
private lateinit var contactsCheckedListener: CompoundButton.OnCheckedChangeListener
@@ -99,7 +102,6 @@ class BackupFragment :
99102
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
100103
super.onViewCreated(view, savedInstanceState)
101104
val contactsPreferenceActivity = requireActivity() as ContactsPreferenceActivity
102-
user = contactsPreferenceActivity.user.orElseThrow { RuntimeException() }
103105

104106
setupSwitches()
105107
setupCheckListeners()
@@ -134,16 +136,21 @@ class BackupFragment :
134136
// endregion
135137

136138
// region Setup
139+
private fun getUser(): User? {
140+
val activity = getTypedActivity(ContactsPreferenceActivity::class.java) ?: return null
141+
return activity.user?.takeIf { it.isPresent }?.get()
142+
}
143+
137144
private fun setupSwitches() {
138-
val activity = getTypedActivity(ContactsPreferenceActivity::class.java) ?: return
139-
val user = activity.user?.takeIf { it.isPresent }?.get() ?: return
145+
val user = getUser() ?: return
140146

141147
binding.dailyBackup.isChecked = arbitraryDataProvider.getBooleanValue(
142148
user,
143149
ContactsPreferenceActivity.PREFERENCE_CONTACTS_AUTOMATIC_BACKUP
144150
)
145151
binding.contacts.isChecked = isBackupEnabled(BackupType.Contacts) && checkContactBackupPermission()
146-
binding.calendar.isChecked = isBackupEnabled(BackupType.Calendar) && checkCalendarBackupPermission(requireContext())
152+
binding.calendar.isChecked =
153+
isBackupEnabled(BackupType.Calendar) && checkCalendarBackupPermission(requireContext())
147154
binding.calendar.visibility = if (showCalendarBackup) View.VISIBLE else View.GONE
148155
}
149156

@@ -153,14 +160,12 @@ class BackupFragment :
153160
}
154161

155162
private fun isBackupEnabled(type: BackupType): Boolean {
156-
val activity = getTypedActivity(ContactsPreferenceActivity::class.java) ?: return false
157-
val user = activity.user?.takeIf { it.isPresent }?.get() ?: return false
163+
val user = getUser() ?: return false
158164
return arbitraryDataProvider.getBooleanValue(user, type.key)
159165
}
160166

161167
private fun setBackup(type: BackupType, value: Boolean) {
162-
val activity = getTypedActivity(ContactsPreferenceActivity::class.java) ?: return
163-
val user = activity.user?.takeIf { it.isPresent }?.get() ?: return
168+
val user = getUser() ?: return
164169
arbitraryDataProvider.storeOrUpdateKeyValue(
165170
user.accountName,
166171
type.key,
@@ -196,6 +201,8 @@ class BackupFragment :
196201
}
197202

198203
private fun displayLastBackup(contactsPreferenceActivity: ContactsPreferenceActivity) {
204+
val user = getUser() ?: return
205+
199206
val lastBackupTimestamp = arbitraryDataProvider.getLongValue(
200207
user,
201208
ContactsPreferenceActivity.PREFERENCE_CONTACTS_LAST_BACKUP
@@ -272,21 +279,22 @@ class BackupFragment :
272279

273280
//region Backup operations
274281
private fun backupNow() {
275-
val activity = getTypedActivity(ContactsPreferenceActivity::class.java) ?: return
276-
val user = activity.user?.takeIf { it.isPresent }?.get() ?: return
282+
val user = getUser() ?: return
277283

278284
if (isBackupEnabled(BackupType.Contacts) && checkContactBackupPermission()) {
279285
backgroundJobManager.startImmediateContactsBackup(user)
280286
}
281-
if (showCalendarBackup && isBackupEnabled(BackupType.Calendar) && checkCalendarBackupPermission(requireContext())) {
287+
if (showCalendarBackup &&
288+
isBackupEnabled(BackupType.Calendar) &&
289+
checkCalendarBackupPermission(requireContext())
290+
) {
282291
backgroundJobManager.startImmediateCalendarBackup(user)
283292
}
284293
DisplayUtils.showSnackMessage(this, R.string.contacts_preferences_backup_scheduled)
285294
}
286295

287296
private fun setAutomaticBackup(enabled: Boolean) {
288-
val activity = getTypedActivity(ContactsPreferenceActivity::class.java) ?: return
289-
val user = activity.user?.takeIf { it.isPresent }?.get() ?: return
297+
val user = getUser() ?: return
290298

291299
if (enabled) {
292300
if (isBackupEnabled(BackupType.Contacts)) {
@@ -331,6 +339,8 @@ class BackupFragment :
331339
private suspend fun fetchBackupFiles(folder: OCFile, storageManager: FileDataStorageManager): List<OCFile> =
332340
withContext(Dispatchers.IO) {
333341
try {
342+
val user = getUser() ?: return@withContext emptyList()
343+
334344
@Suppress("DEPRECATION")
335345
val result = RefreshFolderOperation(
336346
folder,
@@ -416,7 +426,8 @@ class BackupFragment :
416426
)
417427
return
418428
}
419-
val user = contactsPreferenceActivity.user.orElseThrow { RuntimeException() }
429+
val user = getUser() ?: return
430+
420431
val fragment = BackupListFragment.newInstance(backupToRestore.toTypedArray(), user)
421432
contactsPreferenceActivity.supportFragmentManager.beginTransaction()
422433
.replace(R.id.frame_container, fragment, BackupListFragment.TAG)

0 commit comments

Comments
 (0)