Skip to content

Commit 3601d58

Browse files
committed
optimise and refactor based on cr
1 parent da63bb8 commit 3601d58

File tree

4 files changed

+28
-33
lines changed

4 files changed

+28
-33
lines changed

app/src/main/kotlin/io/homeassistant/companion/android/settings/SettingsFragment.kt

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -360,23 +360,7 @@ class SettingsFragment(
360360
}
361361
}
362362

363-
findPreference<SwitchPreference>("enable_ha_launcher")?.let { switchPreference ->
364-
switchPreference.setOnPreferenceClickListener {
365-
findPreference<Preference>("set_launcher_app")?.isVisible = switchPreference.isChecked
366-
true
367-
}
368-
}
369-
370-
findPreference<Preference>("set_launcher_app")?.let {
371-
it.isVisible = findPreference<SwitchPreference>("enable_ha_launcher")?.isChecked ?: false
372-
it.summary = getString(commonR.string.default_launcher_prompt_def, getDefaultLauncherInfo())
373-
it.setOnPreferenceClickListener {
374-
val intent = Intent(Settings.ACTION_HOME_SETTINGS)
375-
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
376-
startActivity(intent)
377-
true
378-
}
379-
}
363+
setupLauncherPrefs()
380364
}
381365

382366
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@@ -576,6 +560,28 @@ class SettingsFragment(
576560
}
577561
}
578562

563+
private fun setupLauncherPrefs() {
564+
val launcherSwitchPref = findPreference<SwitchPreference>("enable_ha_launcher")
565+
val launcherPref = findPreference<Preference>("set_launcher_app")
566+
567+
launcherSwitchPref?.setOnPreferenceClickListener {
568+
launcherPref?.isVisible = launcherSwitchPref.isChecked
569+
true
570+
}
571+
572+
launcherPref?.apply {
573+
isVisible = launcherSwitchPref?.isChecked ?: false
574+
summary = getString(commonR.string.default_launcher_prompt_def, getDefaultLauncherInfo())
575+
setOnPreferenceClickListener {
576+
startActivity(
577+
Intent(Settings.ACTION_HOME_SETTINGS)
578+
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
579+
)
580+
true
581+
}
582+
}
583+
}
584+
579585
override fun getPackageManager(): PackageManager? = context?.packageManager
580586

581587
private fun getDefaultLauncherInfo(): String {

app/src/main/kotlin/io/homeassistant/companion/android/settings/SettingsPresenterImpl.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,10 @@ class SettingsPresenterImpl @Inject constructor(
8383
val componentSetting = view.getPackageManager()?.getComponentEnabledSetting(voiceCommandAppComponent)
8484
componentSetting != null && componentSetting != PackageManager.COMPONENT_ENABLED_STATE_DISABLED
8585
}
86-
"enable_ha_launcher" -> prefsRepository.isLauncherCapabilityEnabled()
86+
"enable_ha_launcher" -> {
87+
val componentSetting = view.getPackageManager()?.getComponentEnabledSetting(launcherAliasComponent)
88+
componentSetting != null && componentSetting != PackageManager.COMPONENT_ENABLED_STATE_DISABLED
89+
}
8790
else -> throw IllegalArgumentException("No boolean found by this key: $key")
8891
}
8992
}
@@ -104,7 +107,6 @@ class SettingsPresenterImpl @Inject constructor(
104107
PackageManager.DONT_KILL_APP,
105108
)
106109
"enable_ha_launcher" -> {
107-
prefsRepository.setLauncherCapabilityEnabled(value)
108110
enableLauncherMode(value)
109111
}
110112
else -> throw IllegalArgumentException("No boolean found by this key: $key")
@@ -310,7 +312,7 @@ class SettingsPresenterImpl @Inject constructor(
310312
view.getPackageManager()?.setComponentEnabledSetting(
311313
launcherAliasComponent,
312314
if (enable) PackageManager.COMPONENT_ENABLED_STATE_ENABLED else PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
313-
PackageManager.DONT_KILL_APP
315+
if (enable) PackageManager.DONT_KILL_APP else 0
314316
)
315317
}
316318
}

common/src/main/kotlin/io/homeassistant/companion/android/common/data/prefs/PrefsRepository.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,6 @@ interface PrefsRepository {
9595

9696
suspend fun addImprovPermissionDisplayedCount()
9797

98-
suspend fun isLauncherCapabilityEnabled(): Boolean
99-
100-
suspend fun setLauncherCapabilityEnabled(enabled: Boolean)
101-
10298
/** Clean up any app-level preferences that might reference servers */
10399
suspend fun removeServer(serverId: Int)
104100
}

common/src/main/kotlin/io/homeassistant/companion/android/common/data/prefs/PrefsRepositoryImpl.kt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ class PrefsRepositoryImpl @Inject constructor(
3838
private const val PREF_AUTO_FAVORITES = "auto_favorites"
3939
private const val PREF_LOCATION_HISTORY_DISABLED = "location_history"
4040
private const val PREF_IMPROV_PERMISSION_DISPLAYED = "improv_permission_displayed"
41-
private const val PREF_LAUNCHER_CAPABILITY_ENABLED = "launcher_capability_enabled"
4241
}
4342

4443
init {
@@ -261,14 +260,6 @@ class PrefsRepositoryImpl @Inject constructor(
261260
localStorage.putInt(PREF_IMPROV_PERMISSION_DISPLAYED, getImprovPermissionDisplayedCount() + 1)
262261
}
263262

264-
override suspend fun isLauncherCapabilityEnabled(): Boolean {
265-
return localStorage.getBoolean(PREF_LAUNCHER_CAPABILITY_ENABLED)
266-
}
267-
268-
override suspend fun setLauncherCapabilityEnabled(enabled: Boolean) {
269-
localStorage.putBoolean(PREF_LAUNCHER_CAPABILITY_ENABLED, enabled)
270-
}
271-
272263
override suspend fun removeServer(serverId: Int) {
273264
val controlsAuthEntities = getControlsAuthEntities().filter { it.split(".")[0].toIntOrNull() != serverId }
274265
setControlsAuthEntities(controlsAuthEntities)

0 commit comments

Comments
 (0)