diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/FilterPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/FilterPreference.kt deleted file mode 100644 index 31c109004..000000000 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/FilterPreference.kt +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Aurora Store - * Copyright (C) 2021, Rahul Kumar Patel - * - * Aurora Store is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * Aurora Store is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Aurora Store. If not, see . - * - */ - -package com.aurora.store.view.ui.preferences - -import android.os.Bundle -import android.view.View -import androidx.appcompat.widget.Toolbar -import androidx.navigation.fragment.findNavController -import androidx.preference.PreferenceFragmentCompat -import com.aurora.store.R -import dagger.hilt.android.AndroidEntryPoint - -@AndroidEntryPoint -class FilterPreference : PreferenceFragmentCompat() { - - override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { - setPreferencesFromResource(R.xml.preferences_filter, rootKey) - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - view.findViewById(R.id.toolbar)?.apply { - title = getString(R.string.action_filter) - setNavigationOnClickListener { findNavController().navigateUp() } - } - } -} diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/SettingsFragment.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/SettingsFragment.kt index 8e9e5aaa2..efd8b043e 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/SettingsFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/SettingsFragment.kt @@ -34,10 +34,6 @@ class SettingsFragment : PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.preferences_settings, rootKey) - findPreference("pref_filter")?.setOnPreferenceClickListener { - findNavController().navigate(R.id.filterPreference) - true - } findPreference("pref_install")?.setOnPreferenceClickListener { findNavController().navigate(R.id.installationPreference) true diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/UpdatesPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/UpdatesPreference.kt index 96e5f7f69..ca1bbb940 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/UpdatesPreference.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/UpdatesPreference.kt @@ -30,6 +30,10 @@ import com.aurora.store.R import com.aurora.store.data.helper.UpdateHelper import com.aurora.store.data.model.PermissionType import com.aurora.store.data.model.UpdateMode +import com.aurora.store.util.Preferences +import com.aurora.store.util.Preferences.PREFERENCE_FILTER_AURORA_ONLY +import com.aurora.store.util.Preferences.PREFERENCE_FILTER_FDROID +import com.aurora.store.util.Preferences.PREFERENCE_FILTER_GOOGLE import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_EXTENDED @@ -46,10 +50,19 @@ class UpdatesPreference : BasePreferenceFragment() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.preferences_updates, rootKey) + val nonAuroraFilters: List = listOfNotNull( + findPreference(PREFERENCE_FILTER_FDROID), + findPreference(PREFERENCE_FILTER_GOOGLE) + ) + findPreference(PREFERENCE_UPDATES_AUTO) ?.setOnPreferenceChangeListener { _, newValue -> + val updateCheckIntervalPref = + findPreference(PREFERENCE_UPDATES_CHECK_INTERVAL) + when (UpdateMode.entries[newValue.toString().toInt()]) { UpdateMode.DISABLED -> { + updateCheckIntervalPref?.isEnabled = false updateHelper.cancelAutomatedCheck() requireContext().save(PREFERENCE_UPDATES_AUTO, 0) true @@ -57,11 +70,13 @@ class UpdatesPreference : BasePreferenceFragment() { UpdateMode.CHECK_AND_NOTIFY -> { if (permissionProvider.isGranted(PermissionType.POST_NOTIFICATIONS)) { + updateCheckIntervalPref?.isEnabled = true updateHelper.scheduleAutomatedCheck() true } else { permissionProvider.request(PermissionType.POST_NOTIFICATIONS) { if (it) { + updateCheckIntervalPref?.isEnabled = true requireContext().save(PREFERENCE_UPDATES_AUTO, 1) updateHelper.scheduleAutomatedCheck() activity?.recreate() @@ -73,11 +88,13 @@ class UpdatesPreference : BasePreferenceFragment() { UpdateMode.CHECK_AND_INSTALL -> { if (permissionProvider.isGranted(PermissionType.DOZE_WHITELIST)) { + updateCheckIntervalPref?.isEnabled = true updateHelper.scheduleAutomatedCheck() true } else { permissionProvider.request(PermissionType.DOZE_WHITELIST) { if (it) { + updateCheckIntervalPref?.isEnabled = true requireContext().save(PREFERENCE_UPDATES_AUTO, 2) updateHelper.scheduleAutomatedCheck() activity?.recreate() @@ -91,11 +108,28 @@ class UpdatesPreference : BasePreferenceFragment() { } } - findPreference(PREFERENCE_UPDATES_CHECK_INTERVAL) - ?.setOnPreferenceChangeListener { _, _ -> + findPreference(PREFERENCE_UPDATES_CHECK_INTERVAL)?.apply { + isEnabled = Preferences.getInteger(requireContext(), PREFERENCE_UPDATES_AUTO) != 0 + setOnPreferenceChangeListener { _, _ -> updateHelper.updateAutomatedCheck() true } + } + + findPreference(PREFERENCE_FILTER_AURORA_ONLY) + ?.setOnPreferenceChangeListener { _, newValue -> + nonAuroraFilters.forEach { it.isEnabled = !newValue.toString().toBoolean() } + updateHelper.checkUpdatesNow() + true + } + + nonAuroraFilters.forEach { + it.isEnabled = !Preferences.getBoolean(requireContext(), PREFERENCE_FILTER_AURORA_ONLY) + it.setOnPreferenceChangeListener { _, _ -> + updateHelper.checkUpdatesNow() + true + } + } findPreference(PREFERENCE_UPDATES_EXTENDED) ?.setOnPreferenceChangeListener { _, _ -> diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index 7fa84d98f..249a94b0f 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -97,11 +97,6 @@ android:name="com.aurora.store.view.ui.preferences.SettingsFragment" android:label="@string/title_settings" tools:layout="@layout/fragment_setting" /> - "This setting will be applied after you restart the app" "Download using WiFi only" "Selected path is not writable" - "Ignore F-Droid apps from Updates and Installed apps" + "Don't check updates for apps downloaded or installed from F-Droid" "Filter F-Droid apps" - "Ignore Google apps from Updates and Installed apps" + "Don't check updates for Google apps" "Filter Google apps" Downloaded APKs will be deleted immediately after installation "Delete APK post-install" @@ -240,7 +240,7 @@ Incompatible updates Show updates for incompatible or disabled apps that may fail to install Aurora Store apps only - Show only Aurora Store installed apps in Updates and Installed apps + Only check updates for apps installed by Aurora Store "Download Failed" "App not purchased" "App not supported" diff --git a/app/src/main/res/xml/preferences_filter.xml b/app/src/main/res/xml/preferences_filter.xml deleted file mode 100644 index 1a9ef2ace..000000000 --- a/app/src/main/res/xml/preferences_filter.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/xml/preferences_settings.xml b/app/src/main/res/xml/preferences_settings.xml index 7b01c4e0a..2c17ab8fa 100644 --- a/app/src/main/res/xml/preferences_settings.xml +++ b/app/src/main/res/xml/preferences_settings.xml @@ -18,11 +18,6 @@ --> - + + + + + + + +