UniRegensburg / unsere-app-fur-die-universitat-regensburg-bib-buddy

Bib Buddy - deine App für eine konzentrierte, offene Literaturarbeit!
0 stars 0 forks source link

Manage books and notes (see Issue #82) #91

Closed SarahKurek closed 3 years ago

SarahKurek commented 3 years ago

Description Implemented deleting books and notes. When element is selected by long click, it can be deleted using the button in the menu.

Implemented changing the book data of an existing book. Therefore the existing BookFormFragment was adapted. When a book is selected by long click, it's data can be changed using the button in the menu.

Affects BookFormFragment, BookNotesView, BookFragment and the corresponding Models and DAOs.

Notes for Reviewer Please review & comment/approve.

claudia3 commented 3 years ago

When I delete a book and try to open the shelf where the book was deleted again the app crashes.

E/AndroidRuntime: FATAL EXCEPTION: main Process: de.bibbuddy, PID: 3639 android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0 at android.database.AbstractCursor.checkPosition(AbstractCursor.java:514) at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:138) at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:52) at de.bibbuddy.BookDao.findById(BookDao.java:96) at de.bibbuddy.BookDao.getAllBooksForShelf(BookDao.java:292) at de.bibbuddy.BookModel.getBookList(BookModel.java:80) at de.bibbuddy.BookFragment.onCreateView(BookFragment.java:67) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2950) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:515) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2168) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2094) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1990) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) I/Process: Sending signal. PID: 3639 SIG: 9

claudia3 commented 3 years ago

The app crashes when you click "ändern" when you have an empty selection in BookFragment.

E/AndroidRuntime: FATAL EXCEPTION: main Process: de.bibbuddy, PID: 9181 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.get(ArrayList.java:437) at de.bibbuddy.BookFragment.handleChangeBookData(BookFragment.java:122) at de.bibbuddy.BookFragment.onOptionsItemSelected(BookFragment.java:94) at androidx.fragment.app.Fragment.performOptionsItemSelected(Fragment.java:3109) at androidx.fragment.app.FragmentManager.dispatchOptionsItemSelected(FragmentManager.java:3210) at androidx.fragment.app.FragmentController.dispatchOptionsItemSelected(FragmentController.java:416) at androidx.fragment.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:346) at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:228) at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109) at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109) at androidx.appcompat.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:65) at androidx.appcompat.widget.Toolbar$1.onMenuItemClick(Toolbar.java:207) at androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:779) at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:834) at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158) at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:985) at androidx.appcompat.view.menu.MenuPopup.onItemClick(MenuPopup.java:128) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1187) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3179) at android.widget.AbsListView$3.run(AbsListView.java:4097) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) I/Process: Sending signal. PID: 9181 SIG: 9

claudia3 commented 3 years ago

Please adjust the menu in the BookFragment and BookNotesView depending on the user selection. Have a look at the LibraryFragment onPrepareOptionsMenu(Menu menu) function.