Skip to content

Commit b04e2ed

Browse files
criticalAYBrayanDSO
authored andcommitted
refactor: migrate the preference code to use Fragment and remove usage of MyAccount activity
1 parent 8cbba85 commit b04e2ed

3 files changed

Lines changed: 14 additions & 8 deletions

File tree

AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ import com.ichi2.anki.InitialActivity.StartupFailure.FutureAnkidroidVersion
9797
import com.ichi2.anki.InitialActivity.StartupFailure.SDCardNotMounted
9898
import com.ichi2.anki.InitialActivity.StartupFailure.WebviewFailed
9999
import com.ichi2.anki.IntentHandler.Companion.intentToReviewDeckFromShortcuts
100+
import com.ichi2.anki.account.AccountActivity
100101
import com.ichi2.anki.analytics.UsageAnalytics
101102
import com.ichi2.anki.android.back.exitViaDoubleTapBackCallback
102103
import com.ichi2.anki.android.input.ShortcutGroup
@@ -2107,7 +2108,7 @@ open class DeckPicker :
21072108
return
21082109
}
21092110

2110-
MyAccount.checkNotificationPermission(this, notificationPermissionLauncher)
2111+
AccountActivity.checkNotificationPermission(this, notificationPermissionLauncher)
21112112

21122113
/** Nested function that makes the connection to
21132114
* the sync server and starts syncing the data */
@@ -2130,9 +2131,8 @@ open class DeckPicker :
21302131
}
21312132

21322133
override fun loginToSyncServer() {
2133-
val myAccount = Intent(this, MyAccount::class.java)
2134-
myAccount.putExtra("notLoggedIn", true)
2135-
loginForSyncLauncher.launch(myAccount)
2134+
val intent = AccountActivity.getIntent(this, forResult = true)
2135+
loginForSyncLauncher.launch(intent)
21362136
}
21372137

21382138
// Callback to import a file -- adding it to existing collection

AnkiDroid/src/main/java/com/ichi2/anki/preferences/SyncSettingsFragment.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import com.google.android.material.snackbar.Snackbar
2121
import com.ichi2.anki.CollectionManager.TR
2222
import com.ichi2.anki.CollectionManager.withCol
2323
import com.ichi2.anki.R
24+
import com.ichi2.anki.account.AccountActivity
2425
import com.ichi2.anki.launchCatchingTask
2526
import com.ichi2.anki.settings.Prefs
2627
import com.ichi2.anki.snackbar.showSnackbar
@@ -61,6 +62,15 @@ class SyncSettingsFragment : SettingsFragment() {
6162
false
6263
}
6364
}
65+
66+
requirePreference<Preference>(R.string.sync_account_key).apply {
67+
setOnPreferenceClickListener {
68+
val accountActivityIntent = AccountActivity.getIntent(requireContext())
69+
startActivity(accountActivityIntent)
70+
true
71+
}
72+
}
73+
6474
// Custom sync server
6575
requirePreference<Preference>(R.string.custom_sync_server_key).setSummaryProvider {
6676
customSyncBase() ?: getString(R.string.custom_sync_server_summary_none_of_the_two_servers_used)

AnkiDroid/src/main/res/xml/preferences_sync.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@
2525
android:key="@string/sync_account_key"
2626
android:summary="@string/sync_account_summ_logged_out"
2727
android:title="@string/sync_account" >
28-
<!--suppress AndroidDomInspection: @string/applicationId works -->
29-
<intent
30-
android:targetClass="com.ichi2.anki.MyAccount"
31-
android:targetPackage="@string/applicationId" />
3228
</Preference>
3329
<ListPreference
3430
android:defaultValue="@string/sync_media_always_value"

0 commit comments

Comments
 (0)