Tuesday, March 03, 2015

Hacker Workarounds for Lollipop on the Galaxy S5

I know I should be excited that my Galaxy S5 picked up Lollipop, but so far, it's been a bigger headache than help. Let's see:

Terminal IDE, the command line Swiss Army Knife, is now broken. I get this gem of a message when I use vi and various git commands:

(That reads: error: only position independent executables (PIE) are supported.)

Terminal IDE was my Goto Tool for both ssh and git. I used vi for quick edits, but Droid Edit is my main tool of choice for editing source code on my device. For git replacement, I'm now depending on Droid Edit's built in git support. And if that isn't flexible enough, I'll probably end up buying Pocket Git which is by the same author as Droid Edit.

As an ssh replacement, I've found vSSH to be the ideal option. There are a number of slick ssh options out there, like JuiceSSH and the classic ConnectBot, but I've found that they don't play nice with my Bluetooth Keyboard setup. vSSH Just Works, and allows me to use all the keyboard commands I'd expect.

Blocking Mode is gone. Well, mostly. It appears that Interruptions has replaced Blocking Mode, which I don't really get. Perhaps this makes sense because Blocking Mode was a Samsung thing and Interruptions is pure Android? Or maybe Interruptions is better? All I know is that Blocking Mode is no longer found in the settings menu. However, it's not completely gone. From within Tasker you can manage Blocking Mode by using:

  Actions > Plugins > Secure Settings > Configuration > 
    Custom ROM Actions > Samsung Modes > Blocking Mode

Though it's probably smarter to get rid of any calls you have to Blocking Mode and use the built in Interruptions Capability. Within Tasker, you can access this as follows:

 Actions > Audio > Interrupt Mode

There are a bunch of older posts on the web that imply that Tasker doesn't interact properly with the Interruption facility. That's all dated, the most recent version of Tasker has no problem with interruptions.

Silent Mode in Tasker is now a trap. I had a bunch of tasks that invoked: Actions > Audio > Silent Mode. When they executed and turned Silent Mode on, the system switched into Priority access only. That's reasonable, as Silent Mode is no longer available in Lollipop. The catch comes when you turn Silent Mode off. This is effectively a no-op, and doesn't re-enable interruptions.

Consider this example: I've got this task setup:

 Orientation: Face Down
  → Notification Volume 0
         System Volume 0
         Silent Mode On
  ← Notification Volume 7
         System Volume 7
         Silent Mode Off

Before I understood how broken Silent Mode was, I'd flip my phone over and it would switch into priority interruptions. I'd then flip my phone back and it would remain in priority interruptions. This left me baffled: why on Earth was my device switching into this Priority only mode. I replaced any calls with Silent Mode with calls to Interrupt Mode, and I'm good to go.

Finally, a question: Which browser should I be using on my device? The built in Internet app has support for saving pages locally. That's huge for working on ProgrammingPraxis problems mid plan flight. But the Chrome app has the new and improved Chrome Window support, which I'd like to take for a spin. So, which browser do you use? Why can't Chrome support saving pages locally?


  1. I still have kitkat and haven't updated because of the PIE thing. I also use Terminal IDE, BASH, SSH, RSYNC and VIM a LOT. Do you know any similar thing to Terminal IDE that comes with those? In particular, I do need RSYNC.

    It is sad to see Android getting more and more distance from Linux.

  2. > It is sad to see Android getting more and more distance from Linux.

    There's actually good news in this department - GNUroot. So while I can no longer use Terminal IDE, I can use full on linux. It's absolutely amazing and powerful GNUroot is.

    Definitely worth checking out.