Left & Right buttons for Display size & text preview

Test: manually open page and verify buttons work
Bug: 386906497
Flag: EXEMPT small internal change dependant on xml
Change-Id: I49ecf2940be897725a0864cf898655837a3e2399
This commit is contained in:
Riley Jones
2025-02-07 01:01:34 +00:00
parent a7caa23deb
commit 30e63f6178
5 changed files with 102 additions and 14 deletions

View File

@@ -22,6 +22,7 @@ import android.os.Parcelable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import androidx.preference.Preference;
@@ -99,6 +100,23 @@ public class TextReadingPreviewPreference extends Preference {
(DotsPageIndicator) holder.findViewById(R.id.page_indicator);
updateAdapterIfNeeded(viewPager, pageIndicator, mPreviewAdapter);
updatePagerAndIndicator(viewPager, pageIndicator);
viewPager.setClipToOutline(true);
int layoutDirection =
getContext().getResources().getConfiguration().getLayoutDirection();
int previousId = (layoutDirection == View.LAYOUT_DIRECTION_RTL)
? R.id.preview_right_button : R.id.preview_left_button;
int nextId = (layoutDirection == View.LAYOUT_DIRECTION_RTL)
? R.id.preview_left_button : R.id.preview_right_button;
final ImageButton previousButton = previewLayout.findViewById(previousId);
final ImageButton nextButton = previewLayout.findViewById(nextId);
previousButton.setOnClickListener((view) -> setCurrentItem(getCurrentItem() - 1));
previousButton.setContentDescription(getContext().getString(
R.string.preview_pager_previous_button));
nextButton.setOnClickListener((view) -> setCurrentItem(getCurrentItem() + 1));
previousButton.setContentDescription(getContext().getString(
R.string.preview_pager_next_button));
}
@Override
@@ -158,7 +176,9 @@ public class TextReadingPreviewPreference extends Preference {
Preconditions.checkNotNull(mPreviewAdapter,
"Preview adapter is null, you should init the preview adapter first");
if (currentItem != mCurrentItem) {
if (currentItem < 0 || currentItem >= mPreviewAdapter.getCount()) {
return;
} else if (currentItem != mCurrentItem) {
mCurrentItem = currentItem;
notifyChanged();
}