Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Launch with high quality API #2545

Closed
ljbade opened this issue Oct 6, 2015 · 7 comments
Closed

Launch with high quality API #2545

ljbade opened this issue Oct 6, 2015 · 7 comments
Assignees
Labels
Android Mapbox Maps SDK for Android

Comments

@ljbade
Copy link
Contributor

ljbade commented Oct 6, 2015

As @bleege mentioned in #2002 the JavaDoc work was starting to creep scope to include fixing various problems with the API I was noticing.

This ticket will allow us to track this separately.

This includes areas such as:

  • annotations and null checks, int range checks (eg don't just pass on negative int when C++ expects unsigned ints)
  • functions/classes exposed as "public" that should remain private (eg the functions that were only exposed for InfoWindow to hook into) - Use single package for SDK #2538 plays a role in this
  • functions that don't follow a clear logical pattern (eg Organise annotations function definitions #2539)

Releasing our first major version on Android means we want the "existing" feature set's API to be high quality if we stick to semver. If we can hit this in time for 2.1.0 then we will avoid the need to jump to 3.0.0 as our next release so we can fixup the API.

@bleege @tobrun

@ljbade ljbade added the Android Mapbox Maps SDK for Android label Oct 6, 2015
@ljbade ljbade added this to the android-v2.1.0 milestone Oct 6, 2015
@ljbade ljbade mentioned this issue Oct 6, 2015
@ljbade
Copy link
Contributor Author

ljbade commented Oct 6, 2015

Something I picked up last night, MapView exposes a few internal methods as public because it directly implements LocationListener and CompassView.CompassDelegate. Instead these should be refactored to be private inner classes like all the other internal listeners we have for touch events etc.

@ljbade
Copy link
Contributor Author

ljbade commented Oct 6, 2015

I have also realised we should be more ruthless at removing dead/commented out code, and TODOs from master. We can always revive old code again easily thanks to git history.

@ljbade
Copy link
Contributor Author

ljbade commented Oct 6, 2015

onSizeChanged is public. Make protected and @Override

@ljbade
Copy link
Contributor Author

ljbade commented Oct 6, 2015

Inner class ConnectivityReceiver is package private. Make private

@ljbade
Copy link
Contributor Author

ljbade commented Oct 6, 2015

Noticed that Google are very careful to mark functions final. I wonder why if the class is already final. Found some references that final functions get optimised more...

@ljbade
Copy link
Contributor Author

ljbade commented Oct 8, 2015

getAnnotationsInBounds only returns markers. Perhaps rename? or configure to support the type of annotation like the underlying C++ function.

ljbade pushed a commit that referenced this issue Oct 9, 2015
@ljbade ljbade self-assigned this Oct 9, 2015
@ljbade
Copy link
Contributor Author

ljbade commented Oct 13, 2015

These were fixed.

@ljbade ljbade closed this as completed Oct 13, 2015
AndwareSsj pushed a commit to AndwareSsj/mapbox-gl-native that referenced this issue Nov 6, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Android Mapbox Maps SDK for Android
Projects
None yet
Development

No branches or pull requests

1 participant