yashsingh1/xdaforums huggingface dataset:
[Android Head-Units] TorstenH:
You may check the pinout of your original radio. I think the chances are high that only a resistance matrix is connected directly to the head unit.

https://xdaforums.com/t/appswitcher...-devices-incl-autostart.4435555/post-88585993

This is a possibility but I expect the radio app isn't working, now.

That would require further investigation by checking the Android log. Unfortunately I only tested with Agama, the stock launcher and on my phone without issues.

"Smart List" is not intended to enhance this list of selected media and navigation apps automatically. I want to avoid to collect all recently ran apps because AppSwitcher would offer apps which makes no sense to run while driving. E.g. the Android settings app.

"Smart List" will offer the most recently run media/navigation app first (they need to be selected). And it will suppress the app which is currently in foreground.

The idea is to be able to switch between media app and navigation app by one key press.

It will be only offered when you touch on the header of the dialog or when you swipe over the app list.

I want to avoid people playing around with the equalizer while driving.

Please check if you activated the setting "Disable navi start activity". Please disable it.

Thanks for this very helpful information for 8667 units.

This is a special key of your car?
[Android Head-Units] h2official:
Unfortunately I don't see any "free" threads like in your previous post, only audio related and CanBus L/H. Concerning the resistance matrix, I don't think it's that on my car, as the HU receives information on consumption, outside temperature, lights state, etc...

I can confirm that the application starts up and closes a few seconds later without making the slightest sound.

I don't use the radio, so it's fine for me, but I'll look into alternative applications... For those who don't need "real-time" radio and have a permanent connection, you can use IP radios.

I didn't manage to do it again today, I'll keep an eye on it after a reboot.

Thanks for the explanations, this time I actually took the time to read the description... 😓 And it's clear! Sorry about that! So it works correctly.

Oh right, I was expecting to see a button. I forgot to look, I'll try again later.

It is properly deactivated

I don't think it's anything special. At least all Peugeot models with a central display screen should probably have this button, as it's what allows you to cycle between displays of fuel consumption, estimated remaining distance and so on. I attach an image.
[Android Head-Units] ser_hero:
Hi, TorstenH!

I think, this version resolved my issue with switching apps just after exiting sleep mode on 8667. Now it works amazing, thank you.
[Android Head-Units] TorstenH:
Great. Thank you very much for the feedback.
[Android Head-Units] TorstenH:
This is a weird behavior of the head units. Changing the factory settings will reset some settings like:

- navigation gets set to default (Maps)

- reset of equalizer settings

- clear radio stations

- ... maybe more.

This is not related to AppSwitcher and other navigation apps getting replaced by Google Maps, too. You can remove it from your bug 🐛 list. :)
[Android Head-Units] TorstenH:
https://xdaforums.com/t/junsun-v1-codes.4282299/post-88599413
[Android Head-Units] h2official:
For the record, I can now reproduce "the bug" effectively, I think it's more of a slowdown really. If I get to the launcher via AppSwitcher, everything happens normally, but if I get there by pressing the "home" button on the touchscreen, then the beep happens instantly but the window arrives between 3 and 5 seconds later. I've read a bit about "DuraSpeed", maybe that's the cause of the slowdown, can I safely disable it in AppSwitcher on an 8667?

Oh, I see! It's pretty cool, it's like a james bond secret menu! 😎

It would be cool to have a reboot option in there too !

Just to tease, if it's already "hidden" why do you have to activate an option to display it? 😁

Any chance of it also working on the 8667?
[Android Head-Units] TorstenH:
That's strange because that means different things happen depending on how you return to launcher.

Yes, you can change the Duraspeed setting but I'm not sure if changing the property will survive a reboot. Just give it a try.

Good idea. I always used the Reboot.apk from here

https://xdaforums.com/t/junsun-v1-start-equalizer-aux-bt-music-carinfo-from-launcher.4237797/

I know at least one Xtrons user and I'm not sure if the equalizer can be started in the same way. Nevertheless I wanted to provide the option to hide it completely in case it's not working on a "exotic" head unit.

Sure. But it may force you to perform a re-installation of the firmware if somethings goes wrong in a first attempt. And some testing support from your side would be required.
[Android Head-Units] TorstenH:
The journey continues there:

AppSwitcher v3 - smart SWC launcher (for Junsun, Xtrons, Ossuret, Hizpo and similar devices) incl. autostart

AppSwitcher v3 SWC (Steering Wheel Control) app launcher Stay focused on the street and don't touch the head units display to switch between apps. Support the development of this free app via ko-fi.com/appswitcher

xdaforums.com
[Android Head-Units] kuike:
Can you make something up from the attached pictures?
[Android Head-Units] TorstenH:
We know the "Junsun side", now. But we need to know if your car provides a wire we can connect to KEY1. Have you found more details of your OEM radio? Because some car manufacturers switch their wiring harness depending on the radio even if we talk about the same car model from same construction year.
[Android Head-Units] kuike:
O yeah sorry I forgot to upload other pictures i took🙈🤦🏻‍♂️ Didn’t find/searched anything yet because I’m a bit busy.

The first pic is probably the swc connector but I‘m not sure since I am a noob😅 so I show all the connectors from car to cable harness
[Android Head-Units] TorstenH:
Unfortunately I found absolutely nothing useful for the oem head unit. Yes, I think the gray connector is the SWC but I was not able to find any details.
[Android Head-Units] TorstenH:
Time to think about missing features....

What's currently in my mind:

- start Automate (service and a flow)

- long press action on home screen. E.g. start last used navigation app

- make the app working on devices using CAN bus. Unfortunately difficult to test for me

- ...?
[Android Head-Units] TorstenH:
Added new version 1.7

New option to enable Automate Accessibility Service on service start. Additionally it's possible to start an Automate Flow.
[Android Head-Units] kuike:
I have a canbus 👀😜 so i want to help you. Would be very useful to me either if it works
[Android Head-Units] kuike:
Where did you find that, I didn’t came across this😅 But is this useful information. Or better wait till you figured out how to use with canbus👀
[Android Head-Units] TorstenH:
Do you have a multimeter and can measure the resistance between IN0 and L0?

I think the French car makers overengineered just a resistance network and produced something like this so they can give the socket the cool name "Connecteur de la télécommande".

Just a first simple validation: disconnect the gray plug/socket and check if remote control still works. Expectation: No.
[Android Head-Units] TorstenH:
Regarding software based solution: first question would be which standard functionality we want to overwrite. So it makes no sense to block e.g. volume adjustment and bring up AppSwitcher instead. Do you have a mode button on your steering wheel which allows you already to jump from standard app to standard app?
[Android Head-Units] TorstenH:
Added version 1.8.

Only minor change.
[Android Head-Units] MAV1:
Guys if I change "LogoType" from 1 to 0 does it break anything?

I'm afraind the unit not to go into a bootloop..
[Android Head-Units] TorstenH:
Not the right thread for that discussion. ;-)
[Android Head-Units] Apk07:
@TorstenH Hey I tried your app out, as you suggested in the AC8257 thread.

My SWC registers my volume keys natively without issue ("HiWorld CANBUS") but my voice command key button doesn't work. You suggested trying out Logcat Reader, and I searched for the term "key" and I can see it regularly show up when I press the voice SWC button... problem is it's only logging it as an error:

I tried to get clever and make AppSwitcher look for this specific log but nothing ends up happening. Not sure what I can adjust. I set the "starter" to automatically run (from AGAMA), also tried running it as an auto-started navi app), but pressing the key results in nothing with the settings I have:
[Android Head-Units] TorstenH:
Hi @Apk07,

Thank you for giving my app a try.

Please enter the text "NameNotFoundException" in 'Short button press log entry' and enter any garbage text in 'On button press log entry'. Start the service via the first menu entry and leave the settings screen (e.g. by pressing the home button of your device). You should find a status bar icon and notification identifying AppSwitcher Service is running.

Let me know if your SWC button is working.

Best regards
[Android Head-Units] Apk07:
Awesome that did the trick! A few questions/suggestions...

There are various activities I can launch under the Google app, but I do not see one that allowed me to start a voice command. Is there a way for me to add the icon that would do the "voice" activity where Google prompts me to say something like "Play X artist on Spotify"?

It would be cool if you could assign the long-press action to launch 1 specific thing you commonly use, rather than the typical action of cycling through your list of apps... for instance, if long-pressing always opened me to a Google Maps activity, rather than me having to "switch" through several icons. Another use-case would be if long-pressing returned you to your home screen/launcher.

Is there a way to disable the animated horizontal timeout bar that ticks down before AppSwitcher disappears? When it's set to like 2s or less it looks more like a visual glitch than an intended feature. I would also wonder if you can make it more of a smoothly-animated bar than one that disappears in segments.

My head unit doesn't show any sort of status bar icon for AppSwitcher even though it's clearly running. I'm not sure if this is because the firmware has a custom status bar baked in or what...

When I am in an app (lets say, the Radio app), the app switcher list no longer shows Radio. I assume this is by design, to not show the current app you're in. I would actually prefer to have the list always look the same, and maybe just highlight your current app (or make the icon large to indicate it's currently open/selected)
[Android Head-Units] TorstenH:
Don't know if Google app provides an activity for that. You could try to find it with another app like QuickShortcutMaker.

Currently long press cancels the dialog or brings you back to your home screen (if dialog not visible). But you need another log entry to identify long press.

Usually a SWC button leads to a log entry

a) on pushing down

b1) releasing the button after a short period of time (short press)

b2) releasing the button after a long period of time (long press)

Both possible. But never had the impression it looks like a visual glitch. Making more and smaller segments would be possible.

Unfortunately I only have one device + smartphone to test. On both devices I have a status bar icon. Maybe you have another unit to validate?

Yes

Intention is to be able to use a single press to switch between last media app and navigation and to need as less clicks as possible to launch the last used apps. My first version of the app had a static list and it was a click disaster.

Thank you for you feedback. Find my first spontaneous answers inline above.

Maybe not my final answers but after 200 downloads of the app all users are invited to give a feedback.
[Android Head-Units] demolite:
Didn't see this mentioned; if someone has problems setting this up on Junsun V1 Pro w/ canbus, I had to give AppSwitcher permission to "READ_LOGS" with ADB. Now works great!
[Android Head-Units] TorstenH:
Really strange because on my head unit this step was not required.

Thank you for sharing your finding here.
[Android Head-Units] TorstenH:
Added new version 1.9. Fasten you seat belt before you read what's new:

- added setting to disable forced fullscreen for non-stock apps. Please reboot the system after changing the setting.

If disabled, the status bar gets displayed on top of non-stock apps and behaves as intended by Google. You can use one of the immersive mode apps from Google PlayStore to control fullscreen display on application level.

All thanks goes to: @demolite

Thank you very much for your amazing engagement!

See the history of pain in

https://xdaforums.com/t/junsun-v1-rescue-the-status-bar.4306249
[Android Head-Units] TorstenH:
Version 2.0 will allow to...

- hide status bar while dialog gets shown.

- define a delay (in seconds) before last used media apps get started.

This may help to allow a start of media apps which requires ready system resources like USB connection.
[Android Head-Units] demolite:
I have a few suggestions.

The first one was already mentioned but maybe it could be an option.

-Custom static order of apps on the list. Maybe even that it would start from beginning or last selection depending on preference. On my cars original radio the mode button went through radio-cd-aux-usb in a set pattern so I didn't have to look at the display. Now I have to mostly look.

-More/adjustable contrast between selection icons. In sunlight it's hard to see what is selected.

This app is great, and these are my only problems with it.
[Android Head-Units] TorstenH:
1x: switch between navi and media app

2x: switch to media app you used before last used media app.

A static list would mean you have to press the swc button several times just because you want to have a quick look on the media app to press again x times just to go back to the navigation app. That's the reason I don't like the simple cycle trought a static list and why the selection of media and navigation apps are separate settings. And I don't want to see the podcast app opening although I'm currently no interested in.

You see, I'm not convinced or I didn't get your point ;-)

There is a setting called 'brightness of not selected items". You tried to adjust this?

Thank you very much. I'm happy to hear that. Maybe you can give me more details to your "static list" idea and why it's really better to click 5 times and then 4 times to switch between two apps. :)
[Android Head-Units] demolite:
How could I have missed this :D

All I can say is for me it's for muscle memory. I'm not saying it's for everyone, but I jump around a lot on the apps, and this, although intuitive, is not for me. Think of this like if the keys on your keyboard arranged themselves to predict your next letter, so you would have to look at what you are typing. And it would only be 4 and 5 button presses if you put the items to the 4th and 5th place. Atleast one other person has suggested this so maybe I'm not alone on this.
[Android Head-Units] TorstenH:
@demolite @Apk07

Started to implement that static list feature. Because I have to change a lot of classes I hope you will provide your test feedback.
[Android Head-Units] demolite:
I'm ready :D
[Android Head-Units] Apk07:
Had to factory reset my HU after messing with OTA's, so I lost AppSwitcher for now.

When you release the next version I'll be sure to grab it.

Couple questions-

Is there anything preventing you from releasing it on the Play Store or elsewhere? I'd love to be able to update it automatically. I know they can be picky on permissions and packaging it into an App Bundle, but it's not nearly as awful as iOS apps.

If the HU automatically switches to ZLink or a similar Android Auto/CarPlay app, is the AppSwitcher service tracking the current app that's in the foreground? (Since it wasn't "switched to" by AppSwitcher, but another process)
[Android Head-Units] TorstenH:
@demolite @Apk07

I added version 2.0a. I just was able to preform some basic tests on my phone. So I apologize for any bugs.

I had to change the object type used to store selected navis and media apps internally so it may be better to clear app data to prevent force closes. Sorry!
[Android Head-Units] TorstenH:
Already thought about that but after I read that I need to pay for a developer account I stopped reading. 😅

Maybe an approach could be to add an update functionality inside the app.

Yes and no. AppSwitcher tracks the current foreground app even you started it by yourself (or another app like Tasker or Automate started the app).

But what's happening inside ZLink or it's pendants is just a black box.
[Android Head-Units] demolite:
I tried 2.0a but for some reason only the first list item gets selected over and over. Like the app restarted every time and forgot where it was.

I went back to 1.9 and it works, but ofcourse no static list.
[Android Head-Units] TorstenH:
Strange because this is something I tested on my phone. Have to test on my Junsun tomorrow.

Can you push the button multiple times to jump trought the list?
[Android Head-Units] demolite:
No I can't go to any other selection. Every button press is like the app restarted. First item selected and timer restarted. I also notice that the list dissappears for a fraction of a second (like old instance goes away and new starts up).

On 1.9 I see no "disappearance" and list just advances smoothly.
[Android Head-Units] TorstenH:
2.0a --> 2.0b

Start of AppSwitcher Service wasn't possible if app data was cleared.
[Android Head-Units] demolite:
I only had a little time to test, but I couldn't get the list to open at all now. I get the "starting service" on startup but no list on button press. I also tried adding the read_logs-permission manually. Have you tried on your headunit?
[Android Head-Units] TorstenH:
Have you deleted app data? Is AppSwitcher icon visible on status bar and is it still there after pressing the button?
[Android Head-Units] demolite:
Appswitcher icon is on status bar and in notification shade "service is running".

I cleared all data and also tried uninstalling. I think it can't read the logs, but I will try to solve it later. Does it work on your unit?
[Android Head-Units] TorstenH:
Have you deleted app data? Is AppSwitcher icon

Had no time to do checks on the hu. Log reading classes are unchanged and usually the head unit grants all permissions.
[Android Head-Units] demolite:
And even after manually granting the permission it doesn't work. I had this issue earlier because of the permissions, but now it must be something else.

EDIT: It started to work! I had the hu off for some time and now it works like it should.

EDIT 2: I also had AppSwitcher crash (not while using the list), after which the system became unresponsive and rebooted.
[Android Head-Units] TorstenH:
I meantime it tested it on my hu and it works. Good to hear it's running on your device, too.

But maybe the static list is to static. Should the current item + 1 be selected based on the current background app? On the other side it's less muscle memory and you don't know how often to press the button? I will wait for your feedback because I still don't like the static list. 🤣

The fullscreen option for the dialog will be removed because it's not looking nice to see the current foreground app changing size. Pain in my eyes.
[Android Head-Units] demolite:
I'll test for a few days, but how it now is seems good for me.
[Android Head-Units] ramig:
Thanks for the hard work.

v2.0b here and Smart List option is on.

The last média do not open after start de Head Unit. Install/ unistall not solve the issue

With 1.9 it's all right. :)
[Android Head-Units] TorstenH:
Don't worry. Missing start of media app is a bug and will be fixed with 2.1. No action from your side required.
[Android Head-Units] ramig:
thanks for replying ☺️
[Android Head-Units] demolite:
I've now used the static list for a few days and can say that it's great! I figured what was causing the "stuck on first item". If in settings "Disable navi start activity" is active, strange things happen (list stuck on first item, volume goes lower????, list might eventually get stuck on second item with the countdown timer stopped). If the setting is inactive it works fine.

I was thinking is it possible to cancel the list selection with a long press during switching through the list?
[Android Head-Units] TorstenH:
The setting disables the activity com.ts.main.navi.NaviMainActivity which is part of MainUI (package com.ts.MainUI). I never had such side effects you're describing here. You have the same problems with dynamic / smart list? Your screen may flicker if you disable the option, isn't it?

Yes. Based on the log entry set as 'long button press log entry'. If the event gets detected while the dialog isn't visible the home screen will be shown.
[Android Head-Units] TorstenH:
Added new version 2.1.

Smart list can be disabled if you prefer to use a static list. Delay before media app gets started can be set.

Includes some bug fixed which wasn't included in <= 2.0b.

Please clear app data or uninstall previous version if you use <= 1.9. Sorry!
[Android Head-Units] demolite:
I will have to test on smart list, but I would think so... No flicker is noticeable with the option on or off. Only when the option is on the list doesn't work and strange things happen.

Yes I have been using this, but I mean if I press lets say 2 times short but then decide I want to stay on current app, I would hold the button to cancel the list before the time runs out. So the list wouldn't open the item if the button is being pressed down, and if pressed for the "long" duration it would just close the list. This would be just a convenience, it's not worth it if it's hard to implement.
[Android Head-Units] TorstenH:
Okay. But then no action for us. :-)

That's exactly how it works. If you pressed the SWC button one or multiple times by accident you can cancel the dialog with a long press.

You can use logcat reader app to check if you can find

1. The log entry for "on button press log entry" (nDealPkey = = 829)

2. The log entry for "long button press log entry" (nDealPkey = = 831)

in the Android log

after you performed a long click on SWC.

For testing purposes you could also select a longer time period before app gets started (option "dialog delay (seconds)")

1. Is the log entry which occurs as soon as you're pressing the key down. The log entry is used to stop the time / countdown.

2. Is the log entry which indicates that the button was released after holding it down long. Is used to cancel.
[Android Head-Units] demolite:
Yes, no need to do anything for the setting.

Yes I have the log entries set and the long press works.

Maybe I have the dialog delay too short at 1 second, because it opens the list item even if I have the button down to cancel.
[Android Head-Units] TorstenH:
Possible. The 'set' log entry has to be available fast enough and you could check with logcat reader the time between nDealPkey = = 830 and subsequent 829.

MainUI will need a short amount of time to compute and log the events.
[Android Head-Units] demolite:
This was it, if the time is greater than 1 second it works fine. No issues otherwise, I'm really happy with the static list, a big thanks for implementing it!