Coder Social home page Coder Social logo

atahabaki / wordbook-android Goto Github PK

View Code? Open in Web Editor NEW
16.0 2.0 2.0 6.77 MB

An android app for linguists...

Home Page: https://atahabaki.github.io/wordbook-android/

License: GNU General Public License v3.0

Kotlin 100.00%
android mvvm kotlin room protobuf3 linguist dictionary workmanager-kotlin workmanager notifications

wordbook-android's Introduction

WordBook Logo/Trademark

Google Play Link F-Droid

Telegram Channel Link Buy me a coffee Link

WordBook

A simple, easy-to-use, open-source personal dictionary app for linguists, and language learners. It allows you to jot down as you learn new words, idioms, proverbs... It's simply a dictionary at your fingertips.

Screenshots

wordbook-android's People

Contributors

atahabaki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

wordbook-android's Issues

Search UI issues

  • Don't hide on scroll while searching/typing
  • Hide fab while SearchView is active...

๐Ÿ’ซ More animation

  • Enter EditFragment
  • Exit EditFragment
  • Enter SettingsFragment
  • Exit SettingsFragment
  • Enter AboutFragment
  • Exit AboutFragment

I'm not sure about these but anway:

  • Enter ListFragment
  • Exit ListFragment

Swipe r/l to...

The string literals for swipe operations... This does not tell what exactly will happen :(

Change them to "Swipe from r/l to..."

Red background

It's difficult looking at a red background when you're typing out a word and its meaning. Please consider making the background black.

I see that you're planning to add theme options that the user can choose from. You could make an option to change the red background if you prefer it the way it currently is.

Settings

  • store which way the swipe deletes/marks the word...
  • how often the notifications...
  • card game settings...
  • ...

๐Ÿ› Appshortcut Settings Launch Crash

  • Is it reproducable, if so how?

    Yes, long press to wordbook launcher icon, then tap settings shortcut.
    Activity starts and crashes, log can be found below...

2021-08-25 15:47:24.064 1438-1813/? I/ActivityTaskManager: Displayed dev.atahabaki.wordbook/.ui.WordBookActivity: +3s453ms
2021-08-25 15:47:24.131 19122-19122/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: dev.atahabaki.wordbook, PID: 19122
    java.lang.NullPointerException: Attempt to invoke interface method 'android.view.MenuItem android.view.MenuItem.setChecked(boolean)' on a null object reference
        at dev.atahabaki.wordbook.ui.WordBookActivity.invokeSuspend(WordBookActivity.kt:82)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit.run(RuntimeInit.java:491)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
2021-08-25 15:47:24.138 1438-5295/? W/ActivityTaskManager:   Force finishing activity dev.atahabaki.wordbook/.ui.WordBookActivity

Validation

Should be a validation before saving any change to the word...

  • Display a dialog (which exactly points to what needs to be done XD)...
  • Save if everything is OK...

An easier way to get definitions

Hey, I love how you kept the app as minimal as possible with minimum bloat. I commend you for that.

Though, I really wonder how you use the app. Are you used to manually typing out the word and its definition every time you add a word to your WordBook? I almost always use an online dictionary like Merriam-Webster to read up on a word, so for me, it'd be best if an app auto-pulled from M-W. However, I'm not here to ask for it, as it'd defeat the purpose of this app being a simple local database for words and their definitions.

Another option I can think of is collaborating with another app like Notification Dictionary, which already has a simple offline dictionary. Of course, an app that can look up words online would work better in this case but even this could be a beginning.

Anyway, that's just my 2 cents.

๐Ÿ› Crash Report (EditFrag 2 EditFrag action/dest !exist)

Reproducible?

Yes, select an item, change the theme dark - light, app crashes...

2021-08-25 16:15:10.634 28020-28020/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: dev.atahabaki.wordbook, PID: 28020
    java.lang.IllegalArgumentException: Navigation action/destination dev.atahabaki.wordbook:id/action_nav_menu_wordbook_to_editFragment cannot be found from the current destination Destination(dev.atahabaki.wordbook:id/editFragment) label=EditFragment class=dev.atahabaki.wordbook.ui.word.EditFragment
        at androidx.navigation.NavController.navigate(NavController.java:940)
        at androidx.navigation.NavController.navigate(NavController.java:877)
        at androidx.navigation.NavController.navigate(NavController.java:863)
        at androidx.navigation.NavController.navigate(NavController.java:1159)
        at dev.atahabaki.wordbook.ui.WordBookActivity.onCreate$lambda-2(WordBookActivity.kt:120)
        at dev.atahabaki.wordbook.ui.WordBookActivity.$r8$lambda$DbbnQzDuP3ySbIVhy_oLD9QdJiU(Unknown Source:0)
        at dev.atahabaki.wordbook.ui.WordBookActivity$$ExternalSyntheticLambda7.onChanged(Unknown Source:6)
        at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
        at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:146)
        at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:468)
        at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:425)
        at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:354)
        at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:265)
        at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:307)
        at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:148)
        at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
        at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:68)
        at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPostStarted(ReportFragment.java:187)
        at android.app.Activity.dispatchActivityPostStarted(Activity.java:1252)
        at android.app.Activity.performStart(Activity.java:7884)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3294)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
2021-08-25 16:15:10.651 1438-3887/? W/ActivityTaskManager:   Force finishing activity dev.atahabaki.wordbook/.ui.WordBookActivity

AppShortcuts XD

Long press on the WordBook icon to see balloons like the Phone app does.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.