package com.uservoice.uservoicesdk; import android.content.Context; import android.content.Intent; import com.uservoice.uservoicesdk.activity.ContactActivity; import com.uservoice.uservoicesdk.activity.ForumActivity; import com.uservoice.uservoicesdk.activity.PortalActivity; import com.uservoice.uservoicesdk.activity.PostIdeaActivity; import com.uservoice.uservoicesdk.babayaga.Babayaga; import com.uservoice.uservoicesdk.model.ClientConfig; import com.uservoice.uservoicesdk.ui.DefaultCallback; import java.util.Map; public class UserVoice { public static void launchUserVoice(Context context) { Babayaga.track(Babayaga.Event.VIEW_CHANNEL); context.startActivity(new Intent(context, PortalActivity.class)); } public static void launchForum(Context context) { Babayaga.track(Babayaga.Event.VIEW_CHANNEL); context.startActivity(new Intent(context, ForumActivity.class)); } public static void launchContactUs(Context context) { Babayaga.track(Babayaga.Event.VIEW_CHANNEL); context.startActivity(new Intent(context, ContactActivity.class)); } public static void launchPostIdea(Context context) { Babayaga.track(Babayaga.Event.VIEW_CHANNEL); context.startActivity(new Intent(context, PostIdeaActivity.class)); } public static void init(Config config, Context context) { Session.reset(); Babayaga.init(context); Babayaga.setUserTraits(config.getUserTraits()); Session.getInstance().setContext(context); Session.getInstance().setConfig(config); // we have to do this preemptively so that Babayaga can send the view_app event ClientConfig.loadClientConfig(new DefaultCallback<ClientConfig>(context) { @Override public void onModel(ClientConfig model) { Session.getInstance().setClientConfig(model); } }); } public static void setExternalId(String scope, String id) { Session.getInstance().setExternalId(scope, id); } public static void track(String event, Map<String, Object> properties) { Babayaga.track(event, properties); } public static void track(String event) { track(event, null); } public static String getVersion() { // TODO get this from the package version maybe return "0.0.1"; } }