All Jawk Sample Scripts
HelloWorld
BEGIN{
print("Hello, world!");
}
CopySample
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
text = "";
text = text "import com.googlecode.rpc.*;\n";
text = text "BEGIN{\n";
text = text " droid = new Android();\n";
text = text " droid.call(\"makeToast\",\"using Jawk\");\n";
text = text " droid.call(\"vibrate\");\n";
text = text " droid.call(\"notify\",\"using Jawk\",\"Message\");\n";
text = text "\#line comment\n";
text = text " printf(\"using Jawk printf\\n\")\n";
text = text " print(\"using Jawk print\")\n";
text = text "}\n";
droid.call("dialogGetInput","Sample","using Jawk",text);
response = droid.call("dialogGetResponse");
result = response.get("result");
if (result.get("which").equals("positive")) {
droid.call("setClipboard",result.get("value"));
droid.call("makeToast",result.get("value"));
} else {
droid.call("makeToast","Copy canceled");
}
}
DatePicker
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("makeToast","Input your birthday");
now = java.util.Calendar.getInstance();
year = now.get(now.YEAR);
month = now.get(now.MONTH)+1;
day = now.get(now.DAY_OF_MONTH);
droid.call("dialogCreateDatePicker",year,month,day);
droid.call("dialogShow");
response = droid.call("dialogGetResponse").get("result");
droid.call("dialogDismiss");
age = year-response.get("year");
truth = 0;
if ( month<response.get("month") ) {
truth = 1;
} else if ( month==response.get("month") ) {
if ( day<response.get("day") ) {
truth = 1;
}
}
if (truth == 1) {
age--;
}
droid.call("dialogCreateAlert","Dialog","Age:" age);
droid.call("dialogSetPositiveButtonText","OK");
droid.call("dialogShow");
droid.call("dialogGetResponse");
droid.call("dialogDismiss");
}
Dialog
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("dialogCreateAlert","Dialog", "with Jawk");
droid.call("dialogSetPositiveButtonText","Yes");
droid.call("dialogSetNegativeButtonText","No");
droid.call("dialogSetNeutralButtonText","Cancel");
droid.call("dialogShow");
response = droid.call("dialogGetResponse");
result = response.get("result").get("which");
droid.call("dialogDismiss");
droid.call("makeToast",result);
}
DualToneMultiFrequency
import com.googlecode.rpc.*;
function gTone(number,duration){
droid.call("generateDtmfTones",number,duration);
}
BEGIN{
droid = new Android();
numbers = new String []{"3","2","1233","3","22","2","39","9","3","2","1233","3","22","3","2","1"};
durations = new int [] {384,128,256,512,256,512,256,512,384,128,256,512,256,384,128,1024};
for(i=0;i<numbers.length;i++){
printf numbers[i]
gTone(numbers[i],durations[i]);
}
print("");
}
GetInput
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("dialogGetInput","dialogGetInput","using Jawk");
response = droid.call("dialogGetResponse");
result = response.get("result");
if (result.get("which").equals("positive")) {
droid.call("notify","dialogGetInput using Jawk",result.get("value"));
} else {
droid.call("makeToast","dialogGetInput using Jawk:" result.get("which"));
}
}
HorizontalProgress
import com.googlecode.rpc.*;
import java.util.Date;
function stop(msec){
start = new Date();
msec+=start.getTime();
while(true){
end = new Date();
if(msec<=end.getTime()){
break;
}
}
}
BEGIN{
droid = new Android();
droid.call("dialogCreateHorizontalProgress","Horizontal","using Jawk");
droid.call("dialogShow");
value = 0;
while(value < 100){
value = value+1;
stop(10);
droid.call("dialogSetCurrentProgress",value);
}
droid.call("dialogDismiss");
}
LaunchBrowser
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("launch","com.android.browser.BrowserActivity");
}
LaunchCalculator
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("launch","com.android.calculator2.Calculator");
}
LaunchCalendar
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("launch","com.android.calendar.LaunchActivity");
}
LaunchGallery
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("launch","com.cooliris.media.Gallery");
}
LaunchMusic
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("launch","com.android.music.MediaPlaybackActivityStarter");
}
LaunchSetting
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("launch","com.android.settings.Settings");
}
LaunchSoundRecorder
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("launch","com.android.soundrecorder.SoundRecorder");
}
MediaVolume
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
vol = droid.call("getMediaVolume").get("result");
maxvol = droid.call("getMaxMediaVolume").get("result");
droid.call("dialogCreateSeekBar",vol,maxvol,"Media volume","");
droid.call("dialogSetPositiveButtonText","OK");
droid.call("dialogSetNegativeButtonText","Cancel");
droid.call("dialogShow");
result = droid.call("dialogGetResponse").get("result");
droid.call("dialogDismiss");
if (result.get("which").equals("positive")) {
droid.call("setMediaVolume",result.get("progress"));
vol = droid.call("getMediaVolume").get("result");
droid.call("makeToast","Volume:" vol);
} else {
droid.call("makeToast","Cancel pressed");
}
}
Notify
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("notify","Notify using Jawk","Message");
}
OptionsMenu
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
print("Press Menu Button");
droid.call("addOptionsMenuItem","From Jawk","menu",1,"ic_menu_info_details");
droid.call("addOptionsMenuItem","Exit Jawk","menu",2,"ic_menu_close_clear_cancel");
while(true){
event = droid.call("eventWaitFor","menu");
if (event.get("result").get("data") == 1) {
droid.call("makeToast","Selected Add Menu");
} else if (event.get("result").get("data") == 2) {
break;
}
}
droid.call("clearOptionsMenu");
key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
intent = droid.call("getIntent");
droid.call("makeToast",intent.get("result").get("extras").get(key) " is done");
}
PackageCui
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
pack = droid.call("getRunningPackages").get("result");
print pack.length()
for (i = 0;i<pack.length();i++) {
printf "%d.%s/ver.%s\n",(i+1),pack.get(i),droid.call("getPackageVersion",pack.get(i)).get("result")
}
}
PhoneCall
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("phoneCallNumber","117");
}
QR
import com.googlecode.rpc.*;
import org.json.*;
BEGIN{
droid = new Android();
action = "com.google.zxing.client.android.ENCODE";
extras = new JSONObject();
extras.put("ENCODE_TYPE","TEXT_TYPE");
extras.put("ENCODE_DATA","Jawk");
intent = droid.call("makeIntent",action,null,null,extras).get("result");
droid.call("startActivityIntent",intent);
}
RecognizeSpeech
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
text = droid.call("recognizeSpeech");
droid.call("makeToast",text.get("result"));
droid.call("notify","Recognize Speech using Jawk",text.get("result"));
print text.get("result")
}
Scancode
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("scanBarcode");
clip = droid.call("getClipboard");
text = clip.get("result");
droid.call("makeToast",text);
}
Search
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("search","Jawk");
}
SendEmail
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("sendEmail","sl4@email.fake","sendEmail","using Jawk");
}
ShowFilename
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
intent = droid.call("getIntent");
droid.call("makeToast",intent.get("result").get("extras").get(key));
}
ShowThis
import com.googlecode.rpc.*;
import java.io.*;
function load_text(name){
size = 1024;
fih = new BufferedReader(new InputStreamReader(new FileInputStream(name)),size);
text = "";
line = "";
while((line = fih.readLine())!=null){
text = text line;
text = text "\n";
}
fih.close();
return text;
}
BEGIN{
droid = new Android();
key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
intent = droid.call("getIntent");
print load_text(intent.get("result").get("extras").get(key))
}
ShowWeb
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("webViewShow","http://www.google.com");
}
Speak
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
result = droid.call("ttsSpeak","Speak using Jawk");
}
SpinnerProgress
import com.googlecode.rpc.*;
import java.util.Date;
function stop(msec){
start = new Date();
msec+=start.getTime();
while(true){
end = new Date();
if(msec<=end.getTime()){
break;
}
}
}
BEGIN{
droid = new Android();
droid.call("dialogCreateSpinnerProgress","Spinner","using Jawk");
droid.call("dialogShow");
stop(2000);
droid.call("dialogDismiss");
}
StartRingtone
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("startActivity","android.intent.action.RINGTONE_PICKER");
}
Toast
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("makeToast","Toast using Jawk");
}
Vibrate
import com.googlecode.rpc.*;
BEGIN{
droid = new Android();
droid.call("makeToast","Vibrate using Jawk");
droid.call("vibrate");
}
return