From 67cb832c46895193c85a2b9d1b5c95873588ad26 Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Tue, 14 Jul 2020 22:45:21 +0800 Subject: Replace Hauler with Slidr to avoid weird behaviour in SubsamplingScaleImageView. --- app/build.gradle | 1 - app/src/main/AndroidManifest.xml | 6 +- .../Activity/ViewImageOrGifActivity.java | 15 +++-- .../Activity/ViewImgurMediaActivity.java | 13 ++-- .../Activity/ViewVideoActivity.java | 13 ++-- .../main/res/layout/activity_view_image_or_gif.xml | 77 +++++++++------------- .../main/res/layout/activity_view_imgur_media.xml | 71 ++++++++------------ app/src/main/res/layout/activity_view_video.xml | 39 ++++------- app/src/main/res/values/styles.xml | 17 ++--- 9 files changed, 98 insertions(+), 154 deletions(-) (limited to 'app') diff --git a/app/build.gradle b/app/build.gradle index fced4802..32228199 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -93,7 +93,6 @@ dependencies { implementation 'com.atlassian.commonmark:commonmark:0.13.1' implementation 'com.google.code.gson:gson:2.8.6' implementation 'me.zhanghai.android.fastscroll:library:1.1.2' - implementation "com.thefuntasty.hauler:core:3.1.0" // androidX startup for auto-init implementation "androidx.startup:startup-runtime:1.0.0-alpha01" //crashy diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b4f549ff..c42e67b7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -43,7 +43,7 @@ android:name=".Activity.ViewImgurMediaActivity" android:configChanges="orientation|screenSize|layoutDirection" android:parentActivityName=".Activity.MainActivity" - android:theme="@style/AppTheme.Draggable" /> + android:theme="@style/AppTheme.SlidableWithActionBar" /> + android:theme="@style/AppTheme.SlidableWithActionBar" /> + android:theme="@style/AppTheme.SlidableWithActionBar" /> finish()); + Slidr.attach(this, new SlidrConfig.Builder().position(SlidrPosition.VERTICAL).build()); mediaDownloader = new MediaDownloaderImpl(); @@ -158,11 +159,11 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int windowHeight = displayMetrics.heightPixels; - mHaulerView.setOnDragDismissedListener(dragDirection -> { + /*mHaulerView.setOnDragDismissedListener(dragDirection -> { int slide = dragDirection == DragDirection.UP ? R.anim.slide_out_up : R.anim.slide_out_down; finish(); overridePendingTransition(0, slide); - }); + });*/ mLoadErrorLinearLayout.setOnClickListener(view -> { mProgressBar.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImgurMediaActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImgurMediaActivity.java index 5beb5cfd..db10f445 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImgurMediaActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImgurMediaActivity.java @@ -20,8 +20,9 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; import androidx.viewpager.widget.ViewPager; -import com.thefuntasty.hauler.DragDirection; -import com.thefuntasty.hauler.HaulerView; +import com.r0adkll.slidr.Slidr; +import com.r0adkll.slidr.model.SlidrConfig; +import com.r0adkll.slidr.model.SlidrPosition; import org.json.JSONArray; import org.json.JSONException; @@ -65,8 +66,6 @@ public class ViewImgurMediaActivity extends AppCompatActivity implements SetAsWa public static final int IMGUR_TYPE_IMAGE = 2; private static final String IMGUR_IMAGES_STATE = "IIS"; - @BindView(R.id.hauler_view_view_imgur_media_activity) - HaulerView haulerView; @BindView(R.id.progress_bar_view_imgur_media_activity) ProgressBar progressBar; @BindView(R.id.view_pager_view_imgur_media_activity) @@ -129,11 +128,7 @@ public class ViewImgurMediaActivity extends AppCompatActivity implements SetAsWa images = savedInstanceState.getParcelableArrayList(IMGUR_IMAGES_STATE); } - haulerView.setOnDragDismissedListener(dragDirection -> { - int slide = dragDirection == DragDirection.UP ? R.anim.slide_out_up : R.anim.slide_out_down; - finish(); - overridePendingTransition(0, slide); - }); + Slidr.attach(this, new SlidrConfig.Builder().position(SlidrPosition.VERTICAL).build()); if (images == null) { fetchImgurMedia(imgurId); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java index d76d2c00..f9f2728b 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java @@ -46,8 +46,9 @@ import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; import com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory; import com.google.android.exoplayer2.util.Util; import com.google.android.material.snackbar.Snackbar; -import com.thefuntasty.hauler.DragDirection; -import com.thefuntasty.hauler.HaulerView; +import com.r0adkll.slidr.Slidr; +import com.r0adkll.slidr.model.SlidrConfig; +import com.r0adkll.slidr.model.SlidrPosition; import javax.inject.Inject; import javax.inject.Named; @@ -84,8 +85,6 @@ public class ViewVideoActivity extends AppCompatActivity { private static final String IS_MUTE_STATE = "IMS"; private static final String VIDEO_DOWNLOAD_URL_STATE = "VDUS"; private static final String VIDEO_URI_STATE = "VUS"; - @BindView(R.id.hauler_view_view_video_activity) - HaulerView haulerView; @BindView(R.id.coordinator_layout_view_video_activity) CoordinatorLayout coordinatorLayout; @BindView(R.id.progress_bar_view_video_activity) @@ -165,11 +164,7 @@ public class ViewVideoActivity extends AppCompatActivity { params.rightMargin = getResources().getDimensionPixelSize(resourceId); } - haulerView.setOnDragDismissedListener(dragDirection -> { - int slide = dragDirection == DragDirection.UP ? R.anim.slide_out_up : R.anim.slide_out_down; - finish(); - overridePendingTransition(0, slide); - }); + Slidr.attach(this, new SlidrConfig.Builder().position(SlidrPosition.VERTICAL).build()); mediaDownloader = new MediaDownloaderImpl(); diff --git a/app/src/main/res/layout/activity_view_image_or_gif.xml b/app/src/main/res/layout/activity_view_image_or_gif.xml index 250c5077..21dd1f4b 100644 --- a/app/src/main/res/layout/activity_view_image_or_gif.xml +++ b/app/src/main/res/layout/activity_view_image_or_gif.xml @@ -1,57 +1,44 @@ - - + + - - - - - - - - + app:optimizeDisplay="true" + app:tapToRetry="false" + app:initScaleType="centerInside" /> - - - - - - - + - + + + + + diff --git a/app/src/main/res/layout/activity_view_imgur_media.xml b/app/src/main/res/layout/activity_view_imgur_media.xml index 8e17ae8b..60122cfa 100644 --- a/app/src/main/res/layout/activity_view_imgur_media.xml +++ b/app/src/main/res/layout/activity_view_imgur_media.xml @@ -1,54 +1,39 @@ - - + + - - - - - - - - + android:id="@+id/view_pager_view_imgur_media_activity" /> - - - - - - - + - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_view_video.xml b/app/src/main/res/layout/activity_view_video.xml index 1d18f2ab..240f165b 100644 --- a/app/src/main/res/layout/activity_view_video.xml +++ b/app/src/main/res/layout/activity_view_video.xml @@ -1,40 +1,25 @@ - - + app:controller_layout_id="@layout/exo_playback_control_view"/> - + - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index de788275..c7db48b6 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -32,6 +32,13 @@ @android:color/transparent + + @@ -40,16 +47,6 @@ @android:color/transparent - - -- cgit v1.2.3