Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.

Commit

Permalink
Meow meow, meow meow 馃悎
Browse files Browse the repository at this point in the history
  • Loading branch information
WSTxda committed Jan 15, 2024
1 parent e75e340 commit 51d1378
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 37 deletions.
3 changes: 2 additions & 1 deletion play-services-core/src/main/AndroidManifest.xml
Expand Up @@ -407,9 +407,10 @@
<!-- microG Settings embedded in System Settings on SDK 23 and newer -->
<activity-alias
android:name="org.microg.gms.ui.SettingsActivityLink"
android:icon="@drawable/ic_launcher_monochrome"
android:icon="@mipmap/ic_launcher"
android:label="@string/gms_settings_name"
android:process=":ui"
android:roundIcon="@mipmap/ic_launcher_round"
android:targetActivity="org.microg.gms.ui.MainSettingsActivity"
android:taskAffinity="org.microg.gms.settings">
<intent-filter>
Expand Down
Expand Up @@ -15,6 +15,7 @@ import androidx.preference.Preference
import androidx.preference.PreferenceCategory
import androidx.preference.SwitchPreference
import com.google.android.gms.R
import kotlinx.coroutines.launch
import org.microg.gms.checkin.CheckinPreferences
import org.microg.gms.gcm.GcmDatabase
import org.microg.gms.gcm.GcmPrefs
Expand All @@ -25,11 +26,17 @@ import org.microg.tools.ui.ResourceSettingsFragment
class SettingsFragment : ResourceSettingsFragment() {
private val createdPreferences = mutableListOf<Preference>()

companion object {
const val PREF_ABOUT = "pref_about"
const val PREF_GCM = "pref_gcm"
const val PREF_CHECKIN = "pref_checkin"
const val PREF_ACCOUNTS = "pref_accounts"
const val PREF_CAST_HIDE_LAUNCHER_ICON = "pref_hide_launcher_icon"
}

override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
super.onCreatePreferences(savedInstanceState, rootKey)

val pm = requireActivity().packageManager

findPreference<Preference>(PREF_ACCOUNTS)!!.onPreferenceClickListener = Preference.OnPreferenceClickListener {
findNavController().navigate(requireContext(), R.id.accountManagerFragment)
true
Expand All @@ -48,17 +55,10 @@ class SettingsFragment : ResourceSettingsFragment() {
}
findPreference<SwitchPreference>(PREF_CAST_HIDE_LAUNCHER_ICON)?.apply {
setOnPreferenceChangeListener { _, newValue ->
pm.setComponentEnabledSetting(
ComponentName.createRelative(requireActivity(), "org.microg.gms.ui.SettingsActivityLauncher"),
when (newValue) {
true -> PackageManager.COMPONENT_ENABLED_STATE_DISABLED
else -> PackageManager.COMPONENT_ENABLED_STATE_ENABLED
},
PackageManager.DONT_KILL_APP
)
val isEnabled = newValue as Boolean
updateLauncherIconVisibility(isEnabled)
true
}

}
findPreference<Preference>(PREF_ABOUT)!!.summary = getString(org.microg.tools.ui.R.string.about_version_str, AboutFragment.getSelfVersion(context))

Expand Down Expand Up @@ -101,6 +101,23 @@ class SettingsFragment : ResourceSettingsFragment() {
return this
}

private fun updateLauncherIconVisibility(isEnabled: Boolean) {
val mainSettingsComponent = ComponentName(requireActivity(), "org.microg.gms.ui.MainSettingsActivity")
val launcherSettingsComponent = ComponentName(requireActivity(), "org.microg.gms.ui.SettingsActivityLauncher")

requireActivity().packageManager.setComponentEnabledSetting(mainSettingsComponent,
if (isEnabled) PackageManager.COMPONENT_ENABLED_STATE_ENABLED
else PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP
)

requireActivity().packageManager.setComponentEnabledSetting(launcherSettingsComponent,
if (isEnabled) PackageManager.COMPONENT_ENABLED_STATE_DISABLED
else PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP
)
}

override fun onResume() {
super.onResume()
val context = requireContext()
Expand All @@ -115,7 +132,7 @@ class SettingsFragment : ResourceSettingsFragment() {

findPreference<Preference>(PREF_CHECKIN)!!.setSummary(if (CheckinPreferences.isEnabled(requireContext())) org.microg.gms.base.core.R.string.service_status_enabled_short else org.microg.gms.base.core.R.string.service_status_disabled_short)

lifecycleScope.launchWhenResumed {
lifecycleScope.launch {
val entries = getAllSettingsProviders(requireContext()).flatMap { it.getEntriesDynamic(requireContext()) }
for (preference in createdPreferences) {
if (!entries.any { it.key == preference.key }) preference.isVisible = false
Expand All @@ -128,15 +145,7 @@ class SettingsFragment : ResourceSettingsFragment() {
}
}

companion object {
const val PREF_ABOUT = "pref_about"
const val PREF_GCM = "pref_gcm"
const val PREF_CHECKIN = "pref_checkin"
const val PREF_ACCOUNTS = "pref_accounts"
const val PREF_CAST_HIDE_LAUNCHER_ICON = "pref_hide_launcher_icon"
}

init {
init {
preferencesResource = R.xml.preferences_start
}
}
33 changes: 18 additions & 15 deletions play-services-core/src/main/res/xml/preferences_start.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (C) 2013-2017 microG Project Team
~
~ Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -17,15 +16,17 @@

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<Preference
android:icon="@drawable/ic_self_check"
android:summary="@string/self_check_desc"
android:title="@string/self_check_title">
<intent
android:targetClass="org.microg.gms.ui.SelfCheckFragment$AsActivity"
android:targetPackage="@string/var_pref_start_gms_package" />
</Preference>
<PreferenceCategory android:layout="@layout/preference_category_no_label" android:key="prefcat_google_services">
<Preference
android:icon="@drawable/ic_self_check"
android:summary="@string/self_check_desc"
android:title="@string/self_check_title">
<intent
android:targetClass="org.microg.gms.ui.SelfCheckFragment$AsActivity"
android:targetPackage="@string/var_pref_start_gms_package" />
</Preference>
<PreferenceCategory
android:key="prefcat_google_services"
android:layout="@layout/preference_category_no_label">
<Preference
android:icon="@drawable/ic_add_account"
android:key="pref_accounts"
Expand All @@ -40,12 +41,14 @@
android:key="pref_gcm"
android:title="@string/service_name_mcs" />
<SwitchPreference
android:key="pref_hide_launcher_icon"
android:defaultValue="true"
android:icon="@drawable/ic_hide_launcher_icon"
android:title="@string/pref_hide_launcher_icon"
android:defaultValue="true"/>
android:key="pref_hide_launcher_icon"
android:title="@string/pref_hide_launcher_icon" />
</PreferenceCategory>
<PreferenceCategory android:layout="@layout/preference_category_no_label" android:key="prefcat_footer">
<PreferenceCategory
android:key="prefcat_footer"
android:layout="@layout/preference_category_no_label">
<Preference
android:icon="@drawable/ic_developer"
android:summary="@string/developer"
Expand Down

0 comments on commit 51d1378

Please sign in to comment.