Add an option to use custom brightness
This commit is contained in:
		
							parent
							
								
									9b504126d0
								
							
						
					
					
						commit
						85dcfd2beb
					
				| @ -57,6 +57,14 @@ public class PreferencesHelper { | ||||
|         return rxPrefs.getBoolean(getKey(R.string.pref_keep_screen_on_key), true); | ||||
|     } | ||||
| 
 | ||||
|     public Preference<Boolean> customBrightness() { | ||||
|         return rxPrefs.getBoolean(getKey(R.string.pref_custom_brightness_key), false); | ||||
|     } | ||||
| 
 | ||||
|     public Preference<Float> customBrightnessValue() { | ||||
|         return rxPrefs.getFloat(getKey(R.string.pref_custom_brightness_value_key), 0F); | ||||
|     } | ||||
| 
 | ||||
|     public int getDefaultViewer() { | ||||
|         return Integer.parseInt(prefs.getString(getKey(R.string.pref_default_viewer_key), "1")); | ||||
|     } | ||||
|  | ||||
| @ -36,6 +36,7 @@ import eu.kanade.mangafeed.ui.reader.viewer.webtoon.WebtoonReader; | ||||
| import eu.kanade.mangafeed.util.ToastUtil; | ||||
| import icepick.Icepick; | ||||
| import nucleus.factory.RequiresPresenter; | ||||
| import rx.Subscription; | ||||
| import rx.subscriptions.CompositeSubscription; | ||||
| 
 | ||||
| @RequiresPresenter(ReaderPresenter.class) | ||||
| @ -52,6 +53,7 @@ public class ReaderActivity extends BaseRxActivity<ReaderPresenter> { | ||||
| 
 | ||||
|     private int uiFlags; | ||||
|     private CompositeSubscription subscriptions; | ||||
|     private Subscription customBrightnessSubscription; | ||||
| 
 | ||||
|     private static final int LEFT_TO_RIGHT = 1; | ||||
|     private static final int RIGHT_TO_LEFT = 2; | ||||
| @ -166,6 +168,10 @@ public class ReaderActivity extends BaseRxActivity<ReaderPresenter> { | ||||
|         subscriptions.add(preferences.keepScreenOn() | ||||
|                 .asObservable() | ||||
|                 .subscribe(this::setKeepScreenOn)); | ||||
| 
 | ||||
|         subscriptions.add(preferences.customBrightness() | ||||
|                 .asObservable() | ||||
|                 .subscribe(this::setCustomBrightness)); | ||||
|     } | ||||
| 
 | ||||
|     private void setOrientation(boolean locked) { | ||||
| @ -205,6 +211,24 @@ public class ReaderActivity extends BaseRxActivity<ReaderPresenter> { | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void setCustomBrightness(boolean enabled) { | ||||
|         if (enabled) { | ||||
|             subscriptions.add(customBrightnessSubscription = preferences.customBrightnessValue() | ||||
|                     .asObservable() | ||||
|                     .subscribe(this::setCustomBrightnessValue)); | ||||
|         } else { | ||||
|             if (customBrightnessSubscription != null) | ||||
|                 subscriptions.remove(customBrightnessSubscription); | ||||
|             setCustomBrightnessValue(-1); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void setCustomBrightnessValue(float value) { | ||||
|         WindowManager.LayoutParams layout = getWindow().getAttributes(); | ||||
|         layout.screenBrightness = value; | ||||
|         getWindow().setAttributes(layout); | ||||
|     } | ||||
| 
 | ||||
|     private void setStatusBarVisibility(boolean hidden) { | ||||
|         createUiHideFlags(hidden); | ||||
|         setSystemUiVisibility(); | ||||
|  | ||||
| @ -40,12 +40,14 @@ public class ReaderMenu { | ||||
|     @Bind(R.id.lock_orientation) ImageButton lockOrientation; | ||||
|     @Bind(R.id.reader_selector) ImageButton readerSelector; | ||||
|     @Bind(R.id.reader_extra_settings) ImageButton extraSettings; | ||||
|     @Bind(R.id.reader_brightness) ImageButton brightnessSettings; | ||||
| 
 | ||||
|     private ReaderActivity activity; | ||||
|     private PreferencesHelper preferences; | ||||
| 
 | ||||
|     @State boolean showing; | ||||
|     private PopupWindow popupWindow; | ||||
|     private PopupWindow settingsPopup; | ||||
|     private PopupWindow brightnessPopup; | ||||
| 
 | ||||
|     private DecimalFormat decimalFormat; | ||||
| 
 | ||||
| @ -99,7 +101,8 @@ public class ReaderMenu { | ||||
|         Animation bottomMenuAnimation = AnimationUtils.loadAnimation(activity, R.anim.exit_to_bottom); | ||||
|         bottomMenu.startAnimation(bottomMenuAnimation); | ||||
| 
 | ||||
|         popupWindow.dismiss(); | ||||
|         settingsPopup.dismiss(); | ||||
|         brightnessPopup.dismiss(); | ||||
| 
 | ||||
|         showing = false; | ||||
|     } | ||||
| @ -152,14 +155,26 @@ public class ReaderMenu { | ||||
| 
 | ||||
|         // Extra settings menu | ||||
|         final View popupView = activity.getLayoutInflater().inflate(R.layout.reader_popup, null); | ||||
|         popupWindow = new SettingsPopupWindow(popupView); | ||||
|         settingsPopup = new SettingsPopupWindow(popupView); | ||||
| 
 | ||||
|         extraSettings.setOnClickListener(v -> { | ||||
|             if (!popupWindow.isShowing()) | ||||
|                 popupWindow.showAtLocation(extraSettings, | ||||
|             if (!settingsPopup.isShowing()) | ||||
|                 settingsPopup.showAtLocation(extraSettings, | ||||
|                         Gravity.BOTTOM | Gravity.RIGHT, 0, bottomMenu.getHeight()); | ||||
|             else | ||||
|                 popupWindow.dismiss(); | ||||
|                 settingsPopup.dismiss(); | ||||
|         }); | ||||
| 
 | ||||
|         // Brightness popup | ||||
|         final View brightnessView = activity.getLayoutInflater().inflate(R.layout.reader_brightness, null); | ||||
|         brightnessPopup = new BrightnessPopupWindow(brightnessView); | ||||
| 
 | ||||
|         brightnessSettings.setOnClickListener(v -> { | ||||
|             if (!brightnessPopup.isShowing()) | ||||
|                 brightnessPopup.showAtLocation(brightnessSettings, | ||||
|                         Gravity.BOTTOM | Gravity.LEFT, 0, bottomMenu.getHeight()); | ||||
|             else | ||||
|                 brightnessPopup.dismiss(); | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| @ -208,7 +223,37 @@ public class ReaderMenu { | ||||
| 
 | ||||
|             keepScreenOn.setOnCheckedChangeListener((view, isChecked) -> | ||||
|                     preferences.keepScreenOn().set(isChecked)); | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     class BrightnessPopupWindow extends PopupWindow { | ||||
| 
 | ||||
|         @Bind(R.id.custom_brightness) CheckBox customBrightness; | ||||
|         @Bind(R.id.brightness_seekbar) SeekBar brightnessSeekbar; | ||||
| 
 | ||||
|         public BrightnessPopupWindow(View view) { | ||||
|             super(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); | ||||
|             setAnimationStyle(R.style.reader_brightness_popup_animation); | ||||
|             ButterKnife.bind(this, view); | ||||
|             initializePopupMenu(); | ||||
|         } | ||||
| 
 | ||||
|         private void initializePopupMenu() { | ||||
|             subscriptions.add(preferences.customBrightness() | ||||
|                     .asObservable() | ||||
|                     .subscribe(isEnabled -> { | ||||
|                         customBrightness.setChecked(isEnabled); | ||||
|                         brightnessSeekbar.setEnabled(isEnabled); | ||||
|                     })); | ||||
| 
 | ||||
|             customBrightness.setOnCheckedChangeListener((view, isChecked) -> | ||||
|                     preferences.customBrightness().set(isChecked)); | ||||
| 
 | ||||
|             brightnessSeekbar.setMax(100); | ||||
|             brightnessSeekbar.setProgress(Math.round( | ||||
|                     preferences.customBrightnessValue().get() * brightnessSeekbar.getMax())); | ||||
|             brightnessSeekbar.setOnSeekBarChangeListener(new BrightnessSeekBarChangeListener()); | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| @ -229,6 +274,26 @@ public class ReaderMenu { | ||||
|         public void onStopTrackingTouch(SeekBar seekBar) {} | ||||
|     } | ||||
| 
 | ||||
|     class BrightnessSeekBarChangeListener implements SeekBar.OnSeekBarChangeListener { | ||||
| 
 | ||||
|         @Override | ||||
|         public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { | ||||
|             if (fromUser) { | ||||
|                 preferences.customBrightnessValue().set((float) progress / seekBar.getMax()); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         @Override | ||||
|         public void onStartTrackingTouch(SeekBar seekBar) { | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         @Override | ||||
|         public void onStopTrackingTouch(SeekBar seekBar) { | ||||
| 
 | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     class HideMenuAnimationListener implements Animation.AnimationListener { | ||||
| 
 | ||||
|         @Override | ||||
|  | ||||
| @ -12,6 +12,7 @@ import eu.kanade.mangafeed.data.source.model.Page; | ||||
| import eu.kanade.mangafeed.ui.reader.ReaderActivity; | ||||
| import eu.kanade.mangafeed.ui.reader.viewer.base.BaseReader; | ||||
| import eu.kanade.mangafeed.ui.reader.viewer.common.ViewPagerReaderAdapter; | ||||
| import rx.Subscription; | ||||
| 
 | ||||
| public class VerticalReader extends BaseReader { | ||||
| 
 | ||||
| @ -19,11 +20,17 @@ public class VerticalReader extends BaseReader { | ||||
| 
 | ||||
|     private ViewPagerReaderAdapter adapter; | ||||
| 
 | ||||
|     private boolean transitions; | ||||
|     private Subscription transitionsSubscription; | ||||
| 
 | ||||
|     public VerticalReader(ReaderActivity activity) { | ||||
|         super(activity); | ||||
|         activity.getLayoutInflater().inflate(R.layout.reader_vertical, container); | ||||
|         ButterKnife.bind(this, container); | ||||
| 
 | ||||
|         transitionsSubscription = activity.getPreferences().enableTransitions().asObservable() | ||||
|                 .subscribe(value -> transitions = value); | ||||
| 
 | ||||
|         viewPager.setOffscreenPageLimit(3); | ||||
|         viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { | ||||
|             @Override | ||||
| @ -32,6 +39,33 @@ public class VerticalReader extends BaseReader { | ||||
|                 updatePageNumber(); | ||||
|             } | ||||
|         }); | ||||
|         viewPager.setOnChapterBoundariesOutListener(new VerticalViewPager.OnChapterBoundariesOutListener() { | ||||
|             @Override | ||||
|             public void onFirstPageOutEvent() { | ||||
|                 requestPreviousChapter(); | ||||
|             } | ||||
| 
 | ||||
|             @Override | ||||
|             public void onLastPageOutEvent() { | ||||
|                 requestNextChapter(); | ||||
|             } | ||||
|         }); | ||||
|         viewPager.setOnChapterSingleTapListener(new VerticalViewPager.OnChapterSingleTapListener() { | ||||
|             @Override | ||||
|             public void onCenterTap() { | ||||
|                 activity.onCenterSingleTap(); | ||||
|             } | ||||
| 
 | ||||
|             @Override | ||||
|             public void onLeftSideTap() { | ||||
|                 viewPager.setCurrentItem(viewPager.getCurrentItem() - 1, transitions); | ||||
|             } | ||||
| 
 | ||||
|             @Override | ||||
|             public void onRightSideTap() { | ||||
|                 viewPager.setCurrentItem(viewPager.getCurrentItem() + 1, transitions); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
| @ -41,7 +75,7 @@ public class VerticalReader extends BaseReader { | ||||
| 
 | ||||
|     @Override | ||||
|     public void setSelectedPage(int pageNumber) { | ||||
|         viewPager.setCurrentItem(getCurrentPageIndex(pageNumber)); | ||||
|         viewPager.setCurrentItem(getCurrentPageIndex(pageNumber), false); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
| @ -53,6 +87,11 @@ public class VerticalReader extends BaseReader { | ||||
| 
 | ||||
|     @Override | ||||
|     public boolean onImageTouch(MotionEvent motionEvent) { | ||||
|         return true; | ||||
|         return viewPager.onImageTouch(motionEvent); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void destroy() { | ||||
|         transitionsSubscription.unsubscribe(); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -3,17 +3,140 @@ package eu.kanade.mangafeed.ui.reader.viewer.vertical; | ||||
| import android.content.Context; | ||||
| import android.util.AttributeSet; | ||||
| import android.view.GestureDetector; | ||||
| import android.view.MotionEvent; | ||||
| 
 | ||||
| public class VerticalViewPager extends fr.castorflex.android.verticalviewpager.VerticalViewPager { | ||||
| 
 | ||||
|     private GestureDetector gestureDetector; | ||||
| 
 | ||||
|     private OnChapterBoundariesOutListener mOnChapterBoundariesOutListener; | ||||
|     private OnChapterSingleTapListener mOnChapterSingleTapListener; | ||||
| 
 | ||||
|     private static final float LEFT_REGION = 0.33f; | ||||
|     private static final float RIGHT_REGION = 0.66f; | ||||
|     private static final float SWIPE_TOLERANCE = 0.25f; | ||||
|     private float startDragY; | ||||
| 
 | ||||
|     public VerticalViewPager(Context context, AttributeSet attrs) { | ||||
|         super(context, attrs); | ||||
|         gestureDetector = new GestureDetector(getContext(), new ReaderViewGestureListener()); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public boolean onInterceptTouchEvent(MotionEvent ev) { | ||||
|         try { | ||||
|             gestureDetector.onTouchEvent(ev); | ||||
| 
 | ||||
|             if ((ev.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN) { | ||||
|                 if (this.getCurrentItem() == 0 || this.getCurrentItem() == this.getAdapter().getCount() - 1) { | ||||
|                     startDragY = ev.getY(); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             return super.onInterceptTouchEvent(ev); | ||||
|         } catch (IllegalArgumentException e) { | ||||
|             // Do Nothing. | ||||
|         } | ||||
| 
 | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public boolean onTouchEvent(MotionEvent ev) { | ||||
|         try { | ||||
|             if (mOnChapterBoundariesOutListener != null) { | ||||
|                 if (this.getCurrentItem() == 0) { | ||||
|                     if ((ev.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP) { | ||||
|                         float displacement = ev.getY() - startDragY; | ||||
| 
 | ||||
|                         if (ev.getY() > startDragY && displacement > getHeight() * SWIPE_TOLERANCE) { | ||||
|                             mOnChapterBoundariesOutListener.onFirstPageOutEvent(); | ||||
|                             return true; | ||||
|                         } | ||||
| 
 | ||||
|                         startDragY = 0; | ||||
|                     } | ||||
|                 } else if (this.getCurrentItem() == this.getAdapter().getCount() - 1) { | ||||
|                     if ((ev.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP) { | ||||
|                         float displacement = startDragY - ev.getY(); | ||||
| 
 | ||||
|                         if (ev.getY() < startDragY && displacement > getHeight() * SWIPE_TOLERANCE) { | ||||
|                             mOnChapterBoundariesOutListener.onLastPageOutEvent(); | ||||
|                             return true; | ||||
|                         } | ||||
| 
 | ||||
|                         startDragY = 0; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             return super.onTouchEvent(ev); | ||||
|         } catch (IllegalArgumentException e) { | ||||
|             // Do Nothing. | ||||
|         } | ||||
| 
 | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     public boolean onImageTouch(MotionEvent event) { | ||||
|         return gestureDetector.onTouchEvent(event); | ||||
|     } | ||||
| 
 | ||||
|     public interface OnChapterBoundariesOutListener { | ||||
|         void onFirstPageOutEvent(); | ||||
| 
 | ||||
|         void onLastPageOutEvent(); | ||||
|     } | ||||
| 
 | ||||
|     public interface OnChapterSingleTapListener { | ||||
|         void onCenterTap(); | ||||
|         void onLeftSideTap(); | ||||
|         void onRightSideTap(); | ||||
|     } | ||||
| 
 | ||||
|     public void setOnChapterBoundariesOutListener(OnChapterBoundariesOutListener onChapterBoundariesOutListener) { | ||||
|         mOnChapterBoundariesOutListener = onChapterBoundariesOutListener; | ||||
|     } | ||||
| 
 | ||||
|     public void setOnChapterSingleTapListener(OnChapterSingleTapListener onChapterSingleTapListener) { | ||||
|         mOnChapterSingleTapListener = onChapterSingleTapListener; | ||||
|     } | ||||
| 
 | ||||
|     private class ReaderViewGestureListener extends GestureDetector.SimpleOnGestureListener { | ||||
|         // TODO | ||||
| 
 | ||||
|         @Override | ||||
|         public boolean onSingleTapConfirmed(MotionEvent e) { | ||||
|             final int position = getCurrentItem(); | ||||
|             final float positionX = e.getX(); | ||||
| 
 | ||||
|             if (positionX < getWidth() * LEFT_REGION) { | ||||
|                 if (position != 0) { | ||||
|                     if (mOnChapterSingleTapListener != null) { | ||||
|                         mOnChapterSingleTapListener.onLeftSideTap(); | ||||
|                     } | ||||
|                 } else { | ||||
|                     if (mOnChapterBoundariesOutListener != null) { | ||||
|                         mOnChapterBoundariesOutListener.onFirstPageOutEvent(); | ||||
|                     } | ||||
|                 } | ||||
|             } else if (positionX > getWidth() * RIGHT_REGION) { | ||||
|                 if (position != getAdapter().getCount() - 1) { | ||||
|                     if (mOnChapterSingleTapListener != null) { | ||||
|                         mOnChapterSingleTapListener.onRightSideTap(); | ||||
|                     } | ||||
|                 } else { | ||||
|                     if (mOnChapterBoundariesOutListener != null) { | ||||
|                         mOnChapterBoundariesOutListener.onLastPageOutEvent(); | ||||
|                     } | ||||
|                 } | ||||
|             } else { | ||||
|                 if (mOnChapterSingleTapListener != null) { | ||||
|                     mOnChapterSingleTapListener.onCenterTap(); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             return true; | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-hdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								app/src/main/res/drawable-hdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 433 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-ldpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								app/src/main/res/drawable-ldpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 214 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-mdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								app/src/main/res/drawable-mdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 325 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xhdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xhdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 570 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xxhdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xxhdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 816 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xxxhdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xxxhdpi/ic_brightness_high.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.1 KiB | 
							
								
								
									
										23
									
								
								app/src/main/res/layout/reader_brightness.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								app/src/main/res/layout/reader_brightness.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     android:orientation="vertical" | ||||
|     android:layout_width="wrap_content" | ||||
|     android:layout_height="match_parent" | ||||
|     android:background="#333333" | ||||
|     android:paddingRight="10dp" | ||||
|     android:paddingLeft="5dp" | ||||
|     android:paddingTop="5dp" | ||||
|     android:paddingBottom="5dp"> | ||||
| 
 | ||||
|     <CheckBox | ||||
|         android:layout_width="wrap_content" | ||||
|         android:layout_height="wrap_content" | ||||
|         style="@style/grey_text" | ||||
|         android:text="@string/pref_custom_brightness" | ||||
|         android:id="@+id/custom_brightness" /> | ||||
| 
 | ||||
|     <SeekBar | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:id="@+id/brightness_seekbar" /> | ||||
| </LinearLayout> | ||||
| @ -72,14 +72,16 @@ | ||||
|                 android:layout_width="0dp" | ||||
|                 android:layout_height="match_parent" | ||||
|                 android:layout_weight="1" | ||||
|                 android:id="@+id/lock_orientation" | ||||
|                 android:src="@drawable/ic_screen_rotation" | ||||
|                 android:id="@+id/reader_brightness" | ||||
|                 android:src="@drawable/ic_brightness_high" | ||||
|                 android:layout_gravity="center_vertical" | ||||
|                 android:background="?android:selectableItemBackground" /> | ||||
|             <ImageButton | ||||
|                 android:layout_width="0dp" | ||||
|                 android:layout_height="match_parent" | ||||
|                 android:layout_weight="1" | ||||
|                 android:id="@+id/lock_orientation" | ||||
|                 android:src="@drawable/ic_screen_rotation" | ||||
|                 android:layout_gravity="center_vertical" | ||||
|                 android:background="?android:selectableItemBackground" /> | ||||
|             <ImageButton | ||||
|  | ||||
| @ -10,6 +10,8 @@ | ||||
|     <string name="pref_enable_transitions_key">pref_enable_transitions_key</string> | ||||
|     <string name="pref_show_page_number_key">pref_show_page_number_key</string> | ||||
|     <string name="pref_keep_screen_on_key">pref_keep_screen_on_key</string> | ||||
|     <string name="pref_custom_brightness_key">pref_custom_brightness_key</string> | ||||
|     <string name="pref_custom_brightness_value_key">pref_custom_brightness_value_key</string> | ||||
| 
 | ||||
|     <string name="pref_download_directory_key">pref_download_directory_key</string> | ||||
|     <string name="pref_download_threads_key">pref_download_threads_key</string> | ||||
|  | ||||
| @ -28,15 +28,16 @@ | ||||
| 
 | ||||
|       <!-- Reader section --> | ||||
|     <string name="pref_hide_status_bar">Hide status bar</string> | ||||
|     <string name="pref_lock_orientation">Lock orientation</string> | ||||
|     <string name="pref_enable_transitions">Enable transitions</string> | ||||
|     <string name="pref_show_page_number">Show page number</string> | ||||
|     <string name="pref_custom_brightness">Use custom brightness</string> | ||||
|     <string name="pref_viewer_type">Default viewer</string> | ||||
|     <string name="default_viewer">Default</string> | ||||
|     <string name="left_to_right_viewer">Left to right</string> | ||||
|     <string name="right_to_left_viewer">Right to left</string> | ||||
|     <string name="vertical_viewer">Vertical</string> | ||||
|     <string name="webtoon_viewer">Webtoon (experimental)</string> | ||||
|     <string name="pref_lock_orientation">Lock orientation</string> | ||||
|     <string name="pref_enable_transitions">Enable transitions</string> | ||||
|     <string name="pref_show_page_number">Show page number</string> | ||||
| 
 | ||||
|       <!-- Downloads section --> | ||||
|     <string name="pref_download_directory">Downloads directory</string> | ||||
|  | ||||
| @ -103,6 +103,10 @@ | ||||
|         <item name="android:windowEnterAnimation">@anim/enter_from_right</item> | ||||
|         <item name="android:windowExitAnimation">@anim/exit_to_right</item> | ||||
|     </style> | ||||
|     <style name="reader_brightness_popup_animation"> | ||||
|         <item name="android:windowEnterAnimation">@anim/enter_from_left</item> | ||||
|         <item name="android:windowExitAnimation">@anim/exit_to_left</item> | ||||
|     </style> | ||||
|     <style name="grey_text"> | ||||
|         <item name="android:textColor">#e0e0e0</item> | ||||
|     </style> | ||||
|  | ||||
| @ -17,6 +17,10 @@ | ||||
|         android:key="@string/pref_show_page_number_key" | ||||
|         android:defaultValue="true" /> | ||||
| 
 | ||||
|     <CheckBoxPreference android:title="@string/pref_custom_brightness" | ||||
|         android:key="@string/pref_custom_brightness_key" | ||||
|         android:defaultValue="false" /> | ||||
| 
 | ||||
|     <ListPreference android:title="@string/pref_viewer_type" | ||||
|         android:key="@string/pref_default_viewer_key" | ||||
|         android:entries="@array/viewers" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 inorichi
						inorichi