mirror of
https://github.com/home-assistant/android
synced 2024-07-22 10:54:12 +00:00
Fix lint issues (#618)
* Increase tool version, enable linting again. * Fix lint errors. * Ensure ktlint is working. * Use correct build tools in travis.
This commit is contained in:
parent
0f92172fee
commit
247cef3c72
|
@ -11,7 +11,7 @@ before_install:
|
||||||
android:
|
android:
|
||||||
components:
|
components:
|
||||||
- android-29
|
- android-29
|
||||||
- build-tools-28.0.3
|
- build-tools-29.0.2
|
||||||
|
|
||||||
before_cache:
|
before_cache:
|
||||||
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
||||||
|
|
|
@ -35,8 +35,8 @@ android {
|
||||||
versionName = "${Config.version}-$vCode"
|
versionName = "${Config.version}-$vCode"
|
||||||
}
|
}
|
||||||
|
|
||||||
viewBinding {
|
buildFeatures {
|
||||||
isEnabled = true
|
viewBinding = true
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
@ -85,7 +85,6 @@ android {
|
||||||
|
|
||||||
lintOptions {
|
lintOptions {
|
||||||
disable("MissingTranslation")
|
disable("MissingTranslation")
|
||||||
isAbortOnError = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,4 +136,4 @@ dependencies {
|
||||||
|
|
||||||
// This plugin must stay at the bottom
|
// This plugin must stay at the bottom
|
||||||
// https://developers.google.com/android/guides/google-services-plugin
|
// https://developers.google.com/android/guides/google-services-plugin
|
||||||
apply(plugin = "com.google.gms.google-services")
|
apply(plugin = "com.google.gms.google-services")
|
||||||
|
|
|
@ -72,7 +72,7 @@ class LocationBroadcastReceiver : BroadcastReceiver() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupLocationTracking(context: Context) {
|
private fun setupLocationTracking(context: Context) {
|
||||||
if (!PermissionManager.hasLocationPermissions(context)) {
|
if (!PermissionManager.checkLocationPermission(context)) {
|
||||||
Log.w(TAG, "Not starting location reporting because of permissions.")
|
Log.w(TAG, "Not starting location reporting because of permissions.")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -104,6 +104,10 @@ class LocationBroadcastReceiver : BroadcastReceiver() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun requestLocationUpdates(context: Context) {
|
private fun requestLocationUpdates(context: Context) {
|
||||||
|
if (!PermissionManager.checkLocationPermission(context)) {
|
||||||
|
Log.w(TAG, "Not registering for location updates because of permissions.")
|
||||||
|
return
|
||||||
|
}
|
||||||
Log.d(TAG, "Registering for location updates.")
|
Log.d(TAG, "Registering for location updates.")
|
||||||
|
|
||||||
val fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context)
|
val fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context)
|
||||||
|
@ -116,6 +120,11 @@ class LocationBroadcastReceiver : BroadcastReceiver() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun requestZoneUpdates(context: Context) {
|
private suspend fun requestZoneUpdates(context: Context) {
|
||||||
|
if (!PermissionManager.checkLocationPermission(context)) {
|
||||||
|
Log.w(TAG, "Not registering for zone based updates because of permissions.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
Log.d(TAG, "Registering for zone based location updates")
|
Log.d(TAG, "Registering for zone based location updates")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -151,7 +160,10 @@ class LocationBroadcastReceiver : BroadcastReceiver() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (geofencingEvent.triggeringLocation.accuracy > MINIMUM_ACCURACY) {
|
if (geofencingEvent.triggeringLocation.accuracy > MINIMUM_ACCURACY) {
|
||||||
Log.w(TAG, "Geofence location accuracy didn't meet requirements, requesting new location.")
|
Log.w(
|
||||||
|
TAG,
|
||||||
|
"Geofence location accuracy didn't meet requirements, requesting new location."
|
||||||
|
)
|
||||||
requestSingleAccurateLocation(context)
|
requestSingleAccurateLocation(context)
|
||||||
} else {
|
} else {
|
||||||
sendLocationUpdate(geofencingEvent.triggeringLocation)
|
sendLocationUpdate(geofencingEvent.triggeringLocation)
|
||||||
|
@ -222,6 +234,10 @@ class LocationBroadcastReceiver : BroadcastReceiver() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun requestSingleAccurateLocation(context: Context) {
|
private fun requestSingleAccurateLocation(context: Context) {
|
||||||
|
if (!PermissionManager.checkLocationPermission(context)) {
|
||||||
|
Log.w(TAG, "Not getting single accurate location because of permissions.")
|
||||||
|
return
|
||||||
|
}
|
||||||
val maxRetries = 5
|
val maxRetries = 5
|
||||||
val request = createLocationRequest()
|
val request = createLocationRequest()
|
||||||
request.priority = LocationRequest.PRIORITY_HIGH_ACCURACY
|
request.priority = LocationRequest.PRIORITY_HIGH_ACCURACY
|
||||||
|
@ -233,16 +249,26 @@ class LocationBroadcastReceiver : BroadcastReceiver() {
|
||||||
var numberCalls = 0
|
var numberCalls = 0
|
||||||
override fun onLocationResult(locationResult: LocationResult?) {
|
override fun onLocationResult(locationResult: LocationResult?) {
|
||||||
numberCalls++
|
numberCalls++
|
||||||
Log.d(TAG, "Got single accurate location update: ${locationResult?.lastLocation}")
|
Log.d(
|
||||||
|
TAG,
|
||||||
|
"Got single accurate location update: ${locationResult?.lastLocation}"
|
||||||
|
)
|
||||||
if (locationResult != null && locationResult.lastLocation.accuracy <= 1) {
|
if (locationResult != null && locationResult.lastLocation.accuracy <= 1) {
|
||||||
Log.d(TAG, "Location accurate enough, all done with high accuracy.")
|
Log.d(TAG, "Location accurate enough, all done with high accuracy.")
|
||||||
runBlocking { sendLocationUpdate(locationResult.lastLocation) }
|
runBlocking { sendLocationUpdate(locationResult.lastLocation) }
|
||||||
LocationServices.getFusedLocationProviderClient(context).removeLocationUpdates(this)
|
LocationServices.getFusedLocationProviderClient(context)
|
||||||
|
.removeLocationUpdates(this)
|
||||||
} else if (numberCalls >= maxRetries) {
|
} else if (numberCalls >= maxRetries) {
|
||||||
Log.d(TAG, "No location was accurate enough, sending our last location anyway")
|
Log.d(
|
||||||
|
TAG,
|
||||||
|
"No location was accurate enough, sending our last location anyway"
|
||||||
|
)
|
||||||
runBlocking { sendLocationUpdate(locationResult!!.lastLocation) }
|
runBlocking { sendLocationUpdate(locationResult!!.lastLocation) }
|
||||||
} else {
|
} else {
|
||||||
Log.w(TAG, "Location not accurate enough on retry $numberCalls of $maxRetries")
|
Log.w(
|
||||||
|
TAG,
|
||||||
|
"Location not accurate enough on retry $numberCalls of $maxRetries"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -108,11 +108,11 @@ class AuthenticationFragment : Fragment(), AuthenticationView {
|
||||||
// Fragment is at least paused, can't display alert
|
// Fragment is at least paused, can't display alert
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
AlertDialog.Builder(context!!)
|
AlertDialog.Builder(requireContext())
|
||||||
.setTitle(R.string.error_connection_failed)
|
.setTitle(R.string.error_connection_failed)
|
||||||
.setMessage(message)
|
.setMessage(message)
|
||||||
.setPositiveButton(android.R.string.ok) { _, _ -> }
|
.setPositiveButton(android.R.string.ok) { _, _ -> }
|
||||||
.show()
|
.show()
|
||||||
fragmentManager?.popBackStack()
|
parentFragmentManager.popBackStack()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ class DiscoveryFragment : Fragment(), DiscoveryView {
|
||||||
.inject(this)
|
.inject(this)
|
||||||
|
|
||||||
homeAssistantSearcher = HomeAssistantSearcher(
|
homeAssistantSearcher = HomeAssistantSearcher(
|
||||||
getSystemService(context!!, NsdManager::class.java)!!,
|
getSystemService(requireContext(), NsdManager::class.java)!!,
|
||||||
this
|
this
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ class DiscoveryFragment : Fragment(), DiscoveryView {
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
|
|
||||||
listViewAdapter = object : ArrayAdapter<HomeAssistantInstance>(context!!, R.layout.instance_item, instances) {
|
listViewAdapter = object : ArrayAdapter<HomeAssistantInstance>(requireContext(), R.layout.instance_item, instances) {
|
||||||
@SuppressLint("InflateParams")
|
@SuppressLint("InflateParams")
|
||||||
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
|
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
|
||||||
val v = convertView ?: LayoutInflater.from(context).inflate(
|
val v = convertView ?: LayoutInflater.from(context).inflate(
|
||||||
|
|
|
@ -74,7 +74,7 @@ class MobileAppIntegrationFragment : Fragment(), MobileAppIntegrationView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val hasLocationPermission = PermissionManager.hasLocationPermissions(context)
|
val hasLocationPermission = PermissionManager.checkLocationPermission(context)
|
||||||
|
|
||||||
zoneTracking = findViewById<SwitchCompat>(R.id.location_zone).apply {
|
zoneTracking = findViewById<SwitchCompat>(R.id.location_zone).apply {
|
||||||
setOnCheckedChangeListener { _, isChecked ->
|
setOnCheckedChangeListener { _, isChecked ->
|
||||||
|
@ -117,7 +117,7 @@ class MobileAppIntegrationFragment : Fragment(), MobileAppIntegrationView {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
PermissionManager.restartLocationTracking(context!!)
|
PermissionManager.restartLocationTracking(requireContext())
|
||||||
presenter.onFinish()
|
presenter.onFinish()
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
}
|
}
|
||||||
|
@ -129,7 +129,7 @@ class MobileAppIntegrationFragment : Fragment(), MobileAppIntegrationView {
|
||||||
) {
|
) {
|
||||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||||
|
|
||||||
if (PermissionManager.validateLocationPermissions(requestCode, permissions, grantResults)) {
|
if (PermissionManager.validateLocationPermissions(requestCode, grantResults)) {
|
||||||
zoneTracking.isEnabled = true
|
zoneTracking.isEnabled = true
|
||||||
zoneTrackingSummary.isEnabled = true
|
zoneTrackingSummary.isEnabled = true
|
||||||
zoneTracking.isChecked = true
|
zoneTracking.isChecked = true
|
||||||
|
|
|
@ -4,6 +4,7 @@ import android.content.Context
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import io.homeassistant.companion.android.SensorUpdater
|
import io.homeassistant.companion.android.SensorUpdater
|
||||||
import io.homeassistant.companion.android.domain.integration.IntegrationUseCase
|
import io.homeassistant.companion.android.domain.integration.IntegrationUseCase
|
||||||
|
import io.homeassistant.companion.android.util.PermissionManager
|
||||||
|
|
||||||
class AllSensorsUpdaterImpl(
|
class AllSensorsUpdaterImpl(
|
||||||
private val integrationUseCase: IntegrationUseCase,
|
private val integrationUseCase: IntegrationUseCase,
|
||||||
|
@ -19,7 +20,7 @@ class AllSensorsUpdaterImpl(
|
||||||
NetworkSensorManager()
|
NetworkSensorManager()
|
||||||
)
|
)
|
||||||
|
|
||||||
if (integrationUseCase.isBackgroundTrackingEnabled()) {
|
if (integrationUseCase.isBackgroundTrackingEnabled() && PermissionManager.checkLocationPermission(appContext)) {
|
||||||
sensorManagers.add(GeocodeSensorManager())
|
sensorManagers.add(GeocodeSensorManager())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ import com.google.android.gms.tasks.Tasks
|
||||||
import io.homeassistant.companion.android.background.LocationBroadcastReceiver
|
import io.homeassistant.companion.android.background.LocationBroadcastReceiver
|
||||||
import io.homeassistant.companion.android.domain.integration.Sensor
|
import io.homeassistant.companion.android.domain.integration.Sensor
|
||||||
import io.homeassistant.companion.android.domain.integration.SensorRegistration
|
import io.homeassistant.companion.android.domain.integration.SensorRegistration
|
||||||
|
import io.homeassistant.companion.android.util.PermissionManager
|
||||||
|
|
||||||
class GeocodeSensorManager : SensorManager {
|
class GeocodeSensorManager : SensorManager {
|
||||||
|
|
||||||
|
@ -39,6 +40,10 @@ class GeocodeSensorManager : SensorManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getGeocodedLocation(context: Context): Sensor<Any>? {
|
private fun getGeocodedLocation(context: Context): Sensor<Any>? {
|
||||||
|
if (!PermissionManager.checkLocationPermission(context)) {
|
||||||
|
Log.w(TAG, "Tried getting gecoded location without permission.")
|
||||||
|
return null
|
||||||
|
}
|
||||||
Tasks.await(LocationServices.getFusedLocationProviderClient(context).lastLocation)?.let {
|
Tasks.await(LocationServices.getFusedLocationProviderClient(context).lastLocation)?.let {
|
||||||
if (it.accuracy > LocationBroadcastReceiver.MINIMUM_ACCURACY)
|
if (it.accuracy > LocationBroadcastReceiver.MINIMUM_ACCURACY)
|
||||||
return null
|
return null
|
||||||
|
|
|
@ -48,7 +48,7 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
||||||
val onChangeUrlValidator = Preference.OnPreferenceChangeListener { _, newValue ->
|
val onChangeUrlValidator = Preference.OnPreferenceChangeListener { _, newValue ->
|
||||||
val isValid = newValue.toString().isBlank() || newValue.toString().toHttpUrlOrNull() != null
|
val isValid = newValue.toString().isBlank() || newValue.toString().toHttpUrlOrNull() != null
|
||||||
if (!isValid) {
|
if (!isValid) {
|
||||||
AlertDialog.Builder(activity!!)
|
AlertDialog.Builder(requireActivity())
|
||||||
.setTitle(R.string.url_invalid)
|
.setTitle(R.string.url_invalid)
|
||||||
.setMessage(R.string.url_parse_error)
|
.setMessage(R.string.url_parse_error)
|
||||||
.setPositiveButton(android.R.string.ok) { _, _ -> }
|
.setPositiveButton(android.R.string.ok) { _, _ -> }
|
||||||
|
@ -63,11 +63,11 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
||||||
isValid = true
|
isValid = true
|
||||||
else {
|
else {
|
||||||
isValid = true
|
isValid = true
|
||||||
if (BiometricManager.from(activity!!).canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS)
|
if (BiometricManager.from(requireActivity()).canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS)
|
||||||
promptForUnlock()
|
promptForUnlock()
|
||||||
else {
|
else {
|
||||||
isValid = false
|
isValid = false
|
||||||
AlertDialog.Builder(activity!!)
|
AlertDialog.Builder(requireActivity())
|
||||||
.setTitle(R.string.set_lock_title)
|
.setTitle(R.string.set_lock_title)
|
||||||
.setMessage(R.string.set_lock_message)
|
.setMessage(R.string.set_lock_message)
|
||||||
.setPositiveButton(android.R.string.ok) { _, _ -> }
|
.setPositiveButton(android.R.string.ok) { _, _ -> }
|
||||||
|
@ -78,7 +78,7 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
||||||
}
|
}
|
||||||
|
|
||||||
val onClickShortcuts = Preference.OnPreferenceClickListener {
|
val onClickShortcuts = Preference.OnPreferenceClickListener {
|
||||||
fragmentManager!!
|
parentFragmentManager
|
||||||
.beginTransaction()
|
.beginTransaction()
|
||||||
.replace(R.id.content, ShortcutsFragment.newInstance())
|
.replace(R.id.content, ShortcutsFragment.newInstance())
|
||||||
.addToBackStack(getString(R.string.shortcuts))
|
.addToBackStack(getString(R.string.shortcuts))
|
||||||
|
@ -111,10 +111,10 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onLocationSettingChanged() {
|
override fun onLocationSettingChanged() {
|
||||||
if (!PermissionManager.hasLocationPermissions(context!!)) {
|
if (!PermissionManager.checkLocationPermission(requireContext())) {
|
||||||
PermissionManager.requestLocationPermissions(this)
|
PermissionManager.requestLocationPermissions(this)
|
||||||
}
|
}
|
||||||
PermissionManager.restartLocationTracking(context!!)
|
PermissionManager.restartLocationTracking(requireContext())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun disableInternalConnection() {
|
override fun disableInternalConnection() {
|
||||||
|
@ -132,8 +132,8 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
||||||
override fun onDisplayPreferenceDialog(preference: Preference) {
|
override fun onDisplayPreferenceDialog(preference: Preference) {
|
||||||
if (preference is SsidPreference) {
|
if (preference is SsidPreference) {
|
||||||
// check if dialog is already showing
|
// check if dialog is already showing
|
||||||
val fm = fragmentManager
|
val fm = parentFragmentManager
|
||||||
if (fm == null || fm.findFragmentByTag(SSID_DIALOG_TAG) != null) {
|
if (fm.findFragmentByTag(SSID_DIALOG_TAG) != null) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val ssidDialog = SsidDialogFragment.newInstance("connection_internal_ssids")
|
val ssidDialog = SsidDialogFragment.newInstance("connection_internal_ssids")
|
||||||
|
@ -151,8 +151,8 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
||||||
) {
|
) {
|
||||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||||
|
|
||||||
if (PermissionManager.validateLocationPermissions(requestCode, permissions, grantResults)) {
|
if (PermissionManager.validateLocationPermissions(requestCode, grantResults)) {
|
||||||
PermissionManager.restartLocationTracking(context!!)
|
PermissionManager.restartLocationTracking(requireContext())
|
||||||
} else {
|
} else {
|
||||||
// If we don't have permissions, don't let them in!
|
// If we don't have permissions, don't let them in!
|
||||||
findPreference<SwitchPreference>("location_zone")!!.isChecked = false
|
findPreference<SwitchPreference>("location_zone")!!.isChecked = false
|
||||||
|
@ -161,9 +161,9 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun promptForUnlock() {
|
private fun promptForUnlock() {
|
||||||
val executor = ContextCompat.getMainExecutor(activity!!)
|
val executor = ContextCompat.getMainExecutor(requireActivity())
|
||||||
val switchLock = findPreference<SwitchPreference>("app_lock")
|
val switchLock = findPreference<SwitchPreference>("app_lock")
|
||||||
val biometricPrompt = BiometricPrompt(activity!!, executor,
|
val biometricPrompt = BiometricPrompt(requireActivity(), executor,
|
||||||
object : BiometricPrompt.AuthenticationCallback() {
|
object : BiometricPrompt.AuthenticationCallback() {
|
||||||
override fun onAuthenticationError(
|
override fun onAuthenticationError(
|
||||||
errorCode: Int,
|
errorCode: Int,
|
||||||
|
@ -179,8 +179,8 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
val promptInfo = BiometricPrompt.PromptInfo.Builder()
|
val promptInfo = BiometricPrompt.PromptInfo.Builder()
|
||||||
.setTitle(activity!!.resources.getString(R.string.biometric_title))
|
.setTitle(requireActivity().resources.getString(R.string.biometric_title))
|
||||||
.setSubtitle(activity!!.resources.getString(R.string.biometric_message))
|
.setSubtitle(requireActivity().resources.getString(R.string.biometric_message))
|
||||||
.setDeviceCredentialAllowed(true)
|
.setDeviceCredentialAllowed(true)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
|
|
|
@ -55,23 +55,23 @@ class ShortcutsFragment : Fragment(), ShortcutsView {
|
||||||
!panel.title.isNullOrEmpty() && panel.title !== "lovelace" && panel.title !== "profile"
|
!panel.title.isNullOrEmpty() && panel.title !== "lovelace" && panel.title !== "profile"
|
||||||
}.sortedBy { panel -> panel.title }.map { panel ->
|
}.sortedBy { panel -> panel.title }.map { panel ->
|
||||||
panel.title_localized = when (panel.title) {
|
panel.title_localized = when (panel.title) {
|
||||||
"calendar" -> context!!.getString(R.string.calendar)
|
"calendar" -> requireContext().getString(R.string.calendar)
|
||||||
"config" -> context!!.getString(R.string.config)
|
"config" -> requireContext().getString(R.string.config)
|
||||||
"developer_tools" -> context!!.getString(R.string.developer_tools)
|
"developer_tools" -> requireContext().getString(R.string.developer_tools)
|
||||||
"history" -> context!!.getString(R.string.history)
|
"history" -> requireContext().getString(R.string.history)
|
||||||
"logbook" -> context!!.getString(R.string.logbook)
|
"logbook" -> requireContext().getString(R.string.logbook)
|
||||||
"mailbox" -> context!!.getString(R.string.mailbox)
|
"mailbox" -> requireContext().getString(R.string.mailbox)
|
||||||
"map" -> context!!.getString(R.string.map)
|
"map" -> requireContext().getString(R.string.map)
|
||||||
"profile" -> context!!.getString(R.string.profile)
|
"profile" -> requireContext().getString(R.string.profile)
|
||||||
"shopping_list" -> context!!.getString(R.string.shopping_list)
|
"shopping_list" -> requireContext().getString(R.string.shopping_list)
|
||||||
"states" -> context!!.getString(R.string.states)
|
"states" -> requireContext().getString(R.string.states)
|
||||||
else -> panel.title
|
else -> panel.title
|
||||||
}
|
}
|
||||||
panel
|
panel
|
||||||
}
|
}
|
||||||
|
|
||||||
recyclerViewAdapter =
|
recyclerViewAdapter =
|
||||||
ShortcutsRecyclerViewAdapter(panels.toList(), context!!) { onCreateShortcut(it) }
|
ShortcutsRecyclerViewAdapter(panels.toList(), requireContext()) { onCreateShortcut(it) }
|
||||||
|
|
||||||
return inflater.inflate(R.layout.fragment_shortcuts, container, false).apply {
|
return inflater.inflate(R.layout.fragment_shortcuts, container, false).apply {
|
||||||
findViewById<RecyclerView>(R.id.recycler_view_shortcuts)?.apply {
|
findViewById<RecyclerView>(R.id.recycler_view_shortcuts)?.apply {
|
||||||
|
@ -82,7 +82,7 @@ class ShortcutsFragment : Fragment(), ShortcutsView {
|
||||||
|
|
||||||
private fun onCreateShortcut(panel: Panel) {
|
private fun onCreateShortcut(panel: Panel) {
|
||||||
val shortcutManager =
|
val shortcutManager =
|
||||||
context!!.getSystemService(ShortcutManager::class.java)
|
requireContext().getSystemService(ShortcutManager::class.java)
|
||||||
if (shortcutManager!!.isRequestPinShortcutSupported) {
|
if (shortcutManager!!.isRequestPinShortcutSupported) {
|
||||||
val pinShortcutInfo =
|
val pinShortcutInfo =
|
||||||
ShortcutInfo.Builder(
|
ShortcutInfo.Builder(
|
||||||
|
@ -99,7 +99,7 @@ class ShortcutsFragment : Fragment(), ShortcutsView {
|
||||||
)
|
)
|
||||||
.setIntent(
|
.setIntent(
|
||||||
WebViewActivity.newInstance(
|
WebViewActivity.newInstance(
|
||||||
context!!,
|
requireContext(),
|
||||||
panel.url_path
|
panel.url_path
|
||||||
).apply {
|
).apply {
|
||||||
this.action = Intent.ACTION_VIEW
|
this.action = Intent.ACTION_VIEW
|
||||||
|
|
|
@ -31,7 +31,7 @@ class PermissionManager {
|
||||||
/**
|
/**
|
||||||
* Check if the required location permissions are granted
|
* Check if the required location permissions are granted
|
||||||
*/
|
*/
|
||||||
fun hasLocationPermissions(context: Context): Boolean {
|
fun checkLocationPermission(context: Context): Boolean {
|
||||||
for (permission in getLocationPermissionArray()) {
|
for (permission in getLocationPermissionArray()) {
|
||||||
if (!hasPermission(context, permission)) {
|
if (!hasPermission(context, permission)) {
|
||||||
return false
|
return false
|
||||||
|
@ -54,7 +54,6 @@ class PermissionManager {
|
||||||
|
|
||||||
fun validateLocationPermissions(
|
fun validateLocationPermissions(
|
||||||
requestCode: Int,
|
requestCode: Int,
|
||||||
permissions: Array<out String>,
|
|
||||||
grantResults: IntArray
|
grantResults: IntArray
|
||||||
): Boolean {
|
): Boolean {
|
||||||
return requestCode == LOCATION_REQUEST_CODE && arePermissionsGranted(grantResults)
|
return requestCode == LOCATION_REQUEST_CODE && arePermissionsGranted(grantResults)
|
||||||
|
|
|
@ -28,6 +28,8 @@ allprojects {
|
||||||
maven(url = Config.Repository.lokalize)
|
maven(url = Config.Repository.lokalize)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apply(plugin = "org.jlleitschuh.gradle.ktlint")
|
||||||
|
|
||||||
tasks.withType<KotlinCompile>().configureEach {
|
tasks.withType<KotlinCompile>().configureEach {
|
||||||
println("Configuring $name in project ${project.name}...")
|
println("Configuring $name in project ${project.name}...")
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
|
|
|
@ -2,7 +2,7 @@ object Config {
|
||||||
const val version = "1.9.0"
|
const val version = "1.9.0"
|
||||||
|
|
||||||
object Plugin {
|
object Plugin {
|
||||||
const val android = "com.android.tools.build:gradle:3.6.3"
|
const val android = "com.android.tools.build:gradle:4.0.0"
|
||||||
const val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Dependency.Kotlin.version}"
|
const val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Dependency.Kotlin.version}"
|
||||||
const val google = "com.google.gms:google-services:4.3.3"
|
const val google = "com.google.gms:google-services:4.3.3"
|
||||||
const val appDistribution = "com.google.firebase:firebase-appdistribution-gradle:1.4.0"
|
const val appDistribution = "com.google.firebase:firebase-appdistribution-gradle:1.4.0"
|
||||||
|
|
|
@ -20,7 +20,7 @@ dependencies {
|
||||||
implementation(Config.Dependency.Kotlin.coroutines)
|
implementation(Config.Dependency.Kotlin.coroutines)
|
||||||
|
|
||||||
implementation(Config.Dependency.Google.dagger)
|
implementation(Config.Dependency.Google.dagger)
|
||||||
kapt (Config.Dependency.Google.daggerCompiler)
|
kapt(Config.Dependency.Google.daggerCompiler)
|
||||||
|
|
||||||
implementation(Config.Dependency.Square.retrofit)
|
implementation(Config.Dependency.Square.retrofit)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue