You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This list tracks all important tasks related to this project. This helps @CampelloManuel schedule work.
Bigger, more complex tasks, mainly those that require collaboration, will get their own github issue.
There is another list for less important tasks in #480
For each release:
on the weblate project: check comments, approve suggestions, sync data with the github repo
test the app as much as possible
run ./release.sh. this creates a tag
in a few days the new release will appear automatically on f-droid and the play store
For the next version:
work on the issues in this view starting from the newest
work on the items of the list below
Important ideas:
list of reminders: make a view, maybe accessible through the overflow menu on the main activity, where a list of reminders is sorted by date, possibly also with the text of the note they belong to. This is to quickly see what kind of reminders are set and what is scheduled next. I think many users care more about reminders than the due date they set on the notes
I don't like the look of the time picker. Try different libraries and styles for the TimePickerDialog, and try MaterialTimePickerDialog of the google library, see which is better. Try also the date picker dialog, but that one is fine I think
update the theme.xml to use the new material design, "material YOU". It's easy: <style name="Example" parent="Theme.Material3.DynamicColors.Dark"></style> is enough. but you have to remove the colorPrimary. So maybe adding it as a new theme choice is a good idea. try using daynight as a base. this site generates themes https://m3.material.io/theme-builder#/custom and this link https://codelabs.developers.google.com/codelabs/apply-dynamic-color#5 explains how to use them, but these don't use the dynamic colors, which is what I'm trying to do
remove the "androidannotations" library. It is obsolete, abandoned and gradle updates keep breaking it
the backup and restore functions use an hardcoded filename. Instead, the backup function should let the user pick a directory, and save a .json file there, with the date on the filename, thus also allowing for multiple files. The restore function should open a filepicker to let the user choose a .json file to restore. The code to pick a predefined folder is a bad design choice and should be deleted. How to restore? #510 shows that the backup and restore functionality is not clear to users.
test the app on RTL (right-to-left) layouts (such as arab locale on emulator) and fix the UI bugs
edit the widget settings as requested in Bigger Text and better description for the Widget #497 , change the label to something like "Rows of notes to display. Move slider to max to show 99 rows". Then: Raise the widget note font size by 150 percent. But is there a way you could have the widget font match up with the font sizes we choose in the app? Useful when you set the font size to large in the appearance settings of the app.
add support for android Wear OS for smart watches. Test with the emulator available in the SDK.
reorganize namespaces to exploit the package-private feature. Take a big java file ( > 600 lines ) and create a package for it. then split it and keep only 1 class public. if a class has inner classes, split them into their own file and keep them as package private, with only the "main" class as visible. do it at least for activitymain and the task*fragment(s)
make a "widgets" namespace. move the shortcut class there. make a sub-namespace for the list widget, move all list widget classes there. make a new sub-namespace for the third widget of a third widget: "favorite note" #482 and add new code there
refactor all classes so that no file has more than, say, 500 lines of code. This means moving some methods out of ActivityMain and TaskDetailFragment on some static methods into their own helper classes
if the user tries to make a backup with password-locked notes, ask for the password before showing the backup dialog. do this both for creating and restoring the backup
the light & dark themes are not tied to the system's theme settings: we should have a default theme option that follows the day/night theme setting of the OS
remove all the commented out code and unused functions, classes, xml layouts, files and libraries
Use AndroidStudio's analyze feature (code analysis, default IDE profile) to get some ideas on what to refactor. Like use of deprecated classes, and so on. will be VERY long
replace, when possibile, Toast with Snackbar, possibly with undo actions. especially in the backup preferences page this should be possible
the "shortcut" widget simply shows the app icon. It would be cool if it showed something different, like a custom "add note" icon. See ShortcutConfig.onOK()
use our custom NnnLogger instead of Log.d() and Log.e() in all calls in the codebase
check the commits on the OpenTracks repo in 2019, there could be some good changes to copy
find all references of R.string.feature_is_WIP and work on those features
big widget: more color options. the only options right now are between "light" and "dark", and they don't even affect the widget header. try to use the material YOU colors in android 13
run gradlew lint and fix the reported warnings. See TODO in build.gradle
Replace all images with vector graphics: since we target a minimum SDK > 22, there should be no png icons, they can all be vectors (except the "main" app icon)
add a setting to hide the "Next 5 days" page on the left. as of now the user can replace it with something else in the drawer
update featureGraphic, promographic and icon for fastlane
use as much as you can the "compat" features as opposed to the non-androidx classes
check and remove all .py files, which should be useless
version 6.0.0 had a button on the actionbar to quickly change the list ordering. In our version, the user has to long-click the list name in the drawer, which may be counter intuitive. maybe we should add a gear next to the list name so that it's clearer how the list settings are edited. as of now there is a folder icon. put a gear there ?
to reduce the apk size, we may delete the following useless folders: drawable-mdpi, drawable-xhdpi, assuming that we are only going to use XML drawables
attach photos to notes. If it's too hard, limit it to 1 photo per note. how should they be saved on the database: the entire photo or just its filepath ? alternative: try to fetch and show a photo if its uri or file path is in the note text. alternative: add an import button to TaskDetailFragment to add the file's path to the note as text, and retain the permissions to open the file.
the SwipeRefreshLayout is useless: remove all references in the code
Shortcutconfig: use a + icon for "create note" and a "list" icon for "open list" actions
methods like Cursor.getContentResolver().query() are being used outside the designated com.nononsenseapps.notepad.database namespace. You should make an Helper class that calls these methods, closes the cursor and returns java objects. This way, Cursor and the database logic are enclosed in that namespace only
take a look at the google dev. console. Does the data suggest something ? In particular see which versions/devices crash more
This list tracks all important tasks related to this project. This helps @CampelloManuel schedule work.
Bigger, more complex tasks, mainly those that require collaboration, will get their own github issue.
There is another list for less important tasks in #480
For each release:
./release.sh. this creates a tagFor the next version:
Important ideas:
<style name="Example" parent="Theme.Material3.DynamicColors.Dark"></style>is enough. but you have to remove the colorPrimary. So maybe adding it as a new theme choice is a good idea. try using daynight as a base. this site generates themes https://m3.material.io/theme-builder#/custom and this link https://codelabs.developers.google.com/codelabs/apply-dynamic-color#5 explains how to use them, but these don't use the dynamic colors, which is what I'm trying to doNew functionality & less important changes:
org.androidannotations:androidannotations:4.8.0, which is deprecated. See Refactor package structure and remove AA #369 difficult, and not really worth it: the last version supports androidx just fine. and it's from 2020, so it's still usable. TEST CAREFULLY, especially the navigation from widgets. See Drop android annotations, use view bindings instead #465 a failed attemptapp/src/main/res/animare useless. consider deleting themarrays.xml, do it like this https://gitlab.com/spacecowboy/Feeder/-/blob/master/app/src/main/res/xml/locales_config.xmlToastwithSnackbar, possibly with undo actions. especially in the backup preferences page this should be possibleShortcutConfig.onOK()NnnLoggerinstead ofLog.d()andLog.e()in all calls in the codebasegradlew lintand fix the reported warnings. See TODO in build.gradledrawable-mdpi,drawable-xhdpi, assuming that we are only going to use XML drawables+icon for "create note" and a "list" icon for "open list" actionsCursor.getContentResolver().query()are being used outside the designatedcom.nononsenseapps.notepad.databasenamespace. You should make an Helper class that calls these methods, closes the cursor and returns java objects. This way, Cursor and the database logic are enclosed in that namespace only