Simple Horizontal Divider Item Decoration for RecyclerView
mRecyclerView.addItemDecoration(new SimpleDividerItemDecoration(
getApplicationContext()
));
NOTE: Add item decoration prior to setting the adapter
/* | |
* Copyright (C) 2014 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software |
/** | |
* ItemDecoration implementation for equal padding between the list items except first and last items. | |
* @author Ryan Amaral | |
* @version 1.0 | |
*/ | |
public class PaddingItemDecoration extends RecyclerView.ItemDecoration { | |
private int mPaddingPx; | |
private int mPaddingEdgesPx; |
import android.content.Context; | |
import android.content.res.TypedArray; | |
import android.graphics.Canvas; | |
import android.graphics.Rect; | |
import android.graphics.drawable.Drawable; | |
import android.support.v7.widget.LinearLayoutManager; | |
import android.support.v7.widget.RecyclerView; | |
import android.util.AttributeSet; | |
import android.view.View; |
/* | |
* Copyright (C) 2014 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software |
//in test | |
protected void setUp() throws Exception { | |
super.setUp(); | |
Espresso.registerIdlingResources(new BetterIdlingResource()); | |
public class BetterIdlingResource implements IdlingResource, BetterExecutionBridge { |
#!/usr/bin/env bash | |
TCPDUMP_PID="" | |
SOCAT_PID="" | |
OUTPUT_FILE="" | |
PORT=12345 | |
TMPDIR="." | |
TCPDUMP_PATH="/data/local/tmp/xbin/tcpdump" | |
NETCAT_PATH="/data/local/tmp/nc" | |
HOST_INTERFACE="en0" |
(by @andrestaltz)
So you're curious in learning this new thing called Reactive Programming, particularly its variant comprising of Rx, Bacon.js, RAC, and others.
Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:
Rx.Observable.prototype.flatMapLatest(selector, [thisArg])
Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.
input { | |
file { | |
type => iis | |
path => /Users/sic/works/logs/*.log | |
} | |
} | |
filter { | |
#ignore log comments | |
if [message] =~ ^# { |
SearchResponse searchResponse = client.prepareSearch() | |
.setQuery(matchAllQuery()) | |
.setSize(35) | |
.setScroll(TimeValue.timeValueMinutes(2)) | |
.addSort("field", SortOrder.ASC) | |
.execute().actionGet(); | |
assertThat(searchResponse.hits().getTotalHits(), equalTo(100l)); | |
assertThat(searchResponse.hits().hits().length, equalTo(35)); |