docs: @SuppressWarnings({"unused", "WeakerAccess"})
      public void pushNotificationClickedEvent(final Bundle extras) {
  
          if (this.config.isAnalyticsOnly()) {
              getConfigLogger().debug(getAccountId(), "is Analytics Only - will not process Notification Clicked event.");
              return;
          }
  
          if (extras == null || extras.isEmpty() || extras.get(Constants.NOTIFICATION_TAG) == null) {
              getConfigLogger().debug(getAccountId(), "Push notification: " + (extras == null ? "NULL" : extras.toString()) + " not from CleverTap - will not process Notification Clicked event.");
              return;
          }
  
          String accountId = null;
          try {
              accountId = extras.getString(Constants.WZRK_ACCT_ID_KEY);
          } catch (Throwable t) {
              // no-op
          }
  
          boolean shouldProcess = (accountId == null && config.isDefaultInstance()) || getAccountId().equals(accountId);
  
          if (!shouldProcess) {
              getConfigLogger().debug(getAccountId(), "Push notification not targeted at this instance, not processing Notification Clicked Event");
              return;
          }
  
          if (extras.containsKey(Constants.INAPP_PREVIEW_PUSH_PAYLOAD_KEY)) {
              pendingInappRunnable  = new Runnable() {
                  @Override
                  public void run() {
                      try {
                          Logger.v("Received in-app via push payload: " + extras.getString(Constants.INAPP_PREVIEW_PUSH_PAYLOAD_KEY));
                          JSONObject r = new JSONObject();
                          JSONArray inappNotifs = new JSONArray();
                          r.put(Constants.INAPP_JSON_RESPONSE_KEY, inappNotifs);
                          inappNotifs.put(new JSONObject(extras.getString(Constants.INAPP_PREVIEW_PUSH_PAYLOAD_KEY)));
                          processInAppResponse(r, context);
                      } catch (Throwable t) {
                          Logger.v("Failed to display inapp notification from push notification payload", t);
                      }
                  }
              };
              return;
          }
  
          if (extras.containsKey(Constants.INBOX_PREVIEW_PUSH_PAYLOAD_KEY)) {
              pendingInappRunnable  = new Runnable() {
                  @Override
                  public void run() {
                      try {
                          Logger.v("Received inbox via push payload: " + extras.getString(Constants.INBOX_PREVIEW_PUSH_PAYLOAD_KEY));
                          JSONObject r = new JSONObject();
                          JSONArray inappNotifs = new JSONArray();
                          r.put(Constants.INBOX_JSON_RESPONSE_KEY, inappNotifs);
                          JSONObject testPushObject = new JSONObject(extras.getString(Constants.INBOX_PREVIEW_PUSH_PAYLOAD_KEY));
                          testPushObject.put("_id",String.valueOf(System.currentTimeMillis()/1000));
                          inappNotifs.put(testPushObject);
                          processInboxResponse(r);
                      } catch (Throwable t) {
                          Logger.v("Failed to process inbox message from push notification payload", t);
                      }
                  }
              };
              return;
          }
  
          if (!extras.containsKey(Constants.NOTIFICATION_ID_TAG) || (extras.getString(Constants.NOTIFICATION_ID_TAG) == null)) {
              getConfigLogger().debug(getAccountId(), "Push notification ID Tag is null, not processing Notification Clicked event for:  " + extras.toString());
              return;
          }
  
          // Check for dupe notification views; if same notficationdId within specified time interval (5 secs) don't process
          boolean isDuplicate = checkDuplicateNotificationIds(extras, notificationIdTagMap, Constants.NOTIFICATION_ID_TAG_INTERVAL);
          if (isDuplicate) {
              getConfigLogger().debug(getAccountId(), "Already processed Notification Clicked event for " + extras.toString() + ", dropping duplicate.");
              return;
          }
  
          JSONObject event = new JSONObject();
          JSONObject notif = new JSONObject();
          try {
              for (String x : extras.keySet()) {
                  if (!x.startsWith(Constants.WZRK_PREFIX))
                      continue;
                  Object value = extras.get(x);
                  notif.put(x, value);
              }
  
              event.put("evtName", Constants.NOTIFICATION_CLICKED_EVENT_NAME);
              event.put("evtData", notif);
              queueEvent(context, event, Constants.RAISED_EVENT);
  
              try {
                  setWzrkParams(getWzrkFields(extras));
              } catch (Throwable t) {
                  // no-op
              }
          } catch (Throwable t) {
              // We won't get here
          }
      }