              ~(when key
                 `(.put all-activities ~key ~'this))
              (neko.init/init (.getApplicationContext ~'this))
+             ~(when features
+                `(request-window-features! ~'this ~@features))
              (~on-create ~'this ~'savedInstanceState)))
        ~(when on-create-options-menu
           `(defn ~(symbol (str prefix "onCreateOptionsMenu"))

  - same as :on-create but require a one-argument function."
  [name & {:keys [extends prefix on-create on-create-options-menu
                  on-options-item-selected on-activity-result
                  on-new-intent def state key]
           :as options}]
  (let [options (or options {}) ;; Handle no-options case
        sname (simple-name name)
        prefix (or prefix (str sname "-"))]
    (when def
      (println "WARNING: :def attribute in defactivity is deprecated.
Use (*a) to get the current activity."))

(ns neko.activity
  "Utilities to aid in working with an activity."
  (:require neko.init
            [neko.ui :refer [make-ui]]
            [neko.debug :refer [all-activities]]
            [neko.-utils :refer [keyword->static-field]])
  (:import android.app.Activity
           [android.view View Window]
           android.app.Fragment))

(defn ^View get-decor-view
  "Returns the root view of the given activity."
