1.70 Now released

302 views
Skip to first unread message

Dave

unread,
Jan 8, 2019, 11:12:15 PM1/8/19
to androi...@googlegroups.com
Hi Guys,

I've had to do an emergency release of Version 1.70 because Google threatened to remove DroidScript from the PlayStore because it was using certain SMS permissions which have recently been banned.  Unfortunately this means you will no longer be able to use the Google Play version of DroidScript to create apps that send or receive SMS messages.  We will however soon provide a downloadable APK of DroidScript that does not have this restriction.

Some cool new 'bleeding edge' features have gone into this release but they are not quite ready for prime time, so I've hidden them behind the 'Experiments' option which can be found on the about box.  This will enable block based (drag-drop) editing in the Wifi editor and also a remote Android terminal extension.

This release has been a bit rushed due to the Google deadline, so I hope nothing has broken.  If anything major has broken then let me know in this thread and I'll try to get another release out ASAP.

Here is the list of all the new features and fixes since the last full release:-

DS170
- Added italian language.
- Add 'Experiments' option (terminal,blockly)
- SDK menu now enabled by default.
- Add new auto-wifi option.
- Removed SMS permissions for GPlay version of DS.

DS169a4
- Added !delplugin command to wifi ide (eg. !delplugin bluetoothle)
- WifiConnect now works for Android 4.4 with WPA_PSK routers.
- Added app.WifiScan(callback) method (returns list of ssids).
- Added 3rd 'status' param to app.HttpRequest() callback function.
- Added option to use '~' character instead of '=' between params.
- Fixed app.CreateNxt() method.
- Improved debug overlay auto scrolling + made monospace for IOT devices.
- app.Execute() now supported in NoDOM mode.
- Enabled replacement of 'Basic' app template using "/sdcard/DroidScript/Template.js".

DS169a3
- Upgraded internally to Font-Awesome 4.47
- Added void OnNewIntent event to plugin API.
- app.GetAppPath() now returns correct path for services running in IDE.
- Fixed SQLlite query callbacks not working in services.
- Fixed plugin callbacks inside services not working.
- Service Stop() method now disables action of 'Persist' option.
- Fixed calling cam.Stop() twice in row crash.
- Fixed IDE bug causing repeated load of extension html file.
- Added new 'combine' option app.CreateSysProc() to combine output and error stream.
- Added new 'builder' option app.CreateSysProc() to force use of proc builder
- app.CreateSysProc() can now accept '|' separated command list.

DS169a2
- Fixed app.SysExec() timeout param had no effect.
- Added 'su' and 'sh' options to app.SysExec(), runs commands in a shell.
- Added UART and GPIO banana-pi samples for DS-IO.
- Changed Wifi IDE debug tab $ commands to run via 'sh' shell.
- Added !getplugin command to DS-IO (eg. !getplugin bluetoothle)
- Added !getspk command (eg. !getspk http://www.me.org/spks/hello.spk).
- Added !buildapk command (eg. !buildapk com.test.puck 1.0 false).
- Changed Wifi IDE home page for DS-IO.
- Changed USB Serial devices only vendor id match now required (not device id).
- Added 'ShowUI' option to app.SetVolume(), also level of -1 keeps current volume.
- Added SetOnInput and SetOnError methods to SysProc object.
- Changed Terminal sample to use callbacks.
- Added .data JavaScript property to all DS object for safely storing user data.
- Fixed small memory leak related to anonymous functions as callbacks.
- Added 'id' property to websockets and websocket callbacks.
- Remote Android shell Terminal added to Wifi IDE (premium only).
- Added 'Persist' option to app.CreateService() (attempts to force restart if service killed).
- Added app/svc.SetInForeground( title,text,largeIcon,smallIcon,importance ) for services.
- Added app/svc.SetInBackground() for services.
- Added app.ToFront() method (moves app to foreground).
- Added 'Tasks' option to app.SetKioskMode (prevents recent tasks button working)
- Removed sony smartwatch and pebble entries from manifest
- Added OnPause, OnResume, OnConfig, OnMenu events to plugin API.
- Added app.GetDrawerState() method ('Open', 'Closed', 'Sliding').
- Added SetOnFocus method to TextEdit control (callback returns state true/false).
- Made FlappyDinos demo for GameView + fixed some bugs.


An update will be available on Google Play in the next few hours,but if you want to side-load it right now, then you can get it from here:-


(There are also some other goodies in that folder including a GameView demo SPK :)

It will take some time for the new release to propagate across the planet through Google Play, so I won't update the APKBuilder app on Google Play right away.But if you want to build an APK with the latest features right now, then you will have to grab it from the folder above and drop it into your DroidScript/Plugins folder and restart DroidScript (create the Plugins folder if it does not exist)

Hope you like it :)

blocks.png

Chris

unread,
Jan 8, 2019, 11:51:04 PM1/8/19
to DroidScript
I had to revert back to 169a3 - my app wouldn't run properly under this version.

I kept getting illegal token errors from my list selections. My app won't run.

I still tested a few quick things:

sql callbacks do not work in NoDom
services AutoStart not working
Transparent & NoDom do not work together

I wasn't able to test more, as I said, list selections were throwing errors.

Steve Garman

unread,
Jan 9, 2019, 1:42:14 AM1/9/19
to androi...@googlegroups.com
app.Execute() throws a "missing ) after argument list" error wherever I am using it.

Minimal test code

app.Execute('app.ShowPopup("Hello")');

Stephen Wong

unread,
Jan 9, 2019, 10:41:57 AM1/9/19
to DroidScript
Hi Chris,

Due to the SMS restriction in the new release version 1.7, my current application no longer can use SMS. Thus, I need to revert back to the previous release version.

Can you advise how can I revert back to the previous release 169a3. Thank you very much.

Chris

unread,
Jan 9, 2019, 11:25:55 AM1/9/19
to androi...@googlegroups.com
169a3 was an alpha, last released version can be downloaded from the link in the first post here:

https://groups.google.com/forum/m/#!topic/androidscript/s8rCTzSEdcQ

Stephen Wong

unread,
Jan 9, 2019, 12:20:37 PM1/9/19
to DroidScript
Thank you very much.

Mauritz Zondagh

unread,
Jan 9, 2019, 1:12:52 PM1/9/19
to DroidScript
Service Auto Start not working.

Chris

unread,
Jan 10, 2019, 1:13:56 AM1/10/19
to DroidScript
This version is unusable.

Chris

unread,
Jan 10, 2019, 3:28:56 AM1/10/19
to DroidScript
Another bug (not 1.70 specific)

https://groups.google.com/forum/m/#!topic/androidscript/fMMtpHZEBwA

Turkish without English.

massimo buniy

unread,
Jan 10, 2019, 4:36:01 AM1/10/19
to DroidScript
Hi Dave, I installed italian language but this have some errors. If you won't I will send you all errors I found.

Dave

unread,
Jan 10, 2019, 7:44:17 AM1/10/19
to DroidScript
@massimo:  Which area are most of the problems in?  Could I send you the files to fix for me?

@Chris:  Why is it unusable exactly? Right now, I need to know about anything that has been broken rather than anything that was always a problem.

Steve Garman

unread,
Jan 10, 2019, 7:50:37 AM1/10/19
to DroidScript
@Dave
The app.Execute problem is definitely new and makes it unusable.

Dave

unread,
Jan 10, 2019, 9:12:45 AM1/10/19
to DroidScript
OK, I've fixed that problem.

You can get around it for now by not using double quotes:-

This works:-   app.Execute( "app.ShowPopup('Hello')" );


Chris

unread,
Jan 10, 2019, 9:37:04 AM1/10/19
to DroidScript
I can't tell you what is wrong, it doesn't work.

I can't go through and change all my app.Executes.

List selection callbacks throw errors. You can't even select anything in my app. ILLEGAL token errors. I use Html in my lists. Reverting back to 169a3 all working.

Chris

unread,
Jan 10, 2019, 11:20:23 AM1/10/19
to DroidScript
Please fix the sql callbacks for NoDom before next update.

If you need alpha testing before releasing and building apkbuilders etc, let me know.

Chris

unread,
Jan 10, 2019, 11:28:33 AM1/10/19
to DroidScript
Dave - the list problem is due to the app.Execute.

I reinstalled 1.70 to try and help, and some list selections work, but most of mine use app.Execute.

I can't really test indepth as my app uses web.Execute and app.Execute ALOT. :-)

Dave

unread,
Jan 10, 2019, 12:39:16 PM1/10/19
to DroidScript
SQLite now works with NODOM option.

Anymore minor bug fixes required for the next 171 public 'bug fix' release?

Note: These need to be minor cos I can't risk breaking anything else, we can get back to working on the alpha version afterwards

Chris

unread,
Jan 10, 2019, 3:59:14 PM1/10/19
to DroidScript
Only other thing is the Locale.ROOT.

In my tests it works, but I can't take English off my devices - Samsung locks them. So at worst it fixes nothing... at best English will not be needed on the target device. But if you want to wait for an alpha... cool. Just want to get this fixed too, its bad when any user gets a blank screen - (and it effects AppySite too) :-)

I'm ready to test, if need be before you send to the playstore.

Steve Garman

unread,
Jan 10, 2019, 5:13:33 PM1/10/19
to DroidScript

//Handle the 'MyFunc' command.
private String MyFunc( Bundle b )
{
Log.d( TAG, "Got MyFunc" );

//Extract params from 'MyFunc' command.
String txt1 = b.getString("p1");
String txt = txt1.toLowerCase(Locale.ROOT);
float num = b.getFloat("p2");
boolean bool = b.getBoolean("p3");

//Return result to user.
return "Your params were: "+txt+","+num+","+bool;
}

@Dave
The above code works in English, in Turkish, even with English removed.

From undotted "I" it cosistently returns dotted "i" in all cases


Chris

unread,
Jan 10, 2019, 5:33:43 PM1/10/19
to DroidScript
Seems a simple Locale.ENGLISH text replace to Locale.ROOT will handle that :-)

Dave

unread,
Jan 10, 2019, 5:42:24 PM1/10/19
to DroidScript
Thanks for doing that test Steve... I'll do a find and replace :)  
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages