Fix build without nearby services

This commit is contained in:
Marvin W 2020-12-13 16:13:48 +01:00
parent b842af98fa
commit 99a2293c77
No known key found for this signature in database
GPG Key ID: 072E9235DB996F2A
4 changed files with 10 additions and 4 deletions

View File

@ -37,7 +37,7 @@ class SettingsFragment : ResourceSettingsFragment() {
findNavController().navigate(requireContext(), R.id.openUnifiedNlpSettings)
true
}
findPreference<Preference>(PREF_EXPOSURE)!!.onPreferenceClickListener = Preference.OnPreferenceClickListener {
findPreference<Preference>(PREF_EXPOSURE)?.onPreferenceClickListener = Preference.OnPreferenceClickListener {
findNavController().navigate(requireContext(), NearbyPreferencesIntegration.exposureNotificationNavigationId)
true
}
@ -71,8 +71,9 @@ class SettingsFragment : ResourceSettingsFragment() {
val backendCount = UnifiedLocationClient[requireContext()].getLocationBackends().size + UnifiedLocationClient[requireContext()].getGeocoderBackends().size
findPreference<Preference>(PREF_UNIFIEDNLP)!!.summary = resources.getQuantityString(R.plurals.pref_unifiednlp_summary, backendCount, backendCount);
findPreference<Preference>(PREF_EXPOSURE)!!.isVisible = NearbyPreferencesIntegration.isAvailable
findPreference<Preference>(PREF_EXPOSURE)!!.summary = NearbyPreferencesIntegration.getExposurePreferenceSummary(requireContext())
findPreference<Preference>(PREF_EXPOSURE)?.isVisible = NearbyPreferencesIntegration.isAvailable
findPreference<Preference>(PREF_EXPOSURE)?.icon = NearbyPreferencesIntegration.getIcon(requireContext())
findPreference<Preference>(PREF_EXPOSURE)?.summary = NearbyPreferencesIntegration.getExposurePreferenceSummary(requireContext())
}
companion object {

View File

@ -63,7 +63,6 @@
android:key="pref_unifiednlp"
android:title="@string/nlp_backends_title" />
<Preference
android:icon="@drawable/ic_virus_outline"
android:key="pref_exposure"
android:title="@string/service_name_exposure"
app:isPreferenceVisible="false" />

View File

@ -7,7 +7,9 @@ package org.microg.gms.ui
import android.content.Context
import android.content.Intent
import android.graphics.drawable.Drawable
import android.net.Uri
import androidx.core.content.ContextCompat
import com.google.android.gms.R
import org.microg.gms.nearby.exposurenotification.Constants
import org.microg.gms.nearby.exposurenotification.getExposureNotificationsServiceInfo
@ -26,6 +28,8 @@ interface NearbyPreferencesIntegration {
}
}
fun getIcon(context: Context): Drawable? = ContextCompat.getDrawable(context, org.microg.gms.nearby.core.R.drawable.ic_virus_outline)
val isAvailable: Boolean = android.os.Build.VERSION.SDK_INT >= 21
const val exposureNotificationNavigationId: Int = R.id.openExposureNotificationSettings

View File

@ -7,12 +7,14 @@ package org.microg.gms.ui
import android.content.Context
import android.content.Intent
import android.graphics.drawable.Drawable
import com.google.android.gms.R
interface NearbyPreferencesIntegration {
companion object {
suspend fun getExposurePreferenceSummary(context: Context): String = context.getString(R.string.service_status_disabled_short)
fun preProcessSettingsIntent(intent: Intent) {}
fun getIcon(context: Context): Drawable? = null
const val exposureNotificationNavigationId: Int = 0
const val isAvailable: Boolean = false
}