Compare commits

...

5 Commits

Author SHA1 Message Date
Peter Cai c56c69a5a7 Update .gitignore for Android Studio build outputs 2022-06-02 22:59:22 -04:00
Peter Cai 0e9fce1ffd app: Add ACCESS_BACKGROUND_LOCATION permission
Needed for binding to backends when we are in the background.
2022-06-02 22:58:41 -04:00
Peter Cai 0bb25e70ec app: Fix build 2022-06-02 21:49:31 -04:00
Peter Cai 1274a311d8 Revert "Add force enabled backends array"
This reverts commit 4f3db06db5.
2022-06-02 21:12:49 -04:00
Erfan Abdi 4f3db06db5 Add force enabled backends array
* For easy use on adding default backends as overlay or rro
2022-06-02 20:52:10 -04:00
5 changed files with 26 additions and 22 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@ user.gradle
local.properties
.idea/
BuildConfig.java
app/UnifiedNlp

View File

@ -45,6 +45,7 @@ android {
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
main.java.srcDirs += 'src/main/java'
}
flavorDimensions 'default'
@ -64,6 +65,10 @@ android {
}
}
android.applicationVariants.all { variant ->
variant.resValue 'string', 'application_id', variant.applicationId
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
@ -78,8 +83,6 @@ android {
}
}
apply from: "../gradle/androidJars.gradle"
dependencies {
implementation project(':api')
implementation project(':geocode-v1')
@ -103,9 +106,3 @@ dependencies {
implementation "androidx.navigation:navigation-fragment-ktx:$navigationVersion"
implementation "androidx.navigation:navigation-ui-ktx:$navigationVersion"
}
afterEvaluate {
android.applicationVariants.all { variant ->
variant.resValue 'string', 'application_id', variant.applicationId
}
}

View File

@ -18,6 +18,7 @@
xmlns:tools="http://schemas.android.com/tools"
package="org.microg.nlp.app">
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application

View File

@ -23,19 +23,19 @@ import android.location.LocationManager;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.lifecycle.LifecycleOwner;
import org.microg.nlp.app.R;
import org.microg.nlp.client.UnifiedLocationClient;
import org.microg.nlp.client.LocationClient;
import java.util.concurrent.atomic.AtomicBoolean;
import static android.content.Context.LOCATION_SERVICE;
import static android.location.LocationManager.NETWORK_PROVIDER;
import static org.microg.nlp.api.Constants.LOCATION_EXTRA_BACKEND_COMPONENT;
import static org.microg.nlp.app.tools.selfcheck.SelfCheckGroup.Result.Negative;
import static org.microg.nlp.app.tools.selfcheck.SelfCheckGroup.Result.Positive;
import static org.microg.nlp.app.tools.selfcheck.SelfCheckGroup.Result.Unknown;
import org.microg.nlp.app.tools.selfcheck.SelfCheckGroup.Result;
public class NlpStatusChecks implements SelfCheckGroup {
public class NlpStatusChecks implements org.microg.nlp.app.tools.selfcheck.SelfCheckGroup {
@Override
public String getGroupName(Context context) {
return context.getString(R.string.self_check_cat_nlp_status);
@ -50,17 +50,21 @@ public class NlpStatusChecks implements SelfCheckGroup {
}
}
private LocationClient getLocationClient(Context context) {
return new LocationClient(context, ((LifecycleOwner) context).getLifecycle());
}
private boolean providerWasBound(Context context, ResultCollector collector) {
collector.addResult(context.getString(R.string.self_check_name_nlp_bound),
UnifiedLocationClient.get(context).isAvailable() ? Positive : Negative, context.getString(R.string.self_check_resolution_nlp_bound));
return UnifiedLocationClient.get(context).isAvailable();
getLocationClient(context).isAvailable() ? Result.Positive : Result.Negative, context.getString(R.string.self_check_resolution_nlp_bound));
return getLocationClient(context).isAvailable();
}
private boolean isNetworkLocationEnabled(Context context, ResultCollector collector) {
LocationManager locationManager = (LocationManager) context.getSystemService(LOCATION_SERVICE);
boolean networkEnabled = locationManager.getProviders(true).contains(NETWORK_PROVIDER);
collector.addResult(context.getString(R.string.self_check_name_network_enabled),
networkEnabled ? Positive : Negative, context.getString(R.string.self_check_resolution_network_enabled));
networkEnabled ? Result.Positive : Result.Negative, context.getString(R.string.self_check_resolution_network_enabled));
return networkEnabled;
}
@ -71,10 +75,10 @@ public class NlpStatusChecks implements SelfCheckGroup {
boolean hasKnown = location != null && location.getExtras() != null &&
location.getExtras().containsKey(LOCATION_EXTRA_BACKEND_COMPONENT);
collector.addResult(context.getString(R.string.self_check_name_last_location),
hasKnown ? Positive : Unknown, context.getString(R.string.self_check_resolution_last_location));
hasKnown ? Result.Positive : Result.Unknown, context.getString(R.string.self_check_resolution_last_location));
return hasKnown;
} catch (SecurityException e) {
collector.addResult(context.getString(R.string.self_check_name_last_location), Unknown, context.getString(R.string.self_check_loc_perm_missing));
collector.addResult(context.getString(R.string.self_check_name_last_location), Result.Unknown, context.getString(R.string.self_check_loc_perm_missing));
return false;
}
}
@ -91,7 +95,7 @@ public class NlpStatusChecks implements SelfCheckGroup {
} catch (InterruptedException e) {
}
collector.addResult(context.getString(R.string.self_check_name_nlp_is_providing),
result.get() ? Positive : Unknown, context.getString(R.string.self_check_resolution_nlp_is_providing));
result.get() ? Result.Positive : Result.Unknown, context.getString(R.string.self_check_resolution_nlp_is_providing));
}
}
}).start();
@ -119,7 +123,7 @@ public class NlpStatusChecks implements SelfCheckGroup {
}
}, null);
} catch (SecurityException e) {
collector.addResult(context.getString(R.string.self_check_name_last_location), Unknown, context.getString(R.string.self_check_loc_perm_missing));
collector.addResult(context.getString(R.string.self_check_name_last_location), Result.Unknown, context.getString(R.string.self_check_loc_perm_missing));
}
}
}

View File

@ -9,7 +9,8 @@ import android.os.Bundle
import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import androidx.preference.Preference
import org.microg.nlp.client.UnifiedLocationClient
import org.microg.nlp.client.LocationClient
import org.microg.nlp.client.GeocodeClient
import org.microg.nlp.app.tools.ui.ResourceSettingsFragment
import org.microg.nlp.ui.navigate
@ -35,7 +36,7 @@ class SettingsFragment : ResourceSettingsFragment() {
}
private suspend fun updateDetails() {
val backendCount = UnifiedLocationClient[requireContext()].getLocationBackends().size + UnifiedLocationClient[requireContext()].getGeocoderBackends().size
val backendCount = LocationClient(requireContext(), lifecycle).getLocationBackends().size + GeocodeClient(requireContext(), lifecycle).getGeocodeBackends().size
findPreference<Preference>(PREF_UNIFIEDNLP)!!.summary = resources.getQuantityString(R.plurals.pref_unifiednlp_summary, backendCount, backendCount);
}