BTW, how is the main app actually started?
The shell/start_rigol_app.sh script has it commented out (around line 150):
### Start Main APP
# sleep 3
# am start -n com.rigol.scope/.MainActivity
And nowhere in the shell scripts I see a command to start it, except restartScope.sh:
#!/system/bin/bash
su
kill -9 $(pidof com.rigol.scope)
am start -n com.rigol.scope/.MainActivity
but it isn't referenced in any of the other shell scripts. A mystery!
The commenetd out stuff is old stuff, they just did not remove it from the script. Why they made this thing so convoluted makes you head-scratch. I suspect 800-900 is just a port down from their bigger brothers and sisters, and they just hacked out what was not needed using comment '#', and then added stuff as break-fix so it will work.
There are several Activities listed in the Manifest. You can us 'am' to call an Activity, like "am start -n com.rigol.scope/.MainActivity"
You can move the scope app to rear, and then recall the Main Activity, am will just say "already running, moving app to front", and then you see scope app on screen again.
They app start from
init.rigol.rc:service startApp /system/bin/bootApp.shBasically an init start command (call other script). That bootApp script is also copied into /rigol/shell/, probably from doing an install of a GEL.
Look at
/init.rigol.rc script, it does all that ssh key copying too, and some other stuff.
It's easier to leave the init script alone when it comes to doing scope update with a GEL file. So they make changes to the scripts in /rigol/shell , etc. This is an easier approach for the way they crafted GEL updates.
When you do some of these tests from scope screen, they call to an activity.
<activity android:name="com.rigol.scope.ActivityRigolTouchTest"/>
<activity android:name="com.rigol.scope.ActivityRigolLcdTest"/>
<activity android:name="com.rigol.scope.ActivityRigolKeyTest"/>
<activity android:name="com.rigol.scope.ScreenSaverActivity"/>