Compare commits
5 commits
1c678b4908
...
c56c69a5a7
Author | SHA1 | Date | |
---|---|---|---|
Peter Cai | c56c69a5a7 | ||
Peter Cai | 0e9fce1ffd | ||
Peter Cai | 0bb25e70ec | ||
Peter Cai | 1274a311d8 | ||
4f3db06db5 |
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -10,3 +10,4 @@ user.gradle
|
|||
local.properties
|
||||
.idea/
|
||||
BuildConfig.java
|
||||
app/UnifiedNlp
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue