[{PageViewPlugin}] [Emergency Situation Sharing Tool] !!!Abstract This sample application seems to provide various good functions such as real time tweet search and notification. They should be studied. !!!Topics Target->[1] !!全般 *サポート |このサンプルは、Twitter社の公式なものであるが、サポートをやめるというアナウンスが。。。[2] *スタート画面はどこだ?→TwitterSampleActivity.java *Notification、Leaksってなんだ。 |SampleApplication.javaでLeakCanary.install(this);って発見。どうもメモリリークを探すプログラムらしい。 !!認証 *Oauth→TwitterCoreMainActivity.java |これはいつOauthしてるんだろう。[GMAILの時|Send Message by Gmail in Android]のように[Android]のAccoutManagerを使っているのか?TwitterAuthClientというのを使っているようだが。。 Twitter.initialize(this);はSampleApplication.javaで実行している。 |app/twitter.propertiesを呼び出すのはいつ?gradleに記述されているように見える。ESSTが使っているkeyを確認したほうがいい。 !!Search Tweet |いろいろとTweetを取りに行くのにも種類がある。 |Oauthとはどういう関係か? *TimelineActivity |だれのTweetを持ってきているのか?なんかゲストユーザで#twitterでの検索範囲を表示しているように見える。もしかしてOauthしなくても取得できるTweetがあるのか? |com.twitter.sdk.android.tweetuiパッケージのSearchTimelineクラスをどう使うかがキーっぽい。これは、最終的にはどこにライブラリがあるのか?->MAVENのレポジトリにちゃんとありそう。ってESSTですでに使っている。 |listviewにTweetTimelineListAdapterをセットしているところまでわかるが、どこでTweetを検索しているんだろう。そうだscreenname変えてみよう。 |サンプルアプリ動かしてもSearchTimelineは動いていないように見える。UserTimelineFragment.javaのUserTimelineクラスを調べよう。 *UserTimelineFragment |UserTimelineのBuilderのスクリーンネームをyurekuruにすると結構出てくる。これをESSTに適用したい。アダプターをセットしてから何をしたらいいかわからない。。。何をキックに探しに行くんだろう。Listに追加する動作はどう記述するのか? ちなみにFragmentにadapterをセットする瞬間は、サイズ0.別スレッドで下記のStatusesServiceのGETコマンドが発信され、受け取ってからこのアダプター経由で設定するのだろう。そのタイミングはいつだ。。どう捕まえればいいのか。 *StatusesService |StatusesServiceというインタフェースがある。この中で以下のGETコマンドが発信されている。 {{{ D/OkHttp: --> GET https://api.twitter.com/1.1/statuses/user_timeline.json?tweet_mode=extended&include_cards=true&cards_platform=TwitterKit-13&screen_name=nasa&count=30&trim_user=false&exclude_replies=true http/1.1 }}} |UserTimeline.createUserTimelineRequest()でgetStatusesService()が呼び出されている。このリクエストの帰りにTweetのリストがあるように見える。どこから呼ばれるのか?検索かけてもUserTimelineからしか呼ばれていないように見える。このcreateUserTimelineRequest()はprivateメソッド。 !!!References #[#1]Twitter, Inc., 2018年5月あたり, Twitter Kit for Android, [https://github.com/twitter/twitter-kit-android] #[#2]Neil Shah, 2018年10月30日, Discontinuing support for Twitter Kit SDK, [https://blog.twitter.com/developer/en_us/topics/tools/2018/discontinuing-support-for-twitter-kit-sdk.html]