[Q] USB Masst Storage ? UMS ...

Search This thread

doublehp

Senior Member
Jul 14, 2009
271
46
How to get UMS on HTC M8 ?

I have been reading many things about it; I am not interessed in alternatives. I WANT USB MASS STORAGE.

I have stock rom. But ... maybe I may reflash if it can help getting UMS. But I would prefer just change the kernel, and keep the rest of my stock ROM.

Also, I am very disapointed that TWRP does not offer UMS. Are there other recovery that can do it ? I am fine with a reboot if recovery can help.
 

Captain_Throwback

Recognized Developer
How to get UMS on HTC M8 ?

I have been reading many things about it; I am not interessed in alternatives. I WANT USB MASS STORAGE.

I have stock rom. But ... maybe I may reflash if it can help getting UMS. But I would prefer just change the kernel, and keep the rest of my stock ROM.

Also, I am very disapointed that TWRP does not offer UMS. Are there other recovery that can do it ? I am fine with a reboot if recovery can help.
Recovery can't do it anymore; it was removed from the kernel completely (it seems).

To answer your question from the other thread, I have UMS on the Stock Sense 6 ROM. The screenshots I took were from Bad Boyz HK Edition. I have a non-HK M8, Sprint variant. I'm not sure what other information you want from me, or how I could've "pretended" to have it by my screenshots. Believe what you want, I guess.
 

doublehp

Senior Member
Jul 14, 2009
271
46
This topic is NOT a dead end road.

I have been said by various people that:
- it had been removed around android 4.2, and re-added later.
- some people have it with recent devices
- it is possible to add it manually, several ways
- presence of UMS in a phone may depend on manufacturer: a given Android version may have it in some ROM by some people, or not in other ones ...

What I am going to try soon:
there is a something you can do to keep USB mass storage. Its called Linux + permissions

Install latest HTC sync manager with drivers, then remove HTC sync manager but not driver. Connect your phone, it will appear as an mtp device (like a camera). Double click on it and browse sd and internal mass storage. That's your problem, Windows issue.
 

doublehp

Senior Member
Jul 14, 2009
271
46
Recovery can't do it anymore; it was removed from the kernel completely (it seems).

To answer your question from the other thread, I have UMS on the Stock Sense 6 ROM. The screenshots I took were from Bad Boyz HK Edition. I have a non-HK M8, Sprint variant. I'm not sure what other information you want from me, or how I could've "pretended" to have it by my screenshots. Believe what you want, I guess.

Android version, kernel version, hardware version, ROM version ...

Sens 6 is ambiguous; I have 6.0, so I assume there could be Sense 6.1 or 6.2.

Stock does not mean anything, because if your phone is branded by some company, the ROM can contain any modification, including kernel changes. When you say stock, you must specify "stock from where ?". I thought I had a pure HTC stock ROM, but in fact, I have found it was slightly modified by the phone provider who sold it to me (found my provider's name somewhere in some part of the ROM; twice in fact; once in the system ROM, and one in the GSM network lock. Network lock was expected; but brand name in ROM version was not). That's why exact ROM version is very important, with kernel version. Since you have one HK edition, and one Sprint, both your M8 seem very different from mine. So, your ROM and kernel versions probably differ from mine.

So, you have access to both HK and non HK editions ?

And recovery has nothing to do with /system. Absolutely unrelated. Dev who write recovery make their own kernel, and can do anything with it. Son whatever the system can't do, recovery could still do it. They just use different kernels, and different bins. To the point ... one friend used his recovery partition to ... install a legacy Debian in it (it was a failure, but that's not my point: at some time, he could get a classic shell, and even initiate phone calls ... from a pure legacy Debian ... 0% Android; it was a classic dual boot, with two systems as much different as Linux can be from Windows).
 
Last edited:

nodiaque

Senior Member
Oct 20, 2008
928
188
You must understand one thing: UMS is available only if you have an SDCard. You cannot have UMS for the internal SDCard (the one that you can't remove, like M7). The internal is only accessible through MTP.
 

Captain_Throwback

Recognized Developer
Android version, kernel version, hardware version, ROM version ...

Sens 6 is ambiguous; I have 6.0, so I assume there could be Sense 6.1 or 6.2.

Stock does not mean anything, because if your phone is branded by some company, the ROM can contain any modification, including kernel changes. When you say stock, you must specify "stock from where ?". I thought I had a pure HTC stock ROM, but in fact, I have found it was slightly modified by the phone provider who sold it to me (found my provider's name somewhere in some part of the ROM; twice in fact; once in the system ROM, and one in the GSM network lock. Network lock was expected; but brand name in ROM version was not). That's why exact ROM version is very important, with kernel version. Since you have one HK edition, and one Sprint, both your M8 seem very different from mine. So, your ROM and kernel versions probably differ from mine.

So, you have access to both HK and non HK editions ?

And recovery has nothing to do with /system. Absolutely unrelated. Dev who write recovery make their own kernel, and can do anything with it. Son whatever the system can't do, recovery could still do it. They just use different kernels, and different bins. To the point ... one friend used his recovery partition to ... install a legacy Debian in it (it was a failure, but that's not my point: at some time, he could get a classic shell, and even initiate phone calls ... from a pure legacy Debian ... 0% Android; it was a classic dual boot, with two systems as much different as Linux can be from Windows).
Android version: 4.4.2
Kernel version: 3.4.0 (the one that comes with the stock ROM)
Hardware version: 0005
ROM Version (I think you mean software version?): 1.54.651.10, 1.54.654.15 (these are the same, one is just for HK, the other is technically not)
Carrier: Sprint

To clarify, I do not have multiple devices. I have one Sprint device. I was simply running the HK software on my regular M8 because it's available. There are no hardware differences between the versions; it's just some software & firmware.

I know /system has nothing to do with recovery. I never said the two were related. I can use the same kernel from the stock ROM where UMS works in recovery, but there is still no UMS available there (the lun device simply doesn't mount). The recovery I use (TWRP, which I build from source) uses the same kernel source as the ROM, so no difference there.

Currently I'm running my GPE port which doesn't have UMS (only MTP), but I'm going to flash my stock rooted 1.54.651.10 and take a screen recording of the "USB File Sharing" mode I referred to previously. I don't like being accused of being a 'pretender' so that should alleviate any doubt. If it doesn't, then I'll have to say that you're beyond convincing and move on.
 

doublehp

Senior Member
Jul 14, 2009
271
46
I am perfectly clear with what an SD card is. A cat is not a dog. M7 does *NOT* have SD card. M7 does software emulation to comply with previous android standards; and this software emulation is not about emulating an SD reader; only about emulating the "classic mount point". Emulation of hardware would provide some /dev/block/mmcblk1 . M7 does not emulate a virtual mmcblk1. It only emulates /mnt/sdcard as being a moint point, by ... creating apropriate symlink.

By UMS, I am talking about ... converting the physical SD card reader into a SD-USB adapter.

And ... to go even further ... if I was an android dev (I am a linux dev; I just never installed the Android SDK), I could EASILY create an SD emulator for the M7, and implement UMS for M7, three ways:
- for fully unlocked phones, put the full mmcblk0 device in UMS via home made recovery
- for partly unlocked devices, at least /data partition via recovery
- for rooted devices, create a virtual block inside /data filesystem, and use it as source block for UMS

As of now, I know ebough about UMS to know that even the M7 could have UMS in various ways.

But, I don't want to install Android SDK, and, I don't want to dig in Android dev; I am not in mood to heavily hack my ROM; and I will try to stick to classic solutions, and stop doing things manually on my new phone. On my previous phones, I fixed many android issues wth home made shell scripts. I want to stop doing that. Use official kernels, and public projects.

If I just wanted my phone to be an SD adapter, i could build my own kernel, and do it in a few hours. But I decided that this phone would stay being a phone, and NOT become a hacking box like the previous one.
 

doublehp

Senior Member
Jul 14, 2009
271
46
Android version: 4.4.2
Kernel version: 3.4.0 (the one that comes with the stock ROM)
Hardware version: 0005
ROM Version (I think you mean software version?): 1.54.651.10, 1.54.654.15 (these are the same, one is just for HK, the other is technically not)
Carrier: Sprint

To clarify, I do not have multiple devices. I have one Sprint device. I was simply running the HK software on my regular M8 because it's available. There are no hardware differences between the versions; it's just some software & firmware.

I know /system has nothing to do with recovery. I never said the two were related. I can use the same kernel from the stock ROM where UMS works in recovery, but there is still no UMS available there (the lun device simply doesn't mount). The recovery I use (TWRP, which I build from source) uses the same kernel source as the ROM, so no difference there.

Currently I'm running my GPE port which doesn't have UMS (only MTP), but I'm going to flash my stock rooted 1.54.651.10 and take a screen recording of the "USB File Sharing" mode I referred to previously. I don't like being accused of being a 'pretender' so that should alleviate any doubt. If it doesn't, then I'll have to say that you're beyond convincing and move on.

Ah !!! VALUES !!!
Andro 4.4.2, same.
kernel 3.4.0-g0c47a10, [email protected] #1, SMP PREEMPT, you probably forgot the last part, or used a tool that does not provide it.
I don't have HW version in my phone (this is probably my ROM) - I know what it looks like, I had it on my previous phone. The thing that most looks like your HW version has for me the value "002"
ROM 1.54.1020.10 CL325784

Before update, I had ROM 1.54.1020.5

So, we do not have the same hardware (my HW is ver 01 or 002), and ... completely different ROM.

Would need you exact kernel version. If we have the same kernel, and your phone can do UMS, then, it's just a matter of messing stuff in /system (the two guilines I wuoted above may work). If we do not have the same kernel ... I won't even try those tricks: my kernel probably can't do it.

If TWRP is available from sources ... I will ask a friend to rebuild it for me ... including the stuff required for UMS (he can do it, 100% certain). Once he does the kernel, the rest is peace of cake in a recovery ROM.

Don't flash again. Just give me your kernel version. If the kernel is the same for your two ROMs, then, your two roms can have UMS; just a matter of tweaking the right things at the right place; in short, find the APK or system script that handles it, and copy it to the other ROM.

I would be interessed in downloading your two ROMs. Especially if one can do UMS, but not the other one. Whether they share the same kernel or not. I just don't know if I would have the patience to push them in my phone to see things by myself; but if I took the time, I may be able to extract the relevant bit of code, and try to copy it to my ROM. Issue is that I have only one phone; and it would mean ... spending 2 days on it, and not be able to use GSM at all for 2 or 3 days (no phone, no SMS). It would be interesting, but I am not sure I would really take time and efforts to do it.
 

DeathmonkeyGTX

Senior Member
Oct 15, 2007
2,083
609
Little Rock, AR
Android version: 4.4.2
Kernel version: 3.4.0 (the one that comes with the stock ROM)
Hardware version: 0005
ROM Version (I think you mean software version?): 1.54.651.10, 1.54.654.15 (these are the same, one is just for HK, the other is technically not)
Carrier: Sprint

To clarify, I do not have multiple devices. I have one Sprint device. I was simply running the HK software on my regular M8 because it's available. There are no hardware differences between the versions; it's just some software & firmware.

I know /system has nothing to do with recovery. I never said the two were related. I can use the same kernel from the stock ROM where UMS works in recovery, but there is still no UMS available there (the lun device simply doesn't mount). The recovery I use (TWRP, which I build from source) uses the same kernel source as the ROM, so no difference there.

Currently I'm running my GPE port which doesn't have UMS (only MTP), but I'm going to flash my stock rooted 1.54.651.10 and take a screen recording of the "USB File Sharing" mode I referred to previously. I don't like being accused of being a 'pretender' so that should alleviate any doubt. If it doesn't, then I'll have to say that you're beyond convincing and move on.

Sir, if you can figure out how to get ums on gpe m8 I'll give you twenty bucks, maybe more depending on my mood.

Sent from my HTC One_M8 using XDA Premium 4 mobile app
 

Captain_Throwback

Recognized Developer
Ah !!! VALUES !!!
Andro 4.4.2, same.
kernel 3.4.0-g0c47a10, [email protected] #1, SMP PREEMPT, you probably forgot the last part, or used a tool that does not provide it.
I don't have HW version in my phone (this is probably my ROM) - I know what it looks like, I had it on my previous phone. The thing that most looks like your HW version has for me the value "002"
ROM 1.54.1020.10 CL325784

Before update, I had ROM 1.54.1020.5

So, we do not have the same hardware (my HW is ver 01 or 002), and ... completely different ROM.

Would need you exact kernel version. If we have the same kernel, and your phone can do UMS, then, it's just a matter of messing stuff in /system (the two guilines I wuoted above may work). If we do not have the same kernel ... I won't even try those tricks: my kernel probably can't do it.

If TWRP is available from sources ... I will ask a friend to rebuild it for me ... including the stuff required for UMS (he can do it, 100% certain). Once he does the kernel, the rest is peace of cake in a recovery ROM.

Don't flash again. Just give me your kernel version. If the kernel is the same for your two ROMs, then, your two roms can have UMS; just a matter of tweaking the right things at the right place; in short, find the APK or system script that handles it, and copy it to the other ROM.

I would be interessed in downloading your two ROMs. Especially if one can do UMS, but not the other one. Whether they share the same kernel or not. I just don't know if I would have the patience to push them in my phone to see things by myself; but if I took the time, I may be able to extract the relevant bit of code, and try to copy it to my ROM. Issue is that I have only one phone; and it would mean ... spending 2 days on it, and not be able to use GSM at all for 2 or 3 days (no phone, no SMS). It would be interesting, but I am not sure I would really take time and efforts to do it.
vabyvu7y.jpg
ze5ade8y.jpg
e4y7amaq.jpg
bu2e5utu.jpg


---------- Post added at 07:54 PM ---------- Previous post was at 07:37 PM ----------

The kernel source for this is available on HTCDev, as it is with all the M8 variants. None of the kernels (as-is) will get UMS working in recovery, though.

The Sprint variant uses a different defconfig than the GSM version, so perhaps whatever is different between the two is what is making the difference. It's also possibly a userspace difference, since the CDMA carriers like/need to customize the ROM a bit more for everything to work.

I'm just surprised that not all of the M8 Sense ROMs include the Disk Drive option.
 
Last edited:

doublehp

Senior Member
Jul 14, 2009
271
46
Sir, if you can figure out how to get ums on gpe m8 I'll give you twenty bucks, maybe more depending on my mood.

Sent from my HTC One_M8 using XDA Premium 4 mobile app

I have asked Galoula ( https://play.google.com/store/apps/developer?id=Galoula ) if he can help us. Explaind him what I think about the topic. The easiest way, to me, is to take TWRP from sources, and rebuild kernel, adding the required symbols; TWRP being a recovery, the rest should be peace of cake. It's small, and actions have low impact; in a recovery, if things break, you see it at once; there are no 32th level side effects you discover 6 months later. Yes, requires reboot; that's acceptable to me. I prefer fixing this in few days of work, and keep my ROM as is, rather than spending weeks or months tracking side effects of messing MTP in /system.

Galoula is busy for now; may take 2 or 3 weeks before he rebuilds TWRP.

The aim of recovery is to flash /system. I can't see how re-adding UMS to TWRP could possibly break flashing /system; it may break other things; but I really don't mind. It would break more things if we try to fix /system. So, if I bring you a new TWRP, it's Galoula you shall thank. He is going to do the dirty work.
 

doublehp

Senior Member
Jul 14, 2009
271
46
The kernel source for this is available on HTCDev, as it is with all the M8 variants. None of the kernels will get UMS working in recovery, though.

The Sprint variant uses a different defconfig than the GSM version, so perhaps whatever is different between the two is what is making the difference. It's also possibly a userspace difference, since the CDMA carriers like/need to customize the ROM a bit more for everything to work.

I'm just surprised that not all of the M8 Sense ROMs include the Disk Drive option.

UMS used to work in recovery in my previous phone (htc sensation, stock with android 2.2). Why do you think it could not work in recovery for M8 ?

Very interesting screens; mine is completely different. I don't think any one is interessed in detailed screenshots from a non working phone.

If you say that both yours, and my kernels can be downloaded from HTC ... *with the conf*, then I will have a look. But build will be done by Galoula anyway.
 

DeathmonkeyGTX

Senior Member
Oct 15, 2007
2,083
609
Little Rock, AR
Gpe isn't aosp so I had some hope. My m8 is a gpe from the play store, not a rom or ruu. Even if it just worked in a version of twrp that would be fine, it's rare when I need ums but often enough to where I'd gleefully spend $20 on it.

Sent from my HTC One_M8 using XDA Premium 4 mobile app
 

andreasyeah

Senior Member
Feb 14, 2012
128
59
Bristol
In case any of you is interested taking a look, I think the apk which is responsible for MTP and UMS is MediaProvider.apk

Sent from my HTC One_M8 using XDA Premium 4 mobile app
 

doublehp

Senior Member
Jul 14, 2009
271
46
Hello. I have a semi good news.

My view of the world changed tonight.

I received a message from andreasyeah telling me to try https://play.google.com/store/apps/details?id=com.softwarebakery.drivedroid&hl=en ... and it's amazing. He also recommends to use ElementalX kernel.

First, what UMS was for me untill yesterday ? Use my phone as SD to USB card adapter, and, make my PC able to read and write on SD, as if SD was in a legacy USB card reader. Plug phone, android unmounts sd, and pushes SD to USB, and PC can mount the SD, and do whatever it wants to it.

Whatever used to include .. repartition, reformat, and, some some of my friends like Galoula ... install a MBR on SD, so that, when any PC is broken, he can boot the PC by just plugging the phone. His phone became a classic external disk. Android could partly read the SD, with limitations (legacy android can only read first partition in FAT; having fat on non first part, and, reading non FAT partitions requires ... manual operations).

This app does things a completely differen way. To make the story short ... it downloads an ISO over internen, store it in your phone (at any place you like, any folder), and, presents this ISO as a USB-CD. Emulates the USB-CD, and provides the media inside. App let you choose amongst large choice of distributions, install CD, and live CDs. The last option is to ask the app to create an empty drive, and, eventually, format it in FAT.

Negs:
- phone is no more a SD adapter
- copying files from phone to PC requires to manually mount the FAT block, copy, unmount; then, the app will show it as a CD
- copying from PC to phone requires a CD burning soft, and will erease the whole block
- the process can fail at many places. Phone can fail to emulate the CD. PC can fail to detect it. But, in most case, PC will fail to see partitions inside the CD. Also, for me, boot failed on two computers (BIOS could see the USB CD drive, but boot failed without reason)
- apps only emulates a CD; so, in short, the volume is READ ONLY. Except for CDRW softs.

Advantages:
- can work for phones that do not have SD slot
- can store as many boot sections as you want.
- include a large pannel of distributions, live CD, and other similar stuff
- provides partial workaround for people like us who are limited to MTP by default.
- UMS independant from SD
- images can be stored at any place in the phone (or even over network for me ^^ my phone mounts NFS, Samba, CIFS, SSHFS ... )

Apps has good design, and offers a variety of UMS implementations, and a blacklist for phones known to not work.

Success is heavily ROM and kernel dependant.

So, depending on the reasons why you want UMS ... this could be an alternative. Or not :)

I am going to test related apps over night; first needed to make my report for this one.
 
Last edited:
  • Like
Reactions: billqu

doublehp

Senior Member
Jul 14, 2009
271
46
https://play.google.com/store/apps/details?id=com.nextersoft.myusb

For Mac people who just want to transfer a few files. Free version is limited to 5MB/ day. It's a webserver with integrated upload service. Apk file is small. Nothing to setup. Start app on phone, open browser on PC. Does the job. Pro version is only $1 ... On phone side, it works in folder /mnt/sdcard/myusb/ .

There are other ways to do this. There are free webservers in which you can setup upload. This app does it all in one for you. At home, I do everything via NFS, sshfs, cifs, rsync, scp ... but ... when I am not home ... this app provides an EASY solution for file exchange. Especially when you just need to copy 2 or 3 files. It's fully compatible with just any network device. Did not try it, but I guess it shall work over wifi AP mode. Can be used as proxy, or temp host space between two other devices.

It could be done other ways, more efficiently, and for free. But, what I like in this app is ... works easily, defaults are fine, all in one, does the job, ultra easy upload (compared to other web-upload solutions I have seen). Not to be used daily for regular work; but very good rescue method when you need 100% compliance with exotic stuff. So, dispite the fact it looks completely off topic regarding ... UMS ... I still consider this as a relevant alternative. Previous post was about helping a PC to boot. This one is about "hell, my MAC does not stand MTP". The companion you need with this app is probably a zip archive software, when you need to work on large number of files.
 

doublehp

Senior Member
Jul 14, 2009
271
46
Here is a quick tuto from a friend:

echo 0 > /sys/class/android_usb/android0/enable
echo 22D9 > /sys/class/android_usb/android0/idVendor
echo 2767 > /sys/class/android_usb/android0/idProduct
echo adb,mass_storage > /sys/class/android_usb/android0/functions
echo /storage/sdcard1/debian.iso > /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
echo 1 > /sys/class/android_usb/android0/enable

Here is the interesting part:
[email protected]_m8:/storage/emulated/legacy # cat /sys/class/android_usb/android0/functions
mtp,adb,mass_storage

This means ... my kernel can do UMS. I will dig this later.

Sounds like this method can be used to simulate several devices at the same time: several HDD, several CDs ...
 
  • Like
Reactions: billqu

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    The phone doesn't offer UMS. Be disappointed all you want, it's not going to happen mate.
    1
    Hello. I have a semi good news.

    My view of the world changed tonight.

    I received a message from andreasyeah telling me to try https://play.google.com/store/apps/details?id=com.softwarebakery.drivedroid&hl=en ... and it's amazing. He also recommends to use ElementalX kernel.

    First, what UMS was for me untill yesterday ? Use my phone as SD to USB card adapter, and, make my PC able to read and write on SD, as if SD was in a legacy USB card reader. Plug phone, android unmounts sd, and pushes SD to USB, and PC can mount the SD, and do whatever it wants to it.

    Whatever used to include .. repartition, reformat, and, some some of my friends like Galoula ... install a MBR on SD, so that, when any PC is broken, he can boot the PC by just plugging the phone. His phone became a classic external disk. Android could partly read the SD, with limitations (legacy android can only read first partition in FAT; having fat on non first part, and, reading non FAT partitions requires ... manual operations).

    This app does things a completely differen way. To make the story short ... it downloads an ISO over internen, store it in your phone (at any place you like, any folder), and, presents this ISO as a USB-CD. Emulates the USB-CD, and provides the media inside. App let you choose amongst large choice of distributions, install CD, and live CDs. The last option is to ask the app to create an empty drive, and, eventually, format it in FAT.

    Negs:
    - phone is no more a SD adapter
    - copying files from phone to PC requires to manually mount the FAT block, copy, unmount; then, the app will show it as a CD
    - copying from PC to phone requires a CD burning soft, and will erease the whole block
    - the process can fail at many places. Phone can fail to emulate the CD. PC can fail to detect it. But, in most case, PC will fail to see partitions inside the CD. Also, for me, boot failed on two computers (BIOS could see the USB CD drive, but boot failed without reason)
    - apps only emulates a CD; so, in short, the volume is READ ONLY. Except for CDRW softs.

    Advantages:
    - can work for phones that do not have SD slot
    - can store as many boot sections as you want.
    - include a large pannel of distributions, live CD, and other similar stuff
    - provides partial workaround for people like us who are limited to MTP by default.
    - UMS independant from SD
    - images can be stored at any place in the phone (or even over network for me ^^ my phone mounts NFS, Samba, CIFS, SSHFS ... )

    Apps has good design, and offers a variety of UMS implementations, and a blacklist for phones known to not work.

    Success is heavily ROM and kernel dependant.

    So, depending on the reasons why you want UMS ... this could be an alternative. Or not :)

    I am going to test related apps over night; first needed to make my report for this one.
    1
    Here is a quick tuto from a friend:

    echo 0 > /sys/class/android_usb/android0/enable
    echo 22D9 > /sys/class/android_usb/android0/idVendor
    echo 2767 > /sys/class/android_usb/android0/idProduct
    echo adb,mass_storage > /sys/class/android_usb/android0/functions
    echo /storage/sdcard1/debian.iso > /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
    echo 1 > /sys/class/android_usb/android0/enable

    Here is the interesting part:
    [email protected]_m8:/storage/emulated/legacy # cat /sys/class/android_usb/android0/functions
    mtp,adb,mass_storage

    This means ... my kernel can do UMS. I will dig this later.

    Sounds like this method can be used to simulate several devices at the same time: several HDD, several CDs ...
    1
    Not sure if you're still trying to figure this out, but I got UMS working in TWRP ;). Link is in my sig.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone