# TIP: Activation UI and the Builder Pattern

DevFeed: [TIP: Activation UI and the Builder Pattern](<https://devfeed.tech/articles/tip-activation-ui-and-the-builder-pattern-19560.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/tip-activation-ui-builder-pattern/>)

Author: Shai Almog

Published: 2017-10-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [ui](<https://devfeed.tech/topics/ui.md>), [twilio api](<https://devfeed.tech/topics/twilio-api.md>), [Android](<https://devfeed.tech/topics/android.md>), [interception](<https://devfeed.tech/topics/interception.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [code](<https://devfeed.tech/tags/code.md>), [interception](<https://devfeed.tech/tags/interception.md>), [json](<https://devfeed.tech/tags/json.md>), [rest](<https://devfeed.tech/tags/rest.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [svg](<https://devfeed.tech/tags/svg.md>), [transcoder](<https://devfeed.tech/tags/transcoder.md>), [twilio-api](<https://devfeed.tech/tags/twilio-api.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ui-ux](<https://devfeed.tech/tags/ui-ux.md>)

## AI overview

A tutorial on combining Twilio REST SMS calls with Android SMS interception into a single builder-based API for an SMS activation flow. It explains how the builder exposes a customizable UI while hiding implementation details, including country selection and flag assets.

## Source excerpt

I wrote two posts about the SMS activation process. In the first I discussed using the Twilio API via REST and in the second I discussed the native interfaces for SMS interception we can use in Android. Now it's time to put this all together and create a single API that's fluid. It should include the full UI process but be flexible enough to let you design your own experience.