Kiwix-android: Storage selector is not user friendly

Created on 4 Aug 2020  路  14Comments  路  Source: kiwix/kiwix-android

The storage selector has many problems:

  • It does not show what is the current configuration
  • It is not haptic when you change the selection
  • Clicking on the element change it automatically which might be surprising
  • If you change it there is no toast showing that something has changed

As the consequence it is not clear at all what happens, in particular if you have this storage selector displayed outside the settings.

bug

All 14 comments

Can you please what can fix the problem, like displaying a toast or a snackbar alone won't work?
And what should be comprehended by haptic?
I would like to work on it

for it to be haptic there would need to be a response when the buttons in the selector dialog are clicked.
The way we decide a storage is internal/external should be standardised to be the way we choose it in PrefsFragment.
It should also show a toast that storage was updated when used outside of the PrefsFragment, maybe only then as it is pretty clear in the UI of the PrefsFragment that you have made a choice

@macgills Why not having a bullet list in settings with the available storage devices? Would be a lot simpler! It would not be possible to change it in the library online tab anymore, but we would still display the toast if necessary and a link to open the settings at the right place to change it?

Well the UX of being able to change the setting right there and then is quite useful, hesitant to remove it.

Customising the UI of the preference screen is actually a bit annoying and also the data is dynamic as there might be only 1 storage device. We could have a subclass of ListPreference but it would amount to much the same as we have now. Probably altering our existing dialog to have radioButtons would be identical (at least to the user) and less time consuming

@macgills OK, was just an idea.

@kelson42 My examinations are almost over(as for the current assignment they've allotted 2 days to finish), so may I please take up this issue if you don't mind.

@s-ayush2903 Thank you very much for your offer. Please explain your plan here and get @macgills approval first before starting coding.

  • I plan to implement it displaying it as radio buttons that'll display the current configuration and on switching storage option, a snackbar would be displayed.
  • Another idea I had of highlighting the boundary of the selected storage in the dialog that appears(which I assume could be easier than the choice of radio buttons)
  • On following the thread it seemed to me that it asks for storage each and every time download is prompted which wasn't the case with me, on a fresh install it just asked me about downloading content over wi-fi and nothing else. I can find the option to switch storages only in the settings screen.
  • How to enable that prompt for each and every time while downloading?

Quite simply I want it to mirror the UX of the Night Mode dialog.
image
Cells have a radio button.
image
cells are haptic

There is no snackbar or toast ever as you are directly modifying a setting, no async or hidden work.

How to enable that prompt for each and every time while downloading?

It asks you to switch storage if your current preferred storage can't handle the size of the item you want to download

Okay fine, I would like to implement this

  • Should I write it entirely the same as for nightMode, i.e., another class for handling the storage changes? Till now, I've setup the expected UI but struggling with how to change storage options from the listPrefs. that pop up as I'm unable to make use of onStorageDeviceSelected.

|Current Status|
|--|
|storagestatus|

  • I want to make it display like the previous version, which shows the amount of storage available, but how can I fit dynamic storage values inside an array?

  • Am I allowed to make some required changes in the SharedPreferencesUtil.kt class?

Night Mode should only be a visual template. You will have to work with the StorageSelectDialog to show a custom dialog with dynamic information about the file system and also style it

@s-ayush2903 do you have an estimate for when you will be opening a PR? This is a priority ticket for the 3.4.1 release and I am just trying to plan when we will be releasing

Hopefully by today late night, as soon as I find out how the textViews are being set in the recyclerView, I looked into it last night but couldn't deduce anything useful. It was just storageAdapter which seemed to set the values, but I'm not sure of it. I'll search more about it this evening

Was this page helpful?
0 / 5 - 0 ratings

Related issues

asereze picture asereze  路  4Comments

chstdu picture chstdu  路  6Comments

danielzgtg picture danielzgtg  路  4Comments

Frans-Lukas picture Frans-Lukas  路  4Comments

RohanBh picture RohanBh  路  5Comments