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

Themes / Apps / Mods SamSprung Cover Screen Launcher

Search This thread

ChrisChoi314

Member
Oct 3, 2021
9
0
The cover screen is so close to being a killer feature, but its just too closed down. Like even at stock being able to swipe and read messages is great, but you cant -delete- emails only archive them, and you can't reply to whatsapp messages without opening the phone.

Even watches now have keyboards. In theory I could get a galaxy watch 4 to go with this but then... whats the point in having the cover screen at all anymore.
you can use bixby to autodicitate once ur cursor is in a textbox. it works anywhere. but unfortunatlely u cant do more than text to speech, so u wouldnt be able to type some complex numbers and symbols
 

ChrisChoi314

Member
Oct 3, 2021
9
0
Would anyone know or try to see if gpay or Samsung pay would still work? Since you need to disable swipe etc to get into the phone? Also even if it needed to be disabled on the phone would it work on the galaxy watch as you can still set a swipe or password to get into the watch to use gpay or Samsung pay. Any response would be appreciated. Thanks cujoe
no, from my testing, no paying app or money app works using hte launcher because literally none of them support rotate to landscape. so u have to open the phone to use it. btw u cant use any app that doesnt rotate to landscape, so make sure u dont have any of them on the launcher
 

ChrisChoi314

Member
Oct 3, 2021
9
0
Samsung Pay works like normal.
right, u can already set up samsung pay to work when u scroll up from the main clock. but if u want the full functionality of the app, u will have to get multistart from goodlock and set all apps to autorotate as a labs feature, at least for samsung pay because it doesnt rotate natively.
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.
thank you for detailing exactly whats happening in the backend. it seems like this really really really sucks, the fact that samsung has locked down the functionality of this cover screen. i hope they are planning to make it fill the entire half of the back, probably moving the camera down or smth, so that u can actually use it like a functional second display with all of the features.
 
Last edited:

ChrisChoi314

Member
Oct 3, 2021
9
0
Using Good Lock Multi Star module has allowed more apps to function on the screen cover, utilizing the Multistar "force rotation" setting. Not all apps mind you, but a number of apps that were crashing the launcher prior to its installation, are now working.
holy cr*p, i tried this and it actually works. all of them open in landscape on the cover screen and they dont crash it at all or make the widgets disappear. thank you so much

@twistedumbrella, I think you will have to either find a way for samsprung to force all the apps on the phone into autorotate, or tell the users to download multistar from good lock, because i dont see any other way of solving this issue.
 
Last edited:

kowalskitg

Member
Jul 12, 2007
21
8
Also it seems to have gotten lost to history (like 5 pages ago) but you don't even have to say "unlock" you just hold the power button to open bixby, let go then scan your fingerprint without hitting the button and bixby dissapears
 
  • Like
Reactions: ChrisChoi314

ChrisChoi314

Member
Oct 3, 2021
9
0
u can just set up bixby to startt up by holding power button (pretty sure its just a setting somewhere in the bixby settings page) and then on the cover screen u hold the power button and tell bixby to unlock and itll actually unlock the phone so u can use the launcher
nah, im fine with not perfect for something samsung didnt even intend for us to use. i jsut want to be able to use this without having to restart the phone several times a day

... I don't even know how to respond to this.

@ChrisChoi314 I get separating two lengthy responses into separate posts to avoid confusion or even coming back later and starting a new one. Was it really necessary to make a whole page of posts in an hour if many are duplicates?
oh sorry, my bad. this is the first time im using this website and i didnt realise it was doing that. i thought it would post one reply under each comment i did, not all of them at the end. i was thinking of combining them in a single comment so that it wouldnt take up so much space. ig i was treating it like reddit or something, not realising forums like this probably have different conventions. i will remove all of the duplicate comments. once again, i apologise

and of course i find out this site doesnt support deleting comments. ok ig ill just never make this mistake again. thanks for letting me know.
 
Last edited:

ChrisChoi314

Member
Oct 3, 2021
9
0
Also it seems to have gotten lost to history (like 5 pages ago) but you don't even have to say "unlock" you just hold the power button to open bixby, let go then scan your fingerprint without hitting the button and bixby dissapears
Do you know if there is a similarly simple way to go back from an app to samsprung launcher besides saying "exit the widget" or pressing the power button?
 
and of course i find out this site doesnt support deleting comments. ok ig ill just never make this mistake again. thanks for letting me know.

Mistakes happen, but there is always that one guy doing it on purpose to worry about.

Do you know if there is a similarly simple way to go back from an app to samsprung launcher besides saying "exit the widget" or pressing the power button?
  • Switching apps requires tapping power and waiting for at least two seconds to close the app before launching the widget again (turn on cover, swipe to widget). The app list, however, can be swiped closed.
 

Badger50

Forum Moderator
Staff member
Feb 27, 2011
12,932
16,174
61
Kansas City
and of course i find out this site doesnt support deleting comments.

No worries, just call your friendly neighborhood Badger when you nee help! (y) ;)

jim-carrey-delete.gif
 
  • Like
Reactions: ChrisChoi314
As the latest change implies, I am working toward the app being able to manage rotation settings temporarily. This would allow the widget to prevent apps from causing a rotation while loading and hopefully minimize the impact of that event.

When launching the app from the app drawer, the button at the top grants the app permission to manage settings. All actions are designed to be non-destructive, meaning they respect the original settings of the device and only change what is needed before changing it back upon exit.
 
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.

 
Last edited:

crawls69

Member
Mar 29, 2015
31
12
It's been 24 hours since claiming portrait apps should work and no reports they don't. I think that means we can call the widget functional with all apps.
My experience with portrait apps is they're now opening with the startup screen in landscape mode but when the app gets to the home page it reverts back to portrait mode.
 
My experience with portrait apps is they're now opening with the startup screen in landscape mode but when the app gets to the home page it reverts back to portrait mode.

It's not supposed to force the apps to landscape. It is supposed to keep them from crashing.

The workaround was "lightened up" to prevent any unnecessary attempts for switching orientation. It's really only supposed to do the absolute minimum for working apps, but not try to force them to do anything.

The only real forcing may be to better handle the size of the screen. I'm not sure I can get my custom context override to extend beyond the widget, though.
 
Last edited:

crawls69

Member
Mar 29, 2015
31
12
It's not supposed to force the apps to landscape. It is supposed to keep them from crashing.

The workaround was "lightened up" to prevent any unnecessary attempts for switching orientation. It's really only supposed to do the absolute minimum for working apps, but not try to force them to do anything.

The only real forcing may be to better handle the size of the screen. I'm not sure I can get my custom context override to extend beyond the widget, though.
Gotcha. My misunderstanding.

The portrait apps on my phone were never crashing on the cover screen. So it’s business as usual for me.


One thing I noticed…I understand (from your previous post) that the power button and a timeout will not kill the current app unless they exceed two seconds and it will not kill the app at all when charging. Even with my phone NOT charging I can't kill current app on the cover screen without resetting the widget (slightly opening my phone).
 
Gotcha. My misunderstanding.

The portrait apps on my phone were never crashing on the cover screen. So it’s business as usual for me.


One thing I noticed…I understand (from your previous post) that the power button and a timeout will not kill the current app unless they exceed two seconds and it will not kill the app at all when charging. Even with my phone NOT charging I can't kill current app on the cover screen without resetting the widget (slightly opening my phone).

Have you tried waiting longer than 2 seconds?
 

crawls69

Member
Mar 29, 2015
31
12
Have you tried waiting longer than 2 seconds?
Yes. I even tried hitting the power button and then leaving my phone cover screen off for about half an hour but when I eventually turned the cover screen back on it was still in the current app, even with my phone off the charger. I consistently get the same result no matter how long I wait.

I did a number of other things to try to rectify the issue - I made sure the permissions were approved (allow app on top and allow app to change system settings), I cleared the launcher's cache and data, I performed a soft reset, I uninstalled and re-installed the launcher, I went into the phone's recovery mode and wiped the phone's cache, and did an app repair (re-optimizing all apps on my phone). Beside doing each of these things, the power button and timeout still does not kill the current app on the cover screen.
 
Yes. I even tried hitting the power button and then leaving my phone cover screen off for about half an hour but when I eventually turned the cover screen back on it was still in the current app, even with my phone off the charger. I consistently get the same result no matter how long I wait.

I did a number of other things to try to rectify the issue - I made sure the permissions were approved (allow app on top and allow app to change system settings), I cleared the launcher's cache and data, I performed a soft reset, I uninstalled and re-installed the launcher, I went into the phone's recovery mode and wiped the phone's cache, and did an app repair (re-optimizing all apps on my phone). Beside doing each of these things, the power button and timeout still does not kill the current app on the cover screen.

Alright, well it shouldn't be long as on a secondary "exit button" and I'll see if I can replicate that in the process.

After a long look into possibilities, it seems like the power handling is the only option available, since button presses are passed to the new app. To support functionality for everyone, the power button support will be added as a user preference.
 
Last edited:
  • Like
Reactions: D4rk4 and tausift0

crawls69

Member
Mar 29, 2015
31
12
Alright, well it shouldn't be long as on a secondary "exit button" and I'll see if I can replicate that in the process.

After a long look into possibilities, it seems like the power handling is the only option available, since button presses are passed to the new app. To support functionality for everyone, the power button support will be added as a user preference.
Thanks. It works.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    thank you how can i share a log with you so you can help me troubleshoot

    When you launch the app from the drawer, it's the button that has Logcat in the text.
    1
    It saves the file to /sdcard/Android/data/ in the app directory

    It saves the file to /sdcard/Android/data/ in the app directory
    Thank you sent LOGCAT TXT you requested to your email '[email protected]' hope you can figure it out
    1
    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!
    1
    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.
    1
    It should sort itself out once the newest update gets installed. It is still a few minutes from being live.
    Gotcha. Thanks..
  • 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.
    9
    ic_widget_preview.png


    This is a WIP launcher for the cover screen that allows you to run apps without opening the phone.

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

    Current limitations:
    • Apps require Screen lock type set to None / Swipe in Settings -> Lock screen
      • Bixby unlock can be used as a workaround for other lock types
    • Keyboards will not open on the cover screen and some app functionality is limited
      • Firmware limitation by Samsung - Secondary IME support is disabled
    • Switching apps requires tapping power and waiting for at least two seconds to close the app before launching the widget again (turn on cover, swipe to widget). The app list, however, can be swiped closed.

    • Samsung Health must be uninstalled to free up the package name for the whitelisted widgets. Installing this app will then add it as an option in the cover screen widgets.
      • Firmware limitation by Samsung - Widget package name or signature




    This app replaces Samsung Health and will not work with any other app that requires uninstalling Samsung Health.​


    Thanks @CarudiBu for discovering the workaround to load a custom widget.
    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.

    3
    Also done. Now the switches work as they were intended and long press is no longer used.