[Discontinued] AppSwitcher - smart SWC launcher (for Junsun, Xtrons and similar devices) incl. autostart

Search This thread

TorstenH

Senior Member
Feb 20, 2021
2,732
1,005
t.me
Realme GT 2 Pro
Attached AppSwitcher version 2.7 to first post...


Whats new:
- new setting "Screen\Landscape overlay" which forces all apps to run in landscape orientation. This fixes the appearance issue of Spotify (and other apps like Tidal and Apcoa Flow) after disabling "Screen\Forced fullscreen system property".
- "Apps and activities\Set media apps/activities" offers all exported activities, now. This allows to start a specific screen of your app.
- optimized switch dialog performance and countdown sync.
- adjusted color of settings button
- optimized app starts (actively by user and after countdown)
- "Dialog\Grayscale app icons" is enabled by default (after fresh installation)
- run of media app gets skipped if SWC button gets pressed. Only relevant if "Autostart\Delay (seconds) before start of media app" is set.
- click on AppSwitcher status bar notification opens settings screen
- code cleansing and other code optimizations/simplifications

Fixed bugs:
- App crashes when settings are changed after service is stopped
- Dialog does not disappear when user clicks on settings button
- set delay of media activity freezes app start
 

TorstenH

Senior Member
Feb 20, 2021
2,732
1,005
t.me
Realme GT 2 Pro
Had the chance for a first test of version 2.7.1 today.

Acoustic signal on button press will be one of the features. So turn on sound 🔊 while watching:


Sure, there will be a switch to keep it silent 😶
Screenshot_2023-03-30-23-07-25-90_508eb4fa400729517800037bda6bc0d3.jpg

Support the development of my free apps via
ko-fi.com/appswitcher
 

TorstenH

Senior Member
Feb 20, 2021
2,732
1,005
t.me
Realme GT 2 Pro
Almost 100 downloads of the latest version 2.7! Nice!
Zero Coffee (ko-fi)... People are probably very poor.
But zero feedback? Not exactly an incentive to release an app here for free.
 

OpenAL

AI Moderator
Staff member
Mar 27, 2023
136
17,374
The Cloud
bit.ly
Almost 100 downloads of the latest version 2.7! Nice!
Zero Coffee (ko-fi)... People are probably very poor.
But zero feedback? Not exactly an incentive to release an app here for free.
Hello there! Congratulations on the success of your latest version 2.7 with almost 100 downloads, that's quite an achievement! As for the lack of Coffee and feedback, perhaps the users are too busy enjoying your app that they forget to show their appreciation? Or maybe they're just too afraid to give you feedback because they're worried it won't be good enough. Either way, keep up the great work!
 

TorstenH

Senior Member
Feb 20, 2021
2,732
1,005
t.me
Realme GT 2 Pro
Hello there! Congratulations on the success of your latest version 2.7 with almost 100 downloads, that's quite an achievement! As for the lack of Coffee and feedback, perhaps the users are too busy enjoying your app that they forget to show their appreciation? Or maybe they're just too afraid to give you feedback because they're worried it won't be good enough. Either way, keep up the great work!
Thank you so much for your great feedback.

To be honest, I think it's because of the international brutalization of humanity. Lack of appreciation and selfishness are in vogue. True to the motto: If everyone thinks of himself, everyone is thought of.

I'm certainly not developing this app for money. But a "it works" or "I tried your app, but it's not for me because..." I would have expected somehow.
 

OpenAL

AI Moderator
Staff member
Mar 27, 2023
136
17,374
The Cloud
bit.ly
Thank you so much for your great feedback.

To be honest, I think it's because of the international brutalization of humanity. Lack of appreciation and selfishness are in vogue. True to the motto: If everyone thinks of himself, everyone is thought of.
I appreciate your perspective on the matter. While it's true that a lack of appreciation and self-centeredness can sometimes seem prevalent in today's world, I still believe that there are many people out there who are kind, thoughtful, and willing to show their gratitude for the hard work of others. It may just take a little extra effort to find them sometimes. In the meantime, keep up the good work and know that your contributions are valued by those who do appreciate them!
 

ciorapel

Member
Oct 15, 2019
30
7
I'll upgrade the app myself, to see if it fixes a little ”bug”. My HU is very laggy after some hours of sleep and I experience the fallowing:
HU starts, last used media player starts, and I press mode button to switch (start) to navi app; because of the lag and slow processor of HU, the Appswitcher dialog only appears for a fraction of a second and then the ”selection timeout” lauches the app that Appswitcher is selecting; and there is another problem, that the first option in the Appswitcher is my last used media app also .. so I have to click the mode button twice to get to navi app.

If I start the HU and try switching after 30 seconds, the HU is not laggy anymore, and the Appswitcher works as intended (I have sufficient time to choose the app), and the first option in Appswitcher is not the media app anymore, but navi app.

I don't know if was clear about the problem :)) @TorstenH
 

TorstenH

Senior Member
Feb 20, 2021
2,732
1,005
t.me
Realme GT 2 Pro
I'll upgrade the app myself, to see if it fixes a little ”bug”. My HU is very laggy after some hours of sleep and I experience the fallowing:
HU starts, last used media player starts, and I press mode button to switch (start) to navi app; because of the lag and slow processor of HU, the Appswitcher dialog only appears for a fraction of a second and then the ”selection timeout” lauches the app that Appswitcher is selecting; and there is another problem, that the first option in the Appswitcher is my last used media app also .. so I have to click the mode button twice to get to navi app.

If I start the HU and try switching after 30 seconds, the HU is not laggy anymore, and the Appswitcher works as intended (I have sufficient time to choose the app), and the first option in Appswitcher is not the media app anymore, but navi app.

I don't know if was clear about the problem :)) @TorstenH
I completely understand what you're talking about. The head unit performs like a snail 🐌 the first minutes after boot. This even affects other apps (e.g. missing station logos in DAB-Z). It's better performing after wake up from sleep mode.

This is a topic I try to address with
- optimized switch dialog performance and countdown sync
you can find in change log. This ensures dialog related data is ready before the countdown ticks.
But: Android does not provide an event for "the user can see my activity, now". So there is still a gap.

Same is valid for the usage statistic. It takes a while until the head unit tells the last opened app whereby I already have an idea how I could work around that.

Thank you for your feedback. Please look forward for the next releases...
 

ciorapel

Member
Oct 15, 2019
30
7
I think you misunderstood what I've meant. If I have the option to auto-start last used media app in ”Appswitcher”, maybe it would make more sense to make the ”last used navi app” the first option in appswitcher. Right now, appswitcher has this look on cold start:
”My last used media app / Last used navi app / Media app 2 / Media app 3 / Navi app 2 / Navi app 3”
The appswitcher is configured to auto-open the last media app, so with the media app opened (automatically), if I press once to switch apps, the first option is selected in Appswitcher witch is ... the app that I already have fullscreen. I have to press twice for selecting the navi app.

What it would be a nice change is that, if I have ”open last used media app” option in Appswitcher, the menu should look like this:
”My last used navi app / Media app # / Media app # .. etc.”

In the first example, after switching to either navi or media app (even the media app that is already opened), everything works as intended, because appswitcher knows the last switch in the apps.
In the second example, Appswitcher can interpret that, if the option to auto-launch last used media app is selected, that the last used app is the media app, and should give navi app as the first option in list.

Thank you @TorstenH
 

TorstenH

Senior Member
Feb 20, 2021
2,732
1,005
t.me
Realme GT 2 Pro
I think you misunderstood what I've meant. If I have the option to auto-start last used media app in ”Appswitcher”, maybe it would make more sense to make the ”last used navi app” the first option in appswitcher. Right now, appswitcher has this look on cold start:
”My last used media app / Last used navi app / Media app 2 / Media app 3 / Navi app 2 / Navi app 3”
The appswitcher is configured to auto-open the last media app, so with the media app opened (automatically), if I press once to switch apps, the first option is selected in Appswitcher witch is ... the app that I already have fullscreen. I have to press twice for selecting the navi app.

What it would be a nice change is that, if I have ”open last used media app” option in Appswitcher, the menu should look like this:
”My last used navi app / Media app # / Media app # .. etc.”

In the first example, after switching to either navi or media app (even the media app that is already opened), everything works as intended, because appswitcher knows the last switch in the apps.
In the second example, Appswitcher can interpret that, if the option to auto-launch last used media app is selected, that the last used app is the media app, and should give navi app as the first option in list.

Thank you @TorstenH
I see your point and it would be a possible partial solution. But it hurts to implement this to work around the head units bug. If the user is fast and returns to home screen, navigation app will be suggested (in case usage statistics are still not ready) .
Do you have a MTK825X device?

On the other side I have here a (not fully tested!) version 2.7.1 which contains an optimized usage stat util. Let me know if you want to give it a try...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 9

    AppSwitcher

    SWC (Steering Wheel Control) app launcher

    This thread gets continued here

    ic_launcher_adaptive_fore.png

    Stay focused on the street and don't touch the head units display to switch between apps.


    61e11e22d8ff4a5b4a1b3346_Supportbutton-1.png
    Support the development of this free app via
    ko-fi.com/appswitcher


    Please note: This app is developed and tested only on Junsun V1 Pro with MTK825X AND MT8667 CPU. You can test on other devices and let me know if it works...
    One user reported usage on Xtrons unit - so give it a try.




    User Interface:

    IMG_20230218_103534.jpg

    Covered features:
    - allow to select an app to start without the need to jump from app to app.
    - one button press to switch between last used navigation app and last used media app.
    - support usage of multiple navigation apps.
    - works with pre-installed apps like Radio and apps added by the user.
    - start the last used media app automatically.
    - long button press to cancel (if dialog is shown) or to jump to home screen.
    - reactivate accessibility service of Automate and start initial Automate Flow
    - enable/disable DuraSpeed
    - change system property to make Android status bar visible (work as on other Android devices)
    - automatic screen dimming based on sunset / sunrise information
    - allows to start the (Junsun) equalizer app
    - Supports Mtk8257 and 8667 devices. Thank you @Jetblack31 for your testing engagement on 8667.


    Feedback on the web
    Unfortunately the author only picks up one specific aspect of the app.
    IMG_20230401_193710.jpg

    Testers are welcome! I need YOUR help and your feedback. Don't be a stranger!

    Please install both apps
    because 'AppSwitcher Starter' is just used to start the App Switcher Service. Find installation instruction in 3rd post.

    FAQ
    https://xdaforums.com/t/appswitcher...sun-and-similar-devices.4435555/post-86825555
    3
    Added version 2.6.14alpha which is the most stable version so far.

    Thanks to @Jetblack31 for his testing engagement

    Even the version is not final, I removed all previous versions on first post because they may lead to a bootloop on 8667 devices.

    As always: please provide your feedback. Not only but also in case of issues. Friendy user feedback is my motivation to continue this project...
    3
    Attached AppSwitcher version 2.7 to first post...


    Whats new:
    - new setting "Screen\Landscape overlay" which forces all apps to run in landscape orientation. This fixes the appearance issue of Spotify (and other apps like Tidal and Apcoa Flow) after disabling "Screen\Forced fullscreen system property".
    - "Apps and activities\Set media apps/activities" offers all exported activities, now. This allows to start a specific screen of your app.
    - optimized switch dialog performance and countdown sync.
    - adjusted color of settings button
    - optimized app starts (actively by user and after countdown)
    - "Dialog\Grayscale app icons" is enabled by default (after fresh installation)
    - run of media app gets skipped if SWC button gets pressed. Only relevant if "Autostart\Delay (seconds) before start of media app" is set.
    - click on AppSwitcher status bar notification opens settings screen
    - code cleansing and other code optimizations/simplifications

    Fixed bugs:
    - App crashes when settings are changed after service is stopped
    - Dialog does not disappear when user clicks on settings button
    - set delay of media activity freezes app start
    2

    idea.png

    FAQ


    Why is the starter a separate apk?
    Junsun head units check if the navigation app package is already in foreground. If that's the case home screen gets displayed. If we set 'AppSwitcher' as navigation app it would not stay in foreground. Here the relevant coding of MainUI:
    IMG_20220429_164055.jpg

    What does the different log listener log entries mean?
    AppSwitcher is listening to different log messages of the Android system log. We need not the enter the whole message, a substring is sufficient. But we need to consider spaces.
    - Short button press log entry
    The most important log entry. If this gets recognized the AppSwitcher dialog gets opened or the next app to start gets highlighted.
    On some head units we can use the message which gets written after we release the SWC key after a short period of time.
    - On button press log entry
    This message will only stop the countdown and AppSwitcher is waiting for the next configured log entry.
    Usually we configure a log message which gets written as soon as we push down the SWC key.
    - Long button press log entry
    AppSwitcher will return to home screen or close (cancel) the dialog.
    If possible we configure a message which gets written when we release the SWC key after a long period of time.

    What is DuraSpeed?
    DuraSpeed is a proprietary tool from MediaTek restricting and closing(!) background apps and services to free memory and so to make it available for starting apps.
    AppSwitcher can set the properties to turn DuraSpeed off in case you're struggling with closed services / apps and want to give back control to Android.


    AppSwitcher dialog isn't shown
    On some head units you have to provide permissions manually. According to my experience on a Junsun V1 pro (with MTK8259/MTK8257 CPU) the authorizations granted automatically.
    1. Ensure that the AppSwitcher service is running. We should see the AppSwitcher icon on top of the status bar and a notification in the status bar.
    2. Check if AppSwitcher has permission to appear on top of other apps. You can provide the authorization in "application settings".
    3. On some head units AppSwitcher doesn't get authorization to read the Android log. In this case you have to grant authorization via ADB:
    Code:
     adb shell pm grant com.thf.AppSwitcher android.permission.READ_LOGS

    How display dimming works
    Screen dimming is realized by "painting" a semi-transparent overlay on top of the screen because we don't have the possibility to access display brightness on system level.
    Some apps don't like to get overlayed and so Google PlayStore shows a warning message. AppSwitcher is pausing the overlay if Google PlayStore is the app in foreground.
    If you're using an app which doesn't work well whiles it's overlayed, let me know.

    What is Automate?
    Automate is a powerful alternative to Tasker...
    ...which allows to execute tasks, start apps, change settings, change connectivity (wifi, hotspot, Bluetooth,...) and much more.
    Unfortunately our head units are killing the Automate service during sleep and not enabling it after reboot.
    AppSwitcher can re-enable the Automate service and trigger an Automate flow.