Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -136,19 +136,15 @@ dependencies {
implementation 'org.tukaani:xz:1.10'

// 7-Zip-JBinding-4Android 16.02-2.03+ API21
//implementation 'com.github.omicronapps:7-Zip-JBinding-4Android:Release-16.02-2.02'
//implementation 'com.github.edeso:7-Zip-JBinding-4Android-test:2025.01.25'
//implementation 'com.github.lings03:7-Zip-JBinding-4Android:2024.12'
//implementation 'com.sorrowblue.sevenzipjbinding:7-Zip-JBinding-4Android:16.02-2.03'
implementation 'com.github.edeso:7-Zip-JBinding-4Android:2025.01.26-1'

implementation 'com.github.luben:zstd-jni:1.5.6-9@aar'
implementation 'org.brotli:dec:0.1.2'
// jp2-android 1.0.4+ API21, gemalto aar vanished from jcenter
//implementation 'com.gemalto.jp2:jp2-android:1.0.3'
//implementation files('lib/jp2-android-1.0.3.aar')
implementation 'dev.keiji.jp2:jp2-android:1.0.5'

implementation "androidx.preference:preference:1.2.1"

// workaround fix 'Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules ...'
//implementation(platform("org.jetbrains.kotlin:kotlin-bom:2.0.0"))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.nkanaev.comics.fragment.AboutFragment;
import com.nkanaev.comics.fragment.BrowserFragment;
import com.nkanaev.comics.fragment.LibraryFragment;
import com.nkanaev.comics.fragment.PreferencesFragment;
import com.nkanaev.comics.managers.LocalCoverHandler;
import com.nkanaev.comics.managers.Scanner;
import com.nkanaev.comics.managers.Utils;
Expand Down Expand Up @@ -204,6 +205,9 @@ public boolean onNavigationItemSelected(MenuItem menuItem) {
case R.id.drawer_menu_about:
setFragment(new AboutFragment());
break;
case R.id.drawer_menu_preferences:
setFragment(new PreferencesFragment());
break;
}

mCurrentNavItem = menuItem.getItemId();
Expand Down
50 changes: 43 additions & 7 deletions app/src/main/java/com/nkanaev/comics/activity/ReaderActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.OnApplyWindowInsetsListener;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.graphics.Insets;
import androidx.fragment.app.Fragment;
import com.nkanaev.comics.BuildConfig;
import com.nkanaev.comics.R;
Expand Down Expand Up @@ -46,8 +50,9 @@ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_reader);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_reader);
setSupportActionBar(toolbar);
initToolBar();
initBottomNavigation();
initActionBar();

if (savedInstanceState == null) {
if (Intent.ACTION_VIEW.equals(getIntent().getAction())) {
Expand All @@ -66,14 +71,45 @@ public void onCreate(Bundle savedInstanceState) {
setFragment(fragment);
}
}
}

private void initToolBar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_reader);
setSupportActionBar(toolbar);

ViewCompat.setOnApplyWindowInsetsListener(toolbar, new OnApplyWindowInsetsListener() {
public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
Insets systemBarInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(0, systemBarInsets.top, 0, 0);

return WindowInsetsCompat.CONSUMED;
}
});
}

private void initBottomNavigation() {
View navWrapper = findViewById(R.id.reader_bottom_nav_wrapper);

ViewCompat.setOnApplyWindowInsetsListener(navWrapper, new OnApplyWindowInsetsListener() {
public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
Insets systemBarInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(0, 0, 0, systemBarInsets.bottom);

return WindowInsetsCompat.CONSUMED;
}
});
}

private void initActionBar() {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.action_bar_title_layout);
actionBar.setTitle("");
if (actionBar == null) {
return;
}

actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.action_bar_title_layout);
actionBar.setTitle("");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.nkanaev.comics.fragment;

import android.os.Bundle;

import androidx.preference.PreferenceFragmentCompat;

import com.nkanaev.comics.R;

public class PreferencesFragment extends PreferenceFragmentCompat {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

getActivity().setTitle(R.string.menu_preferences);
}

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.preferences, rootKey);
}
}
Loading