Much development has come as of the last few weeks. The UI has been optimized and separated from the source. New commands have been added, and a full new branch was started by our own Loglud(Logan Ludington). Also, if you’d like to find out what needs to be done in the code or items required to be addressed, you can check out our auto-generated todo list.
The $IFCONTAINS and $IFNOTCONTAINS commands received an upgrade. Any time one of the IF commands are run, the rest of the line is parsed for &&& as a delimeter. Each &&& which is found will denote a new CASUAL command to be run if the original expression is true.
The Command Delimiter ;;; was added to CASUAL Language. In combination with the command-line option –execute or -e allows for a full CASUAL script to be executed from the commandline. Any &&& chains will be broken by ;;; and anything following the ;;; delimeter will be executed as though it were a new line.
java -jar casual.jar -e $ADB push update.zip /sdcard ;;; $ADB reboot recovery
The $FLASH, and $PULL commands were added to the CASUALcore source. These commands directly flash or pull Block/Char devices and files on a mobile device. The system works by monitoring both the device and the CASUAL client, establishing a netcat server on the device and checking for proper shutdown. Utilizing SSL, Error Checking, EOFconfirmation, retries, and more, we feel confident that this is the most secure flashing mechanisim ever created. If you come up with a great idea for CASUAL, or just want to assist in brainstorming new ideas, Get involved.
Loglud has started working on a new, unnamed device detector. The detector will serve as a splash-screen before CASUAL is loaded and an interface. Upon launch it will:
- detect the device
- install drivers if required
- download a new version of CASUAL
- detect available packages
- present a list of options to the user
- execute CASUAL
We’ve created a massively multi-threaded search tool which will take in a device’s build.prop file, search through the folders on builds.casual-dev.com, and return all available packages. It works by searching for new folders via special APIs, examining the b.prop if available in the folder and verifying if it can use the files and folders contained within, then starts new searches on each of the available folders. This tool is still in testing phase and we will begin migrating away from the standard download-a-CASUAL and focusing more on using CASUAL as a package manager.
The new device detector will provide everything which CASUAL cannot currently handle, including upgrading CASUAL, downloading new pacakges, and database integration with multiple sources. This fledgling project requires more work. Would you like to share expertise? Get involved!