• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Themes / Apps / Mods SamSprung Cover Screen Extension

Search This thread

CarudiBu

Member
Aug 29, 2021
17
30
Geneva, Switzerland
The AOD app checks the signature of the Samsung Health app now to make sure it hasn't been modified... seems like they've seen the cover screen mods here. My theory is that they planned to open up cover screen widgets to other developers, but didn't in the end because the cover screen system ended up hacked together and buggy (widgets not refreshing correctly, buggy toggles in settings, the fact the phone is locked but the widgets are still displayed and all that entails, etc...) and they had to work around the limitations and bugs in their own apps, so they didn't think they'd be able to have 3rd party apps work consistently without the 3rd party developers having to design around the issues, so it's odd that they'd patch this which works around some of these issues and expands the functionality without them having to write documentation and ensure that users will have a good experience even with 3rd party apps, as this is unofficial and on XDA, but oh well... I'll start looking for other ways to expand the cover screen functionality with the new changes.
 
Could you email them to [email protected] as well, thanks - TwistedUmbrella is the creator of the SamSprung app, while I found the original trick to load custom widgets on the cover screen so I know quite well where the various components of the cover screen system are in these apps. If I can find out another way around the block, I'll open a pull request in TwistedUmbrella's repo for the app with a fix. Thanks again for your help!

I appreciate what you did, but let's not go implying that being first and being the only one capable of doing it are the same thing.

The AOD app checks the signature of the Samsung Health app now to make sure it hasn't been modified... seems like they've seen the cover screen mods here. My theory is that they planned to open up cover screen widgets to other developers, but didn't in the end because the cover screen system ended up hacked together and buggy (widgets not refreshing correctly, buggy toggles in settings, the fact the phone is locked but the widgets are still displayed and all that entails, etc...) and they had to work around the limitations and bugs in their own apps, so they didn't think they'd be able to have 3rd party apps work consistently without the 3rd party developers having to design around the issues, so it's odd that they'd patch this which works around some of these issues and expands the functionality without them having to write documentation and ensure that users will have a good experience even with 3rd party apps, as this is unofficial and on XDA, but oh well... I'll start looking for other ways to expand the cover screen functionality with the new changes.

Not entirely sure why this post is just appearing, since it was made almost an hour before I even opened the site.

Based on the report that the widget didn't appear in the list and that Samsung Health hasn't been updated recently, it was a pretty good indication they are checking the signature. I get the feeling it wasn't being verified before by mistake, not some conspiracy.

Considering some members of the dev team from Samsung were tracking the project, it would be hard not to believe they were well aware it existed and how it worked.

Unfortunately, the US devices got screwed on not being able to root or the solution would be extremely simple. It wouldn't be incredibly hard to sign the package with the signature from Samsung Health. Since I doubt the signing file is public, the next best thing would be to piggyback the widget on the actual app and retain the signature. The only problem with that is needing a rooted device to install it.
 
Last edited:

CarudiBu

Member
Aug 29, 2021
17
30
Geneva, Switzerland
I appreciate what you did, but let's not go implying that being first and being the only one capable of doing it are the same thing.
I didn't mean it that way at all, I was just clarifying that I was a different person and so was asking for the files to be sent to a different email address... As I said in the previous comment, I've spent a long time picking these apps apart to work out exactly how the whole cover screen system works, so I thought I could help by trying to find out exactly what's changed.
 
  • Like
Reactions: tausift0
I didn't mean it that way at all, I was just clarifying that I was a different person and so was asking for the files to be sent to a different email address... As I said in the previous comment, I've spent a long time picking these apps apart to work out exactly how the whole cover screen system works, so I thought I could help by trying to find out exactly what's changed.

Fair enough. I still have my money on "Galaxy Store exclusive" cover screen widgets with them not being entirely sure how to unlock enough without unlocking all of it.
 

dallasnights

Senior Member
Sep 25, 2006
161
25
Samsung Galaxy Z Flip3
Thanks for the feedback I did exactly how you told us to do it so it work, and like I said it worked great till Samsung Update One UI 4.0 to beta 2 this week, Beta 1 it worked fine and yes I did uninstall health app, Anyhow I hope you all experts can find a new workaround or maybe Samsung or the Good Lock team will see the great work you all did for us and add it as a natural option to a widget screen that is great to have and very much utilized often ... but needs something like your mod to make it even better. Thanks all
 

crawls69

Member
Mar 29, 2015
40
12
Good morning,

I downloaded and installed the latest update from today. Everything works as normal on the cover screen. However, I'm now noticing that every time I open the Samsprung app on the main screen, the message pops up asking if I want to install the update. This continues to happen whether I choose "install" or "cancel". I rebooted my phone and also uninstalled and re-installed the latest version of the app but the message continues to pop up every time I open the app.
 
Good morning,

I downloaded and installed the latest update from today. Everything works as normal on the cover screen. However, I'm now noticing that every time I open the Samsprung app on the main screen, the message pops up asking if I want to install the update. This continues to happen whether I choose "install" or "cancel". I rebooted my phone and also uninstalled and re-installed the latest version of the app but the message continues to pop up every time I open the app.

It should sort itself out once the newest update gets installed. It is still a few minutes from being live.
 
Pity not working on OneUI 4

It was inevitable that they would patch it eventually. It's too bad they didn't invest any effort in trying to offer an alternative.

They're turning potential back into novelty and that's not the best business decision with a device that already took a step back in RAM, camera quality, and USB hardware.
 

crawls69

Member
Mar 29, 2015
40
12
This is NOT good. I use the cover screen a LOT. When I had the RAZR 5G I used the cover screen probably more than the main screen. I didn't realize how convenient it was until I actually got the Flip3 and no longer had that full functionality. I got the Flip3 because Samsung increased the size of the cover screen over the 1st two versions and I figured I might be able to get by with it. I got the Flip3 free by trading in the RAZR 5G. However, I quickly started getting buyer's remorse (it was just a little too limited compared to the RAZR 5G cover screen - as said, I use the cover screen a LOT). So when Samsprung launcher came along a few days later, it was huge for me and I decided to keep the Flip3.

Now I'm up in the air on what to do. I can keep the Flip3, upgrade to OneUI 4 and hope another workaround is found or Samsung expands the cover screen functionality at some point in the future. I'm considering going back to the subpar RAZR 5G. It's a far step back in terms of specs but the cover screen functionality is big for me.

Decisions.........
 

Top Liked Posts

  • 2
    Windows and some corporate programs have really ruined the perception of an update. Major companies use them to remove things they no longer feel like supporting. Indie developers use them to support more.
    2
    So in a few minutes, there will be a new build. Quick toggles will include wifi, bluetooth, and (ringer) sound. Looking to add more, but it's a start.
    1
    C57a2a2 that is installed and no works for me i dont know why
    1
    It works at the moment! I have to close the apps at the backround and boom thats it! Im so happy really. Thank you so much for the beautiful app love it

    Now you know how to remove apps from recent, too
    1
    I enabled accessibility for now. Android's NotificationListenerService is still buggy, despite being released about 6 iterations of Android ago. The warning when enabling accessibility is for ANY service. The only things requested are notifications for visual display. Contrary to most tutorials and StackOverflow posts on the topic, the "any" and "all" categories are NOT used. If I can find a way to make the prompt more specific, I will. If not, I will file it as a bug with Android. There is no reason for it to scare people when it's coded correctly.

    I will also be working toward a fix for the listener, so accessibility isn't required. It's a bit of an annoyance that it has to be enabled on every update (apparently only when testing, so it's not so bad for the rest of you). That aside, the notifications are now a drawer. This is meant to be a launcher, not a Galaxy Watch. That is the aesthetic that will direct design. Quick toggles and all the other hoopla will be implemented following the design of a launcher.
  • 5
    I guess I really should put a little more effort into getting things ironed out, especially if we want to keep this functionality ad-free and open source.
    3
    Methinks we fixed the issue, though. Seems Google was trying to find a roundabout way of punishing me for the GitHub releases. At least that is how it looks when the problem was suddenly resolved by removing a reference to them not even in the receiver.

    Now, the only issue is that I have to replace the old version from internal testing before they will complete the review for open testing. Internal testing is unreviewed and completely separate. So, just to be clear, they reviewed a build they aren't supposed to review and require it be fixed to publish a completely separate one that passed.
    3
    The Android 12 / NON-Health version will be released here:

    EDIT: Deleted due to some particularly interesting improvements that are being kept trade secrets - See below for info on downloading

    Keep in mind, this is still actively being developed and is by NO means a release or ready for daily use. It is a work in progress.
    2
    Windows and some corporate programs have really ruined the perception of an update. Major companies use them to remove things they no longer feel like supporting. Indie developers use them to support more.
    2
    https://play.google.com/apps/internaltest/4698393027367499408

    Also available on Google Play to the first 100 testers. To sign up, send a private message with the desired Google Play email. Good luck.

    Emails are not used for anything other than adding them to the approved testers (unless Google notifies of anything). Once added, you will be able to accept the invite through the link above.
  • 12
    ic_widget_preview.png



    This is a WIP cover screeen extension that restores some of the functionality Samsung blocked in the stock cover screen launcher.

    This is primarily useful for launching apps, checking recent messages, running background tasks, or performing actions that do not require a keyboard or the full screen.


    New Android 12 / One UI 4.0 version now available -


    Samsung Health replacement widget (Android 11) -



    The Android 12 version is backward compatible, but the Samsung Health replacement widget is not compatible with Android 12

    See the GitHub README for limitations and usage details.​


    Thanks @CarudiBu for discovering the workaround to load a custom widget.
    10
    In all fairness, I don't think i've explained why the limitations are what they are and should probably have done that a while ago.

    The cover screen is effectively like plugging in a second screen on a previous S or Note series phone. DeX is effectively a secondary home launcher. Since this screen is part of the phone, instead of connected by a cable, a second launcher is used instead of DeX.

    The outer screen supports a second launcher, such as Nova or Smart Launcher 5. It also supports a primary launcher having a secondary launcher activity. Samsung, on the other hand, has disabled this support in favor of a hardcoded launcher that's built into the firmware.

    Samsung's launcher has been broken into the home screen, which is the clock selection, and widget pages. It's been further limited by only allowing certain widgets to be available on the widget pages.

    Being a system app signed by Samsung, they've gone a step further. The widgets allowed must system apps or signed by Samsung, as well. One loophole exists, which is Samsung Health. It does not need to be a system app, since you can install it from Google Play. It also doesn't need to be signed by Samsung for whatever reason. It does, however, still need to match up with the expected widget inside the expected app.

    This app takes advantage of the loopholes by using the specific component name (package / package.activity) of the Samsung Health widget and the package for Samsung Health. Because of this, the app must also be a widget, though. It cannot be a full launcher.

    Widget functionality is limited, but can support launching apps. This is another loophole that uses the widget list support to act as a fake launcher. Since the core launcher behind the widgets is still a launcher, it will launch apps on the cover screen.

    Like a normal Android screen, configuration changes are handled by the current activity being displayed. In this case, that would be whatever app is launched. The widget gets taken along for the ride. To minimize the impact of the launched app, the widget is designed to ignore any configuration changes, which would usually trigger the list to refresh.

    A few unique problems exist because of the cover screen being composed of widgets. One is that they do not follow the expected life cycle of a widget. They are not refreshed when they appear, which is why a swipe is sometimes needed to make list items clickable. Another is that they cannot perform any of the prep an activity provides, such as handling the lock screen. When an activity requests overriding the lock screen, it only extends to the activity and not to any it launched.

    This leaves us with what you see. A widget that exploits a bunch of loopholes within the limitations of the widget framework.
    5
    Done. Now you can hide / unhide apps for the widget with a long press on the item (in the app settings).
    5
    Widgets on the cover screen are granted Settings.canDrawOverlays without the need for permission approval from the user?

    With the option off in the app settings, the app never requested the permission and instead simply verified that it was already granted. That is interesting...

    and now the big news:

    Portrait apps may now be fully functional, if my testing is correct.


    The permission approval button when launching the app from the drawer shouldn't be required, but it exists in case it will help with any finicky apps / devices. It will request system settings and overlay permissions.

    System settings permission will allow the widget to temporarily disable the automatic rotation option, while the overlay permission creates a fake view over the widget that is locked in portrait and steals focus from the widget to avoid it forcing the layout back to landscape. This will not, however, prevent apps with landscape support from functioning normally.

    A new caveat I found is that, when charging, tapping power and waiting won't exit the current app. I do not intend to address this right now. The reason being that the controls to have the power button return to the widget also force a screen timeout to return to the widget and can cause issues with the app being displayed when opening the phone.

    A quick and dirty workaround to change apps when charging is to simply open the phone a bit. This will reset the widget without breaking the expected functionality.

    As it stands, the power button and a timeout will not kill the current app unless they exceed two seconds and will not kill the app at all when charging. This allows long-term use of a single app, which fits most use cases. Other options to switch apps, such as volume button overrides, are also being explored.

    @ChrisChoi314 it appears your list of incompatible apps was lost in the cleanup. If you still find any, you can post the list on the issue for it.

    5
    For now, the plan is to keep working on some things I don't want to advertise for fear Samsung will go and ruin them before I find answers.