Repo created

This commit is contained in:
Fr4nz D13trich 2025-11-24 08:22:15 +01:00
parent 5b950caea0
commit 477d1afe74
805 changed files with 316919 additions and 2 deletions

View file

@ -0,0 +1,98 @@
@startuml
Actor Activity
participant "AbstractListFragment" as A
participant "AbstractCursorListFragment" as B
participant "ConcreteCursorListFragment" as C
Activity -> A: onCreate
activate A
A -> C: createAdapter()
activate C
C --> A: return adapter
deactivate C
deactivate A
Activity -> B: onCreateView
activate B
B -> A: onCreateView
deactivate B
activate A
A -> A: connect this class as swipe refresh listener
A -> A: setup gridview
activate A
A -> B: createOnItemClickListener
activate B
B --> A: return click listener
deactivate B
deactivate A
A -> A: restore saved state (if any)
A -> A: enable options menu
A -> B:
deactivate A
activate B
B -> B: restore saved search query (if any)
activate B
deactivate B
deactivate B
Activity -> B: onActivityCreated
activate B
B -> LoaderManager: initialize cursor loader
activate LoaderManager
LoaderManager -> B: onCreateLoader
B -> C: createCursorLoader
activate B
activate C
C --> B: return cursorLoader
deactivate C
B --> LoaderManager: return cursorLoader
deactivate B
deactivate B
deactivate LoaderManager
Activity -> B: onStart
Activate B
B ->> LoaderManager: onStart
Activate LoaderManager
B -> B: bind to library sync service
activate B
deactivate B
deactivate B
LoaderManager ->> B: onLoadFinished
Activity -> B: onResume
Activate B
B -> B: register to eventbus
activate B
deactivate B
deactivate B
== UI active ==
...
Activity ->> B: user selects list item
activate B
B -> B: saveSearchState
activate B
deactivate B
B -> C: onListItemClicked(view)
Activate C
C -> Activity: onItemSelected
note over Activity: starts corresponding InfoFragment
deactivate C
deactivate B
== UI inactive ==
Activity -> B: onPause
activate B
B -> B: unregister from eventbus
activate B
deactivate B
deactivate B
Activity -> B: onStop
activate B
B -> B: unbind from library sync service
activate B
deactivate B
deactivate B
@enduml

View file

@ -0,0 +1,113 @@
@startuml
Actor Activity
participant "AbstractFragment" as A
participant "AbstractInfoFragment" as B
participant "ConcreteInfoFragment" as C
participant "AbstractAdditionalInfoFragment" as D
participant "ConcreteAdditionalInfoFragment" as E
participant "RefreshItem" as F
Activity -> A: onCreate
activate A
A -> A: setup DataHolder
activate A
deactivate A
deactivate A
Activity -> B: onCreateView
activate B
B -> B: set poster size to square or rectangular
B -> B: connect this class as swipe refresh listener
B -> C: getAdditionalInfoFragment()
activate C
C -> B: return AbstractAdditionalInfoFragment or null if none
deactivate C
B -> C: setupMediaActionBar()
activate C
C -> B: setOn...Listener(View.OnClickListener)
activate B
C -> B: setOn...Listener(View.OnClickListener)
C -> B: ...
note over C: setting a listener for each\naction button required, will\nmake it visible in the UI
note over B: Make button(s) visible\nin action bar and\nattach listener
B --> C
deactivate B
deactivate C
B -> C: setupFAB(ImageButton FAB)
activate C
note over C: add a listener for the FAB if needed
C -> B: return true to enable the FAB, false to disable it
B -> B: updateView(dataholder)
deactivate C
note left : updateView uses dataholder to fill views
activate B
deactivate B
B --> Activity: return view
deactivate B
Activity -> B: onStart
Activate B
B -> B: bind to library sync service
activate B
deactivate B
deactivate B
Activity -> B: onResume
Activate B
B -> B: register refresh item if it exists
activate B
deactivate B
deactivate B
== UI active ==
...
note over B: user requests a refresh
Activity -> B: onRefresh
activate B
B -> B: getRefreshItem()
B -> C: if no refreshItem then call createRefreshItem()
activate B
activate C
C -> B: return refresh item
deactivate C
deactivate B
B ->> F: startSync()
activate F
F -> F: start LibrarySyncService
B -> D: refresh()
activate D
D -> E: refresh()
activate E
E --> D
deactivate E
D --> B
deactivate D
deactivate B
...
F -> C: onSyncProcessEnded(MediaSyncEvent)
deactivate F
activate C
note over C: update dataholder
C -> B: updateView(dataholder)
deactivate C
...
== UI inactive ==
Activity -> B: onPause
activate B
B -> B: unregister refresh item if it exists
activate B
deactivate B
deactivate B
Activity -> B: onStop
activate B
B -> B: unbind from library sync service
activate B
deactivate B
deactivate B
@enduml

View file

@ -0,0 +1,48 @@
@startuml
Actor Activity
participant "BaseMediaActivity" as A
participant "MediaActivity" as B
Activity -> A: onCreate
activate A
A -> A: set theme
A -> A: setup navigation drawer
group setup action bar
alt new activity
A -> B: getActionBarTitle()
activate B
B -> A:
deactivate B
note over A: set home icon to hamburger icon
else restore action bar
note over A: get home icon and action bar title\nfrom saved instance
end
A -> A: updateActionBar
alt no fragment in layout (new activity)
A -> B: createFragment()
activate B
B -> A:
deactivate B
A -> A: add fragment
end
A -> Activity
deactivate A
...
Activity -> A: onCreateOptionsMenu
activate A
note over A: inflate generic menu items
A -> Activity:
deactivate A
...
note over B: user selects media item
B -> A: showFragment()
activate B
activate A
note over A: sets up the shared element transition\nand updates the dataholder
A -> A: replace current fragment\nwith new fragment
A -> B
deactivate A
deactivate B
@enduml