Skip to content

Instantly share code, notes, and snippets.

@oldergod
oldergod / 01_Activity.java
Last active July 25, 2023 05:49
Managing RxState Ending point
/**
* Many things are omitted to focus on the relevant data.
*/
public class Activity extends AppCompatActivity {
Binder binder;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
Object lastCustomNonConfigInstance = getLastCustomNonConfigurationInstance();
if (lastCustomNonConfigInstance != null) {
binder = (Binder) lastCustomNonConfigInstance;
@oldergod
oldergod / XmlOrJsonConverterFactory.java
Last active July 6, 2023 23:48
Retrofit: Xml or Json converter
public class XmlOrJsonConverterFactory extends Converter.Factory {
final Converter.Factory xml = SimpleXmlConverterFactory.create();
final Converter.Factory gson = GsonConverterFactory.create();
@Override
public Converter<ResponseBody, ?> responseBodyConverter(
Type type, Annotation[] annotations, Retrofit retrofit) {
// Retrofit gives us all the annotations so we just need to check
for (Annotation annotation : annotations) {
@oldergod
oldergod / hyperlink.js
Created November 18, 2020 01:43
Hyperlink on slack
@oldergod
oldergod / AndroidViewEvent.kt
Created September 18, 2019 13:01
Android view events for tests
import com.jakewharton.rxrelay2.PublishRelay
import io.reactivex.Observable
import io.reactivex.Observer
import org.junit.rules.TestRule
import org.junit.runner.Description
import org.junit.runners.model.Statement
/**
* [PublishRelay]-like [Observable] enforcing:
* 1. a unique observer at a time, and
@oldergod
oldergod / 01_Activity.java
Last active January 19, 2018 22:19
Managing RxState Starting point
/**
* Many things are omitted to focus on the relevant data.
*/
public class Activity extends AppCompatActivity {
Binder binder;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
bind();
}
@oldergod
oldergod / DataBindingAdapters.java
Last active March 30, 2017 06:07
DataBinding with <include> tags
public class DataBindingAdapters {
@BindingAdapter("visible") public static void setVisibility(View view, boolean isVisible) {
view.setVisibility(isVisible ? VISIBLE : GONE);
}
}
@oldergod
oldergod / LoginContextUnwrappingConverter.java
Last active December 6, 2016 00:44
Retrofit and envelopes
public class LoginContextUnwrappingConverter extends Converter.Factory {
@Override
public Converter<ResponseBody, LoginContext>
responseBodyConverter(Type type,
Annotation[] annotations,
Retrofit retrofit) {
if (type != LoginContext.class) {
return null;
}
@oldergod
oldergod / keybase.md
Created November 2, 2016 01:16
keybase auth

Keybase proof

I hereby claim:

  • I am oldergod on github.
  • I am oldergod (https://keybase.io/oldergod) on keybase.
  • I have a public key whose fingerprint is 8B6C 86DC 67D8 0CE9 B1C8 2822 AADC 8990 FC32 3E48

To claim this, I am signing this object:

@oldergod
oldergod / DevFest16.tokyo.report.md
Last active October 11, 2016 01:58
DevFest16 東京のレポート

DevFest16 東京

個人的にUKオフィスのグーグラーが来る事が一番ワクワクだったポイントである。

BTW:グーグラーはipassというサービスを使ってインターネットに接続してた。

面白いセッションのピックアップとのまとめ

Living Life on the Edge / Chris Banes

@oldergod
oldergod / AndroidBuildTips.md
Last active August 19, 2016 03:46
IntelliJ Tipsまとめ

Android Building

  • multiDex が必要な時に、 multiDexEnabled true にする事。
    • minSdk が < 21 なら開発用の flavor を minSdk ≧ 21 にする。
  • Gradle Android プラグインを最新にする事。
  • Gradle の heap をあげていく!
    • gradle.properties にて org.gradle.jvmargs=-Xmx4048m -XX:MaxPermSize=512m
  • Instant Run を有効化する。
    • 無駄に AndroidManifest とかを各ビルドに弄らない。