Always show main dialog (with Download Manager)
It can be confusing when the dialog is shown only sometimes and there is no indication why the dialog isn't shown. The connection status can also change after the start of the download manager so it has to handle those errors anyway. Closes #389
This commit is contained in:
parent
c80ad5f03b
commit
db42ae9f33
1 changed files with 10 additions and 46 deletions
|
@ -1,41 +1,32 @@
|
||||||
package btools.routingapp;
|
package btools.routingapp;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.net.ConnectivityManager;
|
|
||||||
import android.net.Network;
|
|
||||||
import android.net.NetworkCapabilities;
|
|
||||||
import android.net.NetworkInfo;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.os.PowerManager.WakeLock;
|
import android.os.PowerManager.WakeLock;
|
||||||
import android.os.StatFs;
|
import android.os.StatFs;
|
||||||
import android.speech.tts.TextToSpeech.OnInitListener;
|
|
||||||
import android.util.Log;
|
|
||||||
import android.view.KeyEvent;
|
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.core.app.ActivityCompat;
|
import androidx.core.app.ActivityCompat;
|
||||||
import androidx.core.os.EnvironmentCompat;
|
import androidx.core.os.EnvironmentCompat;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import btools.router.OsmNodeNamed;
|
import btools.router.OsmNodeNamed;
|
||||||
|
|
||||||
public class BRouterActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback {
|
public class BRouterActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback {
|
||||||
|
@ -391,39 +382,12 @@ public class BRouterActivity extends AppCompatActivity implements ActivityCompat
|
||||||
|
|
||||||
private String maptoolDirCandidate;
|
private String maptoolDirCandidate;
|
||||||
|
|
||||||
public boolean isOnline(Context context) {
|
|
||||||
boolean result = false;
|
|
||||||
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
||||||
Network nw = connectivityManager.getActiveNetwork();
|
|
||||||
if (nw == null) return false;
|
|
||||||
NetworkCapabilities nwc = connectivityManager.getNetworkCapabilities(nw);
|
|
||||||
if (nwc == null) return false;
|
|
||||||
result = nwc.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) |
|
|
||||||
nwc.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) |
|
|
||||||
nwc.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
NetworkInfo ni = connectivityManager.getActiveNetworkInfo();
|
|
||||||
if (ni == null) return false;
|
|
||||||
result = ni.getType() == ConnectivityManager.TYPE_WIFI ||
|
|
||||||
ni.getType() == ConnectivityManager.TYPE_MOBILE ||
|
|
||||||
ni.getType() == ConnectivityManager.TYPE_ETHERNET;
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public void selectProfile(String[] items) {
|
public void selectProfile(String[] items) {
|
||||||
availableProfiles = items;
|
availableProfiles = items;
|
||||||
|
|
||||||
// if we have internet access, first show the main action dialog
|
// show main dialog
|
||||||
if (isOnline(this)) {
|
|
||||||
showDialog(DIALOG_MAINACTION_ID);
|
showDialog(DIALOG_MAINACTION_ID);
|
||||||
} else {
|
|
||||||
showDialog(DIALOG_SELECTPROFILE_ID);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
|
|
Loading…
Reference in a new issue