Remove location preference menu

pull/1376/head
Alex Baker 4 years ago
parent f161518c59
commit fe1fc3eef2

@ -4,10 +4,7 @@ import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import org.tasks.location.LocationService
import org.tasks.location.LocationServiceAndroid
import org.tasks.location.MapFragment
import org.tasks.location.OsmMapFragment
import org.tasks.location.*
@Module
@InstallIn(SingletonComponent::class)
@ -17,4 +14,7 @@ class FlavorModule {
@Provides
fun getMapFragment(osm: OsmMapFragment): MapFragment = osm
@Provides
fun getGeocoder(nominatim: GeocoderNominatim): Geocoder = nominatim
}

@ -6,5 +6,4 @@
<!--suppress CheckTagEmptyBody -->
<string name="manage_subscription_url">%s</string>
<string name="support_email">support@tasks.org</string>
<string name="default_reverse_geocoder">1</string> <!-- Nominatim -->
</resources>

@ -26,4 +26,7 @@ class FlavorModule {
osm: Lazy<OsmMapFragment>,
google: Lazy<GoogleMapFragment>,
): MapFragment = if (PlayServices.isAvailable(context)) google.get() else osm.get()
@Provides
fun getGeocoder(mapbox: GeocoderMapbox): Geocoder = mapbox
}

@ -5,5 +5,4 @@
<string name="p_purchases">purchases</string>
<string name="manage_subscription_url">https://play.google.com/store/account/subscriptions?sku=%s&amp;package=org.tasks</string>
<string name="support_email">play-support@tasks.org</string>
<string name="default_reverse_geocoder">0</string> <!-- Mapbox -->
</resources>

@ -7,21 +7,13 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import org.tasks.DebugNetworkInterceptor
import org.tasks.R
import org.tasks.analytics.Firebase
import org.tasks.billing.BillingClient
import org.tasks.billing.BillingClientImpl
import org.tasks.billing.Inventory
import org.tasks.data.*
import org.tasks.http.HttpClientFactory
import org.tasks.locale.Locale
import org.tasks.location.Geocoder
import org.tasks.location.GeocoderAndroid
import org.tasks.location.GeocoderMapbox
import org.tasks.location.GeocoderNominatim
import org.tasks.notifications.NotificationDao
import org.tasks.preferences.Preferences
import javax.inject.Singleton
@Module
@ -102,16 +94,4 @@ class ApplicationModule {
@Provides
fun getBillingClient(@ApplicationContext context: Context, inventory: Inventory, firebase: Firebase): BillingClient
= BillingClientImpl(context, inventory, firebase)
@Provides
fun getGeocoder(
@ApplicationContext context: Context,
httpClientFactory: HttpClientFactory,
preferences: Preferences,
interceptor: DebugNetworkInterceptor,
): Geocoder = when (preferences.getIntegerFromString(R.string.p_reverse_geocoder, 0)) {
1 -> GeocoderNominatim(context, httpClientFactory)
2 -> GeocoderAndroid(context)
else -> GeocoderMapbox(context, preferences, interceptor)
}
}

@ -172,7 +172,6 @@ class Preferences @JvmOverloads constructor(
PreferenceManager.setDefaultValues(context, R.xml.preferences_look_and_feel, true)
PreferenceManager.setDefaultValues(context, R.xml.preferences_notifications, true)
PreferenceManager.setDefaultValues(context, R.xml.preferences_task_defaults, true)
PreferenceManager.setDefaultValues(context, R.xml.preferences_location, true)
PreferenceManager.setDefaultValues(context, R.xml.preferences_date_and_time, true)
PreferenceManager.setDefaultValues(context, R.xml.preferences_navigation_drawer, true)
PreferenceManager.setDefaultValues(context, R.xml.preferences_backups, true)

@ -1,58 +0,0 @@
package org.tasks.preferences.fragments
import android.content.Intent
import android.os.Bundle
import androidx.preference.SwitchPreference
import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R
import org.tasks.billing.Inventory
import org.tasks.injection.InjectingPreferenceFragment
import org.tasks.location.LocationPermissionDialog.Companion.newLocationPermissionDialog
import org.tasks.preferences.PermissionChecker
import org.tasks.preferences.Preferences
import javax.inject.Inject
@AndroidEntryPoint
class LocationPreferences : InjectingPreferenceFragment() {
@Inject lateinit var permissionChecker: PermissionChecker
@Inject lateinit var preferences: Preferences
override fun getPreferenceXml() = R.xml.preferences_location
override suspend fun setupPreferences(savedInstanceState: Bundle?) {
}
override fun onResume() {
super.onResume()
updatePermissions()
}
private fun updatePermissions() {
val hasPermissions = permissionChecker.canAccessBackgroundLocation()
preferences.setBoolean(R.string.p_location_based_reminders, hasPermissions)
with((findPreference(R.string.p_location_based_reminders) as SwitchPreference)) {
isChecked = hasPermissions
isEnabled = !hasPermissions
setOnPreferenceClickListener {
if (!permissionChecker.canAccessBackgroundLocation()) {
newLocationPermissionDialog(this@LocationPreferences, REQUEST_BACKGROUND_LOCATION)
.show(parentFragmentManager, FRAG_TAG_LOCATION_PERMISSION)
}
false
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) =
when (requestCode) {
REQUEST_BACKGROUND_LOCATION -> updatePermissions()
else -> super.onActivityResult(requestCode, resultCode, data)
}
companion object {
private const val FRAG_TAG_LOCATION_PERMISSION = "frag_tag_location_permissions"
private const val REQUEST_BACKGROUND_LOCATION = 10101
}
}

@ -697,9 +697,7 @@
<string name="tasks_org_account">Tasks.org cuenta</string>
<string name="subscription">Suscripción</string>
<string name="widget_show_title">Mostrar título</string>
<string name="location_based_reminders">Recordatorios basados en la ubicación</string>
<string name="map_theme_use_app_theme">Utilizar el tema de la aplicación</string>
<string name="reverse_geocoder">Geocodificador inverso</string>
<string name="tasks_org_account_required">Se requiere una cuenta de Tasks.org</string>
<string name="map_theme">Tema del mapa</string>
</resources>

@ -692,9 +692,7 @@
<string name="tasks_org_account">Compte Tasks.org</string>
<string name="subscription">Abonnement</string>
<string name="widget_show_title">Afficher le titre</string>
<string name="reverse_geocoder">Géocodeur inversé</string>
<string name="map_theme">Thème de la carte</string>
<string name="location_based_reminders">Rappels basés sur la localisation</string>
<string name="map_theme_use_app_theme">Utiliser le thème de lapplication</string>
<string name="tasks_org_account_required">Compte Tasks.org requis</string>
</resources>

@ -695,8 +695,6 @@
<string name="default_start_date">Alapértelmezett kezdő dátum</string>
<string name="SSD_sort_start">Kezdés dátuma szerint</string>
<string name="widget_show_title">Cím megjelenítése</string>
<string name="location_based_reminders">Hely alapú emlékeztetők</string>
<string name="reverse_geocoder">Fordított geokódoló</string>
<string name="map_theme_use_app_theme">Alkalmazás témájának használata</string>
<string name="tasks_org_account_required">Tasks.org fiók szükséges</string>
<string name="map_theme">Térkép téma</string>

@ -692,8 +692,6 @@
<string name="tasks_org_account">Tasks.org account</string>
<string name="subscription">Abonnement</string>
<string name="widget_show_title">Toon titel</string>
<string name="reverse_geocoder">Omgekeerde geocoder</string>
<string name="location_based_reminders">Locatiegebaseerde herinneringen</string>
<string name="map_theme">Kaartthema</string>
<string name="map_theme_use_app_theme">Gebruik app-thema</string>
<string name="tasks_org_account_required">Vereist een Tasks.org account</string>

@ -717,9 +717,7 @@
<string name="tasks_org_account">Обліковий запис Tasks.org</string>
<string name="subscription">Підписка</string>
<string name="widget_show_title">Показати заголовок</string>
<string name="location_based_reminders">Нагадування на основі розташування</string>
<string name="map_theme_use_app_theme">Використовувати тему застосунку</string>
<string name="reverse_geocoder">Зворотний геокодер</string>
<string name="tasks_org_account_required">Потрібен обліковий запис Tasks.org</string>
<string name="map_theme">Тема карти</string>
</resources>

@ -687,9 +687,7 @@
<string name="tasks_org_account">Tasks.org 账户</string>
<string name="subscription">订阅</string>
<string name="widget_show_title">显示标题</string>
<string name="location_based_reminders">基于位置的提醒</string>
<string name="map_theme_use_app_theme">使用应用主题</string>
<string name="reverse_geocoder">反向地理编码器</string>
<string name="tasks_org_account_required">需要 Tasks.org 账户</string>
<string name="map_theme">地图主题</string>
</resources>

@ -258,18 +258,6 @@
<item>@drawable/ic_octocat</item>
</array>
<string-array name="reverse_geocoder_names">
<item>@string/mapbox</item>
<item>@string/nominatim</item>
<item>@string/android</item>
</string-array>
<string-array name="reverse_geocoder_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="map_theme_names">
<item>@string/map_theme_use_app_theme</item>
<item>@string/theme_light</item>

@ -394,10 +394,6 @@
<string name="p_always_display_full_date">always_display_full_date</string>
<string name="p_linkify_task_list">linkify_task_list</string>
<string name="p_linkify_task_edit">linkify_task_edit</string>
<string name="mapbox">Mapbox</string>
<string name="nominatim">Nominatim</string>
<string name="android">Android</string>
<string name="p_location_based_reminders">location_based_reminders</string>
<string name="preference_screen">preference_screen</string>
<string name="p_add_to_top">google_tasks_add_to_top</string>
<string name="p_google_tasks_position_hack">google_tasks_position_hack</string>
@ -444,6 +440,5 @@
<string name="event_sync_add_account">sync_add_account</string>
<string name="legacy_etesync">legacy_etesync</string>
<string name="param_type">type</string>
<string name="p_reverse_geocoder">reverse_geocoder</string>
<string name="p_map_theme">map_theme</string>
</resources>

@ -701,5 +701,4 @@ File %1$s contained %2$s.\n\n
<string name="account_not_included">Not included with \'Name your price\' subscriptions</string>
<string name="reverse_geocoder">Reverse geocoder</string>
<string name="map_theme_use_app_theme">Use app theme</string>
<string name="location_based_reminders">Location-based reminders</string>
</resources>

@ -23,11 +23,6 @@
app:icon="@drawable/ic_outline_edit_24px"
app:title="@string/task_defaults" />
<Preference
app:fragment="org.tasks.preferences.fragments.LocationPreferences"
app:icon="@drawable/ic_outline_place_24px"
app:title="@string/TEA_control_location" />
<Preference
app:fragment="org.tasks.preferences.fragments.DateAndTime"
app:icon="@drawable/ic_outline_schedule_24px"

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="@string/preference_screen">
<PreferenceCategory
android:title="@string/location_based_reminders">
<SwitchPreference
android:defaultValue="false"
android:key="@string/p_location_based_reminders"
android:title="@string/enabled" />
</PreferenceCategory>
<PreferenceCategory
android:key="@string/places"
android:title="@string/places">
<ListPreference
android:defaultValue="@string/default_reverse_geocoder"
android:key="@string/p_reverse_geocoder"
android:title="@string/reverse_geocoder"
android:entries="@array/reverse_geocoder_names"
android:entryValues="@array/reverse_geocoder_values"
android:summary="%s"/>
</PreferenceCategory>
</PreferenceScreen>
Loading…
Cancel
Save