diff --git a/AnkiDroid/src/main/java/com/ichi2/widget/DeckPickerWidgetConfig.kt b/AnkiDroid/src/main/java/com/ichi2/widget/DeckPickerWidgetConfig.kt index 2f762175a03c..ea913146a610 100644 --- a/AnkiDroid/src/main/java/com/ichi2/widget/DeckPickerWidgetConfig.kt +++ b/AnkiDroid/src/main/java/com/ichi2/widget/DeckPickerWidgetConfig.kt @@ -64,11 +64,16 @@ class DeckPickerWidgetConfig : AnkiActivity(), DeckSelectionListener { private var dueTree: DeckNode? = null override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) if (showedActivityFailedScreen(savedInstanceState)) { return } - super.onCreate(savedInstanceState) + if (!ensureStoragePermissions()) { + sendBroadcast(Intent(this, DeckPickerWidget::class.java)) + return + } + setContentView(R.layout.widget_deck_picker_config) deckPickerWidgetPreferences = WidgetPreferences(this) @@ -139,18 +144,7 @@ class DeckPickerWidgetConfig : AnkiActivity(), DeckSelectionListener { // TODO: Implement multi-select functionality so that user can select desired decks in once. findViewById(R.id.fabWidgetDeckPicker).setOnClickListener { - lifecycleScope.launch { - val tree = dueTree - if (tree != null) { - // Check if the default deck is the only available deck and there are no cards - val isEmpty = isCollectionEmpty(tree) - if (isEmpty) { - showSnackbar(R.string.no_decks_available_message) - } else { - showDeckSelectionDialog() - } - } - } + showDeckSelectionDialog() } // Load and display saved preferences diff --git a/AnkiDroid/src/main/res/values/08-widget.xml b/AnkiDroid/src/main/res/values/08-widget.xml index 0b01214a923d..2a3ce3dfe972 100644 --- a/AnkiDroid/src/main/res/values/08-widget.xml +++ b/AnkiDroid/src/main/res/values/08-widget.xml @@ -45,7 +45,6 @@ Select decks to display in the widget Select decks with the + icon. Deck Removed - No decks available to select" This deck is already selected You can select up to %d deck.