Skip to content
This repository has been archived by the owner on Oct 7, 2020. It is now read-only.

ThePBone/GalaxyBudsLive-Disassembly

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 

GalaxyBudsLive Disassembly Writeup

Analysis of the unreleased Galaxy Buds Live (aka Neobeans) plugin app for Android (as of 7/24/2020; expected release date: 5/8/2020)

Introduction

This repository contains all information I was able to find while searching through the Galaxy Buds Live plugin app for Android. I'll try to document my findings in this repository.

This is the API I accessed in order to get their pre-release APK: https://vas.samsungapps.com/stub/stubDownload.as?appId=com.samsung.accessory.neobeanmgr&deviceId=SM-G950F&mcc=262&mnc=03&csc=DBT&sdkVer=28&pd=0&systemId=0000000000000&callerId=com.samsung.android.app.watchmanager&abiType=64&extuk=000000000000000

Resources

Animated tutorials

Original MP4 files are stored here: /resources/res/raw/

How to wear the Buds Live correctly! How to pair
Double tap Tap and hold
Triple tap Single tap

Looseness detection

The Buds Live can detect if they are not properly inserted in your ears. If one bud doesn't not fit correctly it will show a red border around it in the app (displayed in one of the tip cards, not on the battery card):

Left Right
Good Good
Loose Loose
Related Strings (Looseness detection)
<string name="tips_earbuds_fit_results">Earbuds fit result</string>
<string name="tips_good_fit">Good fit</string>
<string name="tips_loose">Loose</string>
<string name="tips_you_have_gor_a_good_fit">
You\'ve got a good fit that will give you the best sound and active noise canceling.
</string>
<string name="tips_try_adjusting_your_earbuds">
Try adjusting your earbuds to get better sound and active noise canceling.
</string>
<string name="tips_try_adjusting_your_left_earbud">
Try adjusting your left earbud to get better sound and active noise canceling.
</string>

Widget designs

Quick actions Battery
widget1 widget1

Buds/Case

Black White

Other tutorials

fd_home_tips_charging_battery_level fd_home_tips_charging_using_phone

New Hardware

Some parts of the debugging mode within the Buds Live refer to a gyroscope and to a sensor called "Vpu" in both earpieces. VPU is an abbreviation for "Voice Pickup (Bone) Sensor" which enhances voice recording especially for calls by processing your bone vibration (afaik, the buds(+) had something similar as well) and can pickup voice wake-up commands. This new sensor is used with the new Voice Wakeup Feature! The gyroscope is probably used for the looseness detection.

[L>Gyro 0]: XXXX
[L>Gyro 1]: XXXX
[L>Gyro 2]: XXXX
[R>Gyro 0]: XXXX
[R>Gyro 1]: XXXX
[R>Gyro 2]: XXXX

[L>Vpu 0]: XXXX
[L>Vpu 1]: XXXX
[L>Vpu 2]: XXXX
[R>Vpu 0]: XXXX
[R>Vpu 1]: XXXX
[R>Vpu 2]: XXXX

Refer to: /sources/com/samsung/accessory/neobeanmgr/core/service/message/MsgDebugData.java

Source code

Ambient sound?

Apart from the gaming mode entry in the Labs screen, there's also a new interesting option called "Relieve pressure with ambient sound" (aka PASSTHROUGH):

According to its description:

"This can prevent a feeling of stuffiness or compression when you're not using active noise canceling."

This sounds like a stripped down/recycled ambient sound feature...

Related Strings
<string name="relieve_pressure_ambient_sound_desc">
This can prevent a feeling of stuffiness or compression when you\'re not using active noise canceling.
</string>
<string name="relieve_pressure_ambient_sound_title">Relieve pressure with ambient sound</string>

Refer to: /sources/com/samsung/accessory/neobeanmgr/module/aboutmenu/LabsActivity.java

Voice wake-up

In the advanced screen, we have a new feature called "Voice wake-up". It can be used to activate Bixby using "Hey Bixby" via the Buds Live without pressing any button on the buds. This is accomplished thanks to the new voice activation sensor (VPU).

However, this is Samsung-only since it only works with Bixby.

Related Strings
<string name="settings_voice_wakeup_desc">
You can call Bixby by saying “%s” while wearing your earbuds.
</string>
<string name="settings_voice_wakeup_oobe_incomplete_desc">Set up Bixby to use Voice wakeup.</string>
<string name="settings_voice_wakeup_title">Bixby voice wake-up</string>

Refer to: /sources/com/samsung/accessory/neobeanmgr/module/mainmenu/AdvancedActivity.java

Touchpad Options

  • Bixby/Voice assistant
  • ANC
  • Volume
  • Spotify (hidden if not available)
  • Other compatible media apps (hidden if not available)

Bixby

You can enable/disable ANC by Voice command but other than that, they haven't added anything now to it. No changes for bixby routines at all.

Refer to: /sources/com/samsung/accessory/neobeanmgr/core/bixby/BixbyTurnOnFeature.java

Find my mobile

Interestingly, the app refers to the FMM API (Find my mobile, NOT Find my gear). It may allow users, to let the Buds ring using the Find my mobile website/app and to retrace their steps using the phone's GPS if you lost your Buds Live or to display the GPS location when they were last seen by the Android device. This is just a guess though. (And since it relies on the "Find my mobile service" (com.samsung.android.fmm), it would be an Samsung-only feature)

Refer to: /sources/com/samsung/accessory/neobeanmgr/core/fmm/

Analytics

Just like the Buds and Buds+ app, this one is littered with usage analytics as well. Every now and then, the Buds send a usage report to the host device.

This includes data like: Single/double/triple tap count, tap-and-hold count, playback duration, wearing duration, ANC duration, low battery alert count, firmware error count, and much more.

Refer to: /sources/com/samsung/accessory/neobeanmgr/core/service/EarBudsUsageReporter.java

Debug Menu

The Buds Live get a hidden debug menu as well. It'll work the same way the one for the Buds+ did and has the same features. Check my reddit post (includes instructions) about this: https://www.reddit.com/r/galaxybuds/comments/hjgfaf/galaxy_buds_i_found_a_new_debug_menu/

Future Online Manual

As of writing this, the online-manual is not yet available but this may change in the next days/weeks. When it becomes available, you can check it out here: http://www.samsung.com/m-manual/mod/SM-R180 (view it on your mobile, it displays an error page on desktops for some reason)

Menu Overview

Home

  • ANC
  • Equalizer
  • Battery Percentages

Advanced

  • Voice wakeup

  • Seamless connection

General

  • Factory reset
  • User manual

Labs

  • Gaming mode
  • Relieve pressure with ambient sound

Touchpad

  • Lock touchpad
  • Change left/right tap-and-hold actions

Read notifications aloud

  • Same as the Buds/Buds+; exactly what you would expect

Find my buds

  • Same as the Buds/Buds+; exactly what you would expect

Check my Unofficial Windows client for the Buds and Buds+ out!

About

Analysis of unreleased Galaxy Buds Live "neobeans" plugin app for Android

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages