ManagerActivity

public class ManagerActivity extends AppCompatActivity

ManagerActivity is an activity which displays Idopte Manager GUI in a WebView.

Use case 1: start activity

To use Idopte Manager GUI, you can directly start this activity in your application from another activity:

Intent managerActivity = new Intent(this, com.idopte.scmapi.ui.ManagerActivity.class);
startActivity(managerActivity);

You do not need to add any activity in the application AndroidManifest.xml file. Everything is managed by the SDK.

To destroy the ManagerActivity, you just have to click on the white cross on the action bar.

Note that idopte_manager.xml layout file is internally used. To avoid any conflict, you should not have a layout file with this name in your application.

All the required initializations (card system, HTTP server…) are handled internally with this use case.

Use case 2: directly load manager in a WebView

You can also just call ManagerActivity.loadManager(WebView,ManagerCallbacks) static method to directly load manager:

public class MyActivity extends AppCompatActivity implements ManagerActivity.ManagerCallbacks {
    private WebView webView = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_manager);

        // initialize all SCM stuff
        SCMHelper.observableActivityCreated(this);

        // load Manager GUI
        webView = findViewById(R.id.web_view_manager_id);
        try {
            ManagerActivity.loadManager(webView, this);
        } catch (SCMException e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

        // reset javascript VM
        if (webView != null)
            webView.loadUrl("about:blank");
    }

    @Override
    @JavascriptInterface
    public void updateTitle(String title) {
        // ...
    }

    @Override
    @JavascriptInterface
    public void showBackButton(boolean show) {
        // ...
    }
}

Note that SCM initializations must be done before loading manager GUI.

Methods

loadManager

public static void loadManager(WebView webView, ManagerCallbacks managerCallbacks)

Loads Idopte Manager GUI in given WebView, without needing instantiate a ManagerActivity.

JavaScript execution in given WebView is enabled. All the required initializations (card system, HTTP server…) must be done by the caller, through com.idopte.scmapiembed.SCMHelper methods for instance.

Parameters:
  • webView – object in which will be displayed Idopte Manager GUI.
  • managerCallbacks – interface to use which defines some callbacks.

onBackButtonPressed

public static void onBackButtonPressed(WebView webView)

Triggers action to run when back button is pressed, in Idopte Manager navigation.

This method must be called when back button defined in ManagerCallbacks.showBackButton(boolean) is pressed by the user.

Parameters: