All Squirrel Sample Scripts

HelloWorld

android <- Android();

function sleep(sec){
  sec+=clock();
  while(true){
    if(sec<=clock()){
      return;
    }
  }
}
sleep(1);

print("Hello, world!");

CopySample

android <- Android();

function conv4facade(text){
  local msg = "";
  for (local i = 0;i<text.len();i++) {
    if (text[i].tochar()=="\"") {
      msg+="\\\"";
    } else if (text[i].tochar()=="\n") {
      msg+="\\n";
    } else {
      msg+=text[i].tochar();
    }
  }
  return msg;
}

local text = "";
text += "android <- Android();\n";
text += "android.makeToast(\"using Squirrel\");\n";
text += "android.vibrate();\n";
text += "android.notify(\"using Squirrel\",\"Message\");\n";
text += "//line comment\n";
text += "/*block\n";
text += "comment*/\n";
text += "print(\"using Squirrel\");\n";

android.dialogGetInput("Sample","using Squirrel",conv4facade(text));
local response = android.dialogGetResponse();
if (response.result.which == "positive") {
  android.setClipboard(conv4facade(response.result.value));
  android.makeToast(conv4facade(response.result.value));
} else {
  android.makeToast("Copy canceled");
}

DatePicker

android <- Android();
android.makeToast("Input your birthday");
local now = date();
local year = now.year;
local month = now.month+1;
local day = now.day;
android.dialogCreateDatePicker(year,month,day);
android.dialogShow();
local response = android.dialogGetResponse().result;
android.dialogDismiss();
local age = year-response.year;
if ( (month<response.month) || 
  ((month==response.month)&&(day<response.day)) ) {
  age--;
}
android.dialogCreateAlert("Dialog","Age:"+age);
android.dialogSetPositiveButtonText("OK");
android.dialogShow();
android.dialogGetResponse();
android.dialogDismiss();

Dialog

android <- Android();
android.dialogCreateAlert("Dialog","with Squirrel");
android.dialogSetPositiveButtonText("Yes");
android.dialogSetNegativeButtonText("No");
android.dialogSetNeutralButtonText("Cancel");
android.dialogShow();
local response = android.dialogGetResponse();
local result = response.result.which;
android.dialogDismiss();
android.makeToast(result);

DualToneMultiFrequency

android <- Android();

local numbers = ["3","2","1233","3","22","2","39","9","3","2","1233","3","22","3","2","1"];
local durations = [384,128,256,512,256,512,256,512,384,128,256,512,256,384,128,1024];

function gTone(number,duration){
  android.generateDtmfTones(number,duration);
}

for(local i=0;i<numbers.len();i++){
  print(numbers[i]+"\n");
  gTone(numbers[i],durations[i]);
}

GetInput

android <- Android();

function conv4facade(text){
  local msg = "";
  for(local i = 0;i<text.len();i++){
    if (text[i].tochar()=="\"") {
      msg+="\\\"";
    } else if (text[i].tochar()=="\n") {
      msg+="\\n";
    } else {
      msg+=text[i].tochar();
    }
  }
  return msg;
}

android.dialogGetInput("dialogGetInput","using Squirrel");
local response = android.dialogGetResponse();
if (response.result.which == "positive") {
  android.notify("dialogGetInput using Squirrel",conv4facade(response.result.value));
} else {
  android.makeToast("dialogGetInput using Squirrel:"+response.result.which);
}

HorizontalProgress

android <- Android();

function sleep(sec){
  sec+=clock();
  while(true){
    if(sec<=clock()){
      return;
    }
  }
}

android.dialogCreateHorizontalProgress("Horizontal","using Squirrel");
android.dialogShow();

local value = 0;
while(value < 100){
  value++;
  android.dialogSetCurrentProgress(value);
  sleep(0.01);
}

android.dialogDismiss();

LaunchBrowser

android <- Android();
android.launch("com.android.browser.BrowserActivity");

LaunchCalculator

android <- Android();
android.launch("com.android.calculator2.Calculator");

LaunchCalendar

android <- Android();
android.launch("com.android.calendar.LaunchActivity");

LaunchGallery

android <- Android();
android.launch("com.cooliris.media.Gallery");

LaunchMusic

android <- Android();
android.launch("com.android.music.MediaPlaybackActivityStarter");

LaunchSetting

android <- Android();
android.launch("com.android.settings.Settings");

LaunchSoundRecorder

android <- Android();
android.launch("com.android.soundrecorder.SoundRecorder");

MediaVolume

android <- Android();
local vol = android.getMediaVolume().result;
local maxvol = android.getMaxMediaVolume().result;
android.dialogCreateSeekBar(vol,maxvol,"Media volume","");
android.dialogSetPositiveButtonText("OK");
android.dialogSetNegativeButtonText("Cancel");
android.dialogShow();
local response = android.dialogGetResponse().result;
android.dialogDismiss();
if (response.which == "positive") {
  android.setMediaVolume(response.progress);
  android.makeToast("Volume:"+android.getMediaVolume().result);
} else {
  android.makeToast("Cancel pressed");
}

Notify

android <- Android();
android.notify("Notify using Squirrel","Message");

OptionsMenu

android <- Android();
print("Press Menu Button\n");
android.addOptionsMenuItem("From Squirrel","menu",1,"ic_menu_info_details");
android.addOptionsMenuItem("Exit Squirrel","menu",2,"ic_menu_close_clear_cancel");
while(true){
  local event = android.eventWaitFor("menu");
  if (event.result.data == 1) {
    android.makeToast("Selected Add Menu");
  } else if (event.result.data == 2) {
    break;
  }
}
android.clearOptionsMenu();
local key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
android.makeToast(android.getIntent().result.extras[key]+" is done");

PackageCui

android <- Android();
local pack = android.getRunningPackages().result;
for (local i = 0;i<pack.len();i++) {
  print((i+1)+"."+pack[i]+"/ver."+android.getPackageVersion(pack[i]).result+"\n");
}

PhoneCall

android <- Android();
android.phoneCallNumber("117");

QR

android <- Android();
local action = "com.google.zxing.client.android.ENCODE";
local extras = {"ENCODE_TYPE" : "TEXT_TYPE","ENCODE_DATA" : "Squirrel"};
local intent = android.makeIntent(action,null,null,extras).result;
android.startActivityIntent(intent);

RecognizeSpeech

android <- Android();
local text = android.recognizeSpeech("Squirrel").result;
android.makeToast(text);
android.notify("Recognize Speech using Squirrel",text);
print(text);

Scancode

android <- Android();

function conv4facade(text){
  local msg = "";
  for(local i = 0;i<text.len();i++){
    if (text[i].tochar()=="\"") {
      msg+="\\\"";
    } else if(text[i].tochar()=="\n") {
      msg+="\\n";
    } else {
      msg+=text[i].tochar();
    }
  }
  return msg;
}

android.scanBarcode();
local clip = android.getClipboard().result;
android.makeToast(conv4facade(clip));

Search

android <- Android();
android.search("Squirrel");

SendEmail

android <- Android();
android.sendEmail("sl4@email.fake","sendEmail","using Squirrel");

ShowFilename

android <- Android();
local key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
android.makeToast(android.getIntent().result.extras[key]);

ShowThis

android <- Android();

function load_text(name){
  local text = "";
  local fih = file(name,"r");
  local filesize = fih.len();
  local pos = 0;
  while(pos!=filesize){
    text += fih.readn('b').tochar();
    pos++;
  }
  return text;
}

local key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
print(load_text(android.getIntent().result.extras[key]));

ShowWeb

android <- Android();
android.webViewShow("http://www.google.com");

Speak

android <- Android();
android.ttsSpeak("Speak using Squirrel");

SpinnerProgress

android <- Android();

function sleep(sec){
  sec+=clock();
  while(true){
    if(sec<=clock()){
      return;
    }
  }
}

android.dialogCreateSpinnerProgress("Spinner","using Squirrel");
android.dialogShow();
sleep(2);
android.dialogDismiss();

StartRingtone

android <- Android();
android.startActivity("android.intent.action.RINGTONE_PICKER");

Toast

android <- Android();
android.makeToast("Toast using Squirrel");

Vibrate

android <- Android();
android.makeToast("Vibrate using Squirrel");
android.vibrate();
return