diff options
author | Alex Ning <chineseperson5@gmail.com> | 2020-07-14 14:45:21 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2020-07-14 14:45:21 +0000 |
commit | 67cb832c46895193c85a2b9d1b5c95873588ad26 (patch) | |
tree | 1210bfe670205550f5f26db034aecbf7f1edef1a | |
parent | 19c2d0b9794b1b045a2015769567e6ddf6a5fbfe (diff) | |
download | infinity-for-reddit-67cb832c46895193c85a2b9d1b5c95873588ad26.tar infinity-for-reddit-67cb832c46895193c85a2b9d1b5c95873588ad26.tar.gz infinity-for-reddit-67cb832c46895193c85a2b9d1b5c95873588ad26.tar.bz2 infinity-for-reddit-67cb832c46895193c85a2b9d1b5c95873588ad26.tar.lz infinity-for-reddit-67cb832c46895193c85a2b9d1b5c95873588ad26.tar.xz infinity-for-reddit-67cb832c46895193c85a2b9d1b5c95873588ad26.tar.zst infinity-for-reddit-67cb832c46895193c85a2b9d1b5c95873588ad26.zip |
Replace Hauler with Slidr to avoid weird behaviour in SubsamplingScaleImageView.
9 files changed, 98 insertions, 154 deletions
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" /> <activity android:name=".Activity.ReportActivity" android:label="@string/report_activity_label" @@ -294,12 +294,12 @@ <activity android:name=".Activity.ViewImageOrGifActivity" android:parentActivityName=".Activity.MainActivity" - android:theme="@style/AppTheme.Draggable" /> + android:theme="@style/AppTheme.SlidableWithActionBar" /> <activity android:name=".Activity.ViewVideoActivity" android:configChanges="orientation|screenSize|layoutDirection" android:parentActivityName=".Activity.MainActivity" - android:theme="@style/AppTheme.Draggable" /> + android:theme="@style/AppTheme.SlidableWithActionBar" /> <activity android:name=".Activity.ViewPostDetailActivity" android:parentActivityName=".Activity.MainActivity" diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageOrGifActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageOrGifActivity.java index 2aa00850..0577ba2f 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageOrGifActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageOrGifActivity.java @@ -42,8 +42,9 @@ import com.github.piasy.biv.loader.ImageLoader; import com.github.piasy.biv.loader.glide.GlideImageLoader; import com.github.piasy.biv.view.BigImageView; import com.github.piasy.biv.view.GlideImageViewFactory; -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 java.io.File; @@ -77,8 +78,8 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa public static final String FILE_NAME_KEY = "FNK"; public static final String POST_TITLE_KEY = "PTK"; private static final int PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 0; - @BindView(R.id.hauler_view_view_image_or_gif_activity) - HaulerView mHaulerView; + /*@BindView(R.id.hauler_view_view_image_or_gif_activity) + HaulerView mHaulerView;*/ @BindView(R.id.progress_bar_view_image_or_gif_activity) ProgressBar mProgressBar; @BindView(R.id.image_view_view_image_or_gif_activity) @@ -133,7 +134,7 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa actionBar.setHomeAsUpIndicator(upArrow); actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.transparentActionBarAndExoPlayerControllerColor))); - mHaulerView.setOnDragDismissedListener(dragDirection -> 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 @@ <?xml version="1.0" encoding="utf-8"?> -<com.thefuntasty.hauler.HaulerView xmlns:android="http://schemas.android.com/apk/res/android" +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/hauler_view_view_image_or_gif_activity" android:layout_width="match_parent" android:layout_height="match_parent" - app:dragUpEnabled="true" + android:background="@android:color/black" tools:application="ml.docilealligator.infinityforreddit.Activity.ViewImageActivity"> - <androidx.core.widget.NestedScrollView + <ProgressBar + android:id="@+id/progress_bar_view_image_or_gif_activity" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerInParent="true" /> + + <com.github.piasy.biv.view.BigImageView + android:id="@+id/image_view_view_image_or_gif_activity" android:layout_width="match_parent" android:layout_height="match_parent" - android:fillViewport="true"> - - <RelativeLayout - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <ProgressBar - android:id="@+id/progress_bar_view_image_or_gif_activity" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_centerInParent="true" /> - - <com.github.piasy.biv.view.BigImageView - android:id="@+id/image_view_view_image_or_gif_activity" - android:layout_width="match_parent" - android:layout_height="match_parent" - app:optimizeDisplay="true" - app:tapToRetry="false" - app:initScaleType="centerInside" /> - - <LinearLayout - android:id="@+id/load_image_error_linear_layout_view_image_or_gif_activity" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone"> + app:optimizeDisplay="true" + app:tapToRetry="false" + app:initScaleType="centerInside" /> - <TextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:drawableTop="@drawable/ic_error_outline_white_24dp" - android:fontFamily="?attr/font_family" - android:gravity="center" - android:text="@string/error_loading_image_tap_to_retry" - android:textColor="@android:color/white" - android:textSize="?attr/font_default" /> - - </LinearLayout> - - </RelativeLayout> - - </androidx.core.widget.NestedScrollView> + <LinearLayout + android:id="@+id/load_image_error_linear_layout_view_image_or_gif_activity" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone"> -</com.thefuntasty.hauler.HaulerView> + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:drawableTop="@drawable/ic_error_outline_white_24dp" + android:fontFamily="?attr/font_family" + android:gravity="center" + android:text="@string/error_loading_image_tap_to_retry" + android:textColor="@android:color/white" + android:textSize="?attr/font_default" /> + + </LinearLayout> + +</RelativeLayout> 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 @@ <?xml version="1.0" encoding="utf-8"?> -<com.thefuntasty.hauler.HaulerView xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/hauler_view_view_imgur_media_activity" android:layout_width="match_parent" android:layout_height="match_parent" - app:dragUpEnabled="true" tools:context=".Activity.ViewImgurMediaActivity"> - <androidx.core.widget.NestedScrollView + <ProgressBar + android:id="@+id/progress_bar_view_imgur_media_activity" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerInParent="true" /> + + <androidx.viewpager.widget.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" - android:fillViewport="true"> - - <RelativeLayout - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <ProgressBar - android:id="@+id/progress_bar_view_imgur_media_activity" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_centerInParent="true" /> - - <androidx.viewpager.widget.ViewPager - android:layout_width="match_parent" - android:layout_height="match_parent" - android:id="@+id/view_pager_view_imgur_media_activity" /> - - <LinearLayout - android:id="@+id/load_image_error_linear_layout_view_imgur_media_activity" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone"> + android:id="@+id/view_pager_view_imgur_media_activity" /> - <TextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:drawableTop="@drawable/ic_error_outline_white_24dp" - android:layout_gravity="center" - android:gravity="center" - android:textColor="@android:color/white" - android:text="@string/error_loading_image_tap_to_retry" - android:textSize="?attr/font_default" - android:fontFamily="?attr/font_family" /> - - </LinearLayout> - - </RelativeLayout> - - </androidx.core.widget.NestedScrollView> + <LinearLayout + android:id="@+id/load_image_error_linear_layout_view_imgur_media_activity" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone"> -</com.thefuntasty.hauler.HaulerView>
\ No newline at end of file + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:drawableTop="@drawable/ic_error_outline_white_24dp" + android:layout_gravity="center" + android:gravity="center" + android:textColor="@android:color/white" + android:text="@string/error_loading_image_tap_to_retry" + android:textSize="?attr/font_default" + android:fontFamily="?attr/font_family" /> + + </LinearLayout> + +</RelativeLayout>
\ 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 @@ <?xml version="1.0" encoding="utf-8"?> -<com.thefuntasty.hauler.HaulerView +<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" - android:id="@+id/hauler_view_view_video_activity" android:layout_width="match_parent" android:layout_height="match_parent" android:keepScreenOn="true" - app:dragUpEnabled="true" + android:id="@+id/coordinator_layout_view_video_activity" tools:application="ml.docilealligator.infinityforreddit.Activity.ViewVideoActivity"> - <androidx.core.widget.NestedScrollView + <com.google.android.exoplayer2.ui.PlayerView + android:id="@+id/player_view_view_video_activity" android:layout_width="match_parent" android:layout_height="match_parent" - android:fillViewport="true"> + app:controller_layout_id="@layout/exo_playback_control_view"/> - <androidx.coordinatorlayout.widget.CoordinatorLayout - android:id="@+id/coordinator_layout_view_video_activity" - android:layout_width="match_parent" - android:layout_height="match_parent"> + <ProgressBar + android:id="@+id/progress_bar_view_video_activity" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:visibility="gone" /> - <com.google.android.exoplayer2.ui.PlayerView - android:id="@+id/player_view_view_video_activity" - android:layout_width="match_parent" - android:layout_height="match_parent" - app:controller_layout_id="@layout/exo_playback_control_view"/> - - <ProgressBar - android:id="@+id/progress_bar_view_video_activity" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:visibility="gone" /> - - </androidx.coordinatorlayout.widget.CoordinatorLayout> - - </androidx.core.widget.NestedScrollView> - -</com.thefuntasty.hauler.HaulerView>
\ No newline at end of file +</androidx.coordinatorlayout.widget.CoordinatorLayout>
\ 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 @@ <item name="android:windowBackground">@android:color/transparent</item> </style> + <style name="AppTheme.SlidableWithActionBar"> + <item name="android:windowIsTranslucent">true</item> + <item name="android:windowTranslucentStatus">true</item> + <item name="android:windowBackground">@android:color/black</item> + <item name="android:fontFamily">?attr/font_family</item> + </style> + <style name="AppTheme.SlidableWithTranslucentWindow" parent="AppTheme.Slidable"> <item name="android:windowTranslucentStatus">true</item> </style> @@ -40,16 +47,6 @@ <item name="android:statusBarColor">@android:color/transparent</item> </style> - <style name="AppTheme.Draggable" parent="AppTheme"> - <item name="android:colorBackgroundCacheHint">@null</item> - <item name="android:windowContentOverlay">@null</item> - <item name="android:windowIsFloating">false</item> - <item name="android:windowIsTranslucent">true</item> - <item name="android:windowTranslucentStatus">true</item> - <item name="android:windowBackground">@android:color/black</item> - <item name="android:fontFamily">?attr/font_family</item> - </style> - <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.DayNight.ActionBar"> <item name="android:fontFamily">?attr/font_family</item> </style> |