From b5c6593743cb58d31dcaba927989cbbfa9a3134e Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Mon, 20 Jul 2020 21:49:00 +0300 Subject: [PATCH] Fix support for old aidl api --- .../aidlapi/lock/SetLockStateParams.java | 6 ++- .../net/osmand/aidl/IOsmAndAidlInterface.aidl | 2 +- OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java | 31 ++++++------- .../net/osmand/aidl/OsmandAidlService.java | 2 +- .../osmand/aidl/lock/SetLockStateParams.aidl | 3 ++ .../osmand/aidl/lock/SetLockStateParams.java | 45 +++++++++++++++++++ 6 files changed, 71 insertions(+), 18 deletions(-) create mode 100644 OsmAnd/src/net/osmand/aidl/lock/SetLockStateParams.aidl create mode 100644 OsmAnd/src/net/osmand/aidl/lock/SetLockStateParams.java diff --git a/OsmAnd-api/src/net/osmand/aidlapi/lock/SetLockStateParams.java b/OsmAnd-api/src/net/osmand/aidlapi/lock/SetLockStateParams.java index babb64c8b5..0b71c750df 100644 --- a/OsmAnd-api/src/net/osmand/aidlapi/lock/SetLockStateParams.java +++ b/OsmAnd-api/src/net/osmand/aidlapi/lock/SetLockStateParams.java @@ -6,7 +6,9 @@ import android.os.Parcel; import net.osmand.aidlapi.AidlParams; public class SetLockStateParams extends AidlParams { + private boolean lock; + public SetLockStateParams(boolean lock) { this.lock = lock; } @@ -26,9 +28,11 @@ public class SetLockStateParams extends AidlParams { return new SetLockStateParams[size]; } }; - public boolean getLockState(){ + + public boolean getLockState() { return lock; } + @Override public void writeToBundle(Bundle bundle) { bundle.putBoolean("lock", this.lock); diff --git a/OsmAnd/src/net/osmand/aidl/IOsmAndAidlInterface.aidl b/OsmAnd/src/net/osmand/aidl/IOsmAndAidlInterface.aidl index 6a79918aad..153c0591cd 100644 --- a/OsmAnd/src/net/osmand/aidl/IOsmAndAidlInterface.aidl +++ b/OsmAnd/src/net/osmand/aidl/IOsmAndAidlInterface.aidl @@ -96,7 +96,7 @@ import net.osmand.aidl.mapmarker.RemoveMapMarkersParams; import net.osmand.aidl.quickaction.QuickActionParams; import net.osmand.aidl.quickaction.QuickActionInfoParams; -import net.osmand.aidlapi.lock.SetLockStateParams; +import net.osmand.aidl.lock.SetLockStateParams; // NOTE: Add new methods at the end of file!!! diff --git a/OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java b/OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java index 8168e5dd1c..6b3b4e5373 100644 --- a/OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java +++ b/OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java @@ -43,9 +43,6 @@ import net.osmand.data.PointDescription; import net.osmand.plus.AppInitializer; import net.osmand.plus.AppInitializer.AppInitializeListener; import net.osmand.plus.AppInitializer.InitEvents; -import net.osmand.plus.dialogs.GpxAppearanceAdapter; -import net.osmand.plus.helpers.LockHelper; -import net.osmand.plus.settings.backend.ApplicationMode; import net.osmand.plus.ContextMenuAdapter; import net.osmand.plus.ContextMenuItem; import net.osmand.plus.FavouritesDbHelper; @@ -54,16 +51,15 @@ import net.osmand.plus.GpxSelectionHelper; import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile; import net.osmand.plus.MapMarkersHelper; import net.osmand.plus.MapMarkersHelper.MapMarker; -import net.osmand.plus.settings.backend.OsmAndAppCustomization; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; -import net.osmand.plus.settings.backend.OsmandSettings; import net.osmand.plus.SQLiteTileSource; -import net.osmand.plus.settings.backend.SettingsHelper; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.audionotes.AudioVideoNotesPlugin; +import net.osmand.plus.dialogs.GpxAppearanceAdapter; import net.osmand.plus.helpers.ColorDialogs; import net.osmand.plus.helpers.ExternalApiHelper; +import net.osmand.plus.helpers.LockHelper; import net.osmand.plus.mapcontextmenu.MapContextMenu; import net.osmand.plus.mapcontextmenu.other.IContextMenuButtonListener; import net.osmand.plus.monitoring.OsmandMonitoringPlugin; @@ -75,6 +71,10 @@ import net.osmand.plus.routing.IRoutingDataUpdateListener; import net.osmand.plus.routing.RouteCalculationResult.NextDirectionInfo; import net.osmand.plus.routing.RoutingHelper; import net.osmand.plus.routing.VoiceRouter; +import net.osmand.plus.settings.backend.ApplicationMode; +import net.osmand.plus.settings.backend.OsmAndAppCustomization; +import net.osmand.plus.settings.backend.OsmandSettings; +import net.osmand.plus.settings.backend.SettingsHelper; import net.osmand.plus.views.AidlMapLayer; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapLayer; @@ -856,24 +856,23 @@ public class OsmandAidlApi { }; registerReceiver(executeQuickActionReceiver, mapActivity, AIDL_EXECUTE_QUICK_ACTION); } - + private void registerLockStateReceiver(MapActivity mapActivity) { BroadcastReceiver lockStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - boolean lock = intent.getBooleanExtra(AIDL_LOCK_STATE,false); - LockHelper lh = app.getLockHelper(); - if(lock) { - lh.lock(); - } - else{ - lh.unlock(); + LockHelper lockHelper = app.getLockHelper(); + boolean lock = intent.getBooleanExtra(AIDL_LOCK_STATE, false); + if (lock) { + lockHelper.lock(); + } else { + lockHelper.unlock(); } } }; registerReceiver(lockStateReceiver, mapActivity, AIDL_LOCK_STATE); } - + public void registerMapLayers(@NonNull MapActivity mapActivity) { for (ConnectedApp connectedApp : connectedApps.values()) { connectedApp.registerMapLayers(mapActivity); @@ -1711,6 +1710,7 @@ public class OsmandAidlApi { app.sendBroadcast(intent); return true; } + boolean setLockState(boolean lock) { Intent intent = new Intent(); intent.setAction(AIDL_LOCK_STATE); @@ -1718,6 +1718,7 @@ public class OsmandAidlApi { app.sendBroadcast(intent); return true; } + boolean search(final String searchQuery, final int searchType, final double latitude, final double longitude, final int radiusLevel, final int totalLimit, final SearchCompleteCallback callback) { if (Algorithms.isEmpty(searchQuery) || latitude == 0 || longitude == 0 || callback == null) { diff --git a/OsmAnd/src/net/osmand/aidl/OsmandAidlService.java b/OsmAnd/src/net/osmand/aidl/OsmandAidlService.java index c9fa139f98..5dcd6626bf 100644 --- a/OsmAnd/src/net/osmand/aidl/OsmandAidlService.java +++ b/OsmAnd/src/net/osmand/aidl/OsmandAidlService.java @@ -85,7 +85,7 @@ import net.osmand.aidl.quickaction.QuickActionParams; import net.osmand.aidl.search.SearchParams; import net.osmand.aidl.search.SearchResult; import net.osmand.aidl.tiles.ASqliteDbFile; -import net.osmand.aidlapi.lock.SetLockStateParams; +import net.osmand.aidl.lock.SetLockStateParams; import net.osmand.data.LatLon; import net.osmand.plus.settings.backend.OsmAndAppCustomization; import net.osmand.plus.OsmandApplication; diff --git a/OsmAnd/src/net/osmand/aidl/lock/SetLockStateParams.aidl b/OsmAnd/src/net/osmand/aidl/lock/SetLockStateParams.aidl new file mode 100644 index 0000000000..c6ffbd4be8 --- /dev/null +++ b/OsmAnd/src/net/osmand/aidl/lock/SetLockStateParams.aidl @@ -0,0 +1,3 @@ +package net.osmand.aidl.lock; + +parcelable SetLockStateParams; \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/aidl/lock/SetLockStateParams.java b/OsmAnd/src/net/osmand/aidl/lock/SetLockStateParams.java new file mode 100644 index 0000000000..5de87873e2 --- /dev/null +++ b/OsmAnd/src/net/osmand/aidl/lock/SetLockStateParams.java @@ -0,0 +1,45 @@ +package net.osmand.aidl.lock; + +import android.os.Parcel; +import android.os.Parcelable; + +public class SetLockStateParams implements Parcelable { + + private boolean lock; + + public SetLockStateParams(boolean lock) { + this.lock = lock; + } + + public SetLockStateParams(Parcel in) { + readFromParcel(in); + } + + public static final Creator CREATOR = new Creator() { + @Override + public SetLockStateParams createFromParcel(Parcel in) { + return new SetLockStateParams(in); + } + + @Override + public SetLockStateParams[] newArray(int size) { + return new SetLockStateParams[size]; + } + }; + + public boolean getLockState() { + return lock; + } + + public void writeToParcel(Parcel out, int flags) { + out.writeByte((byte) (lock ? 1 : 0)); + } + + private void readFromParcel(Parcel in) { + lock = in.readByte() == 1; + } + + public int describeContents() { + return 0; + } +} \ No newline at end of file