ツイッターのAndroid版のクライアントアプリにバグがあったので、動きを確認してみました。
まずどんなバグが発生したかということですが、操作していると下の画像のような状態になりました。
実際のソースコードは見れませんので、実機の動きからこのような動きにっているのではないかという推察です。
まず発生させる方法をまとめました。
1.プロフィールを表示する
2.ツイートを下の方をに下げていく
3.メディアに画面を遷移させる
4.画面を上に移動させ、プロフィールの文章を表示する
5.ツイートを押してツイートの表示に遷移する
すると(1)と(2)が重なった画面が表示される。
これはメディアだけでなくいいねのタブでも発生しました。
ではなぜこのような動きになるかですが、以下の理由がかんがえられます。
プロフィール情報が表示されている場合、プロフィールを表示しツイートの部分を切り替えて表示する
ツイートに戻った場合は元の場所に戻す。
プロフィール情報が表示されていない場合、ツイート部分にメディアやいいねのリストの先頭を表示する。
ツイートに戻った場合はプロフィールが表示されている場合と同様に元の場所で表示する。
なのでメディアやいいねの表示をした後に、プロフィールを表示して戻るとツイートの一覧が表示された状態になる。
しかし、画面の切替はツイートやメディア、いいねの部分を入れ替えているだけなのでプロフィールが消されない。
よって画面が重なってしまう状態が発生する。
ある程度画面を下げた場合しか発生しないのは、プロフィールの表示がどこまでの表示されるかが端末によるので、ある程度の距離がプロフィールとして判定されていると考えられます。
プロフィールが表示されていると判定された場合は元の位置にツイートを表示させる場合、画面を再描画か調整を行っている。
しかし、プロフィール外と判定された場合は元のツイートを調整を行わず表示されていると考えられます。
また、この状態になるのは外部との通信ができる時だけ発生していました。
通信ができない場合は、切り替えたタイミングで先頭に移動させるという処理もあると思われます。
おそらく、前回のツイッターのアプリの更新の時から発生していると思われます。
アプリを作る上で行いそうな操作で発生しているので、端末でのテストが抜けていたのかと思います。
ちなみにAndroid4.2の端末で発生しました。その他のバージョンの端末が手持ちににないので、確認は取れていませんが、おそらくその他のバージョンでも発生するのではないかと思います。
以上。
2016/8/7 バグが治っているのを確認しました