KieronQuinn / Smartspacer

Smartspacer is a customisable widget for Android, but with a difference: It can upgrade the built in At a Glance on Pixels - without root!
GNU General Public License v3.0
2.04k stars 45 forks source link

[Bug] In Vertical widget mode the At a Glance target is shown last regardless of targets order #187

Closed h0tk3y closed 6 months ago

h0tk3y commented 6 months ago

Description

With Vertical list widget mode, the target for the At a Glance widget is always rendered as the last target, not taking into account the order of the targets in the app settings, which works with every other target.

Alternatively, if this is caused by technical limitations or is the designed behavior, clarifying it in the UI would help doing initial setup.

Example Setup 1 ![Screenshot_20240408_171827_Smartspacer](https://github.com/KieronQuinn/Smartspacer/assets/1888526/9d15cd6c-d719-4768-a0e5-7ebd4fa81cab) ![Screenshot_20240408_171854_Nova Launcher](https://github.com/KieronQuinn/Smartspacer/assets/1888526/712e3d58-10e7-4e8e-8a3a-658cf7c30aed)
Dump for setup 1 ``` ===================== Merged Targets: ===================== SmartspaceTarget(smartspaceTargetId=smartspacer_com.kieronquinn.app.smartspacer_blank_ec2b7533-8d5d-41a6-a185-8d0c26719ccf, headerAction=SmartspaceAction(id=smartspacer_com.kieronquinn.app.smartspacer.plugin.samsunghealth_samsung_health_steps_022ab1b0-9850-4bee-a449-0357d575d1c0, icon=Icon(typ=RESOURCE pkg=com.kieronquinn.app.smartspacer.plugin.samsunghealth id=0x7f070099), title=, subtitle=1,698, contentDescription=null, pendingIntent=null, intent=Intent { act=android.intent.action.VIEW dat=https://shealth.samsung.com/... pkg=com.sec.android.app.shealth }, userHandle=UserHandle{0}, extras=Bundle[{}], subItemInfo=SubItemInfo(text=Text(text=1,698, truncateAtType=END, maxLines=1), icon=Icon(icon=Icon(typ=RESOURCE pkg=com.kieronquinn.app.smartspacer.plugin.samsunghealth id=0x7f070099 tint=0xffffffff), contentDescription=null, shouldTint=true), tapAction=TapAction(id=38dc52b9-d369-4081-98e0-69dbe87bce0d, intent=Intent { act=android.intent.action.VIEW dat=https://shealth.samsung.com/... pkg=com.sec.android.app.shealth }, pendingIntent=null, extras=Bundle[EMPTY_PARCEL], shouldShowOnLockScreen=false, userHandle=UserHandle{0}), loggingInfo=null), limitToSurfaces=[], skipPendingIntent=false), baseAction=SmartspaceAction(id=smartspacer_com.kieronquinn.app.smartspacer.plugin.samsunghealth_samsung_health_sleep_63b68bff-5f49-4c5e-8210-9668880a2c75, icon=Icon(typ=RESOURCE pkg=com.kieronquinn.app.smartspacer.plugin.samsunghealth id=0x7f070098), title=, subtitle=4h18m, contentDescription=null, pendingIntent=null, intent=Intent { act=android.intent.action.VIEW dat=https://shealth.samsung.com/... pkg=com.sec.android.app.shealth }, userHandle=UserHandle{0}, extras=Bundle[{}], subItemInfo=SubItemInfo(text=Text(text=4h18m, truncateAtType=END, maxLines=1), icon=Icon(icon=Icon(typ=RESOURCE pkg=com.kieronquinn.app.smartspacer.plugin.samsunghealth id=0x7f070098 tint=0xffffffff), contentDescription=null, shouldTint=true), tapAction=TapAction(id=0a109cd0-9eb6-4b27-a980-e37def7906d4, intent=Intent { act=android.intent.action.VIEW dat=https://shealth.samsung.com/... pkg=com.sec.android.app.shealth }, pendingIntent=null, extras=Bundle[EMPTY_PARCEL], shouldShowOnLockScreen=false, userHandle=UserHandle{0}), loggingInfo=null), limitToSurfaces=[], skipPendingIntent=false), creationTimeMillis=1712582333601, expiryTimeMillis=9223372036854775807, score=0.0, actionChips=[], iconGrid=[], featureType=0, isSensitive=false, shouldShowExpanded=false, sourceNotificationKey=null, componentName=ComponentInfo{com.kieronquinn.app.smartspacer/com.kieronquinn.app.smartspacer.components.smartspace.targets.BlankTarget}, userHandle=UserHandle{0}, associatedSmartspaceTargetId=null, sliceUri=null, widget=null, templateData=BaseTemplateData (1) primaryItem=(SubItemInfo(text=Text(text=, truncateAtType=END, maxLines=1), icon=null, tapAction=null, loggingInfo=null)) primaryItem=(SubItemInfo(text=Text(text=1,698, truncateAtType=END, maxLines=1), icon=Icon(icon=Icon(typ=RESOURCE pkg=com.kieronquinn.app.smartspacer.plugin.samsunghealth id=0x7f070099 tint=0xffffffff), contentDescription=null, shouldTint=true), tapAction=TapAction(id=38dc52b9-d369-4081-98e0-69dbe87bce0d, intent=Intent { act=android.intent.action.VIEW dat=https://shealth.samsung.com/... pkg=com.sec.android.app.shealth }, pendingIntent=null, extras=Bundle[EMPTY_PARCEL], shouldShowOnLockScreen=false, userHandle=UserHandle{0}), loggingInfo=null)) subtitleSupplementalItem=(SubItemInfo(text=Text(text=4h18m, truncateAtType=END, maxLines=1), icon=Icon(icon=Icon(typ=RESOURCE pkg=com.kieronquinn.app.smartspacer.plugin.samsunghealth id=0x7f070098 tint=0xffffffff), contentDescription=null, shouldTint=true), tapAction=TapAction(id=0a109cd0-9eb6-4b27-a980-e37def7906d4, intent=Intent { act=android.intent.action.VIEW dat=https://shealth.samsung.com/... pkg=com.sec.android.app.shealth }, pendingIntent=null, extras=Bundle[EMPTY_PARCEL], shouldShowOnLockScreen=false, userHandle=UserHandle{0}), loggingInfo=null)), expandedState=null, canBeDismissed=false, canTakeTwoComplications=true, hideIfNoComplications=false, limitToSurfaces=[]) SmartspaceTarget(smartspaceTargetId=!blank_3e3275bb-43b7-4458-884b-264434c0a57e, headerAction=SmartspaceAction(id=smartspacer_com.kieronquinn.app.smartspacer_google_weather_at_1712582410032, icon=Icon(typ=BITMAP size=192x192), title=, subtitle=13°C, contentDescription=null, pendingIntent=null, intent=Intent { flg=0x4a08000 cmp=com.google.android.googlequicksearchbox/com.google.android.apps.search.weather.WeatherExportedActivity }, userHandle=UserHandle{0}, extras=Bundle[{dismiss_intent=Intent { }, subcardType=1}], subItemInfo=SubItemInfo(text=Text(text=13°C, truncateAtType=END, maxLines=1), icon=Icon(icon=Icon(typ=BITMAP size=192x192), contentDescription=null, shouldTint=false), tapAction=TapAction(id=5b8e2e8f-bbd7-4111-9833-86e00bbb469e, intent=Intent { flg=0x4a08000 cmp=com.google.android.googlequicksearchbox/com.google.android.apps.search.weather.WeatherExportedActivity }, pendingIntent=null, extras=Bundle[{}], shouldShowOnLockScreen=false, userHandle=UserHandle{0}), loggingInfo=null), limitToSurfaces=[], skipPendingIntent=false), baseAction=SmartspaceAction(id=smartspacer_com.kieronquinn.app.smartspacer_blank_61215d03-f940-4b8a-b0f1-07160e6b9cd2, icon=Icon(typ=BITMAP size=1x1 tint=0xffffffff), title=, subtitle= , contentDescription=null, pendingIntent=null, intent=null, userHandle=UserHandle{0}, extras=Bundle[{}], subItemInfo=SubItemInfo(text=Text(text= , truncateAtType=END, maxLines=1), icon=Icon(icon=Icon(typ=BITMAP size=1x1 tint=0xffffffff), contentDescription=null, shouldTint=true), tapAction=null, loggingInfo=null), limitToSurfaces=[], skipPendingIntent=false), creationTimeMillis=1712582586900, expiryTimeMillis=9223372036854775807, score=0.0, actionChips=[], iconGrid=[], featureType=1, isSensitive=false, shouldShowExpanded=false, sourceNotificationKey=null, componentName=ComponentInfo{package_name/class_name}, userHandle=UserHandle{0}, associatedSmartspaceTargetId=null, sliceUri=null, widget=null, templateData=BasicTemplateData(layoutWeight=0, primaryItem=null, subtitleItem=SubItemInfo(text=Text(text=13°C, truncateAtType=END, maxLines=1), icon=Icon(icon=Icon(typ=BITMAP size=192x192), contentDescription=null, shouldTint=false), tapAction=TapAction(id=5b8e2e8f-bbd7-4111-9833-86e00bbb469e, intent=Intent { flg=0x4a08000 cmp=com.google.android.googlequicksearchbox/com.google.android.apps.search.weather.WeatherExportedActivity }, pendingIntent=null, extras=Bundle[{}], shouldShowOnLockScreen=false, userHandle=UserHandle{0}), loggingInfo=null), subtitleSupplementalItem=SubItemInfo(text=Text(text= , truncateAtType=END, maxLines=1), icon=Icon(icon=Icon(typ=BITMAP size=1x1 tint=0xffffffff), contentDescription=null, shouldTint=true), tapAction=null, loggingInfo=null), supplementalAlarmItem=null, supplementalLineItem=null), expandedState=null, canBeDismissed=false, canTakeTwoComplications=false, hideIfNoComplications=false, limitToSurfaces=[]) ```
Setup 2 ![Screenshot_20240408_171840_Smartspacer](https://github.com/KieronQuinn/Smartspacer/assets/1888526/4902818b-12a2-47f4-a1f0-21cdc885dcf5) ![Screenshot_20240408_171845_Nova Launcher](https://github.com/KieronQuinn/Smartspacer/assets/1888526/88a85e57-99d2-4e09-a8c5-3f58487e9929)
KieronQuinn commented 6 months ago

This isn't a bug. At a Glance is not showing at all in your screenshots, since there's nothing from it to show. The date is not At a Glance.

If you want the date first, add a Date target to the top.

h0tk3y commented 6 months ago

Thanks! I noticed how Date targets are added to the bottom of the list, but could not add two and two, sorry.

Well, Date targets appearing automatically for the leftover complication is the second thing that I found confusing in how the Vertical mode works, and I was going to submit some feedback about that, too.

KieronQuinn commented 6 months ago

Dates are added automatically to fill the space to show the remaining complications, same as in regular At a Glance without Smartspacer. Smartspacer just mimics the behaviour of that.