Navigation Component with a Shapeshifting Fragment

I started playing around with the Navigation Architecture Component for Android. I work on an app with complicated navigation that relies on the back stack for nested fragments and deep links. Different users can experience different interfaces, reach areas through various paths and jump around from the drawer and bottom nav. There’s a lot of data passed in and out, and transitions can be overridden to keep everything pretty. Needless to say, I’m skeptical of anything flexible enough for all this.

Screenshot

As my first test, I wanted to try to use the Navigation Component for Fragment A going to Fragment B. The latter will be a form that has 4 states of its own—that is, it has text, fields and buttons that show or hide using animateLayoutChanges for effect. An example of this might be a product intro fragment (A), going to a fragment (B) that quadruples as the forms for signup (B1), signin (B2), forgot password (B3) and more-info (B4) screens.

The navigation graph can be represented as A->B1 [->B2->B3, ->B4].

Read More

Vert.x with Self-Signed SSL Cert

I recently noticed that my android app could no longer talk SSL directly to my Vert.x server (using a self-signed cert since it’s just for me). The client exception was:

    javax.net.ssl.SSLPeerUnverifiedException: Hostname example.com not verified

It turns out, Android 9 includes a documented change that requires certs to include a subjectAltName field.

Read More

Vert.x with IntelliJ on Windows

If you use Vert.x with IntelliJ, you may have found yourself frequently running jps and taskkill to clear out all of the extraneous io.vertx.core.Launcher processes. I do this every time I re-run my projects—seriously, is it just me?

But I may have just come up with a solution!

Read More