diff --git a/extern/MicroGUiTools b/extern/MicroGUiTools
index d7210d4..6186c98 160000
--- a/extern/MicroGUiTools
+++ b/extern/MicroGUiTools
@@ -1 +1 @@
-Subproject commit d7210d466aec8901f6bd08461134097ce34edad7
+Subproject commit 6186c987124146d2deb14febcf5cf698829a12d8
diff --git a/unifiednlp-app/src/main/res/values/bools.xml b/unifiednlp-app/src/main/res/values/bools.xml
new file mode 100644
index 0000000..fcb7291
--- /dev/null
+++ b/unifiednlp-app/src/main/res/values/bools.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ true
+
\ No newline at end of file
diff --git a/unifiednlp-base/src/main/java/org/microg/nlp/ui/SettingsActivity.java b/unifiednlp-base/src/main/java/org/microg/nlp/ui/SettingsActivity.java
index 7b2e90f..de5ee77 100644
--- a/unifiednlp-base/src/main/java/org/microg/nlp/ui/SettingsActivity.java
+++ b/unifiednlp-base/src/main/java/org/microg/nlp/ui/SettingsActivity.java
@@ -16,6 +16,7 @@
package org.microg.nlp.ui;
+import android.content.Context;
import android.os.Bundle;
import android.preference.Preference;
import android.support.v4.app.FragmentTransaction;
@@ -23,10 +24,12 @@ import android.support.v4.preference.PreferenceFragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
+import org.microg.nlp.BuildConfig;
import org.microg.nlp.R;
import org.microg.tools.selfcheck.NlpOsCompatChecks;
import org.microg.tools.selfcheck.NlpStatusChecks;
import org.microg.tools.selfcheck.SelfCheckGroup;
+import org.microg.tools.ui.AbstractAboutFragment;
import org.microg.tools.ui.AbstractSelfCheckFragment;
import java.util.List;
@@ -41,13 +44,17 @@ public class SettingsActivity extends AppCompatActivity {
.replace(R.id.content_wrapper, new MyPreferenceFragment()).commit();
}
+ private static boolean isUnifiedNlpAppRelease(Context context) {
+ int resId = context.getResources().getIdentifier("is_unifiednlp_app", "bool", context.getPackageName());
+ return resId != 0 && context.getResources().getBoolean(resId);
+ }
+
public static class MyPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- if (!getContext().getPackageName().equals("com.google.android.gms")
- || getResources().getIdentifier("is_gmscore", "bool", "com.google.android.gms") == 0) {
+ if (isUnifiedNlpAppRelease(getContext())) {
addPreferencesFromResource(R.xml.nlp_setup_preferences);
findPreference(getString(R.string.self_check_title))
@@ -64,6 +71,22 @@ public class SettingsActivity extends AppCompatActivity {
});
}
addPreferencesFromResource(R.xml.nlp_preferences);
+ if (isUnifiedNlpAppRelease(getContext())) {
+ addPreferencesFromResource(R.xml.nlp_about_preferences);
+
+ findPreference(getString(R.string.pref_about_title))
+ .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ getFragmentManager().beginTransaction()
+ .addToBackStack("root")
+ .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
+ .replace(R.id.content_wrapper, new MyAboutFragment())
+ .commit();
+ return true;
+ }
+ });
+ }
}
}
@@ -75,4 +98,30 @@ public class SettingsActivity extends AppCompatActivity {
checks.add(new NlpStatusChecks());
}
}
+
+ public static class MyAboutFragment extends AbstractAboutFragment {
+
+ @Override
+ protected String getSummary() {
+ String packageName = getContext().getPackageName();
+ if (packageName.equals("com.google.android.gms")) {
+ return getString(R.string.nlp_version_default);
+ } else if (packageName.equals("com.google.android.location")) {
+ return getString(R.string.nlp_version_legacy);
+ } else if (packageName.equals("org.microg.nlp")) {
+ return getString(R.string.nlp_version_custom);
+ }
+ return null;
+ }
+
+ @Override
+ protected String getSelfVersion() {
+ return BuildConfig.VERSION_NAME;
+ }
+
+ @Override
+ protected void collectLibraries(List libraries) {
+ libraries.add(new Library("org.microg.nlp.api", "microG UnifiedNlp Api", "Apache License 2.0, Copyright © microG Team"));
+ }
+ }
}
diff --git a/unifiednlp-base/src/main/res/values/strings.xml b/unifiednlp-base/src/main/res/values/strings.xml
index f3c4214..2f3a4af 100644
--- a/unifiednlp-base/src/main/res/values/strings.xml
+++ b/unifiednlp-base/src/main/res/values/strings.xml
@@ -52,4 +52,12 @@
No UnifiedNlp location was provided by the system within 10 seconds.
Network-based location enabled:
You either disabled network-based location (in system settings) or the system is not supported.
+
+ About
+ About microG UnifiedNlp
+ Version information and used libraries
+
+ for default systems without GAPPS
+ for legacy systems without GAPPS
+ for custom systems
diff --git a/unifiednlp-base/src/main/res/xml/nlp_about_preferences.xml b/unifiednlp-base/src/main/res/xml/nlp_about_preferences.xml
new file mode 100644
index 0000000..b4d21c4
--- /dev/null
+++ b/unifiednlp-base/src/main/res/xml/nlp_about_preferences.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file