Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
kubat
Znamky
Commits
c1385250
Commit
c1385250
authored
5 years ago
by
kubat
Browse files
Options
Download
Email Patches
Plain Diff
bugfix
parent
f7b382d6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
app/src/main/java/cz/shoodroid/znamky/activities/MarksActivity.kt
+3
-22
...main/java/cz/shoodroid/znamky/activities/MarksActivity.kt
app/src/main/java/cz/shoodroid/znamky/viewModel/MarksViewModel.kt
+9
-1
...main/java/cz/shoodroid/znamky/viewModel/MarksViewModel.kt
with
12 additions
and
23 deletions
+12
-23
app/src/main/java/cz/shoodroid/znamky/activities/MarksActivity.kt
+
3
-
22
View file @
c1385250
...
...
@@ -56,38 +56,19 @@ class MarksActivity : AppCompatActivity() {
marksViewModel
.
marks
.
observe
(
this
,
LifecycleObserver
{
marks
=
it
.
toMutableList
()
marksAdapter
.
data
=
marks
marksAdapter
.
data
=
marks
ViewModel
.
marksForSubject
(
subject
.
key
).
toMutableList
()
marksAdapter
.
notifyDataSetChanged
()
recalculateAverage
()
})
fab
.
setOnClickListener
{
view
->
marks
.
add
(
Mark
(
UUID
.
randomUUID
().
toString
(),
1
,
5
,
subject
.
key
))
updateRecyclerView
()
recalculateAverage
()
marksViewModel
.
insert
(
Mark
(
UUID
.
randomUUID
().
toString
(),
1
,
5
,
subject
.
key
))
}
}
fun
Double
.
round
(
decimals
:
Int
):
Double
{
var
multiplier
=
1.0
repeat
(
decimals
)
{
multiplier
*=
10
}
return
round
(
this
*
multiplier
)
/
multiplier
}
fun
recalculateAverage
()
{
var
avg
:
Double
=
0.0
if
(
marks
.
isNotEmpty
())
{
var
sum
=
0.0
var
weightSum
=
0.0
marks
.
forEach
{
mark
->
sum
+=
(
mark
.
weight
*
mark
.
value
)
weightSum
+=
mark
.
weight
}
avg
=
(
sum
/
weightSum
).
round
(
2
)
}
average
.
text
=
getString
(
R
.
string
.
average
)
+
" "
+
avg
.
toString
()
average
.
text
=
getString
(
R
.
string
.
average
)
+
" "
+
marksViewModel
.
getSubjectMarksAverage
(
subject
.
key
)
}
fun
updateRecyclerView
()
...
...
This diff is collapsed.
Click to expand it.
app/src/main/java/cz/shoodroid/znamky/viewModel/MarksViewModel.kt
+
9
-
1
View file @
c1385250
...
...
@@ -30,6 +30,14 @@ class MarksViewModel(application: Application) : AndroidViewModel(application) {
marks
=
markRepository
.
marks
}
fun
Double
.
round
(
decimals
:
Int
):
Double
{
var
multiplier
=
1.0
repeat
(
decimals
)
{
multiplier
*=
10
}
return
kotlin
.
math
.
round
(
this
*
multiplier
)
/
multiplier
}
fun
getSubjectMarksAverage
(
subjectKey
:
String
)
:
Double
{
val
ms
=
marksForSubject
(
subjectKey
)
var
sum
=
0.0
;
...
...
@@ -39,7 +47,7 @@ class MarksViewModel(application: Application) : AndroidViewModel(application) {
wsum
+=
it
.
weight
}
return
if
(
wsum
==
0.0
)
0.0
else
sum
/
wsum
return
if
(
wsum
==
0.0
)
0.0
else
(
sum
/
wsum
).
round
(
2
)
}
fun
insert
(
mark
:
Mark
)
=
viewModelScope
.
launch
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment