Skip to content

Releases: skedgo/tripkit-android

v1.21: Refactor RouteService (#323)

14 Nov 14:47
3aad6e5
Compare
Choose a tag to compare

You can now exclude transport and transit modes from routing using RouteService.

Release v1.20 (#322)

13 Nov 14:59
2fe47c3
Compare
Choose a tag to compare
* Upgrade AGP to 3.1.0 (#278)

* Upgradle gradle plugin

* AccountData shoulds needs domain at runtime

* Include in immutableGson in packaging

* Use the module

* Prefer Google

* 27 now

* Revert this

* Revert this

* Update modeInfo and RealtimeAlert models (#279)

* Add fromDate

* Rename to modeInfo

* Fix this annotation

* Remove modeIdentifier

* Add alt

* Add remoteIconIsTemplate

* Add mavenCentral()

* Add MavenCentral

* Tin/support modes filter (#280)

Support modes filter

* Add helper methods to query (#281)

* Add these

* This is NonNull

* Add API to print local time (#282)

* Relax logic of determining skedgo urls (#275)

* Relax logic of determining skedgo urls

* Fix test

* Separate binding adapters (#283)

* Turn by turn (#284)

* Add segment turn by turn info

* Publish artifacts

* Publish artifacts

* Databinding v2

* Obfuscate tripkit booking

* Pass JsonAdapter Annotations to immutable class

* Add proguard config for tripkit (#287)

* Add Proguard config for tripkit

* Remove facebook

* Integrate myki (#288)

* Set default component

* Handle empty booking form (response 204) (#286)

* Handle empty booking form (response 204)

* Fix tests

* Add test and fix some stuff

* Add null form test

* Add !!

* Remove gcm dependency

* Use firebase job dispatcher

* Notify the scheduler when finished

* Reverse `needsReschedule`

* Fix tests

* Handle myki specific auth booking form (#289)

* Set default component

* Handle empty booking form (response 204) (#286)

* Handle empty booking form (response 204)

* Fix tests

* Add test and fix some stuff

* Add null form test

* Add !!

* Remove gcm dependency

* Use firebase job dispatcher

* Notify the scheduler when finished

* Reverse `needsReschedule`

* Handle myki specific auth booking form

* Fix Requesting Regions too frequently (#291)

* Upgrades gradle (#292)

* Set default component

* Handle empty booking form (response 204) (#286)

* Handle empty booking form (response 204)

* Fix tests

* Add test and fix some stuff

* Add null form test

* Add !!

* Remove gcm dependency

* Use firebase job dispatcher

* Notify the scheduler when finished

* Reverse `needsReschedule`

* Use 2.1 pluging for gradle 4.6+

* Upgrade gradle

* Target sdk 27 (#294)

* Target sdk 27

* target 27 for samples module

* Update dependencies (#295)

* Target sdk 27

* target 27 for samples module

* Update dependencies

* Fix stops disappearing (#297)

* Target sdk 27

* target 27 for samples module

* Update dependencies

* Fix stops disappearing by adding includeStops=true query

* Fix tests

* Save and load sources (#237)

* Save and load sources

* Use plain string

* Fix racv issues 2 (#299)

* Set hint for password

* ActionSend on the password EditText

* Goes from the password field to submitting the form

* Fix not show error when login to myki account (#293)

* Show error when an network exception occurs

* Fix test

* UUID as user identifier (#298)

* Generate random UUID to use as user identifier

* Fix test

* Move set key responsibility to repository implementation

* Refactor

* Use the same Prefs as the userToken

* Fix test

* Bundle randome uuid

* Remove import

* Fix import

* Add @SerializedName to work with reflection (#301)

* Implement myki topup (#303)

* Dont override URL for lamda

* Hot fix for payment

* Add v = 12 (#305)

* Upgradle play services (#306)

* Upgrade play services

* Upgrade gradle

* Upgrade gradle

* Add funicular icon (#308)

* Add funicular icon

* Reformat

* Region info cache (#309)

* Add basic region info cache

* Fix wheelchair stuck routing issue WIP

* Refactor and fix tests

* Update tests

* Refactor

* Refactor test

* Refactor again

* Optional (#310)

* Upgrade dependencies (#312)

* Upgrade AGP and kotlin

* Update travis config

* Compile with sdk 28

* Dont need to inherit this

* Fix databinding compiler version

* Dont override interface method

* Fix test

* Update support lib

* User version constant

* Add setter (#313)

* Match trip with prefix (#314)

* Fix bikeshare results shown when only public transport selected (#315)

* Match trip with prefix

* Match trips with modeId considering grouping mode Ids

* Upgrade to kotlin 1.2 (#316)

* Upgrade to kotlin 1.2

* Update kluent

* Change package name

* Migrate to androidx (#317)

* Migrate to androidx

* Migrate to androidx

* Clean up

* Use androidx annotations

* Some versions tuning

* Fix annotation dependency

* assembleRelease

* Update build tools version

* Down to 27

* Down to 27

* Allow adding trip as display trip to tripgroup (#318)

* Allow adding trip as display trip to tripgroup

* Open methods

* Fix test

* 1 more test

* Fix imports

* Routing status message (#302)

* Add routing error message

* Fix tests

* Add NoConnection routing error

* Refactor

* Refactor again

* Remove test

* Add rxjava 2 (#321)

* Bicycle dismount section red (#320)

* Handle dismount property

* Do not use unmount property with wheelchair

* Refactor

* Rename

* Fix read me

* All use the same tripkit version

* Update READMe

* Get trip kit from jitpack

* Use jitppack version

* Update tripkit version

* Add sources and javadoc jar

* Build with master-snapshot

* Add version to README

* Update version again

* Add #

* Build with dev for now

v1.1b5

28 Apr 12:34
Compare
Choose a tag to compare
v1.1b5 Pre-release
Pre-release

What's New?

  • New: Configs now exposes an userTokenProvider to retrieve user token obtained via TripGo Account APIs.
  • New: Booking Extensions for TripKit was formed. See its docs.
  • New: Account Extensions for TripKit was formed. See its docs.

Upgrade

  compile('com.skedgo.sdk:trip-kit:1.1b5@aar') {
    transitive = true
  }
  compile('com.skedgo.sdk:trip-kit-booking:1.0b2@aar') {
    transitive = true
  }
  compile('com.skedgo.sdk:trip-kit-account:1.0b2@aar') {
    transitive = true
  }

v1.1b4

22 Apr 12:03
Compare
Choose a tag to compare
v1.1b4 Pre-release
Pre-release
  • New: Booking now includes an optional quickBookingsUrl property to perform quick booking.
  • New: BookingKit's source code was moved into this repo. BookingKit provides QuickBookingApi to handle the quickBookingsUrl above. BookingKitModule denotes how the QuickBookingApi is instantiated. Note that the OkHttpClient param required should be obtained from TripKit. There's also a BookingApi to handle bookingURL too.

In order to use BookingKit, add following dependency:

  compile('com.skedgo.sdk:booking-kit:1.0b1@aar') {
    transitive = true
  }

v1.1b2

21 Mar 11:46
Compare
Choose a tag to compare
v1.1b2 Pre-release
Pre-release

TripKit's 'Configs' exposed a factory to initialize Co2Preferences that helps specify CO2 of some transports. Co2Preferences has a default implementation namely DefaultCo2Preferences that stores and queries CO2 preferences via SharedPreferences. However, if you aren't satisfied with it, you can spawn a new implementation. For usage of DefaultCo2Preferences, please refer to this DefaultCo2PreferencesTest.

v1.1b1

18 Mar 14:25
Compare
Choose a tag to compare
v1.1b1 Pre-release
Pre-release

This beta provides BookingResolver that is corresponding to TKInterAppCommunicator on iOS. When you got a Booking object and a list of external actions obtained via getExternalActions(), BookingResolver can help you perform each of action by invoking performExternalActionAsync(). The method returns an Observable so that you can retrieve the BookingAction asynchronously. Why asynchronous? When it comes to resolving an action related to FlitWays, BookingResolver delegates determining exact addresses of locations to Geocoders which require networking. So by subscribing an Observable, you can avoid unnecessary UI blocking.

The BookingAction returned can be useful. It can depict whether there's a built-in app (e.g. Uber, Lyft apps) (via hasApp()) so that you can start perform deep-linking by calling, for example, startActivity() with BookingAction.data().

Other than that, you may wonder how to show things like Open Uber, Book with FlitWays or Open Lyft. getTitleForExternalAction() will do the trick.

In order to know more about BookingResolver's behaviors, you can take a look at its unit test.

v1.0-rc6

29 Feb 10:42
Compare
Choose a tag to compare
  • TripGroup.setDisplayTripId() was removed. The new TripGroup.changeDisplayTrip() is the correct way to change display trip in TripGroup.

See more: https://github.com/skedgo/android-shared-lib/pull/178 and #23.

v1.0-rc5

24 Feb 09:11
Compare
Choose a tag to compare
  • Fixed: Use info was previously sent as Map<String, String>. User info is now Map<String, Object>.
  • New APIs to retrieve dark icons: TransportModeUtils.getDarkIconUrlForModeInfo() and TransportModeUtils.getDarkIconUrlForTransportMode(). See this for samples.
  • TripKit's source code is now located at https://github.com/skedgo/tripkit-android/tree/master/trip-kit.
  • New APIs to get real time update for a trip: RealTimeTripUpdateReceiver. RealTimeTripUpdateReceiver has an implementation, PeriodicRealTimeTripUpdateReceiver, that gets real time update for display trip periodically. The usage is pretty straightforward as following:
private TripGroup tripGroup;
private RealTimeTripUpdateReceiver realTimeTripUpdateReceiver;

@Override public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  realTimeTripUpdateReceiver = PeriodicRealTimeTripUpdateReceiver.builder()
      .group(tripGroup)
      .initialDelay(10)
      .period(10)
      .timeUnit(TimeUnit.SECONDS)
      .build();
}

@Override public void onStart() {
  super.onStart();
  realTimeTripUpdateReceiver.startAsync()
      .subscribe(new Action1<TripGroup>() {
        @Override public void call(TripGroup group) {
          // TODO: Reshow display trip.
        }
      });
}

@Override public void onStop() {
  super.onStop();
  realTimeTripUpdateReceiver.stop();
}

v1.0-rc4

16 Feb 17:15
Compare
Choose a tag to compare

New API: Reporter. Reporter has the same usage of TKReporter in iOS counterpart. Reporter can be accessed via TripKit.getReporter().

v1.0-rc3

01 Feb 15:53
Compare
Choose a tag to compare

TripKit now no longer relies on the regions.json file. Delete that file in your project if any.

TripKit has also changed the way it is initialized. TripKit.with() was removed. So upgrading to v1.0-rc3 will result in compile errors. In order to fix, place following code into your Application's onCreate:

TripKit.initialize(
    Configs.builder()
        .context(this)
        .regionEligibility(regionEligibility)
        .debuggable(BuildConfig.DEBUG)
        .errorHandler(new Action1<Throwable>() {
          @Override public void call(Throwable error) {
            // It's highly recommended to handle this error. 
            // For example, report the error to InstaBug.
          }
        })
        .build());

In order to access things like RouteService and RegionService, invoke TripKit.singleton(). Note that TripKit.singleton() can only be accessed after TripKit.initialize(). Otherwise, IllegalStateException will be thrown.

See this App class for further examples.