Switch activities to AppCompat and adapt themes

No longer uses fullscreen, statusbar shall be visible to check connection status

Closes #57
This commit is contained in:
Manuel Fuhr 2022-04-02 18:31:11 +02:00
parent cde4606760
commit d92c3beb3e
5 changed files with 31 additions and 41 deletions

View file

@ -17,12 +17,12 @@
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:preserveLegacyExternalStorage="true" android:preserveLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"> android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<activity <activity
android:name=".BRouterActivity" android:name=".BRouterActivity"
android:exported="true" android:exported="true"
android:screenOrientation="unspecified" android:screenOrientation="unspecified">
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
@ -32,13 +32,11 @@
android:name=".BInstallerActivity" android:name=".BInstallerActivity"
android:exported="true" android:exported="true"
android:launchMode="singleTask" android:launchMode="singleTask"
android:screenOrientation="landscape" android:screenOrientation="landscape" />
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
<activity <activity
android:name=".BImportActivity" android:name=".BImportActivity"
android:exported="true" android:exported="true"
android:label="Import Profile" android:label="Import Profile">
android:theme="@android:style/Theme.NoTitleBar">
<!-- some apps (bluemail) do not recognize the .brf file extension, startactivity+intent is done for attachment with text/plain --> <!-- some apps (bluemail) do not recognize the .brf file extension, startactivity+intent is done for attachment with text/plain -->
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />

View file

@ -1,6 +1,5 @@
package btools.routingapp; package btools.routingapp;
import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
@ -12,6 +11,7 @@ import android.widget.EditText;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;
@ -20,7 +20,7 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
public class BImportActivity extends Activity { public class BImportActivity extends AppCompatActivity {
// profile size is generally < 30 kb, so set max size to 100 kb // profile size is generally < 30 kb, so set max size to 100 kb
private static final int MAX_PROFILE_SIZE = 100000; private static final int MAX_PROFILE_SIZE = 100000;
private EditText mTextFilename; private EditText mTextFilename;

View file

@ -5,7 +5,6 @@ import static btools.routingapp.BInstallerView.MASK_DELETED_RD5;
import static btools.routingapp.BInstallerView.MASK_INSTALLED_RD5; import static btools.routingapp.BInstallerView.MASK_INSTALLED_RD5;
import static btools.routingapp.BInstallerView.MASK_SELECTED_RD5; import static btools.routingapp.BInstallerView.MASK_SELECTED_RD5;
import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
@ -23,13 +22,15 @@ import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Locale; import java.util.Locale;
import btools.router.RoutingHelper; import btools.router.RoutingHelper;
public class BInstallerActivity extends Activity { public class BInstallerActivity extends AppCompatActivity {
public static final String DOWNLOAD_ACTION = "btools.routingapp.download"; public static final String DOWNLOAD_ACTION = "btools.routingapp.download";
private static final int DIALOG_CONFIRM_DELETE_ID = 1; private static final int DIALOG_CONFIRM_DELETE_ID = 1;

View file

@ -32,13 +32,13 @@ import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.widget.EditText; import android.widget.EditText;
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 btools.router.OsmNodeNamed; import btools.router.OsmNodeNamed;
public class BRouterActivity extends Activity implements ActivityCompat.OnRequestPermissionsResultCallback { public class BRouterActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback {
private static final int DIALOG_SELECTPROFILE_ID = 1; private static final int DIALOG_SELECTPROFILE_ID = 1;
private static final int DIALOG_EXCEPTION_ID = 2; private static final int DIALOG_EXCEPTION_ID = 2;
@ -626,6 +626,7 @@ public class BRouterActivity extends Activity implements ActivityCompat.OnReques
@Override @Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 0) { if (requestCode == 0) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
mBRouterView.startSetup(null, true); mBRouterView.startSetup(null, true);

View file

@ -1,5 +1,21 @@
package btools.routingapp; package btools.routingapp;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.AssetManager;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Build;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.BufferedWriter; import java.io.BufferedWriter;
import java.io.File; import java.io.File;
@ -12,36 +28,13 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.OutputStream; import java.io.OutputStream;
import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.StringTokenizer;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream; import java.util.zip.ZipInputStream;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.AssetManager;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Build;
import android.os.Environment;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import btools.expressions.BExpressionContextWay;
import btools.expressions.BExpressionMetaData; import btools.expressions.BExpressionMetaData;
import btools.mapaccess.OsmNode; import btools.mapaccess.OsmNode;
import btools.router.OsmNodeNamed; import btools.router.OsmNodeNamed;
@ -108,11 +101,6 @@ public class BRouterView extends View {
public void init() { public void init() {
try { try {
DisplayMetrics metrics = new DisplayMetrics();
((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics);
imgw = metrics.widthPixels;
imgh = metrics.heightPixels;
// get base dir from private file // get base dir from private file
File baseDir = ConfigHelper.getBaseDir(getContext()); File baseDir = ConfigHelper.getBaseDir(getContext());
// check if valid // check if valid
@ -703,6 +691,8 @@ public class BRouterView extends View {
@Override @Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) { protected void onSizeChanged(int w, int h, int oldw, int oldh) {
imgw = w;
imgh = h;
} }
private void toast(String msg) { private void toast(String msg) {