[Android Apps and Games] brandall:
Profile Aim

Tasker reads your calendar creating a home screen widget via Minimalistic Text. Reacting to a future ‘meeting’ entry, it queries Google to find out the route information and journey time. Using the journey time information and meeting start time, it calculates what time you will have to leave and loads Sav Nav with the preselected route 5 minutes before you are due to depart.

Now FULLY Functional

Whilst creating the ‘Ultimate Alarm Clock’ I wanted the speech engine to read out the details of my meetings for the coming day from my calendar. I was a little disappointed that Tasker did not yet have the functionality to do that and despite delving into the calendar data base files; I could not find a way to achieve it. Damn.

When Tasker is able to read calendar entries in future releases, the tasks described below can be easily adapted to make sure you have a ready to go profile, but in the mean time, and I hope as always, this tutorial is full of handy Tasker tips and tricks…

New to Tasker? Download your free trial here

MT Google Calendar Widget only

If you don't want the AutoNav, I've included a download below with just the MT widget in. There is therefore only limited preparation you'll need to perform:

* Download the Minimalistic Text (MT) Plugin free from the market.

* Following the simple instructions in this link and get the private url output of your calendar in xml format. Remove the https://www. from the beginning and test it in your device's browser.

* At the end of the URL after 'basic' put '

?max-results=3&futureevents=true&orderby=starttime&sortorder=ascending

' (without the ' ) and that should order the calendar by the next three events.

* Edit action #2, #3 & #4 in GCAppTime to replace the time-zone abbreviation with that relevant to your location. It currently splits at 'BST'. Check the output file googlecal.txt on your storage card if you're unsure.

Head to the download link!

Initial Full Preparation

(very simple)

* A Gmail account and calendar.

* Download the Minimalistic Text (MT) Plugin free from the market.

V3 PREP: Following the simple instructions in this link and get the private url output of your calendar in xml format. Remove the https from the beginning and test it in your device's browser. Tasker will be extracting your calendar data from this.

At the end of the URL after 'basic' put '

?max-results=3&futureevents=true&orderby=starttime&sortorder=ascending

' (without the ' ) and that should order the calendar by the next three events.

So you don't have to change the all the icons I've used, download them directly to your device from here and unzip to folder level inside sdcard/Tasker/.icn

Overview

We are going to use the Google calendar private xml output to provide details of our up and coming calendar events. Tasker will react to a keyword of *meeting* within the title field and extract the relevant details to populate a widget and get your sat nav ready to take you there, loading up when you are due to leave.

First Shortfall

(doh!)

Tasker does not yet have the functionality to trigger a profile when a created variable such as %MEETING_DEPARTURE_TIME = %TIME (current time). As a work-around, a new calendar entry is created to trigger the navigation to load.

Secondary Preparation

(very simple)

We have to structure the content within the Google calendar so that it is constant. The XML feed will need to be split apart to extract the information we need. Tasker cannot adapt to changes in format, so until you are comfortable enough with the variable splits that take place, you’ll need to follow these instructions.

In the ‘title field’, put this text: Meeting - Bank Manager

In the ‘where field’ you want to put a location that is obvious to Google Maps and wouldn’t give you choices if you put the same query in a browser.

Example: in the ‘where field’, put: Oxford+UK

Do not leave spaces between the location information. Join them with ‘+’ symbols. Post codes work in the UK too, but I’m not sure about ZIP codes etc abroad. Just experiment in a browser first if needs be.

The ‘description’ field (although extracted) is not used in these profiles, so you can populate that how you like.

Ensure you have at least one of the above formatted events and another two calendar entries of any kind.

Installation

Download and import the following 12 tasks:

GCAppLoc

GCAppDesc

GCAppTime

GCAppTit (lol?)

GCGetJD

GCJD

GCJT

GCAT

GCJTMaths

GCNavMaths

GCEntry

GCMT

Download and import the following 2 profiles:

Google-Calendar

Google-AutoNav

The .zip folder also contains the file Google_calendar_mtpref. This should be dragged into the sdcard/MinimalisticTextPreferences folder. It can then be selected in the MT Preference Manager or by selecting the 'restore' option when creating a new MT widget.

Customisation

Set the profile GoogleCalendar to however often you wish to pull the feed.

Edit action #2 in GCgetDatato the URL of your private XML feed. Don't forget drop the https://www. from the beginning and add the URL extension detailed above to the end.

Edit action #4, #5 & #6 in GCAppTime to replace the time-zone abbreviation with that relevant to your location. It currently splits at 'BST'. Check the file Googlecal.txt if you're unsure

Edit action #5 in GCJD to replace the splitter ',UK' with your country. You may need to view this in a browser to see how Google handles this.

Edit action #22 in GCEntry to the calendar you wish to use for the reminder.

That’s it!

Testing

In each of the tasks after a STOP action, I've left in various 'flash' and 'list' actions that I used when creating the tasks. If anything goes wrong, you can drag these up the list to see where/why a task might be failing.

The tasks are numbered in the notification bar, so should something go wrong, you'll be able to see on which task the profiles failed.

Tick the profiles to active them and apply out of Tasker!

Make sure your data connection/wifi is turned on and ‘Use GPS satellites’ and ‘Use wireless networks’ is ticked under ‘Location & Security’ in settings. You’ll be getting a GPS fix, so get ready to hang out of a window!

Press 'test' in the task GCGetData and you're off!

The icons in the notification bar tick down from 11 until the departure time is displayed and then check your calendar for the entry that will trigger the navigation to start!

If you are testing multiple times, you'll need to variable set %GCNAV to 1 each time. If this variable is set to 2, Tasker will ONLY update the MT calendar widget.

Job done….