Default [APP][ROOT] LMT Launcher v2.0 for various devices

LMT is a tool for Android (tested already on multiple devices but should run on nearly all) that launches a command when perform single touch or multitouch gestures on the screen (In any app/screen/etc.). You can connect basic and advanced commands to any gesture LMT supports. In addition to the gestures you can activate a system-wide PieControl for navigation like the feature in the ICS stock browser (touch the side of the screen to activate it).

See also: http://www.droid-life.com/2013/01/23...he-custom-rom/

Installation

Download the latest apk, copy it to your phone and install it via file explorer. After installation start LMT and set the specified input device for your phone. Then connect an action to e.g. the double swipe up gesture, start the touchservice and do the double swipe up gesture on the screen afterwards. If everything works fine, you’ll see the corresponding overlay and action. The known input devices/touchscreen to screen factors:
  • HTC Evo3D -> 4
  • HTC Sensation -> 2/4, x=200%, y=100%
  • HTC Amaze -> 4
  • HTC HD2 -> 0
  • HTC DesireHD -> 3
  • HTC Thunderbolt -> 1
  • HTC Inspire 4G -> 1
  • HTC One X -> 4
  • HTC One XL -> 1
  • Google Galaxy Nexus -> 1, x=100%, y=100%
  • Google Nexus S -> 0
  • Google Nexus 4 -> 2, x=200%, y=200%
  • Google Nexus 5 -> 1, x=100%, y=100%
  • Google Nexus 7 -> 0, x=160%, y=164%
  • Google Nexus 7 (2013) -> 0, x=112%, y=116%
  • Samsung Galaxy S2 -> 2
  • Samsung Galaxy Note -> 2
  • Samsung Galaxy Note 2 -> 2
  • Samsung Galaxy S -> 0/8
  • Samsung Galaxy Tab 8.9 -> 4
  • Sprint Samsung GS3 -> 6
  • Sony Xperia T -> 2
  • Motorola Atrix 4G -> 3/5
  • Motorola RAZR -> 4
  • Motorola DROID 3 -> 4
  • Motorola Defy -> 3
  • HP Touchpad -> 6
  • Acer Iconia -> 2/4
  • Alcatel One Touch 997D -> 7
  • Zopo ZP950 -> 3
Gestures
  • Square (start gesture top left cw)
  • Diamond (start gesture at the bottom cw)
  • Delete (start gesture top left)
  • SwipeRightDouble
  • SwipeLeftDouble
  • SwipeUpDouble
  • SwipeDownDouble
  • SwipeRightLeftDouble
  • SwipeLeftRightDouble
  • SwipeUpDownDouble
  • SwipeDownUpDouble
  • QuestionmarkDouble
  • SquareDouble
  • DiamondDouble



Commands
  • None -> Trigger no command
  • App -> Trigger an arbitrary app
  • Home -> Switch to home screen
  • HomeLongpress -> Trigger the TaskManager
  • Menu -> Trigger the menu key
  • Back -> Trigger the back key
  • Search -> Activate search
  • SearchLongpress -> Activate voice search
  • NextApp -> Switch to the next running app
  • PrevApp -> Switch to the previous running app
  • LMT -> Open LMT user interface
  • Wifi -> Toggle the Wifi mode
  • Data -> Toggle the data mode
  • Bluetooth -> Toggle the Bluetooth mode
  • GPS -> Open the GPS mode
  • Key -> Trigger an arbitrary key (e.g. "3" for the HOME key - see http://developer.android.com/referen.../KeyEvent.html for keycodes)
  • Activity -> Trigger an arbitrary activity (e.g. "com.android.lmt.InfoActivity" for the LMT info page)
  • WebPage -> Open an arbitry webpage (e.g. "http://forum.xda-developers.com")
  • Script -> Open an arbitrary script (e.g. "/mnt/sdcard/sendevent.sh" for Home Longpress - see attached script sendevent.sh)
  • KillApp -> Kill the current foreground app and switch to home screen
  • KillAllApps -> Kill all apps and switch to home screen
  • TaskerTask -> Start a predefined tasker task (You should avoid spaces in your task name)
  • OpenNotificationBar -> Open the notification bar
  • OpenQuickSettings -> Open the quick settings
  • OpenKeyboard -> Open the soft keyboard
ISAS

The ISAS (invisible swipe areas) can be used to swipe with one finger from the sides to to center of the screen (like you would bring up the pie) to trigger actions. E.g. you could use the 3 ISAS at the bottom of the screen to trigger back, home and recents with just swipes when the navbar is hidden. Those swipes are as fast and reliable as normal button presses. In order to make the ISAS work you have to do the following setup:
  • activate gestures via setMode (because ISAS are being recognized via the internal gesture engine)
  • Configure min bbox size. Actually this is the length in pixel the swipe must be long, so that the corresponding action for the ISA is being triggered.
  • Configure activation area size. This is the height (for bottom/top ISAS) or the width (for left/right ISAS) of the area, where the swipe must be started in. So the lower the value, the more precise you have to start the swipe at the side of the screen
  • Last but not least the touchscreen to screen factors: As for some devices the touchscreen uses a different coordinate system as the screen, you have to adjust here the values for x and y. For the Nexus devices I added those values already to the OP and in later versions I'll introduce a kind of auto calibrate. But for now it is a little bit of testing...
Once the setup is complete you can assign your actions to the 12 available ISAS!

Troubleshooting

For gestures and ISAS you need to set the proper input device and for ISAS the proper touchscreen to screen factors. If your device is not on the list, you can find them out doing the following steps:
  • Download a terminal (e.g. terminal emulator) from the market
  • Enter "su" and then "getevent -p" in the terminal
  • Search your touchscreen device and use the given event number as input device in LMT (e.g. /dev/input/event2 -> 2)
  • Check the touchscreen max values for event 35/36 and divide these with your screen resolution x and y values. This will give you the touchscreen to screen factors you have to set for the ISAS.
If you still have issues please create a logcat:
  • Install e.g. catlog from the market
  • Record with catlog the following procedure:
  • Start LMT
  • Set input device to x from first procedure
  • Set vibration time to 777
  • Start the TouchService
  • Do the double swipe up gesture on the screen
  • Stop the TouchService
  • Send me the logcat or post it here in the thread...
FAQ

Setting the pie color:

The format is just ARGB8888 in hex (8 bit for alpha and every color). So just use #xx where xx is alpha starting from 00 to ff and add the desired color afterwards. Have a look here for different colors but keep in mind that in these examples the alpha value is missing: http://www.javascripter.net/faq/rgbtohex.htm So if you have the color "rgb(124,252,0) #7CFC00" it will be #FF7CFC00 for an opaque pie and e.g. #807CFC00 for a half transparent pie...

Adding custom icons for pie items:

To have custom icons for the pie items create the following folder structure and put your own png images into it: "/sdcard/Android/data/com.android.lmt/files/". The default icons have the size 60x60px but other image sizes should also work (they will be resized to the configured size). You can define custom icons for every pie item and/or for every action (LMT first tries to load the icon for the pie pos, then the custom icon for the action and will use the default action icon if no other icon is defined). To set custom pie pos icons name the png pie[0-19].png where e.g. “pie0.png” will be the icon for pie item level1, item1, shorpress and “pie1.png” will be the icon for level1, icon1, longpress. To set custom action icons just name the png [actioname].png (see command section in the OP for action names – use lowercase, e.g. back.png). Please restart the TouchService after you changed the icons, so that LMT can recreate the pie.

Creating a screenshot via action:

See this post: http://forum.xda-developers.com/show...postcount=3328

Changelog
  • 2.0 -> Added ART (Android runtime) support
  • 2.0 RC7 -> Fixed apps sometimes not opening when they were already running; Changed pie longpress bahavior as requested by users; Added screenshot action; Fixed start delay for activity action; Limited pie pointer to screen; Fixed date when set to regional setting; Added possibility to change user image search path and gave LMT permissions to read from sdcard; Added call_phone permission so that direct call shortcuts are working
  • 2.0 RC6 -> Fine tuned pie pointer and introduced configurable color; Fixed "recent apps not coming up after home" bug; Enhanced color dialog; Introduced chained key command feature (e.g. "582 20 20 20 66" to open Chrome bookmarks); Fixed Pie status info notification clock format; Changed pie status info mem usage from kernel info to VM stats; Added Android 4.4 support; Fixed pie popup in the middle problem; Fixed crashes for non root users; Added shortcuts as action support; Reduced memory footprint and improved performance; Decoupled pie status info from animation time; Added shift effect for pie (test e.g. 3-5 pixel); Added app drawer shortcuts for Nova, Apex and Holo Launcher; Added pie pointer feature to be able to reach whole content via pie; Fixed gestures and ISAS for all screen orientations
  • 1.912 -> Hide service notification icon on Android 4.3
  • 1.911 -> Added Android 4.3 support
  • 1.910 -> Added preview of configured actions; Some GUI changes in settings; Added some more pie area positions; Added superuser permission; Fixed GPS toggle and added mobile data toggle
  • 1.99 -> Made pie outline size configurable; Excluded home from pre/next/lastApp actions
  • 1.98 -> Fixed TouchService crash on devices < JB
  • 1.97 -> Resorted actions so please reconfigure them!; Optimized app launch action; Fixed crash with new injection method on older devices; 2000 + key is now longpress key with longer wait; Added new longpress key and lastApp action; Added pie bottom not centered option; Added new default animation for pie status info (old animation when animation time > 80); Added auto calibration of ISAS's touchscreen to screen factors. Just swipe (with gestures activated) multiple times in the lower right corner up; Made pie font size configurable
  • 1.96 -> Made back, menu and keyevent actions faster; Made app/activity start actions faster; Optimized prev/next app actions; Added new pie color options for gradients; Added longpress keys support (Action key with 1000+keycode); Added notification support for < ICS
  • 1.91 -> Adapted date style based on system settings; Added pie font configuration; Added pie status info dim color configuration
  • 1.9 -> Redesigned UI a little bit; New color picker; Added support for non armv7 devices; Fixed tasker task; Fixed script action; Fixed 24h clock
  • 1.86 -> Added 24h clock support; Fixed wrong Wifi level; Fixed wrong CPU cores; Improved notification handling; Introduced option to deactivate color filter for pie images
  • 1.85 -> Added pie sensor navigation support (Show pie status info = 2): Shake your device left/right to delete a notification and go to the next one. Shake your device up/down to go to straight text mode and back; Fixed pie status info for older devices; Centered pie at the bottom; Added pie outline support; Added system status info (CPU, Mem); Fixed clock format; Fixed pie not firing action; Fixed pie on the left wrong order
    Exchanged some pie icons
  • 1.8 -> First version of status infos on pie. Status info shows clock, additional infos and notifications. In order to get notifications on the pie you must activate LMT as accessibility service in the android settings. Swiping on the status info will pause the animation, swiping back on the pie will restart it. Releasing finger on the notification will start the corresponding application. Releasing finger on the clock will open the notification panel and releasing on additional infos will open quick settings panel; Added full color support for pie (normal, select, icon and status info). Set #ARGB,#ARGB,#ARGB,#ARGB or Android color constants e.g. "gray,yellow,black,yellow". Also app/user icons are colored now; Added new default pie color 5; New default TouchService mode is pie only since gestures are confusing for new users; Fixed exception in load icon code; Fixed icon size in app selection dialog; Changed some UI strings; Added new action OpenQuickSettings; Exchange some pie images; Cleaned up permissions
  • 1.7 -> Added pie from the bottom; added bigger activation area for pie items inspired by Paranoid Android pie
  • 1.67 -> Added scaling for pie user icons (new settings entry); fixed persistency bug for last 2 isas
  • 1.66 -> Fixed missing "OpenNotificationBar" action icon for pie; Fixed crash when using image overlays and isas
  • 1.65 -> Fixed crash in isa code; fixed bug in "open notification bar" action
  • 1.6 -> Added Isas (Invisible swipe areas). Define action being triggered when swiping from the sides of the screen (new configuration values "single swipes bbox" for min bbox to trigger the swipe, "single swipes activation area" for the width of the area the swipe must be started in and "touchscreen to screen factor X/Y" for these devices, where the touchscreen values have a different resolution compared to the screen - e.g. X=160%, Y=200% for the Nexus7 and X=200%, Y=100% for the HTC Sensation); Resolved pie activation area interfering with the keyboard: The area is now moved upwards when keyboard is open; Block single touch gestures/swipes when keyboard is open; Improved speed of gesture engine; Changed some default configuration values; Deactivated tap and hold gestures (they didn't work anyway); Added support for app icons on the pie; Added Tasker Action; Added new styles for the pie; Updated input device list; Improved security
  • 1.5 -> Refactored whole GUI to match ICS/JB/Holo style with swiping tabs; Fixed small bug with pie debug activation area; Added pie animation from JellyBean pie in browser (only >= Honeycomb); Made pie animation time configurable; Changed code for home command to make it faster; Updated PayPal link for English website; Updated input device list
  • 1.4 -> JellyBean bugfix release; Fixed disappearing pie when rotating the screen in jb; Adapted pie outer radius to fit new jb style (80)
  • 1.3 -> Fixed pie firing commands even if fg app was blacklisted; Changed behavior for command killApp to really force stop the app; Added again vibrate on shortpress as an option for the pie feedback style; Fixed startup delay affecting all other starting apps; Fixed bug where pie icons disappeared when using them for short- and longpress commands; Improved pie icon size handling for user defined icons (they will have a constant size now)
  • 1.2 -> Fixed run on startup problems on GNex; Added separate blacklist for pie; Changed pie feedback style shortpress to fire; Change to proper pie icons on longpress; Made pie icons configurable (Path: "/sdcard/Android/data/com.android.lmt/files/", Files: pie[0-19].png or [actioname].png); Fixed rotation bug where pie showed up even if it was disabled; Added multi command feature for pie (swipe onto one pie item n times to fire the command n times)
  • 1.1 -> Added blacklist support for pie; Fixed bug where pie didn't come up with the first try; Added show pie activation area debug feature (area is shown when you change area settings); Added vertical gravity setting for the pie activation area; Fixed too small x activation area for the pie; Fixed wrong positioned pie icons when pie is on left side; Included system apps in app/activity command dialog (e.g. choose com.android.settings to show the settings menu); Fixed pie crash when rotating the screen; Pie longpress timer is now handled for every pie item; Added root context reinit in case of a crash
    Fixed crash when selecting an app without activities
  • 1.0 -> Refactored pie code and fixed crash related to pie; Added fully customizable pie feature; Fixed multiple action after gesture recognition; Added customizable vibration time; Added "no pie vibration" to options
  • 0.97 -> Fixed root permissions for some usecases
  • 0.96 -> Fixed crash when setting wrong values for pie radius; Fixed pie rotation bug bug
  • 0.95 -> Made pie color fully configurable; Added haptic feedback for the pie; Made pie size configurable; Fixed pie rotation bug
  • 0.9 -> Fixed Galaxy S ICS support; Added support for PieControl on both sides; Added 2 new commands: KillApp and KillAllApps; Added longpress support for PieControl: Back->KillApp, Home->PowerOff, Recent->KillAllApps, Menu->Settings and Search->VoiceSearch
  • 0.85 -> Implemented ICS recent apps (finally...)
  • 0.8 -> Added a first version of the PieControl with predefined actions
  • 0.75 -> Fixed gesture recognition problem on GSN; Refactored TouchService code; optimized recognition performance/speed; refined compiler settings
  • 0.7 -> Fixed launch app delay; Fixed autostart problem on ICS; Implemented ActivitySelect feature; Added blacklist support to exclude apps from gesture recognition; Added new TaskSwitcher commands
  • 0.6 -> Fixed TouchService restart bug; Sorted app list alphabetically; Automatically restart TouchService when switching input device; Adapted superuser rights to ICS; Changed HOME_LONGPRESS to KEYEVENT_APP_SWITCH (187); Added Galaxy Nexus support; Refactored TouchService
  • 0.5 -> Show current settings in input dialogs; Show TouchService state toaster; added known devices in input list; added autostart after startup feature
  • 0.4 -> Improved touchservice code; added app select list for app action; added activity action
  • 0.35 -> LMT is now rotation aware; added tactile feedback for gesture recognition; corrected some strings
  • 0.3 -> Omit overlay when no command given; add more gesture recognition settings; add new toggle commands for Wifi, BT and GPS
  • 0.25 -> Fixed HD2 TouchService code; Corrected logcat output for HD2
  • 0.2 -> Added HTC Sensation support
  • 0.1 -> First release
Donations

If you like my work, please consider a donation!

Attached Thumbnails
Click image for larger version

Name:	Screenshot.jpg
Views:	214777
Size:	20.2 KB
ID:	1660646   Click image for larger version

Name:	Screenshot2.jpg
Views:	108064
Size:	22.3 KB
ID:	1882776  
Attached Files
File Type: apk LMT v0.1.apk - [Click for QR Code] (387.0 KB, 14042 views)
File Type: apk LMT v0.8.apk - [Click for QR Code] (421.5 KB, 2423 views)
File Type: apk LMT v1.5.apk - [Click for QR Code] (808.4 KB, 23210 views)
File Type: apk LMT v1.6.apk - [Click for QR Code] (813.8 KB, 2093 views)
File Type: apk LMT v1.7.apk - [Click for QR Code] (818.0 KB, 6133 views)
File Type: apk LMT v1.8.apk - [Click for QR Code] (887.7 KB, 79933 views)
File Type: apk LMT v1.85.apk - [Click for QR Code] (890.8 KB, 21282 views)
File Type: apk LMT v1.86.apk - [Click for QR Code] (892.0 KB, 19898 views)
File Type: apk LMT v1.9.apk - [Click for QR Code] (923.9 KB, 33433 views)
File Type: apk LMT v1.91.apk - [Click for QR Code] (999.6 KB, 78817 views)
File Type: apk LMT v1.96.apk - [Click for QR Code] (1,004.2 KB, 24553 views)
File Type: apk LMT v1.98.apk - [Click for QR Code] (1,010.8 KB, 29487 views)
File Type: apk LMT v1.99.apk - [Click for QR Code] (1,011.1 KB, 132208 views)
File Type: apk LMT v1.912.apk - [Click for QR Code] (990.3 KB, 117900 views)
File Type: apk LMT v2.0 RC6.apk - [Click for QR Code] (1.05 MB, 16581 views)
File Type: apk LMT v2.0 RC7.apk - [Click for QR Code] (1.16 MB, 55380 views)
File Type: apk LMT v2.0.apk - [Click for QR Code] (1.15 MB, 24314 views)