diff --git a/app/src/main/assets/changelogs/373.txt b/app/src/main/assets/changelogs/373.txt index 08dbc8083..971fcb583 100644 --- a/app/src/main/assets/changelogs/373.txt +++ b/app/src/main/assets/changelogs/373.txt @@ -1,3 +1,6 @@ +Added: +- Select text for media description + changed: - Increase media description length to 1500 chars diff --git a/app/src/main/java/app/fedilab/android/activities/SlideMediaActivity.java b/app/src/main/java/app/fedilab/android/activities/SlideMediaActivity.java index c104d53ac..91384f9ee 100644 --- a/app/src/main/java/app/fedilab/android/activities/SlideMediaActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/SlideMediaActivity.java @@ -216,10 +216,16 @@ public class SlideMediaActivity extends BaseFragmentActivity implements OnDownlo media_description.setText(description); media_description.setVisibility(View.VISIBLE); - handler.postDelayed(() -> media_description.setVisibility(View.GONE), med_desc_timeout); + handler.postDelayed(() -> { + if (!media_description.hasSelection()) { + media_description.setVisibility(View.GONE); + } + }, med_desc_timeout); } else { - media_description.setVisibility(View.GONE); + if (!media_description.hasSelection()) { + media_description.setVisibility(View.GONE); + } } mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { public void onPageScrollStateChanged(int state) { @@ -238,10 +244,16 @@ public class SlideMediaActivity extends BaseFragmentActivity implements OnDownlo media_description.setText(description); media_description.setVisibility(View.VISIBLE); - handler.postDelayed(() -> media_description.setVisibility(View.GONE), med_desc_timeout); + handler.postDelayed(() -> { + if (!media_description.hasSelection()) { + media_description.setVisibility(View.GONE); + } + }, med_desc_timeout); } else { - media_description.setVisibility(View.GONE); + if (!media_description.hasSelection()) { + media_description.setVisibility(View.GONE); + } } } }); @@ -262,7 +274,6 @@ public class SlideMediaActivity extends BaseFragmentActivity implements OnDownlo SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE); final int med_desc_timeout = sharedpreferences.getInt(Helper.SET_MED_DESC_TIMEOUT, 3) * 1000; - switch (event.getAction()) { case MotionEvent.ACTION_DOWN: startX = event.getX(); @@ -283,10 +294,16 @@ public class SlideMediaActivity extends BaseFragmentActivity implements OnDownlo media_description.setText(description); media_description.setVisibility(View.VISIBLE); - handler.postDelayed(() -> media_description.setVisibility(View.GONE), med_desc_timeout); + handler.postDelayed(() -> { + if (!media_description.hasSelection()) { + media_description.setVisibility(View.GONE); + } + }, med_desc_timeout); } else { - media_description.setVisibility(View.GONE); + if (!media_description.hasSelection()) { + media_description.setVisibility(View.GONE); + } } } } diff --git a/app/src/main/res/layout/activity_media_pager.xml b/app/src/main/res/layout/activity_media_pager.xml index 562872152..58a38f67b 100644 --- a/app/src/main/res/layout/activity_media_pager.xml +++ b/app/src/main/res/layout/activity_media_pager.xml @@ -27,6 +27,7 @@