This is my data::
0 = {DailyGraphData@12509} "DailyGraphData(id=122, appName=GoRestApp, packageName=com.anil.gorestapp, totalAppTimeInForeground=162000, lastTimeUsed=2021-12-04 01:07:01, beginningTime=2021-12-04 01:04:19, endTime=2021-12-04 01:07:01, isChild=true, category=other)"
1 = {DailyGraphData@12510} "DailyGraphData(id=123, appName=Pixel Launcher, packageName=com.google.android.apps.nexuslauncher, totalAppTimeInForeground=18000, lastTimeUsed=2021-12-04 01:04:22, beginningTime=2021-12-04 01:04:20, endTime=2021-12-04 01:04:22, isChild=true, category=other)"
2 = {DailyGraphData@12511} "DailyGraphData(id=1, appName=Pixel Launcher, packageName=com.google.android.apps.nexuslauncher, totalAppTimeInForeground=14036000, lastTimeUsed=2021-12-04 02:02:57, beginningTime=2021-12-04 01:00:00, endTime=2021-12-04 02:00:00, isChild=false, category=other)"
3 = {DailyGraphData@12512} "DailyGraphData(id=4, appName=GoRestApp, packageName=com.anil.gorestapp, totalAppTimeInForeground=46406000, lastTimeUsed=2021-12-04 00:52:26, beginningTime=2021-12-04 00:50:55, endTime=2021-12-04 00:52:26, isChild=false, category=other)"
4 = {DailyGraphData@12514} "DailyGraphData(id=19, appName=Package installer, packageName=com.google.android.packageinstaller, totalAppTimeInForeground=18000, lastTimeUsed=2021-12-04 00:54:18, beginningTime=2021-12-04 00:54:17, endTime=2021-12-04 00:54:18, isChild=false, category=other)"
5 = {DailyGraphData@12515} "DailyGraphData(id=215, appName=Certificate Installer, packageName=com.android.certinstaller, totalAppTimeInForeground=14000, lastTimeUsed=2021-12-04 00:36:12, beginningTime=2021-12-04 00:36:05, endTime=2021-12-04 00:36:12, isChild=false, category=other)"
6 = {DailyGraphData@12516} "DailyGraphData(id=299, appName=Usage Stats, packageName=at.ciit.usagestats, totalAppTimeInForeground=7810000, lastTimeUsed=2021-12-04 04:05:59, beginningTime=2021-12-04 04:05:33, endTime=2021-12-04 04:05:59, isChild=false, category=other)" I am saving this data in parentChildResult
val parentChildResult :ArrayList<DailyGraphData>
I want to iterate this list and i want save this data in another child list data in such manner so that if isChild is true then totalAppTimeInForeground should go to childUsageDuration and if !isChild then it should go parentUsageDuration and it should return Single item and should add in Single list
data class Monitor(
var appName: String,
var packageName: String,
var category: String,
var parentUsageDuration: Long? = 0L,
var childUsageDuration: Long? = 0L
)
I am trying in this way
var listOfMonitor: ArrayList<Monitor> = ArrayList()
var parentTime: Long? = 0L
var childTime: Long? = 0L
for (item in value) {
if (item.isChild){
childTime = item.totalAppTimeInForeground
}
else{
parentTime = item.totalAppTimeInForeground
}
listOfMonitor.add(Monitor(appName = item.appName,packageName = item.packageName,category= item.category,parentUsageDuration = parentTime,childUsageDuration = childTime))
}
but i am unable to make this as group by app wise please help me in this