Feature: Layouts
Overview
The applications displayed within the Launcher UI are controlled by the Layouts configuration. This configuration allows for whitelisting of applications, display of shortcuts, and organizing applications into folders.
Layouts are partitioned based on the user's Role or controlling Group.
When a user logs into Launcher, the user's Group/Role is determined. This Group/Role must match at least one of the layout groupings.
By default, the 'OpenZone' content is controlled by group "*".
Groups / Roles
Within each group/role, there exist applications, folders, and shortcuts. Launcher will build the UI based on all matching Groups/Roles that a user belongs, thus if a user belongs to multiple Groups/Roles, they will get additional content.
"layouts" : {
"AppGroupA":[ -Logged in user with Role of AppGroupA will have access to these Applications.- ],
"AppGroupB":[ -Logged in Associates will have access to these Applications.- ],
"*": [ -OPEN ZONE definition of applications- ]
},
Examples:
-
A device is booted up, the following will be displayed on the "OpenZone" (represented by the "*" in the Layouts groupings).
-
User Joe logs into the device, and he is a member of group "AppGroupA", he would see the contents of "AppGroupA" groupings.
-
User Sara logs into the device and she is a member of group "AppGroupB", she would see the contents of "AppGroupB" groupings.
-
User Anna logs into the device and she is a member of group "AppGroupA and AppGroupB", she would see the contents of "AppGroupA" and "AppGroupB" groupings.
-
User Bob logs into the device and he is a member of group "AppGroupB and AppGroupA", she would see the contents of "AppGroupB" and "AppGroupA" groupings.
Applications
To display an application, all that is needed is the package name. Optional values can be used to change the label, the start activity, the icon, and the NFC Settings.
Display an application:
{
"package" : "com.bluefletch.ems.support"
}
Changing the Start Activity and Label:
{
"label" : "Vision Settings",
"package": "com.bluefletch.ems.vision",
"activity": "PreferenceActivity"
},
{
"label" : "Vision Training",
"package": "com.bluefletch.ems.vision",
"activity": "FaceTrainActivity",
"icon" : "/sdcard/DCIM/icons/differentLogo.png",
"nfcEnable": true
},
See Launcher Configurations for more information on the Application object.
Web Shortcuts
Web shortcuts are URL links to web addresses. A shortcut will navigate the default web browser to the desired URL. If the BlueFletch Browser is being used, "showUrl", "showTitle", "allowCookiePreview" and "fixOrientation" will determine the visual settings of the browser. "nfcEnable" will adjust the NFC Settings.
{
"label" : "BlueFletch",
"url" : "https://bluefletch.com",
"icon" : "/sdcard/DCIM/icons/bluefletch_logo.png",
"showUrl" : false,
"showTitle" : false,
"allowCookiePreview" : false,
"fixOrientation" : false,
"nfcEnable": true
},
See Launcher Configurations for more information on the Web Shortcut object.
Folders
Folders provide a mechanism to organize applications and/or shortcuts into different groups.
{
"label" : "Tools",
"contents":[
{
"package" : "com.symbol.datawedge"
},
{
"package" : "com.symbol.tool.stagenow"
},
{
"label" : "BlueFletch",
"url" : "https://bluefletch.com",
"icon" : "/sdcard/DCIM/icons/bluefletch_logo.png"
}
]
}
See Launcher Configurations for more information on the Folder object.
Actions
Actions are shortcuts to launch system actions on the Launcher home screen.
BlueFletch supports the custom actions com.bluefletch.ems.RUN_XML
and com.bluefletch.ems.AUDIO
.
com.bluefletch.ems.RUN_XML
supports the intentExtras
key-value pair "file"
. The value of "file"
defines the file path or asset of the XML file to run.
com.bluefletch.ems.AUDIO
supports the intentExtras
key-value pairs:
-
"setting"
: Set value to"ADJUST_AUDIO"
. -
"notification"
: Value defines notification volume level by whole number. -
"music"
: Value defines music volume level by whole number. -
"ring"
: Value defines ringtone volume level by whole number. -
"system"
: Value defines system volume level by whole number. -
"dtmf"
: Value defines dual-tone multi-frequency volume level by whole number. -
"call"
: Value defines call volume level by whole number. -
"alarm"
: Value defines alarm volume level by whole number. -
"others"
: Value defines all volume levels not defined elsewhere by whole number.
{
"action" : "com.bluefletch.ems.AUDIO",
"label": "Audio - Half Volume (Except Notifications)",
"intentExtras": {
"setting": "ADJUST_AUDIO",
"notification": 100,
"others": 50
}
}
BlueFletch also currently supports android.settings.WIFI_SETTINGS
and android.settings.BLUETOOTH_SETTINGS
. Android Developer documentation provides a list of Android Settings actions, although some actions may not currently be fully supported by BlueFletch.
See Launcher Configurations for more information on the Action object.
Technical Notes
Configuration :
Example:
"layouts" : {
"AppGroupA":[
{
"package" : "com.symbol.wfc.pttpro"
},
{
"package": "com.bluefletch.ems.deviceinformation"
},
{
"label" : "Vision Settings",
"package": "com.bluefletch.ems.vision",
"activity": "PreferenceActivity"
},
{
"label" : "Vision Training",
"package": "com.bluefletch.ems.vision",
"activity": "FaceTrainActivity"
},
{
"label" : "Tools",
"contents":[
{
"package":"com.bluefletch.acc.themerapp"
},
{
"package" : "com.bluefletch.ems.support",
"nfcEnable": true
},
{
"package" : "com.symbol.datawedge"
},
{
"package" : "com.symbol.tool.stagenow"
},
{
"package": "com.bluefletch.go"
}
]
}
],
"AppGroupB":[
{
"package" : "com.symbol.wfc.pttpro"
},
{
"label" : "Vision Training",
"package": "com.bluefletch.ems.vision",
"activity": "FaceTrainActivity"
},
{
"package": "com.bluefletch.ems.support",
"nfcEnable": true
},
{
"package": "com.android.calculator2"
},
{
"package": "com.bluefletch.ems.deviceinformation"
}
],
"*": [
{
"label" : "BlueFletch",
"url" : "https://bluefletch.com",
"icon" : "/sdcard/DCIM/icons/bluefletch_logo.png"
},
{
"package": "com.android.calculator2"
},
{
"package" : "com.bluefletch.ems.support"
},
{
"label" : "Tools",
"contents":[
{
"package":"com.bluefletch.acc.themerapp"
},
{
"package" : "com.symbol.datawedge"
},
{
"package" : "com.symbol.tool.stagenow"
},
{
"package": "com.koushikdutta.vysor"
}
]
}
]
},
Feature Introduced
Feature Introduced in Launcher 2.6.x.
Replaces Groups / Group_Inclusion whitelisting of applications.