[Other SmartWatches] bbkr:
State of market

Do NOT buy this watch. It looks like excellent value for money, but much modern H1 / W5 series with Android 9 and full Play Store just hit the shelves on AliExpress for

almost the same price

.

If mine arrives I'll create separate thread about them.

Brands

My specific watch that I used to experiment with is G4P, bought straight from Chinese factory:

View attachment 5407991

However almost everything from this thread applies to any watch running on SP9820E SoC, like G4E or G4H series.

Those watches are also often rebranded and sold as: Kinyo, Garett, Lemfo, Wonlex, Locon and many more.

Just check in spec if it is running on 9820E chip and you are good to go.

Reasons for modding

Those watches by default use very limited set of very simple applications presented in most ugly launcher and icon sets achievable by humans.

You can not install any extra applications and what you get from the box is very disappointing.

Also they are meant to be managed exclusively by corresponding phone application like SeTracker 2 (or rebrands like Garett Tracker),

which means you need to send your data to Chinese service and use WeeChat for chats/video calls, whether you like it or not.

This is true shame, because SP9820E is quite powerful hardware, here is GeekBench score.

Do not be fooled by oversimplified stock software - you can run pretty much any "real" application on it.

Luckily because those watches use Android under the hood you can transform them to something more feature-rich and more pleasant to use.

Android KitKat is NOT Android Wear

Those watches use Android 4.4, codename KitKat. Just like old phones. Please

do not confuse it with Android Wear

operating system and do not try to use applications built for Android Wear. Whatever you use

must be Android 4.4 compatible

, anything newer won't install at all. Android on this watch is

heavily modified

, lacks some components and you will run into many crashes or weird behaviour. Sections below will help you to navigate through those issues.

Also applications back in KitKat era were not designed with watch screens in mind, so expect bad interface scaling, not accessible buttons and huge or microscopic fonts.

How to install any application from stock Launcher?

Get application *.apk file from trusted site.

Set up Bluetooth connection between your watch (in Settings -> More -> Bluetooth) and computer / phone. Do not use macOS computer, it does not work. Android phone seems to be most compatible.

Upload *.apk file to watch using Bluetooth.

On watch go to Settings -> Tools -> File explorer and select Local -> bluetooth. Click on *.apk file and install it.

Installed application will not be visible from stock Launcher. So I really recommend installing another Launcher as first application.

Launcher

I use Nova Launcher. You need 5.5.4 version, this is the last one compatible with Android 4.4.

Once you install it using installation method described above press power button and it should prompt you which Launcher to use. Select Nova.

And enjoy freedom. It is also surprisingly fast and does not consume more battery than stock one.

If you have Nova Pro purchased you can activate it in two ways:

Use APK extractor on phone where you have Nova Prime activation installed. Dump license application to phone storage and install it the same way as launcher itself. But beware - it must be 2017 or earlier activation package. You cannot dump it from modern phone.

Search for nova_launcher_prime_v2017_full.apk and install this fake license. This is questionable way of activating it. But if you do not have old phone with old license preinstalled you have no other options. I think that if you own legal license on Play Store you will do no harm to developers this way.

Tips:

To avoid being asked for launcher when pressing power button you can disable stock launcher (requires root) through ADB shell: su, and then pm disable com.sgtc.launcher.

This firmware has very aggressive power management and you may notice lag when waking up watch after longer period of time. This is because Nova got killed by operating system and must start from scratch. To avoid it convert Nova launcher to system application (requires root). This can be done using Link2SD application. Open it, search for Nova, click on Nova, click triple dot menu menu and you will have option to convert to system.

Remember to have default launcher or ADB enabled while doing this, because you will need one of those to invoke reboot.

Lock screen using button (broken, workarounds available)

If you have two Launchers power button will always prompt for Launcher when pressed on unlocked screen. You cannot change it without root, there is something modified under the hood and even Nova cannot set itself as default Launcher.

The workarounds are to lock screen using icon:

Add Nova action widget and set it to lock screen.

Add Power Toggles widget and add lock screen button to it.

Settings (partially works)

Settings are very simplified compared to stock Android 4.4. I've tried to install stock AOSP Settings APP but it fails. A lot of "hidden settings" applications allows to invoke deep buried panels like HotSpot or lock screen patterns configurations. Tedious job, lot of crashes along the way.

You can also:

Go to engineering mode by dialling *#*#83781#*#*.

Go to Developer Options by using Developer Options Shortcut application.

Status bar (broken, workaround available)

It does not work on any launcher (I tested a few beside Nova). Probably it was so heavily modified that API is no longer compatible. It cannot even be invoked by ADB service call statusbar 1.

The good replacement is Power Toggles, which allows to add widgets with battery level, fast volume profiles switching, enabling Wi-Fi, Bluetooth. Pretty much everything you used status bar for. Except cellular signal strength. I use version 6.0.4.

Tips:

Just as for launcher - aggressive power management will close it as inactive user application after short period. So because it is invoked every time screen is turned on best way to reduce screen wake up time is to convert Power Toggles to system application (requires root). This can be done using Link2SD application. Open it, search for Power Toggles, click on Power Toggles, click triple dot menu menu and you will have option to convert to system. Reboot watch.

You can set different battery colors, which makes it easier to use on small screen. I has mine set up to red (below 20%), yellow (20-80%) and green (above 80%).

You can set how frequent battery indicator is refreshed. By default it is quite laggy.

To get something looking like real status bar disable home screen margins in Nova launcher. Check my screenshot below for final effect.

Notification bar (broken)

Same deal as with Status bar - probably it was so heavily modified that API is no longer compatible with launchers.

You can open notification list service directly from Nova action. But you cannot manage it in any way (like cleaning old notifications) so it is pretty useless long list of accumulated trash.

I haven't found any good replacement.

Luckily Nova launcher notification dots work on applications icons and you can pretty much quickly figure out what just pinged you.

Clock time picker (broken)

By default you manage alarm clocks on this watch through phone application. But if you open on watch stock Android clock app you will see that you cannot set time, only set alarms on and off. Probably some Android component is missing. No fix or workaround yet. Also beware, because once you add alarm using APP on the watch there is no way to remove it - no option in app itself and SeTracker sees only first 3 of them. You will need to clean app data from ADB.

Power management (work in progress)

There are no options to keep app running in background. I'm still searching for good power management app replacement to keep things like WhatsApp or other services running.

For controlling:

screen delay (by default set to annoyingly short 10 seconds)

fine screen brightness

you can use buttons on Power Toggles widget. Once you set it to your preference widget can be removed and settings are remembered after reboot.

Screen rotation (tricky, broken)

Accelerometer is mounted

90 degrees clockwise

and stock applications have this tilt compensation hardcoded into them.

This really dumb design has bad consequences:

If accelerometer rotation (auto-rotation) is enabled all "real" applications will think "up" is on the side where power button and flashlight is.

If accelerometer rotation is disabled most "real" applications will stay in fixed portrait orientation (also called user rotation) but some may still rely on accelerometer. The reason is that you can not fully disable accelerometer. Disabled only means "not taken into consideration unless explicitly asked for". And a lot of applications (mostly camera-related) still try to be user friendly and rotates screen the wrong way.

If you mess something up you can lock Screen Rotation again by adding such button on Power Toggles widget and using it.

Or if you have root:

disable accelerometer rotation: settings put system accelerometer_rotation 0

set user rotation to portrait mode: settings put system user_rotation 0

Start sound

Requires root.

First remount /custom in read-write mode: mount -o rw,remount /custom.

Then remove /custom/movies/bootsound.mp3.

Apps recommendations (please share yours)

A lot of "phone" applications work out of the box, assuming you get Android 4.4 compatible versions of them. You can install them the same way as launcher or through ADB. My set is:

Simple Keyboard is perfect for this watch. Disable symbols, set height to 150% and typing will be really comfortable and fast.

Power Toggles. Must have to compensate broken status bar and missing settings.

WhatsApp. Communication freedom. Pretty much you can stop here if you want this watch to be simple device for kid.

VLC for listening audiobooks (although interface does not scale well, looking for something better).

Wulkanowy (polish e-grade book with lessons plan, homework, etc. I assume a lot of people from Poland will come here because of Garett popularity so I'm mentioning it).

Solid Explorer. Built-in explorer is very castrated and crashes often when other apps try to use it (for example to select icon picture or file to share). Solid Explorer is stable and has a lot of built-in format viewers. Unfortunately one cannot run FTP server using it - button to start is off the screen. Bug reported, I hope it will get fixed soon.

OurGroceries. Excellent shopping/checkbox list that can be synchronized between various devices. Very useful to make list of things kid should take to school for example.

Diki. Online dictionary with simple interface that scales very well on this small screen. Translations are straightforward, without tons of magic grammar shortcuts. Allows to listen for words pronunciation.

Stock apps that are preinstalled and work OK:

Dialer

Contacts (you can even import cards from vcf file)

Flashlight

Looking for:

CalDav / CardDav sync (unfortunately there is no accounts management in API and most apps adding Dav support to Android crash).

Call blocker that will reject everything outside contacts list. To protect kid from scammers, marketers and other unwanted calls.

Known to fail:

SMSes. Can be sent but watch management API interrupts receiving to capture push control commands.

Installing any other SMS application and setting it as default one breaks watch management from phone application

.

WhatsApp. Camera during video calls is upside down.

Google Play Services. Instant crash.

Google Chrome 81. Crashes after few seconds of activity. For all apps that need SystemWebView component to work try Bromite replacement. However in KitKat WebView was not an application and Developer Options has no way of choosing default one. So it may fix very small amount of applications which are self-aware of different WebViews providers.

Google Calendar. Needs working Google Play Services.

F-Droid store. Crashes randomly and may require patience to install anything.

OpenSync. Cannot add any DAV account due to SSL crash.

Wikipedia. No articles can be displayed. Probably due to their latest TLS 1.2 mandatory API switch. However simply bookmarking Wikipedia in Bromite browser works just fine.

ADB and USB debugging

By default those watches are sold with charging cable only, it does not have signal pins. Your life will be a lot easier if you will be able to transfer files directly from your computer to watch and use ADB to do stuff. You can check cable dimensions here: https://allegro.pl/oferta/magnetyczny-kabel-zasilajacy-do-garett-kids-xd-10972606997 . Remember - it must have

four

pogo pins.

Connecting with cable is straightforward just like when connecting regular phone. Just be aware of two things:

Magnets are not strong enough to press four pins to contact pads. If you have trouble connecting try pressing magnet plug to watch firmly.

This is Android 4.4, so you need ancient knowledge. Like for example there is no "cmd" command available in ADB shell. Some command line switches are very different from what is being used today. Etc.

You can set USB to file transfer mode. Android File Transfer desktop application works perfectly and transfers are surprisingly fast. Probably it is the most convenient way to transfer applications, audiobooks and music to this watch.

Root

Based on https://github.com/eisaev/SuperSUInstaller process.

Install Developer Options Shortcut. Installation method is irrelevant. You can do it the same way as Launcher installation described above. Or if you already have more advanced stuff installed you can use an file transfer method and any file manager to do it.

Run Developer Options Shortcut and enable USB debugging.

Install SuperSU Installer. Again installation method is irrelevant.

Run SuperSU Installer. Wait for Hello World message and go back to Launcher.

In Local files on the watch there should be new SuperSU Manager APK generated. Install it but do not open.

Restart watch.

Disable WiFi and Bluetooth.

Connect USB cable.

Open dialer and enter *#*#83781#*#*. Engineering settings will open.

Go to CONNECTIVITY tab.

Click Start Service.

Click Wifi eut and confirm popup.

run adb shell on your computer

in shell enter: am start --user 0 -n ru.eisaev.supersuinstaller/.MainActivity

Wait for Hello world message on watch screen.

In shell enter: am start --user 0 -n eu.chainfire.supersu/.MainActivity

On watch screen SuperSU Manager should pop up and offer binary update. Choose Normal mode.

Restart watch.

Open SuperSU Manager. Method is irrelevant, can be clicked from Nova launcher or invoked from ADB like in 16.

Go to Settings and set Default access to Grant.

Confirm that you have root access by going to ADB shell and invoking: su

Clean up all files generated by SuperSU Installer from Local directory on the watch.

This method slightly diverges from original because users are different and because SuperSU Installer

crashes

when leaving to desktop using home button. Making it impossible to go from step 8 to 9 described in original method.

So for Installer and Manager to see each other at the same time you need to do this weird loop: install Installer which generates Manager which you can install prematurely to be able to later fire up both Installer and Manager at the same time from ADB without using watch home button.

Kudos for eisaev for discovering this process and building SuperSU!

My result

Home screen of Nova launcher:

View attachment 5420419

Power Toggles bar on top emulates status bar. It handles battery info, fast volume and brightness settings and connectivity settings.

Two Nova action widgets added on the bottom - one for power off, second one for applications list.

Application list:

View attachment 5420423

Nova allows to hide applications, so I used it to hide everything kid is not supposed to mess with. Like settings of various sort.

Many apps like Calculator or Gallery I've extracted directly from my old Android 4.4 phone.

Keyboard:

View attachment 5420427

Simple Keyboard is far more usable and fast than stock keyboard. Kid has no problem with typing on it. However just as on stock keyboard you have to type blindly and occasionally minimize keyboard to verify what you've typed.

Please contribute

If you have found solution to any of mentioned problems, encountered new problem on your own or just found good app please share in comments.