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

Themes / Apps / Mods SamSprung Cover Screen Launcher

Search This thread

[email protected]

Senior Member
Jan 15, 2009
2,469
553
Stockholm
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
Samsung Pay works like normal.
 
We're going to see if detecting the fold state instead of the small flicker between one screen turning off and the other turning on will give better results with handling the display target for apps.

I believe one of the issues is that if the cover times out, it is still attempting to reset the app to "normal" views and the other is that opening the phone fast enough is not giving the app enough of a trigger.
 

kashortiexda

Senior Member
Jan 12, 2011
1,382
876
We're going to see if detecting the fold state instead of the small flicker between one screen turning off and the other turning on will give better results with handling the display target for apps.

I believe one of the issues is that if the cover times out, it is still attempting to reset the app to "normal" views and the other is that opening the phone fast enough is not giving the app enough of a trigger.
I don't know if this helps at all, but I can trigger an action in Tasker when opening or closing the device.
I use an Event Profile ( filtering a logcat entry) to recognize open/close and the associated action is to make a beep sound (which works both when I open and close the flip)
EDIT: forgot to add, interestingly, when phone is open and I press power button to screen off, my profile works and the beep action works, same when I press power button to turn screen on with phone lid open. (And the beep works with the lid closed when I press power button on/off ie one press or 2 presses )
 

Attachments

  • Screenshot_20210922-132128_Tasker.jpg
    Screenshot_20210922-132128_Tasker.jpg
    196.2 KB · Views: 57
Last edited:
I don't know if this helps at all, but I can trigger an action in Tasker when opening or closing the device.
I use an Event Profile ( filtering a logcat entry) to recognize open/close and the associated action is to make a beep sound (which works both when I open and close the flip)
EDIT: forgot to add, interestingly, when phone is open and I press power button to screen off, my profile works and the beep action works, same when I press power button to turn screen on with phone lid open. (And the beep works with the lid closed when I press power button on/off ie one press or 2 presses )

Code:
android.intent.action.SCREEN_OFF

That's the same one currently being used, but it's not the most reliable.
 
  • Like
Reactions: kashortiexda

DjLiby

New member
Sep 23, 2021
1
0
Im not a DEV, but is it maybe possible to look at Motorola Razr cover screen source code?
It is also handle like second screen for Android.
 
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.
 

Ptrprkr

Member
Sep 15, 2021
21
2
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.
 
  • Like
Reactions: bmakk2055
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.

I'm personally not a fan of Good Lock or having to use twice the resources to complete a single task. I'd rather keep working on solving it in the widget itself.
 

Ptrprkr

Member
Sep 15, 2021
21
2
Totally agree and thanks for doing so. This is hopefully a tentative process if and until native functionality becomes available. For those really wanting more apps on the outer launcher, this is a stop gap.
 

bwsoldier

Member
Feb 6, 2008
7
1
You can setup bi
You sure can...That's my main reason for installing...But I can't leave my device unlocked...I'm sure a fix will come about.
enable bixby and then hold the power button for a few seconds to unlock the device when closed to use the apps on the cover screen. no need to leave it unlocked. Youtube and many other apps work fine, you can watch videos with no problem.
 
  • Like
Reactions: Benwah

hero13th

Senior Member
Nov 30, 2010
86
14
I have the 7549c4a installed. No lock screen. Pretty much all the apps works on cover screen. Youtube. Netflix . Whatsapp. Gmail . Peacock . Of course those common issues when to stop the app or after ysing the app on cover screen then opening the phone and needs some time to phone work properly but other than that its fine with me. Main issue here is most people wants something perfect idk why. Thanks for this widget for sure made this phone alot fun.
 

kowalskitg

Member
Jul 12, 2007
13
2
One of the recent updates seemed to help compatibility, pokemon go works first time every time now, and I've even gotten the smartride air suspension controller app I asked you about to launch like 3 times.

I haven't found a repeatable combination yet but it's something like I hit the smartride app's icon in the launcher, app does nothing but launcher reload some icons towards the bottom, then launch another app that crashes and it'll display the smartride app instead, its something with opening apps in a sequence that worked. I got it to launch once in landscape and twice in portrait, I'd have gone out and taken a video of airing my car up and down from the cover display but it was like 3am lol
 

kowalskitg

Member
Jul 12, 2007
13
2
I finally found a consistent way to launch stubborn apps, if I open Microsoft launcher on the cover screen (surprised it actually works) and then launch the app From within Microsoft launcher it works every time, all the apps I was having issues with work this way
 

ChrisChoi314

Member
Oct 3, 2021
9
0
The apps not always open on mine. Im using nova launcher. Not sure if that's the issue?

When the apps already open, if i close it, go back to the homepage and then try to open it again using the app icon on homepage/drawer, it won't load that way either.
u have to open the recently used app using gesture or that button on the sidee on the bottom, and u can access it that way. thats the only way to access it and i dont think this bug can be fixed lol
 

Top Liked Posts

  • 2
    I know i've been a little quiet with the updates, but I haven't given up. For anyone that doesn't follow what I do outside of this project (pretty much anyone), I took over TagMo not long ago. It's an app for making custom Amiibo tags. One of the big requests was supporting some specialty hardware that one of the generous users sent along for testing and it arrived Friday night. Much like any phone i've been donated over the years, the biggest thank you I can offer is swift progress. I should have that to a point where I can juggle projects again in the next day or two.
  • 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
    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
    Except I'm using swipe or no lock screen(both supported configs according to your OP) and the bug is occuring

    Sounds like you should relearn how to read instead of blaming the user for reporting a bug with your app because I clearly stated that I disabled the lockscreen entirely and still couldn't launch apps without either restarting the phone or removing the widget and enabling it again

    It's not my job to bug report for you, I'm doing you a favor by telling you about it, don't be rude and blame me for experiencing a bug you wrote into the code...

    I'm trying to understand your issue to fix it. I'm not obligated to release free software or provide you with any support at all. If you choose not to report a bug and you're the only one that appears to be facing it, how much are you hurting anyone else?
    2
    I know i've been a little quiet with the updates, but I haven't given up. For anyone that doesn't follow what I do outside of this project (pretty much anyone), I took over TagMo not long ago. It's an app for making custom Amiibo tags. One of the big requests was supporting some specialty hardware that one of the generous users sent along for testing and it arrived Friday night. Much like any phone i've been donated over the years, the biggest thank you I can offer is swift progress. I should have that to a point where I can juggle projects again in the next day or two.
    2
    Thanks to whoever made the YouTube video. I have been working on improving the initial startup / return loading. It shouldn't require a restart. That is definitely inconvenient. I don't believe it does now, but I will start throwing that into the testing.

    The next big feature planned is to try prioritizing apps with notifications. This will likely be second to adding some form of indicator.
  • 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
    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.