repeatWhenでfilterを使ってもonCompletedは呼ばれない

掲題の通りです TL;DR Observable#repeatWhen使って複雑な繰り返し判定するときはObservable#filterじゃなくてObservable#takeWhileを使うとonCompletedまで呼ばれる 大量のデータをローカルに同期するAPIがあって、ページングの要領で複数回APIを叩いてすべてのデータを同期するとします。 こんな感じのコードなら動きます。 boolean isLoading = false; public Completable sync() { return Observable.defer(() -> { if (isLoading) { return Observable.empty(); } isLoading = true; return syncData() }) .repeatWhen(observable -&

CircleCIでDocker v1.10.0を使う

CircleCIに入ってるDocker、ちょっとバージョンが古いみたいでdocker runとかdocker pullとかするとhub.docker.comではなくdocker.ioに見に行ってしまいます。 で、docker.ioはすでに廃止されているのでdocker.comにリダイレクトされ、docker.comの下に指定したimageがあるかどうか確認してしまうので、下記のようなエラーになってしまいます。 Pulling repository docker.io/yshrsmz/docker-whale Tag latest not found in repository docker.io/yshrsmz/docker-whale で、どうにか新しいDocker使いたいな〜と思っていろいろ試してたら、

通知エリアからツイートするAndroidアプリ、Monotweetyを公開した(コードもあるよ)

掲題のとおり、アプリをGoogle Play Storeに公開しました。 今回はコードもGitHubで公開してます。Apache v2です。 名前は"Monotweety"。「モノツイーティ」と読みます。 機能はホントにシンプルで、「通知エリアからツイートする」だけです。 実際のところ通知エリアからツイートできるのはAndroid 7.0以降の端末だけで、それ未満の端末では通知をタップすると編集ダイアログが表示されます。 通知から 直でツイート Android 7.0未満ではダイアログから モチベーション ひとりごとみたいにツイートすることが多いのでツイート特化型アプリがほしい 既存の通知エリアからツイートできるアプリは古くてメンテされてるか不明なものばかり 今風のかっこいいデザインのアプリがほしい Android NでDirect Reply(通知から直で返信できる機能)が追加 ->

Recovery/FastbootモードのAndroid端末をUbuntuに認識させる

普通に起動してるぶんには何もしなくてもadb devicesで認識してくれてたけど、OTA zipをsideloadしようと思ってリカバリモードで起動したらPermission denied的なエラーが出て認識してくれなかった。 調べてみたらudevの設定が必要なようだった。 手順としては下記の通り。 1. リカバリモードで起動 $ adb reboot recovery 2. lsusbで端末のidを取得 $ lsusb > Bus 002 Device 009: ID 18d1:4ee2 Google Inc. Nexus 4 (debug) この場合、18d1がidVendorで、4ee2がidProduct。 3. 上記手順でわかったidで/