投稿後のリフレッシュでぬるぽが出る場合がある問題の修正
This commit is contained in:
parent
c6220f195a
commit
f8376f4260
|
@ -1005,7 +1005,6 @@ class Column {
|
||||||
case TYPE_FAVOURITED_BY:
|
case TYPE_FAVOURITED_BY:
|
||||||
return parseAccountList( client, String.format( Locale.JAPAN, PATH_FAVOURITED_BY, status_id ) );
|
return parseAccountList( client, String.format( Locale.JAPAN, PATH_FAVOURITED_BY, status_id ) );
|
||||||
|
|
||||||
|
|
||||||
case TYPE_CONVERSATION:
|
case TYPE_CONVERSATION:
|
||||||
|
|
||||||
// 指定された発言そのもの
|
// 指定された発言そのもの
|
||||||
|
@ -1647,8 +1646,6 @@ class Column {
|
||||||
case TYPE_FAVOURITED_BY:
|
case TYPE_FAVOURITED_BY:
|
||||||
return getAccountList( client, String.format( Locale.JAPAN, PATH_FAVOURITED_BY, status_id ) );
|
return getAccountList( client, String.format( Locale.JAPAN, PATH_FAVOURITED_BY, status_id ) );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case TYPE_PROFILE:
|
case TYPE_PROFILE:
|
||||||
if( who_account == null ){
|
if( who_account == null ){
|
||||||
parseAccount1( client.request(
|
parseAccount1( client.request(
|
||||||
|
@ -1766,8 +1763,8 @@ class Column {
|
||||||
if( bBottom ){
|
if( bBottom ){
|
||||||
list_data.addAll( list_new );
|
list_data.addAll( list_new );
|
||||||
fireShowContent();
|
fireShowContent();
|
||||||
if( holder != null ){
|
|
||||||
//noinspection ConstantConditions
|
if( sp != null ){
|
||||||
holder.setScrollPosition( sp, 20f );
|
holder.setScrollPosition( sp, 20f );
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
@ -1792,22 +1789,19 @@ class Column {
|
||||||
|
|
||||||
if( status_index >= 0 && refresh_after_toot == Pref.RAT_REFRESH_SCROLL ){
|
if( status_index >= 0 && refresh_after_toot == Pref.RAT_REFRESH_SCROLL ){
|
||||||
if( holder != null ){
|
if( holder != null ){
|
||||||
//noinspection ConstantConditions
|
holder.setScrollPosition( new ScrollPosition( status_index, 0 ), 0f );
|
||||||
sp.pos = status_index;
|
|
||||||
sp.top = 0;
|
|
||||||
holder.setScrollPosition( sp, 0f );
|
|
||||||
}else{
|
}else{
|
||||||
scroll_save.pos = status_index;
|
scroll_save = new ScrollPosition( status_index, 0 );
|
||||||
scroll_save.top = 0;
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
float delta = bSilent ? 0f : - 20f;
|
float delta = bSilent ? 0f : - 20f;
|
||||||
if( holder != null ){
|
if( sp != null ){
|
||||||
//noinspection ConstantConditions
|
|
||||||
sp.pos += added;
|
sp.pos += added;
|
||||||
holder.setScrollPosition( sp, delta );
|
holder.setScrollPosition( sp, delta );
|
||||||
}else{
|
}else if ( scroll_save != null ){
|
||||||
scroll_save.pos += added;
|
scroll_save.pos += added;
|
||||||
|
}else{
|
||||||
|
scroll_save = new ScrollPosition( added,0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2085,7 +2079,6 @@ class Column {
|
||||||
case TYPE_FAVOURITED_BY:
|
case TYPE_FAVOURITED_BY:
|
||||||
return getAccountList( client, String.format( Locale.JAPAN, PATH_FAVOURITED_BY, status_id ) );
|
return getAccountList( client, String.format( Locale.JAPAN, PATH_FAVOURITED_BY, status_id ) );
|
||||||
|
|
||||||
|
|
||||||
case TYPE_MUTES:
|
case TYPE_MUTES:
|
||||||
return getAccountList( client, PATH_MUTES );
|
return getAccountList( client, PATH_MUTES );
|
||||||
|
|
||||||
|
@ -2207,9 +2200,11 @@ class Column {
|
||||||
if( holder != null ){
|
if( holder != null ){
|
||||||
setItemTop( restore_idx + added - 1, restore_y );
|
setItemTop( restore_idx + added - 1, restore_y );
|
||||||
}else{
|
}else{
|
||||||
|
if( scroll_save != null ){
|
||||||
scroll_save.pos += added - 1;
|
scroll_save.pos += added - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
AsyncTaskCompat.executeParallel( task );
|
AsyncTaskCompat.executeParallel( task );
|
||||||
|
|
|
@ -460,11 +460,11 @@ class ColumnViewHolder
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveScrollPosition(){
|
private void saveScrollPosition(){
|
||||||
column.scroll_save = null;
|
|
||||||
if( listView.getVisibility() == View.VISIBLE ){
|
if( listView.getVisibility() == View.VISIBLE ){
|
||||||
if( listView.getChildCount() > 0 ){
|
|
||||||
column.scroll_save = new ScrollPosition( listView );
|
column.scroll_save = new ScrollPosition( listView );
|
||||||
}
|
}else{
|
||||||
|
column.scroll_save = new ScrollPosition( 0,0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,19 @@ public class ScrollPosition {
|
||||||
public int pos;
|
public int pos;
|
||||||
public int top;
|
public int top;
|
||||||
|
|
||||||
|
public ScrollPosition( int pos,int top ){
|
||||||
|
this.pos = pos;
|
||||||
|
this.top = top;
|
||||||
|
}
|
||||||
|
|
||||||
public ScrollPosition( MyListView listView ){
|
public ScrollPosition( MyListView listView ){
|
||||||
|
if( listView.getChildCount() == 0 ){
|
||||||
|
pos = top = 0;
|
||||||
|
}else{
|
||||||
pos = listView.getFirstVisiblePosition();
|
pos = listView.getFirstVisiblePosition();
|
||||||
top = listView.getChildAt( 0 ).getTop();
|
top = listView.getChildAt( 0 ).getTop();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void restore( MyListView listView ){
|
public void restore( MyListView listView ){
|
||||||
if( 0 <= pos && pos < listView.getAdapter().getCount() ){
|
if( 0 <= pos && pos < listView.getAdapter().getCount() ){
|
||||||
|
|
Loading…
Reference in New Issue