Skip to content

CookieBar dismiss listener

Aviran Abady edited this page Jun 12, 2019 · 8 revisions

As of version 1.1.3 you can set a CookieBarDismissListener when building a new cookie. The listener will notify you when the cookie is dismissed, the callback will include the dismiss type.

Dismiss types are as follows:

  • DURATION_COMPLETE - Display duration timed out, cookie was auto dismissed.
  • USER_DISMISS - User swiped out the cookie.
  • USER_ACTION_CLICK - User clicked the action button, incurring dismiss.
  • PROGRAMMATIC_DISMISS - The dismiss() function was called.
  • REPLACE_DISMISS - Exiting cookie was pushed out by a new cookie.

Kotlin code

CookieBar.build(this@MainActivity)
   .setTitle("Title")
   .setMessage("Your message!")
   .setIcon(R.drawable.icon)
   .setDuration(3000)
   .setCookieListener { dismissType ->
       val desc = when (dismissType) {
           DismissType.DURATION_COMPLETE -> "Cookie display duration completed"
           DismissType.USER_DISMISS -> "Cookie dismissed by user"
           DismissType.USER_ACTION_CLICK -> "Cookie dismissed by action click"
           DismissType.PROGRAMMATIC_DISMISS -> "Cookie dismissed programmatically"
           DismissType.REPLACE_DISMISS -> "Replaced by new cookie"
           else -> ""
       }

       Toast.makeText(this@MainActivity, desc, Toast.LENGTH_LONG).show()
   }
   .show()

Java code

CookieBar.build(MainActivity.this)
    .setTitle("Title")
    .setMessage("Your message!")
    .setIcon(R.drawable.icon)
    .setDuration(3000)
    .setCookieListener(new CookieBarDismissListener() {
        @Override
        public void onDismiss(int dismissType) {
            String desc = "";
            switch (dismissType) {
                case DismissType.DURATION_COMPLETE:
                    desc = "Cookie display duration completed";
                    break;
                case DismissType.USER_DISMISS:
                    desc = "Cookie dismissed by user";
                    break;
                case DismissType.USER_ACTION_CLICK:
                    desc = "Cookie dismissed by action click";
                    break;
                case DismissType.PROGRAMMATIC_DISMISS:
                    desc = "Cookie dismissed programmatically";
                    break;
                case DismissType.REPLACE_DISMISS:
                    desc = "Replaced by new cookie";
                    break;
            }
            Toast.makeText(MainActivity.this, desc, Toast.LENGTH_LONG).show();
        }
    })
    .show();
Clone this wiki locally