[APP] - version 4.8.+ ( 04/2022 )

Started by Menion, March 30, 2022, 15:24:43

0 Members and 1 Guest are viewing this topic.

luce

Hm... I'm not sure what I should think about the new hill shading. Although the resolution is obviously better, the map looks a little flat and less three-dimensional to me, and a bit "pixelated", if you know what I mean (see comparison at zoom level 15). Hill shading in LM3 looks smoother somehow...
  •  

michaelbechtold

  •  

CabrioTourer

Small feedback for menion:  Thanks for the improvement of itinerary list in planner. Works perfect.  :)
  •  
    The following users thanked this post: Menion, luce

Menion

@razvaneduard
I'm quickly testing it and it seems to work correctly even for planner routes. You may give a try and modify "speed_for_moving_cursor_when_gps_off" parameter in the Locus/config.cfg file to something like "speed_for_moving_cursor_when_gps_off=3.0" if this makes a difference.

@balloni55
identical dashboard & custom screen buttons > ah thanks. I'll have to get rid of this old "Custom screen" system soon  >:(

@Viajero Perdido
I see the problem probably. When you plan a really short route where are none! navigation commands (no instruction to turn) and you have disabled generating of navigation commands by the shape (settings > navigation > advanced > Frequency of commands), app does not recognize route as navigation route so it starts a guidance mode instead. Hmm ...

This looks like quite confusing behavior. I'll change it to the next app version and when you select "navigation", it will always start this mode even without a valid navigation command.

@Christian
I know I know, sorry. It should be already fixed in the latest beta version and the new version is in preparation.

@luce
I agree with michaelbechtold. Maybe not so nice, but definitely a little more detailed. Anyway as you may see on your screenshots, there are some graphical glitches that I was not yet able to solve. Hope that current style is not a problem.
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download

slarti76

Quote from: Menion on April 20, 2022, 08:39:18
@luce
I agree with michaelbechtold. Maybe not so nice, but definitely a little more detailed. Anyway as you may see on your screenshots, there are some graphical glitches that I was not yet able to solve. Hope that current style is not a problem.
I also agree that the detail is more important (hey, I was the one asking for it ;) ). But when I compare the screenshots, the new one also looks less saturated. Perhaps a little tweaking of the alpha value for the shading would make the effect more pronounced and thus better looking?
  •  

razvaneduard

Quote from: Menion on April 20, 2022, 08:39:18
@razvaneduard
I'm quickly testing it and it seems to work correctly even for planner routes. You may give a try and modify "speed_for_moving_cursor_when_gps_off" parameter in the Locus/config.cfg file to something like "speed_for_moving_cursor_when_gps_off=3.0" if this makes a difference.

I modified
   Locus/config.cfg : speed_for_moving_cursor_when_gps_off=3.0
but still no voice commands.
With this modification it shows now direction instruction , but only for the first point.
Before this did not appeared.

Here is  screen capture, for a small navigation simulation:
https://drive.google.com/file/d/1zfvG0K0OjeDooy4c1kFJBZSf2rXv3-CF/view?usp=sharing
  •  

0709

@ Menion.
https://forum.locusmap.eu/index.php?topic=7831.msg67007#msg67007
I will report back, so here is the result. 
https:// will be added.  = Confirmed by the RouteYou developper
Locus Pro Classic 3.70.11 - Locus map 4.25.1.3 BETA
  •  
    The following users thanked this post: Menion

Viajero Perdido

Quote from: Menion on April 20, 2022, 08:39:18When you plan a really short route where are none! navigation commands (no instruction to turn) and you have disabled generating of navigation commands by the shape (settings > navigation > advanced > Frequency of commands), app does not recognize route as navigation route so it starts a guidance mode instead.

Thanks for the quick fix; I'll check it out soon.  I did have "maximum deviation from route" = 250m (and navs shorter than that), which might've triggered the problem.  But not in an obvious way.   :)  Cheers.
  •  

joeloc

Since a couple of years now, Locus dies frequently and silently on current Samsung devices. This happens 3 times a day at least for me at the moment (Samsung Galaxy S20FE), mostly while I do other stuff with the phone. For example, when I take a few pictures or videos with the Samsung Camera App, you can almost bet on Locus (and its track recording) either dying or more likely being killed by Samsungs aggressive OS. NONE of the messy Android options on this will help, nor will running Locus as a service change things. Locus simply dies silently and will obviously no longer record any track.

This is a real shame... and it's basically getting worse with every OS update. I run a "watchdog" since a few months that checks for Locus every minute and restarts it when it's gone. That kind of works against losing tracks, but is really an ugly solution.

It happens to me and to a friend as well (Galaxy S20 Ultra), we both have comparatively large databases. Maybe that makes Locus use more memory and Samsung more likely to kill it when running other apps? I have no clue really, and I can't make any suggestions on how to fix this. I just wanted to point out that this long standing problem is far from being solved... and it's a major nuisance if you cannot rely on your track being recorded.

balloni55

QuoteI'll have to get rid of this old "Custom screen" system soon
i hope you still remember your promise regarding "rotation" and "sliding compass". ;)
https://forum.locusmap.eu/index.php?topic=4744.msg38694#msg38694
:) :)
Locus Map 4.26.1 Gold AFA

LM4 User ID e06d572d4
  •  

michaelbechtold

Quote from: joeloc on April 21, 2022, 16:53:32
Since a couple of years now, Locus dies frequently and silently on current Samsung devices. ...

This happened on my Android 12 S10 (2019) last week (on a 350 km ride) and today again (on a 10 km hike).

Runs as a service, too. And my database is also large, exceeds 1 GB.

Here is some mind food for @Menion:
The older log file ended with those messages:
10:52:43.336   D   zzbcz   checkDayNightState()
10:57:43.327   D   zzbcz   checkDayNightState()
Then a new log file started at 11:02, and this is also the time of the last track point for more than an hour.
At 13.27 the tracking resumed, in the background it seems. Because - very weird - I only noticed that Locus (4.8.2.2 beta) UI was not running some minutes later. I restarted and Locus complained about OS optimization killing it).
Good luck ...!
TXs and cheers
Michael

11:02:42.873   D   getInt   register(android.net.conn.CONNECTIVITY_CHANGE)
11:02:42.881   D   AppLifeManager   refreshPeriodicSetup(), adding refresher for o.zzbcz@aa9b237
11:02:42.885   D   AppLifeManager   refreshPeriodicSetup(), adding refresher for o.zzayk@c17d3a4
11:02:42.900   D   getInstallBeginTimestampSeconds   initialize(o.getContext$read@a079422)
11:02:42.906   D   UpdateSegmentsWorker$write   setupWorker(KEEP)
11:02:42.979   W   isGooglePlayServicesAvailable   onCreate(), id: 20357260, serviceId: 101
11:02:42.981   W   isGooglePlayServicesAvailable   initialize(), id: 20357260, serviceId: 101
11:02:43.032   D   getContainerId   customOnCreate()
11:02:43.072   D   setDisableAdvertisingIdentifiers   validateDbItems(SQLiteDatabase: /sdcard/Locus/data/database/waypoints.db, groups, _id, uuid, time_created, time_updated)
11:02:43.075   D   setDisableAdvertisingIdentifiers   validateDbItems(), invalid: 0
11:02:43.078   D   setDisableAdvertisingIdentifiers   validateDbItems(SQLiteDatabase: /sdcard/Locus/data/database/waypoints.db, waypoints, _id, uuid, time_created, time)
11:02:43.111   D   setDisableAdvertisingIdentifiers   validateDbItems(), invalid: 0
11:02:43.154   D   setDisableAdvertisingIdentifiers   validateDbItems(SQLiteDatabase: /sdcard/Locus/data/database/tracks.db, groups, _id, uuid, time_created, time_updated)
11:02:43.161   D   setDisableAdvertisingIdentifiers   validateDbItems(), invalid: 0
11:02:43.163   D   setDisableAdvertisingIdentifiers   validateDbItems(SQLiteDatabase: /sdcard/Locus/data/database/tracks.db, tracks, _id, uuid, time_created, time_updated)
11:02:47.617   D   setDisableAdvertisingIdentifiers   validateDbItems(), invalid: 0
11:02:47.730   E   stopSelfResult   initialize()
java.lang.NullPointerException: mapContent must not be null
   at o.JobInfo.v_(:395)
   at o.stopSelfResult.initViewTreeOwners(:692)
   at o.JobInfo.<init>(:220)
   at o.getContainerId.MediaMetadataCompat(:420)
   at o.isGooglePlayServicesAvailable.onCreate(:73)
   at android.app.ActivityThread.handleCreateService(ActivityThread.java:4940)
   at android.app.ActivityThread.access$1900(ActivityThread.java:310)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2300)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loopOnce(Looper.java:226)
   at android.os.Looper.loop(Looper.java:313)
   at android.app.ActivityThread.main(ActivityThread.java:8663)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

java.lang.NullPointerException: mapContent must not be null
   at o.JobInfo.v_(:395)
   at o.stopSelfResult.initViewTreeOwners(:692)
   at o.JobInfo.<init>(:220)
   at o.getContainerId.MediaMetadataCompat(:420)
   at o.isGooglePlayServicesAvailable.onCreate(:73)
   at android.app.ActivityThread.handleCreateService(ActivityThread.java:4940)
   at android.app.ActivityThread.access$1900(ActivityThread.java:310)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2300)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loopOnce(Looper.java:226)
   at android.os.Looper.loop(Looper.java:313)
   at android.app.ActivityThread.main(ActivityThread.java:8663)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

11:02:47.732   W   isGooglePlayServicesAvailable   initialize(), id: 20357260, serviceId: 101
11:02:47.737   D   getContainerId   onStartCommand(null), id: 20357260
11:02:47.746   D   Product   onReceive(o.setKeyline@5346827, Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4200010 (has extras) }), network change: OnNetworkChanged(isOnline=true, isWifiConnected=false)
11:02:47.749   D   getInstallBeginTimestampSeconds   onEvent(OnNetworkChanged(isOnline=true, isWifiConnected=false)), requestSync: false
11:02:47.750   D   zzbcz   checkDayNightState()
11:02:47.759   W   WidgetTrackRecordCore   onUpdate(o.setKeyline@5346827, android.appwidget.AppWidgetManager@58925f3, []), no widget IDs to refresh
11:02:47.772   D   setCheckedIcon   onStart: activate(), res: true, suc: true
11:02:47.776   W   WidgetTrackRecordCore   onUpdate(o.setKeyline@5346827, android.appwidget.AppWidgetManager@58925f3, []), no widget IDs to refresh
11:02:48.198   D   setCheckedIcon$MediaBrowserCompat$CustomActionResultReceiver   onStart: fetchAndActivate(), res: true, suc: true, ex: null
11:02:48.207   D   setCheckedIcon   loadSslCertificates(), cert 'cert_zbgis_skgeodesy_sk_20211016.cer' not active
11:02:48.213   D   setCheckedIcon   loadSslCertificates(), cert 'cert_kataster_skgeodesy_sk_20211016.cer' not active
11:02:48.216   D   setCheckedIcon   loadSslCertificates(), cert 'cert_outdooractive_com_20200125.cer' not active
11:02:48.220   D   setCheckedIcon   loadSslCertificates(), cert 'cert_road_atlasltd_cz_20210630.cer' not active
11:07:52.125   D   zzbcz   checkDayNightState()
11:10:23.232   W   OptimizationDetectorImpl   analyzeEvents(), optimization detected!, events: IsAliveEvent[timeStart: 11:04:05, timeEnd: 11:07:06, expectedDelay: 60000, requireAwake: true, true, delayed: true], IsAliveEvent[timeStart: 11:07:06, timeEnd: 11:10:20, expectedDelay: 60000, requireAwake: true, true, delayed: true]
11:12:52.112   D   zzbcz   checkDayNightState()
11:17:54.109   D   zzbcz   checkDayNightState()
11:22:54.136   D   zzbcz   checkDayNightState()
11:27:54.090   D   zzbcz   checkDayNightState()
11:32:54.110   D   zzbcz   checkDayNightState()
11:33:46.184   D   Product   onReceive(o.setKeyline@5346827, Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4200010 (has extras) }), network change: OnNetworkChanged(isOnline=false, isWifiConnected=false)
11:33:46.192   D   getInstallBeginTimestampSeconds   onEvent(OnNetworkChanged(isOnline=false, isWifiConnected=false)), requestSync: false
11:33:58.797   D   Product   onReceive(o.setKeyline@5346827, Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4200010 (has extras) }), network change: OnNetworkChanged(isOnline=true, isWifiConnected=false)
11:33:58.801   D   getInstallBeginTimestampSeconds   onEvent(OnNetworkChanged(isOnline=true, isWifiConnected=false)), requestSync: false
11:35:28.286   D   Product   onReceive(o.setKeyline@5346827, Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4200010 (has extras) }), network change: OnNetworkChanged(isOnline=false, isWifiConnected=false)
11:35:28.289   D   getInstallBeginTimestampSeconds   onEvent(OnNetworkChanged(isOnline=false, isWifiConnected=false)), requestSync: false
11:35:28.459   D   Product   onReceive(o.setKeyline@5346827, Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4200010 (has extras) }), network change: OnNetworkChanged(isOnline=true, isWifiConnected=false)
11:35:28.463   D   getInstallBeginTimestampSeconds   onEvent(OnNetworkChanged(isOnline=true, isWifiConnected=false)), requestSync: false
11:37:54.130   D   zzbcz   checkDayNightState()
11:42:54.092   D   zzbcz   checkDayNightState()
11:47:59.095   D   zzbcz   checkDayNightState()
11:53:00.123   D   zzbcz   checkDayNightState()
11:58:00.122   D   zzbcz   checkDayNightState()
12:03:01.111   D   zzbcz   checkDayNightState()
12:08:11.135   D   zzbcz   checkDayNightState()
12:13:11.204   D   zzbcz   checkDayNightState()
12:18:55.127   D   zzbcz   checkDayNightState()
12:23:57.114   D   zzbcz   checkDayNightState()
12:28:57.120   D   zzbcz   checkDayNightState()
12:29:25.527   D   glUniform4fv   onStartSync(time.google.com)
12:29:28.301   D   glUniform4fv   onSuccess(-2866, 2776)
12:29:28.306   D   glUniform4fv   onStartSync(time.google.com)
12:29:28.382   D   glUniform4fv   onSuccess(-2927, 76)
12:33:57.137   D   zzbcz   checkDayNightState()
12:39:00.092   D   zzbcz   checkDayNightState()
12:44:35.121   D   zzbcz   checkDayNightState()
12:49:39.453   D   zzbcz   checkDayNightState()
12:54:39.392   D   zzbcz   checkDayNightState()
13:00:00.142   D   zzbcz   checkDayNightState()
13:05:12.088   D   zzbcz   checkDayNightState()
13:10:12.127   D   zzbcz   checkDayNightState()
13:15:12.121   D   zzbcz   checkDayNightState()
13:20:12.164   D   zzbcz   checkDayNightState()
13:25:12.145   D   zzbcz   checkDayNightState()
13:27:40.907   D   doAction$IconCompatParcelizer   wrap(android.app.ContextImpl@b972a47), set custom locale: en
13:27:40.984   I   obtainMessage   MEMORY info: MainActivity - onCreate(), savedInstanceState: Bundle[{com.google.app_measurement.screen_service=Bundle[mParcelledData.dataSize=120], MA_PANEL_RIGHT_VISIBILITY=8, clearFragments=false, android:viewHierarchyState=Bundle[mParcelledData.dataSize=7724], MA_PANEL_BOTTOM_VISIBILITY=true, appId=0.5124987718850051, androidx.lifecycle.BundlableSavedStateRegistry.key=Bundle[mParcelledData.dataSize=2564], MAC_SCREEN_LOCK_LOCKED=false, android:lastAutofillId=1073744339, android:fragments=android.app.FragmentManagerState@9c3012}] (41ms)
13:27:40.987   I   obtainMessage    - nativeHeapSize: 56.06 MB
13:27:41.000   D   readDiffed   currentActivity set to com.asamm.locus.basic.features.mainActivity.MainActivityMap@e0eccf8
13:27:41.042   D   eglGetCurrentDisplay$RemoteActionCompatParcelizer   db, creating CRS database, refresh: false, valid: true, file: /data/user/0/menion.android.locus/app_various/crs.db, size: 5222400
13:27:41.046   D   eglGetCurrentDisplay$RemoteActionCompatParcelizer   db com.asamm.locus.projection.crs.CrsDatabase_Impl@3d84922 created, dao: o.glBindBuffer@babafb3
13:27:41.055   D   setGLWrapper   ReLinker: Beginning load of proj...
13:27:41.059   D   setGLWrapper   ReLinker: proj (null) was loaded normally!
13:27:41.069   W   getPreferences   setCorrectBackgrounds(false), enabling hardware acceleration
13:27:41.125   D   BluetoothGattDescriptor   init started
13:27:41.138   D   BluetoothGattDescriptor   init done
13:27:41.174   I   getGooglePlayServicesAvailabilityRecoveryIntent   initActions(), completed, actions: 83
13:27:41.176   D   zzary   validatePanels(), duplicate action 10065 detected
13:27:41.177   D   zzary   validatePanels(), duplicate action 10065 detected
13:27:41.179   D   zzary   validatePanels(), duplicate action 10065 detected
13:27:41.184   D   zzary   validatePanels(), duplicate action 10065 detected
13:27:41.186   D   zzary   validatePanels(), duplicate action 10065 detected
13:27:41.187   D   zzary   validatePanels(), duplicate action 10065 detected
13:27:41.189   D   zzary   validatePanels(), duplicate action 10065 detected
13:27:41.190   D   zzary   validatePanels(), duplicate action 10065 detected
13:27:41.272   D   getVendorId   setState(WAITING, false), attempt to set same existing state
13:27:41.276   W   FMA-glUniform4i   getDirectoryDefault(), pref: PrefSetDirectory [key: KEY_S_DEFAULT_FOLDER_EXPORT_2, value: , isDefault: true], root: /sdcard/Locus
13:27:41.577   W   setMaximumScale   Unknown type:exportStorageEntry, {"iconLink":"","length":241664,"id":"\/storage\/emulated\/0\/Locus\/export","lastModified":1650295203000,"mimeType":"","history":[],"title":"export","parentId":"\/storage\/emulated\/0\/Locus","isDirectory":true,"storageId":0}
13:27:41.579   E   SAAgentV2   loadQueueFromStorage()
java.lang.StringIndexOutOfBoundsException: length=1132; regionStart=1125; regionLength=-1
   at java.lang.StringFactory.newStringFromBytes(StringFactory.java:71)
   at o.cONN.MediaBrowserCompat$MediaItem(:127)
   at o.getAccessoryId.readObject(:329)
   at o.cOh.read(:107)
   at o.SAAgentV2$1.RatingCompat(:380)
   at o.SAAgentV2$1.<init>(:66)
   at o.SAAgentV2$1.<init>(Unknown Source:0)
   at o.SAAgentV2$1$MediaBrowserCompat$CustomActionResultReceiver.RemoteActionCompatParcelizer(:458)
   at com.asamm.locus.basic.features.mainActivity.components.MacPanelBottom.MediaBrowserCompat$SearchResultReceiver(:339)
   at com.asamm.locus.basic.features.mainActivity.components.MacPanelBottom.write(:286)
   at com.asamm.locus.basic.features.mainActivity.components.MacPanelBottom.read(:291)
   at com.asamm.locus.basic.features.mainActivity.components.MacPanelBottom.RemoteActionCompatParcelizer(:160)
   at com.asamm.locus.features.mainActivity.components.MacBase.RemoteActionCompatParcelizer(:110)
   at com.asamm.locus.features.mainActivity.panelHelper.PanelHelper.RemoteActionCompatParcelizer(:80)
   at o.pauseSession.read(:396)
   at o.pauseSession.onCreate(:195)
   at android.app.Activity.performCreate(Activity.java:8290)
   at android.app.Activity.performCreate(Activity.java:8270)
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
   at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
   at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
   at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loopOnce(Looper.java:226)
   at android.os.Looper.loop(Looper.java:313)
   at android.app.ActivityThread.main(ActivityThread.java:8663)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

java.lang.StringIndexOutOfBoundsException: length=1132; regionStart=1125; regionLength=-1
   at java.lang.StringFactory.newStringFromBytes(StringFactory.java:71)
   at o.cONN.MediaBrowserCompat$MediaItem(:127)
   at o.getAccessoryId.readObject(:329)
   at o.cOh.read(:107)
   at o.SAAgentV2$1.RatingCompat(:380)
   at o.SAAgentV2$1.<init>(:66)
   at o.SAAgentV2$1.<init>(Unknown Source:0)
   at o.SAAgentV2$1$MediaBrowserCompat$CustomActionResultReceiver.RemoteActionCompatParcelizer(:458)
   at com.asamm.locus.basic.features.mainActivity.components.MacPanelBottom.MediaBrowserCompat$SearchResultReceiver(:339)
   at com.asamm.locus.basic.features.mainActivity.components.MacPanelBottom.write(:286)
   at com.asamm.locus.basic.features.mainActivity.components.MacPanelBottom.read(:291)
   at com.asamm.locus.basic.features.mainActivity.components.MacPanelBottom.RemoteActionCompatParcelizer(:160)
   at com.asamm.locus.features.mainActivity.components.MacBase.RemoteActionCompatParcelizer(:110)
   at com.asamm.locus.features.mainActivity.panelHelper.PanelHelper.RemoteActionCompatParcelizer(:80)
   at o.pauseSession.read(:396)
   at o.pauseSession.onCreate(:195)
   at android.app.Activity.performCreate(Activity.java:8290)
   at android.app.Activity.performCreate(Activity.java:8270)
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
   at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
   at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
   at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loopOnce(Looper.java:226)
   at android.os.Looper.loop(Looper.java:313)
   at android.app.ActivityThread.main(ActivityThread.java:8663)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

13:27:41.615   D   getFormattedEnergy   prepareExpandedContainer(), layout not valid or not expandable
13:27:41.623   W   FMA-glUniform4i   getDirectoryDefault(), pref: PrefSetDirectory [key: KEY_S_DEFAULT_FOLDER_MAPS_VECTOR, value: , isDefault: true], root: /sdcard/Locus
13:27:41.632   D   glEnable$IconCompatParcelizer   setHighlight(com.android.internal.policy.PhoneWindow@255eea), required: false
13:27:41.636   D   MainActivityDashboardImpl   isDashboardVisible(), top visible

  •  

slarti76

Some thoughts about PIP:
First of all, I like it very much - finally playing Pokémon GO on the bike and navigating with Locus at the same time (don't tell the police ;).
I tried it today, but still had 4.8.2.1 - before I write a post, I thought I'd update... But something's broken in .2: I can't increase the size of the window to more than half the width of my screen. Before, I could increase it to like 90% of full width. Like this, it's much too small. It's also 3:2 now, instead of 1:1, but it's always fixed, which I find an unnecessary restriction. Depending on app that is overlayed I'd prefer to be able to change size more or less freely.
I'm also not able anymore to move it anywhere - the window is either magnetic on the left or right, I can't have it in the middle.
All that worked before (apart from the ratio which was always fixed).
Some more observations:

  • The bottom bar only contains the navigation icon and distance - wasted space. Are you planning to add buttons here? Because otherwise, I think it would be better to just overlay the navigation icon in the upper left corner, just like in fullscreen
  • The map is always north-up, even if I have map rotation on in fullscreen. For navigation, map rotation is a must.
  • The zoom is very close. I can perhaps see 100m in all directions. Is that on purpose?

PS: I never had a problem when switching between PIP and Fullscreen, Locus never disappeared or the like.
  •  

slarti76

Oh, I also tried the improved map shading. My result is very surprising: While the slope shading is greatly improved (screenshots 1&2), the Hill Shading shows no improvement at all (screenschots 3&4).
All screenshots are ZL12 with 2xEnlargement and ZL13.
  •  

Andrew Heard

Quote from: joeloc on April 21, 2022, 16:53:32
...I run a "watchdog" since a few months that checks for Locus every minute and restarts it when it's gone.
@joeloc sorry to read of your troubles - I don't have those problems, will keep 2017 Samsung phone as long as possible, but could you possibly share more details of your "watchdog" - just curious. Best wishes Andrew.
LM4.26.2 GOLD user ID:c7d47597a
  •  

Menion

@razvaneduard
sorry it does not work, but I see no reason why it should not work by default. It is a little more complicated to find a reason and because it is really a feature for testing, I do not want currently spend time on it, thanks for understanding.

@joeloc
"3 times a day"? May you create a log after the app crash? Anyway, I had some time ago also troubles with the camera and it was an unsolvable problem. The camera app was so memory-hungry, that system killed everything on background ...

Anyway fact that the database is big should have no impact here. SGS20 is so powerful device, uff. Let's try a log, please. At least to verify that it is/isn't a problem directly of the app.

@balloni55
heh, I remember. That's why I still keep the "custom screens" feature in the app  :). How you were able to find this 7 years old post  :o

@michaelbechtold
hard to say if this is the same issue as in the case of joeloc. These app logs usually do not contain final crash that caused termination, unfortunately. If there are situations where it happens almost always, I suggest reducing the memory requirements of the Locus just for tests. Disable some overlays, disable shading, reduce the amount of points/tracks visible on the map ...

@slarti76
Locus & Pokémon GO  ;D

Thanks for the tests! You were really able to resize and move this PiP window fully freely? Weird, it should not be possible. It is also not possible to define own custom buttons there. For this, you may simply use the split-screen mode of your device, you do not need a PiP.

Anyway
- map rotation > agree, I'll look at it.
- map zoom > there should be no changes when switching to PiP, so you should see a zoom visible on current map.
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download
  •