|
|
|
@ -13,6 +13,7 @@ import androidx.core.graphics.Insets
|
|
|
|
import androidx.core.view.isVisible
|
|
|
|
import androidx.core.view.isVisible
|
|
|
|
import androidx.core.view.updatePadding
|
|
|
|
import androidx.core.view.updatePadding
|
|
|
|
import androidx.core.widget.TextViewCompat
|
|
|
|
import androidx.core.widget.TextViewCompat
|
|
|
|
|
|
|
|
import com.google.android.material.R as materialR
|
|
|
|
import com.google.android.material.color.MaterialColors
|
|
|
|
import com.google.android.material.color.MaterialColors
|
|
|
|
import org.koin.androidx.viewmodel.ext.android.viewModel
|
|
|
|
import org.koin.androidx.viewmodel.ext.android.viewModel
|
|
|
|
import org.koitharu.kotatsu.R
|
|
|
|
import org.koitharu.kotatsu.R
|
|
|
|
@ -25,10 +26,11 @@ import org.koitharu.kotatsu.settings.SettingsActivity
|
|
|
|
import org.koitharu.kotatsu.settings.tools.model.StorageUsage
|
|
|
|
import org.koitharu.kotatsu.settings.tools.model.StorageUsage
|
|
|
|
import org.koitharu.kotatsu.utils.FileSize
|
|
|
|
import org.koitharu.kotatsu.utils.FileSize
|
|
|
|
import org.koitharu.kotatsu.utils.ext.getThemeColor
|
|
|
|
import org.koitharu.kotatsu.utils.ext.getThemeColor
|
|
|
|
import com.google.android.material.R as materialR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ToolsFragment :
|
|
|
|
class ToolsFragment : BaseFragment<FragmentToolsBinding>(), CompoundButton.OnCheckedChangeListener, View.OnClickListener {
|
|
|
|
BaseFragment<FragmentToolsBinding>(),
|
|
|
|
|
|
|
|
CompoundButton.OnCheckedChangeListener,
|
|
|
|
|
|
|
|
View.OnClickListener {
|
|
|
|
|
|
|
|
|
|
|
|
private var updateChecker: AppUpdateChecker? = null
|
|
|
|
private var updateChecker: AppUpdateChecker? = null
|
|
|
|
private val viewModel by viewModel<ToolsViewModel>()
|
|
|
|
private val viewModel by viewModel<ToolsViewModel>()
|
|
|
|
@ -43,8 +45,11 @@ class ToolsFragment : BaseFragment<FragmentToolsBinding>(), CompoundButton.OnChe
|
|
|
|
binding.buttonDownloads.setOnClickListener(this)
|
|
|
|
binding.buttonDownloads.setOnClickListener(this)
|
|
|
|
binding.cardUpdate.root.setOnClickListener(this)
|
|
|
|
binding.cardUpdate.root.setOnClickListener(this)
|
|
|
|
binding.cardUpdate.buttonDownload.setOnClickListener(this)
|
|
|
|
binding.cardUpdate.buttonDownload.setOnClickListener(this)
|
|
|
|
binding.incognito.setOnCheckedChangeListener(this)
|
|
|
|
binding.switchIncognito.setOnCheckedChangeListener(this)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
viewModel.isIncognitoModeEnabled.observe(viewLifecycleOwner) {
|
|
|
|
|
|
|
|
binding.switchIncognito.isChecked = it
|
|
|
|
|
|
|
|
}
|
|
|
|
viewModel.storageUsage.observe(viewLifecycleOwner, ::onStorageUsageChanged)
|
|
|
|
viewModel.storageUsage.observe(viewLifecycleOwner, ::onStorageUsageChanged)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -56,7 +61,7 @@ class ToolsFragment : BaseFragment<FragmentToolsBinding>(), CompoundButton.OnChe
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun onCheckedChanged(button: CompoundButton?, isChecked: Boolean) {
|
|
|
|
override fun onCheckedChanged(button: CompoundButton?, isChecked: Boolean) {
|
|
|
|
// TODO Incognito enabling logic
|
|
|
|
viewModel.toggleIncognitoMode(isChecked)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun onWindowInsetsChanged(insets: Insets) {
|
|
|
|
override fun onWindowInsetsChanged(insets: Insets) {
|
|
|
|
@ -77,19 +82,19 @@ class ToolsFragment : BaseFragment<FragmentToolsBinding>(), CompoundButton.OnChe
|
|
|
|
val pattern = getString(R.string.memory_usage_pattern)
|
|
|
|
val pattern = getString(R.string.memory_usage_pattern)
|
|
|
|
labelStorage.text = pattern.format(
|
|
|
|
labelStorage.text = pattern.format(
|
|
|
|
FileSize.BYTES.format(root.context, usage.savedManga.bytes),
|
|
|
|
FileSize.BYTES.format(root.context, usage.savedManga.bytes),
|
|
|
|
getString(R.string.saved_manga)
|
|
|
|
getString(R.string.saved_manga),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
labelPagesCache.text = pattern.format(
|
|
|
|
labelPagesCache.text = pattern.format(
|
|
|
|
FileSize.BYTES.format(root.context, usage.pagesCache.bytes),
|
|
|
|
FileSize.BYTES.format(root.context, usage.pagesCache.bytes),
|
|
|
|
getString(R.string.pages_cache)
|
|
|
|
getString(R.string.pages_cache),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
labelOtherCache.text = pattern.format(
|
|
|
|
labelOtherCache.text = pattern.format(
|
|
|
|
FileSize.BYTES.format(root.context, usage.otherCache.bytes),
|
|
|
|
FileSize.BYTES.format(root.context, usage.otherCache.bytes),
|
|
|
|
getString(R.string.other_cache)
|
|
|
|
getString(R.string.other_cache),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
labelAvailable.text = pattern.format(
|
|
|
|
labelAvailable.text = pattern.format(
|
|
|
|
FileSize.BYTES.format(root.context, usage.available.bytes),
|
|
|
|
FileSize.BYTES.format(root.context, usage.available.bytes),
|
|
|
|
getString(R.string.available)
|
|
|
|
getString(R.string.available),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
TextViewCompat.setCompoundDrawableTintList(labelStorage, ColorStateList.valueOf(storageSegment.color))
|
|
|
|
TextViewCompat.setCompoundDrawableTintList(labelStorage, ColorStateList.valueOf(storageSegment.color))
|
|
|
|
TextViewCompat.setCompoundDrawableTintList(labelPagesCache, ColorStateList.valueOf(pagesSegment.color))
|
|
|
|
TextViewCompat.setCompoundDrawableTintList(labelPagesCache, ColorStateList.valueOf(pagesSegment.color))
|
|
|
|
|