DirectoryBind - How to move data to external_sd

DirectoryBind - move data to external_sd (GameLoft, Shadowgun etc.) ROOT req.


This is my application to bind directories located on external_sd to directories on internal memory (/sdcard/). This way You can transfer large application data directories to external_sd.
Could be usefull with ex.: games from Gameloft, other like Shadowgun, applications like CamScanner.





Features:
* Requires ROOT !
* Aimed at specific functionality and features (not idiot-proof)
* You can create any number of Data -> Target directory pairs, mount them manually or choose to mount them on system boot (checkbox does that).
* On/Off switch controls whole mount-on-boot function.
* Diskette icon indicates if mount operation was successful, by taping it You can mount/umount entry.
* Icon changes if application is using mounted entry
* DirectoryBind can tell what application is using this entry (tap at entry in use)
* Long tap on entry (disabled) brings edit/delete window
* App auto umount all entries on USB connected and remount after USB disconnected (for now via BroadcardReceiver UMS_CONNECTED / UMS_DISCONNECTED)
* App shows notification and vibrates if auto umount on USB fails
* If mounting all checked entries (ex. on boot) app is waiting specified time (def. 60 sec) if data directory is not available (happens sometimes at boot)
* Tested sucessfully with Asphalt 6, Shadowgun, DeadSpace, CamScanner

Color statuses:
* GRAY - entry disabled
* RED - mount failed
* BLUE - waiting for data availability
* GREEN - mounted OK

version 0.2.0k
* fixed FC if screen orientation changes during copy/delete
* more extensive logging

version 0.2.0m
* ?? fixed problem with entries marked green on boot, but not mounted (repotred by stone_ship)
* ?? fixed problem with random FC on ICS (reported by Thomas)

version 0.2.0n
* auto create target directory action moved from "bind" action to "add/edit entry" action due to possible problems when data outside "/sdcard"

version 0.2.0o
* added option to control if mount service is run as sticky

*** for now older version kept in case I broke something ***

please do not test data transfer files features on sensitive data they seem to work OK but are not throughly tested

Compiled using API android 2.3.3. Attached as self-signed development apk package. No market link for now.

important info
* Remember ! All entries must be umounted before attempting to use MASS STORAGE MODE. Application will try to do it automatically on USB CONNECT. If it fails and You'll use MASS STORAGE MODE sdcard partition WILL CRASH and reboot will be required to restore normal operations ! Main cause of that is appplication using mounted folder. You have to close that application and retry to umount entry.

* This application requires *root privileges* so it has full control over entire system! Uses root privileges to invoke "mount", "umount", "lsof" and "grep" shell commands via su and it DOES NOT write anything on system partitions.
It DOES NOT apply any permanent changes to the OS, however I cannot guarantee it does not contain BUGS and security issues. I'm not responsible to any damage it can cause. Use it AT YOUT OWN RISK !

application permissions explained
WRITE_EXTERNAL_STORAGE - application automatically creates target path, copy existing files from target to data
RECEIVE_BOOT_COMPLETED - application can perform automatic bind on boot
VIBRATE - application creates notification alert with vibrations when cannot umount all locations on USB connect
READ_LOGS - dump own logcat to file
*ROOT* - invoking "mount", "umount", "lsof" and "grep" commands via su.


!!! IF YOU HAVE ISSUE WITH ENTRIES DISAPPEARING AFTER REBOOT !!!
1. In preferences check "alternate dbase mgmt" and try again

Download DirectoryBind :


DirectoryBind_0.2.0k.apk
Mediafire  |  Jumbofiles  | UFile
DirectoryBind_0.2.0m.apk
Mediafire  |  Jumbofiles  | UFile
DirectoryBind_0.2.0n.apk
Mediafire  |  Jumbofiles  | UFile
DirectoryBind_0.2.0o.apk
Mediafire  |  Jumbofiles  | UFile

4 comments: