diff --git a/play-services-core/src/main/java/org/microg/gms/snet/SafetyNetPrefs.java b/play-services-core/src/main/java/org/microg/gms/snet/SafetyNetPrefs.java index 64198eb6..a6475791 100644 --- a/play-services-core/src/main/java/org/microg/gms/snet/SafetyNetPrefs.java +++ b/play-services-core/src/main/java/org/microg/gms/snet/SafetyNetPrefs.java @@ -57,7 +57,7 @@ public class SafetyNetPrefs implements SharedPreferences.OnSharedPreferenceChang public void update() { disabled = defaultPreferences.getBoolean(PREF_SNET_DISABLED, true); - official = defaultPreferences.getBoolean(PREF_SNET_OFFICIAL, true); + official = defaultPreferences.getBoolean(PREF_SNET_OFFICIAL, false); selfSigned = defaultPreferences.getBoolean(PREF_SNET_SELF_SIGNED, false); thirdParty = defaultPreferences.getBoolean(PREF_SNET_THIRD_PARTY, false); customUrl = defaultPreferences.getString(PREF_SNET_CUSTOM_URL, null); @@ -88,6 +88,10 @@ public class SafetyNetPrefs implements SharedPreferences.OnSharedPreferenceChang return official; } + public boolean isThirdParty() { + return thirdParty; + } + public String getServiceUrl() { if (official) return OFFICIAL_ATTEST_BASE_URL; return customUrl; diff --git a/play-services-core/src/main/java/org/microg/gms/ui/SettingsActivity.java b/play-services-core/src/main/java/org/microg/gms/ui/SettingsActivity.java index 5de7fffe..0ff66731 100644 --- a/play-services-core/src/main/java/org/microg/gms/ui/SettingsActivity.java +++ b/play-services-core/src/main/java/org/microg/gms/ui/SettingsActivity.java @@ -80,7 +80,22 @@ public class SettingsActivity extends AbstractDashboardActivity { } else { findPreference(PREF_GCM).setSummary(R.string.abc_capital_off); } - findPreference(PREF_SNET).setSummary(SafetyNetPrefs.get(getContext()).isEnabled() ? R.string.service_status_enabled : R.string.service_status_disabled); + + if (SafetyNetPrefs.get(getContext()).isEnabled()) { + String snet_info = ""; + + if (SafetyNetPrefs.get(getContext()).isOfficial()) { + snet_info = getString(R.string.pref_snet_status_official_info); + } else if (SafetyNetPrefs.get(getContext()).isSelfSigned()) { + snet_info = getString(R.string.pref_snet_status_self_signed_info); + } else if (SafetyNetPrefs.get(getContext()).isThirdParty()) { + snet_info = getString(R.string.pref_snet_status_third_party_info); + } + + findPreference(PREF_SNET).setSummary(getString(R.string.service_status_enabled) + " / " + snet_info); + } else { + findPreference(PREF_SNET).setSummary(R.string.service_status_disabled); + } Preferences unifiedNlPrefs = new Preferences(getContext()); int backendCount = TextUtils.isEmpty(unifiedNlPrefs.getLocationBackends()) ? 0 : diff --git a/play-services-core/src/main/res/values-de/strings.xml b/play-services-core/src/main/res/values-de/strings.xml index 705bcb14..2da1724c 100644 --- a/play-services-core/src/main/res/values-de/strings.xml +++ b/play-services-core/src/main/res/values-de/strings.xml @@ -153,11 +153,14 @@ Dies kann einige Minuten dauern." Offizielle Server nutzen Erfordert eine ungerootetes ROM und den microG DroidGuard Helper + offizieller Server Alternativen Server nutzen Alternative Server können auch SafetyNet-Anfragen beantworten, die nicht durch DroidGuard signiert wurden + Dritt-Server Alternative Server URL Vollständige URL des alternativen Servers der SafetyNet-Anfragen beantwortet Selbst signieren Statt einen Server zu nutzen, die SafetyNet signature lokal mit einem eigens erstellten Zertifikat signieren. Die meisten Apps werden diese Signaturen nicht akzeptieren. + selbst-signiertes Zertifikat diff --git a/play-services-core/src/main/res/values/strings.xml b/play-services-core/src/main/res/values/strings.xml index 2b3cc7fa..c31e1ded 100644 --- a/play-services-core/src/main/res/values/strings.xml +++ b/play-services-core/src/main/res/values/strings.xml @@ -166,11 +166,14 @@ This can take a couple of minutes." Use official server Requires an unrooted system and microG DroidGuard Helper installed + official server Use third-party server Third-party servers might be able to reply to SafetyNet requests without DroidGuard signature + third-party server Custom server URL Full URL of the third-party server answering SafetyNet attestation requests Use self-signed certificate Instead of requesting a server, sign SafetyNet responses locally using a self-signed certificate. Most apps will refuse to use self-signed responses. + self-signed certificate