[wip] Initial add incognito mode

pull/163/head
Zakhar Timoshenko 4 years ago
parent abf5c8fb3c
commit 71351ad701

@ -112,6 +112,10 @@ class AppSettings(context: Context) {
val isHistoryExcludeNsfw: Boolean
get() = prefs.getBoolean(KEY_HISTORY_EXCLUDE_NSFW, false)
var isIncognitoModeEnabled: Boolean
get() = prefs.getBoolean(KEY_INCOGNITO_MODE, false)
set(value) = prefs.edit { putBoolean(KEY_INCOGNITO_MODE, value) }
var chaptersReverse: Boolean
get() = prefs.getBoolean(KEY_REVERSE_CHAPTERS, false)
set(value) = prefs.edit { putBoolean(KEY_REVERSE_CHAPTERS, value) }
@ -310,6 +314,7 @@ class AppSettings(context: Context) {
const val KEY_ALL_FAVOURITES_VISIBLE = "all_favourites_visible"
const val KEY_DOH = "doh"
const val KEY_EXIT_CONFIRM = "exit_confirm"
const val KEY_INCOGNITO_MODE = "incognito"
// About
const val KEY_APP_UPDATE = "app_update"

@ -65,7 +65,7 @@ class HistoryRepository(
}
suspend fun addOrUpdate(manga: Manga, chapterId: Long, page: Int, scroll: Int, percent: Float) {
if (manga.isNsfw && settings.isHistoryExcludeNsfw) {
if (manga.isNsfw && settings.isHistoryExcludeNsfw || settings.isIncognitoModeEnabled) {
return
}
val tags = manga.tags.toEntities()

@ -239,19 +239,15 @@ class MainActivity :
when (itemId) {
R.id.nav_library -> {
setPrimaryFragment(LibraryFragment.newInstance())
binding.root.isLiftAppBarOnScroll = true // придумать лучше
}
R.id.nav_explore -> {
setPrimaryFragment(ExploreFragment.newInstance())
binding.root.isLiftAppBarOnScroll = true // --//--
}
R.id.nav_feed -> {
setPrimaryFragment(FeedFragment.newInstance())
binding.root.isLiftAppBarOnScroll = true // --//--
}
R.id.nav_tools -> {
setPrimaryFragment(ToolsFragment.newInstance())
binding.root.isLiftAppBarOnScroll = true // --//--
}
else -> return false
}

@ -6,6 +6,7 @@ import android.transition.TransitionManager
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.CompoundButton
import androidx.annotation.ColorInt
import androidx.core.graphics.ColorUtils
import androidx.core.graphics.Insets
@ -26,7 +27,8 @@ import org.koitharu.kotatsu.utils.FileSize
import org.koitharu.kotatsu.utils.ext.getThemeColor
import com.google.android.material.R as materialR
class ToolsFragment : BaseFragment<FragmentToolsBinding>(), View.OnClickListener {
class ToolsFragment : BaseFragment<FragmentToolsBinding>(), CompoundButton.OnCheckedChangeListener, View.OnClickListener {
private var updateChecker: AppUpdateChecker? = null
private val viewModel by viewModel<ToolsViewModel>()
@ -41,6 +43,7 @@ class ToolsFragment : BaseFragment<FragmentToolsBinding>(), View.OnClickListener
binding.buttonDownloads.setOnClickListener(this)
binding.cardUpdate.root.setOnClickListener(this)
binding.cardUpdate.buttonDownload.setOnClickListener(this)
binding.incognito.setOnCheckedChangeListener(this)
viewModel.storageUsage.observe(viewLifecycleOwner, ::onStorageUsageChanged)
}
@ -52,6 +55,10 @@ class ToolsFragment : BaseFragment<FragmentToolsBinding>(), View.OnClickListener
}
}
override fun onCheckedChanged(button: CompoundButton?, isChecked: Boolean) {
// TODO Incognito enabling logic
}
override fun onWindowInsetsChanged(insets: Insets) {
binding.root.updatePadding(
left = insets.left,

@ -0,0 +1,11 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M17.06 13C15.2 13 13.64 14.33 13.24 16.1C12.29 15.69 11.42 15.8 10.76 16.09C10.35 14.31 8.79 13 6.94 13C4.77 13 3 14.79 3 17C3 19.21 4.77 21 6.94 21C9 21 10.68 19.38 10.84 17.32C11.18 17.08 12.07 16.63 13.16 17.34C13.34 19.39 15 21 17.06 21C19.23 21 21 19.21 21 17C21 14.79 19.23 13 17.06 13M6.94 19.86C5.38 19.86 4.13 18.58 4.13 17S5.39 14.14 6.94 14.14C8.5 14.14 9.75 15.42 9.75 17S8.5 19.86 6.94 19.86M17.06 19.86C15.5 19.86 14.25 18.58 14.25 17S15.5 14.14 17.06 14.14C18.62 14.14 19.88 15.42 19.88 17S18.61 19.86 17.06 19.86M22 10.5H2V12H22V10.5M15.53 2.63C15.31 2.14 14.75 1.88 14.22 2.05L12 2.79L9.77 2.05L9.72 2.04C9.19 1.89 8.63 2.17 8.43 2.68L6 9H18L15.56 2.68L15.53 2.63Z" />
</vector>

@ -20,8 +20,7 @@
android:layout_height="wrap_content"
android:clipToPadding="false"
android:fitsSystemWindows="true"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingHorizontal="16dp"
android:stateListAnimator="@null">
<FrameLayout

@ -27,6 +27,18 @@
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/margin_small" />
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/incognito"
android:layout_width="match_parent"
android:layout_height="?android:listPreferredItemHeightSmall"
android:drawableStart="@drawable/ic_incognito"
android:drawablePadding="?android:listPreferredItemPaddingStart"
android:paddingStart="?android:listPreferredItemPaddingStart"
android:paddingEnd="?android:listPreferredItemPaddingEnd"
android:text="Incognito mode"
android:textAppearance="?attr/textAppearanceButton"
android:textColor="?attr/colorControlNormal"/>
<org.koitharu.kotatsu.base.ui.widgets.ListItemTextView
android:id="@+id/button_downloads"
android:layout_width="match_parent"

Loading…
Cancel
Save