diff --git a/folioreader/build.gradle b/folioreader/build.gradle
index 9f55be22d..76e5b239e 100644
--- a/folioreader/build.gradle
+++ b/folioreader/build.gradle
@@ -87,6 +87,7 @@ dependencies {
implementation project(':webViewMarker')
//noinspection GradleDependency
+ implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation "com.android.support:appcompat-v7:$ANDROID_LIB_VERSION"
implementation "com.android.support:recyclerview-v7:$ANDROID_LIB_VERSION"
implementation "com.android.support:support-v4:$ANDROID_LIB_VERSION"
diff --git a/folioreader/res/drawable-hdpi/ic_format_font_black_24dp.png b/folioreader/res/drawable-hdpi/ic_format_font_black_24dp.png
new file mode 100644
index 000000000..f09d60053
Binary files /dev/null and b/folioreader/res/drawable-hdpi/ic_format_font_black_24dp.png differ
diff --git a/folioreader/res/drawable-hdpi/ic_format_font_black_36dp.png b/folioreader/res/drawable-hdpi/ic_format_font_black_36dp.png
new file mode 100644
index 000000000..43039ac88
Binary files /dev/null and b/folioreader/res/drawable-hdpi/ic_format_font_black_36dp.png differ
diff --git a/folioreader/res/drawable-mdpi/ic_format_font_black_24dp.png b/folioreader/res/drawable-mdpi/ic_format_font_black_24dp.png
new file mode 100644
index 000000000..3aefc4f92
Binary files /dev/null and b/folioreader/res/drawable-mdpi/ic_format_font_black_24dp.png differ
diff --git a/folioreader/res/drawable-mdpi/ic_format_font_black_36dp.png b/folioreader/res/drawable-mdpi/ic_format_font_black_36dp.png
new file mode 100644
index 000000000..90aeb61ba
Binary files /dev/null and b/folioreader/res/drawable-mdpi/ic_format_font_black_36dp.png differ
diff --git a/folioreader/res/drawable-xhdpi/ic_format_font_black_24dp.png b/folioreader/res/drawable-xhdpi/ic_format_font_black_24dp.png
new file mode 100644
index 000000000..df5019d8d
Binary files /dev/null and b/folioreader/res/drawable-xhdpi/ic_format_font_black_24dp.png differ
diff --git a/folioreader/res/drawable-xhdpi/ic_format_font_black_36dp.png b/folioreader/res/drawable-xhdpi/ic_format_font_black_36dp.png
new file mode 100644
index 000000000..342531196
Binary files /dev/null and b/folioreader/res/drawable-xhdpi/ic_format_font_black_36dp.png differ
diff --git a/folioreader/res/drawable-xhdpi/icon_font_big.png b/folioreader/res/drawable-xhdpi/icon_font_big.png
deleted file mode 100644
index d630d811b..000000000
Binary files a/folioreader/res/drawable-xhdpi/icon_font_big.png and /dev/null differ
diff --git a/folioreader/res/drawable-xhdpi/icon_font_small.png b/folioreader/res/drawable-xhdpi/icon_font_small.png
deleted file mode 100644
index 7e54db620..000000000
Binary files a/folioreader/res/drawable-xhdpi/icon_font_small.png and /dev/null differ
diff --git a/folioreader/res/drawable-xxhdpi/ic_format_font_black_24dp.png b/folioreader/res/drawable-xxhdpi/ic_format_font_black_24dp.png
new file mode 100644
index 000000000..c9b7aed51
Binary files /dev/null and b/folioreader/res/drawable-xxhdpi/ic_format_font_black_24dp.png differ
diff --git a/folioreader/res/drawable-xxhdpi/ic_format_font_black_36dp.png b/folioreader/res/drawable-xxhdpi/ic_format_font_black_36dp.png
new file mode 100644
index 000000000..298937622
Binary files /dev/null and b/folioreader/res/drawable-xxhdpi/ic_format_font_black_36dp.png differ
diff --git a/folioreader/res/drawable-xxxhdpi/ic_format_font_black_24dp.png b/folioreader/res/drawable-xxxhdpi/ic_format_font_black_24dp.png
new file mode 100644
index 000000000..77719e156
Binary files /dev/null and b/folioreader/res/drawable-xxxhdpi/ic_format_font_black_24dp.png differ
diff --git a/folioreader/res/drawable-xxxhdpi/ic_format_font_black_36dp.png b/folioreader/res/drawable-xxxhdpi/ic_format_font_black_36dp.png
new file mode 100644
index 000000000..9bdb07597
Binary files /dev/null and b/folioreader/res/drawable-xxxhdpi/ic_format_font_black_36dp.png differ
diff --git a/folioreader/res/layout/folio_activity.xml b/folioreader/res/layout/folio_activity.xml
index d601eed67..be99caae4 100644
--- a/folioreader/res/layout/folio_activity.xml
+++ b/folioreader/res/layout/folio_activity.xml
@@ -12,94 +12,10 @@
android:layout_height="match_parent"
app:direction="vertical" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_height="?android:attr/actionBarSize" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/folioreader/res/layout/view_config.xml b/folioreader/res/layout/view_config.xml
index fcc7ed791..d1dc8d8c9 100644
--- a/folioreader/res/layout/view_config.xml
+++ b/folioreader/res/layout/view_config.xml
@@ -1,151 +1,199 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/folioreader/res/values/strings.xml b/folioreader/res/values/strings.xml
index c9867a1bd..0ae3da5f8 100644
--- a/folioreader/res/values/strings.xml
+++ b/folioreader/res/values/strings.xml
@@ -91,4 +91,6 @@
Dictionary
Wikipedia
Cannot open epub it needs storage access !
+ horizontal
+ vertical
diff --git a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java
index 12badb4a8..07d57f19d 100644
--- a/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java
+++ b/folioreader/src/main/java/com/folioreader/ui/folio/activity/FolioActivity.java
@@ -16,23 +16,15 @@
package com.folioreader.ui.folio.activity;
import android.Manifest;
-import android.annotation.TargetApi;
import android.content.Intent;
import android.content.pm.PackageManager;
-import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.util.Log;
-import android.view.View;
-import android.view.animation.AccelerateInterpolator;
-import android.view.animation.DecelerateInterpolator;
-import android.widget.ImageView;
-import android.widget.TextView;
import android.widget.Toast;
import com.folioreader.Config;
@@ -50,9 +42,10 @@
import com.folioreader.ui.folio.presenter.MainPresenter;
import com.folioreader.util.AppUtil;
import com.folioreader.util.FileUtil;
-import com.folioreader.util.UiUtil;
import com.folioreader.view.ConfigBottomSheetDialogFragment;
import com.folioreader.view.DirectionalViewpager;
+import com.folioreader.view.FolioToolbar;
+import com.folioreader.view.FolioToolbarCallback;
import com.folioreader.view.MediaControllerCallback;
import com.folioreader.view.MediaControllerView;
import com.folioreader.view.ObservableWebView;
@@ -80,7 +73,8 @@ public class FolioActivity
ObservableWebView.ToolBarListener,
ConfigBottomSheetDialogFragment.ConfigDialogCallback,
MainMvpView,
- MediaControllerCallback{
+ MediaControllerCallback,
+ FolioToolbarCallback {
private static final String TAG = "FolioActivity";
@@ -99,20 +93,16 @@ public enum EpubSourceType {
private String bookFileName;
private static final String HIGHLIGHT_ITEM = "highlight_item";
- public boolean mIsActionBarVisible;
private DirectionalViewpager mFolioPageViewPager;
- private Toolbar mToolbar;
+ private FolioToolbar toolbar;
private int mChapterPosition;
private FolioPageFragmentAdapter mFolioPageFragmentAdapter;
private ReadPosition entryReadPosition;
- private ConfigBottomSheetDialogFragment mConfigBottomSheetDialogFragment;
- private TextView title;
private List mSpineReferenceList = new ArrayList<>();
private EpubServer mEpubServer;
- private boolean mIsNightMode;
private Config mConfig;
private String mBookId;
private String mEpubFilePath;
@@ -122,6 +112,7 @@ public enum EpubSourceType {
@Override
protected void onCreate(Bundle savedInstanceState) {
+ setConfig();
super.onCreate(savedInstanceState);
setContentView(R.layout.folio_activity);
@@ -134,52 +125,32 @@ protected void onCreate(Bundle savedInstanceState) {
mEpubFilePath = getIntent().getExtras()
.getString(FolioActivity.INTENT_EPUB_SOURCE_PATH);
}
- setConfig();
mediaControllerView = findViewById(R.id.media_controller_view);
- mediaControllerView.onInit();
mediaControllerView.setListeners(this);
- if (!mConfig.isShowTts()) {
- findViewById(R.id.btn_speaker).setVisibility(View.GONE);
- }
-
- title = (TextView) findViewById(R.id.lbl_center);
-
- initColors();
-
if (ContextCompat.checkSelfPermission(FolioActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(FolioActivity.this, Constants.getWriteExternalStoragePerms(), Constants.WRITE_EXTERNAL_STORAGE_REQUEST);
} else {
setupBook();
}
- mToolbar = (Toolbar) findViewById(R.id.toolbar);
-
- findViewById(R.id.btn_drawer).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(FolioActivity.this, ContentHighlightActivity.class);
- intent.putExtra(CHAPTER_SELECTED, mSpineReferenceList.get(mChapterPosition).href);
- intent.putExtra(FolioReader.INTENT_BOOK_ID, mBookId);
- intent.putExtra(Constants.BOOK_TITLE, bookFileName);
- startActivityForResult(intent, ACTION_CONTENT_HIGHLIGHT);
- overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up);
- }
- });
+ toolbar = findViewById(R.id.toolbar);
+ toolbar.setListeners(this);
+ }
- findViewById(R.id.btn_speaker).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mediaControllerView.show();
- }
- });
+ @Override
+ public void showMediaController() {
+ mediaControllerView.show();
+ }
- mIsNightMode = mConfig.isNightMode();
- if (mIsNightMode) {
- mToolbar.setBackgroundColor(ContextCompat.getColor(FolioActivity.this, R.color.black));
- title.setTextColor(ContextCompat.getColor(FolioActivity.this, R.color.white));
- mediaControllerView.setNightMode();
- }
+ @Override
+ public void startContentHighlightActivity() {
+ Intent intent = new Intent(FolioActivity.this, ContentHighlightActivity.class);
+ intent.putExtra(CHAPTER_SELECTED, mSpineReferenceList.get(mChapterPosition).href);
+ intent.putExtra(FolioReader.INTENT_BOOK_ID, mBookId);
+ intent.putExtra(Constants.BOOK_TITLE, bookFileName);
+ startActivityForResult(intent, ACTION_CONTENT_HIGHLIGHT);
+ overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up);
}
private void initBook(String mEpubFileName, int mEpubRawId, String mEpubFilePath, EpubSourceType mEpubSourceType) {
@@ -209,14 +180,8 @@ private void getEpubResource() {
}
@Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- configDrawerLayoutButtons();
- }
-
- @Override
- public void onOrientationChange(int orentation) {
- if (orentation == 0) {
+ public void onOrientationChange(int orientation) {
+ if (orientation == 0) {
mFolioPageViewPager.setDirection(DirectionalViewpager.Direction.VERTICAL);
mFolioPageFragmentAdapter =
new FolioPageFragmentAdapter(getSupportFragmentManager(),
@@ -252,7 +217,7 @@ public void onPageSelected(int position) {
@Override
public void onPageScrollStateChanged(int state) {
if (state == DirectionalViewpager.SCROLL_STATE_IDLE) {
- title.setText(mSpineReferenceList.get(mChapterPosition).bookTitle);
+ toolbar.setTitle(mSpineReferenceList.get(mChapterPosition).bookTitle);
}
}
});
@@ -271,11 +236,11 @@ public void onPageScrollStateChanged(int state) {
* 1. id
* 2. href
* 3. index
+ *
* @param readPosition Last read position
* @return index of the chapter
*/
private int getChapterIndex(ReadPosition readPosition) {
-
if (readPosition == null) {
return 0;
@@ -294,7 +259,6 @@ private int getChapterIndex(ReadPosition readPosition) {
}
private int getChapterIndex(String caseString, String value) {
-
for (int i = 0; i < mSpineReferenceList.size(); i++) {
switch (caseString) {
case "id":
@@ -308,37 +272,14 @@ private int getChapterIndex(String caseString, String value) {
return 0;
}
- private void configDrawerLayoutButtons() {
- findViewById(R.id.btn_close).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
-
- findViewById(R.id.btn_config).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mConfigBottomSheetDialogFragment = new ConfigBottomSheetDialogFragment();
- mConfigBottomSheetDialogFragment.show(getSupportFragmentManager(), mConfigBottomSheetDialogFragment.getTag());
- }
- });
- }
-
@Override
- public void hideOrshowToolBar() {
- if (mIsActionBarVisible) {
- toolbarAnimateHide();
- } else {
- toolbarAnimateShow();
- }
+ public void showConfigBottomSheetDialogFragment() {
+ new ConfigBottomSheetDialogFragment().show(getSupportFragmentManager(), ConfigBottomSheetDialogFragment.class.getSimpleName());
}
@Override
- public void hideToolBarIfVisible() {
- if (mIsActionBarVisible) {
- toolbarAnimateHide();
- }
+ public void hideOrShowToolBar() {
+ toolbar.showOrHideIfVisible();
}
@Override
@@ -347,7 +288,6 @@ public void setPagerToPosition(String href) {
@Override
public ReadPosition getEntryReadPosition() {
-
if (entryReadPosition != null) {
ReadPosition tempReadPosition = entryReadPosition;
entryReadPosition = null;
@@ -363,36 +303,12 @@ public void goToChapter(String href) {
if (spine.href.contains(href)) {
mChapterPosition = mSpineReferenceList.indexOf(spine);
mFolioPageViewPager.setCurrentItem(mChapterPosition);
- title.setText(spine.getChapterTitle());
+ toolbar.setTitle(spine.getChapterTitle());
break;
}
}
}
- private void toolbarAnimateShow() {
- if (!mIsActionBarVisible) {
- mToolbar.animate().translationY(0).setInterpolator(new DecelerateInterpolator(2)).start();
- mIsActionBarVisible = true;
- }
- }
-
- private void toolbarAnimateHide() {
- mIsActionBarVisible = false;
- mToolbar.animate().translationY(-mToolbar.getHeight()).setInterpolator(new AccelerateInterpolator(2)).start();
- }
-
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
- private void toolbarSetElevation(float elevation) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- mToolbar.setElevation(elevation);
- }
- }
-
- public HighlightImpl setCurrentPagerPostion(HighlightImpl highlightImpl) {
-// highlight.setCurrentPagerPostion(mFolioPageViewPager.getCurrentItem());
- return highlightImpl;
- }
-
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == ACTION_CONTENT_HIGHLIGHT && resultCode == RESULT_OK && data.hasExtra(TYPE)) {
@@ -404,7 +320,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (selectedChapterHref.contains(spine.href)) {
mChapterPosition = mSpineReferenceList.indexOf(spine);
mFolioPageViewPager.setCurrentItem(mChapterPosition);
- title.setText(data.getStringExtra(Constants.BOOK_TITLE));
+ toolbar.setTitle(data.getStringExtra(Constants.BOOK_TITLE));
EventBus.getDefault().post(new AnchorIdEvent(selectedChapterHref));
break;
}
@@ -435,7 +351,7 @@ public int getChapterPosition() {
public void onLoadPublication(EpubPublication publication) {
mSpineReferenceList.addAll(publication.spines);
if (publication.metadata.title != null) {
- title.setText(publication.metadata.title);
+ toolbar.setTitle(publication.metadata.title);
}
if (mBookId == null) {
@@ -478,14 +394,6 @@ public void pause() {
public void onError() {
}
-
- public void initColors() {
- UiUtil.setColorToImage(this, mConfig.getThemeColor(), ((ImageView) findViewById(R.id.btn_close)).getDrawable());
- UiUtil.setColorToImage(this, mConfig.getThemeColor(), ((ImageView) findViewById(R.id.btn_drawer)).getDrawable());
- UiUtil.setColorToImage(this, mConfig.getThemeColor(), ((ImageView) findViewById(R.id.btn_config)).getDrawable());
- UiUtil.setColorToImage(this, mConfig.getThemeColor(), ((ImageView) findViewById(R.id.btn_speaker)).getDrawable());
- }
-
private void setupBook() {
bookFileName = FileUtil.getEpubFilename(this, mEpubSourceType, mEpubFilePath, mEpubRawId);
initBook(bookFileName, mEpubRawId, mEpubFilePath, mEpubSourceType);
diff --git a/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.java b/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.java
deleted file mode 100644
index 5d627ca38..000000000
--- a/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.java
+++ /dev/null
@@ -1,350 +0,0 @@
-package com.folioreader.view;
-
-import android.animation.Animator;
-import android.animation.ArgbEvaluator;
-import android.animation.ValueAnimator;
-import android.app.Activity;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.design.widget.BottomSheetBehavior;
-import android.support.design.widget.BottomSheetDialog;
-import android.support.design.widget.BottomSheetDialogFragment;
-import android.support.design.widget.CoordinatorLayout;
-import android.support.v4.content.ContextCompat;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewTreeObserver;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
-import android.widget.SeekBar;
-import android.widget.TextView;
-
-import com.folioreader.Config;
-import com.folioreader.Constants;
-import com.folioreader.R;
-import com.folioreader.model.event.ReloadDataEvent;
-import com.folioreader.util.AppUtil;
-import com.folioreader.util.UiUtil;
-
-import org.greenrobot.eventbus.EventBus;
-
-
-/**
- * Created by mobisys2 on 11/16/2016.
- */
-
-public class ConfigBottomSheetDialogFragment extends BottomSheetDialogFragment implements View.OnClickListener {
-
- public static final int DAY_BUTTON = 30;
- public static final int NIGHT_BUTTON = 31;
- private static final int FADE_DAY_NIGHT_MODE = 500;
-
- private CoordinatorLayout.Behavior mBehavior;
- private boolean mIsNightMode = false;
-
-
- private RelativeLayout mContainer;
- private ImageView mDayButton;
- private ImageView mNightButton;
- private SeekBar mFontSizeSeekBar;
- private View mDialogView;
- private ConfigDialogCallback mConfigDialogCallback;
- private Config mConfig;
-
- public interface ConfigDialogCallback {
- void onOrientationChange(int orentation);
- }
-
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- return inflater.inflate(R.layout.view_config, container);
- }
-
- @Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
- @Override
- public void onGlobalLayout() {
- BottomSheetDialog dialog = (BottomSheetDialog) getDialog();
- FrameLayout bottomSheet = (FrameLayout)
- dialog.findViewById(android.support.design.R.id.design_bottom_sheet);
- BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);
- behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
- behavior.setPeekHeight(0);
- }
- });
-
- mDialogView = view;
- mConfig = AppUtil.getSavedConfig(getActivity());
- initViews();
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- mDialogView.getViewTreeObserver().addOnGlobalLayoutListener(null);
- }
-
- private void initViews() {
- inflateView();
- configFonts();
- mFontSizeSeekBar.setProgress(mConfig.getFontSize());
- configSeekBar();
- selectFont(mConfig.getFont(), false);
- mIsNightMode = mConfig.isNightMode();
- if (mIsNightMode) {
- mContainer.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.night));
- } else {
- mContainer.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.white));
- }
-
- if (mIsNightMode) {
- mDayButton.setSelected(false);
- mNightButton.setSelected(true);
- UiUtil.setColorToImage(getActivity(), mConfig.getThemeColor(), mNightButton.getDrawable());
- UiUtil.setColorToImage(getActivity(), R.color.app_gray, mDayButton.getDrawable());
- } else {
- mDayButton.setSelected(true);
- mNightButton.setSelected(false);
- UiUtil.setColorToImage(getActivity(), mConfig.getThemeColor(), mDayButton.getDrawable());
- UiUtil.setColorToImage(getActivity(), R.color.app_gray, mNightButton.getDrawable());
- }
-
- mConfigDialogCallback = (ConfigDialogCallback) getActivity();
- }
-
- private void inflateView() {
- mContainer = (RelativeLayout) mDialogView.findViewById(R.id.container);
- mFontSizeSeekBar = (SeekBar) mDialogView.findViewById(R.id.seekbar_font_size);
- mDayButton = (ImageView) mDialogView.findViewById(R.id.day_button);
- mNightButton = (ImageView) mDialogView.findViewById(R.id.night_button);
- mDayButton.setTag(DAY_BUTTON);
- mNightButton.setTag(NIGHT_BUTTON);
- mDayButton.setOnClickListener(this);
- mNightButton.setOnClickListener(this);
- mDialogView.findViewById(R.id.btn_vertical_orentation).setSelected(true);
- }
-
-
- private void configFonts() {
- ((StyleableTextView) mDialogView.findViewById(R.id.btn_font_andada)).setTextColor(UiUtil.getColorList(getActivity(), mConfig.getThemeColor(), R.color.grey_color));
- ((StyleableTextView) mDialogView.findViewById(R.id.btn_font_lato)).setTextColor(UiUtil.getColorList(getActivity(), mConfig.getThemeColor(), R.color.grey_color));
- ((StyleableTextView) mDialogView.findViewById(R.id.btn_font_lora)).setTextColor(UiUtil.getColorList(getActivity(), mConfig.getThemeColor(), R.color.grey_color));
- ((StyleableTextView) mDialogView.findViewById(R.id.btn_font_raleway)).setTextColor(UiUtil.getColorList(getActivity(), mConfig.getThemeColor(), R.color.grey_color));
- mDialogView.findViewById(R.id.btn_font_andada).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- selectFont(Constants.FONT_ANDADA, true);
- }
- });
-
- mDialogView.findViewById(R.id.btn_font_lato).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- selectFont(Constants.FONT_LATO, true);
- }
- });
-
- mDialogView.findViewById(R.id.btn_font_lora).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- selectFont(Constants.FONT_LORA, true);
- }
- });
-
- mDialogView.findViewById(R.id.btn_font_raleway).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- selectFont(Constants.FONT_RALEWAY, true);
- }
- });
-
-
- mDialogView.findViewById(R.id.btn_horizontal_orentation).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mConfigDialogCallback.onOrientationChange(1);
- mDialogView.findViewById(R.id.btn_horizontal_orentation).setSelected(true);
- mDialogView.findViewById(R.id.btn_vertical_orentation).setSelected(false);
- }
- });
-
- mDialogView.findViewById(R.id.btn_vertical_orentation).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mConfigDialogCallback.onOrientationChange(0);
- mDialogView.findViewById(R.id.btn_horizontal_orentation).setSelected(false);
- mDialogView.findViewById(R.id.btn_vertical_orentation).setSelected(true);
- }
- });
- }
-
- private void selectFont(int selectedFont, boolean isReloadNeeded) {
- if (selectedFont == Constants.FONT_ANDADA) {
- mDialogView.findViewById(R.id.btn_font_andada).setSelected(true);
- mDialogView.findViewById(R.id.btn_font_lato).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_lora).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_raleway).setSelected(false);
- } else if (selectedFont == Constants.FONT_LATO) {
- mDialogView.findViewById(R.id.btn_font_andada).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_lato).setSelected(true);
- mDialogView.findViewById(R.id.btn_font_lora).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_raleway).setSelected(false);
- } else if (selectedFont == Constants.FONT_LORA) {
- mDialogView.findViewById(R.id.btn_font_andada).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_lato).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_lora).setSelected(true);
- mDialogView.findViewById(R.id.btn_font_raleway).setSelected(false);
- } else if (selectedFont == Constants.FONT_RALEWAY) {
- mDialogView.findViewById(R.id.btn_font_andada).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_lato).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_lora).setSelected(false);
- mDialogView.findViewById(R.id.btn_font_raleway).setSelected(true);
- }
-
- mConfig.setFont(selectedFont);
- //if (mConfigDialogCallback != null) mConfigDialogCallback.onConfigChange();
- if (isAdded() && isReloadNeeded) {
- AppUtil.saveConfig(getActivity(),mConfig);
- EventBus.getDefault().post(new ReloadDataEvent());
- }
- }
-
- private void toggleBlackTheme() {
-
- int day = getResources().getColor(R.color.white);
- int night = getResources().getColor(R.color.night);
- int darkNight = getResources().getColor(R.color.dark_night);
- final int diffNightDark = night - darkNight;
-
- ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(),
- mIsNightMode ? night : day, mIsNightMode ? day : night);
- colorAnimation.setDuration(FADE_DAY_NIGHT_MODE);
- colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
-
- @Override
- public void onAnimationUpdate(ValueAnimator animator) {
- int value = (int) animator.getAnimatedValue();
- mContainer.setBackgroundColor(value);
- }
- });
-
- colorAnimation.addListener(new Animator.AnimatorListener() {
- @Override
- public void onAnimationStart(Animator animator) {
- }
-
- @Override
- public void onAnimationEnd(Animator animator) {
- mIsNightMode = !mIsNightMode;
- mConfig.setNightMode(mIsNightMode);
- AppUtil.saveConfig(getActivity(),mConfig);
- EventBus.getDefault().post(new ReloadDataEvent());
- }
-
- @Override
- public void onAnimationCancel(Animator animator) {
- }
-
- @Override
- public void onAnimationRepeat(Animator animator) {
- }
- });
-
- colorAnimation.setDuration(FADE_DAY_NIGHT_MODE);
- colorAnimation.start();
- }
-
- private void configSeekBar() {
- Drawable thumbDrawable = ContextCompat.getDrawable(getActivity(), R.drawable.seekbar_thumb);
- UiUtil.setColorToImage(getActivity(), mConfig.getThemeColor(), (thumbDrawable));
- UiUtil.setColorToImage(getActivity(), R.color.grey_color, mFontSizeSeekBar.getProgressDrawable());
- mFontSizeSeekBar.setThumb(thumbDrawable);
-
- mFontSizeSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- mConfig.setFontSize(progress);
- AppUtil.saveConfig(getActivity(),mConfig);
- EventBus.getDefault().post(new ReloadDataEvent());
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- }
- });
- }
-
-
- @Override
- public void onClick(View v) {
- switch (((Integer) v.getTag())) {
- case DAY_BUTTON:
- if (mIsNightMode) {
- mIsNightMode = true;
- toggleBlackTheme();
- mDayButton.setSelected(true);
- mNightButton.setSelected(false);
- setToolBarColor();
- setAudioPlayerBackground();
- UiUtil.setColorToImage(getActivity(), R.color.app_gray, mNightButton.getDrawable());
- UiUtil.setColorToImage(getActivity(), mConfig.getThemeColor(), mDayButton.getDrawable());
- }
- break;
- case NIGHT_BUTTON:
- if (!mIsNightMode) {
- mIsNightMode = false;
- toggleBlackTheme();
- mDayButton.setSelected(false);
- mNightButton.setSelected(true);
- UiUtil.setColorToImage(getActivity(), mConfig.getThemeColor(), mNightButton.getDrawable());
- UiUtil.setColorToImage(getActivity(), R.color.app_gray, mDayButton.getDrawable());
- setToolBarColor();
- setAudioPlayerBackground();
- }
- break;
- default:
- break;
- }
- }
-
- private void setToolBarColor() {
- if (mIsNightMode) {
- ((Activity) getContext()).
- findViewById(R.id.toolbar).
- setBackgroundColor(getContext().getResources().getColor(R.color.white));
- ((TextView) ((Activity) getContext()).
- findViewById(R.id.lbl_center)).
- setTextColor(getResources().getColor(R.color.black));
- } else {
- ((Activity) getContext()).
- findViewById(R.id.toolbar).
- setBackgroundColor(getContext().getResources().getColor(R.color.black));
- ((TextView) ((Activity) getContext()).
- findViewById(R.id.lbl_center)).
- setTextColor(getResources().getColor(R.color.white));
- }
-
- }
-
- private void setAudioPlayerBackground() {
- if (mIsNightMode) {
- ((Activity) getContext()).
- findViewById(R.id.container).
- setBackgroundColor(ContextCompat.getColor(getContext(), R.color.white));
- } else {
- ((Activity) getContext()).
- findViewById(R.id.container).
- setBackgroundColor(ContextCompat.getColor(getContext(), R.color.night));
- }
- }
-}
diff --git a/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.kt b/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.kt
new file mode 100644
index 000000000..f6623dc51
--- /dev/null
+++ b/folioreader/src/main/java/com/folioreader/view/ConfigBottomSheetDialogFragment.kt
@@ -0,0 +1,227 @@
+package com.folioreader.view
+
+import android.animation.Animator
+import android.animation.ArgbEvaluator
+import android.animation.ValueAnimator
+import android.app.Activity
+import android.os.Bundle
+import android.support.design.widget.BottomSheetBehavior
+import android.support.design.widget.BottomSheetDialog
+import android.support.design.widget.BottomSheetDialogFragment
+import android.support.v4.content.ContextCompat
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.FrameLayout
+import android.widget.SeekBar
+import com.folioreader.Config
+import com.folioreader.Constants
+import com.folioreader.R
+import com.folioreader.model.event.ReloadDataEvent
+import com.folioreader.util.AppUtil
+import com.folioreader.util.UiUtil
+import kotlinx.android.synthetic.main.view_config.*
+import org.greenrobot.eventbus.EventBus
+
+/**
+ * Created by mobisys2 on 11/16/2016.
+ */
+class ConfigBottomSheetDialogFragment : BottomSheetDialogFragment() {
+ private lateinit var callback: ConfigDialogCallback
+ private lateinit var config: Config
+ private var isNightMode = false
+
+ interface ConfigDialogCallback {
+ fun onOrientationChange(orientation: Int)
+ }
+
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+ return inflater.inflate(R.layout.view_config, container)
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ view.viewTreeObserver.addOnGlobalLayoutListener {
+ val dialog = dialog as BottomSheetDialog
+ val bottomSheet = dialog.findViewById(android.support.design.R.id.design_bottom_sheet) as FrameLayout?
+ val behavior = BottomSheetBehavior.from(bottomSheet!!)
+ behavior.state = BottomSheetBehavior.STATE_EXPANDED
+ behavior.peekHeight = 0
+ }
+
+ config = AppUtil.getSavedConfig(activity)
+ initViews()
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ view?.viewTreeObserver?.addOnGlobalLayoutListener(null)
+ }
+
+ private fun initViews() {
+ inflateView()
+ configFonts()
+ view_config_font_size_seek_bar.progress = config.fontSize
+ configSeekBar()
+ selectFont(config.font, false)
+ isNightMode = config.isNightMode
+ if (isNightMode) {
+ container.setBackgroundColor(ContextCompat.getColor(context!!, R.color.night))
+ } else {
+ container.setBackgroundColor(ContextCompat.getColor(context!!, R.color.white))
+ }
+
+ if (isNightMode) {
+ view_config_ib_day_mode.isSelected = false
+ view_config_ib_night_mode.isSelected = true
+ UiUtil.setColorToImage(activity, config.themeColor, view_config_ib_night_mode.drawable)
+ UiUtil.setColorToImage(activity, R.color.app_gray, view_config_ib_day_mode.drawable)
+ } else {
+ view_config_ib_day_mode.isSelected = true
+ view_config_ib_night_mode.isSelected = false
+ UiUtil.setColorToImage(activity, config.themeColor, view_config_ib_day_mode!!.drawable)
+ UiUtil.setColorToImage(activity, R.color.app_gray, view_config_ib_night_mode.drawable)
+ }
+
+ callback = activity as ConfigDialogCallback
+ }
+
+ private fun inflateView() {
+ view_config_ib_day_mode.setOnClickListener {
+ isNightMode = true
+ toggleBlackTheme()
+ view_config_ib_day_mode.isSelected = true
+ view_config_ib_night_mode.isSelected = false
+ setToolBarColor()
+ setAudioPlayerBackground()
+ UiUtil.setColorToImage(activity, R.color.app_gray, view_config_ib_night_mode.drawable)
+ UiUtil.setColorToImage(activity, config.themeColor, view_config_ib_day_mode.drawable)
+ }
+ view_config_ib_night_mode.setOnClickListener {
+ isNightMode = false
+ toggleBlackTheme()
+ view_config_ib_day_mode.isSelected = false
+ view_config_ib_night_mode.isSelected = true
+ UiUtil.setColorToImage(activity, config.themeColor, view_config_ib_day_mode.drawable)
+ UiUtil.setColorToImage(activity, R.color.app_gray, view_config_ib_night_mode.drawable)
+ setToolBarColor()
+ setAudioPlayerBackground()
+ }
+ view_config_btn_vertical_orientation.isSelected = true
+ }
+
+ private fun configFonts() {
+ view_config_font_andada.setTextColor(UiUtil.getColorList(activity, config.themeColor, R.color.grey_color))
+ view_config_font_lato.setTextColor(UiUtil.getColorList(activity, config.themeColor, R.color.grey_color))
+ view_config_font_lora.setTextColor(UiUtil.getColorList(activity, config.themeColor, R.color.grey_color))
+ view_config_font_raleway.setTextColor(UiUtil.getColorList(activity, config.themeColor, R.color.grey_color))
+ view_config_btn_vertical_orientation.setTextColor(UiUtil.getColorList(activity, config.themeColor, R.color.grey_color))
+ view_config_btn_horizontal_orientation.setTextColor(UiUtil.getColorList(activity, config.themeColor, R.color.grey_color))
+ view_config_font_andada.setOnClickListener { selectFont(Constants.FONT_ANDADA, true) }
+ view_config_font_lato.setOnClickListener { selectFont(Constants.FONT_LATO, true) }
+ view_config_font_lora.setOnClickListener { selectFont(Constants.FONT_LORA, true) }
+ view_config_font_raleway.setOnClickListener { selectFont(Constants.FONT_RALEWAY, true) }
+ view_config_btn_vertical_orientation.setOnClickListener {
+ callback.onOrientationChange(1)
+ view_config_btn_horizontal_orientation.isSelected = false
+ view_config_btn_vertical_orientation.isSelected = true
+ }
+
+ view_config_btn_horizontal_orientation.setOnClickListener {
+ callback.onOrientationChange(0)
+ view_config_btn_horizontal_orientation.isSelected = true
+ view_config_btn_vertical_orientation.isSelected = false
+ }
+ }
+
+ private fun selectFont(selectedFont: Int, isReloadNeeded: Boolean) {
+ when (selectedFont) {
+ Constants.FONT_ANDADA -> setSelectedFont(true, false, false, false)
+ Constants.FONT_LATO -> setSelectedFont(false, true, false, false)
+ Constants.FONT_LORA -> setSelectedFont(false, false, true, false)
+ Constants.FONT_RALEWAY -> setSelectedFont(false, false, false, true)
+ }
+ config.font = selectedFont
+ if (isAdded && isReloadNeeded) {
+ AppUtil.saveConfig(activity, config)
+ EventBus.getDefault().post(ReloadDataEvent())
+ }
+ }
+
+ private fun setSelectedFont(andada: Boolean, lato: Boolean, lora: Boolean, raleway: Boolean) {
+ view_config_font_andada.isSelected = andada
+ view_config_font_lato.isSelected = lato
+ view_config_font_lora.isSelected = lora
+ view_config_font_raleway.isSelected = raleway
+ }
+
+ private fun toggleBlackTheme() {
+ val day = ContextCompat.getColor(context!!, R.color.white)
+ val night = ContextCompat.getColor(context!!, R.color.night)
+ val colorAnimation = ValueAnimator.ofObject(ArgbEvaluator(),
+ if (isNightMode) night else day, if (isNightMode) day else night)
+ colorAnimation.duration = FADE_DAY_NIGHT_MODE.toLong()
+ colorAnimation.addUpdateListener { animator ->
+ val value = animator.animatedValue as Int
+ container.setBackgroundColor(value)
+ }
+
+ colorAnimation.addListener(object : Animator.AnimatorListener {
+ override fun onAnimationStart(animator: Animator) {}
+
+ override fun onAnimationEnd(animator: Animator) {
+ isNightMode = !isNightMode
+ config.isNightMode = isNightMode
+ AppUtil.saveConfig(activity, config)
+ EventBus.getDefault().post(ReloadDataEvent())
+ }
+
+ override fun onAnimationCancel(animator: Animator) {}
+
+ override fun onAnimationRepeat(animator: Animator) {}
+ })
+
+ colorAnimation.duration = FADE_DAY_NIGHT_MODE.toLong()
+ colorAnimation.start()
+ }
+
+ private fun configSeekBar() {
+ val thumbDrawable = ContextCompat.getDrawable(activity!!, R.drawable.seekbar_thumb)
+ UiUtil.setColorToImage(activity, config.themeColor, thumbDrawable)
+ UiUtil.setColorToImage(activity, R.color.grey_color, view_config_font_size_seek_bar.progressDrawable)
+ view_config_font_size_seek_bar.thumb = thumbDrawable
+
+ view_config_font_size_seek_bar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
+ override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
+ config.fontSize = progress
+ AppUtil.saveConfig(activity, config)
+ EventBus.getDefault().post(ReloadDataEvent())
+ }
+
+ override fun onStartTrackingTouch(seekBar: SeekBar) {}
+
+ override fun onStopTrackingTouch(seekBar: SeekBar) {}
+ })
+ }
+
+ private fun setToolBarColor() {
+ if (isNightMode) {
+ ((context as Activity).findViewById(R.id.toolbar) as FolioToolbar).setDayMode()
+ } else {
+ ((context as Activity).findViewById(R.id.toolbar) as FolioToolbar).setNightMode()
+ }
+
+ }
+
+ private fun setAudioPlayerBackground() {
+ if (isNightMode) {
+ (context as Activity).findViewById(R.id.container).setBackgroundColor(ContextCompat.getColor(context!!, R.color.white))
+ } else {
+ (context as Activity).findViewById(R.id.container).setBackgroundColor(ContextCompat.getColor(context!!, R.color.night))
+ }
+ }
+
+ companion object {
+ const val FADE_DAY_NIGHT_MODE = 500
+ }
+}
diff --git a/folioreader/src/main/java/com/folioreader/view/FolioToolbar.kt b/folioreader/src/main/java/com/folioreader/view/FolioToolbar.kt
new file mode 100644
index 000000000..1e2f0217e
--- /dev/null
+++ b/folioreader/src/main/java/com/folioreader/view/FolioToolbar.kt
@@ -0,0 +1,104 @@
+package com.folioreader.view
+
+import android.app.Activity
+import android.content.Context
+import android.support.v4.content.ContextCompat
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import android.view.View
+import android.view.animation.AccelerateInterpolator
+import android.view.animation.DecelerateInterpolator
+import android.widget.RelativeLayout
+import com.folioreader.Config
+import com.folioreader.R
+import com.folioreader.util.AppUtil
+import com.folioreader.util.UiUtil
+import kotlinx.android.synthetic.main.folio_toolbar.view.*
+
+/**
+ * Created by gautam on 15/5/18.
+ */
+class FolioToolbar : RelativeLayout {
+ private lateinit var config: Config
+ private var visible: Boolean = false
+ lateinit var callback: FolioToolbarCallback
+
+ constructor(context: Context) : this(context, null, 0)
+ constructor(context: Context, attributes: AttributeSet?) : this(context, attributes, 0)
+ constructor(context: Context, attributes: AttributeSet?, defStyle: Int) : super(context, attributes, defStyle) {
+ LayoutInflater.from(context).inflate(R.layout.folio_toolbar, this)
+ init()
+ }
+
+ private fun init() {
+ config = AppUtil.getSavedConfig(context)
+ if (config.isNightMode) setNightMode()
+ if (!config.isShowTts) btn_speaker.visibility = View.GONE
+ initColors()
+ initListeners()
+ }
+
+ private fun initColors() {
+ UiUtil.setColorToImage(context, config.themeColor, btn_close.drawable)
+ UiUtil.setColorToImage(context, config.themeColor, btn_drawer.drawable)
+ UiUtil.setColorToImage(context, config.themeColor, btn_config.drawable)
+ UiUtil.setColorToImage(context, config.themeColor, btn_speaker.drawable)
+ }
+
+ private fun initListeners() {
+ btn_drawer.setOnClickListener {
+ callback.startContentHighlightActivity()
+ }
+ btn_close.setOnClickListener {
+ (context as Activity).finish()
+ }
+ btn_config.setOnClickListener {
+ callback.showConfigBottomSheetDialogFragment()
+ }
+ btn_speaker.setOnClickListener {
+ callback.showMediaController()
+ }
+ }
+
+ fun setListeners(callback: FolioToolbarCallback) {
+ this.callback = callback
+ }
+
+ fun setTitle(title: String?) {
+ title?.let {
+ label_center?.text = title
+ }
+ }
+
+ fun showOrHideIfVisible() {
+ if (visible) {
+ hide()
+ } else {
+ show()
+ }
+ visible = !visible
+ }
+
+ private fun show() {
+ this.animate().translationY(0f)
+ .setInterpolator(DecelerateInterpolator(2f))
+ .start()
+ }
+
+ fun setNightMode() {
+ toolbar_container.setBackgroundColor(ContextCompat.getColor(context, R.color.black))
+ label_center.setTextColor(ContextCompat.getColor(context, R.color.white))
+ }
+
+ fun setDayMode() {
+ toolbar_container.setBackgroundColor(ContextCompat.getColor(context, R.color.white))
+ label_center.setTextColor(ContextCompat.getColor(context, R.color.black))
+ }
+
+ private fun hide() {
+ this.animate().translationY((-this.height)
+ .toFloat())
+ .setInterpolator(AccelerateInterpolator(2f))
+ .start()
+ }
+}
diff --git a/folioreader/src/main/java/com/folioreader/view/FolioToolbarCallback.kt b/folioreader/src/main/java/com/folioreader/view/FolioToolbarCallback.kt
new file mode 100644
index 000000000..14b90ff05
--- /dev/null
+++ b/folioreader/src/main/java/com/folioreader/view/FolioToolbarCallback.kt
@@ -0,0 +1,7 @@
+package com.folioreader.view
+
+interface FolioToolbarCallback {
+ fun startContentHighlightActivity()
+ fun showConfigBottomSheetDialogFragment()
+ fun showMediaController()
+}
\ No newline at end of file
diff --git a/folioreader/src/main/java/com/folioreader/view/MediaControllerView.kt b/folioreader/src/main/java/com/folioreader/view/MediaControllerView.kt
index 4e528135b..7a9f14f86 100644
--- a/folioreader/src/main/java/com/folioreader/view/MediaControllerView.kt
+++ b/folioreader/src/main/java/com/folioreader/view/MediaControllerView.kt
@@ -31,9 +31,10 @@ class MediaControllerView : RelativeLayout {
constructor(context: Context, attributes: AttributeSet?) : this(context, attributes, 0)
constructor(context: Context, attributes: AttributeSet?, defStyle: Int) : super(context, attributes, defStyle) {
LayoutInflater.from(context).inflate(R.layout.view_audio_player, this)
+ init()
}
- fun onInit() {
+ private fun init() {
config = AppUtil.getSavedConfig(context)
btn_one_and_half_speed.text = Html.fromHtml(context.getString(R.string.one_and_half_speed))
btn_half_speed.text = Html.fromHtml(context.getString(R.string.half_speed_text))
@@ -42,6 +43,7 @@ class MediaControllerView : RelativeLayout {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
playback_speed_Layout.visibility = View.GONE
}
+ if (config.isNightMode) setNightMode()
initColors()
initListeners()
}
@@ -132,7 +134,7 @@ class MediaControllerView : RelativeLayout {
play_button.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.play_icon))
}
- fun setNightMode() {
+ private fun setNightMode() {
container.setBackgroundColor(ContextCompat.getColor(context, R.color.night))
}
diff --git a/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java b/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java
index afae6c378..d472a31d3 100644
--- a/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java
+++ b/folioreader/src/main/java/com/folioreader/view/ObservableWebView.java
@@ -28,8 +28,7 @@ public interface SeekBarListener {
}
public interface ToolBarListener {
- void hideOrshowToolBar();
- void hideToolBarIfVisible();
+ void hideOrShowToolBar();
}
private ScrollListener mScrollListener;
@@ -81,7 +80,7 @@ public boolean onTouchEvent(MotionEvent event) {
if (mToolBarListener != null &&
(Math.abs(event.getX() - mDownPosX) < MOVE_THRESHOLD_DP
|| Math.abs(event.getY() - mDownPosY) < MOVE_THRESHOLD_DP)) {
- mToolBarListener.hideOrshowToolBar();
+ mToolBarListener.hideOrShowToolBar();
}
break;
}
@@ -90,7 +89,7 @@ public boolean onTouchEvent(MotionEvent event) {
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
- if (mToolBarListener != null) mToolBarListener.hideToolBarIfVisible();
+ if (mToolBarListener != null) mToolBarListener.hideOrShowToolBar();
if (mScrollListener != null) mScrollListener.onScrollChange(t);
super.onScrollChanged(l, t, oldl, oldt);
}
diff --git a/sample/build.gradle b/sample/build.gradle
index 3819aebd4..1e6d345a6 100644
--- a/sample/build.gradle
+++ b/sample/build.gradle
@@ -57,5 +57,6 @@ android {
dependencies {
implementation project(':folioreader')
+ implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:appcompat-v7:27.1.1'
}