Merge branch 'master' into swipe-down

This commit is contained in:
Shridhar Goel 2019-03-23 12:43:28 +05:30 committed by GitHub
commit 9fcd0a887d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 107 additions and 65 deletions

View File

@ -373,6 +373,7 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
searchFiles();
tabRecyclerView.setAdapter(tabsAdapter);
new ItemTouchHelper(tabCallback).attachToRecyclerView(tabRecyclerView);
drawerLayout.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
}
//End of onCreate
@ -541,15 +542,20 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
}
private void updateBottomToolbarArrowsAlpha() {
if (getCurrentWebView().canGoForward()) {
bottomToolbarArrowForward.setAlpha(1f);
} else {
bottomToolbarArrowForward.setAlpha(0.6f);
if (checkNull(bottomToolbarArrowBack)) {
if (getCurrentWebView().canGoForward()) {
bottomToolbarArrowForward.setAlpha(1f);
} else {
bottomToolbarArrowForward.setAlpha(0.6f);
}
}
if (getCurrentWebView().canGoBack()) {
bottomToolbarArrowBack.setAlpha(1f);
} else {
bottomToolbarArrowBack.setAlpha(0.6f);
if (checkNull(bottomToolbarArrowForward)) {
if (getCurrentWebView().canGoBack()) {
bottomToolbarArrowBack.setAlpha(1f);
} else {
bottomToolbarArrowBack.setAlpha(0.6f);
}
}
}
@ -786,14 +792,17 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
updateTabSwitcherIcon();
})
.show();
openDefaultTab();
updateTabSwitcherIcon();
}
private void openDefaultTab() {
new Handler().postDelayed(() -> {
if (webViewList.size() == 0) {
newTab(HOME_URL);
}
}, 1500);
updateTabSwitcherIcon();
}, 100);
}
private void selectTab(int position) {
currentWebViewIndex = position;
tabsAdapter.setSelected(position);
@ -1139,7 +1148,10 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
if (getCurrentWebView().canGoBack()) {
if (tabSwitcherRoot.getVisibility() == View.VISIBLE) {
selectTab(currentWebViewIndex);
hideTabSwitcher();
} else if (getCurrentWebView().canGoBack()) {
getCurrentWebView().goBack();
} else if (isFullscreenOpened) {
closeFullScreen();
@ -1161,11 +1173,7 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
void closeAllTabs() {
webViewList.clear();
tabsAdapter.notifyDataSetChanged();
new Handler().postDelayed(() -> {
if (webViewList.size() == 0) {
newTab(HOME_URL);
}
}, 1500);
openDefaultTab();
updateTabSwitcherIcon();
}
@ -1293,20 +1301,22 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
}
private void updateBottomToolbarVisibility() {
if (sharedPreferenceUtil.getPrefBottomToolbar() && !HOME_URL.equals(
getCurrentWebView().getUrl())
&& tabSwitcherRoot.getVisibility() != View.VISIBLE) {
bottomToolbar.setVisibility(View.VISIBLE);
if (getCurrentWebView() instanceof ToolbarStaticKiwixWebView
&& sharedPreferenceUtil.getPrefBottomToolbar()) {
contentFrame.setPadding(0, 0, 0,
(int) getResources().getDimension(R.dimen.bottom_toolbar_height));
if (checkNull(bottomToolbar)) {
if (sharedPreferenceUtil.getPrefBottomToolbar() && !HOME_URL.equals(
getCurrentWebView().getUrl())
&& tabSwitcherRoot.getVisibility() != View.VISIBLE) {
bottomToolbar.setVisibility(View.VISIBLE);
if (getCurrentWebView() instanceof ToolbarStaticKiwixWebView
&& sharedPreferenceUtil.getPrefBottomToolbar()) {
contentFrame.setPadding(0, 0, 0,
(int) getResources().getDimension(R.dimen.bottom_toolbar_height));
} else {
contentFrame.setPadding(0, 0, 0, 0);
}
} else {
bottomToolbar.setVisibility(View.GONE);
contentFrame.setPadding(0, 0, 0, 0);
}
} else {
bottomToolbar.setVisibility(View.GONE);
contentFrame.setPadding(0, 0, 0, 0);
}
}
@ -1528,7 +1538,14 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
View tabSwitcher = menu.findItem(R.id.menu_tab_switcher).getActionView();
tabSwitcherIcon = tabSwitcher.findViewById(R.id.ic_tab_switcher_text);
updateTabSwitcherIcon();
tabSwitcher.setOnClickListener(v -> showTabSwitcher());
tabSwitcher.setOnClickListener(v -> {
if (tabSwitcherRoot.getVisibility() == View.VISIBLE) {
hideTabSwitcher();
selectTab(currentWebViewIndex);
} else {
showTabSwitcher();
}
});
return true;
}
@ -1583,14 +1600,16 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
}
private void refreshBookmarkSymbol() {
if (getCurrentWebView().getUrl() != null &&
ZimContentProvider.getId() != null &&
!getCurrentWebView().getUrl().equals(HOME_URL)) {
int icon = bookmarks.contains(getCurrentWebView().getUrl()) ? R.drawable.ic_bookmark_24dp
: R.drawable.ic_bookmark_border_24dp;
bottomToolbarBookmark.setImageResource(icon);
} else {
bottomToolbarBookmark.setImageResource(R.drawable.ic_bookmark_border_24dp);
if (checkNull(bottomToolbarBookmark)) {
if (getCurrentWebView().getUrl() != null &&
ZimContentProvider.getId() != null &&
!getCurrentWebView().getUrl().equals(HOME_URL)) {
int icon = bookmarks.contains(getCurrentWebView().getUrl()) ? R.drawable.ic_bookmark_24dp
: R.drawable.ic_bookmark_border_24dp;
bottomToolbarBookmark.setImageResource(icon);
} else {
bottomToolbarBookmark.setImageResource(R.drawable.ic_bookmark_border_24dp);
}
}
}
@ -1841,16 +1860,18 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
@Override
public void webViewProgressChanged(int progress) {
progressBar.setProgress(progress);
if (progress == 100) {
if (requestClearHistoryAfterLoad) {
Log.d(TAG_KIWIX,
"Loading article finished and requestClearHistoryAfterLoad -> clearHistory");
getCurrentWebView().clearHistory();
requestClearHistoryAfterLoad = false;
}
if (checkNull(progressBar)) {
progressBar.setProgress(progress);
if (progress == 100) {
if (requestClearHistoryAfterLoad) {
Log.d(TAG_KIWIX,
"Loading article finished and requestClearHistoryAfterLoad -> clearHistory");
getCurrentWebView().clearHistory();
requestClearHistoryAfterLoad = false;
}
Log.d(TAG_KIWIX, "Loaded URL: " + getCurrentWebView().getUrl());
Log.d(TAG_KIWIX, "Loaded URL: " + getCurrentWebView().getUrl());
}
}
}
@ -1950,4 +1971,8 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
fileSearch.scan(sharedPreferenceUtil.getPrefStorage());
}
}
public boolean checkNull(View view) {
return view != null;
}
}

View File

@ -11,7 +11,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/activity_horizontal_margin"
android:textColor="@color/primary_text"
android:textColor="@color/textDarkPrimary"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@ -29,7 +29,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:textColor="@color/primary_text"
android:textColor="@color/textDarkPrimary"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@id/item_book_icon"
app:layout_constraintTop_toTopOf="parent"
@ -40,7 +40,7 @@
android:id="@+id/item_book_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/secondary_text"
android:textColor="@color/textDarkSecondary"
app:layout_constraintStart_toStartOf="@id/item_book_title"
app:layout_constraintTop_toBottomOf="@id/item_book_title"
tools:text="1 Jan 2018"
@ -52,7 +52,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:textColor="@color/secondary_text"
android:textColor="@color/textDarkSecondary"
app:layout_constraintStart_toEndOf="@id/item_book_date"
app:layout_constraintTop_toTopOf="@id/item_book_date"
tools:text="20 GB"
@ -64,7 +64,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:textColor="@color/secondary_text"
android:textColor="@color/textDarkSecondary"
app:layout_constraintStart_toEndOf="@id/item_book_size"
app:layout_constraintTop_toTopOf="@id/item_book_size"
tools:text="10.1 K articles"
@ -72,9 +72,12 @@
<TextView
android:id="@+id/item_book_description"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="@color/secondary_text"
android:textColor="@color/textDarkSecondary"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/item_book_title"
app:layout_constraintTop_toBottomOf="@id/item_book_date"
tools:text="All wikipedia articles"

View File

@ -47,7 +47,7 @@
android:layout_height="wrap_content"
android:text="@string/human_kind_knowledge"
android:textAlignment="center"
android:textColor="@color/secondary_text"
android:textColor="@color/textDarkSecondary"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@ -49,7 +49,7 @@
android:layout_height="wrap_content"
android:text="@string/download_books_message"
android:textAlignment="center"
android:textColor="@color/secondary_text"
android:textColor="@color/textDarkSecondary"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@ -6,8 +6,6 @@
<color name="primary_dark_night">#ff212121</color>
<color name="primary_light">#ffffff</color>
<color name="accent">#2196F3</color>
<color name="primary_text">#212121</color>
<color name="secondary_text">#727272</color>
<color name="icons">#212121</color>
<color name="white">#fafafa</color>
<color name="gray_list_bg">#0d000000</color>
@ -27,4 +25,14 @@
<color name="blueTransparent">#962e7ac4</color>
<color name="actionModeBackground">#4285F4</color>
<color name="titleBar">#000000</color>
<!-- Dark Text Color for Light Background -->
<color name="textDarkPrimary">#000000</color> <!-- 0% opacity-->
<color name="textDarkSecondary">#DE000000</color> <!--DE for 87% opacity-->
<color name="textDarkTertiary">#8A000000</color> <!--8A for 54% opacity-->
<!-- White Text Color for Dark Background -->
<color name="textLightPrimary">#FFFFFF</color> <!--100% opacity-->
<color name="textLightSecondary">#B2FFFFFF</color> <!--B2 for 70% opacity-->
<color name="textLightTertiary">#80FFFFFF</color> <!--80 for 50% opacity-->
</resources>

View File

@ -25,9 +25,9 @@
<item name="dividerColor">@color/divider_light</item>
<item name="selectedBackground">@drawable/list_bg_light</item>
<item name="android:itemBackground">@color/primary_light</item>
<item name="android:textColorPrimary">@color/primary</item>
<item name="android:textColorSecondary">@color/primary</item>
<item name="android:textColorTertiary">@color/primary</item>
<item name="android:textColorPrimary">@color/textDarkPrimary</item>
<item name="android:textColorSecondary">@color/textDarkSecondary</item>
<item name="android:textColorTertiary">@color/textDarkTertiary</item>
<item name="colorControlNormal">@color/accent</item>
</style>
@ -47,6 +47,12 @@
<item name="listBackground">@drawable/list_bg</item>
<item name="selectedBackground">@drawable/list_bg_light</item>
<item name="android:itemBackground">@color/primary_light</item>
<item name="drawerBackground">@color/drawer_background_day</item>
<item name="dividerColor">@color/divider_light</item>
<item name="android:textColorPrimary">@color/textDarkPrimary</item>
<item name="android:textColorSecondary">@color/textDarkSecondary</item>
<item name="android:textColorTertiary">@color/textDarkTertiary</item>
<item name="colorControlNormal">@color/accent</item>
</style>
<style name="AppTheme.Night" parent="AppTheme.Base">
@ -59,9 +65,9 @@
<item name="android:itemBackground">@color/grey</item>
<item name="android:itemTextAppearance">@color/grey</item>
<item name="android:textColor">@color/primary_light</item>
<item name="android:textColorPrimary">@color/primary_light</item>
<item name="android:textColorSecondary">@color/primary_light</item>
<item name="android:textColorTertiary">@color/primary_light</item>
<item name="android:textColorPrimary">@color/textLightPrimary</item>
<item name="android:textColorSecondary">@color/textLightSecondary</item>
<item name="android:textColorTertiary">@color/textLightTertiary</item>
<item name="android:alertDialogTheme">@style/AppTheme.Dialog.Night</item>
<item name="colorControlNormal">@color/accent</item>
</style>
@ -86,8 +92,8 @@
</style>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat">
<item name="android:textColorPrimary">@color/primary_text</item>
<item name="actionMenuTextColor">@color/primary_text</item>
<item name="android:textColorPrimary">@color/textDarkPrimary</item>
<item name="actionMenuTextColor">@color/textDarkPrimary</item>
</style>
<style name="AppTheme.Dialog" parent="Theme.AppCompat.Light.Dialog.Alert">