Loading app/src/main/java/net/fabiszewski/ulogger/SwipeSwitch.java +0 −26 Original line number Diff line number Diff line Loading @@ -11,23 +11,13 @@ package net.fabiszewski.ulogger; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Rect; import android.os.Build; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import androidx.annotation.RequiresApi; import androidx.appcompat.widget.SwitchCompat; import java.util.Collections; public class SwipeSwitch extends SwitchCompat { private final String TAG = SwipeSwitch.class.getSimpleName(); private final Rect exclusionRect = new Rect(); public SwipeSwitch(Context context) { super(context); } Loading Loading @@ -58,20 +48,4 @@ public class SwipeSwitch extends SwitchCompat { return ret; } @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); if (Build.VERSION.SDK_INT >= 29) { setGestureExclusionRects(); } } @RequiresApi(api = Build.VERSION_CODES.Q) private void setGestureExclusionRects() { exclusionRect.set(0, 0, getWidth(), getHeight()); if (Logger.DEBUG) { Log.d(TAG, "[setGestureExclusionRects: " + exclusionRect + "]"); } setSystemGestureExclusionRects(Collections.singletonList(exclusionRect)); } } app/src/main/java/net/fabiszewski/ulogger/WebPatterns.java +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ import java.util.regex.Pattern; * with WEB_URL pattern relaxed */ @SuppressWarnings({"RegExpUnnecessaryNonCapturingGroup,RegExpRedundantNestedCharacterClass"}) @SuppressWarnings({"RegExpUnnecessaryNonCapturingGroup,RegExpRedundantNestedCharacterClass", "RegExpSimplifiable"}) class WebPatterns { /** Loading app/src/main/res/layout-w600dp/fragment_main.xml 0 → 100644 +232 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- ~ Copyright (c) 2023 Bartek Fabiszewski ~ http://www.fabiszewski.net ~ ~ This file is part of μlogger-android. ~ Licensed under GPL, either version 3, or any later. ~ See <http://www.gnu.org/licenses/> --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:orientation="vertical"> <LinearLayout style="?android:attr/buttonBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimaryDark" android:divider="@drawable/separator" android:orientation="horizontal" android:showDividers="middle"> <Button android:id="@+id/buttonWaypoint" style="?android:attr/buttonBarButtonStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/button_background" android:drawableTop="@drawable/ic_add_location_white_24dp" android:paddingTop="5dp" android:paddingBottom="5dp" android:text="@string/waypoint" android:textColor="?android:attr/textColorAlertDialogListItem" android:textStyle="bold" /> <Button android:id="@+id/buttonUpload" style="?android:attr/buttonBarButtonStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/button_background" android:drawableTop="@drawable/ic_cloud_upload_white_24dp" android:paddingTop="5dp" android:paddingBottom="5dp" android:text="@string/button_upload" android:textColor="?android:attr/textColorAlertDialogListItem" android:textStyle="bold" /> <Button android:id="@+id/buttonNewTrack" style="?android:attr/buttonBarButtonStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/button_background" android:drawableTop="@drawable/ic_library_add_white_24dp" android:paddingTop="5dp" android:paddingBottom="5dp" android:text="@string/title_newtrack" android:textColor="?android:attr/textColorAlertDialogListItem" android:textStyle="bold" /> </LinearLayout> <GridLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:columnCount="2" android:maxWidth="600dp" android:rowCount="2"> <LinearLayout android:id="@+id/layoutSummary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="30dp" android:clickable="true" android:focusable="true" android:orientation="vertical"> <LinearLayout android:layout_width="300dp" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:drawablePadding="5dp" android:paddingTop="26dp" android:text="@string/label_track" android:textSize="@dimen/label_font_size" android:textStyle="bold" app:drawableStartCompat="@drawable/ic_directions_walk_white_24dp" /> <Button android:id="@+id/buttonShare" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginStart="10dp" android:background="@drawable/share_button_inset" android:contentDescription="@string/share_link" android:foreground="?android:attr/selectableItemBackground" android:visibility="gone" tools:ignore="UnusedAttribute" tools:targetApi="m" tools:visibility="visible" /> </LinearLayout> <TextView android:id="@+id/newtrack_label" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/status_indent" android:text="" android:textColor="@color/colorBlue" android:textSize="@dimen/label_font_size" tools:text="Auto_2020.06.18_19.42.17" /> </LinearLayout> <net.fabiszewski.ulogger.SwipeSwitch android:id="@+id/switchLogger" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:checked="false" android:minHeight="48dp" android:text="@string/tracking" android:textAlignment="center" android:textAllCaps="true" android:textIsSelectable="false" android:textSize="16sp" android:thumb="@drawable/thumb_selector" app:switchMinWidth="200dp" app:switchPadding="20dp" app:track="@drawable/track_selector" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_columnSpan="2" android:layout_marginTop="20dp" android:drawablePadding="5dp" android:text="@string/label_status" android:textSize="@dimen/label_font_size" android:textStyle="bold" app:drawableStartCompat="@drawable/ic_favorite_border_white_24dp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="30dp" android:orientation="vertical"> <TextView android:id="@+id/loc_led" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawablePadding="7dp" android:paddingStart="3dip" android:paddingLeft="3dip" android:paddingRight="3dip" android:text="@string/label_location" android:textSize="@dimen/label_font_size" app:drawableStartCompat="@drawable/led" /> <TextView android:id="@+id/location_status" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/status_indent" android:text="@string/dash" android:textColor="@color/colorBlue" android:textSize="@dimen/label_font_size" tools:text="Last update: 2020-06-18 22.09" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/sync_led" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawablePadding="7dp" android:paddingStart="3dip" android:paddingLeft="3dip" android:paddingRight="3dip" android:text="@string/label_synchronization" android:textSize="@dimen/label_font_size" app:drawableStartCompat="@drawable/led" /> <TextView android:id="@+id/sync_status" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/status_indent" android:text="@string/dash" android:textColor="@color/colorBlue" android:textSize="@dimen/label_font_size" tools:text="3 positions behind" /> <TextView android:id="@+id/sync_error" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/status_indent" android:maxWidth="300dp" android:text="" android:textColor="@color/colorPink" android:textSize="@dimen/label_font_size" tools:text="Connection error: Failed to connect to /10.0.0.15:80" /> </LinearLayout> </GridLayout> </LinearLayout> </ScrollView> app/src/main/res/layout/fragment_main.xml +27 −13 Original line number Diff line number Diff line Loading @@ -74,9 +74,20 @@ </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="4"> <Space android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" /> <net.fabiszewski.ulogger.SwipeSwitch android:id="@+id/switchLogger" android:layout_width="match_parent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:paddingTop="30dp" Loading @@ -88,7 +99,10 @@ android:textSize="16sp" android:thumb="@drawable/thumb_selector" app:switchMinWidth="200dp" app:track="@drawable/track_selector" /> app:switchPadding="20dp" app:track="@drawable/track_selector" android:maxLines="1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" Loading Loading
app/src/main/java/net/fabiszewski/ulogger/SwipeSwitch.java +0 −26 Original line number Diff line number Diff line Loading @@ -11,23 +11,13 @@ package net.fabiszewski.ulogger; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Rect; import android.os.Build; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import androidx.annotation.RequiresApi; import androidx.appcompat.widget.SwitchCompat; import java.util.Collections; public class SwipeSwitch extends SwitchCompat { private final String TAG = SwipeSwitch.class.getSimpleName(); private final Rect exclusionRect = new Rect(); public SwipeSwitch(Context context) { super(context); } Loading Loading @@ -58,20 +48,4 @@ public class SwipeSwitch extends SwitchCompat { return ret; } @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); if (Build.VERSION.SDK_INT >= 29) { setGestureExclusionRects(); } } @RequiresApi(api = Build.VERSION_CODES.Q) private void setGestureExclusionRects() { exclusionRect.set(0, 0, getWidth(), getHeight()); if (Logger.DEBUG) { Log.d(TAG, "[setGestureExclusionRects: " + exclusionRect + "]"); } setSystemGestureExclusionRects(Collections.singletonList(exclusionRect)); } }
app/src/main/java/net/fabiszewski/ulogger/WebPatterns.java +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ import java.util.regex.Pattern; * with WEB_URL pattern relaxed */ @SuppressWarnings({"RegExpUnnecessaryNonCapturingGroup,RegExpRedundantNestedCharacterClass"}) @SuppressWarnings({"RegExpUnnecessaryNonCapturingGroup,RegExpRedundantNestedCharacterClass", "RegExpSimplifiable"}) class WebPatterns { /** Loading
app/src/main/res/layout-w600dp/fragment_main.xml 0 → 100644 +232 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- ~ Copyright (c) 2023 Bartek Fabiszewski ~ http://www.fabiszewski.net ~ ~ This file is part of μlogger-android. ~ Licensed under GPL, either version 3, or any later. ~ See <http://www.gnu.org/licenses/> --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:orientation="vertical"> <LinearLayout style="?android:attr/buttonBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimaryDark" android:divider="@drawable/separator" android:orientation="horizontal" android:showDividers="middle"> <Button android:id="@+id/buttonWaypoint" style="?android:attr/buttonBarButtonStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/button_background" android:drawableTop="@drawable/ic_add_location_white_24dp" android:paddingTop="5dp" android:paddingBottom="5dp" android:text="@string/waypoint" android:textColor="?android:attr/textColorAlertDialogListItem" android:textStyle="bold" /> <Button android:id="@+id/buttonUpload" style="?android:attr/buttonBarButtonStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/button_background" android:drawableTop="@drawable/ic_cloud_upload_white_24dp" android:paddingTop="5dp" android:paddingBottom="5dp" android:text="@string/button_upload" android:textColor="?android:attr/textColorAlertDialogListItem" android:textStyle="bold" /> <Button android:id="@+id/buttonNewTrack" style="?android:attr/buttonBarButtonStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/button_background" android:drawableTop="@drawable/ic_library_add_white_24dp" android:paddingTop="5dp" android:paddingBottom="5dp" android:text="@string/title_newtrack" android:textColor="?android:attr/textColorAlertDialogListItem" android:textStyle="bold" /> </LinearLayout> <GridLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:columnCount="2" android:maxWidth="600dp" android:rowCount="2"> <LinearLayout android:id="@+id/layoutSummary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="30dp" android:clickable="true" android:focusable="true" android:orientation="vertical"> <LinearLayout android:layout_width="300dp" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:drawablePadding="5dp" android:paddingTop="26dp" android:text="@string/label_track" android:textSize="@dimen/label_font_size" android:textStyle="bold" app:drawableStartCompat="@drawable/ic_directions_walk_white_24dp" /> <Button android:id="@+id/buttonShare" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginStart="10dp" android:background="@drawable/share_button_inset" android:contentDescription="@string/share_link" android:foreground="?android:attr/selectableItemBackground" android:visibility="gone" tools:ignore="UnusedAttribute" tools:targetApi="m" tools:visibility="visible" /> </LinearLayout> <TextView android:id="@+id/newtrack_label" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/status_indent" android:text="" android:textColor="@color/colorBlue" android:textSize="@dimen/label_font_size" tools:text="Auto_2020.06.18_19.42.17" /> </LinearLayout> <net.fabiszewski.ulogger.SwipeSwitch android:id="@+id/switchLogger" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:checked="false" android:minHeight="48dp" android:text="@string/tracking" android:textAlignment="center" android:textAllCaps="true" android:textIsSelectable="false" android:textSize="16sp" android:thumb="@drawable/thumb_selector" app:switchMinWidth="200dp" app:switchPadding="20dp" app:track="@drawable/track_selector" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_columnSpan="2" android:layout_marginTop="20dp" android:drawablePadding="5dp" android:text="@string/label_status" android:textSize="@dimen/label_font_size" android:textStyle="bold" app:drawableStartCompat="@drawable/ic_favorite_border_white_24dp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="30dp" android:orientation="vertical"> <TextView android:id="@+id/loc_led" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawablePadding="7dp" android:paddingStart="3dip" android:paddingLeft="3dip" android:paddingRight="3dip" android:text="@string/label_location" android:textSize="@dimen/label_font_size" app:drawableStartCompat="@drawable/led" /> <TextView android:id="@+id/location_status" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/status_indent" android:text="@string/dash" android:textColor="@color/colorBlue" android:textSize="@dimen/label_font_size" tools:text="Last update: 2020-06-18 22.09" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/sync_led" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawablePadding="7dp" android:paddingStart="3dip" android:paddingLeft="3dip" android:paddingRight="3dip" android:text="@string/label_synchronization" android:textSize="@dimen/label_font_size" app:drawableStartCompat="@drawable/led" /> <TextView android:id="@+id/sync_status" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/status_indent" android:text="@string/dash" android:textColor="@color/colorBlue" android:textSize="@dimen/label_font_size" tools:text="3 positions behind" /> <TextView android:id="@+id/sync_error" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/status_indent" android:maxWidth="300dp" android:text="" android:textColor="@color/colorPink" android:textSize="@dimen/label_font_size" tools:text="Connection error: Failed to connect to /10.0.0.15:80" /> </LinearLayout> </GridLayout> </LinearLayout> </ScrollView>
app/src/main/res/layout/fragment_main.xml +27 −13 Original line number Diff line number Diff line Loading @@ -74,9 +74,20 @@ </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="4"> <Space android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" /> <net.fabiszewski.ulogger.SwipeSwitch android:id="@+id/switchLogger" android:layout_width="match_parent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:paddingTop="30dp" Loading @@ -88,7 +99,10 @@ android:textSize="16sp" android:thumb="@drawable/thumb_selector" app:switchMinWidth="200dp" app:track="@drawable/track_selector" /> app:switchPadding="20dp" app:track="@drawable/track_selector" android:maxLines="1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" Loading