diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png index 5cb6f52b3..360272042 100644 Binary files a/app/src/main/ic_launcher-web.png and b/app/src/main/ic_launcher-web.png differ diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java index 631864d42..8b98b1c86 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java @@ -57,7 +57,7 @@ public class ShowConversationActivity extends AppCompatActivity implements OnRet public static int position; private SwipeRefreshLayout swipeRefreshLayout; private ListView lv_status; - + private boolean isRefreshed; @Override protected void onCreate(Bundle savedInstanceState) { @@ -79,6 +79,7 @@ public class ShowConversationActivity extends AppCompatActivity implements OnRet statusId = b.getString("statusId", null); if( statusId == null) finish(); + isRefreshed = false; setTitle(R.string.conversation); swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeContainer); new RetrieveFeedsAsyncTask(getApplicationContext(), RetrieveFeedsAsyncTask.Type.ONESTATUS, statusId,null, ShowConversationActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); @@ -95,6 +96,7 @@ public class ShowConversationActivity extends AppCompatActivity implements OnRet swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { + isRefreshed = true; new RetrieveFeedsAsyncTask(getApplicationContext(), RetrieveFeedsAsyncTask.Type.ONESTATUS, statusId,null, ShowConversationActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } }); @@ -111,6 +113,7 @@ public class ShowConversationActivity extends AppCompatActivity implements OnRet ( new Handler()).postDelayed(new Runnable() { @Override public void run() { + isRefreshed = true; new RetrieveFeedsAsyncTask(getApplicationContext(), RetrieveFeedsAsyncTask.Type.ONESTATUS, statusId,null, ShowConversationActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } }, 1000); @@ -174,7 +177,6 @@ public class ShowConversationActivity extends AppCompatActivity implements OnRet if( context.getDescendants() != null && context.getDescendants().size() > 0){ for(Status status: context.getDescendants()){ statuses.add(status); - statusId = status.getId(); } } RelativeLayout loader = (RelativeLayout) findViewById(R.id.loader); @@ -183,6 +185,12 @@ public class ShowConversationActivity extends AppCompatActivity implements OnRet statusListAdapter.notifyDataSetChanged(); loader.setVisibility(View.GONE); lv_status.setVisibility(View.VISIBLE); - lv_status.smoothScrollToPosition(position); + if( isRefreshed){ + position = statuses.size()-1; + lv_status.setSelection(position); + }else { + lv_status.smoothScrollToPosition(position); + } + } } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index 4150da8fe..d70c378f4 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -654,9 +654,7 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf public void onTranslatedTextview(int position, String translatedResult, Boolean error) { if( error){ Toast.makeText(context, R.string.toast_error_translate, Toast.LENGTH_LONG).show(); - return; - } - if( statuses.size() > position) { + }else if( statuses.size() > position) { try { JSONObject translationJson = new JSONObject(translatedResult); JSONArray aJsonArray = translationJson.getJSONArray("text"); @@ -666,7 +664,7 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf statuses.get(position).setTranslationShown(true); statuses.get(position).setContent_translated(aJsonString); statusListAdapter.notifyDataSetChanged(); - } catch (JSONException | UnsupportedEncodingException e) { + } catch (JSONException | UnsupportedEncodingException | IllegalArgumentException e) { Toast.makeText(context, R.string.toast_error_translate, Toast.LENGTH_LONG).show(); } } diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png index 15aa80470..769ed62bd 100644 Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png index d5574f61f..34fed4eef 100644 Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png index a90353bc6..1b0ebf9ed 100644 Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index b70f9b2ba..42dbcbc76 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 96a09883b..f5722618f 100644 Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ