Skip to content

Instantly share code, notes, and snippets.

View piotrmadry's full-sized avatar

Piotr Mądry piotrmadry

View GitHub Profile
private void loadWebPage(final String pageUrl) {
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(final WebView view, final String url) {
injectJS(view);
}
});
webView.loadUrl(pageUrl);
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "Zumba's API",
"description": "Documentation about Zumba's API.",
"contact": {
"name": "Zumba Engineering Team",
"email": "engineering@zumba.com",
"url": "https://tech.zumba.com"
@Override
public void onCreate() {
applicationComponent = initializeAppComponent();
applicationComponent.inject(this);
}
protected AppComponent initializeAppComponent() {
return DaggerAppComponent.builder()
.applicationModule(new ApplicationModule(this))
.build();
public class TestsApp extends App {
@Override
protected AppComponent initializeAppComponent() {
return DaggerAppComponent.builder()
.applicationModule(new MockApplicationModule(this))
.databaseModule(new DatabaseModule())
.networkModule(new MockNetworkModule())
.picassoModule(new PicassoModule())
.androidModule(new AndroidModule())
public class MockTestRunner extends AndroidJUnitRunner{
@Override
public void onCreate(Bundle arguments) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());
super.onCreate(arguments);
}
@Override
public Application newApplication(ClassLoader cl, String className, Context context)
throws InstantiationException, IllegalAccessException, ClassNotFoundException {
android {
...
defaultConfig {
...
testInstrumentationRunner ".MockTestRunner"
}
}
class FragmentToolbar(@IdRes val resId: Int,
@StringRes val title: Int,
@MenuRes val menuId: Int,
val menuItems: MutableList<Int>,
val menuClicks: MutableList<MenuItem.OnMenuItemClickListener?>) {
companion object {
@JvmField val NO_TOOLBAR = -1
}
class ToolbarManager constructor(
private var builder: FragmentToolbar,
private var container: View) {
fun prepareToolbar() {
if (builder.resId != FragmentToolbar.NO_TOOLBAR) {
val fragmentToolbar = container.findViewById(builder.resId) as Toolbar
if (builder.title != -1) {
fragmentToolbar.setTitle(builder.title)
abstract class BaseFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
ToolbarManager(builder(), view).prepareToolbar()
}
protected abstract fun builder(): FragmentToolbar
}
@Override
protected FragmentToolbar builder() {
return new FragmentToolbar.Builder()
.withId(R.id.toolbar)
.withTitle(R.string.toolbar_title)
.onHomePressedDefaultAction()
.build();
}