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