diff --git a/Android.mk b/Android.mk
index 0b33301..8c39d19 100644
--- a/Android.mk
+++ b/Android.mk
@@ -308,6 +308,7 @@
 	core/java/com/android/internal/app/IEphemeralResolver.aidl \
 	core/java/com/android/internal/app/ISoundTriggerService.aidl \
 	core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl \
+	core/java/com/android/internal/app/IVoiceInteractionSessionListener.aidl \
 	core/java/com/android/internal/app/IVoiceInteractionSessionShowCallback.aidl \
 	core/java/com/android/internal/app/IVoiceInteractor.aidl \
 	core/java/com/android/internal/app/IVoiceInteractorCallback.aidl \
@@ -342,6 +343,7 @@
 	core/java/com/android/internal/view/IInputMethodManager.aidl \
 	core/java/com/android/internal/view/IInputMethodSession.aidl \
 	core/java/com/android/internal/view/IInputSessionCallback.aidl \
+	core/java/com/android/internal/widget/ICheckCredentialProgressCallback.aidl \
 	core/java/com/android/internal/widget/ILockSettings.aidl \
 	core/java/com/android/internal/widget/IRemoteViewsFactory.aidl \
 	core/java/com/android/internal/widget/IRemoteViewsAdapterConnection.aidl \
@@ -468,6 +470,9 @@
 	../../system/update_engine/binder_bindings/android/os/IUpdateEngine.aidl \
 	../../system/update_engine/binder_bindings/android/os/IUpdateEngineCallback.aidl \
 
+LOCAL_SRC_FILES +=  \
+	../../system/netd/server/binder/android/net/INetd.aidl \
+
 LOCAL_AIDL_INCLUDES += system/update_engine/binder_bindings
 
 # FRAMEWORKS_BASE_JAVA_SRC_DIRS comes from build/core/pathmap.mk
@@ -1057,6 +1062,42 @@
 		-title "Android SDK" \
 		-proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
 		-sdkvalues $(OUT_DOCS) \
+		-hdf android.whichdoc offline
+
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+
+include $(BUILD_DROIDDOC)
+
+static_doc_index_redirect := $(out_dir)/index.html
+$(static_doc_index_redirect): \
+	$(LOCAL_PATH)/docs/docs-preview-index.html | $(ACP)
+	$(hide) mkdir -p $(dir $@)
+	$(hide) $(ACP) $< $@
+
+$(full_target): $(static_doc_index_redirect)
+$(full_target): $(framework_built)
+
+
+# ====  static html in the sdk ==================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
+LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
+LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
+LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
+LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
+LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
+LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
+LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
+
+LOCAL_MODULE := offline-sdk-referenceonly
+
+LOCAL_DROIDDOC_OPTIONS:=\
+		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+		-offlinemode \
+		-title "Android SDK" \
+		-proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
+		-sdkvalues $(OUT_DOCS) \
 		-hdf android.whichdoc offline \
 		-referenceonly
 
@@ -1098,7 +1139,7 @@
 		-hdf android.hasSamples true \
 		-samplesdir $(samples_dir)
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
 
 include $(BUILD_DROIDDOC)
 
diff --git a/api/current.txt b/api/current.txt
index b9c0269..d5f36bd 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -10063,17 +10063,14 @@
     method public android.content.ComponentName getActivity();
     method public java.util.Set<java.lang.String> getCategories();
     method public java.lang.CharSequence getDisabledMessage();
-    method public int getDisabledMessageResourceId();
     method public android.os.PersistableBundle getExtras();
     method public java.lang.String getId();
     method public android.content.Intent getIntent();
     method public long getLastChangedTimestamp();
     method public java.lang.CharSequence getLongLabel();
-    method public int getLongLabelResourceId();
     method public java.lang.String getPackage();
     method public int getRank();
     method public java.lang.CharSequence getShortLabel();
-    method public int getShortLabelResourceId();
     method public android.os.UserHandle getUserHandle();
     method public boolean hasKeyFieldsOnly();
     method public boolean isDeclaredInManifest();
@@ -10087,7 +10084,6 @@
   }
 
   public static class ShortcutInfo.Builder {
-    ctor public deprecated ShortcutInfo.Builder(android.content.Context);
     ctor public ShortcutInfo.Builder(android.content.Context, java.lang.String);
     method public android.content.pm.ShortcutInfo build();
     method public android.content.pm.ShortcutInfo.Builder setActivity(android.content.ComponentName);
@@ -10095,7 +10091,6 @@
     method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
     method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
-    method public deprecated android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
     method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
     method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setRank(int);
@@ -10113,8 +10108,6 @@
     method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
     method public int getMaxShortcutCountPerActivity();
     method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
-    method public long getRateLimitResetTime();
-    method public int getRemainingCallCount();
     method public void removeAllDynamicShortcuts();
     method public void removeDynamicShortcuts(java.util.List<java.lang.String>);
     method public void reportShortcutUsed(java.lang.String);
diff --git a/api/system-current.txt b/api/system-current.txt
index 9d07e84..16c75cc 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -10488,17 +10488,14 @@
     method public android.content.ComponentName getActivity();
     method public java.util.Set<java.lang.String> getCategories();
     method public java.lang.CharSequence getDisabledMessage();
-    method public int getDisabledMessageResourceId();
     method public android.os.PersistableBundle getExtras();
     method public java.lang.String getId();
     method public android.content.Intent getIntent();
     method public long getLastChangedTimestamp();
     method public java.lang.CharSequence getLongLabel();
-    method public int getLongLabelResourceId();
     method public java.lang.String getPackage();
     method public int getRank();
     method public java.lang.CharSequence getShortLabel();
-    method public int getShortLabelResourceId();
     method public android.os.UserHandle getUserHandle();
     method public boolean hasKeyFieldsOnly();
     method public boolean isDeclaredInManifest();
@@ -10512,7 +10509,6 @@
   }
 
   public static class ShortcutInfo.Builder {
-    ctor public deprecated ShortcutInfo.Builder(android.content.Context);
     ctor public ShortcutInfo.Builder(android.content.Context, java.lang.String);
     method public android.content.pm.ShortcutInfo build();
     method public android.content.pm.ShortcutInfo.Builder setActivity(android.content.ComponentName);
@@ -10520,7 +10516,6 @@
     method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
     method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
-    method public deprecated android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
     method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
     method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setRank(int);
@@ -10538,8 +10533,6 @@
     method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
     method public int getMaxShortcutCountPerActivity();
     method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
-    method public long getRateLimitResetTime();
-    method public int getRemainingCallCount();
     method public void removeAllDynamicShortcuts();
     method public void removeDynamicShortcuts(java.util.List<java.lang.String>);
     method public void reportShortcutUsed(java.lang.String);
@@ -26063,6 +26056,7 @@
     method public static void logStateEvent(java.lang.String, java.lang.String);
     method public void writeToParcel(android.os.Parcel, int);
     field public static final android.os.Parcelable.Creator<android.net.metrics.DhcpClientEvent> CREATOR;
+    field public final int durationMs;
     field public final java.lang.String ifName;
     field public final java.lang.String msg;
   }
diff --git a/api/test-current.txt b/api/test-current.txt
index 1906c5e..7fdbb64 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -10076,17 +10076,14 @@
     method public android.content.ComponentName getActivity();
     method public java.util.Set<java.lang.String> getCategories();
     method public java.lang.CharSequence getDisabledMessage();
-    method public int getDisabledMessageResourceId();
     method public android.os.PersistableBundle getExtras();
     method public java.lang.String getId();
     method public android.content.Intent getIntent();
     method public long getLastChangedTimestamp();
     method public java.lang.CharSequence getLongLabel();
-    method public int getLongLabelResourceId();
     method public java.lang.String getPackage();
     method public int getRank();
     method public java.lang.CharSequence getShortLabel();
-    method public int getShortLabelResourceId();
     method public android.os.UserHandle getUserHandle();
     method public boolean hasKeyFieldsOnly();
     method public boolean isDeclaredInManifest();
@@ -10100,7 +10097,6 @@
   }
 
   public static class ShortcutInfo.Builder {
-    ctor public deprecated ShortcutInfo.Builder(android.content.Context);
     ctor public ShortcutInfo.Builder(android.content.Context, java.lang.String);
     method public android.content.pm.ShortcutInfo build();
     method public android.content.pm.ShortcutInfo.Builder setActivity(android.content.ComponentName);
@@ -10108,7 +10104,6 @@
     method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
     method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
-    method public deprecated android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
     method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
     method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setRank(int);
@@ -10127,8 +10122,6 @@
     method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
     method public int getMaxShortcutCountPerActivity();
     method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
-    method public long getRateLimitResetTime();
-    method public int getRemainingCallCount();
     method public void removeAllDynamicShortcuts();
     method public void removeDynamicShortcuts(java.util.List<java.lang.String>);
     method public void reportShortcutUsed(java.lang.String);
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index 14f9db7..277348a 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -3003,6 +3003,13 @@
             reply.writeNoException();
             return true;
         }
+        case SET_RENDER_THREAD_TRANSACTION: {
+            data.enforceInterface(IActivityManager.descriptor);
+            final int tid = data.readInt();
+            setRenderThread(tid);
+            reply.writeNoException();
+            return true;
+        }
         }
 
         return super.onTransact(code, data, reply, flags);
@@ -7040,7 +7047,7 @@
 
     @Override
     public void setVrThread(int tid)
-            throws RemoteException {
+        throws RemoteException {
         Parcel data = Parcel.obtain();
         Parcel reply = Parcel.obtain();
         data.writeInterfaceToken(IActivityManager.descriptor);
@@ -7052,5 +7059,18 @@
         return;
     }
 
+    public void setRenderThread(int tid)
+        throws RemoteException {
+        Parcel data = Parcel.obtain();
+        Parcel reply = Parcel.obtain();
+        data.writeInterfaceToken(IActivityManager.descriptor);
+        data.writeInt(tid);
+        mRemote.transact(SET_RENDER_THREAD_TRANSACTION, data, reply, 0);
+        reply.readException();
+        data.recycle();
+        reply.recycle();
+        return;
+    }
+
     private IBinder mRemote;
 }
diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java
index ccc37d7..d9a4690 100644
--- a/core/java/android/app/ActivityOptions.java
+++ b/core/java/android/app/ActivityOptions.java
@@ -193,6 +193,7 @@
             = "android:activity.exitCoordinatorIndex";
 
     private static final String KEY_USAGE_TIME_REPORT = "android:activity.usageTimeReport";
+    private static final String KEY_ROTATION_ANIMATION_HINT = "android:activity.rotationAnimationHint";
 
     /** @hide */
     public static final int ANIM_NONE = 0;
@@ -244,6 +245,7 @@
     private int mDockCreateMode = DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT;
     private boolean mTaskOverlay;
     private AppTransitionAnimationSpec mAnimSpecs[];
+    private int mRotationAnimationHint = -1;
 
     /**
      * Create an ActivityOptions specifying a custom animation to run when
@@ -863,6 +865,7 @@
             mAnimationFinishedListener = IRemoteCallback.Stub.asInterface(
                     opts.getBinder(KEY_ANIMATION_FINISHED_LISTENER));
         }
+        mRotationAnimationHint = opts.getInt(KEY_ROTATION_ANIMATION_HINT);
     }
 
     /**
@@ -1216,6 +1219,7 @@
         if (mAnimationFinishedListener != null) {
             b.putBinder(KEY_ANIMATION_FINISHED_LISTENER, mAnimationFinishedListener.asBinder());
         }
+        b.putInt(KEY_ROTATION_ANIMATION_HINT, mRotationAnimationHint);
 
         return b;
     }
@@ -1262,6 +1266,27 @@
         return null;
     }
 
+    /**
+     * Returns the rotation animation set by {@link setRotationAnimationHint} or -1
+     * if unspecified.
+     * @hide
+     */
+    public int getRotationAnimationHint() {
+        return mRotationAnimationHint;
+    }
+
+
+    /**
+     * Set a rotation animation to be used if launching the activity
+     * triggers an orientation change, or -1 to clear. See
+     * {@link android.view.WindowManager.LayoutParams} for rotation
+     * animation values.
+     * @hide
+     */
+    public void setRotationAnimationHint(int hint) {
+        mRotationAnimationHint = hint;
+    }
+
     /** @hide */
     @Override
     public String toString() {
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index e6ca520..8f42467 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -185,15 +185,6 @@
     @GuardedBy("mSync")
     private File mCodeCacheDir;
 
-    @GuardedBy("mSync")
-    private File[] mExternalObbDirs;
-    @GuardedBy("mSync")
-    private File[] mExternalFilesDirs;
-    @GuardedBy("mSync")
-    private File[] mExternalCacheDirs;
-    @GuardedBy("mSync")
-    private File[] mExternalMediaDirs;
-
     // The system service cache for the system services that are cached per-ContextImpl.
     final Object[] mServiceCache = SystemServiceRegistry.createServiceCache();
 
@@ -562,17 +553,10 @@
     @Override
     public File[] getExternalFilesDirs(String type) {
         synchronized (mSync) {
-            if (mExternalFilesDirs == null) {
-                mExternalFilesDirs = Environment.buildExternalStorageAppFilesDirs(getPackageName());
-            }
-
-            // Splice in requested type, if any
-            File[] dirs = mExternalFilesDirs;
+            File[] dirs = Environment.buildExternalStorageAppFilesDirs(getPackageName());
             if (type != null) {
                 dirs = Environment.buildPaths(dirs, type);
             }
-
-            // Create dirs if needed
             return ensureExternalDirsExistOrFilter(dirs);
         }
     }
@@ -586,12 +570,8 @@
     @Override
     public File[] getObbDirs() {
         synchronized (mSync) {
-            if (mExternalObbDirs == null) {
-                mExternalObbDirs = Environment.buildExternalStorageAppObbDirs(getPackageName());
-            }
-
-            // Create dirs if needed
-            return ensureExternalDirsExistOrFilter(mExternalObbDirs);
+            File[] dirs = Environment.buildExternalStorageAppObbDirs(getPackageName());
+            return ensureExternalDirsExistOrFilter(dirs);
         }
     }
 
@@ -624,24 +604,16 @@
     @Override
     public File[] getExternalCacheDirs() {
         synchronized (mSync) {
-            if (mExternalCacheDirs == null) {
-                mExternalCacheDirs = Environment.buildExternalStorageAppCacheDirs(getPackageName());
-            }
-
-            // Create dirs if needed
-            return ensureExternalDirsExistOrFilter(mExternalCacheDirs);
+            File[] dirs = Environment.buildExternalStorageAppCacheDirs(getPackageName());
+            return ensureExternalDirsExistOrFilter(dirs);
         }
     }
 
     @Override
     public File[] getExternalMediaDirs() {
         synchronized (mSync) {
-            if (mExternalMediaDirs == null) {
-                mExternalMediaDirs = Environment.buildExternalStorageAppMediaDirs(getPackageName());
-            }
-
-            // Create dirs if needed
-            return ensureExternalDirsExistOrFilter(mExternalMediaDirs);
+            File[] dirs = Environment.buildExternalStorageAppMediaDirs(getPackageName());
+            return ensureExternalDirsExistOrFilter(dirs);
         }
     }
 
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index d38fb94..4a4202a 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -659,6 +659,7 @@
             throws RemoteException;
 
     public void setVrThread(int tid) throws RemoteException;
+    public void setRenderThread(int tid) throws RemoteException;
 
     /*
      * Private non-Binder interfaces
@@ -1046,5 +1047,8 @@
     int START_CONFIRM_DEVICE_CREDENTIAL_INTENT = IBinder.FIRST_CALL_TRANSACTION + 374;
     int SEND_IDLE_JOB_TRIGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 375;
     int SEND_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 376;
+
+    // Start of N MR1 transactions
     int SET_VR_THREAD_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 377;
+    int SET_RENDER_THREAD_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 378;
 }
diff --git a/core/java/android/app/IWallpaperManager.aidl b/core/java/android/app/IWallpaperManager.aidl
index a0762b9..9cd70e6 100644
--- a/core/java/android/app/IWallpaperManager.aidl
+++ b/core/java/android/app/IWallpaperManager.aidl
@@ -72,7 +72,7 @@
      * information about that wallpaper.  Otherwise, if it is a static image,
      * simply return null.
      */
-    WallpaperInfo getWallpaperInfo();
+    WallpaperInfo getWallpaperInfo(int userId);
 
     /**
      * Clear the system wallpaper.
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
index 7f467f0..79f2a1e 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -51,6 +51,7 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemProperties;
+import android.os.UserHandle;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.WindowManagerGlobal;
@@ -783,7 +784,7 @@
                 Log.w(TAG, "WallpaperService not running");
                 throw new RuntimeException(new DeadSystemException());
             } else {
-                return sGlobals.mService.getWallpaperInfo();
+                return sGlobals.mService.getWallpaperInfo(UserHandle.myUserId());
             }
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
diff --git a/core/java/android/content/ContentProviderClient.java b/core/java/android/content/ContentProviderClient.java
index 9221fbb..e49eb34 100644
--- a/core/java/android/content/ContentProviderClient.java
+++ b/core/java/android/content/ContentProviderClient.java
@@ -147,13 +147,7 @@
             if (cursor == null) {
                 return null;
             }
-
-            if ("com.google.android.gms".equals(mPackageName)) {
-                // They're casting to a concrete subclass, sigh
-                return cursor;
-            } else {
-                return new CursorWrapperInner(cursor);
-            }
+            return new CursorWrapperInner(cursor);
         } catch (DeadObjectException e) {
             if (!mStable) {
                 mContentResolver.unstableProviderDied(mContentProvider);
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index c8d8920..b3320d6 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -34,6 +34,7 @@
 import android.database.Cursor;
 import android.database.IContentObserver;
 import android.graphics.Point;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.CancellationSignal;
@@ -51,6 +52,7 @@
 import android.util.Log;
 
 import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.MimeIconUtils;
 import com.android.internal.util.Preconditions;
 
 import dalvik.system.CloseGuard;
@@ -2693,4 +2695,9 @@
     public int resolveUserId(Uri uri) {
         return ContentProvider.getUserIdFromUri(uri, mContext.getUserId());
     }
+
+    /** @hide */
+    public Drawable getTypeDrawable(String mimeType) {
+        return MimeIconUtils.loadMimeIcon(mContext, mimeType);
+    }
 }
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index fbe16c5..281d6f6 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -146,6 +146,8 @@
             MATCH_UNINSTALLED_PACKAGES,
             MATCH_SYSTEM_ONLY,
             MATCH_DEBUG_TRIAGED_MISSING,
+            MATCH_DISABLED_UNTIL_USED_COMPONENTS,
+            GET_DISABLED_UNTIL_USED_COMPONENTS,
             GET_UNINSTALLED_PACKAGES,
     })
     @Retention(RetentionPolicy.SOURCE)
@@ -2879,6 +2881,7 @@
      *
      * @see #GET_META_DATA
      * @see #GET_SHARED_LIBRARY_FILES
+     * @see #MATCH_DISABLED_UNTIL_USED_COMPONENTS
      * @see #MATCH_SYSTEM_ONLY
      * @see #MATCH_UNINSTALLED_PACKAGES
      */
@@ -3507,6 +3510,7 @@
      *
      * @see #GET_META_DATA
      * @see #GET_SHARED_LIBRARY_FILES
+     * @see #MATCH_DISABLED_UNTIL_USED_COMPONENTS
      * @see #MATCH_SYSTEM_ONLY
      * @see #MATCH_UNINSTALLED_PACKAGES
      */
diff --git a/core/java/android/content/pm/ShortcutInfo.java b/core/java/android/content/pm/ShortcutInfo.java
index 35370f0..39e15e0 100644
--- a/core/java/android/content/pm/ShortcutInfo.java
+++ b/core/java/android/content/pm/ShortcutInfo.java
@@ -696,7 +696,8 @@
         private PersistableBundle mExtras;
 
         /**
-         * Old style constructor.  STOPSHIP hide it before launch.
+         * Old style constructor.
+         * @hide
          */
         @Deprecated
         public Builder(Context context) {
@@ -704,7 +705,8 @@
         }
 
         /**
-         * Used with the old style constructor, kept for unit tests. STOPSHIP hide it before launch.
+         * Used with the old style constructor, kept for unit tests.
+         * @hide
          */
         @NonNull
         @Deprecated
@@ -1004,7 +1006,7 @@
         return mTitle;
     }
 
-    /** TODO Javadoc */
+    /** @hide */
     public int getShortLabelResourceId() {
         return mTitleResId;
     }
@@ -1017,7 +1019,7 @@
         return mText;
     }
 
-    /** TODO Javadoc */
+    /** @hide */
     public int getLongLabelResourceId() {
         return mTextResId;
     }
@@ -1030,7 +1032,7 @@
         return mDisabledMessage;
     }
 
-    /** TODO Javadoc */
+    /** @hide */
     public int getDisabledMessageResourceId() {
         return mDisabledMessageResId;
     }
diff --git a/core/java/android/content/pm/ShortcutManager.java b/core/java/android/content/pm/ShortcutManager.java
index 7b3c487..1af63a0 100644
--- a/core/java/android/content/pm/ShortcutManager.java
+++ b/core/java/android/content/pm/ShortcutManager.java
@@ -63,24 +63,6 @@
  * published, existing shortcuts with the same ID will be updated.  Note this may include a
  * pinned shortcut.
  *
- * <h3>Rate limiting</h3>
- *
- * Calls to {@link #setDynamicShortcuts(List)}, {@link #addDynamicShortcuts(List)},
- * and {@link #updateShortcuts(List)} from <b>background applications</b> will be
- * rate-limited.  An application can call these methods at most
- * {@link #getRemainingCallCount()} times until the rate-limiting counter is reset,
- * which happens at a certain time every day.
- *
- * <p>An application can use {@link #getRateLimitResetTime()} to get the next reset time.
- *
- * <p>Foreground applications (i.e. ones with a foreground activity or a foreground services)
- * will not be throttled. Also, when an application comes to foreground,
- * {@link #getRemainingCallCount()} will be reset to the initial value.
- *
- * <p>For testing purposes, use "Developer Options" (found in the Settings menu) to reset the
- * internal rate-limiting counter.  Automated tests can use the following ADB shell command to
- * achieve the same effect:</p>
- * <pre>adb shell cmd shortcut reset-throttling</pre>
  *
  * <h3>Backup and Restore</h3>
  *
@@ -328,6 +310,8 @@
      * before the rate limit counter is reset.
      *
      * @see #getRateLimitResetTime()
+     *
+     * @hide
      */
     public int getRemainingCallCount() {
         try {
@@ -342,6 +326,8 @@
      *
      * @see #getRemainingCallCount()
      * @see System#currentTimeMillis()
+     *
+     * @hide
      */
     public long getRateLimitResetTime() {
         try {
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index 3917bfa..145b1d0 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -267,6 +267,10 @@
      * @param cameraId The unique identifier of the camera device to open
      * @param callback The callback for the camera. Must not be null.
      * @param handler  The handler to invoke the callback on. Must not be null.
+     * @param uid      The UID of the application actually opening the camera.
+     *                 Must be USE_CALLING_UID unless the caller is a service
+     *                 that is trusted to open the device on behalf of an
+     *                 application and to forward the real UID.
      *
      * @throws CameraAccessException if the camera is disabled by device policy,
      * too many camera devices are already open, or the cameraId does not match
@@ -281,7 +285,7 @@
      * @see android.app.admin.DevicePolicyManager#setCameraDisabled
      */
     private CameraDevice openCameraDeviceUserAsync(String cameraId,
-            CameraDevice.StateCallback callback, Handler handler)
+            CameraDevice.StateCallback callback, Handler handler, final int uid)
             throws CameraAccessException {
         CameraCharacteristics characteristics = getCameraCharacteristics(cameraId);
         CameraDevice device = null;
@@ -317,7 +321,7 @@
                             "Camera service is currently unavailable");
                     }
                     cameraUser = cameraService.connectDevice(callbacks, id,
-                            mContext.getOpPackageName(), USE_CALLING_UID);
+                            mContext.getOpPackageName(), uid);
                 } else {
                     // Use legacy camera implementation for HAL1 devices
                     Log.i(TAG, "Using legacy camera HAL.");
@@ -434,6 +438,29 @@
             @NonNull final CameraDevice.StateCallback callback, @Nullable Handler handler)
             throws CameraAccessException {
 
+        openCameraForUid(cameraId, callback, handler, USE_CALLING_UID);
+    }
+
+    /**
+     * Open a connection to a camera with the given ID, on behalf of another application
+     * specified by clientUid.
+     *
+     * <p>The behavior of this method matches that of {@link #openCamera}, except that it allows
+     * the caller to specify the UID to use for permission/etc verification. This can only be
+     * done by services trusted by the camera subsystem to act on behalf of applications and
+     * to forward the real UID.</p>
+     *
+     * @param clientUid
+     *             The UID of the application on whose behalf the camera is being opened.
+     *             Must be USE_CALLING_UID unless the caller is a trusted service.
+     *
+     * @hide
+     */
+    public void openCameraForUid(@NonNull String cameraId,
+            @NonNull final CameraDevice.StateCallback callback, @Nullable Handler handler,
+            int clientUid)
+            throws CameraAccessException {
+
         if (cameraId == null) {
             throw new IllegalArgumentException("cameraId was null");
         } else if (callback == null) {
@@ -447,7 +474,7 @@
             }
         }
 
-        openCameraDeviceUserAsync(cameraId, callback, handler);
+        openCameraDeviceUserAsync(cameraId, callback, handler, clientUid);
     }
 
     /**
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index a45e6f5..8d413795 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -3103,14 +3103,11 @@
             throw new IllegalArgumentException("Invalid NetworkCallback");
         }
         try {
+            // CallbackHandler will release callback when receiving CALLBACK_RELEASED.
             mService.releaseNetworkRequest(networkCallback.networkRequest);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-
-        synchronized (sNetworkCallback) {
-            sNetworkCallback.remove(networkCallback.networkRequest);
-        }
     }
 
     /**
diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java
index 51c45e0..11b861a 100644
--- a/core/java/android/net/NetworkPolicyManager.java
+++ b/core/java/android/net/NetworkPolicyManager.java
@@ -18,7 +18,6 @@
 
 import static android.content.pm.PackageManager.GET_SIGNATURES;
 import static android.net.NetworkPolicy.CYCLE_NONE;
-import static android.text.format.Time.MONTH_DAY;
 
 import android.content.Context;
 import android.content.Intent;
@@ -27,12 +26,13 @@
 import android.content.pm.Signature;
 import android.os.RemoteException;
 import android.os.UserHandle;
-import android.text.format.Time;
 import android.util.DebugUtils;
 
 import com.google.android.collect.Sets;
 
+import java.util.Calendar;
 import java.util.HashSet;
+import java.util.TimeZone;
 
 /**
  * Manager for creating and modifying network policy rules.
@@ -253,28 +253,18 @@
             throw new IllegalArgumentException("Unable to compute boundary without cycleDay");
         }
 
-        final Time now = new Time(policy.cycleTimezone);
-        now.set(currentTime);
+        final Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(policy.cycleTimezone));
+        cal.setTimeInMillis(currentTime);
+        snapToCycleDay(cal, policy.cycleDay);
 
-        // first, find cycle boundary for current month
-        final Time cycle = new Time(now);
-        cycle.hour = cycle.minute = cycle.second = 0;
-        snapToCycleDay(cycle, policy.cycleDay);
-
-        if (Time.compare(cycle, now) >= 0) {
-            // cycle boundary is beyond now, use last cycle boundary; start by
-            // pushing ourselves squarely into last month.
-            final Time lastMonth = new Time(now);
-            lastMonth.hour = lastMonth.minute = lastMonth.second = 0;
-            lastMonth.monthDay = 1;
-            lastMonth.month -= 1;
-            lastMonth.normalize(true);
-
-            cycle.set(lastMonth);
-            snapToCycleDay(cycle, policy.cycleDay);
+        if (cal.getTimeInMillis() >= currentTime) {
+            // Cycle boundary is beyond now, use last cycle boundary
+            cal.set(Calendar.DAY_OF_MONTH, 1);
+            cal.add(Calendar.MONTH, -1);
+            snapToCycleDay(cal, policy.cycleDay);
         }
 
-        return cycle.toMillis(true);
+        return cal.getTimeInMillis();
     }
 
     /** {@hide} */
@@ -283,28 +273,18 @@
             throw new IllegalArgumentException("Unable to compute boundary without cycleDay");
         }
 
-        final Time now = new Time(policy.cycleTimezone);
-        now.set(currentTime);
+        final Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(policy.cycleTimezone));
+        cal.setTimeInMillis(currentTime);
+        snapToCycleDay(cal, policy.cycleDay);
 
-        // first, find cycle boundary for current month
-        final Time cycle = new Time(now);
-        cycle.hour = cycle.minute = cycle.second = 0;
-        snapToCycleDay(cycle, policy.cycleDay);
-
-        if (Time.compare(cycle, now) <= 0) {
-            // cycle boundary is before now, use next cycle boundary; start by
-            // pushing ourselves squarely into next month.
-            final Time nextMonth = new Time(now);
-            nextMonth.hour = nextMonth.minute = nextMonth.second = 0;
-            nextMonth.monthDay = 1;
-            nextMonth.month += 1;
-            nextMonth.normalize(true);
-
-            cycle.set(nextMonth);
-            snapToCycleDay(cycle, policy.cycleDay);
+        if (cal.getTimeInMillis() <= currentTime) {
+            // Cycle boundary is before now, use next cycle boundary
+            cal.set(Calendar.DAY_OF_MONTH, 1);
+            cal.add(Calendar.MONTH, 1);
+            snapToCycleDay(cal, policy.cycleDay);
         }
 
-        return cycle.toMillis(true);
+        return cal.getTimeInMillis();
     }
 
     /**
@@ -313,16 +293,17 @@
      *
      * @hide
      */
-    public static void snapToCycleDay(Time time, int cycleDay) {
-        if (cycleDay > time.getActualMaximum(MONTH_DAY)) {
-            // cycle day isn't valid this month; snap to last second of month
-            time.month += 1;
-            time.monthDay = 1;
-            time.second = -1;
+    public static void snapToCycleDay(Calendar cal, int cycleDay) {
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+        if (cycleDay > cal.getActualMaximum(Calendar.DAY_OF_MONTH)) {
+            cal.set(Calendar.DAY_OF_MONTH, 1);
+            cal.add(Calendar.MONTH, 1);
+            cal.add(Calendar.SECOND, -1);
         } else {
-            time.monthDay = cycleDay;
+            cal.set(Calendar.DAY_OF_MONTH, cycleDay);
         }
-        time.normalize(true);
     }
 
     /**
diff --git a/core/java/android/net/NetworkRequest.java b/core/java/android/net/NetworkRequest.java
index 5ac24d5..847d82b 100644
--- a/core/java/android/net/NetworkRequest.java
+++ b/core/java/android/net/NetworkRequest.java
@@ -19,6 +19,8 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import java.util.Objects;
+
 /**
  * Defines a request for a network, made through {@link NetworkRequest.Builder} and used
  * to request a network via {@link ConnectivityManager#requestNetwork} or listen for changes
@@ -264,7 +266,7 @@
         dest.writeParcelable(networkCapabilities, flags);
         dest.writeInt(legacyType);
         dest.writeInt(requestId);
-        // type intentionally not preserved across process boundaries.
+        dest.writeString(type.name());
     }
     public static final Creator<NetworkRequest> CREATOR =
         new Creator<NetworkRequest>() {
@@ -272,8 +274,8 @@
                 NetworkCapabilities nc = (NetworkCapabilities)in.readParcelable(null);
                 int legacyType = in.readInt();
                 int requestId = in.readInt();
-                // type intentionally not preserved across process boundaries.
-                NetworkRequest result = new NetworkRequest(nc, legacyType, requestId, Type.NONE);
+                Type type = Type.valueOf(in.readString());  // IllegalArgumentException if invalid.
+                NetworkRequest result = new NetworkRequest(nc, legacyType, requestId, type);
                 return result;
             }
             public NetworkRequest[] newArray(int size) {
@@ -311,13 +313,10 @@
         return (that.legacyType == this.legacyType &&
                 that.requestId == this.requestId &&
                 that.type == this.type &&
-                ((that.networkCapabilities == null && this.networkCapabilities == null) ||
-                 (that.networkCapabilities != null &&
-                  that.networkCapabilities.equals(this.networkCapabilities))));
+                Objects.equals(that.networkCapabilities, this.networkCapabilities));
     }
 
     public int hashCode() {
-        return requestId + (legacyType * 1013) +
-                (networkCapabilities.hashCode() * 1051) + type.hashCode() * 17;
+        return Objects.hash(requestId, legacyType, networkCapabilities, type);
     }
 }
diff --git a/core/java/android/net/metrics/ApfProgramEvent.java b/core/java/android/net/metrics/ApfProgramEvent.java
index 3cd058c..258d8e1 100644
--- a/core/java/android/net/metrics/ApfProgramEvent.java
+++ b/core/java/android/net/metrics/ApfProgramEvent.java
@@ -16,16 +16,21 @@
 
 package android.net.metrics;
 
+import android.annotation.IntDef;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.text.TextUtils;
 import android.util.SparseArray;
 
-import java.util.Arrays;
-import java.util.stream.Collectors;
-
 import com.android.internal.util.MessageUtils;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.List;
+
 /**
  * An event logged when there is a change or event that requires updating the
  * the APF program in place with a new APF program.
@@ -36,10 +41,14 @@
 
     // Bitflag constants describing what an Apf program filters.
     // Bits are indexeds from LSB to MSB, starting at index 0.
-    // TODO: use @IntDef
     public static final int FLAG_MULTICAST_FILTER_ON = 0;
     public static final int FLAG_HAS_IPV4_ADDRESS    = 1;
 
+    /** {@hide} */
+    @IntDef(flag = true, value = {FLAG_MULTICAST_FILTER_ON, FLAG_HAS_IPV4_ADDRESS})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface Flags {}
+
     public final long lifetime;     // Lifetime of the program in seconds
     public final int filteredRas;   // Number of RAs filtered by the APF program
     public final int currentRas;    // Total number of current RAs at generation time
@@ -48,7 +57,7 @@
 
     /** {@hide} */
     public ApfProgramEvent(
-            long lifetime, int filteredRas, int currentRas, int programLength, int flags) {
+            long lifetime, int filteredRas, int currentRas, int programLength, @Flags int flags) {
         this.lifetime = lifetime;
         this.filteredRas = filteredRas;
         this.currentRas = currentRas;
@@ -97,7 +106,7 @@
     };
 
     /** {@hide} */
-    public static int flagsFor(boolean hasIPv4, boolean multicastFilterOn) {
+    public static @Flags int flagsFor(boolean hasIPv4, boolean multicastFilterOn) {
         int bitfield = 0;
         if (hasIPv4) {
             bitfield |= (1 << FLAG_HAS_IPV4_ADDRESS);
@@ -108,25 +117,14 @@
         return bitfield;
     }
 
-    // TODO: consider using java.util.BitSet
-    private static int[] bitflagsOf(int bitfield) {
-        int[] flags = new int[Integer.bitCount(bitfield)];
-        int i = 0;
-        int bitflag = 0;
-        while (bitfield != 0) {
-          if ((bitfield & 1) != 0) {
-              flags[i++] = bitflag;
-          }
-          bitflag++;
-          bitfield = bitfield >>> 1;
+    private static String namesOf(@Flags int bitfield) {
+        List<String> names = new ArrayList<>(Integer.bitCount(bitfield));
+        BitSet set = BitSet.valueOf(new long[]{bitfield & Integer.MAX_VALUE});
+        // Only iterate over flag bits which are set.
+        for (int bit = set.nextSetBit(0); bit >= 0; bit = set.nextSetBit(bit+1)) {
+            names.add(Decoder.constants.get(bit));
         }
-        return flags;
-    }
-
-    private static String namesOf(int bitfields) {
-        return Arrays.stream(bitflagsOf(bitfields))
-                .mapToObj(i -> Decoder.constants.get(i))
-                .collect(Collectors.joining(", "));
+        return TextUtils.join("|", names);
     }
 
     final static class Decoder {
diff --git a/core/java/android/net/metrics/DefaultNetworkEvent.java b/core/java/android/net/metrics/DefaultNetworkEvent.java
index b881fbb..9f0bad7 100644
--- a/core/java/android/net/metrics/DefaultNetworkEvent.java
+++ b/core/java/android/net/metrics/DefaultNetworkEvent.java
@@ -22,6 +22,7 @@
 import android.os.Parcelable;
 
 /**
+ * An event recorded by ConnectivityService when there is a change in the default network.
  * {@hide}
  */
 @SystemApi
@@ -55,6 +56,7 @@
         this.prevIPv6 = (in.readByte() > 0);
     }
 
+    @Override
     public void writeToParcel(Parcel out, int flags) {
         out.writeInt(netId);
         out.writeIntArray(transportTypes);
@@ -63,6 +65,7 @@
         out.writeByte(prevIPv6 ? (byte) 1 : (byte) 0);
     }
 
+    @Override
     public int describeContents() {
         return 0;
     }
diff --git a/core/java/android/net/metrics/DhcpClientEvent.java b/core/java/android/net/metrics/DhcpClientEvent.java
index 3fe68b4..4a9ff05 100644
--- a/core/java/android/net/metrics/DhcpClientEvent.java
+++ b/core/java/android/net/metrics/DhcpClientEvent.java
@@ -21,36 +21,50 @@
 import android.os.Parcelable;
 
 /**
+ * An event recorded when a DhcpClient state machine transitions to a new state.
  * {@hide}
  */
 @SystemApi
 public final class DhcpClientEvent implements Parcelable {
+
+    // Names for recording DhcpClient pseudo-state transitions.
+    /** {@hide} Represents transitions from DhcpInitState to DhcpBoundState */
+    public static final String INITIAL_BOUND = "InitialBoundState";
+    /** {@hide} Represents transitions from and to DhcpBoundState via DhcpRenewingState */
+    public static final String RENEWING_BOUND = "RenewingBoundState";
+
     public final String ifName;
     public final String msg;
+    public final int durationMs;
 
     /** {@hide} */
-    public DhcpClientEvent(String ifName, String msg) {
+    public DhcpClientEvent(String ifName, String msg, int durationMs) {
         this.ifName = ifName;
         this.msg = msg;
+        this.durationMs = durationMs;
     }
 
     private DhcpClientEvent(Parcel in) {
         this.ifName = in.readString();
         this.msg = in.readString();
+        this.durationMs = in.readInt();
     }
 
+    @Override
     public void writeToParcel(Parcel out, int flags) {
         out.writeString(ifName);
         out.writeString(msg);
+        out.writeInt(durationMs);
     }
 
+    @Override
     public int describeContents() {
         return 0;
     }
 
     @Override
     public String toString() {
-        return String.format("DhcpClientEvent(%s, %s)", ifName, msg);
+        return String.format("DhcpClientEvent(%s, %s, %dms)", ifName, msg, durationMs);
     }
 
     public static final Parcelable.Creator<DhcpClientEvent> CREATOR
diff --git a/core/java/android/net/metrics/DhcpErrorEvent.java b/core/java/android/net/metrics/DhcpErrorEvent.java
index 4206886..59c5fb6 100644
--- a/core/java/android/net/metrics/DhcpErrorEvent.java
+++ b/core/java/android/net/metrics/DhcpErrorEvent.java
@@ -24,7 +24,8 @@
 import com.android.internal.util.MessageUtils;
 
 /**
- * {@hide} Event class used to record error events when parsing DHCP response packets.
+ * Event class used to record error events when parsing DHCP response packets.
+ * {@hide}
  */
 @SystemApi
 public final class DhcpErrorEvent implements Parcelable {
@@ -72,11 +73,13 @@
         this.errorCode = in.readInt();
     }
 
+    @Override
     public void writeToParcel(Parcel out, int flags) {
         out.writeString(ifName);
         out.writeInt(errorCode);
     }
 
+    @Override
     public int describeContents() {
         return 0;
     }
diff --git a/core/java/android/net/metrics/DnsEvent.java b/core/java/android/net/metrics/DnsEvent.java
index 9eb8bdb..4fc6b7a 100644
--- a/core/java/android/net/metrics/DnsEvent.java
+++ b/core/java/android/net/metrics/DnsEvent.java
@@ -21,6 +21,7 @@
 import android.os.Parcelable;
 
 /**
+ * An event recorded by DnsEventListenerService.
  * {@hide}
  */
 @SystemApi
@@ -60,6 +61,7 @@
         out.writeIntArray(latenciesMs);
     }
 
+    @Override
     public int describeContents() {
         return 0;
     }
diff --git a/core/java/android/net/metrics/IpManagerEvent.java b/core/java/android/net/metrics/IpManagerEvent.java
index 8949fae..a5b4eb5 100644
--- a/core/java/android/net/metrics/IpManagerEvent.java
+++ b/core/java/android/net/metrics/IpManagerEvent.java
@@ -16,6 +16,7 @@
 
 package android.net.metrics;
 
+import android.annotation.IntDef;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -23,23 +24,32 @@
 
 import com.android.internal.util.MessageUtils;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
+ * An event recorded by IpManager when IP provisioning completes for a network or
+ * when a network disconnects.
  * {@hide}
  */
 @SystemApi
 public final class IpManagerEvent implements Parcelable {
 
-    // TODO: use @IntDef
     public static final int PROVISIONING_OK    = 1;
     public static final int PROVISIONING_FAIL  = 2;
     public static final int COMPLETE_LIFECYCLE = 3;
 
+    /** {@hide} */
+    @IntDef(value = {PROVISIONING_OK, PROVISIONING_FAIL, COMPLETE_LIFECYCLE})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface EventType {}
+
     public final String ifName;
-    public final int eventType;
+    public final @EventType int eventType;
     public final long durationMs;
 
     /** {@hide} */
-    public IpManagerEvent(String ifName, int eventType, long duration) {
+    public IpManagerEvent(String ifName, @EventType int eventType, long duration) {
         this.ifName = ifName;
         this.eventType = eventType;
         this.durationMs = duration;
@@ -51,12 +61,14 @@
         this.durationMs = in.readLong();
     }
 
+    @Override
     public void writeToParcel(Parcel out, int flags) {
         out.writeString(ifName);
         out.writeInt(eventType);
         out.writeLong(durationMs);
     }
 
+    @Override
     public int describeContents() {
         return 0;
     }
diff --git a/core/java/android/net/metrics/IpReachabilityEvent.java b/core/java/android/net/metrics/IpReachabilityEvent.java
index 7d02291..ee09e22 100644
--- a/core/java/android/net/metrics/IpReachabilityEvent.java
+++ b/core/java/android/net/metrics/IpReachabilityEvent.java
@@ -24,21 +24,31 @@
 import com.android.internal.util.MessageUtils;
 
 /**
+ * An event recorded when IpReachabilityMonitor sends a neighbor probe or receives
+ * a neighbor probe result.
  * {@hide}
  */
 @SystemApi
 public final class IpReachabilityEvent implements Parcelable {
 
-    public static final int PROBE             = 1 << 8;
-    public static final int NUD_FAILED        = 2 << 8;
-    public static final int PROVISIONING_LOST = 3 << 8;
+    // Event types.
+    /** A probe forced by IpReachabilityMonitor. */
+    public static final int PROBE                     = 1 << 8;
+    /** Neighbor unreachable after a forced probe. */
+    public static final int NUD_FAILED                = 2 << 8;
+    /** Neighbor unreachable after a forced probe, IP provisioning is also lost. */
+    public static final int PROVISIONING_LOST         = 3 << 8;
+    /** {@hide} Neighbor unreachable notification from kernel. */
+    public static final int NUD_FAILED_ORGANIC        = 4 << 8;
+    /** {@hide} Neighbor unreachable notification from kernel, IP provisioning is also lost. */
+    public static final int PROVISIONING_LOST_ORGANIC = 5 << 8;
 
     public final String ifName;
     // eventType byte format (MSB to LSB):
     // byte 0: unused
     // byte 1: unused
     // byte 2: type of event: PROBE, NUD_FAILED, PROVISIONING_LOST
-    // byte 3: kernel errno from RTNetlink or IpReachabilityMonitor
+    // byte 3: when byte 2 == PROBE, errno code from RTNetlink or IpReachabilityMonitor.
     public final int eventType;
 
     /** {@hide} */
@@ -52,11 +62,13 @@
         this.eventType = in.readInt();
     }
 
+    @Override
     public void writeToParcel(Parcel out, int flags) {
         out.writeString(ifName);
         out.writeInt(eventType);
     }
 
+    @Override
     public int describeContents() {
         return 0;
     }
@@ -81,10 +93,24 @@
     public static void logProvisioningLost(String ifName) {
     }
 
+    /**
+     * Returns the NUD failure event type code corresponding to the given conditions.
+     * {@hide}
+     */
+    public static int nudFailureEventType(boolean isFromProbe, boolean isProvisioningLost) {
+        if (isFromProbe) {
+            return isProvisioningLost ? PROVISIONING_LOST : NUD_FAILED;
+        } else {
+            return isProvisioningLost ? PROVISIONING_LOST_ORGANIC : NUD_FAILED_ORGANIC;
+        }
+    }
+
     @Override
     public String toString() {
-        return String.format("IpReachabilityEvent(%s, %s)", ifName,
-                Decoder.constants.get(eventType));
+        int hi = eventType & 0xff00;
+        int lo = eventType & 0x00ff;
+        String eventName = Decoder.constants.get(hi);
+        return String.format("IpReachabilityEvent(%s, %s:%02x)", ifName, eventName, lo);
     }
 
     final static class Decoder {
diff --git a/core/java/android/net/metrics/NetworkEvent.java b/core/java/android/net/metrics/NetworkEvent.java
index cdfe386..3b3fa69 100644
--- a/core/java/android/net/metrics/NetworkEvent.java
+++ b/core/java/android/net/metrics/NetworkEvent.java
@@ -16,6 +16,7 @@
 
 package android.net.metrics;
 
+import android.annotation.IntDef;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -23,6 +24,9 @@
 
 import com.android.internal.util.MessageUtils;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
  * {@hide}
  */
@@ -37,19 +41,32 @@
     public static final int NETWORK_UNLINGER             = 6;
     public static final int NETWORK_DISCONNECTED         = 7;
 
+    /** {@hide} */
+    @IntDef(value = {
+            NETWORK_CONNECTED,
+            NETWORK_VALIDATED,
+            NETWORK_VALIDATION_FAILED,
+            NETWORK_CAPTIVE_PORTAL_FOUND,
+            NETWORK_LINGER,
+            NETWORK_UNLINGER,
+            NETWORK_DISCONNECTED,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface EventType {}
+
     public final int netId;
-    public final int eventType;
+    public final @EventType int eventType;
     public final long durationMs;
 
     /** {@hide} */
-    public NetworkEvent(int netId, int eventType, long durationMs) {
+    public NetworkEvent(int netId, @EventType int eventType, long durationMs) {
         this.netId = netId;
         this.eventType = eventType;
         this.durationMs = durationMs;
     }
 
     /** {@hide} */
-    public NetworkEvent(int netId, int eventType) {
+    public NetworkEvent(int netId, @EventType int eventType) {
         this(netId, eventType, 0);
     }
 
@@ -59,12 +76,14 @@
         durationMs = in.readLong();
     }
 
+    @Override
     public void writeToParcel(Parcel out, int flags) {
         out.writeInt(netId);
         out.writeInt(eventType);
         out.writeLong(durationMs);
     }
 
+    @Override
     public int describeContents() {
         return 0;
     }
diff --git a/core/java/android/net/metrics/RaEvent.java b/core/java/android/net/metrics/RaEvent.java
index 69013c0..91bd023 100644
--- a/core/java/android/net/metrics/RaEvent.java
+++ b/core/java/android/net/metrics/RaEvent.java
@@ -27,6 +27,9 @@
 @SystemApi
 public final class RaEvent implements Parcelable {
 
+    /** {@hide} */
+    public static final long NO_LIFETIME = -1L;
+
     // Lifetime in seconds of options found in a single RA packet.
     // When an option is not set, the value of the associated field is -1;
     public final long routerLifetime;
@@ -92,4 +95,60 @@
             return new RaEvent[size];
         }
     };
+
+    /** {@hide} */
+    public static class Builder {
+
+        long routerLifetime          = NO_LIFETIME;
+        long prefixValidLifetime     = NO_LIFETIME;
+        long prefixPreferredLifetime = NO_LIFETIME;
+        long routeInfoLifetime       = NO_LIFETIME;
+        long rdnssLifetime           = NO_LIFETIME;
+        long dnsslLifetime           = NO_LIFETIME;
+
+        public Builder() {
+        }
+
+        public RaEvent build() {
+            return new RaEvent(routerLifetime, prefixValidLifetime, prefixPreferredLifetime,
+                    routeInfoLifetime, rdnssLifetime, dnsslLifetime);
+        }
+
+        public Builder updateRouterLifetime(long lifetime) {
+            routerLifetime = updateLifetime(routerLifetime, lifetime);
+            return this;
+        }
+
+        public Builder updatePrefixValidLifetime(long lifetime) {
+            prefixValidLifetime = updateLifetime(prefixValidLifetime, lifetime);
+            return this;
+        }
+
+        public Builder updatePrefixPreferredLifetime(long lifetime) {
+            prefixPreferredLifetime = updateLifetime(prefixPreferredLifetime, lifetime);
+            return this;
+        }
+
+        public Builder updateRouteInfoLifetime(long lifetime) {
+            routeInfoLifetime = updateLifetime(routeInfoLifetime, lifetime);
+            return this;
+        }
+
+        public Builder updateRdnssLifetime(long lifetime) {
+            rdnssLifetime = updateLifetime(rdnssLifetime, lifetime);
+            return this;
+        }
+
+        public Builder updateDnsslLifetime(long lifetime) {
+            dnsslLifetime = updateLifetime(dnsslLifetime, lifetime);
+            return this;
+        }
+
+        private long updateLifetime(long currentLifetime, long newLifetime) {
+            if (currentLifetime == RaEvent.NO_LIFETIME) {
+                return newLifetime;
+            }
+            return Math.min(currentLifetime, newLifetime);
+        }
+    }
 }
diff --git a/core/java/android/net/metrics/ValidationProbeEvent.java b/core/java/android/net/metrics/ValidationProbeEvent.java
index c2d259f..331cf0c 100644
--- a/core/java/android/net/metrics/ValidationProbeEvent.java
+++ b/core/java/android/net/metrics/ValidationProbeEvent.java
@@ -16,6 +16,7 @@
 
 package android.net.metrics;
 
+import android.annotation.IntDef;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -23,13 +24,16 @@
 
 import com.android.internal.util.MessageUtils;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
+ * An event recorded by NetworkMonitor when sending a probe for finding captive portals.
  * {@hide}
  */
 @SystemApi
 public final class ValidationProbeEvent implements Parcelable {
 
-    // TODO: use @IntDef
     public static final int PROBE_DNS   = 0;
     public static final int PROBE_HTTP  = 1;
     public static final int PROBE_HTTPS = 2;
@@ -38,13 +42,24 @@
     public static final int DNS_FAILURE = 0;
     public static final int DNS_SUCCESS = 1;
 
+    /** {@hide} */
+    @IntDef(value = {PROBE_DNS, PROBE_HTTP, PROBE_HTTPS, PROBE_PAC})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface ProbeType {}
+
+    /** {@hide} */
+    @IntDef(value = {DNS_FAILURE, DNS_SUCCESS})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface ReturnCode {}
+
     public final int netId;
     public final long durationMs;
-    public final int probeType;
-    public final int returnCode;
+    public final @ProbeType int probeType;
+    public final @ReturnCode int returnCode;
 
     /** @hide */
-    public ValidationProbeEvent(int netId, long durationMs, int probeType, int returnCode) {
+    public ValidationProbeEvent(
+            int netId, long durationMs, @ProbeType int probeType, @ReturnCode int returnCode) {
         this.netId = netId;
         this.durationMs = durationMs;
         this.probeType = probeType;
@@ -58,6 +73,7 @@
         returnCode = in.readInt();
     }
 
+    @Override
     public void writeToParcel(Parcel out, int flags) {
         out.writeInt(netId);
         out.writeLong(durationMs);
@@ -65,6 +81,7 @@
         out.writeInt(returnCode);
     }
 
+    @Override
     public int describeContents() {
         return 0;
     }
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index 36ba696..efdb4b5 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -18,6 +18,7 @@
 package android.os;
 
 import android.net.InterfaceConfiguration;
+import android.net.INetd;
 import android.net.INetworkManagementEventObserver;
 import android.net.Network;
 import android.net.NetworkStats;
@@ -36,7 +37,7 @@
      **/
 
     /**
-     * Register an observer to receive events
+     * Register an observer to receive events.
      */
     void registerObserver(INetworkManagementEventObserver obs);
 
@@ -46,6 +47,11 @@
     void unregisterObserver(INetworkManagementEventObserver obs);
 
     /**
+     * Retrieve an INetd to talk to netd.
+     */
+    INetd getNetdService();
+
+    /**
      * Returns a list of currently known network interfaces
      */
     String[] listInterfaces();
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index b9e46a5..c26d974 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -19,6 +19,7 @@
 import android.net.LocalSocket;
 import android.net.LocalSocketAddress;
 import android.system.Os;
+import android.system.OsConstants;
 import android.util.Log;
 import com.android.internal.os.Zygote;
 import dalvik.system.VMRuntime;
@@ -328,7 +329,6 @@
      */
     public static final int SCHED_RESET_ON_FORK = 0x40000000;
 
-
     // Keep in sync with SP_* constants of enum type SchedPolicy
     // declared in system/core/include/cutils/sched_policy.h,
     // except THREAD_GROUP_DEFAULT does not correspond to any SP_* value.
@@ -1250,4 +1250,22 @@
      * @hide
      */
     public static final native void removeAllProcessGroups();
+
+    /**
+     * Check to see if a thread belongs to a given process. This may require
+     * more permissions than apps generally have.
+     * @return true if this thread belongs to a process
+     * @hide
+     */
+    public static final boolean isThreadInProcess(int tid, int pid) {
+        try {
+            if (Os.access("/proc/" + tid + "/task/" + pid, OsConstants.F_OK)) {
+                return true;
+            } else {
+                return false;
+            }
+        } catch (Exception e) {
+            return false;
+        }
+    }
 }
diff --git a/core/java/android/preference/PreferenceFragment.java b/core/java/android/preference/PreferenceFragment.java
index 3e496b6..d4a3582 100644
--- a/core/java/android/preference/PreferenceFragment.java
+++ b/core/java/android/preference/PreferenceFragment.java
@@ -189,12 +189,10 @@
                 0);
 
         ListView lv = (ListView) view.findViewById(android.R.id.list);
-        if (lv != null) {
-            Drawable divider =
-                    a.getDrawable(com.android.internal.R.styleable.PreferenceFragment_divider);
-            if (divider != null) {
-                lv.setDivider(divider);
-            }
+        if (lv != null
+                && a.hasValueOrEmpty(com.android.internal.R.styleable.PreferenceFragment_divider)) {
+            lv.setDivider(
+                    a.getDrawable(com.android.internal.R.styleable.PreferenceFragment_divider));
         }
 
         a.recycle();
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index dae243b..56610ed 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -1548,7 +1548,7 @@
 
         private IContentProvider lazyGetProvider(ContentResolver cr) {
             IContentProvider cp = null;
-            synchronized (this) {
+            synchronized (NameValueCache.this) {
                 cp = mContentProvider;
                 if (cp == null) {
                     cp = mContentProvider = cr.acquireProvider(mUri.getAuthority());
@@ -1575,7 +1575,7 @@
         public String getStringForUser(ContentResolver cr, String name, final int userHandle) {
             final boolean isSelf = (userHandle == UserHandle.myUserId());
             if (isSelf) {
-                synchronized (this) {
+                synchronized (NameValueCache.this) {
                     if (mGenerationTracker != null) {
                         if (mGenerationTracker.isGenerationChanged()) {
                             if (DEBUG) {
@@ -1608,7 +1608,7 @@
                         args.putInt(CALL_METHOD_USER_KEY, userHandle);
                     }
                     boolean needsGenerationTracker = false;
-                    synchronized (this) {
+                    synchronized (NameValueCache.this) {
                         if (isSelf && mGenerationTracker == null) {
                             needsGenerationTracker = true;
                             if (args == null) {
@@ -1627,7 +1627,7 @@
                         String value = b.getString(Settings.NameValueTable.VALUE);
                         // Don't update our cache for reads of other users' data
                         if (isSelf) {
-                            synchronized (this) {
+                            synchronized (NameValueCache.this) {
                                 if (needsGenerationTracker) {
                                     MemoryIntArray array = b.getParcelable(
                                             CALL_METHOD_TRACK_GENERATION_KEY);
@@ -1644,7 +1644,7 @@
                                         }
                                         mGenerationTracker = new GenerationTracker(array, index,
                                                 generation, () -> {
-                                            synchronized (this) {
+                                            synchronized (NameValueCache.this) {
                                                 Log.e(TAG, "Error accessing generation"
                                                         + " tracker - removing");
                                                 if (mGenerationTracker != null) {
@@ -1685,7 +1685,7 @@
                 }
 
                 String value = c.moveToNext() ? c.getString(0) : null;
-                synchronized (this) {
+                synchronized (NameValueCache.this) {
                     mValues.put(name, value);
                 }
                 if (LOCAL_LOGV) {
@@ -6147,6 +6147,39 @@
                 "camera_double_tap_power_gesture_disabled";
 
         /**
+         * Whether the camera double twist gesture to flip between front and back mode should be
+         * enabled.
+         *
+         * @hide
+         */
+        public static final String CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED =
+                "camera_double_twist_to_flip_enabled";
+
+        /**
+         * Control whether Night display is currently activated.
+         * @hide
+         */
+        public static final String NIGHT_DISPLAY_ACTIVATED = "night_display_activated";
+
+        /**
+         * Control whether Night display will automatically activate/deactivate.
+         * @hide
+         */
+        public static final String NIGHT_DISPLAY_AUTO_MODE = "night_display_auto_mode";
+
+        /**
+         * Custom time when Night display is scheduled to activate.
+         * Represented as milliseconds from midnight (e.g. 79200000 == 10pm).
+         * @hide
+         */
+        public static final String NIGHT_DISPLAY_CUSTOM_START_TIME = "night_display_custom_start_time";
+
+        /**
+         * Custom time when Night display is scheduled to deactivate.
+         * Represented as milliseconds from midnight (e.g. 21600000 == 6am).
+         * @hide
+         */
+        public static final String NIGHT_DISPLAY_CUSTOM_END_TIME = "night_display_custom_end_time";
 
         /**
          * Behavior of twilight on the device.
@@ -6277,6 +6310,14 @@
 
 
         /**
+         * Whether SystemUI navigation keys is enabled.
+         * @hide
+         */
+        public static final String SYSTEM_NAVIGATION_KEYS_ENABLED =
+                "system_navigation_keys_enabled";
+
+
+        /**
          * This are the settings to be backed up.
          *
          * NOTE: Settings are backed up and restored in the order they appear
@@ -8659,6 +8700,22 @@
         public static final String DEVICE_DEMO_MODE = "device_demo_mode";
 
         /**
+         * Retail mode specific settings. This is encoded as a key=value list, separated by commas.
+         * Ex: "user_inactivity_timeout_ms=30000,warning_dialog_timeout_ms=10000". The following
+         * keys are supported:
+         *
+         * <pre>
+         * user_inactivity_timeout_ms  (long)
+         * warning_dialog_timeout_ms   (long)
+         * </pre>
+         * <p>
+         * Type: string
+         *
+         * @hide
+         */
+        public static final String RETAIL_DEMO_MODE_CONSTANTS = "retail_demo_mode_constants";
+
+        /**
          * Settings to backup. This is here so that it's in the same place as the settings
          * keys and easy to update.
          *
@@ -9074,13 +9131,6 @@
         public static final String MAX_NOTIFICATION_ENQUEUE_RATE = "max_notification_enqueue_rate";
 
         /**
-         * Whether SystemUI navigation keys is enabled.
-         * @hide
-         */
-        public static final String SYSTEM_NAVIGATION_KEYS_ENABLED =
-                "system_navigation_keys_enabled";
-
-        /**
          * Whether cell is enabled/disabled
          * @hide
          */
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 2f2fe57..8c49009 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -463,20 +463,29 @@
 
     /**
      * Gets the size of the display, in pixels.
+     * Value returned by this method does not necessarily represent the actual raw size
+     * (native resolution) of the display.
      * <p>
-     * Note that this value should <em>not</em> be used for computing layouts,
-     * since a device will typically have screen decoration (such as a status bar)
-     * along the edges of the display that reduce the amount of application
-     * space available from the size returned here.  Layouts should instead use
-     * the window size.
+     * 1. The returned size may be adjusted to exclude certain system decor elements
+     * that are always visible.
      * </p><p>
-     * The size is adjusted based on the current rotation of the display.
-     * </p><p>
-     * The size returned by this method does not necessarily represent the
-     * actual raw size (native resolution) of the display.  The returned size may
-     * be adjusted to exclude certain system decoration elements that are always visible.
-     * It may also be scaled to provide compatibility with older applications that
+     * 2. It may be scaled to provide compatibility with older applications that
      * were originally designed for smaller displays.
+     * </p><p>
+     * 3. It can be different depending on the WindowManager to which the display belongs.
+     * </p><p>
+     * - If requested from non-Activity context (e.g. Application context via
+     * {@code (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE)})
+     * it will report the size of the entire display based on current rotation and with subtracted
+     * system decoration areas.
+     * </p><p>
+     * - If requested from activity (either using {@code getWindowManager()} or
+     * {@code (WindowManager) getSystemService(Context.WINDOW_SERVICE)}) resulting size will
+     * correspond to current app window size. In this case it can be smaller than physical size in
+     * multi-window mode.
+     * </p><p>
+     * Typically for the purposes of layout apps should make a request from activity context
+     * to obtain size available for the app content.
      * </p>
      *
      * @param outSize A {@link Point} object to receive the size information.
@@ -785,13 +794,16 @@
      * were originally designed for smaller displays.
      * </p><p>
      * 3. It can be different depending on the WindowManager to which the display belongs.
-     * <pre>
+     * </p><p>
      * - If requested from non-Activity context (e.g. Application context via
      * {@code (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE)})
-     * metrics will report real size of the display based on current rotation.
-     * - If requested from activity resulting metrics will correspond to current window metrics.
-     * In this case the size can be smaller than physical size in multi-window mode.
-     * </pre>
+     * metrics will report the size of the entire display based on current rotation and with
+     * subtracted system decoration areas.
+     * </p><p>
+     * - If requested from activity (either using {@code getWindowManager()} or
+     * {@code (WindowManager) getSystemService(Context.WINDOW_SERVICE)}) resulting metrics will
+     * correspond to current app window metrics. In this case the size can be smaller than physical
+     * size in multi-window mode.
      * </p>
      *
      * @param outMetrics A {@link DisplayMetrics} object to receive the metrics.
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index 72126d0..e3ff54d 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -112,7 +112,7 @@
             int requestedOrientation, boolean fullscreen, boolean showWhenLocked, int userId,
             int configChanges, boolean voiceInteraction, boolean launchTaskBehind,
             in Rect taskBounds, in Configuration configuration, int taskResizeMode,
-            boolean alwaysFocusable, boolean homeTask, int targetSdkVersion);
+            boolean alwaysFocusable, boolean homeTask, int targetSdkVersion, int rotationAnimationHint);
     /**
      *
      * @param token The token we are adding to the input task Id.
diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java
index fcca739..e129a06 100644
--- a/core/java/android/view/ThreadedRenderer.java
+++ b/core/java/android/view/ThreadedRenderer.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.app.ActivityManagerNative;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.content.Context;
@@ -917,10 +918,20 @@
         synchronized void init(Context context, long renderProxy) {
             if (mInitialized) return;
             mInitialized = true;
+            initSched(context, renderProxy);
             initGraphicsStats(context, renderProxy);
             initAssetAtlas(context, renderProxy);
         }
 
+        private static void initSched(Context context, long renderProxy) {
+            try {
+                int tid = nGetRenderThreadTid(renderProxy);
+                ActivityManagerNative.getDefault().setRenderThread(tid);
+            } catch (Throwable t) {
+                Log.w(LOG_TAG, "Failed to set scheduler for RenderThread", t);
+            }
+        }
+
         private static void initGraphicsStats(Context context, long renderProxy) {
             try {
                 IBinder binder = ServiceManager.getService("graphicsstats");
@@ -979,6 +990,7 @@
 
     private static native void nSetAtlas(long nativeProxy, GraphicBuffer buffer, long[] map);
     private static native void nSetProcessStatsBuffer(long nativeProxy, int fd);
+    private static native int nGetRenderThreadTid(long nativeProxy);
 
     private static native long nCreateRootRenderNode();
     private static native long nCreateProxy(boolean translucent, long rootRenderNode);
diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java
index a8afaf2..9a8c8a8 100644
--- a/core/java/android/view/WindowManagerPolicy.java
+++ b/core/java/android/view/WindowManagerPolicy.java
@@ -416,6 +416,8 @@
          * screen with other application windows.
          */
         public boolean isInMultiWindowMode();
+
+        public int getRotationAnimationHint();
     }
 
     /**
diff --git a/core/java/com/android/internal/app/AssistUtils.java b/core/java/com/android/internal/app/AssistUtils.java
index d552e54..56c5cc9 100644
--- a/core/java/com/android/internal/app/AssistUtils.java
+++ b/core/java/com/android/internal/app/AssistUtils.java
@@ -132,6 +132,16 @@
         }
     }
 
+    public void registerVoiceInteractionSessionListener(IVoiceInteractionSessionListener listener) {
+        try {
+            if (mVoiceInteractionManagerService != null) {
+                mVoiceInteractionManagerService.registerVoiceInteractionSessionListener(listener);
+            }
+        } catch (RemoteException e) {
+            Log.w(TAG, "Failed to register voice interaction listener", e);
+        }
+    }
+
     public ComponentName getAssistComponentForUser(int userId) {
         final String setting = Settings.Secure.getStringForUser(mContext.getContentResolver(),
                 Settings.Secure.ASSISTANT, userId);
diff --git a/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl b/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
index 1a963f3..033dd13 100644
--- a/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
+++ b/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
@@ -22,6 +22,7 @@
 
 import com.android.internal.app.IVoiceInteractionSessionShowCallback;
 import com.android.internal.app.IVoiceInteractor;
+import com.android.internal.app.IVoiceInteractionSessionListener;
 import android.hardware.soundtrigger.IRecognitionStatusCallback;
 import android.hardware.soundtrigger.SoundTrigger;
 import android.service.voice.IVoiceInteractionService;
@@ -136,4 +137,9 @@
      * Called when the lockscreen got shown.
      */
     void onLockscreenShown();
+
+    /**
+     * Register a voice interaction listener.
+     */
+    void registerVoiceInteractionSessionListener(IVoiceInteractionSessionListener listener);
 }
diff --git a/core/java/com/android/internal/app/IVoiceInteractionSessionListener.aidl b/core/java/com/android/internal/app/IVoiceInteractionSessionListener.aidl
new file mode 100644
index 0000000..87749d2
--- /dev/null
+++ b/core/java/com/android/internal/app/IVoiceInteractionSessionListener.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ package com.android.internal.app;
+
+ oneway interface IVoiceInteractionSessionListener {
+    /**
+     * Called when a voice session is shown.
+     */
+    void onVoiceSessionShown();
+
+    /**
+     * Called when a voice session is hidden.
+     */
+    void onVoiceSessionHidden();
+ }
\ No newline at end of file
diff --git a/core/java/com/android/internal/app/NightDisplayController.java b/core/java/com/android/internal/app/NightDisplayController.java
new file mode 100644
index 0000000..03cd729
--- /dev/null
+++ b/core/java/com/android/internal/app/NightDisplayController.java
@@ -0,0 +1,421 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.app;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.UserHandle;
+import android.provider.Settings.Secure;
+import android.util.Slog;
+
+import com.android.internal.R;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.Calendar;
+import java.util.Locale;
+
+/**
+ * Controller for managing Night display settings.
+ * <p/>
+ * Night display tints your screen red at night. This makes it easier to look at your screen in
+ * dim light and may help you fall asleep more easily.
+ */
+public final class NightDisplayController {
+
+    private static final String TAG = "NightDisplayController";
+    private static final boolean DEBUG = false;
+
+    /** @hide */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef({ AUTO_MODE_DISABLED, AUTO_MODE_CUSTOM, AUTO_MODE_TWILIGHT })
+    public @interface AutoMode {}
+
+    /**
+     * Auto mode value to prevent Night display from being automatically activated. It can still
+     * be activated manually via {@link #setActivated(boolean)}.
+     *
+     * @see #setAutoMode(int)
+     */
+    public static final int AUTO_MODE_DISABLED = 0;
+    /**
+     * Auto mode value to automatically activate Night display at a specific start and end time.
+     *
+     * @see #setAutoMode(int)
+     * @see #setCustomStartTime(LocalTime)
+     * @see #setCustomEndTime(LocalTime)
+     */
+    public static final int AUTO_MODE_CUSTOM = 1;
+    /**
+     * Auto mode value to automatically activate Night display from sunset to sunrise.
+     *
+     * @see #setAutoMode(int)
+     */
+    public static final int AUTO_MODE_TWILIGHT = 2;
+
+    private final Context mContext;
+    private final int mUserId;
+
+    private final ContentObserver mContentObserver;
+
+    private Callback mCallback;
+
+    public NightDisplayController(@NonNull Context context) {
+        this(context, UserHandle.myUserId());
+    }
+
+    public NightDisplayController(@NonNull Context context, int userId) {
+        mContext = context.getApplicationContext();
+        mUserId = userId;
+
+        mContentObserver = new ContentObserver(new Handler(Looper.getMainLooper())) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                super.onChange(selfChange, uri);
+
+                final String setting = uri == null ? null : uri.getLastPathSegment();
+                if (setting != null) {
+                    onSettingChanged(setting);
+                }
+            }
+        };
+    }
+
+    /**
+     * Returns {@code true} when Night display is activated (the display is tinted red).
+     */
+    public boolean isActivated() {
+        return Secure.getIntForUser(mContext.getContentResolver(),
+                Secure.NIGHT_DISPLAY_ACTIVATED, 0, mUserId) == 1;
+    }
+
+    /**
+     * Sets whether Night display should be activated.
+     *
+     * @param activated {@code true} if Night display should be activated
+     * @return {@code true} if the activated value was set successfully
+     */
+    public boolean setActivated(boolean activated) {
+        return Secure.putIntForUser(mContext.getContentResolver(),
+                Secure.NIGHT_DISPLAY_ACTIVATED, activated ? 1 : 0, mUserId);
+    }
+
+    /**
+     * Returns the current auto mode value controlling when Night display will be automatically
+     * activated. One of {@link #AUTO_MODE_DISABLED}, {@link #AUTO_MODE_CUSTOM}, or
+     * {@link #AUTO_MODE_TWILIGHT}.
+     */
+    public @AutoMode int getAutoMode() {
+        int autoMode = Secure.getIntForUser(mContext.getContentResolver(),
+                Secure.NIGHT_DISPLAY_AUTO_MODE, -1, mUserId);
+        if (autoMode == -1) {
+            if (DEBUG) {
+                Slog.d(TAG, "Using default value for setting: " + Secure.NIGHT_DISPLAY_AUTO_MODE);
+            }
+            autoMode = mContext.getResources().getInteger(
+                    R.integer.config_defaultNightDisplayAutoMode);
+        }
+
+        if (autoMode != AUTO_MODE_DISABLED
+                && autoMode != AUTO_MODE_CUSTOM
+                && autoMode != AUTO_MODE_TWILIGHT) {
+            Slog.e(TAG, "Invalid autoMode: " + autoMode);
+            autoMode = AUTO_MODE_DISABLED;
+        }
+
+        return autoMode;
+    }
+
+    /**
+     * Sets the current auto mode value controlling when Night display will be automatically
+     * activated. One of {@link #AUTO_MODE_DISABLED}, {@link #AUTO_MODE_CUSTOM}, or
+     * {@link #AUTO_MODE_TWILIGHT}.
+     *
+     * @param autoMode the new auto mode to use
+     * @return {@code true} if new auto mode was set successfully
+     */
+    public boolean setAutoMode(@AutoMode int autoMode) {
+        if (autoMode != AUTO_MODE_DISABLED
+                && autoMode != AUTO_MODE_CUSTOM
+                && autoMode != AUTO_MODE_TWILIGHT) {
+            throw new IllegalArgumentException("Invalid autoMode: " + autoMode);
+        }
+
+        return Secure.putIntForUser(mContext.getContentResolver(),
+                Secure.NIGHT_DISPLAY_AUTO_MODE, autoMode, mUserId);
+    }
+
+    /**
+     * Returns the local time when Night display will be automatically activated when using
+     * {@link #AUTO_MODE_CUSTOM}.
+     */
+    public @NonNull LocalTime getCustomStartTime() {
+        int startTimeValue = Secure.getIntForUser(mContext.getContentResolver(),
+                Secure.NIGHT_DISPLAY_CUSTOM_START_TIME, -1, mUserId);
+        if (startTimeValue == -1) {
+            if (DEBUG) {
+                Slog.d(TAG, "Using default value for setting: "
+                        + Secure.NIGHT_DISPLAY_CUSTOM_START_TIME);
+            }
+            startTimeValue = mContext.getResources().getInteger(
+                    R.integer.config_defaultNightDisplayCustomStartTime);
+        }
+
+        return LocalTime.valueOf(startTimeValue);
+    }
+
+    /**
+     * Sets the local time when Night display will be automatically activated when using
+     * {@link #AUTO_MODE_CUSTOM}.
+     *
+     * @param startTime the local time to automatically activate Night display
+     * @return {@code true} if the new custom start time was set successfully
+     */
+    public boolean setCustomStartTime(@NonNull LocalTime startTime) {
+        if (startTime == null) {
+            throw new IllegalArgumentException("startTime cannot be null");
+        }
+        return Secure.putIntForUser(mContext.getContentResolver(),
+                Secure.NIGHT_DISPLAY_CUSTOM_START_TIME, startTime.toMillis(), mUserId);
+    }
+
+    /**
+     * Returns the local time when Night display will be automatically deactivated when using
+     * {@link #AUTO_MODE_CUSTOM}.
+     */
+    public @NonNull LocalTime getCustomEndTime() {
+        int endTimeValue = Secure.getIntForUser(mContext.getContentResolver(),
+                Secure.NIGHT_DISPLAY_CUSTOM_END_TIME, -1, mUserId);
+        if (endTimeValue == -1) {
+            if (DEBUG) {
+                Slog.d(TAG, "Using default value for setting: "
+                        + Secure.NIGHT_DISPLAY_CUSTOM_END_TIME);
+            }
+            endTimeValue = mContext.getResources().getInteger(
+                    R.integer.config_defaultNightDisplayCustomEndTime);
+        }
+
+        return LocalTime.valueOf(endTimeValue);
+    }
+
+    /**
+     * Sets the local time when Night display will be automatically deactivated when using
+     * {@link #AUTO_MODE_CUSTOM}.
+     *
+     * @param endTime the local time to automatically deactivate Night display
+     * @return {@code true} if the new custom end time was set successfully
+     */
+    public boolean setCustomEndTime(@NonNull LocalTime endTime) {
+        if (endTime == null) {
+            throw new IllegalArgumentException("endTime cannot be null");
+        }
+        return Secure.putIntForUser(mContext.getContentResolver(),
+                Secure.NIGHT_DISPLAY_CUSTOM_END_TIME, endTime.toMillis(), mUserId);
+    }
+
+    private void onSettingChanged(@NonNull String setting) {
+        if (DEBUG) {
+            Slog.d(TAG, "onSettingChanged: " + setting);
+        }
+
+        if (mCallback != null) {
+            switch (setting) {
+                case Secure.NIGHT_DISPLAY_ACTIVATED:
+                    mCallback.onActivated(isActivated());
+                    break;
+                case Secure.NIGHT_DISPLAY_AUTO_MODE:
+                    mCallback.onAutoModeChanged(getAutoMode());
+                    break;
+                case Secure.NIGHT_DISPLAY_CUSTOM_START_TIME:
+                    mCallback.onCustomStartTimeChanged(getCustomStartTime());
+                    break;
+                case Secure.NIGHT_DISPLAY_CUSTOM_END_TIME:
+                    mCallback.onCustomEndTimeChanged(getCustomEndTime());
+                    break;
+            }
+        }
+    }
+
+    /**
+     * Register a callback to be invoked whenever the Night display settings are changed.
+     */
+    public void setListener(Callback callback) {
+        final Callback oldCallback = mCallback;
+        if (oldCallback != callback) {
+            mCallback = callback;
+
+            if (callback == null) {
+                // Stop listening for changes now that there IS NOT a listener.
+                mContext.getContentResolver().unregisterContentObserver(mContentObserver);
+            } else if (oldCallback == null) {
+                // Start listening for changes now that there IS a listener.
+                final ContentResolver cr = mContext.getContentResolver();
+                cr.registerContentObserver(Secure.getUriFor(Secure.NIGHT_DISPLAY_ACTIVATED),
+                        false /* notifyForDescendants */, mContentObserver, mUserId);
+                cr.registerContentObserver(Secure.getUriFor(Secure.NIGHT_DISPLAY_AUTO_MODE),
+                        false /* notifyForDescendants */, mContentObserver, mUserId);
+                cr.registerContentObserver(Secure.getUriFor(Secure.NIGHT_DISPLAY_CUSTOM_START_TIME),
+                        false /* notifyForDescendants */, mContentObserver, mUserId);
+                cr.registerContentObserver(Secure.getUriFor(Secure.NIGHT_DISPLAY_CUSTOM_END_TIME),
+                        false /* notifyForDescendants */, mContentObserver, mUserId);
+            }
+        }
+    }
+
+    /**
+     * Returns {@code true} if Night display is supported by the device.
+     */
+    public static boolean isAvailable(Context context) {
+        return context.getResources().getBoolean(R.bool.config_nightDisplayAvailable);
+    }
+
+    /**
+     * A time without a time-zone or date.
+     */
+    public static class LocalTime {
+
+        /**
+         * The hour of the day from 0 - 23.
+         */
+        public final int hourOfDay;
+        /**
+         * The minute within the hour from 0 - 59.
+         */
+        public final int minute;
+
+        public LocalTime(int hourOfDay, int minute) {
+            if (hourOfDay < 0 || hourOfDay > 23) {
+                throw new IllegalArgumentException("Invalid hourOfDay: " + hourOfDay);
+            } else if (minute < 0 || minute > 59) {
+                throw new IllegalArgumentException("Invalid minute: " + minute);
+            }
+
+            this.hourOfDay = hourOfDay;
+            this.minute = minute;
+        }
+
+        /**
+         * Returns the first date time corresponding to this local time that occurs before the
+         * provided date time.
+         *
+         * @param time the date time to compare against
+         * @return the prior date time corresponding to this local time
+         */
+        public Calendar getDateTimeBefore(Calendar time) {
+            final Calendar c = Calendar.getInstance();
+            c.set(Calendar.YEAR, time.get(Calendar.YEAR));
+            c.set(Calendar.DAY_OF_YEAR, time.get(Calendar.DAY_OF_YEAR));
+
+            c.set(Calendar.HOUR_OF_DAY, hourOfDay);
+            c.set(Calendar.MINUTE, minute);
+            c.set(Calendar.SECOND, 0);
+            c.set(Calendar.MILLISECOND, 0);
+
+            // Check if the local time has past, if so return the same time tomorrow.
+            if (c.after(time)) {
+                c.add(Calendar.DATE, -1);
+            }
+
+            return c;
+        }
+
+        /**
+         * Returns the first date time corresponding to this local time that occurs after the
+         * provided date time.
+         *
+         * @param time the date time to compare against
+         * @return the next date time corresponding to this local time
+         */
+        public Calendar getDateTimeAfter(Calendar time) {
+            final Calendar c = Calendar.getInstance();
+            c.set(Calendar.YEAR, time.get(Calendar.YEAR));
+            c.set(Calendar.DAY_OF_YEAR, time.get(Calendar.DAY_OF_YEAR));
+
+            c.set(Calendar.HOUR_OF_DAY, hourOfDay);
+            c.set(Calendar.MINUTE, minute);
+            c.set(Calendar.SECOND, 0);
+            c.set(Calendar.MILLISECOND, 0);
+
+            // Check if the local time has past, if so return the same time tomorrow.
+            if (c.before(time)) {
+                c.add(Calendar.DATE, 1);
+            }
+
+            return c;
+        }
+
+        /**
+         * Returns a local time corresponding the given number of milliseconds from midnight.
+         *
+         * @param millis the number of milliseconds from midnight
+         * @return the corresponding local time
+         */
+        private static LocalTime valueOf(int millis) {
+            final int hourOfDay = (millis / 3600000) % 24;
+            final int minutes = (millis / 60000) % 60;
+            return new LocalTime(hourOfDay, minutes);
+        }
+
+        /**
+         * Returns the local time represented as milliseconds from midnight.
+         */
+        private int toMillis() {
+            return hourOfDay * 3600000 + minute * 60000;
+        }
+
+        @Override
+        public String toString() {
+            return String.format(Locale.US, "%02d:%02d", hourOfDay, minute);
+        }
+    }
+
+    /**
+     * Callback invoked whenever the Night display settings are changed.
+     */
+    public interface Callback {
+        /**
+         * Callback invoked when the activated state changes.
+         *
+         * @param activated {@code true} if Night display is activated
+         */
+        default void onActivated(boolean activated) {}
+        /**
+         * Callback invoked when the auto mode changes.
+         *
+         * @param autoMode the auto mode to use
+         */
+        default void onAutoModeChanged(int autoMode) {}
+        /**
+         * Callback invoked when the time to automatically activate Night display changes.
+         *
+         * @param startTime the local time to automatically activate Night display
+         */
+        default void onCustomStartTimeChanged(LocalTime startTime) {}
+        /**
+         * Callback invoked when the time to automatically deactivate Night display changes.
+         *
+         * @param endTime the local time to automatically deactivate Night display
+         */
+        default void onCustomEndTimeChanged(LocalTime endTime) {}
+    }
+}
diff --git a/core/java/com/android/internal/net/VpnProfile.java b/core/java/com/android/internal/net/VpnProfile.java
index 5c92f3c..9a5543a 100644
--- a/core/java/com/android/internal/net/VpnProfile.java
+++ b/core/java/com/android/internal/net/VpnProfile.java
@@ -176,6 +176,11 @@
      * connection.
      */
     public boolean isValidLockdownProfile() {
+        // b/7064069: lockdown firewall blocks ports that would be used for PPTP
+        if (type == TYPE_PPTP) {
+            return false;
+        }
+
         try {
             InetAddress.parseNumericAddress(server);
 
diff --git a/core/java/com/android/internal/util/MimeIconUtils.java b/core/java/com/android/internal/util/MimeIconUtils.java
new file mode 100644
index 0000000..841ec7c
--- /dev/null
+++ b/core/java/com/android/internal/util/MimeIconUtils.java
@@ -0,0 +1,230 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.util;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.provider.DocumentsContract;
+
+import com.android.internal.R;
+
+import java.util.HashMap;
+
+public class MimeIconUtils {
+
+    private static HashMap<String, Integer> sMimeIcons = new HashMap<>();
+
+    private static void add(String mimeType, int resId) {
+        if (sMimeIcons.put(mimeType, resId) != null) {
+            throw new RuntimeException(mimeType + " already registered!");
+        }
+    }
+
+    static {
+        int icon;
+
+        // Package
+        icon = R.drawable.ic_doc_apk;
+        add("application/vnd.android.package-archive", icon);
+
+        // Audio
+        icon = R.drawable.ic_doc_audio;
+        add("application/ogg", icon);
+        add("application/x-flac", icon);
+
+        // Certificate
+        icon = R.drawable.ic_doc_certificate;
+        add("application/pgp-keys", icon);
+        add("application/pgp-signature", icon);
+        add("application/x-pkcs12", icon);
+        add("application/x-pkcs7-certreqresp", icon);
+        add("application/x-pkcs7-crl", icon);
+        add("application/x-x509-ca-cert", icon);
+        add("application/x-x509-user-cert", icon);
+        add("application/x-pkcs7-certificates", icon);
+        add("application/x-pkcs7-mime", icon);
+        add("application/x-pkcs7-signature", icon);
+
+        // Source code
+        icon = R.drawable.ic_doc_codes;
+        add("application/rdf+xml", icon);
+        add("application/rss+xml", icon);
+        add("application/x-object", icon);
+        add("application/xhtml+xml", icon);
+        add("text/css", icon);
+        add("text/html", icon);
+        add("text/xml", icon);
+        add("text/x-c++hdr", icon);
+        add("text/x-c++src", icon);
+        add("text/x-chdr", icon);
+        add("text/x-csrc", icon);
+        add("text/x-dsrc", icon);
+        add("text/x-csh", icon);
+        add("text/x-haskell", icon);
+        add("text/x-java", icon);
+        add("text/x-literate-haskell", icon);
+        add("text/x-pascal", icon);
+        add("text/x-tcl", icon);
+        add("text/x-tex", icon);
+        add("application/x-latex", icon);
+        add("application/x-texinfo", icon);
+        add("application/atom+xml", icon);
+        add("application/ecmascript", icon);
+        add("application/json", icon);
+        add("application/javascript", icon);
+        add("application/xml", icon);
+        add("text/javascript", icon);
+        add("application/x-javascript", icon);
+
+        // Compressed
+        icon = R.drawable.ic_doc_compressed;
+        add("application/mac-binhex40", icon);
+        add("application/rar", icon);
+        add("application/zip", icon);
+        add("application/x-apple-diskimage", icon);
+        add("application/x-debian-package", icon);
+        add("application/x-gtar", icon);
+        add("application/x-iso9660-image", icon);
+        add("application/x-lha", icon);
+        add("application/x-lzh", icon);
+        add("application/x-lzx", icon);
+        add("application/x-stuffit", icon);
+        add("application/x-tar", icon);
+        add("application/x-webarchive", icon);
+        add("application/x-webarchive-xml", icon);
+        add("application/gzip", icon);
+        add("application/x-7z-compressed", icon);
+        add("application/x-deb", icon);
+        add("application/x-rar-compressed", icon);
+
+        // Contact
+        icon = R.drawable.ic_doc_contact;
+        add("text/x-vcard", icon);
+        add("text/vcard", icon);
+
+        // Event
+        icon = R.drawable.ic_doc_event;
+        add("text/calendar", icon);
+        add("text/x-vcalendar", icon);
+
+        // Font
+        icon = R.drawable.ic_doc_font;
+        add("application/x-font", icon);
+        add("application/font-woff", icon);
+        add("application/x-font-woff", icon);
+        add("application/x-font-ttf", icon);
+
+        // Image
+        icon = R.drawable.ic_doc_image;
+        add("application/vnd.oasis.opendocument.graphics", icon);
+        add("application/vnd.oasis.opendocument.graphics-template", icon);
+        add("application/vnd.oasis.opendocument.image", icon);
+        add("application/vnd.stardivision.draw", icon);
+        add("application/vnd.sun.xml.draw", icon);
+        add("application/vnd.sun.xml.draw.template", icon);
+
+        // PDF
+        icon = R.drawable.ic_doc_pdf;
+        add("application/pdf", icon);
+
+        // Presentation
+        icon = R.drawable.ic_doc_presentation;
+        add("application/vnd.stardivision.impress", icon);
+        add("application/vnd.sun.xml.impress", icon);
+        add("application/vnd.sun.xml.impress.template", icon);
+        add("application/x-kpresenter", icon);
+        add("application/vnd.oasis.opendocument.presentation", icon);
+
+        // Spreadsheet
+        icon = R.drawable.ic_doc_spreadsheet;
+        add("application/vnd.oasis.opendocument.spreadsheet", icon);
+        add("application/vnd.oasis.opendocument.spreadsheet-template", icon);
+        add("application/vnd.stardivision.calc", icon);
+        add("application/vnd.sun.xml.calc", icon);
+        add("application/vnd.sun.xml.calc.template", icon);
+        add("application/x-kspread", icon);
+
+        // Document
+        icon = R.drawable.ic_doc_document;
+        add("application/vnd.oasis.opendocument.text", icon);
+        add("application/vnd.oasis.opendocument.text-master", icon);
+        add("application/vnd.oasis.opendocument.text-template", icon);
+        add("application/vnd.oasis.opendocument.text-web", icon);
+        add("application/vnd.stardivision.writer", icon);
+        add("application/vnd.stardivision.writer-global", icon);
+        add("application/vnd.sun.xml.writer", icon);
+        add("application/vnd.sun.xml.writer.global", icon);
+        add("application/vnd.sun.xml.writer.template", icon);
+        add("application/x-abiword", icon);
+        add("application/x-kword", icon);
+
+        // Video
+        icon = R.drawable.ic_doc_video;
+        add("application/x-quicktimeplayer", icon);
+        add("application/x-shockwave-flash", icon);
+
+        // Word
+        icon = R.drawable.ic_doc_word;
+        add("application/msword", icon);
+        add("application/vnd.openxmlformats-officedocument.wordprocessingml.document", icon);
+        add("application/vnd.openxmlformats-officedocument.wordprocessingml.template", icon);
+
+        // Excel
+        icon = R.drawable.ic_doc_excel;
+        add("application/vnd.ms-excel", icon);
+        add("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", icon);
+        add("application/vnd.openxmlformats-officedocument.spreadsheetml.template", icon);
+
+        // Powerpoint
+        icon = R.drawable.ic_doc_powerpoint;
+        add("application/vnd.ms-powerpoint", icon);
+        add("application/vnd.openxmlformats-officedocument.presentationml.presentation", icon);
+        add("application/vnd.openxmlformats-officedocument.presentationml.template", icon);
+        add("application/vnd.openxmlformats-officedocument.presentationml.slideshow", icon);
+    }
+
+    public static Drawable loadMimeIcon(Context context, String mimeType) {
+        if (DocumentsContract.Document.MIME_TYPE_DIR.equals(mimeType)) {
+            return context.getDrawable(R.drawable.ic_doc_folder);
+        }
+
+        // Look for exact match first
+        Integer resId = sMimeIcons.get(mimeType);
+        if (resId != null) {
+            return context.getDrawable(resId);
+        }
+
+        if (mimeType == null) {
+            // TODO: generic icon?
+            return null;
+        }
+
+        // Otherwise look for partial match
+        final String typeOnly = mimeType.split("/")[0];
+        if ("audio".equals(typeOnly)) {
+            return context.getDrawable(R.drawable.ic_doc_audio);
+        } else if ("image".equals(typeOnly)) {
+            return context.getDrawable(R.drawable.ic_doc_image);
+        } else if ("text".equals(typeOnly)) {
+            return context.getDrawable(R.drawable.ic_doc_text);
+        } else if ("video".equals(typeOnly)) {
+            return context.getDrawable(R.drawable.ic_doc_video);
+        } else {
+            return context.getDrawable(R.drawable.ic_doc_generic);
+        }
+    }
+}
diff --git a/core/java/com/android/internal/widget/ICheckCredentialProgressCallback.aidl b/core/java/com/android/internal/widget/ICheckCredentialProgressCallback.aidl
new file mode 100644
index 0000000..79717cf
--- /dev/null
+++ b/core/java/com/android/internal/widget/ICheckCredentialProgressCallback.aidl
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.widget;
+
+/** {@hide} */
+oneway interface ICheckCredentialProgressCallback {
+    void onCredentialVerified();
+}
diff --git a/core/java/com/android/internal/widget/ILockSettings.aidl b/core/java/com/android/internal/widget/ILockSettings.aidl
index 05b839d..9fa558e 100644
--- a/core/java/com/android/internal/widget/ILockSettings.aidl
+++ b/core/java/com/android/internal/widget/ILockSettings.aidl
@@ -17,6 +17,7 @@
 package com.android.internal.widget;
 
 import android.app.trust.IStrongAuthTracker;
+import com.android.internal.widget.ICheckCredentialProgressCallback;
 import com.android.internal.widget.VerifyCredentialResponse;
 
 /** {@hide} */
@@ -29,10 +30,12 @@
     String getString(in String key, in String defaultValue, in int userId);
     void setLockPattern(in String pattern, in String savedPattern, int userId);
     void resetKeyStore(int userId);
-    VerifyCredentialResponse checkPattern(in String pattern, int userId);
+    VerifyCredentialResponse checkPattern(in String pattern, int userId,
+            in ICheckCredentialProgressCallback progressCallback);
     VerifyCredentialResponse verifyPattern(in String pattern, long challenge, int userId);
     void setLockPassword(in String password, in String savedPassword, int userId);
-    VerifyCredentialResponse checkPassword(in String password, int userId);
+    VerifyCredentialResponse checkPassword(in String password, int userId,
+            in ICheckCredentialProgressCallback progressCallback);
     VerifyCredentialResponse verifyPassword(in String password, long challenge, int userId);
     VerifyCredentialResponse verifyTiedProfileChallenge(String password, boolean isPattern, long challenge, int userId);
     boolean checkVoldPassword(int userId);
diff --git a/core/java/com/android/internal/widget/LockPatternChecker.java b/core/java/com/android/internal/widget/LockPatternChecker.java
index 713f56f..df9b0dd 100644
--- a/core/java/com/android/internal/widget/LockPatternChecker.java
+++ b/core/java/com/android/internal/widget/LockPatternChecker.java
@@ -14,6 +14,13 @@
      * Interface for a callback to be invoked after security check.
      */
     public interface OnCheckCallback {
+
+        /**
+         * Invoked as soon as possible we know that the credentials match. This will be called
+         * earlier than {@link #onChecked} but only if the credentials match.
+         */
+        default void onEarlyMatched() {}
+
         /**
          * Invoked when a security check is finished.
          *
@@ -92,7 +99,7 @@
             @Override
             protected Boolean doInBackground(Void... args) {
                 try {
-                    return utils.checkPattern(pattern, userId);
+                    return utils.checkPattern(pattern, userId, callback::onEarlyMatched);
                 } catch (RequestThrottledException ex) {
                     mThrottleTimeout = ex.getTimeoutMs();
                     return false;
@@ -199,7 +206,7 @@
             @Override
             protected Boolean doInBackground(Void... args) {
                 try {
-                    return utils.checkPassword(password, userId);
+                    return utils.checkPassword(password, userId, callback::onEarlyMatched);
                 } catch (RequestThrottledException ex) {
                     mThrottleTimeout = ex.getTimeoutMs();
                     return false;
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index 2e0dfa5..eff116b 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -17,6 +17,7 @@
 package com.android.internal.widget;
 
 import android.annotation.IntDef;
+import android.annotation.Nullable;
 import android.app.admin.DevicePolicyManager;
 import android.app.trust.IStrongAuthTracker;
 import android.app.trust.TrustManager;
@@ -32,7 +33,6 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemClock;
-import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.storage.IMountService;
@@ -149,6 +149,7 @@
     private DevicePolicyManager mDevicePolicyManager;
     private ILockSettings mLockSettingsService;
     private UserManager mUserManager;
+    private final Handler mHandler = new Handler();
 
     /**
      * Use {@link TrustManager#isTrustUsuallyManaged(int)}.
@@ -341,10 +342,23 @@
      */
     public boolean checkPattern(List<LockPatternView.Cell> pattern, int userId)
             throws RequestThrottledException {
+        return checkPattern(pattern, userId, null /* progressCallback */);
+    }
+
+    /**
+     * Check to see if a pattern matches the saved pattern.  If no pattern exists,
+     * always returns true.
+     * @param pattern The pattern to check.
+     * @return Whether the pattern matches the stored one.
+     */
+    public boolean checkPattern(List<LockPatternView.Cell> pattern, int userId,
+            @Nullable CheckCredentialProgressCallback progressCallback)
+            throws RequestThrottledException {
         throwIfCalledOnMainThread();
         try {
             VerifyCredentialResponse response =
-                    getLockSettings().checkPattern(patternToString(pattern), userId);
+                    getLockSettings().checkPattern(patternToString(pattern), userId,
+                            wrapCallback(progressCallback));
 
             if (response.getResponseCode() == VerifyCredentialResponse.RESPONSE_OK) {
                 return true;
@@ -423,10 +437,22 @@
      * @return Whether the password matches the stored one.
      */
     public boolean checkPassword(String password, int userId) throws RequestThrottledException {
+        return checkPassword(password, userId, null /* progressCallback */);
+    }
+
+    /**
+     * Check to see if a password matches the saved password.  If no password exists,
+     * always returns true.
+     * @param password The password to check.
+     * @return Whether the password matches the stored one.
+     */
+    public boolean checkPassword(String password, int userId,
+            @Nullable CheckCredentialProgressCallback progressCallback)
+            throws RequestThrottledException {
         throwIfCalledOnMainThread();
         try {
             VerifyCredentialResponse response =
-                    getLockSettings().checkPassword(password, userId);
+                    getLockSettings().checkPassword(password, userId, wrapCallback(progressCallback));
             if (response.getResponseCode() == VerifyCredentialResponse.RESPONSE_OK) {
                 return true;
             } else if (response.getResponseCode() == VerifyCredentialResponse.RESPONSE_RETRY) {
@@ -1475,6 +1501,33 @@
         return (getStrongAuthForUser(userId) & ~StrongAuthTracker.ALLOWING_FINGERPRINT) == 0;
     }
 
+    private ICheckCredentialProgressCallback wrapCallback(
+            final CheckCredentialProgressCallback callback) {
+        if (callback == null) {
+            return null;
+        } else {
+            return new ICheckCredentialProgressCallback.Stub() {
+
+                @Override
+                public void onCredentialVerified() throws RemoteException {
+                    mHandler.post(callback::onEarlyMatched);
+                }
+            };
+        }
+    }
+
+    /**
+     * Callback to be notified about progress when checking credentials.
+     */
+    public interface CheckCredentialProgressCallback {
+
+        /**
+         * Called as soon as possible when we know that the credentials match but the user hasn't
+         * been fully unlocked.
+         */
+        void onEarlyMatched();
+    }
+
     /**
      * Tracks the global strong authentication state.
      */
diff --git a/core/jni/android_hardware_location_ContextHubService.cpp b/core/jni/android_hardware_location_ContextHubService.cpp
index 3881d6d..a56eba6 100644
--- a/core/jni/android_hardware_location_ContextHubService.cpp
+++ b/core/jni/android_hardware_location_ContextHubService.cpp
@@ -186,9 +186,13 @@
 
 static void send_query_for_apps() {
     hub_message_t msg;
+    query_apps_request_t queryMsg;
+
+    queryMsg.app_name.id = NANOAPP_VENDOR_ALL_APPS;
 
     msg.message_type = CONTEXT_HUB_QUERY_APPS;
-    msg.message_len  = 0;
+    msg.message_len  = sizeof(queryMsg);
+    msg.message = &queryMsg;
 
     for (int i = 0; i < db.hubInfo.numHubs; i++ ) {
         ALOGD("Sending query for apps to hub %d", i);
diff --git a/core/jni/android_media_AudioFormat.h b/core/jni/android_media_AudioFormat.h
index 6513304..092aaf6 100644
--- a/core/jni/android_media_AudioFormat.h
+++ b/core/jni/android_media_AudioFormat.h
@@ -20,18 +20,20 @@
 #include <system/audio.h>
 
 // keep these values in sync with AudioFormat.java
-#define ENCODING_PCM_16BIT  2
-#define ENCODING_PCM_8BIT   3
-#define ENCODING_PCM_FLOAT  4
-#define ENCODING_AC3        5
-#define ENCODING_E_AC3      6
-#define ENCODING_DTS        7
-#define ENCODING_DTS_HD     8
-#define ENCODING_MP3        9
-#define ENCODING_AAC_LC     10
-#define ENCODING_AAC_HE_V1  11
-#define ENCODING_AAC_HE_V2  12
-#define ENCODING_IEC61937   13
+#define ENCODING_PCM_16BIT      2
+#define ENCODING_PCM_8BIT       3
+#define ENCODING_PCM_FLOAT      4
+#define ENCODING_AC3            5
+#define ENCODING_E_AC3          6
+#define ENCODING_DTS            7
+#define ENCODING_DTS_HD         8
+#define ENCODING_MP3            9
+#define ENCODING_AAC_LC         10
+#define ENCODING_AAC_HE_V1      11
+#define ENCODING_AAC_HE_V2      12
+#define ENCODING_IEC61937       13
+#define ENCODING_DOLBY_TRUEHD   14
+
 #define ENCODING_INVALID    0
 #define ENCODING_DEFAULT    1
 
@@ -65,6 +67,8 @@
         return AUDIO_FORMAT_AAC_HE_V1;
     case ENCODING_AAC_HE_V2:
         return AUDIO_FORMAT_AAC_HE_V2;
+    case ENCODING_DOLBY_TRUEHD:
+        return AUDIO_FORMAT_DOLBY_TRUEHD;
     case ENCODING_IEC61937:
         return AUDIO_FORMAT_IEC61937;
     case ENCODING_DEFAULT:
@@ -108,6 +112,8 @@
         return ENCODING_AAC_HE_V2;
     case AUDIO_FORMAT_IEC61937:
         return ENCODING_IEC61937;
+    case AUDIO_FORMAT_DOLBY_TRUEHD:
+        return ENCODING_DOLBY_TRUEHD;
     case AUDIO_FORMAT_DEFAULT:
         return ENCODING_DEFAULT;
     default:
diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp
index 61a0bda..595d5c6 100644
--- a/core/jni/android_view_ThreadedRenderer.cpp
+++ b/core/jni/android_view_ThreadedRenderer.cpp
@@ -543,6 +543,12 @@
     proxy->setProcessStatsBuffer(fd);
 }
 
+static jint android_view_ThreadedRenderer_getRenderThreadTid(JNIEnv* env, jobject clazz,
+        jlong proxyPtr) {
+    RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
+    return proxy->getRenderThreadTid();
+}
+
 static jlong android_view_ThreadedRenderer_createRootRenderNode(JNIEnv* env, jobject clazz) {
     RootRenderNode* node = new RootRenderNode(env);
     node->incStrong(0);
@@ -858,6 +864,7 @@
 static const JNINativeMethod gMethods[] = {
     { "nSetAtlas", "(JLandroid/view/GraphicBuffer;[J)V",   (void*) android_view_ThreadedRenderer_setAtlas },
     { "nSetProcessStatsBuffer", "(JI)V", (void*) android_view_ThreadedRenderer_setProcessStatsBuffer },
+    { "nGetRenderThreadTid", "(J)I", (void*) android_view_ThreadedRenderer_getRenderThreadTid },
     { "nCreateRootRenderNode", "()J", (void*) android_view_ThreadedRenderer_createRootRenderNode },
     { "nCreateProxy", "(ZJ)J", (void*) android_view_ThreadedRenderer_createProxy },
     { "nDeleteProxy", "(J)V", (void*) android_view_ThreadedRenderer_deleteProxy },
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 3c71dd9..8388f05 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -478,7 +478,7 @@
     <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
     <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
 
-    <protected-broadcast android:name="com.android.server.am.ACTION_RESET_DEMO" />
+    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
 
     <!-- ====================================================================== -->
     <!--                          RUNTIME PERMISSIONS                           -->
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_apk.xml b/core/res/res/drawable/ic_doc_apk.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_apk.xml
rename to core/res/res/drawable/ic_doc_apk.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_audio.xml b/core/res/res/drawable/ic_doc_audio.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_audio.xml
rename to core/res/res/drawable/ic_doc_audio.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_certificate.xml b/core/res/res/drawable/ic_doc_certificate.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_certificate.xml
rename to core/res/res/drawable/ic_doc_certificate.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_codes.xml b/core/res/res/drawable/ic_doc_codes.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_codes.xml
rename to core/res/res/drawable/ic_doc_codes.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_compressed.xml b/core/res/res/drawable/ic_doc_compressed.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_compressed.xml
rename to core/res/res/drawable/ic_doc_compressed.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_contact.xml b/core/res/res/drawable/ic_doc_contact.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_contact.xml
rename to core/res/res/drawable/ic_doc_contact.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_document.xml b/core/res/res/drawable/ic_doc_document.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_document.xml
rename to core/res/res/drawable/ic_doc_document.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_event.xml b/core/res/res/drawable/ic_doc_event.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_event.xml
rename to core/res/res/drawable/ic_doc_event.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_excel.xml b/core/res/res/drawable/ic_doc_excel.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_excel.xml
rename to core/res/res/drawable/ic_doc_excel.xml
diff --git a/core/res/res/drawable/ic_doc_folder.xml b/core/res/res/drawable/ic_doc_folder.xml
new file mode 100644
index 0000000..dcbce01
--- /dev/null
+++ b/core/res/res/drawable/ic_doc_folder.xml
@@ -0,0 +1,24 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF737373"
+        android:pathData="M10 4H4c-1.1 0,-1.99.9,-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2,-.9 2,-2V8c0,-1.1,-.9,-2,-2,-2h-8l-2,-2z"/>
+</vector>
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_font.xml b/core/res/res/drawable/ic_doc_font.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_font.xml
rename to core/res/res/drawable/ic_doc_font.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_generic.xml b/core/res/res/drawable/ic_doc_generic.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_generic.xml
rename to core/res/res/drawable/ic_doc_generic.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_image.xml b/core/res/res/drawable/ic_doc_image.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_image.xml
rename to core/res/res/drawable/ic_doc_image.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_pdf.xml b/core/res/res/drawable/ic_doc_pdf.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_pdf.xml
rename to core/res/res/drawable/ic_doc_pdf.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_powerpoint.xml b/core/res/res/drawable/ic_doc_powerpoint.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_powerpoint.xml
rename to core/res/res/drawable/ic_doc_powerpoint.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_presentation.xml b/core/res/res/drawable/ic_doc_presentation.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_presentation.xml
rename to core/res/res/drawable/ic_doc_presentation.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_spreadsheet.xml b/core/res/res/drawable/ic_doc_spreadsheet.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_spreadsheet.xml
rename to core/res/res/drawable/ic_doc_spreadsheet.xml
diff --git a/core/res/res/drawable/ic_doc_text.xml b/core/res/res/drawable/ic_doc_text.xml
new file mode 100644
index 0000000..7fc04e8
--- /dev/null
+++ b/core/res/res/drawable/ic_doc_text.xml
@@ -0,0 +1,24 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF737373"
+        android:pathData="M14 2H6c-1.1 0,-1.99.9,-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2,-.9 2,-2V8l-6,-6zm2 16H8v-2h8v2zm0,-4H8v-2h8v2zm-3,-5V3.5L18.5 9H13z"/>
+</vector>
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_video.xml b/core/res/res/drawable/ic_doc_video.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_video.xml
rename to core/res/res/drawable/ic_doc_video.xml
diff --git a/packages/DocumentsUI/res/drawable/ic_doc_word.xml b/core/res/res/drawable/ic_doc_word.xml
similarity index 100%
rename from packages/DocumentsUI/res/drawable/ic_doc_word.xml
rename to core/res/res/drawable/ic_doc_word.xml
diff --git a/core/res/res/layout-watch/preference_material.xml b/core/res/res/layout-watch/preference_material.xml
index 5da64fc..ad217db 100644
--- a/core/res/res/layout-watch/preference_material.xml
+++ b/core/res/res/layout-watch/preference_material.xml
@@ -29,34 +29,42 @@
 
     <LinearLayout
         android:id="@+id/icon_frame"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="-4dp"
-        android:minWidth="32dp"
-        android:gravity="start|center_vertical"
+        android:layout_width="40dp"
+        android:layout_height="40dp"
+        android:gravity="center"
         android:orientation="horizontal"
-        android:paddingEnd="8dp"
-        android:paddingTop="4dp"
-        android:paddingBottom="4dp">
+        android:layout_marginEnd="8dp"
+        android:layout_marginTop="8dp"
+        android:layout_marginBottom="8dp">
         <com.android.internal.widget.PreferenceImageView
             android:id="@+id/icon"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:maxWidth="24dp"
-            android:maxHeight="24dp" />
+            android:maxWidth="40dp"
+            android:maxHeight="40dp" />
     </LinearLayout>
 
+    <!-- Preference should place its actual preference widget here. -->
+    <LinearLayout android:id="@+id/widget_frame"
+        android:layout_width="40dp"
+        android:layout_height="40dp"
+        android:gravity="center"
+        android:orientation="horizontal"
+        android:layout_marginEnd="8dp"
+        android:layout_marginTop="8dp"
+        android:layout_marginBottom="8dp" />
+
     <RelativeLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_weight="1"
-        android:paddingTop="16dp"
-        android:paddingBottom="16dp">
+        android:layout_marginTop="8dp"
+        android:layout_marginBottom="8dp">
 
         <TextView android:id="@+id/title"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:maxLines="2"
+            android:maxLines="3"
             android:textAppearance="?attr/textAppearanceListItem"
             android:ellipsize="end" />
 
@@ -70,13 +78,4 @@
             android:maxLines="10" />
 
     </RelativeLayout>
-
-    <!-- Preference should place its actual preference widget here. -->
-    <LinearLayout android:id="@+id/widget_frame"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:gravity="end|center_vertical"
-        android:paddingStart="4dp"
-        android:orientation="vertical" />
-
 </LinearLayout>
diff --git a/core/res/res/layout/date_picker_header_material.xml b/core/res/res/layout/date_picker_header_material.xml
index a0e2b1d..755317e 100644
--- a/core/res/res/layout/date_picker_header_material.xml
+++ b/core/res/res/layout/date_picker_header_material.xml
@@ -54,7 +54,7 @@
             android:textAppearance="@style/TextAppearance.Material.DatePicker.DateLabel"
             android:includeFontPadding="false"
             android:gravity="start"
-            android:maxLines="2"
+            android:maxLines="@integer/date_picker_header_max_lines_material"
             android:ellipsize="none" />
     </LinearLayout>
 </LinearLayout>
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 8adf4f3..6eabd52 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Begin tans demonstrasie …"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Stel toestel tans terug …"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Stel toestel terug?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Jy sal enige veranderinge verloor en die demonstrasie sal oor <xliff:g id="TIMEOUT">%1$s</xliff:g> sekondes weer begin …"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Kanselleer"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Stel nou terug"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Doen \'n fabriekterugstelling om hierdie toestel sonder beperkinge te gebruik"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Raak om meer te wete te kom."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Het <xliff:g id="LABEL">%1$s</xliff:g> gedeaktiveer"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferensie-oproep"</string>
 </resources>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index b2a0c65..e3cae6a 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ማሳያን በማስጀመር ላይ…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"መሣሪያን ዳግም በማስጀመር ላይ…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"መሣሪያ ዳግም ይጀመር?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"ማንኛቸውም ለውጦች ይጠፋሉ፣ እና ማሳያው በ<xliff:g id="TIMEOUT">%1$s</xliff:g> ሰከንዶች ውስጥ እንደገና ይጀምራል…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ይቅር"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"አሁን ዳግም አስጀምር"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ይህን መሣሪያ ያለምንም ገደብ ለመጠቀም የፋብሪካ ዳግም ያስጀምሩ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"የበለጠ ለመረዳት ይንኩ።"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> ተሰናክሏል"</string>
+    <string name="conference_call" msgid="3751093130790472426">"የስብሰባ ጥሪ"</string>
 </resources>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index b75a287..1778e0c 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1800,11 +1800,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"جارٍ بدء العرض التوضيحي…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"جارٍ إعادة تعيين الجهاز…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"هل تريد إعادة تعيين الجهاز؟"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"ستفقد أي تغييرات وسيبدأ العرض التوضيحي مرة أخرى خلال <xliff:g id="TIMEOUT">%1$s</xliff:g> من الثواني…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"إلغاء"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"إعادة التعيين الآن"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"يمكنك إعادة تعيين بيانات المصنع لاستخدام هذا الجهاز بدون قيود"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"المس للتعرف على مزيد من المعلومات."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"تم تعطيل <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"مكالمة جماعية"</string>
 </resources>
diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml
index dce56ae..a1e851b 100644
--- a/core/res/res/values-az-rAZ/strings.xml
+++ b/core/res/res/values-az-rAZ/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Demo başlayır…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Cihaz sıfırlanır…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Cihaz sıfırlansın?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Hər hansı dəyişikliyi itirəcəksiniz və demo <xliff:g id="TIMEOUT">%1$s</xliff:g> saniyəyə yenidən başlayacaq…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Ləğv edin"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"İndi sıfırlayın"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Bu cihazı məhdudiyyətsiz istifadə etmək üçün zavod sıfırlaması edin"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Daha çox məlumat üçün toxunun."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> deaktiv edildi"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konfrans Zəngi"</string>
 </resources>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index a409ea1..17dfef1 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Демонстрацията се стартира…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Устройството се нулира…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Да се нулира ли устройството?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Ще загубите всички промени и демонстрацията ще започне отново след <xliff:g id="TIMEOUT">%1$s</xliff:g> секунди…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Отказ"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Нулиране сега"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Възстановете фабричните настройки на това устройство, за да го използвате без ограничения"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Докоснете, за да научите повече."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g>: Деактивирано"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Конферентно обаждане"</string>
 </resources>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index a4931b6..8435f96 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ডেমো শুরু করা হচ্ছে…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"ডিভাইস পুনরায় সেট করা হচ্ছে…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ডিভাইস পুনরায় সেট করবেন?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"আপনার করা যে কোনো পরিবর্তন মুছে যাবে এবং <xliff:g id="TIMEOUT">%1$s</xliff:g> সেকেন্ডের মধ্যে ডেমো আবার শুরু হবে…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"বাতিল করুন"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"এখনই পুনরায় সেট করুন"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"কোনো বিধিনিষেধ ছাড়াই এই ডিভাইসটিকে ব্যবহার করতে ফ্যাক্টরি রিসেট করুন"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"আরো জানতে স্পর্শ করুন৷"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"অক্ষম করা <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"কনফারেন্স কল"</string>
 </resources>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index b023f5d..59f7d95 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"S\'està iniciant la demostració…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"S\'està restablint el dispositiu…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Vols restablir el dispositiu?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Perdràs els canvis, i la demostració tornarà a començar d\'aquí a <xliff:g id="TIMEOUT">%1$s</xliff:g> segons…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancel·la"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Restableix ara"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Restableix les dades de fàbrica del dispositiu per utilitzar-lo sense restriccions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toca per obtenir més informació."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> s\'ha desactivat"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conferència"</string>
 </resources>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 17d2bee..1eb497f 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1728,11 +1728,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Spouštění ukázky…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Resetování zařízení…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Resetovat zařízení?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Ztratíte všechny provedené změny a ukázka se za <xliff:g id="TIMEOUT">%1$s</xliff:g> s spustí znovu…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Zrušit"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetovat"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Chcete-li toto zařízení používat bez omezení, obnovte jej do továrního nastavení"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Klepnutím zobrazíte další informace."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> – zakázáno"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferenční hovor"</string>
 </resources>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index e370aaa..f5b7788 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Starter demoen…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Nulstiller enheden…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Vil du nulstille enheden?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Du mister alle ændringer, og demoen starter igen om <xliff:g id="TIMEOUT">%1$s</xliff:g> sekunder…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annuller"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Nulstil nu"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Gendan fabriksdataene på enheden for at bruge den uden begrænsninger"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Tryk for at få flere oplysninger."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> – deaktiveret"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Telefonmøde"</string>
 </resources>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index f3f5ccd..1345f76 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Demo wird gestartet…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Gerät wird zurückgesetzt…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Gerät zurücksetzen?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Alle Änderungen gehen verloren und Demo wird in <xliff:g id="TIMEOUT">%1$s</xliff:g> Sekunden neu gestartet…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Abbrechen"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Jetzt zurücksetzen"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Gerät auf Werkseinstellungen zurücksetzen, um es ohne Einschränkungen zu nutzen"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Für weitere Informationen tippen."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> deaktiviert"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Telefonkonferenz"</string>
 </resources>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index f7545c0..8434fff 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Έναρξη επίδειξης…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Επαναφορά συσκευής…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Να γίνει επαναφορά της συσκευής;"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Τυχόν αλλαγές που πραγματοποιήσατε θα χαθούν και η επίδειξη θα ξεκινήσει ξανά σε <xliff:g id="TIMEOUT">%1$s</xliff:g> δευτερόλεπτα…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Ακύρωση"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Επαναφορά τώρα"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Επαναφέρετε τις εργοστασιακές ρυθμίσεις για να χρησιμοποιήσετε αυτήν τη συσκευή χωρίς περιορισμούς"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Αγγίξτε για να μάθετε περισσότερα."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Απενεργοποιημένο <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Κλήση συνδιάσκεψης"</string>
 </resources>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index c6aad10..6c693bc 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Starting demo…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Resetting device…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Reset device?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"You\'ll lose any changes and the demo will start again in <xliff:g id="TIMEOUT">%1$s</xliff:g> seconds…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancel"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reset now"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Factory reset to use this device without restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Touch to find out more."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Disabled <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conference Call"</string>
 </resources>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index c6aad10..6c693bc 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Starting demo…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Resetting device…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Reset device?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"You\'ll lose any changes and the demo will start again in <xliff:g id="TIMEOUT">%1$s</xliff:g> seconds…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancel"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reset now"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Factory reset to use this device without restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Touch to find out more."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Disabled <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conference Call"</string>
 </resources>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index c6aad10..6c693bc 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Starting demo…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Resetting device…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Reset device?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"You\'ll lose any changes and the demo will start again in <xliff:g id="TIMEOUT">%1$s</xliff:g> seconds…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancel"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reset now"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Factory reset to use this device without restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Touch to find out more."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Disabled <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conference Call"</string>
 </resources>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index e6c7daf..fcfc752 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demostración…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Restableciendo dispositivo…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"¿Deseas restablecer el dispositivo?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Se perderán los cambios y la demostración volverá a iniciarse en <xliff:g id="TIMEOUT">%1$s</xliff:g> segundos…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Restablecer ahora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Restablece la configuración de fábrica para usar este dispositivo sin restricciones"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toca para obtener más información."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Se inhabilitó <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conferencia"</string>
 </resources>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 0f9f50d..21b4af3 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demostración…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Restableciendo dispositivo…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"¿Restablecer el dispositivo?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Se perderán todos los cambios y la demostración volverá a empezar en <xliff:g id="TIMEOUT">%1$s</xliff:g> segundos…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Restablecer ahora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Restablece los datos de fábrica para usar este dispositivo sin restricciones"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toca para obtener más información."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> inhabilitado"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conferencia"</string>
 </resources>
diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml
index 2f3cd0a..e96c93f 100644
--- a/core/res/res/values-et-rEE/strings.xml
+++ b/core/res/res/values-et-rEE/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Demo käivitamine …"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Seadme lähtestamine …"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Kas soovite seadme lähtestada?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Kõik muudatused lähevad kaotsi ja demo käivitub uuesti <xliff:g id="TIMEOUT">%1$s</xliff:g> sekundi möödudes …"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Tühista"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Lähtesta kohe"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Seadme piiranguteta kasutamiseks lähtestage see tehaseandmetele"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Lisateabe saamiseks puudutage."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Keelatud <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konverentskõne"</string>
 </resources>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index 0c08d08..49ee82f 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Demoa abiarazten…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Gailua berrezartzen…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Gailua berrezarri nahi duzu?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Aldaketak galduko dituzu eta <xliff:g id="TIMEOUT">%1$s</xliff:g> segundo barru hasiko da berriro demoa…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Utzi"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Berrezarri"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Berrezarri jatorrizko ezarpenak gailua murriztapenik gabe erabili ahal izateko"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Sakatu informazio gehiago lortzeko."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> desgaituta dago"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferentzia-deia"</string>
 </resources>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index c858d76..71bdc2e 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -1356,7 +1356,7 @@
     <string name="default_audio_route_name" product="tv" msgid="9158088547603019321">"تلویزیون"</string>
     <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"تلفن"</string>
     <string name="default_audio_route_name_headphones" msgid="8119971843803439110">"هدفون‌ها"</string>
-    <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"بلندگوهای جایگاه اتصال"</string>
+    <string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"بلندگوهای جایگاه"</string>
     <string name="default_media_route_name_hdmi" msgid="2450970399023478055">"HDMI"</string>
     <string name="default_audio_route_category_name" msgid="3722811174003886946">"سیستم"</string>
     <string name="bluetooth_a2dp_audio_route_name" msgid="8575624030406771015">"بلوتوث‌های صوتی"</string>
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"در حال شروع نسخه نمایشی…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"در حال بازنشانی دستگاه…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"دستگاه بازنشانی شود؟"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"همه تغییرات را از دست خواهید داد و نسخه نمایشی دوباره تا <xliff:g id="TIMEOUT">%1$s</xliff:g> ثانیه دیگر شروع می‌شود…‏"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"لغو"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"بازنشانی در این لحظه"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"برای استفاده بدون محدودیت از این دستگاه، بازنشانی کارخانه‌ای انجام دهید"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"برای یادگیری بیشتر لمس کنید."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> غیرفعال شد"</string>
+    <string name="conference_call" msgid="3751093130790472426">"تماس کنفرانسی"</string>
 </resources>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index e3e610a..62c148e 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Aloitetaan esittelyä…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Palautetaan asetuksia…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Palautetaanko laitteen tehdasasetukset?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Muutokset poistetaan ja esittely aloitetaan uudelleen <xliff:g id="TIMEOUT">%1$s</xliff:g> sekunnin kuluttua…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Peruuta"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Palauta nyt"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Palauta tehdasasetukset, jotta voit käyttää tätä laitetta rajoituksitta"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Lue lisätietoja koskettamalla."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> ei ole käytössä."</string>
+    <string name="conference_call" msgid="3751093130790472426">"Puhelinneuvottelu"</string>
 </resources>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 0462ad9..2df3680 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Démarrage de la démonstration en cours…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Réinitialisation de l\'appareil en cours…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Réinitialiser l\'appareil?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Vous perdrez vos modifications, et la démo recommencera dans <xliff:g id="TIMEOUT">%1$s</xliff:g> secondes…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annuler"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Réinitialiser maintenant"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rétablissez la configuration d\'usine de cet appareil pour l\'utiliser sans restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Touchez ici pour en savoir plus."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Désactivé : <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conférence téléphonique"</string>
 </resources>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 8bd2f59c..90def0d 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Lancement de la démo…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Réinitialisation…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Réinitialiser l\'appareil ?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Vous perdrez vos modifications, et la démo recommencera dans <xliff:g id="TIMEOUT">%1$s</xliff:g> secondes…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annuler"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Réinitialiser maintenant"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rétablir la configuration d\'usine pour utiliser cet appareil sans restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Appuyez ici pour en savoir plus."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Élément \"<xliff:g id="LABEL">%1$s</xliff:g>\" désactivé"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conférence téléphonique"</string>
 </resources>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index 2aa7ca72..85be7f3 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demostración…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Restablecendo dispositivo…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Queres restablecer o dispositivo?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Perderás os cambios que fixeses e a demostración volverá comezar en <xliff:g id="TIMEOUT">%1$s</xliff:g> segundos…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Restablecer agora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Restablecemento dos valores de fábrica para usar este dispositivo sen restricións"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toca para acceder a máis información"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Desactivouse <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conferencia telefónica"</string>
 </resources>
diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml
index 5682010..e611f30 100644
--- a/core/res/res/values-gu-rIN/strings.xml
+++ b/core/res/res/values-gu-rIN/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ડેમો પ્રારંભ કરી રહ્યાં છે…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"ઉપકરણ ફરીથી સેટ કરી રહ્યાં છે…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ઉપકરણ ફરીથી સેટ કરીએ?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"તમે કોઈપણ ફેરફારો ગુમાવશો અને ડેમો <xliff:g id="TIMEOUT">%1$s</xliff:g> સેકન્ડમાં ફરી શરૂ થશે…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"રદ કરો"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"હમણાં ફરીથી સેટ કરો"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"આ ઉપકરણનો પ્રતિબંધો વિના ઉપયોગ કરવા માટે ફેક્ટરી રીસેટ કરો"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"વધુ જાણવા માટે ટચ કરો."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> અક્ષમ કર્યું"</string>
+    <string name="conference_call" msgid="3751093130790472426">"કોન્ફરન્સ કૉલ"</string>
 </resources>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 1212454..76bc028 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"डेमो प्रारंभ हो रहा है…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"डिवाइस पुन: रीसेट कर रहा है…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"डिवाइस रीसेट करें?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"आपके सभी बदलाव खो जाएंगे और डेमो <xliff:g id="TIMEOUT">%1$s</xliff:g> सेकंड में फिर से शुरू हो जाएगा…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"अभी नहीं"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"अभी रीसेट करें"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"इस डिवाइस को प्रतिबंधों के बिना उपयोग करने के लिए फ़ैक्टरी रीसेट करें"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"अधिक जानने के लिए स्पर्श करें."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"अक्षम <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"कॉन्फ़्रेंस कॉल"</string>
 </resources>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index d321ff3..461888a 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1692,11 +1692,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Pokretanje demo-načina..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Vraćanje uređaja na zadano…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Želite li vratiti uređaj na zadano?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Sve će se promjene izbrisati, a demonstracija će se ponovo pokrenuti za <xliff:g id="TIMEOUT">%1$s</xliff:g> s…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Odustani"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Vrati na zadano sada"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Uređaj je vraćen na tvorničke postavke da biste ga mogli upotrebljavati bez ograničenja"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Dodirnite da biste saznali više."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> – onemogućeno"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferencijski poziv"</string>
 </resources>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 8240567..920fc39 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Bemutató indítása…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Eszköz visszaállítása…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Visszaállítja eszközét?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"A módosítások elvesznek, és a bemutató újra elindul <xliff:g id="TIMEOUT">%1$s</xliff:g> másodperc múlva…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Mégse"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Visszaállítás most"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Állítsa vissza a gyári beállításokat az eszköz korlátozások nélküli használata érdekében"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Érintse meg a további információkért."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"A(z) <xliff:g id="LABEL">%1$s</xliff:g> letiltva"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferenciahívás"</string>
 </resources>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index 30413dc..2f6efcb 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -1636,7 +1636,7 @@
     <string name="language_picker_section_all" msgid="3097279199511617537">"Բոլոր լեզուները"</string>
     <string name="locale_search_menu" msgid="2560710726687249178">"Որոնում"</string>
     <string name="work_mode_off_title" msgid="8954725060677558855">"Աշխատանքային ռեժիմն ԱՆՋԱՏՎԱԾ Է"</string>
-    <string name="work_mode_off_message" msgid="3286169091278094476">"Թույլատրել աշխատանքային պրոֆիլի (այդ թվում նաև հավելվածների, ֆոնային համաժամացման և առնչվող գործառական հնարավորությունների) աշխատանքը:"</string>
+    <string name="work_mode_off_message" msgid="3286169091278094476">"Միացնել աշխատանքային պրոֆիլը՝ հավելվածները, ֆոնային համաժամեցումը և առնչվող գործառույթները"</string>
     <string name="work_mode_turn_on" msgid="2062544985670564875">"Միացնել"</string>
     <string name="new_sms_notification_title" msgid="8442817549127555977">"Դուք ունեք նոր հաղորդագրություններ"</string>
     <string name="new_sms_notification_content" msgid="7002938807812083463">"Դիտելու համար բացել SMS հավելվածը"</string>
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Ցուցադրական օգտվողը գործարկվում է…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Սարաքը վերակայվում է…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Վերակայե՞լ սարքը:"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Կատարված փոփոխությունները չեն պահվի, իսկ ցուցադրական նյութը կրկին կգործարկվի <xliff:g id="TIMEOUT">%1$s</xliff:g> վայրկյանից…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Չեղարկել"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Վերակայել հիմա"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Սարքն առանց սահմանափակումների օգտագործելու համար կատարեք գործարանային վերակայում"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Հպեք՝ ավելին իմանալու համար:"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Անջատած <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Կոնֆերանս զանգ"</string>
 </resources>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 2de9525..9a6f48e 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Memulai demo..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Menyetel ulang perangkat..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Setel ulang perangkat?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Perubahan yang dibuat akan hilang dan demo akan dimulai lagi dalam <xliff:g id="TIMEOUT">%1$s</xliff:g> detik…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Batal"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Setel ulang sekarang"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Dikembalikan ke setelan pabrik agar perangkat ini dapat digunakan tanpa batasan"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Sentuh untuk mempelajari lebih lanjut."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> dinonaktifkan"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferensi Telepon"</string>
 </resources>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index b03066d6..a40db198 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Byrjar kynningu…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Endurstillir tækið…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Endurstilla tækið?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Þú glatar öllum breytingum og kynningin byrjar aftur eftir <xliff:g id="TIMEOUT">%1$s</xliff:g> sekúndur…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Hætta við"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Endurstilla núna"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Núllstilltu til að nota þetta tæki án takmarkana"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Snertu til að fá frekari upplýsingar."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Slökkt <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Símafundur"</string>
 </resources>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 5f482ad..12e18db 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Avvio della demo…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Ripristino del dispositivo…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Ripristinare il dispositivo?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Perderai tutte le modifiche e la demo verrà riavviata tra <xliff:g id="TIMEOUT">%1$s</xliff:g> secondi…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annulla"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Ripristina ora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Esegui il ripristino dei dati di fabbrica per utilizzare il dispositivo senza limitazioni"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Tocca per ulteriori informazioni."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Widget <xliff:g id="LABEL">%1$s</xliff:g> disattivato"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Audioconferenza"</string>
 </resources>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index b186aba..6efa246 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1728,11 +1728,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"מתחיל בהדגמה…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"מאפס את המכשיר…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"האם לאפס את המכשיר?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"תאבד את כל השינויים וההדגמה תתחיל שוב בעוד <xliff:g id="TIMEOUT">%1$s</xliff:g> שניות…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"בטל"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"אפס עכשיו"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"איפוס להגדרות היצרן כדי לאפשר שימוש במכשיר ללא מגבלות"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"גע לקבלת מידע נוסף."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> הושבת"</string>
+    <string name="conference_call" msgid="3751093130790472426">"שיחת ועידה"</string>
 </resources>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 4261387..ef63264 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"デモを開始しています…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"端末をリセットしています…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"端末をリセットしますか？"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"変更が失われ、<xliff:g id="TIMEOUT">%1$s</xliff:g> 秒後にデモがもう一度開始されます…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"キャンセル"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"今すぐリセット"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"制限なしでこの端末を使用するには初期状態にリセットしてください"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"タップして詳細をご確認ください。"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"停止済みの「<xliff:g id="LABEL">%1$s</xliff:g>」"</string>
+    <string name="conference_call" msgid="3751093130790472426">"グループ通話"</string>
 </resources>
diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml
index b744594..2091e4a 100644
--- a/core/res/res/values-ka-rGE/strings.xml
+++ b/core/res/res/values-ka-rGE/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"მიმდინარეობს დემონსტრაციის დაწყება…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"მიმდინარეობს მოწყობილობის გადაყენება…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"გსურთ მოწყობილობის გადაყენება?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"შეტანილი ცვლილებები დაიკარგება, ხოლო დემონსტრაცია ხელახლა <xliff:g id="TIMEOUT">%1$s</xliff:g> წამში დაიწყება…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"გაუქმება"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ახლავე გადაყენება"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ამ მოწყობილობის შეზღუდვების გარეშე გამოსაყენებლად, დააბრუნეთ ქარხნული პარამეტრები"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"შეეხეთ მეტის გასაგებად."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"გათიშული <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"საკონფერენციო ზარი"</string>
 </resources>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index 52684c6..d8faa1a 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Демо нұсқасы іске қосылуда..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Құрылғы бастапқы күйге қайтарылуда..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Құрылғыны басқапқы күйге қайтару керек пе?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Барлық өзгеріс жоғалады және демо нұсқасы <xliff:g id="TIMEOUT">%1$s</xliff:g> секундтан кейін қайта қосылады…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Бас тарту"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Қазір бастапқы күйге қайтару"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Осы құрылғыны шектеусіз пайдалану үшін зауыттық параметрлерді қалпына келтіріңіз"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Қосымша мәліметтер алу үшін түртіңіз."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> өшірулі"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Конференциялық қоңырау"</string>
 </resources>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index 67ca750..4584d21 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -1658,11 +1658,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"កំពុងចាប់ផ្តើមការបង្ហាញសាកល្បង…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"កំពុងកំណត់ឧបករណ៍ឡើងវិញ…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"កំណត់ឧបករណ៍ឡើងវិញឬ?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"អ្នកនឹងបាត់បង់ការផ្លាស់ប្តូរណាមួយ ហើយការបង្ហាញសាកល្បងនឹងចាប់ផ្តើមម្តងទៀតក្នុងរយៈពេល <xliff:g id="TIMEOUT">%1$s</xliff:g> វិនាទីទៀត…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"បោះបង់"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"កំណត់ឡើងវិញឥឡូវនេះ"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"កំណត់ដូចចេញពីរោងចក្រឡើងវិញដើម្បីប្រើឧបករណ៍នេះដោយគ្មានការរឹតបន្តឹង"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ប៉ះ​ ដើម្បី​​ស្វែងយល់​បន្ថែម។"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> ដែលបានបិទដំណើរការ"</string>
+    <string name="conference_call" msgid="3751093130790472426">"ការហៅជាក្រុម"</string>
 </resources>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index 0c30cda..a6d754d 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ಡೆಮೋ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"ಸಾಧನ ಮರುಹೊಂದಿಸಲಾಗುತ್ತಿದೆ..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸುವುದೇ?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"ನೀವು ಯಾವುದೇ ಬದಲಾವಣೆಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ ಮತ್ತು <xliff:g id="TIMEOUT">%1$s</xliff:g> ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಡೆಮೋ ಮತ್ತೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ..."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ರದ್ದುಮಾಡು"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ಈಗಲೇ ಮರುಹೊಂದಿಸು"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ನಿರ್ಬಂಧಗಳು ಇಲ್ಲದೆಯೇ ಈ ಸಾಧನವನ್ನು ಬಳಸಲು ಫ್ಯಾಕ್ಟರಿ ಮರುಹೊಂದಿಸಿ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ಇನ್ನಷ್ಟು ತಿಳಿಯಲು ಸ್ಪರ್ಶಿಸಿ."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
+    <string name="conference_call" msgid="3751093130790472426">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ"</string>
 </resources>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index 88a0814..6d07713 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"데모 시작 중..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"기기 초기화 중..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"기기를 초기화하시겠습니까?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"변경사항이 사라지며 데모가 <xliff:g id="TIMEOUT">%1$s</xliff:g>초 후에 시작됩니다."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"취소"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"지금 초기화"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"제한 없이 기기를 사용하기 위한 초기화"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"자세한 내용을 보려면 터치하세요."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> 사용 중지됨"</string>
+    <string name="conference_call" msgid="3751093130790472426">"다자간 통화"</string>
 </resources>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index 2f79023..a024db69 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -1656,14 +1656,14 @@
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Түзмөк баштапкы абалга келтирилсинби?"</string>
     <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Түзмөктү баштапкы абалга келтирүү үчүн таптап коюңуз"</string>
-    <string name="demo_starting_message" msgid="5268556852031489931">"Демо башталууда…"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Демо режим башталууда…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Түзмөк баштапкы абалга келтирилүүдө…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Түзмөк баштапкы абалга келтирилсинби?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Бардык өзгөртүүлөр жоголуп, демо режим <xliff:g id="TIMEOUT">%1$s</xliff:g> секунддан кийин кайра башталат…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Жокко чыгаруу"</string>
-    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Азыр баштапкы абалга келтирүү"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Баштапкы абалга келтирүү"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Бул түзмөктү чектөөсүз колдонуу үчүн аны баштапкы абалга келтириңиз"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Көбүрөөк билүү үчүн тийип коюңуз."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> өчүрүлдү"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Конференц чалуу"</string>
 </resources>
diff --git a/core/res/res/values-land/integers.xml b/core/res/res/values-land/integers.xml
index 020fd23..a578989 100644
--- a/core/res/res/values-land/integers.xml
+++ b/core/res/res/values-land/integers.xml
@@ -23,4 +23,6 @@
     <integer name="kg_widget_region_weight">45</integer>
     <integer name="kg_security_flipper_weight">55</integer>
     <integer name="kg_glowpad_rotation_offset">-90</integer>
+
+    <integer name="date_picker_header_max_lines_material">4</integer>
 </resources>
diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml
index 5f877a6..0be6875 100644
--- a/core/res/res/values-lo-rLA/strings.xml
+++ b/core/res/res/values-lo-rLA/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ກຳລັງເລີ່ມເດໂມ…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"ກຳລັງຣີເຊັດອຸປະກອນ…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ຣີເຊັດອຸປະກອນບໍ?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"ທ່ານຈະສູນເສຍການປ່ຽນແປງ ແລະ ເດໂມຈະເລີ່ມອີກຄັ້ງໃນອີກ <xliff:g id="TIMEOUT">%1$s</xliff:g> ວິນາທີ…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ຍົກເລີກ"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ຣີເຊັດດຽວນີ້"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ຣີເຊັດໃຫ້ເປັນຄ່າໂຮງງານເພື່ອໃຊ້ອຸປະກອນນີ້ໂດຍບໍ່ມີຂໍ້ຈຳກັດ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ແຕະເພື່ອສຶກສາເພີ່ມເຕີມ."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"ປິດການນຳໃຊ້ <xliff:g id="LABEL">%1$s</xliff:g> ແລ້ວ"</string>
+    <string name="conference_call" msgid="3751093130790472426">"ການປະຊຸມສາຍ"</string>
 </resources>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 9f2b775..f4da72e 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -1728,11 +1728,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Paleidžiama demonstracinė versija…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Įrenginys nustatomas iš naujo…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Iš naujo nustatyti įrenginį?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Prarasite visus pakeitimus, o demonstracinė versija bus paleista iš naujo po <xliff:g id="TIMEOUT">%1$s</xliff:g> sek…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Atšaukti"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Nustatyti iš naujo dabar"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Atkurkite gamyklinius nustatymus, kad galėtumėte naudoti šį įrenginį be apribojimų"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Palieskite, kad sužinotumėte daugiau."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Išj. valdiklis „<xliff:g id="LABEL">%1$s</xliff:g>“"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferencinis skambutis"</string>
 </resources>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index a92ef3f..dba8beb 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -1692,11 +1692,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Notiek demonstrācijas palaišana..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Notiek ierīces atiestatīšana..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Vai atiestatīt ierīci?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Pēc <xliff:g id="TIMEOUT">%1$s</xliff:g> sekundēm zaudēsiet visas izmaiņas un tiks atkārtoti palaista demonstrācija..."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Atcelt"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Atiestatīt tūlīt"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rūpnīcas datu atiestatīšana ierīces neierobežotai izmantošanai"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Pieskarieties, lai uzzinātu vairāk."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> atspējots"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferences zvans"</string>
 </resources>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index 67da898..a6a7793 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -1658,11 +1658,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Се вклучува демонстрацијата…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Се ресетира уредот…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Да се ресетира уредот?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Ќе ги изгубите измените и демонстрацијата ќе започне повторно по <xliff:g id="TIMEOUT">%1$s</xliff:g> секунди…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Откажи"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Ресетирај сега"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Ресетирајте до фабричките поставки за уредов да го користите без ограничувања"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Допрете за да дознаете повеќе."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Оневозможен <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Конференциски повик"</string>
 </resources>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index aac8669..284db98 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ഡെമോ ആരംഭിക്കുന്നു…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"ഉപകരണം പുനക്രമീകരിക്കുന്നു…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ഉപകരണം പുനക്രമീകരിക്കണോ?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"മാറ്റങ്ങളെല്ലാം നിങ്ങൾക്ക് നഷ്ടപ്പെടും, <xliff:g id="TIMEOUT">%1$s</xliff:g> സെക്കൻഡിൽ ഡെമോ വീണ്ടും തുടങ്ങും…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"റദ്ദാക്കുക"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ഇപ്പോൾ പുനക്രമീകരിക്കുക"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"നിയന്ത്രണങ്ങൾ ഇല്ലാതെ ഈ ഉപകരണം ഉപയോഗിക്കാൻ ഫാക്ടറി റീസെറ്റ് നടത്തുക"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"കൂടുതലറിയുന്നതിന് സ്‌പർശിക്കുക."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> പ്രവർത്തനരഹിതമാക്കി"</string>
+    <string name="conference_call" msgid="3751093130790472426">"കോൺഫറൻസ് കോൾ"</string>
 </resources>
diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml
index 7cd0d21..8160813 100644
--- a/core/res/res/values-mn-rMN/strings.xml
+++ b/core/res/res/values-mn-rMN/strings.xml
@@ -1654,11 +1654,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Жишээг эхлүүлж байна…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Төхөөрөмжийг шинэчилж байна…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Төхөөрөмжийг шинэчлэх үү?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Таны хийсэн өөрчлөлтийг хадгалахгүй бөгөөд жишээ <xliff:g id="TIMEOUT">%1$s</xliff:g> секундын дотор дахин эхлэх болно..."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Цуцлах"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Одоо шинэчлэх"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Энэ төхөөрөмжийг хязгаарлалтгүй ашиглахын тулд үйлдвэрийн тохиргоонд дахин тохируулна уу"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Дэлгэрэнгүй үзэх бол дарна уу."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g>-г цуцалсан"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Хурлын дуудлага"</string>
 </resources>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index c4542aa..7d0fa6d 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"डेमो प्रारंभ करत आहे..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"डिव्हाइस रीसेट करत आहे..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"डिव्हाइस रीसेट करायचे?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"आपण कोणतेही बदल गमवाल आणि डेमो पुन्हा <xliff:g id="TIMEOUT">%1$s</xliff:g> सेकंदांमध्ये प्रारंभ होईल..."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"रद्द करा"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"आता रीसेट करा"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"हे डिव्हाइस निर्बंधांशिवाय वापरण्यासाठी फॅक्टरी रीसेट करा"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"अधिक जाणून घेण्यासाठी स्पर्श करा."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> अक्षम केले"</string>
+    <string name="conference_call" msgid="3751093130790472426">"परिषद कॉल"</string>
 </resources>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index 53f115f..b66ea933 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Memulakan tunjuk cara…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Menetapkan semula peranti…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Tetapkan semula peranti?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Anda akan kehilangan sebarang perubahan yang dibuat dan tunjuk cara akan dimulakan sekali lagi dalam masa <xliff:g id="TIMEOUT">%1$s</xliff:g> saat…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Batal"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Tetapkan semula sekarang"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Lakukan tetapan semula kilang untuk menggunakan peranti ini tanpa sekatan"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Ketik untuk mengetahui lebih lanjut."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> dilumpuhkan"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Panggilan Sidang"</string>
 </resources>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index 5797460..664985a 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -176,7 +176,7 @@
     <string name="ssl_ca_cert_noti_by_administrator" msgid="550758088185764312">"သင့်အလုပ်ပရိုဖိုင် စီမံခန့်ခွဲသူမှ"</string>
     <string name="ssl_ca_cert_noti_managed" msgid="4030263497686867141">"<xliff:g id="MANAGING_DOMAIN">%s</xliff:g> ဖြင့်"</string>
     <string name="work_profile_deleted" msgid="5005572078641980632">"အလုပ်ပရိုဖိုင် ဖျက်ပြီးဖြစ်၏"</string>
-    <string name="work_profile_deleted_description" msgid="6305147513054341102">"အက်ဒမင် အက်ပ် ပျောက်နေသောကြောင့် အလုပ်ပရိုဖိုင် ပျက်သွားသည်။"</string>
+    <string name="work_profile_deleted_description" msgid="6305147513054341102">"အက်ဒမင် အက်ပ်ပျောက်နေသောကြောင့် အလုပ်ပရိုဖိုင် ပျက်သွားသည်။"</string>
     <string name="work_profile_deleted_details" msgid="226615743462361248">"အလုပ်ပရိုဖိုင် အက်ဒမင် အပလီကေးရှင်းပျောက်နေသည် သို့မဟုတ် ပျက်စီးနေသည်။ ထို့ကြောင့် သင့်အလုပ်ပရိုဖိုင်နှင့် ဆက်စပ်နေသော ဒေတာများအား ပယ်ဖျက်ခြင်းခံရမည်။ အကူအညီတောင်းခံရန် သင့်အက်ဒမင်အား ဆက်သွယ်ပါ။"</string>
     <string name="work_profile_deleted_description_dpm_wipe" msgid="6019770344820507579">"ဤစက်ကိရိယာတွင် သင့်အလုပ်ပရိုဖိုင် မရှိတော့ပါ။"</string>
     <string name="factory_reset_warning" msgid="5423253125642394387">"သင့်ကိရိယာအား ပယ်ဖျက်လိမ့်မည်"</string>
@@ -296,14 +296,14 @@
     <string name="permdesc_sendSms" msgid="7094729298204937667">"အပလီကေးရှင်းအား စာတိုပို့ခွင့် ပြုပါ။ မမျှော်လင့်သော ကုန်ကျမှု ဖြစ်နိုင်ပါသည်။ အန္တရာယ်ရှိ အပလီကေးရှင်းများမှ သင် မသိပဲ စာပို့ခြင်းများ ပြုလုပ်ခြင်းကြောင့် ပိုက်ဆံ အပို ကုန်စေနိုင်သည်"</string>
     <string name="permlab_readSms" msgid="8745086572213270480">"သင့်ရဲ့ စာပေးပို့ခြင်းများ ဖတ်ခြင်း (စာတို နှင့် ရုပ်သံစာ)"</string>
     <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"အပလီကေးရှင်းအား တက်ဘလက် သို့မဟုတ် ဆင်းမ်ကဒ်မှာ သိမ်းဆည်းထားသော စာတိုများ ဖတ်ရှုခွင့်ပြုပါ။ အပလီကေးရှင်းအနေဖြင့် အကြာင်းအရာ သို့မဟုတ် ယုံကြည်စိတ်ချရမှုကို ဂရုမပြုပဲ စာတိုအားလုံးကို ဖတ်နိုင်ပါလိမ်မည်။"</string>
-    <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"သင့်တီဗွီ သို့မဟုတ် ဆင်းမ်ကဒ်တွင် သိမ်းထားသည့် SMS စာများကို အက်ပ် အား ဖတ်ခွင့်ပြုပါ။ ထိုသို့ခွင့်ပြုခြင်းဖြင့် အက်ပ် သည် အကြောင်းအရာ သို့မဟုတ် ယုံကြည်စိတ်ချရမှု တို့နှင့် မသက်ဆိုင်ဘဲ၊ SMS စာများအားလုံးကို ဖတ်နိုင်မည်ဖြစ်၏။"</string>
+    <string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"သင့်တီဗွီ သို့မဟုတ် ဆင်းမ်ကဒ်တွင် သိမ်းထားသည့် SMS စာများကို အက်ပ်အား ဖတ်ခွင့်ပြုပါ။ ထိုသို့ခွင့်ပြုခြင်းဖြင့် အက်ပ်သည် အကြောင်းအရာ သို့မဟုတ် ယုံကြည်စိတ်ချရမှု တို့နှင့် မသက်ဆိုင်ဘဲ၊ SMS စာများအားလုံးကို ဖတ်နိုင်မည်ဖြစ်၏။"</string>
     <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"အပလီကေးရှင်းအား ဖုန်း သို့မဟုတ် ဆင်းမ်ကဒ်မှာ သိမ်းဆည်းထားသော စာတိုများ ဖတ်ရှုခွင့်ပြုပါ။ အပလီကေးရှင်းအနေဖြင့် အကြာင်းအရာ သို့မဟုတ် ယုံကြည်စိတ်ချရမှုကို ဂရုမပြုပဲ စာတိုအားလုံးကို ဖတ်နိုင်ပါလိမ်မည်။"</string>
     <string name="permlab_receiveWapPush" msgid="5991398711936590410">"စာပို့ခြင်းအား လက်ခံရယူခြင်း (WAP)"</string>
     <string name="permdesc_receiveWapPush" msgid="748232190220583385">"အပလီကေးရှင်းအား WAP စာများ လက်ခံခြင်း၊ ဆောင်ရွက်ခြင်း ခွင့်ပြုပါ။ ဤခွင့်ပြုချက်တွင် အပလီကေးရှင်းအနေဖြင့် သင် လက်ခံရရှိသော စာများအား သင့်အား မပြပဲစောင့်ကြည့်ခွင့်နှင့် ဖျက်ပစ်ခွင့်များ ပါဝင်ပါသည်။"</string>
     <string name="permlab_getTasks" msgid="6466095396623933906">"အလုပ်လုပ်နေကြသည့် အက်ပ်များကို ရယူခြင်း"</string>
     <string name="permdesc_getTasks" msgid="7454215995847658102">"အပလီကေးရှင်းအား လက်ရှိနဲ့ လတ်တလော လုပ်ဆောင်ခဲ့သော သတင်းအချက်အလက် အသေးစိတ်အား ထုတ်ယူခွင့်ပြုရန်။ အပလီကေးရှင်းမှ သင် ဘယ် အပလီကေးရှင်းများသုံးရှိကြောင့် တွေ့ရှိနိုင်ပါသည်"</string>
     <string name="permlab_manageProfileAndDeviceOwners" msgid="7918181259098220004">"ကိုယ်ရေးအချက်အလက်နှင့် စက်ပစ္စည်း ပိုင်ရှင်များကို စီမံပါ"</string>
-    <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ကိုယ်ရေးအချက်လက်ပိုင်ရှင်များနှင့်စက်ပစ္စည်းပိုင်ရှင်အား သတ်မှတ်ရန် App အားခွင့်ပြုပါ။"</string>
+    <string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"ကိုယ်ရေးအချက်လက်ပိုင်ရှင်များနှင့်စက်ပစ္စည်းပိုင်ရှင်အား သတ်မှတ်ရန် အက်ပ်အားခွင့်ပြုပါ။"</string>
     <string name="permlab_reorderTasks" msgid="2018575526934422779">"အလုပ်လုပ်နေကြသည့် အက်ပ်များကို ပြန်လည်စီစဉ်ခြင်း"</string>
     <string name="permdesc_reorderTasks" msgid="7734217754877439351">"အပလီကေးရှင်းအား နောက်ကွယ် နှင့် ရှေ့မှောက်တွင် လက်ရှိ လုပ်ဆောင်နေမှုများအား ဖယ်ခွင့် ပြုပါ။ သင့် ခွင့်ပြုချက်မပါပဲ လုပ်ဆောင်နိုင်ပါလိမ့်မည်"</string>
     <string name="permlab_enableCarMode" msgid="5684504058192921098">"ကားမောင်းနေစဥ်စနစ်အား ရရှိစေခြင်း"</string>
@@ -314,23 +314,23 @@
     <string name="permdesc_systemAlertWindow" msgid="8584678381972820118">"အပလီကေးရှင်းအား အခြားအပလီကေးရှင်းများ သို့ တခြား အသုံးပြုသူ မြင်ရသော နေရာများပေါ်တွင် ထပ်၍ ရေးဆွဲခွင့် ပေးသည်။ ဒီခွင့်ပြုမှုဟာ သင် အပလီကေးရှင်းများနဲ့ အသုံးပြုရန် စီစဉ်ထားမှု သို့ သင် မြင်ရသောမြင်ကွင်းအား ပြောင်းလဲမှု ဖြစ်စေနိုင်သည်"</string>
     <string name="permlab_persistentActivity" msgid="8841113627955563938">"အက်ပ်ကို အမြဲတမ်း အလုပ်လုပ်စေခြင်း"</string>
     <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"အပလီကေးရှင်းအား မှတ်ဉာဏ်ထဲတွင် ရေရှည်သိမ်းဆည်ထားရန် ခွင့်ပြုပါ။ ဒီခွင့်ပြုချက်ကြောင့် တခြားအပလီကေးရှင်းအများအတွက် မှတ်ဉာဏ်ရရှိမှု နည်းသွားနိုင်ပြီး တက်ဘလက်လည်း နှေးသွားနိုင်ပါသည်။"</string>
-    <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"မှတ်ဉာဏ်တွင် ၎င်း၏အစိတ်အပိုင်းများကိုယ်တိုင် တည်မြဲနေစေရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် တီဗွီကို နှေးစေသော အခြား အက်ပ် များ၏ မှတ်ဉာဏ်ကို ကန့်သတ်ထားနိုင်သည်။"</string>
+    <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"မှတ်ဉာဏ်တွင် ၎င်း၏အစိတ်အပိုင်းများကိုယ်တိုင် တည်မြဲနေစေရန် အက်ပ်အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် တီဗွီကို နှေးစေသော အခြား အက်ပ်များ၏ မှတ်ဉာဏ်ကို ကန့်သတ်ထားနိုင်သည်။"</string>
     <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"အပလီကေးရှင်းအား မှတ်ဉာဏ်ထဲတွင် ရေရှည်သိမ်းဆည်ထားရန် ခွင့်ပြုပါ။ ဒီခွင့်ပြုချက်ကြောင့် တခြားအပလီကေးရှင်းအများအတွက် မှတ်ဉာဏ်ရရှိမှု နည်းသွားနိုင်ပြီး ဖုန်းလည်း နှေးသွားနိုင်ပါသည်။"</string>
-    <string name="permlab_getPackageSize" msgid="7472921768357981986">"အက်ပ် သိုလ​ှောင်မှု နေရာကို တိုင်းထွာခြင်း"</string>
+    <string name="permlab_getPackageSize" msgid="7472921768357981986">"အက်ပ်သိုလ​ှောင်မှု နေရာကို တိုင်းထွာခြင်း"</string>
     <string name="permdesc_getPackageSize" msgid="3921068154420738296">"အက်ပ်အား ၎င်း၏ ကုဒ်၊ ဒေတာ၊ နှင့် ကက်ရှ ဆိုက်များကို ရယူခွင့် ပြုသည်။"</string>
     <string name="permlab_writeSettings" msgid="2226195290955224730">"စနစ်အပြင်အဆင်အား မွမ်းမံခြင်း"</string>
     <string name="permdesc_writeSettings" msgid="7775723441558907181">"အက်ပ်အား စနစ်၏ ဆက်တင် ဒေတာကို မွမ်းမံခွင့် ပြုသည်။ သာမန် အက်ပ်များက သင့် စနစ်၏ စီစဉ်ဖွဲ့စည်းမှုကို ဖျက်ဆီးပစ်နိုင်သည်။"</string>
     <string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"အစတွင် လုပ်ဆောင်ရန်"</string>
     <string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"အက်ပ်အား စနစ်၏ စတင်မှု ပြီးဆုံးသည့်နှင့် မိမိကိုမိမိ စတင်ခွင့် ပြုသည်။ သို့ဖြစ်၍ ဖုန်း စတင်မှုမှာ အချိန် ပိုကြာနိုင်ပြီး အက်ပ်က တချိန်လုံး အလုပ်လုပ်နေခြင်းကြောင့် တက်ဘလက်၏ အလုပ် တစ်ခုလုံးကို နှေးကွေးလာစေနိုင်သည်။"</string>
-    <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"စနစ် စတင်ပြီးသည်နှင့် တစ်ပြိုင်နက် အလိုလို အစပြုရန် အက်ပ် အားခွင့်ပြုပါ။ ထိုသို့ခွင့်ပြုခြင်းဖြင့် တီဗွီအား စရန် အချိန်ကြာစေပြီး အစဉ်အမြဲဖွင့်ထားခြင်းဖြင့် တက်ဘလက်အား နှေးသွားစေရန် အက်ပ် အား ခွင့်ပြုပါ။"</string>
+    <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"စနစ် စတင်ပြီးသည်နှင့် တစ်ပြိုင်နက် အလိုလို အစပြုရန် အက်ပ်အားခွင့်ပြုပါ။ ထိုသို့ခွင့်ပြုခြင်းဖြင့် တီဗွီအား စရန် အချိန်ကြာစေပြီး အစဉ်အမြဲဖွင့်ထားခြင်းဖြင့် တက်ဘလက်အား နှေးသွားစေရန် အက်ပ်အား ခွင့်ပြုပါ။"</string>
     <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"အက်ပ်အား စနစ်၏ စတင်မှု ပြီးဆုံးသည့်နှင့် မိမိကိုမိမိ စတင်ခွင့် ပြုသည်။ သို့ဖြစ်၍ ဖုန်း စတင်မှုမှာ အချိန် ပိုကြာနိုင်ပြီး အက်ပ်က တချိန်လုံး အလုပ်လုပ်နေခြင်းကြောင့် ဖုန်း၏ အလုပ် တစ်ခုလုံးကို နှေးကွေးလာစေနိုင်သည်။"</string>
     <string name="permlab_broadcastSticky" msgid="7919126372606881614">"ကြာရှည်ခံ ထုတ်လွှတ်မှု အားပေးပို့ခြင်း"</string>
     <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"အပလီကေးရှင်းအား ကြာရှည်ခံ ထုတ်လွှင့်မှု ပြုပါ။ ဒီထုတ်လွှင့်မှုများဟာ ထုတ်လွှင့်မှု ပြီးဆုံးပြီးသွားတည့်တိုင် ကျန်နေမည် ဖြစ်ပါသည်။ အလွန်အကျွံသုံးခြင်းကြောင့် မက်မိုရီ အသုံးများပြီး တက်ဘလက်နှေးခြင်း၊ မတည်ငြိမ်ခြင်း ဖြစ်နိုင်ပါသည်"</string>
-    <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"ထုတ်လွှင့်ခြင်းများ ပြီးဆုံးသည့်နောက် ဆက်လက်ရှိနေသည့်၊ တည်မြဲ ထုတ်လွှင့်မှုများပို့ရန် အက်ပ် အား ခွင့်ပြုပါ။ အလွန်အကျွံ လုပ်ဆောင်ပါက တီဗွီ နှေးသွားခြင်း သို့မဟုတ် မှတ်ဉာဏ်အသုံးများမှုကြောင့် မတည်မငြိမ်ဖြစ်ခြင်းများ ဖြစ်တတ်၏။"</string>
+    <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"ထုတ်လွှင့်ခြင်းများ ပြီးဆုံးသည့်နောက် ဆက်လက်ရှိနေသည့်၊ တည်မြဲ ထုတ်လွှင့်မှုများပို့ရန် အက်ပ်အား ခွင့်ပြုပါ။ အလွန်အကျွံ လုပ်ဆောင်ပါက တီဗွီ နှေးသွားခြင်း သို့မဟုတ် မှတ်ဉာဏ်အသုံးများမှုကြောင့် မတည်မငြိမ်ဖြစ်ခြင်းများ ဖြစ်တတ်၏။"</string>
     <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"အပလီကေးရှင်းအား ကြာရှည်ခံ ထုတ်လွှင့်မှု ပြုပါ။ ဒီထုတ်လွှင့်မှုများဟာ ထုတ်လွှင့်မှု ပြီးဆုံးပြီးသွားတည့်တိုင် ကျန်နေမည် ဖြစ်ပါသည်။ အလွန်အကျွံသုံးခြင်းကြောင့် မှတ်ဉာဏ်အသုံးများပြီး ဖုန်းနှေးခြင်း၊ မတည်ငြိမ်ခြင်း ဖြစ်နိုင်ပါသည်"</string>
     <string name="permlab_readContacts" msgid="8348481131899886131">"အဆက်အသွယ်များအား ဖတ်ခြင်း"</string>
     <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"အပလီကေးရှင်းအား ခေါ်ဆိုသော အကြိမ်ရေ၊ အီးမေးလ်အကြိမ်ရေ၊ တခြားဆက်သွယ်မှုများစသည်ကဲ့သို့ သင့်တက်ဘလက်မှာ သိမ်းဆည်းထားသော အဆက်အသွယ်များရဲ့ အချက်အလက်ကို ဖတ်ခွင့်ပြုပါ။ ဤသို့ခွင့်ပြုခြင်းအားဖြင့် အပလီကေးရှင်းများကို သင့် အဆက်အသွယ်၏ အချက်မလက်များကို သိမ်းဆည်းရန် ခွင့်ပြုပြီး အန္တရာယ်ရှိသော အပလီကေးရှင်းများမှ ထိုအချက်အလက်များ ကို သင် မသိစေပဲ ဖြန့်ဝေနိုင််မည် ဖြစ်ပါသည်။"</string>
-    <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"တစ်ဦးတစ်​ယောက်ထံ သင်ခေါ်ထားသော၊ အီးမေးိပု့ထားသော၊ သို့မဟုတ် တစ်ခြားနည်းဖြင့် အဆက်အသွယ်ပြုထားသော အကြိမ်အရေအတွက် အပါအဝင်၊ သင့်တီဗွီတွင် သိမ်းထားသည့် အဆက်အသွယ်ဆိုင်ရာ အချက်အလက်များ ဖတ်ရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် သင့် အဆက်အသွယ် အချက်အလက်များအား သိမ်းဆည်းရန် အက်ပ် အား ခွင့်ပြုထားခြင်းဖြစ်ပြီး၊  အဆက်အသွယ် အချက်အလက်များအား အန္တရာယ်ရှိသော အက်ပ် များက သင်မသိဘဲ ဝေမျှနိုင်သည်။"</string>
+    <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"တစ်ဦးတစ်​ယောက်ထံ သင်ခေါ်ထားသော၊ အီးမေးိပု့ထားသော၊ သို့မဟုတ် တစ်ခြားနည်းဖြင့် အဆက်အသွယ်ပြုထားသော အကြိမ်အရေအတွက် အပါအဝင်၊ သင့်တီဗွီတွင် သိမ်းထားသည့် အဆက်အသွယ်ဆိုင်ရာ အချက်အလက်များ ဖတ်ရန် အက်ပ်အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် သင့် အဆက်အသွယ် အချက်အလက်များအား သိမ်းဆည်းရန် အက်ပ်အား ခွင့်ပြုထားခြင်းဖြစ်ပြီး၊  အဆက်အသွယ် အချက်အလက်များအား အန္တရာယ်ရှိသော အက်ပ်များက သင်မသိဘဲ ဝေမျှနိုင်သည်။"</string>
     <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"အပလီကေးရှင်းအား ခေါ်ဆိုသော အကြိမ်ရေ၊ အီးမေးလ်အကြိမ်ရေ၊ တခြားဆက်သွယ်မှုများစသည်ကဲ့သို့ သင့်ဖုန်းမှာ သိမ်းဆည်းထားသော အဆက်အသွယ်များရဲ့ အချက်အလက်ကို ဖတ်ခွင့်ပြုပါ။ ဤသို့ခွင့်ပြုခြင်းအားဖြင့် အပလီကေးရှင်းများကို သင့် အဆက်အသွယ်၏ အချက်မလက်များကို သိမ်းဆည်းရန် ခွင့်ပြုပြီး အန္တရာယ်ရှိသော အပလီကေးရှင်းများမှ ထိုအချက်အလက်များ ကို သင် မသိစေပဲ ဖြန့်ဝေနိုင််မည် ဖြစ်ပါသည်။"</string>
     <string name="permlab_writeContacts" msgid="5107492086416793544">"အဆက်အသွယ်များအား ပြင်ဆင်ခြင်း"</string>
     <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"အပလီကေးရှင်းအား သင့်တက်ဘလက်မှာ သိမ်းဆည်းထားသော အဆက်အသွယ်များရဲ့ အချက်အလက် (အထူးအဆက်အသွယ်များအား ခေါ်ဆိုသော အကြိမ်ရေ၊ အီးမေးလ်ပို့သောအကြိမ်ရေ သို့ အခြားနည်းလမ်းဖြင့်ဆက်သွယ်မှုများ) ကို ပြင်ဆင်ခွင့်ပြုခြင်း။ ဒီခွင့်ပြုချက်က အပလီကေးရှင်းများအား အဆက်အသွယ် အချက်အလက်များ ဖျက်စီးခြင်း လုပ်ဆောင်စေနိုင်မှာ ဖြစ်ပါသည်။"</string>
@@ -338,7 +338,7 @@
     <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"အပလီကေးရှင်းအား သင့်ဖုန်းမှာ သိမ်းဆည်းထားသော အဆက်အသွယ်များရဲ့ အချက်အလက် (အထူးအဆက်အသွယ်များအား ခေါ်ဆိုသော အကြိမ်ရေ၊ အီးမေးလ်ပို့သောအကြိမ်ရေ သို့ အခြားနည်းလမ်းဖြင့်ဆက်သွယ်မှုများ) ကို ပြင်ဆင်ခွင့်ပြုခြင်း။ ဒီခွင့်ပြုချက်က အပလီကေးရှင်းများအား အဆက်အသွယ် အချက်အလက်များ ဖျက်စီးခြင်း လုပ်ဆောင်စေနိုင်မှာ ဖြစ်ပါသည်။"</string>
     <string name="permlab_readCallLog" msgid="3478133184624102739">"ခေါ်ဆိုမှု မှတ်တမ်းအား ဖတ်ခြင်း"</string>
     <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"အပလီကေးရှင်းအား တက်ဘလက်၏ အထွက် အဝင် ခေါ်ဆိုမှုများ အပါအဝင် ခေါ်ဆိုမှု မှတ်တမ်းအား ကြည့်ရှုခွင့်ပြုပါ။ အပလီကေးရှင်းအနေဖြင့် ခေါ်ဆိုမှု မှတ်တမ်းအား သိုလှောင်ခြင်း၊ မျှဝေခြင်းများကို သင် မသိရှိပဲ ပြုလုပ်နိုင်မှာ ဖြစ်ပါသည်"</string>
-    <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"အဝင်အထွက် ခေါ်ဆိုထားသော ဒေတာများ အပါအဝင်၊ သင့် တီဗွီ၏ ခေါ်ဆိုမှု မှတ်တမ်းအား ဖတ်ရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် သင့် ခေါ်ဆိုမှုမှတ်တမ်းဒေတာကို သိမ်းဆည်းရန် အက်ပ် အား ခွင့်ပြုပြီး၊ အန္တရာယ်ရှိသော အက်ပ် များက သင်အား အသိမပေးဘဲ ခေါ်ဆိုမှုမှတ်တမ်းဒေတာကို ဝေမျှနိုင်သည်။"</string>
+    <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"အဝင်အထွက် ခေါ်ဆိုထားသော ဒေတာများ အပါအဝင်၊ သင့် တီဗွီ၏ ခေါ်ဆိုမှု မှတ်တမ်းအား ဖတ်ရန် အက်ပ်အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် သင့် ခေါ်ဆိုမှုမှတ်တမ်းဒေတာကို သိမ်းဆည်းရန် အက်ပ်အား ခွင့်ပြုပြီး၊ အန္တရာယ်ရှိသော အက်ပ်များက သင်အား အသိမပေးဘဲ ခေါ်ဆိုမှုမှတ်တမ်းဒေတာကို ဝေမျှနိုင်သည်။"</string>
     <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"အပလီကေးရှင်းအား ဖုန်း၏ အဝင်အထွက် ခေါ်ဆိုမှုများ အပါအဝင် ခေါ်ဆိုမှု မှတ်တမ်းအား ကြည့်ရှုခွင့်ပြုပါ။ အပလီကေးရှင်းအနေဖြင့် ခေါ်ဆိုမှု မှတ်တမ်းအား သိုလှောင်ခြင်း၊ မျှဝေခြင်းများကို သင် မသိရှိပဲ ပြုလုပ်နိုင်မှာ ဖြစ်ပါသည်။"</string>
     <string name="permlab_writeCallLog" msgid="8552045664743499354">"ခေါ်ဆိုမှုမှတ်တမ်း ရေးသားခြင်း"</string>
     <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"အပလီကေးရှင်းအား သင့်တက်ဘလက်၏ ဖုန်းခေါ်ဆိုမှု မှတ်တမ်း (အဝင်အထွက်ခေါ်ဆိုမှု အချက်အလက်များ) ကို ပြင်ဆင်ခွင့် ပေးခြင်း။ အန္တရာယ်ရှိ အပလီကေးရှင်းများမှ ဤအချက်ကို အသုံးပြု၍ သင့် ဖုန်းခေါ်ဆိုမှု မှတ်တမ်းကို ဖျက်ပစ်ခြင်း၊ ပြင်ဆင်ခြင်းများ ပြုလုပ်နိုင်ပါသည်"</string>
@@ -348,18 +348,18 @@
     <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"သင်၏ နှလုံးခုန်နှုန်းလို ရုပ်ပိုင်း အခြေအနေကို စောင့်ကြပ်သည့် အာရုံခံစက်များထံမှ ဒေတာများကို အက်ပ်အား ရယူသုံးခွင့် ပြုပါ။"</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"ပြက္ခဒိန်အဖြစ်အပျက်များနှင့် လှို့ဝှက်အချက်အလက်များအား ဖတ်ခြင်း"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"အပလီကေးရှင်းအား တက်ဘလက်ထဲတွင် သိမ်းထားသော သူငယ်ချင်းနှင့် လုပ်ဖော်ကိုင်ဘက်များ၏ ပြက္ခဒိန် အဖြစ်အပျက်များအပါအဝင် အားလုံးကို ဖတ်ရှုခွင့်ပြုပါ။ ဒီခွင့်ပြုချက်ကြောင့် အပလီကေးရှင်းမှ ပြက္ခဒိန် အဖြစ်အပျက်များအား လျှို့ဝှက်မှု သို့ ဂရုပြုမှု ကို ထည့်သွင်းမစဉ်းစားပဲ သိမ်းဆည်းခြင်း၊ မျှဝေခြင်း ပြုလုပ်စေနိုင်ပါသည်"</string>
-    <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"သူငယ်ချင်းများ သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်များ၏ ဖြစ်ရပ်များ အပါအဝင်၊ သင့် တီဗွီတွင် သိမ်းထားသော ပြက္ခဒိန်ရှိ ဖြစ်ရပ်များအား ဖတ်ရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် ယုံကြည်စိတ်ချရမှု သို့မဟုတ် ထိခိုက်လွယ်မှုတို့နှင့် မသက်ဆိုင်ဘဲ၊ သင့် ပြက္ခဒိန်ရှိ ဒေတာကို ဝေမျှရန် သို့မဟုတ် သိမ်းဆည်းရန် အက်ပ် အား ခွင့်ပြုသည်။"</string>
+    <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"သူငယ်ချင်းများ သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်များ၏ ဖြစ်ရပ်များ အပါအဝင်၊ သင့် တီဗွီတွင် သိမ်းထားသော ပြက္ခဒိန်ရှိ ဖြစ်ရပ်များအား ဖတ်ရန် အက်ပ်အား ခွင့်ပြုပါ။ ဤနည်းဖြင့် ယုံကြည်စိတ်ချရမှု သို့မဟုတ် ထိခိုက်လွယ်မှုတို့နှင့် မသက်ဆိုင်ဘဲ၊ သင့် ပြက္ခဒိန်ရှိ ဒေတာကို ဝေမျှရန် သို့မဟုတ် သိမ်းဆည်းရန် အက်ပ်အား ခွင့်ပြုသည်။"</string>
     <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"အပလီကေးရှင်းအားဖုန်းထဲတွင် သိမ်းထားသော သူငယ်ချင်းနှင့် လုပ်ဖော်ကိုင်ဘက်များ၏ ပြက္ခဒိန် အဖြစ်အပျက်များအပါအဝင် အားလုံးကို ဖတ်ရှုခွင့်ပြုပါ။ ဒီခွင့်ပြုချက်ကြောင့် အပလီကေးရှင်းမှ ပြက္ခဒိန် အဖြစ်အပျက်များအား လျှို့ဝှက်မှု သို့ ဂရုပြုမှု ကို ထည့်သွင်းမစဉ်းစားပဲ သိမ်းဆည်းခြင်း၊ မျှဝေခြင်း ပြုလုပ်စေနိုင်ပါသည်"</string>
     <string name="permlab_writeCalendar" msgid="8438874755193825647">"ပြက္ခဒိန်အဖြစ်အပျက်များကို ထပ်ထည့်ရန် သို့မဟုတ် မွမ်းမံရန်နှင့် ပိုင်ရှင်၏အသိမပေးပဲ ဧည့်သည်များထံ အီးမေးလ်ပို့ရန်"</string>
     <string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"အပလီကေးရှင်းအား သင်၏ တက်ဘလက်တွင် သူငယ်ချင်း အလုပ်ဖော်များ အပါအဝင် သင်၏ ပြောင်းလဲအဖြစ်အပျက်များအား ထည့်ခြင်း၊ ထုတ်ခြင်းအား ခွင့်ပြုရန်။ ဤခွင့်ပြုချက်သည် အပလီကေးရှင်းအား သတင်းများပို့ခြင်းကို ပြက္ခဒိန်ပိုင်ရှင်ဆီမှ လာသလို အနေဖြင့် ပေးပို့ခြင်း သို့မဟုတ် အဖြစ်အပျက်များကို ပိုင်ရှင်မသိပဲ ပြင်ဆင်နိုင်ပါသည်။"</string>
-    <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"သင့် သူငယ်ချင်းများ သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်များ၏ လှုပ်ရှားမှုများ အပါအဝင်၊ သင့်တီဗွီရှိ လှုပ်ရှားမှုများကို ထပ်ထည့်ရန်၊ ဖယ်ထုတ်ရန်၊ ပြောင်းလဲရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤသို့ပြုပါက ပြက္ခဒိန် ပိုင်ရှင်ဆီမှ စာတိုများ လာသကဲ့သို့ စာများပို့ရန်၊ သို့မဟုတ် ပိုင်ရှင်၏ ခွင့်ပြုချက်မရှိဘဲ လှုပ်ရှားမှုများကို ပြင်ဆင်ရန် အက်ပ် အား ခွင့်ပြုထားခြင်း ဖြစ်၏။"</string>
+    <string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"သင့် သူငယ်ချင်းများ သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်များ၏ လှုပ်ရှားမှုများ အပါအဝင်၊ သင့်တီဗွီရှိ လှုပ်ရှားမှုများကို ထပ်ထည့်ရန်၊ ဖယ်ထုတ်ရန်၊ ပြောင်းလဲရန် အက်ပ်အား ခွင့်ပြုပါ။ ဤသို့ပြုပါက ပြက္ခဒိန် ပိုင်ရှင်ဆီမှ စာတိုများ လာသကဲ့သို့ စာများပို့ရန်၊ သို့မဟုတ် ပိုင်ရှင်၏ ခွင့်ပြုချက်မရှိဘဲ လှုပ်ရှားမှုများကို ပြင်ဆင်ရန် အက်ပ်အား ခွင့်ပြုထားခြင်း ဖြစ်၏။"</string>
     <string name="permdesc_writeCalendar" product="default" msgid="2324469496327249376">"အပလီကေးရှင်းအား သင်၏ ဖုန်းတွင် သူငယ်ချင်း အလုပ်ဖော်များ အပါအဝင် သင်၏ ပြောင်းလဲအဖြစ်အပျက်များအား ထည့်ခြင်း၊ ထုတ်ခြင်းအား ခွင့်ပြုရန်။ ဤခွင့်ပြုချက်သည် အပလီကေးရှင်းအား သတင်းများပို့ခြင်းကို ပြက္ခဒိန်ပိုင်ရှင်ဆီမှ လာသလို အနေဖြင့် ပေးပို့ခြင်း သို့မဟုတ် အဖြစ်အပျက်များကို ပိုင်ရှင်မသိပဲ ပြင်ဆင်နိုင်ပါသည်။"</string>
     <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"တည်နေရာပံ့ပိုးမှုညွှန်ကြားချက်အပိုအား ဝင်ရောက်ကြည့်ခြင်း"</string>
     <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"အက်ပ်အား တည်နေရာ စီမံပေးရေး ညွှန်ကြားချက် အပိုများကို ရယူခွင့်ပြုသည်။ သို့ဖြစ်၍ အက်ပ်သည် GPS သို့မဟုတ် အခြား တည်နေရာ ရင်းမြစ်ကို သုံးကြသူတို့၏ လုပ်ငန်းများကို ဝင်စွက်ခွင့် ပြုနိုင်သည်။"</string>
     <string name="permlab_accessFineLocation" msgid="251034415460950944">"တိကျတဲ့ တည်နေရာ (GPS နှင့် ကွန်ရက် အခြေခံ)ကို ရယူသုံးရန်"</string>
     <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"အပလီကေးရှင်းမှ သင့်ရဲ့ တိကျသောနေရာကို ဂျီပီအက်စ် သို့ ဆယ်လူလာတာဝါတိုင်၊ Wi-Fi  အချက်အလက်များ သုံးပြီး ရှာခြင်း ခွင့်ယူပါ။ နေရာပြ ဆားဗစ်များ စက်ပေါ်မှာ ရှိရမှာ ဖြစ်သလို ဖွင့်ထားရမှာလည်း ဖြစ်ပါသည်။ အပလီကေးရှင်းမှ ဒီဆားဗစ်များကို သုံး၍ ရှာဖွေသောကြောင့် ဘက်ထရီ ပိုကုန်နိုင်ပါသည်။"</string>
     <string name="permlab_accessCoarseLocation" msgid="7715277613928539434">"အနီးစပ်ဆုံး တည်နေရာ (ကွန်ရက် အခြေခံ)ကို ရယူသုံးရန်"</string>
-    <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"သင့်ရဲ့ ပျမ်းမျတည်နေရာကို အက်ပ် အား သိခွင့် ပြုရန်။ ဒီ တည်နေရာကို တည်နေရာရှာဖွေရေး ဆားဗစ်မှ မိုဘိုင်း တာဝါတိုင်၊ Wi-Fi  စသည်တို့မှ တဆင့် ရယူပါသည်။  အက်ပ် အနေဖြင့် ဒီ ဆားဗစ်များ ရှိနေရန် လိုအပ်ပါသည်။ ဒီအရာများကို အသုံးပြု၍ သင့်နေရာကို သိနိုင်ပါသည်။"</string>
+    <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"သင့်ရဲ့ ပျမ်းမျတည်နေရာကို အက်ပ်အား သိခွင့် ပြုရန်။ ဒီ တည်နေရာကို တည်နေရာရှာဖွေရေး ဆားဗစ်မှ မိုဘိုင်း တာဝါတိုင်၊ Wi-Fi  စသည်တို့မှ တဆင့် ရယူပါသည်။  အက်ပ်အနေဖြင့် ဒီ ဆားဗစ်များ ရှိနေရန် လိုအပ်ပါသည်။ ဒီအရာများကို အသုံးပြု၍ သင့်နေရာကို သိနိုင်ပါသည်။"</string>
     <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"သင့်အသံအပြင်အဆင်အားပြောင်းခြင်း"</string>
     <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"အပလီကေးရှင်းအား အသံအတိုးအကျယ်နှင့် အထွက်ကို မည်သည့်စပီကာကို သုံးရန်စသည်ဖြင့် စက်တစ်ခုလုံးနှင့်ဆိုင်သော အသံဆိုင်ရာ ဆက်တင်များ ပြင်ဆင်ခွင့် ပြုရန်"</string>
     <string name="permlab_recordAudio" msgid="3876049771427466323">"အသံဖမ်းခြင်း"</string>
@@ -380,11 +380,11 @@
     <string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"တီဗွီအား နားနေခြင်းမှ ကာကွယ်ရန်"</string>
     <string name="permlab_wakeLock" product="default" msgid="573480187941496130">"ဖုန်းအနားယူခြင်းမပြုလုပ်စေရန်"</string>
     <string name="permdesc_wakeLock" product="tablet" msgid="7311319824400447868">"အက်ပ်အား တက်ဘလက်ကို အနားမယူနိုင်အောင် ဟန့်တားခွင့် ပြုသည်။"</string>
-    <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"တီဗွီ ရပ်နားသွားခြင်းအား ကာကွယ်ရန် အက်ပ် အား ခွင့်ပြုပါ။"</string>
+    <string name="permdesc_wakeLock" product="tv" msgid="3208534859208996974">"တီဗွီ ရပ်နားသွားခြင်းအား ကာကွယ်ရန် အက်ပ်အား ခွင့်ပြုပါ။"</string>
     <string name="permdesc_wakeLock" product="default" msgid="8559100677372928754">"အက်ပ်အား ဖုန်းကို အနားမယူနိုင်အောင် ဟန့်တားခွင့် ပြုသည်။"</string>
     <string name="permlab_transmitIr" msgid="7545858504238530105">"အနီအောက်ရောင်ခြည် ထုတ်လွှတ်ခြင်း"</string>
     <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"အပလီကေးရှင်းအား တက်ဘလက်ရဲ့ အနီအောက်ရောင်ခြည် ထုတ်လွှတ်ခြင်းအား သုံးခွင့်ပေးခြင်း"</string>
-    <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"တီဗွီ၏ အင်ဖရာရက် ထုတ်လွှတ်မှုအား အသုံးပြုရန် အက်ပ် အား ခွင့်ပြုပါ။"</string>
+    <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"တီဗွီ၏ အင်ဖရာရက် ထုတ်လွှတ်မှုအား အသုံးပြုရန် အက်ပ်အား ခွင့်ပြုပါ။"</string>
     <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"အပလီကေးရှင်းအား ဖုန်းရဲ့ အနီအောက်ရောင်ခြည် ထုတ်လွှတ်ခြင်းအား သုံးခွင့်ပေးခြင်း"</string>
     <string name="permlab_setWallpaper" msgid="6627192333373465143">"နောက်ခံအား သတ်မှတ်ရန်"</string>
     <string name="permdesc_setWallpaper" msgid="7373447920977624745">"အက်ပ်အား စနစ် နောက်ခံပုံကို သတ်မှတ်ခွင့် ပြုသည်။"</string>
@@ -392,11 +392,11 @@
     <string name="permdesc_setWallpaperHints" msgid="8235784384223730091">"အက်ပ်အား စနစ် နောက်ခံပုံ ဆိုက်ဆိုင်ရာ ညွှန်းချက်များကို သတ်မှတ်ခွင့် ပြုသည်။"</string>
     <string name="permlab_setTimeZone" msgid="2945079801013077340">"အချိန်ဇုန်းအား သတ်မှတ်ခြင်း"</string>
     <string name="permdesc_setTimeZone" product="tablet" msgid="1676983712315827645">"အက်ပ်အား တက်ဘလက်၏ နာရီ ဇုန်ကို ပြောင်းလဲခွင့် ပြုသည်။"</string>
-    <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"တီဗွီ၏ အချိန်အပိုင်းအခြားဇုန်အား ပြင်ဆင်ရန် အက်ပ် အား ခွင့်ပြုပါ။"</string>
+    <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"တီဗွီ၏ အချိန်အပိုင်းအခြားဇုန်အား ပြင်ဆင်ရန် အက်ပ်အား ခွင့်ပြုပါ။"</string>
     <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"အက်ပ်အား ဖုန်း၏ နာရီ ဇုန်ကို ပြောင်းလဲခွင့် ပြုသည်။"</string>
     <string name="permlab_getAccounts" msgid="1086795467760122114">"စက်ပေါ်မှာ အကောင့်များ ရှာဖွေခြင်း"</string>
     <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"အပလီကေးရှင်းအား တက်ဘလက်မှ သိရှိထားသော အကောင့်များအား ရယူခွင့်ပေးပါ။ ဒီထဲတွင် သင် ထည့်သွင်းထားသော အပလီကေးရှင်းများမှတဆင့် ပြုလုပ်ထားသော အကောင့်များပါ ပါဝင်နိုင်ပါသည်။"</string>
-    <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"တီဗွီ သိသော အကောင့်စာရင်းအား ရယူခွင့်ကို အက်ပ် အား ခွင့်ပြုပါ။ သင်ထည့်သွင်းထားသည့် အပလီကေးရှင်းများမှ ဖန်တီးထားသော မည်သည့်အကောင့်မဆို ပါဝင်မည်။"</string>
+    <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"တီဗွီ သိသော အကောင့်စာရင်းအား ရယူခွင့်ကို အက်ပ်အား ခွင့်ပြုပါ။ သင်ထည့်သွင်းထားသည့် အပလီကေးရှင်းများမှ ဖန်တီးထားသော မည်သည့်အကောင့်မဆို ပါဝင်မည်။"</string>
     <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"အပလီကေးရှင်းအား ဖုန်းမှ သိရှိထားသော အကောင့်စာရင်းများအား ရယူခွင့်ပေးပါ။ ဒီထဲတွင် သင် ထည့်သွင်းထားသော အပလီကေးရှင်းများမှတဆင့် ပြုလုပ်ထားသော အကောင့်များပါ ပါဝင်နိုင်ပါသည်။"</string>
     <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ကွန်ရက် ချိတ်ဆက်မှုများအား ကြည့်ရန်"</string>
     <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"အပလီကေးရှင်းအား မည်သည့်ကွန်ရက်နက်ဝဘ်ရှိသလဲ၊ မည်သည့်ကွန်ရက်နှင့် ချိတ်ဆက်ထားလဲ စသည်ဖြင့် ကွန်ရက်ချိတ်ဆက်မှုများ၏ သတင်းအချက်အလက်များကို ကြည့်ခွင့်ပေးရန်"</string>
@@ -412,21 +412,21 @@
     <string name="permdesc_changeWifiState" msgid="7137950297386127533">"အပလီကေးရှင်းအား ဝိုင်ဖိုင်တည်နေရာများအား ဆက်သွယ်ခြင်း၊ ဆက်သွယ်မှု ရပ်ဆိုင်းခြင်း၊ ဝိုင်ဖိုင်ကွန်ရက်အတွက် စက်အပြင်အဆင်များ ပြုလုပ်ခြင်း ခွင့်ပြုပါ"</string>
     <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"Wi-Fi Multicastလက်ခံခြင်းကိုခွင့်ပြုရန်"</string>
     <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"အပလီကေးရှင်းအား ဝိုင်ဖိုင်ကွန်ရက်ပေါ်တွင် သင့်တက်ဘလက်တစ်ခုထဲအားမဟုတ်ပဲ multicast လိပ်စာအား သုံးပြီး လွှင့်ထုတ်သော အချက်အလက်များ လက်ခံခွင့် ပြုပါ။ ဒီလိုသုံးခြင်းမှာ  non-multicast ထက် ဘက်ထရီ ပိုကုန်ပါသည်။"</string>
-    <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"သင့် တီဗွီနှင့်သာ မဟုတ်ဘဲ၊ ကွန်ယက်လိပ်စာများစွာ သုံးသော ဝိုင်ဖိုင်ကွန်ယက်ရှိ စက်ကိရိယာအားလုံးသို့ ပို့သော ပက်ကက်များအား လက်ခံရရှိရန် အက်ပ် အားခွင့်ပြုပါ။ ၎င်းသည် ကွန်ယက်လိပ်စာများစွာမသုံးသောမုဒ်ထက် စွမ်းအားပိုသုံး၏။"</string>
+    <string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"သင့် တီဗွီနှင့်သာ မဟုတ်ဘဲ၊ ကွန်ယက်လိပ်စာများစွာ သုံးသော ဝိုင်ဖိုင်ကွန်ယက်ရှိ စက်ကိရိယာအားလုံးသို့ ပို့သော ပက်ကက်များအား လက်ခံရရှိရန် အက်ပ်အားခွင့်ပြုပါ။ ၎င်းသည် ကွန်ယက်လိပ်စာများစွာမသုံးသောမုဒ်ထက် စွမ်းအားပိုသုံး၏။"</string>
     <string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"အပလီကေးရှင်းအား ဝိုင်ဖိုင်နက်ဘ်ပေါ်တွင် သင့်ဖုန်းတစ်ခုထဲအားမဟုတ်ပဲ multicast လိပ်စာအား သုံးပြီး လွှင့်ထုတ်သော အချက်အလက်များ လက်ခံခွင့် ပြုပါ။ ဒီလိုသုံးခြင်းမှာ non-multicast ထက် ဘက်ထရီ ပိုကုန်ပါသည်။"</string>
     <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"ဘလူးတုသ် ဆက်တင်များအား သုံးခွင့်ပေးရန်"</string>
     <string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"အက်ပ်အား ဒေသန္တရ ဘလူးတုသ် တက်ဘလက်ကို စီစဉ်ဖွဲ့စည်းခွင့်ကို၎င်း၊ အဝေးထိန်း ကိရိယာများကို ရှာကြံလျက် ချိတ်တွဲခွင့်ကို၎င်း ပေးထားသည်။"</string>
-    <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"ကွန်ယက်တွင်းရှိ ဘလူးတုသ် တီဗွီအား ပုံစံပြင်ရန်နှင့်၊ အဝေးရှိ စက်ကိရိယာများအား ရှာဖွေတွဲဖက်ရန် အက်ပ် အား ခွင့်ပြုပါ။"</string>
+    <string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"ကွန်ယက်တွင်းရှိ ဘလူးတုသ် တီဗွီအား ပုံစံပြင်ရန်နှင့်၊ အဝေးရှိ စက်ကိရိယာများအား ရှာဖွေတွဲဖက်ရန် အက်ပ်အား ခွင့်ပြုပါ။"</string>
     <string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"အက်ပ်အား ဒေသန္တရ ဘလူးတုသ် ဖုန်းကို စီစဉ်ဖွဲ့စည်းခွင့်ကို၎င်း၊ အဝေးထိန်း ကိရိယာများကို ရှာကြံလျက် ချိတ်တွဲခွင့်ကို၎င်း ပေးထားသည်။"</string>
     <string name="permlab_accessWimaxState" msgid="4195907010610205703">"ဝိုင်မက်စ် နှင့် ချိတ်ဆက်ရန်နှင့် ဆက်သွယ်မှု ဖြတ်တောက်ရန်"</string>
     <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"အပလီကေးရှင်းအား ဝိုင်မက်စ် အခြေအနေ ကြည့်ခွင့်ပေးရန် ဥပမာ ဝိုင်မက်စ် ဖွင့်ထား မထား၊ ဝိုင်မက်စ် ချိတ်ဆက်ထားသော ကွန်ရက်အခြေအနေ"</string>
     <string name="permlab_changeWimaxState" msgid="340465839241528618">"WiMAX အခြေအနေကို ပြောင်းရန် ပြင်ရန်"</string>
     <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"အပလီကေးရှင်းအား တက်ဘလက်ကို ဝိုင်မက်စ် ကွန်ရက်များနဲ့ ဆက်သွယ်ခြင်း၊ ဆက်သွယ်မှု ရပ်ဆိုင်းခြင်းများ လုပ်ခွင့်ပြုပါ"</string>
-    <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"တီဗွီနှင့် ချိတ်ဆက်ရန် အက်ပ် အား ခွင့်ပြုပြီး တီဗွီနှင့် WiMAX ကွန်ယက်များ ချိတ်ဆက်ထားမှုအား ဖြတ်တောက်ပါ။"</string>
+    <string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"တီဗွီနှင့် ချိတ်ဆက်ရန် အက်ပ်အား ခွင့်ပြုပြီး တီဗွီနှင့် WiMAX ကွန်ယက်များ ချိတ်ဆက်ထားမှုအား ဖြတ်တောက်ပါ။"</string>
     <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"အပလီကေးရှင်းအား ဖုန်းကို ဝိုင်မက်စ် ကွန်ရက်များနဲ့ ဆက်သွယ်ခြင်း၊ ဆက်သွယ်မှု ရပ်ဆိုင်းခြင်းများ လုပ်ခွင့်ပြုပါ"</string>
     <string name="permlab_bluetooth" msgid="6127769336339276828">"ဘလူးတုသ် စက်များနှင့် အတူတွဲချိတ်ရန်"</string>
     <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"အပလီကေးရှင်းအား တက်ဘလက်ပေါ်မှ ဘလူးတုသ် အပြင်အဆင်အား ကြည့်ခွင့်၊ တခြားစက်များနဲ့ ဆက်သွယ်ခြင်း၊ ဆက်သွယ်ခြင်းကို လက်ခံခွင့်ပြုပါ။"</string>
-    <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"တီဗွီတွင် ဘလူးတုသ်အတွက် ပုံစံပြင်ခြင်းများ ဝင်ကြည့်ရန်နှင့်၊ တွဲဖက်ထားသည့် စက်ကိရိယာများအား ချိတ်ဆက်မှုပြုရန်နှင့်လက်ခံရန် အက်ပ် အား ခွင့်ပြုပါ။"</string>
+    <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"တီဗွီတွင် ဘလူးတုသ်အတွက် ပုံစံပြင်ခြင်းများ ဝင်ကြည့်ရန်နှင့်၊ တွဲဖက်ထားသည့် စက်ကိရိယာများအား ချိတ်ဆက်မှုပြုရန်နှင့်လက်ခံရန် အက်ပ်အား ခွင့်ပြုပါ။"</string>
     <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"အပလီကေးရှင်းအား ဖုန်းမှဘလူးတု အပြင်အဆင်အား ကြည့်ခွင့်၊ တခြားစက်များနဲ့ ဆက်သွယ်ခြင်း၊ ဆက်သွယ်ခြင်းကို လက်ခံခွင့်ပြုပါ။"</string>
     <string name="permlab_nfc" msgid="4423351274757876953">"Near Field Communicationအား ထိန်းချုပ်ရန်"</string>
     <string name="permdesc_nfc" msgid="7120611819401789907">"အက်ပ်အား တာတို စက်ကွင်း ဆက်သွယ်ရေး (NFC) တဲဂ်များ၊ ကဒ်များ နှင့် ဖတ်ကြသူတို့နှင့် ဆက်သွယ်ပြောဆိုခွင့် ပြုသည်။"</string>
@@ -454,9 +454,9 @@
   </string-array>
     <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"လက်ဗွေ အိုင်ကွန်"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ထပ်တူပြုအဆင်အပြင်အားဖတ်ခြင်း"</string>
-    <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"အပလီကေးရှင်းအား အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင် လုပ်ဆောင်မှု ဆက်တင်အား ကြည့်ခွင့် ပြုပါ။ ဥပမာ People အက်ပ် က အကောင့်တစ်ခုနဲ့ ထပ်တူညီအောင် လုပ်ရန် ဆက်သွယ်ထားမှု ရှိမရှိ သိရှိနိုင်ခြင်း"</string>
+    <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"အပလီကေးရှင်းအား အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင် လုပ်ဆောင်မှု ဆက်တင်အား ကြည့်ခွင့် ပြုပါ။ ဥပမာ People အက်ပ်က အကောင့်တစ်ခုနဲ့ ထပ်တူညီအောင် လုပ်ရန် ဆက်သွယ်ထားမှု ရှိမရှိ သိရှိနိုင်ခြင်း"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ထပ်တူညီအောင် လုပ်ခြင်းအား ပြုနိုင်၊ မပြုနိုင် အပြောင်းအလဲလုပ်ခြင်း"</string>
-    <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင်လုပ်သော ဆက်တင်များကို ပြင်ရန် အက်ပ်ကို ခွင့်ပြုရန်။ ဥပမာ People အက်ပ် က အကောင့်တစ်ခုနှင့် ထပ်တူညီအောင် လုပ်ဆောင်ခြင်းအား ဖွင့်ရန် သုံးနိုင်သည်။"</string>
+    <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင်လုပ်သော ဆက်တင်များကို ပြင်ရန် အက်ပ်ကို ခွင့်ပြုရန်။ ဥပမာ People အက်ပ်က အကောင့်တစ်ခုနှင့် ထပ်တူညီအောင် လုပ်ဆောင်ခြင်းအား ဖွင့်ရန် သုံးနိုင်သည်။"</string>
     <string name="permlab_readSyncStats" msgid="7396577451360202448">"ထပ်တူကူးခြင်း ကိန်းဂဏန်းအချက်အလက်များကို ဖတ်ခြင်း"</string>
     <string name="permdesc_readSyncStats" msgid="1510143761757606156">"အပလီကေးရှင်းအား အကောင့်တစ်ခု၏ ထပ်တူညီအောင် လုပ်ဆောင်မှု အခြေအနေ (ပြီးခဲ့သော အဖြစ်အပျက်၊ ဒေတာ ပမာဏ ပါဝင်မှု များအပါအဝင်)ကို ဖတ်ရှုခွင့် ပြုပါ။"</string>
     <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"USB သိုလှောင်မှုမှ အချက်အလက်များအား ဖတ်ခြင်း"</string>
@@ -468,7 +468,7 @@
     <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"အက်ပ်အား USB သိုလှောင်ခန်းသို့ ရေးခွင့် ပြုသည်။"</string>
     <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"အက်ပ်အား SD ကဒ်သို့ ရေးခွင့် ပြုသည်။"</string>
     <string name="permlab_use_sip" msgid="2052499390128979920">"SIP ခေါ်ဆိုမှုများ ခေါ်ရန်/လက်ခံရန်"</string>
-    <string name="permdesc_use_sip" msgid="2297804849860225257">"SIP ခေါ်ဆိုမှုများ ခေါ်ရန်နှင့် လက်ခံနိုင်ရန် အက်ပ် ကို ခွင့်ပြုပါ။"</string>
+    <string name="permdesc_use_sip" msgid="2297804849860225257">"SIP ခေါ်ဆိုမှုများ ခေါ်ရန်နှင့် လက်ခံနိုင်ရန် အက်ပ်ကို ခွင့်ပြုပါ။"</string>
     <string name="permlab_register_sim_subscription" msgid="3166535485877549177">"တယ်လီကွမ် ဆင်းမ် ချိတ်ဆက်မှုများကို မှတ်ပုံတင်ပါ"</string>
     <string name="permdesc_register_sim_subscription" msgid="2138909035926222911">"အက်ပ်အား တယ်လီကွမ် ဆင်းမ် ချိတ်ဆက်မှုကို မှတ်ပုံတင်ခွင့် ပြုသည်။"</string>
     <string name="permlab_register_call_provider" msgid="108102120289029841">"တယ်လီကွမ် တယ်လီကွမ် ချိတ်ဆက်မှု အသစ်များကို မှတ်ပုံတင်ပါ"</string>
@@ -498,19 +498,19 @@
     <string name="permlab_invokeCarrierSetup" msgid="3699600833975117478">"မိုဘိုင်းဆက်သွယ်ရေးဝန်ဆောင်မှုဌာန မှ ထည့်သွင်းပေးသော အခြေအနေများအား ပယ်ဖျက်ခြင်း"</string>
     <string name="permdesc_invokeCarrierSetup" msgid="4159549152529111920">"ကိုင်ဆောင်သူအားမိုဘိုင်းဆက်သွယ်ရေးဝန်ဆောင်မှုဌာနမှ ထည့်သွင်းထားတဲ့ အပြင်အဆင်အား ပယ်ဖျက်ခွင့် ပေးခြင်း။ ပုံမှန် အပလီကေးရှင်းများမှာ မလိုပါ"</string>
     <string name="permlab_accessNetworkConditions" msgid="8206077447838909516">"ကွန်ယက်အခြေအနေအား လေ့လာနေမှုအား နားထောင်ခွင့်"</string>
-    <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"အက်ပ်ကို နက်ဝေါ့ ပေါ်က အခြေအနေကို သတိထားခွင့် ပေးခြင်း၊. ပုံမှန် အက်ပ် များတွင် မလိုအပ်ပါ"</string>
+    <string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"အက်ပ်ကို နက်ဝေါ့ ပေါ်က အခြေအနေကို သတိထားခွင့် ပေးခြင်း၊. ပုံမှန် အက်ပ်များတွင် မလိုအပ်ပါ"</string>
     <string name="permlab_setInputCalibration" msgid="4902620118878467615">"change ထည့်သွင်းရေး ကိရိယာ တိုင်းထွာညှိနှိုင်းမှု ပြောင်းလဲခြင်း"</string>
     <string name="permdesc_setInputCalibration" msgid="4527511047549456929">"အက်ပ်အား တို့ထိရေး မျက်နှာပြင် တိုင်းထွာစံညှိမှုကို မွမ်းမံခွင့် ပြုသည်။ သာမန် အက်ပ်များ  ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string>
     <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"DRM လက်မှတ်များကို ရယူသုံးခြင်း"</string>
-    <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"အက်ပ် တစ်ခုအား စီမံလုပ်ကိုင်ခွင့် DRM လက်မှတ်များ သုံးခွင့် ပြုသည်။ သာမန် အက်ပ်များ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string>
+    <string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"အက်ပ်တစ်ခုအား စီမံလုပ်ကိုင်ခွင့် DRM လက်မှတ်များ သုံးခွင့် ပြုသည်။ သာမန် အက်ပ်များ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string>
     <string name="permlab_handoverStatus" msgid="7820353257219300883">"Android ရဲ့ အလင်းတန်းထိုး လွှဲပြောင်းမှု အခြေအနေကို ရယူရန်"</string>
     <string name="permdesc_handoverStatus" msgid="4788144087245714948">"ဒီအပလီကေးရှင်းအား အန်ဒရွိုက်၏ လက်ရှိ အလင်းတန်းထိုး လွှဲပြောင်းမှု အကြောင်း အချက်အလက်ကို ရယူခွင့် ပြုသည်"</string>
     <string name="permlab_removeDrmCertificates" msgid="7044888287209892751">"DRM လက်မှတ်များ ဖယ်ရှားရန်"</string>
     <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"အပလီကေးရှင်းအား DRM လက်မှတ်များကို ဖယ်ရှားခွင့် ပြုသည်။  သာမန် အက်ပ်များ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string>
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"စာပို့စာယူ ဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခုအား ပူးပေါင်းခွင့်ပြုရန်"</string>
-    <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"စာပို့စာယူဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခု၏ ထိပ်ဆုံးရှိအင်တာဖေ့စ်ဖြင့် ပူးပေါင်းရန် ပိုင်ရှင်အားခွင့်ပြုပါ။ ပုံမှန် အက်ပ် များအတွက် မလိုအပ်ပါ။"</string>
+    <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"စာပို့စာယူဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခု၏ ထိပ်ဆုံးရှိအင်တာဖေ့စ်ဖြင့် ပူးပေါင်းရန် ပိုင်ရှင်အားခွင့်ပြုပါ။ ပုံမှန် အက်ပ်များအတွက် မလိုအပ်ပါ။"</string>
     <string name="permlab_bindCarrierServices" msgid="3233108656245526783">"မိုဘိုင်းဖုန်းဝန်ဆောင်မှုပေးသူများနှင့် ပူးပေါင်းခွင့်ပြုရန်"</string>
-    <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"မိုဘိုင်းဖုန်းဝန်ဆောင်မှုစနစ်တစ်ခုအား ပူးပေါင်းခွင့်ပြုရန် ကိုင်ဆောင်ထားသူအား ခွင့်ပြုပါ။ သာမန် အက်ပ် များ အတွက် မည်သည့်အခါမျှ မလိုအပ်ပါ။"</string>
+    <string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"မိုဘိုင်းဖုန်းဝန်ဆောင်မှုစနစ်တစ်ခုအား ပူးပေါင်းခွင့်ပြုရန် ကိုင်ဆောင်ထားသူအား ခွင့်ပြုပါ။ သာမန် အက်ပ်များ အတွက် မည်သည့်အခါမျှ မလိုအပ်ပါ။"</string>
     <string name="permlab_access_notification_policy" msgid="4247510821662059671">"မနှောင့်ယှက်ရန်ကို အသုံးပြုမည်"</string>
     <string name="permdesc_access_notification_policy" msgid="3296832375218749580">"မနှောင့်ယှက်ရန် ချိန်ညှိမှုကို အပ်ဖ်များ ဖတ်ခြင်း ပြင်ခြင်းပြုလုပ်နိုင်ရန် ခွင့်ပြုမည်။"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"စကားဝှက်စည်းမျဥ်းကိုသတ်မှတ်ရန်"</string>
@@ -657,7 +657,7 @@
     <string name="sipAddressTypeHome" msgid="6093598181069359295">"ပင်မစာမျက်နှာ"</string>
     <string name="sipAddressTypeWork" msgid="6920725730797099047">"အလုပ်အကိုင်"</string>
     <string name="sipAddressTypeOther" msgid="4408436162950119849">"တခြား"</string>
-    <string name="quick_contacts_not_available" msgid="746098007828579688">"ဒီအဆက်အသွယ်အား ကြည့်ရှုရန်  အက်ပ် မတွေ့ပါ"</string>
+    <string name="quick_contacts_not_available" msgid="746098007828579688">"ဒီအဆက်အသွယ်အား ကြည့်ရှုရန်  အက်ပ်မတွေ့ပါ"</string>
     <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN ကုဒ် ရိုက်ထည့်ပါ"</string>
     <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"PUK နှင့် PIN ကုဒ် အသစ်ကို ရိုက်ထည့်ပါ"</string>
     <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK နံပါတ်"</string>
@@ -761,7 +761,7 @@
     <string name="granularity_label_link" msgid="5815508880782488267">"အ​ခြား​စာ​မျက်​နှာ​သို့​ကွင်း​ဆက်"</string>
     <string name="granularity_label_line" msgid="5764267235026120888">"စာကြောင်း"</string>
     <string name="factorytest_failed" msgid="5410270329114212041">"စက်ရုံစမ်းသပ်ခြင်းမအောင်မြင်ပါ"</string>
-    <string name="factorytest_not_system" msgid="4435201656767276723">"စက်ရုံစမ်းသပ်မှုမှာ စနစ်/အပ်ပလီကေးရှင်း ထည့်သွင်းထားသောpackageများကိုသာ ပံ့ပိုးမှုပေးသည်။."</string>
+    <string name="factorytest_not_system" msgid="4435201656767276723">"စက်ရုံစမ်းသပ်မှုမှာ စနစ်/အက်ပ်ထည့်သွင်းထားသောpackageများကိုသာ ပံ့ပိုးမှုပေးသည်။."</string>
     <string name="factorytest_no_action" msgid="872991874799998561">"စက်ရုံစမ်းသပ်မှုအားလုပ်ဆောင်ရန် မည်သည့်packageမှ မတွေ့ပါ။"</string>
     <string name="factorytest_reboot" msgid="6320168203050791643">"လုပ်ငန်းစနစ်ထည့်သွင်းပြီး ပြန်လည်စတင်ရန်"</string>
     <string name="js_dialog_title" msgid="1987483977834603872">"ဒီ \"<xliff:g id="TITLE">%s</xliff:g>\" က စာမျက်နှာက ပြောဆိုတာက:"</string>
@@ -794,10 +794,10 @@
     <string name="permdesc_readHistoryBookmarks" msgid="8462378226600439658">"အပလီကေးရှင်းအား ဘရောင်ဇာမှ ယခင် သွားရောက်ထားသော URLများ၊ နေရာ အမှတ်အသားများအား ကြည့်ရှုခွင့်ပြုပါ။ မှတ်ချက်။ ဒီခွင့်ပြုချက်ကို တတိယပါတီ ဘရောင်ဇာများ နှင့် တခြား အပလီကေးရှင်းများမှ လုပ်ဆောင်မည် မဟုတ်ပါ။"</string>
     <string name="permlab_writeHistoryBookmarks" msgid="3714785165273314490">"သင့်ရဲ့ ဝဘ် အမှတ်နေရာများနှင့် သွားလာသော မှတ်တမ်း ရေးခြင်း"</string>
     <string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="6825527469145760922">"အပလီကေးရှင်းအား ဘရောင်ဇာမှ မှတ်တမ်း သို့ မှတ်သားမှု အမှတ်များအား ပြင်ဆင်ခွင့် ပေးခြင်း။ အပလီကေးရှင်းမှ ဘရောင်ဇာ မှတ်တမ်းများကို ဖျက်ပစ်ခွင့် သို့ ပြင်ဆင်ခွင့် ရှိပါမည်။ မှတ်ချက်။ ဤခွင့်ပြုချက်ကို တတိယပါတီ ဘရောင်ဇာများ၊ တခြား အပလီကေးရှင်းများမှ သုံးမည် မဟုတ်ပါ။"</string>
-    <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"ဘရောင်ဇာ၏မှတ်တမ်း သို့မဟုတ် တီဗွီတွင်သိမ်းထားသည့် မှတ်သားချက်များအား ပြင်ဆင်ရန် အက်ပ် အား ခွင့်ပြုပါ။ ဤသို့ပြုခြင်းသည် ဘရောင်ဇာ၏ အချက်အလက်များအား ဖျက်ပစ်ရန် သို့မဟုတ် ပြင်ဆင်ရန် အက်ပ် အား ခွင့်ပြုထားခြင်းဖြစ်၏။ မှတ်ချက်၊ ဤသို့ခွင့်ပြုခြင်းသည် ပြင်ပဘရောင်ဇာများ သို့မဟုတ် ဝဘ်အား ကြည့်ရှုနိုင်သည့် တစ်ခြားသော အပလီကေးရှင်းများအား သက်ရောက်မှုရှိမည် မဟုတ်ပါ။"</string>
+    <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="7007393823197766548">"ဘရောင်ဇာ၏မှတ်တမ်း သို့မဟုတ် တီဗွီတွင်သိမ်းထားသည့် မှတ်သားချက်များအား ပြင်ဆင်ရန် အက်ပ်အား ခွင့်ပြုပါ။ ဤသို့ပြုခြင်းသည် ဘရောင်ဇာ၏ အချက်အလက်များအား ဖျက်ပစ်ရန် သို့မဟုတ် ပြင်ဆင်ရန် အက်ပ်အား ခွင့်ပြုထားခြင်းဖြစ်၏။ မှတ်ချက်၊ ဤသို့ခွင့်ပြုခြင်းသည် ပြင်ပဘရောင်ဇာများ သို့မဟုတ် ဝဘ်အား ကြည့်ရှုနိုင်သည့် တစ်ခြားသော အပလီကေးရှင်းများအား သက်ရောက်မှုရှိမည် မဟုတ်ပါ။"</string>
     <string name="permdesc_writeHistoryBookmarks" product="default" msgid="8497389531014185509">"အပလီကေးရှင်းအား ဘရောင်ဇာမှ မှတ်တမ်း သို့ မှတ်သားမှု အမှတ်များအား ပြင်ဆင်ခွင့် ပေးခြင်း။ အပလီကေးရှင်းမှ ဘရောင်ဇာ မှတ်တမ်းများကို ဖျက်ပစ်ခွင့် သို့ ပြင်ဆင်ခွင့် ရှိပါမည်။ မှတ်ချက်။ ဒီခွင့်ပြုချက်ကို တတိယပါတီ ဘရောင်ဇာများ၊ တခြား အပလီကေးရှင်းများမှ သုံးမည် မဟုတ်ပါ။"</string>
     <string name="permlab_setAlarm" msgid="1379294556362091814">"နှိုးစက်သတ်မှတ်ရန်"</string>
-    <string name="permdesc_setAlarm" msgid="316392039157473848">"အက်ပ်အား တပ်ဆင်ထားသည့် နှိုးစက်နာရီ အက်ပ် ထဲတွင် နှိုးစက်ကို သတ်မှတ်ခွင့် ပြုသည်။ အချို့ နှိုးစက် အက်ပ်များက ထိုအင်္ဂါရပ်ကို ပြီးမြောက်အောင် မလုပ်နိုင်ကြပါ။"</string>
+    <string name="permdesc_setAlarm" msgid="316392039157473848">"အက်ပ်အား တပ်ဆင်ထားသည့် နှိုးစက်နာရီ အက်ပ်ထဲတွင် နှိုးစက်ကို သတ်မှတ်ခွင့် ပြုသည်။ အချို့ နှိုးစက် အက်ပ်များက ထိုအင်္ဂါရပ်ကို ပြီးမြောက်အောင် မလုပ်နိုင်ကြပါ။"</string>
     <string name="permlab_addVoicemail" msgid="5525660026090959044">"အသံစာပို့စနစ်အားထည့်ရန်"</string>
     <string name="permdesc_addVoicemail" msgid="6604508651428252437">"အက်ပ်အား သင့် အသံမေးလ် ဝင်စာသို့ စာများကို ထည့်ခွင့် ပြုသည်။"</string>
     <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"ဘရောင်ဇာ ဘူမိဇုန်သတ်မှတ်မှု ခွင့်ပြုချက်များကို မွမ်းမံခြင်း"</string>
@@ -956,9 +956,9 @@
     <string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> က အလုပ်လုပ်နေသည်။"</string>
     <string name="app_running_notification_text" msgid="1197581823314971177">"နောက်ထပ်အချက်အလက်များကို ကြည့်ရန် သို့မဟုတ် အက်ပ်ကိုရပ်တန့်ရန် တို့ပါ။"</string>
     <string name="ok" msgid="5970060430562524910">"အိုကေ"</string>
-    <string name="cancel" msgid="6442560571259935130">"မလုပ်တော့ပါ"</string>
+    <string name="cancel" msgid="6442560571259935130">"မလုပ်တော့"</string>
     <string name="yes" msgid="5362982303337969312">"အိုကေ"</string>
-    <string name="no" msgid="5141531044935541497">"မလုပ်တော့ပါ"</string>
+    <string name="no" msgid="5141531044935541497">"မလုပ်တော့"</string>
     <string name="dialog_alert_title" msgid="2049658708609043103">"သတိပြုရန်"</string>
     <string name="loading" msgid="7933681260296021180">"တင်နေ…"</string>
     <string name="capital_on" msgid="1544682755514494298">"ဖွင့်ရန်"</string>
@@ -986,9 +986,9 @@
     <string name="whichImageCaptureApplicationLabel" msgid="6390303445371527066">"ဓာတ်ပုံရိုက်ပါ"</string>
     <string name="alwaysUse" msgid="4583018368000610438">"ဤလှုပ်ရှားမှုအတွက် မူရင်းအတိုင်း အသုံးပြုပါ။"</string>
     <string name="use_a_different_app" msgid="8134926230585710243">"အခြား အက်ပ်ကို သုံးပါ"</string>
-    <string name="clearDefaultHintMsg" msgid="3252584689512077257">"စနစ် ဆက်တင် ထဲမှာ ပုံသေကို ရှင်းလိုက်ပါ &gt; Appများ &gt; ဒေါင်းလုဒ် လုပ်ပြီး။"</string>
+    <string name="clearDefaultHintMsg" msgid="3252584689512077257">"စနစ် ဆက်တင် ထဲမှာ ပုံသေကို ရှင်းလိုက်ပါ &gt; အက်ပ်များ &gt; ဒေါင်းလုဒ် လုပ်ပြီး။"</string>
     <string name="chooseActivity" msgid="7486876147751803333">"လုပ်စရာ တစ်ခု ရွေးချယ်ပါ"</string>
-    <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ကိရိယာ အတွက် အက်ပ် တစ်ခု ရွေးပါ"</string>
+    <string name="chooseUsbActivity" msgid="6894748416073583509">"USB ကိရိယာ အတွက် အက်ပ်တစ်ခု ရွေးပါ"</string>
     <string name="noApplications" msgid="2991814273936504689">"ဘယ် အက်ပ်ကမှ ဒီ လုပ်ဆောင်ချက်ကို မလုပ်ကိုင်နိုင်ပါ။"</string>
     <string name="aerr_application" msgid="250320989337856518">"<xliff:g id="APPLICATION">%1$s</xliff:g> ရပ်သွားပါပြီ"</string>
     <string name="aerr_process" msgid="6201597323218674729">"<xliff:g id="PROCESS">%1$s</xliff:g> ရပ်တန့်သွားပါပြီ"</string>
@@ -1009,7 +1009,7 @@
     <string name="report" msgid="4060218260984795706">"သတင်းပို့ပါ"</string>
     <string name="wait" msgid="7147118217226317732">"စောင့်ဆိုင်းရန်"</string>
     <string name="webpage_unresponsive" msgid="3272758351138122503">"စာမျက်နှာမှာ ပြန်လည် တုံ့ပြန်မှု မရှိတော့ပါ။\n\nပိတ်လိုက်ချင်ပါသလား?"</string>
-    <string name="launch_warning_title" msgid="1547997780506713581">"App ပြန်ညွှန်းခဲ့"</string>
+    <string name="launch_warning_title" msgid="1547997780506713581">"အက်ပ်ပြန်ညွှန်းခဲ့"</string>
     <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် ယခုအလုပ်လုပ်နေသည်"</string>
     <string name="launch_warning_original" msgid="188102023021668683">"မူလ <xliff:g id="APP_NAME">%1$s</xliff:g> တွင် ထုတ်လွင့်သည်"</string>
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"စကေး"</string>
@@ -1031,11 +1031,11 @@
     <string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> က အလုပ်လုပ်နေသည်"</string>
     <string name="heavy_weight_notification_detail" msgid="867643381388543170">"အက်ပ်သို့ပြောင်းရန် တို့ပါ"</string>
     <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"အက်ပ်များကို ပြောင်းမလား?"</string>
-    <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"အခြား အက်ပ် တစ်ခု အလုပ်လုပ်နေ၍ သင်က အသစ် တစ်ခုကို မစမီ ၎င်းကို ရပ်ပစ်ရမည်။"</string>
+    <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"အခြား အက်ပ်တစ်ခု အလုပ်လုပ်နေ၍ သင်က အသစ် တစ်ခုကို မစမီ ၎င်းကို ရပ်ပစ်ရမည်။"</string>
     <string name="old_app_action" msgid="493129172238566282">"<xliff:g id="OLD_APP">%1$s</xliff:g>သို့ပြန်သွားရန်"</string>
     <string name="old_app_description" msgid="2082094275580358049">"pp အသစ်ကို မစတင်ပါနှင့်။"</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g>စတင်ပါ"</string>
-    <string name="new_app_description" msgid="1932143598371537340">"အက်ပ် အဟောင်းကို မသိမ်းဆည်းဘဲ ရပ်လိုက်ပါ။"</string>
+    <string name="new_app_description" msgid="1932143598371537340">"အက်ပ်အဟောင်းကို မသိမ်းဆည်းဘဲ ရပ်လိုက်ပါ။"</string>
     <string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> သိမ်းထားနိုင်မှု အကန့်အသတ် ကျော်လွန်နေ"</string>
     <string name="dump_heap_notification_detail" msgid="6901391084243999274">"သိမ်းဆည်းနိုင်မှု ပမာဏကျော်လွန်သွားပါပြီ။ မျှဝေရန် တို့ပါ"</string>
     <string name="dump_heap_title" msgid="5864292264307651673">"အရေးပေါ် သိမ်းထားပေးမှု ကို မျှဝေမလား။"</string>
@@ -1104,7 +1104,7 @@
     <string name="sms_short_code_details" msgid="5873295990846059400"><b>"ဒါက သင့် မိုဘိုင်း အကောင့် အတွက် "</b>" ကုန်ကျမှု ရှိလာနိုင်သည်။"</string>
     <string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"ဒါက သင့် မိုဘိုင်း အကောင့် အတွက် ကုန်ကျမှု ရှိလာနိုင်သည်။"</b></string>
     <string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"ပို့ရန်"</string>
-    <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"မလုပ်တော့ပါ"</string>
+    <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"မလုပ်တော့"</string>
     <string name="sms_short_code_remember_choice" msgid="5289538592272218136">"ကျွန်ပ်၏ရွေးချယ်မှုကို မှတ်ထားရန်"</string>
     <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"နောင်တွင် ဆက်တင် &gt; အပလီကေးရှင်းများ မှပြောင်းနိုင်သည်"</string>
     <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"အမြဲခွင့်ပြုရန်"</string>
@@ -1206,7 +1206,7 @@
     <string name="ime_action_default" msgid="2840921885558045721">"လုပ်ဆောင်ချက်"</string>
     <string name="dial_number_using" msgid="5789176425167573586">\n"အား အသုံးပြု၍ <xliff:g id="NUMBER">%s</xliff:g>နံပါတ်ခေါ်ဆိုပါ"</string>
     <string name="create_contact_using" msgid="4947405226788104538">\n"အား အသုံးပြု၍<xliff:g id="NUMBER">%s</xliff:g>ဆက်သွယ်မည့်သူများအား ဖန်တီးခြင်း"</string>
-    <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"အောက်ပါထဲက အက်ပ် တစ်ခု သို့မဟုတ် ပိုလျက် သင်၏ အကောင့်ကို၊ ယခု နှင့် အနာဂတ်မှာ ရယူအသုံးချရန် ခွင့်ပြုချက်ကို တောင်းထားသည်။"</string>
+    <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"အောက်ပါထဲက အက်ပ်တစ်ခု သို့မဟုတ် ပိုလျက် သင်၏ အကောင့်ကို၊ ယခု နှင့် အနာဂတ်မှာ ရယူအသုံးချရန် ခွင့်ပြုချက်ကို တောင်းထားသည်။"</string>
     <string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"ဤတောင်းခံမှုအားခွင့်ပြုမည်လား"</string>
     <string name="grant_permissions_header_text" msgid="6874497408201826708">"သုံးစွဲခွင့် တောင်းဆိုရန်"</string>
     <string name="allow" msgid="7225948811296386551">"ခွင့်ပြုသည်"</string>
@@ -1260,7 +1260,7 @@
     <string name="gpsNotifTicker" msgid="5622683912616496172">"<xliff:g id="NAME">%s</xliff:g>မှ တည်နေရာအား တောင်းခံသည်"</string>
     <string name="gpsNotifTitle" msgid="5446858717157416839">"တည်နေရာအား တောင်းခံသည်"</string>
     <string name="gpsNotifMessage" msgid="1374718023224000702">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)မှတောင်းခံသည်"</string>
-    <string name="gpsVerifYes" msgid="2346566072867213563">"ဟုတ်ကဲ့"</string>
+    <string name="gpsVerifYes" msgid="2346566072867213563">"Yes"</string>
     <string name="gpsVerifNo" msgid="1146564937346454865">"No"</string>
     <string name="sync_too_many_deletes" msgid="5296321850662746890">"ပယ်ဖျက်မည့်ကန့်သတ်နှုန်းကျော်လွန်သည်"</string>
     <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>၊  account <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> အတွက် စုစုပေါင်း <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> အရာဖျက်ထားပါသည်။ သင်ဘာလုပ်ချင်ပါလဲ?"</string>
@@ -1289,13 +1289,13 @@
     <string name="date_picker_prev_month_button" msgid="2858244643992056505">"ပြီးခဲ့သော လ"</string>
     <string name="date_picker_next_month_button" msgid="5559507736887605055">"လာမည့် လ"</string>
     <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Altခလုတ်"</string>
-    <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"မလုပ်တော့ပါ ခလုတ်"</string>
+    <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"မလုပ်တော့ ခလုတ်"</string>
     <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"ဖျက်ရန်ခလုတ်"</string>
     <string name="keyboardview_keycode_done" msgid="1992571118466679775">"ပြီးဆုံးသည့်ခလုတ်"</string>
     <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"စနစ်ပြောင်းခြင်းခလုတ်"</string>
     <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"Shiftခလုတ်"</string>
     <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Enterခလုတ်"</string>
-    <string name="activitychooserview_choose_application" msgid="2125168057199941199">"အက်ပ် တစ်ခုကို ရွေးရန်"</string>
+    <string name="activitychooserview_choose_application" msgid="2125168057199941199">"အက်ပ်တစ်ခုကို ရွေးရန်"</string>
     <string name="activitychooserview_choose_application_error" msgid="8624618365481126668">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ကို စတင်လို့ မရပါ"</string>
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"မျှဝေဖို့ ရွေးပါ"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"<xliff:g id="APPLICATION_NAME">%s</xliff:g>နှင့် မျှဝေပါမည်"</string>
@@ -1344,7 +1344,7 @@
     <string name="sha256_fingerprint" msgid="4391271286477279263">"SHA-256 လက်ပွေ"</string>
     <string name="sha1_fingerprint" msgid="7930330235269404581">"SHA-1 လက်ပွေ"</string>
     <string name="activity_chooser_view_see_all" msgid="4292569383976636200">"အားလုံးကို ကြည့်ရန်"</string>
-    <string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"လှုပ်ရှားမှုကို ရွေးရန်"</string>
+    <string name="activity_chooser_view_dialog_title_default" msgid="4710013864974040615">"လုပ်ဆောင်ချက်ကို ရွေးရန်"</string>
     <string name="share_action_provider_share_with" msgid="5247684435979149216">"...နှင့် မျှဝေရန်"</string>
     <string name="sending" msgid="3245653681008218030">"ပေးပို့နေစဉ်…"</string>
     <string name="launchBrowserDefault" msgid="2057951947297614725">"ဘရောက်ဇာ ဖွင့်မည်လား။"</string>
@@ -1427,7 +1427,7 @@
     <string name="owner_name" msgid="2716755460376028154">"ပိုင်ရှင်"</string>
     <string name="error_message_title" msgid="4510373083082500195">"အမှား"</string>
     <string name="error_message_change_not_allowed" msgid="1347282344200417578">"ဒီအပြောင်းအလဲမျိုးကို သင့် စီမံအုပ်ချုပ်သူမှ ခွင့်မပြုပါ"</string>
-    <string name="app_not_found" msgid="3429141853498927379">"ဤလုပ်ဆောင်ချက်ကို ပြုလုပ်ပေးမည့် အက်ပ် မရှိပါ။"</string>
+    <string name="app_not_found" msgid="3429141853498927379">"ဤလုပ်ဆောင်ချက်ကို ပြုလုပ်ပေးမည့် အက်ပ်မရှိပါ။"</string>
     <string name="revoke" msgid="5404479185228271586">"မလုပ်တော့ပါ"</string>
     <string name="mediasize_iso_a0" msgid="1994474252931294172">"အိုက်အက်စ်အို အေ ဝ"</string>
     <string name="mediasize_iso_a1" msgid="3333060421529791786">"အိုက်အက်စ်အို အေ၁"</string>
@@ -1545,7 +1545,7 @@
     <string name="deleted_key" msgid="7659477886625566590">"<xliff:g id="KEY">%1$s</xliff:g> ကို ဖျက်ပြီးပါပြီ"</string>
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"အလုပ် <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="1420543809500606964">"ဤမျက်နှာပြင်ကို ပင်ဖြုတ်ရန် \"နောက်သို့\" ကိုထိပြီးဖိထားပါ။"</string>
-    <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"Appကို ပင်ထိုးထားသည်။ ပင်ဖျက်ခြင်းကို ဒီစက်မှာ မရနိုင်ပါ။"</string>
+    <string name="lock_to_app_toast_locked" msgid="9125176335701699164">"အက်ပ်ကို ပင်ထိုးထားသည်။ ပင်ဖျက်ခြင်းကို ဒီစက်မှာ မရနိုင်ပါ။"</string>
     <string name="lock_to_app_start" msgid="6643342070839862795">"မျက်နှာပြင်ကို ပင်ထိုးထား"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"မျက်နှာပြင် ပင်ထိုးမှု ဖြတ်လိုက်ပြီ"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ပင်မဖြုတ်မီမှာ PIN ကို မေးကြည့်ရန်"</string>
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"သရုပ်ပြချက်ကို စတင်နေသည်…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်နေသည်…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်မလား။"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"ပြောင်းလဲမှုများကို ဆုံးရှုံးသွားမည်ဖြစ်ပြီး သရုပ်ပြချက်သည် <xliff:g id="TIMEOUT">%1$s</xliff:g> စက္ကန့်အတွင်း ပြန်လည်စတင်ပါမည်…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"မလုပ်တော့"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ယခုပြန်လည်သတ်မှတ်ပါ"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ဤစက်ပစ္စည်းကို ကန့်သတ်ချက်များမပါဘဲ အသုံးပြုရန် စက်ရုံထုတ်ဆက်တင်အတိုင်း ပြန်လည်သတ်မှတ်ပါ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ပိုမိုလေ့လာရန် တို့ပါ။"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"ပိတ်ထားသည့် <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"လူအမြောက်အများတပြိုင်နက် ခေါ်ဆိုမှု"</string>
 </resources>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 0f74a2c..b53d86c 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Starter demo …"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Tilbakestiller enheten …"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Tilbakestille enheten?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Du mister eventuelle endringer, og demoen starter på nytt om <xliff:g id="TIMEOUT">%1$s</xliff:g> sekunder."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Avbryt"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Tilbakestill nå"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Tilbakestill til fabrikkstandard for å bruke denne enheten uten begrensninger"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Trykk for å finne ut mer."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> er slått av"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferansesamtale"</string>
 </resources>
diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml
index 453f869..8f382968 100644
--- a/core/res/res/values-ne-rNP/strings.xml
+++ b/core/res/res/values-ne-rNP/strings.xml
@@ -1662,11 +1662,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"डेमो सुरु गर्दै…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"यन्त्रलाई रिसेट गर्दै…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"यन्त्रलाई रिसेट गर्ने हो?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"तपाईँ सबै परिवर्तनहरू गुमाउनु हुनेछ र <xliff:g id="TIMEOUT">%1$s</xliff:g> सेकेन्डमा डेमो फेरि सुरु हुनेछ…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"रद्द गर्नुहोस्"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"अहिले रिसेट गर्नुहोस्"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"यस यन्त्रलाई सीमितताहरू बिना प्रयोग गर्नका लागि फ्याक्ट्री रिसेट गर्नुहोस्"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"थप जान्नका लागि छुनुहोस्।"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> लाई असक्षम गरियो"</string>
+    <string name="conference_call" msgid="3751093130790472426">"सम्मेलन कल"</string>
 </resources>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 7d31d3f..d43d6c6 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Demo starten…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Apparaat resetten…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Apparaat resetten?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Je wijzigingen gaan verloren. De demo wordt opnieuw gestart over <xliff:g id="TIMEOUT">%1$s</xliff:g> seconden…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annuleren"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Nu resetten"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Zet dit apparaat terug op de fabrieksinstellingen om het zonder beperkingen te gebruiken"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Tik voor meer informatie."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> uitgeschakeld"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Telefonische vergadering"</string>
 </resources>
diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml
index 8310f4d..bea0682 100644
--- a/core/res/res/values-pa-rIN/strings.xml
+++ b/core/res/res/values-pa-rIN/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ਡੈਮੋ ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"ਡੀਵਾਈਸ ਮੁੜ-ਸੈੱਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ਕੀ ਡੀਵਾਈਸ ਮੁੜ-ਸੈੱਟ ਕਰਨੀ ਹੈ?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਤਬਦੀਲੀਆਂ ਨੂੰ ਗੁਆ ਬੈਠੋਂਗੇ ਅਤੇ ਡੈਮੋ <xliff:g id="TIMEOUT">%1$s</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਚਾਲੂ ਕੀਤਾ ਜਾਵੇਗਾ…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ਰੱਦ ਕਰੋ"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ਹੁਣੇ ਮੁੜ-ਸੈੱਟ ਕਰੋ"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਬਿਨਾਂ ਪਾਬੰਦੀਆਂ ਦੇ ਵਰਤਣ ਲਈ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ਹੋਰ ਜਾਣਨ ਲਈ ਸਪਰਸ਼ ਕਰੋ।"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"ਕਾਨਫਰੰਸ ਕਾਲ"</string>
 </resources>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 5db71a3..cff4fe4 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1728,11 +1728,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Uruchamiam tryb demo…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Resetuję urządzenie…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Zresetować urządzenie?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Stracisz wszystkie wprowadzone zmiany, a tryb demo uruchomi się ponownie za <xliff:g id="TIMEOUT">%1$s</xliff:g> s…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Anuluj"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetuj teraz"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Aby używać tego urządzenia bez ograniczeń, przywróć ustawienia fabryczne"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Kliknij, by dowiedzieć się więcej."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Wyłączono: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Połączenie konferencyjne"</string>
 </resources>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 4ed69bc..f5b2389 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demonstração…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Redefinindo dispositivo…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Redefinir dispositivo?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Você perderá todas as alterações. A demonstração será iniciada novamente em <xliff:g id="TIMEOUT">%1$s</xliff:g> segundos…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reiniciar agora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Redefinir para a configuração original para usar este dispositivo sem restrições"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toque para saber mais."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Widget <xliff:g id="LABEL">%1$s</xliff:g> desativado"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Teleconferência"</string>
 </resources>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 0c7fa1c..3079a61 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"A iniciar a demonstração…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"A repor o dispositivo…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Pretende repor o dispositivo?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Perderá todas as alterações e a demonstração começará novamente dentro de <xliff:g id="TIMEOUT">%1$s</xliff:g> segundos…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Repor agora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Repor os dados de fábrica para utilizar o dispositivo sem restrições"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toque para saber mais."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> desativado"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conferência"</string>
 </resources>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 4ed69bc..f5b2389 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demonstração…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Redefinindo dispositivo…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Redefinir dispositivo?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Você perderá todas as alterações. A demonstração será iniciada novamente em <xliff:g id="TIMEOUT">%1$s</xliff:g> segundos…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reiniciar agora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Redefinir para a configuração original para usar este dispositivo sem restrições"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toque para saber mais."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Widget <xliff:g id="LABEL">%1$s</xliff:g> desativado"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Teleconferência"</string>
 </resources>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index cda2482..0cb12af 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1692,11 +1692,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Se pornește demonstrația…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Se resetează dispozitivul…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Resetați dispozitivul?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Veți pierde toate modificările, iar demonstrația va începe din nou peste <xliff:g id="TIMEOUT">%1$s</xliff:g> secunde…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Anulați"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetați acum"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Reveniți la setările din fabrică pentru a folosi acest dispozitiv fără restricții"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Atingeți pentru a afla mai multe."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> a fost dezactivat"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conferință telefonică"</string>
 </resources>
diff --git a/core/res/res/values-round-watch/dimens_material.xml b/core/res/res/values-round-watch/dimens_material.xml
index a417d19..db1f1f3 100644
--- a/core/res/res/values-round-watch/dimens_material.xml
+++ b/core/res/res/values-round-watch/dimens_material.xml
@@ -14,10 +14,10 @@
      limitations under the License.
 -->
 <resources>
-    <dimen name="dialog_padding_material">32dp</dimen>
-    <dimen name="preference_fragment_padding_vertical_material">22dp</dimen>
+    <dimen name="dialog_padding_material">@dimen/screen_percentage_15</dimen>
+    <dimen name="preference_fragment_padding_vertical_material">@dimen/screen_percentage_15</dimen>
 
-    <dimen name="list_item_padding_horizontal_material">32dp</dimen>
-    <dimen name="list_item_padding_start_material">40dp</dimen>
-    <dimen name="list_item_padding_end_material">24dp</dimen>
+    <dimen name="list_item_padding_horizontal_material">@dimen/screen_percentage_15</dimen>
+    <dimen name="list_item_padding_start_material">@dimen/screen_percentage_15</dimen>
+    <dimen name="list_item_padding_end_material">@dimen/screen_percentage_10</dimen>
 </resources>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index a8f1a18..abd9012 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -1728,11 +1728,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Запуск деморежима…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Сброс настроек…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Сбросить настройки устройства?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Все изменения будут утеряны. Деморежим будет перезапущен через <xliff:g id="TIMEOUT">%1$s</xliff:g> сек."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Отмена"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Сбросить"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Сброс до заводских настроек для работы без ограничений"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Нажмите, чтобы узнать больше."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Виджет <xliff:g id="LABEL">%1$s</xliff:g> отключен"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Конференц-связь"</string>
 </resources>
diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml
index 0282266..c64d1ed 100644
--- a/core/res/res/values-si-rLK/strings.xml
+++ b/core/res/res/values-si-rLK/strings.xml
@@ -1658,11 +1658,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ආදර්ශනය ආරම්භ කරමින්..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"උපාංගය යළි සකසමින්..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"උපාංගය යළි සකසන්නද?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"ඔබට යම් වෙනස් කිරීම් අහිමි වනු ඇති අතර ආදර්ශනය තත්පර <xliff:g id="TIMEOUT">%1$s</xliff:g>කින් නැවත ආරම්භ වනු ඇත…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"අවලංගු කරන්න"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"දැන් යළි සකසන්න"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"සීමා කිරීම්වලින් තොරව මෙම උපාංගය භාවිත කිරීමට කර්මාන්ත ශාලා යළි සැකසීම"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"තව දැන ගැනීමට ස්පර්ශ කරන්න."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"අබල කළ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"සම්මන්ත්‍රණ ඇමතුම"</string>
 </resources>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 146c650..97180db 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1728,11 +1728,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Spúšťa sa ukážka…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Resetuje sa zariadenie…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Resetovať zariadenie?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Prídete o všetky zmeny a ukážka sa znova spustí o <xliff:g id="TIMEOUT">%1$s</xliff:g> s…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Zrušiť"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetovať"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Ak chcete toto zariadenie používať bez obmedzení, obnovte na ňom továrenské nastavenia"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Klepnutím získate ďalšie informácie."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Deaktivovaná miniaplikácia <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferenčný hovor"</string>
 </resources>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 8fbeec4..9653ff8 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -1728,11 +1728,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Začenjanje predstavitve …"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Ponastavljanje naprave …"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Želite ponastaviti napravo?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Morebitne spremembe bodo izgubljene in predstavitev se bo začela znova čez <xliff:g id="TIMEOUT">%1$s</xliff:g> s …"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Prekliči"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Ponastavi"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Ponastavitev naprave na tovarniške nastavitve za uporabo brez omejitev"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Dotaknite se, če želite izvedeti več."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> – onemogočeno"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferenčni klic"</string>
 </resources>
diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml
index 0fbb11b..d9b14dc 100644
--- a/core/res/res/values-sq-rAL/strings.xml
+++ b/core/res/res/values-sq-rAL/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Po nis demonstrimin..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Po rivendos pajisjen…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Do ta rivendosësh pajisjen?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Do të humbasësh çdo ndryshim dhe demonstrimi do të niset përsëri për <xliff:g id="TIMEOUT">%1$s</xliff:g> sekonda…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Anulo"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Rivendos tani"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rivendos cilësimet e fabrikës për ta përdorur këtë pajisje pa kufizime"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Prek për të mësuar më shumë."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> u çaktivizua"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Telefonatë konferencë"</string>
 </resources>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index d1a0fac..b3fc8ca 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1692,11 +1692,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Покрећемо демонстрацију..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Ресетујемо уређај..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Желите ли да ресетујете уређај?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Изгубићете све промене и демонстрација ће поново почети за <xliff:g id="TIMEOUT">%1$s</xliff:g> сек…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Откажи"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Ресетуј"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Ресетујте уређај на фабричка подешавања да бисте га користили без ограничења"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Додирните да бисте сазнали више."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Виџет <xliff:g id="LABEL">%1$s</xliff:g> је онемогућен"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Конференцијски позив"</string>
 </resources>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 87f54bf..8557f28 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Demo startas …"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Enheten återställs …"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Vill du återställa enheten?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Ändringar som du har gjort sparas inte och demon börjar om om <xliff:g id="TIMEOUT">%1$s</xliff:g> sekunder …"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Avbryt"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Återställ nu"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Återställ enheten till standardinställningarna om du vill använda den utan begränsningar"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Tryck här om du vill läsa mer."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> har inaktiverats"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferenssamtal"</string>
 </resources>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 016b918..30f22ff 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1654,11 +1654,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Inaanzisha onyesho..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Inaweka upya kifaa..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Ungependa kuweka upya mipangilio ya kifaa?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Mabadiliko yoyote hayatahifadhiwa. Onyesho litaanza tena baada ya sekunde <xliff:g id="TIMEOUT">%1$s</xliff:g>..."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Ghairi"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Weka upya sasa"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rejesha mipangilio iliyotoka nayo kiwandani ili utumie kifaa hiki bila vikwazo"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Gusa ili kupata maelezo zaidi."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> imezimwa"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Simu ya Kongamano"</string>
 </resources>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index e039296..f606000 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -858,7 +858,7 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> மணிநேரம்</item>
       <item quantity="one">1 மணிநேரம்</item>
     </plurals>
-    <string name="now_string_shortest" msgid="8912796667087856402">"உடனே"</string>
+    <string name="now_string_shortest" msgid="8912796667087856402">"இப்போது"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>நி</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>நி</item>
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"டெமோவைத் தொடங்குகிறது…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"சாதனத்தை மீட்டமைக்கிறது…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"சாதனத்தை மீட்டமைக்கவா?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"மாற்றங்கள் சேமிக்கப்படாது, <xliff:g id="TIMEOUT">%1$s</xliff:g> வினாடிகளில் டெமோ மீண்டும் தொடங்கும்…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ரத்துசெய்"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"இப்போதே மீட்டமை"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"இந்தச் சாதனத்தைக் கட்டுப்பாடுகளின்றிப் பயன்படுத்த, ஆரம்ப நிலைக்கு மீட்டமைக்கவும்"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"மேலும் அறிய தொடவும்."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"முடக்கப்பட்டது: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"குழு அழைப்பு"</string>
 </resources>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index fd7dec1..56c2eac 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"డెమోను ప్రారంభిస్తోంది..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"పరికరాన్ని రీసెట్ చేస్తోంది..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"పరికరాన్ని రీసెట్ చేయాలా?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"మీరు చేసిన ఏవైనా మార్పులను కోల్పోతారు మరియు డెమో <xliff:g id="TIMEOUT">%1$s</xliff:g> సెకన్లలో మళ్లీ ప్రారంభమవుతుంది…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"రద్దు చేయి"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ఇప్పుడే రీసెట్ చేయి"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ఈ పరికరాన్ని ఎటువంటి పరిమితులు లేకుండా ఉపయోగించడానికి ఫ్యాక్టరీ రీసెట్ చేయండి"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"మరింత తెలుసుకోవడానికి తాకండి."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> నిలిపివేయబడింది"</string>
+    <string name="conference_call" msgid="3751093130790472426">"కాన్ఫరెన్స్ కాల్"</string>
 </resources>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 6bd26b5..b64eb8f 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"กำลังเริ่มการสาธิต…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"กำลังรีเซ็ตอุปกรณ์…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"รีเซ็ตอุปกรณ์ไหม"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"การเปลี่ยนแปลงของคุณจะหายไปและการสาธิตจะเริ่มต้นอีกครั้งใน <xliff:g id="TIMEOUT">%1$s</xliff:g> วินาที…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ยกเลิก"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"รีเซ็ตทันที"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"รีเซ็ตเป็นค่าเริ่มต้นเพื่อใช้อุปกรณ์นี้โดยไร้ข้อจำกัด"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"แตะเพื่อเรียนรู้เพิ่มเติม"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"ปิดใช้ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"การประชุมสาย"</string>
 </resources>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 8ef514d..7c91c68 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Sinisimulan ang demo…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Nire-reset ang device…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Gusto mo bang i-reset ang device?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Mawawala mo ang anumang mga pagbabago at magsisimulang muli ang demo pagkalipas ng <xliff:g id="TIMEOUT">%1$s</xliff:g> (na) segundo…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Kanselahin"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"I-reset ngayon"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"I-factory reset upang magamit ang device na ito nang walang mga paghihigpit"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Pindutin upang matuto nang higit pa."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Na-disable ang <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Conference Call"</string>
 </resources>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index b64ece0..805f1d2 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Demo başlatılıyor…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Cihaz sıfırlanıyor…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Cihaz sıfırlansın mı?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Değişiklikleri kaybedeceksiniz ve demo <xliff:g id="TIMEOUT">%1$s</xliff:g> saniye içinde tekrar başlayacak…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"İptal"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Şimdi sıfırla"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Bu cihazı kısıtlama olmadan kullanmak için fabrika ayarlarına sıfırlayın"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Daha fazla bilgi edinmek için dokunun."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> devre dışı"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferans Çağrısı"</string>
 </resources>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index a349008..6694981 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -1728,11 +1728,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Запуск демонстрації…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Скидання налаштувань пристрою…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Скинути налаштування пристрою?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Ви втратите всі зміни, а демонстрація знову почнеться через <xliff:g id="TIMEOUT">%1$s</xliff:g> с…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Скасувати"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Скинути"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Відновіть заводські параметри, щоб використовувати пристрій без обмежень"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Торкніться, щоб дізнатися більше."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> вимкнено"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Конференц-виклик"</string>
 </resources>
diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml
index 316aaea..651d9ea 100644
--- a/core/res/res/values-ur-rPK/strings.xml
+++ b/core/res/res/values-ur-rPK/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"ڈیمو شروع ہو رہا ہے…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"آلہ ری سیٹ ہو رہا ہے…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"آلہ ری سیٹ کریں؟"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"آپ کی تمام تبدیلیاں ضائع ہو جائیں گی اور ڈیمو <xliff:g id="TIMEOUT">%1$s</xliff:g> سیکنڈز میں دوبارہ شروع ہوگا…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"منسوخ کریں"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ابھی ری سیٹ کریں"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"بغیر کسی حدود کے استعمال کرنے کیلئے اس آلے کو فیکٹری ری سیٹ کریں"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"مزید جاننے کیلئے ٹچ کریں۔"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"غیر فعال کردہ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"کانفرنس کال"</string>
 </resources>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index c0fee25..03d16b7 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Demo boshlanmoqda…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Qurilma asl holatga qaytarilmoqda…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Qurilma asl holatga qaytarilsinmi?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Har qanday o‘zgarishlar o‘chib ketadi va demo <xliff:g id="TIMEOUT">%1$s</xliff:g> soniyadan so‘ng yana qayta ishga tushadi…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Bekor qilish"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Asl holatga qaytarish"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Bu qurilmadan cheklovlarsiz foydalanish uchun zavod sozlamalarini tiklang"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Ko‘proq o‘rganish uchun bosing."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> vidjeti o‘chirilgan"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Konferens-aloqa"</string>
 </resources>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 7029d4a..a302ae4 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Đang bắt đầu bản trình diễn..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Đang đặt lại thiết bị..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Đặt lại thiết bị?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Bạn sẽ bị mất mọi thay đổi và bản trình diễn sẽ bắt đầu lại sau <xliff:g id="TIMEOUT">%1$s</xliff:g> giây…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Hủy"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Đặt lại ngay bây giờ"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Khôi phục cài đặt gốc để sử dụng thiết bị này mà không bị hạn chế"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Chạm để tìm hiểu thêm."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Đã tắt <xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Cuộc gọi nhiều bên"</string>
 </resources>
diff --git a/packages/DocumentsUI/res/values/attrs.xml b/core/res/res/values-w194dp/dimens_material.xml
similarity index 74%
rename from packages/DocumentsUI/res/values/attrs.xml
rename to core/res/res/values-w194dp/dimens_material.xml
index 9e13001..220c4b0 100644
--- a/packages/DocumentsUI/res/values/attrs.xml
+++ b/core/res/res/values-w194dp/dimens_material.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
+<!-- Copyright (C) 2016 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 <resources>
-    <declare-styleable name="DocumentsTheme">
-        <attr name="colorActionMode" format="color"/>
-    </declare-styleable>
+    <dimen name="screen_percentage_05">9.7dp</dimen>
+    <dimen name="screen_percentage_10">19.4dp</dimen>
+    <dimen name="screen_percentage_15">29.1dp</dimen>
 </resources>
diff --git a/packages/DocumentsUI/res/values/attrs.xml b/core/res/res/values-w205dp/dimens_material.xml
similarity index 73%
copy from packages/DocumentsUI/res/values/attrs.xml
copy to core/res/res/values-w205dp/dimens_material.xml
index 9e13001..94907ee 100644
--- a/packages/DocumentsUI/res/values/attrs.xml
+++ b/core/res/res/values-w205dp/dimens_material.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
+<!-- Copyright (C) 2016 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 <resources>
-    <declare-styleable name="DocumentsTheme">
-        <attr name="colorActionMode" format="color"/>
-    </declare-styleable>
+    <dimen name="screen_percentage_05">10.25dp</dimen>
+    <dimen name="screen_percentage_10">20.5dp</dimen>
+    <dimen name="screen_percentage_15">30.75dp</dimen>
 </resources>
diff --git a/packages/DocumentsUI/res/values/attrs.xml b/core/res/res/values-w213dp/dimens_material.xml
similarity index 73%
copy from packages/DocumentsUI/res/values/attrs.xml
copy to core/res/res/values-w213dp/dimens_material.xml
index 9e13001..8a4e3a0 100644
--- a/packages/DocumentsUI/res/values/attrs.xml
+++ b/core/res/res/values-w213dp/dimens_material.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
+<!-- Copyright (C) 2016 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 <resources>
-    <declare-styleable name="DocumentsTheme">
-        <attr name="colorActionMode" format="color"/>
-    </declare-styleable>
+    <dimen name="screen_percentage_05">10.65dp</dimen>
+    <dimen name="screen_percentage_10">21.3dp</dimen>
+    <dimen name="screen_percentage_15">31.95dp</dimen>
 </resources>
diff --git a/packages/DocumentsUI/res/values/attrs.xml b/core/res/res/values-w228dp/dimens_material.xml
similarity index 73%
copy from packages/DocumentsUI/res/values/attrs.xml
copy to core/res/res/values-w228dp/dimens_material.xml
index 9e13001..a200975 100644
--- a/packages/DocumentsUI/res/values/attrs.xml
+++ b/core/res/res/values-w228dp/dimens_material.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
+<!-- Copyright (C) 2016 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 <resources>
-    <declare-styleable name="DocumentsTheme">
-        <attr name="colorActionMode" format="color"/>
-    </declare-styleable>
+    <dimen name="screen_percentage_05">11.4dp</dimen>
+    <dimen name="screen_percentage_10">22.8dp</dimen>
+    <dimen name="screen_percentage_15">34.2dp</dimen>
 </resources>
diff --git a/packages/DocumentsUI/res/values/attrs.xml b/core/res/res/values-w240dp/dimens_material.xml
similarity index 74%
copy from packages/DocumentsUI/res/values/attrs.xml
copy to core/res/res/values-w240dp/dimens_material.xml
index 9e13001..a4b58fa 100644
--- a/packages/DocumentsUI/res/values/attrs.xml
+++ b/core/res/res/values-w240dp/dimens_material.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
+<!-- Copyright (C) 2016 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 <resources>
-    <declare-styleable name="DocumentsTheme">
-        <attr name="colorActionMode" format="color"/>
-    </declare-styleable>
+    <dimen name="screen_percentage_05">12dp</dimen>
+    <dimen name="screen_percentage_10">24dp</dimen>
+    <dimen name="screen_percentage_15">36dp</dimen>
 </resources>
diff --git a/core/res/res/values-watch/styles_material.xml b/core/res/res/values-watch/styles_material.xml
index c19cc72..daeeca2 100644
--- a/core/res/res/values-watch/styles_material.xml
+++ b/core/res/res/values-watch/styles_material.xml
@@ -53,6 +53,10 @@
         <item name="wallpaperIntraCloseExitAnimation">@anim/slide_in_exit_micro</item>
     </style>
 
+    <style name="PreferenceFragment.Material" parent="BasePreferenceFragment">
+        <item name="divider">@empty</item>
+    </style>
+
     <style name="Widget.Material.TextView" parent="Widget.TextView">
         <item name="breakStrategy">balanced</item>
     </style>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 43c7073..b5b87c7 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"正在启动演示模式…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"正在重置设备…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"要重置设备吗？"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"您将丢失所有更改，而且演示模式将在 <xliff:g id="TIMEOUT">%1$s</xliff:g> 秒后重新启动…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"取消"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"立即重置"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"恢复出厂设置即可正常使用此设备，不受任何限制"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"触摸即可了解详情。"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"已停用的<xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"电话会议"</string>
 </resources>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index 064d3f7..d912ce5 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"正在開始示範…"</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"正在重設裝置…"</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"要重設裝置嗎？"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"系統將不會儲存變更，示範將於 <xliff:g id="TIMEOUT">%1$s</xliff:g> 秒後重新開始…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"取消"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"立即重設"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"將此裝置回復至原廠設定後，使用將不受限制"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"輕觸以瞭解詳情。"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"「<xliff:g id="LABEL">%1$s</xliff:g>」已停用"</string>
+    <string name="conference_call" msgid="3751093130790472426">"會議通話"</string>
 </resources>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index abf6e5d..3c6c2b3 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"正在啟動示範模式..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"正在重設裝置..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"要重設裝置嗎？"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"系統不會儲存您所做的變更，示範模式將於 <xliff:g id="TIMEOUT">%1$s</xliff:g> 秒後重新開始…"</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"取消"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"立即重設"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"恢復原廠設定即可正常使用這個裝置"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"輕觸即可瞭解詳情。"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"已停用的<xliff:g id="LABEL">%1$s</xliff:g>"</string>
+    <string name="conference_call" msgid="3751093130790472426">"電話會議"</string>
 </resources>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 6389666..e29b05f 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1656,11 +1656,11 @@
     <string name="demo_starting_message" msgid="5268556852031489931">"Iqalisa i-demo..."</string>
     <string name="demo_restarting_message" msgid="952118052531642451">"Isetha kabusha idivayisi..."</string>
     <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Setha kabusha idivayisi?"</string>
-    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_countdown" msgid="5675588824402569506">"Uzolahlekelwa inoma iluphi ushintsho futhi idemo izoqala futhi kumasekhondi angu-<xliff:g id="TIMEOUT">%1$s</xliff:g>..."</string>
     <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Khansela"</string>
     <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Setha kabusha manje"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Setha kabusha ukuze usebenzise idivayisi ngaphandle kwemikhawulo"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Thinta ukuze ufunde kabanzi."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"I-<xliff:g id="LABEL">%1$s</xliff:g> ekhutshaziwe"</string>
+    <string name="conference_call" msgid="3751093130790472426">"Ikholi yengqungquthela"</string>
 </resources>
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index bddd225..10e2a4a 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -151,7 +151,7 @@
     <color name="battery_saver_mode_color">#fff4511e</color><!-- deep orange 600 -->
 
     <!-- Default user icon colors -->
-    <color name="user_icon_1">#ff00bcd4</color><!-- teal 500 -->
+    <color name="user_icon_1">#ff00bcd4</color><!-- cyan 500 -->
     <color name="user_icon_2">#ff3f51b5</color><!-- indigo 500 -->
     <color name="user_icon_3">#ff4285f4</color><!-- blue 500 -->
     <color name="user_icon_4">#ffe91e63</color><!-- pink 500 -->
diff --git a/core/res/res/values/colors_device_defaults.xml b/core/res/res/values/colors_device_defaults.xml
index f33eb6f..27ee27b 100644
--- a/core/res/res/values/colors_device_defaults.xml
+++ b/core/res/res/values/colors_device_defaults.xml
@@ -28,6 +28,8 @@
     <color name="tertiary_device_default_settings">@color/tertiary_material_settings</color>
     <color name="quaternary_device_default_settings">@color/quaternary_material_settings</color>
 
+    <color name="accent_device_default_700">@color/material_deep_teal_700</color>
     <color name="accent_device_default_light">@color/accent_material_light</color>
     <color name="accent_device_default_dark">@color/accent_material_dark</color>
-</resources>
\ No newline at end of file
+    <color name="accent_device_default_50">@color/material_deep_teal_50</color>
+</resources>
diff --git a/core/res/res/values/colors_material.xml b/core/res/res/values/colors_material.xml
index 8a6c229..a864cf3 100644
--- a/core/res/res/values/colors_material.xml
+++ b/core/res/res/values/colors_material.xml
@@ -81,10 +81,12 @@
     <color name="material_grey_100">#fff5f5f5</color>
     <color name="material_grey_50">#fffafafa</color>
 
+    <color name="material_deep_teal_50">#ffe0f2f1</color>
     <color name="material_deep_teal_100">#ffb2dfdb</color>
     <color name="material_deep_teal_200">#ff80cbc4</color>
     <color name="material_deep_teal_300">#ff4db6ac</color>
     <color name="material_deep_teal_500">#ff009688</color>
+    <color name="material_deep_teal_700">#ff00796b</color>
 
     <color name="material_blue_grey_200">#ffb0bec5</color>
     <color name="material_blue_grey_700">#ff455a64</color>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 7d8d811..7d19537 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -754,6 +754,26 @@
     -->
     <integer name="config_defaultNightMode">1</integer>
 
+    <!-- Control whether Night display is available. This should only be enabled on devices
+         with HWC 2.0 or higher. -->
+    <bool name="config_nightDisplayAvailable">false</bool>
+
+    <!-- Default mode to control how Night display is automatically activated.
+         One of the following values (see NightDisplayController.java):
+             0 - AUTO_MODE_DISABLED
+             1 - AUTO_MODE_CUSTOM
+             2 - AUTO_MODE_TWILIGHT
+    -->
+    <integer name="config_defaultNightDisplayAutoMode">1</integer>
+
+    <!-- Default time when Night display is automatically activated.
+         Represented as milliseconds from midnight (e.g. 79200000 == 10pm). -->
+    <integer name="config_defaultNightDisplayCustomStartTime">79200000</integer>
+
+    <!-- Default time when Night display is automatically deactivated.
+         Represented as milliseconds from midnight (e.g. 21600000 == 6am). -->
+    <integer name="config_defaultNightDisplayCustomEndTime">21600000</integer>
+
     <!-- Indicate whether to allow the device to suspend when the screen is off
          due to the proximity sensor.  This resource should only be set to true
          if the sensor HAL correctly handles the proximity sensor as a wake-up source.
diff --git a/core/res/res/values/integers.xml b/core/res/res/values/integers.xml
index 8f8d59e..71ac2f4 100644
--- a/core/res/res/values/integers.xml
+++ b/core/res/res/values/integers.xml
@@ -26,4 +26,5 @@
 
     <integer name="date_picker_mode">1</integer>
     <integer name="time_picker_mode">1</integer>
+    <integer name="date_picker_header_max_lines_material">2</integer>
 </resources>
diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml
index 6e0ad36..fad3488 100644
--- a/core/res/res/values/styles_material.xml
+++ b/core/res/res/values/styles_material.xml
@@ -36,7 +36,7 @@
         <item name="layout">@layout/preference_material</item>
     </style>
 
-    <style name="PreferenceFragment.Material">
+    <style name="BasePreferenceFragment">
         <item name="layout">@layout/preference_list_fragment_material</item>
         <item name="paddingStart">@dimen/preference_fragment_padding_side_material</item>
         <item name="paddingEnd">@dimen/preference_fragment_padding_side_material</item>
@@ -46,6 +46,8 @@
         <item name="clipToPadding">@bool/config_preferenceFragmentClipToPadding</item>
     </style>
 
+    <style name="PreferenceFragment.Material" parent="BasePreferenceFragment"/>
+
     <style name="PreferenceActivity.Material">
         <item name="layout">@layout/preference_list_content_material</item>
         <item name="headerLayout">@layout/preference_header_item_material</item>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index d426d1a..ff5f7d9 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2638,4 +2638,34 @@
 
   <!-- Package name for the device provisioning package -->
   <java-symbol type="string" name="config_deviceProvisioningPackage" />
+
+  <!-- Used for MimeIconUtils. -->
+  <java-symbol type="drawable" name="ic_doc_apk" />
+  <java-symbol type="drawable" name="ic_doc_audio" />
+  <java-symbol type="drawable" name="ic_doc_certificate" />
+  <java-symbol type="drawable" name="ic_doc_codes" />
+  <java-symbol type="drawable" name="ic_doc_compressed" />
+  <java-symbol type="drawable" name="ic_doc_contact" />
+  <java-symbol type="drawable" name="ic_doc_event" />
+  <java-symbol type="drawable" name="ic_doc_font" />
+  <java-symbol type="drawable" name="ic_doc_image" />
+  <java-symbol type="drawable" name="ic_doc_pdf" />
+  <java-symbol type="drawable" name="ic_doc_presentation" />
+  <java-symbol type="drawable" name="ic_doc_spreadsheet" />
+  <java-symbol type="drawable" name="ic_doc_document" />
+  <java-symbol type="drawable" name="ic_doc_video" />
+  <java-symbol type="drawable" name="ic_doc_word" />
+  <java-symbol type="drawable" name="ic_doc_excel" />
+  <java-symbol type="drawable" name="ic_doc_powerpoint" />
+  <java-symbol type="drawable" name="ic_doc_folder" />
+  <java-symbol type="drawable" name="ic_doc_audio" />
+  <java-symbol type="drawable" name="ic_doc_image" />
+  <java-symbol type="drawable" name="ic_doc_text" />
+  <java-symbol type="drawable" name="ic_doc_video" />
+  <java-symbol type="drawable" name="ic_doc_generic" />
+
+  <java-symbol type="bool" name="config_nightDisplayAvailable" />
+  <java-symbol type="integer" name="config_defaultNightDisplayAutoMode" />
+  <java-symbol type="integer" name="config_defaultNightDisplayCustomStartTime" />
+  <java-symbol type="integer" name="config_defaultNightDisplayCustomEndTime" />
 </resources>
diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml
index 774339a..11e06f1 100644
--- a/docs/html/_redirects.yaml
+++ b/docs/html/_redirects.yaml
@@ -149,9 +149,11 @@
   to: /google/play/licensing/index.html
 - from: /google/play/billing/billing_about.html
   to: /google/play/billing/index.html
-- from: /guide/developing/tools/
+- from: /guide/developing/tools/proguard.html
+  to: /studio/build/shrink-code.html
+- from: /guide/developing/tools/...
   to: /studio/command-line/
-- from: /guide/developing/
+- from: /guide/developing/...
   to: /studio/
 - from: /tools/aidl.html
   to: /guide/components/aidl.html
@@ -799,10 +801,24 @@
   to: http://android-developers.blogspot.com/2016/03/first-preview-of-android-n-developer.html
 - from: /reference/org/apache/http/...
   to: /about/versions/marshmallow/android-6.0-changes.html#behavior-apache-http-client
-- from: /shareables/...
-  to: https://commondatastorage.googleapis.com/androiddevelopers/shareables/...
-- from: /downloads/...
-  to: https://commondatastorage.googleapis.com/androiddevelopers/...
+- from: /shareables/
+  to: https://commondatastorage.googleapis.com/androiddevelopers/shareables/
+- from: /downloads/
+  to: https://commondatastorage.googleapis.com/androiddevelopers/
+- from: /training/performance/battery/network/action-any-traffic.html
+  to: /topic/performance/power/network/action-any-traffic.html
+- from: /training/performance/battery/network/action-app-traffic.html
+  to: /topic/performance/power/network/action-app-traffic.html
+- from: /training/performance/battery/network/action-server-traffic.html
+  to: /topic/performance/power/network/action-server-traffic.html
+- from: /training/performance/battery/network/action-user-traffic.html
+  to: /topic/performance/power/network/action-user-traffic.html
+- from: /training/performance/battery/network/analyze-data.html
+  to: /topic/performance/power/network/analyze-data.html
+- from: /training/performance/battery/network/gather-data.html
+  to: /topic/performance/power/network/gather-data.html
+- from: /training/performance/battery/network/index.html
+  to: /topic/performance/power/network/index.html
 
 # Redirects for the new [dac]/topic/libraries/ area
 
@@ -1176,4 +1192,4 @@
 - from: /r/studio-ui/experimental-to-stable-gradle.html
   to: http://tools.android.com/tech-docs/new-build-system/gradle-experimental/experimental-to-stable-gradle
 - from: /r/studio-ui/sdk-manager.html
-  to: https://developer.android.com/studio/intro/update.html#sdk-manager
\ No newline at end of file
+  to: https://developer.android.com/studio/intro/update.html#sdk-manager
diff --git a/docs/html/distribute/engage/_book.yaml b/docs/html/distribute/engage/_book.yaml
index 87e819a..c371268 100644
--- a/docs/html/distribute/engage/_book.yaml
+++ b/docs/html/distribute/engage/_book.yaml
@@ -31,3 +31,6 @@
 
 - title: Get Feedback with Beta Tests
   path: /distribute/engage/beta.html
+
+- title: Interact with Nearby Users
+  path: /distribute/engage/nearby.html
diff --git a/docs/html/distribute/engage/engage_toc.cs b/docs/html/distribute/engage/engage_toc.cs
index 4f3e0af..cc6e2844 100644
--- a/docs/html/distribute/engage/engage_toc.cs
+++ b/docs/html/distribute/engage/engage_toc.cs
@@ -66,6 +66,12 @@
         <span class="en">Get Feedback with Beta Tests</span></a>
     </div>
   </li>
+  <li class="nav-section">
+    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs
+        var:toroot?>distribute/engage/nearby.html">
+        <span class="en">Interact with Nearby Users</span></a>
+    </div>
+  </li>
 </ul>
 
 <script type="text/javascript">
diff --git a/docs/html/distribute/engage/nearby.jd b/docs/html/distribute/engage/nearby.jd
new file mode 100644
index 0000000..b1571f6
--- /dev/null
+++ b/docs/html/distribute/engage/nearby.jd
@@ -0,0 +1,93 @@
+page.title=Interact with Nearby Users
+page.metaDescription=Use the Nearby feature to interact with nearby people, devices, and beacons.
+page.image=images/distribute/nearby_connections.png
+page.tags="users, nearby, engage"
+@jd:body
+
+<p>Create experiences that seem magical for users who are in close proximity by using the unique
+close-range and cross-platform capabilities of Nearby. Set up multiplayer games, ad-hoc groups,
+sharing, or collaborative sessions so that your users can work or play together more easily when
+they're close.</p>
+
+<p>Learn more about <a href="https://developers.google.com/nearby/">how to add nearby interactions
+to your app or game</a>.</p>
+
+<div class="wrap">
+  <div class="cols" style="margin-top:1em;">
+    <div class="col-4of12">
+      <h3>
+        Messaging
+      </h3>
+      <img src="{@docRoot}images/distribute/nearby_messaging.png">
+      <p class="figure-caption">
+        Find nearby devices and share messages to enable rich interactions and collaboration
+        among users.
+      </p>
+    </div>
+
+    <div class="col-4of12">
+      <h3>
+        Connections
+      </h3>
+      <img src="{@docRoot}images/distribute/nearby_connections.png">
+      <p class="figure-caption">
+        Discover other local devices and create connections that enable real-time, cross-device
+        experiences.
+      </p>
+    </div>
+
+    <div class="col-4of12">
+      <h3>
+        Beacons
+      </h3>
+      <img src="{@docRoot}images/distribute/nearby_beacons.png">
+      <p class="figure-caption">
+        Receive messages from beacons using
+        <a href="https://developers.google.com/beacons/eddystone">Eddystone</a> and add context to
+        location-based apps and games.
+      </p>
+    </div>
+  </div>
+</div>
+
+<p class="note"><strong>Note:</strong> Nearby uses Bluetooth 2.0, Bluetooth 4.0, Wi-Fi, and an
+ultrasonic modem to function over distances of up to 100 feet.</p>
+
+<h2 id="best-practices">Best practices</h2>
+
+<p>The following list contains some helpful tips and best practices that will help you set up
+and use Nearby effectively:
+
+<ul>
+  <li>Use Nearby features sparingly and only when they're needed because they can consume battery
+  life quickly (up to 3.5 times faster than normal).
+  </li>
+
+  <li>Invoke Nearby explicitly with a button, switch, or special screen, and provide a visual
+  indication when the features are actively sending or receiving content.
+  </li>
+
+  <li>Ensure that users are aware of the data that is made visible by Nearby before
+  they start using the features.
+  </li>
+
+  <li>Stop any publish or subscribe operations when the user exits the app or stops the
+  activity that requires Nearby.
+  </li>
+
+  <li>Use the <em>earshot</em> option, which uses only the ultrasonic modem to send and receive
+  messages, to limit the range of Nearby messages to about five feet when privacy is important.
+  </li>
+
+  <li>Accelerate the exchange of messages (when appropriate) by making one device the publisher
+  only, and all other devices subscribers.
+  </li>
+</ul>
+
+<h2 id="related-resources">Related resources</h2>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/users/nearby"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="6"></div>
diff --git a/docs/html/distribute/monetize/_book.yaml b/docs/html/distribute/monetize/_book.yaml
index 2ebc695..974e9ed 100644
--- a/docs/html/distribute/monetize/_book.yaml
+++ b/docs/html/distribute/monetize/_book.yaml
@@ -16,3 +16,6 @@
 
 - title: Purchasing
   path: /distribute/monetize/payments.html
+
+- title: Drive Conversions
+  path: /distribute/monetize/conversions.html
diff --git a/docs/html/distribute/monetize/conversions.jd b/docs/html/distribute/monetize/conversions.jd
new file mode 100644
index 0000000..20b2333
--- /dev/null
+++ b/docs/html/distribute/monetize/conversions.jd
@@ -0,0 +1,100 @@
+page.title=Drive Conversions
+page.image=images/cards/card-drive-conversions_16-9_2x.png
+page.metaDescription=Discover where your users are coming from, drive engagement, and surface your in-app products to maximize your conversions.
+page.tags="conversions"
+
+@jd:body
+
+<div class="figure">
+  <img src="{@docRoot}images/cards/card-drive-conversions_16-9_2x.png">
+</div>
+
+<p>
+  Users who've made in-app purchases or converted in other ways are more likely
+  to do so again.
+  You can now easily discover where those users are coming from, drive engagement,
+  and surface your in-app products to maximize your conversions.
+</p>
+
+<div class="headerLine">
+  <h2 id="dicover">
+  Discover your most valuable channels
+  </h2>
+
+</div>
+
+<p>
+  From the <strong>User Acquisition</strong> page in the Google Play Developer Console, explore
+  how users convert into spenders across your acquisition channels and find the best prospects
+  for app install campaigns.
+</p>
+
+<p>For more information, view the guide on how to <a class="external-link"
+ href="https://support.google.com/googleplay/android-developer/answer/6263332">
+ measure your app's user acquisition</a> in the Google Play Developer Console Help Center.</p>
+
+</p>
+
+<div class="headerLine">
+  <h2 id="adwords">
+  Re-engage users with AdWords ads
+  </h2>
+
+</div>
+
+<p>
+  Bring users back to your app by creating an AdWords re-engagement campaign.
+  Use display and search ads that appear only to users who have installed your app.
+  Use deep links to bring them to where they'll find the content or actions they're
+  searching for.
+</p>
+
+<p>For more information, view the guide on <a class="external-link"
+ href="https://support.google.com/adwords/topic/3119078?hl=en">campaign settings</a> in the
+ AdWords Help Center.</p>
+
+<div class="headerLine">
+  <h2 id="gift-cards">
+  Drive spending with AdMob in-app purchase ads
+  </h2>
+</div>
+
+<p>Use your Google Analytics data to create Remarketing Audience lists for the high-value
+ users most likely to purchase products within your app. Then create an AdMob campaign that
+ targets these users to increase their awareness of your products.</p>
+
+<p>For more information, view the guide on how to <a class="external-link"
+ href="https://www.google.com/admob/promote.html">drive more in-app purchases and installs</a>
+ in the AdMob platform.</p>
+
+<div class="headerLine">
+  <h2 id="tips">
+  Tips
+  </h2>
+</div>
+<ul>
+<li>Add <a class="external-link"
+ href="https://developers.google.com/app-indexing/webmasters/app">deep links</a>
+ to your app so ads bring users directly to
+ conversion activities.</li>
+<li>Track what users do in your app by installing the
+ AdWords <a class="external-link"
+ href="https://developers.google.com/app-conversion-tracking">
+ Conversion Tracking SDK</a>.</li>
+<li>Link your Google Analytics and AdMob accounts to share audience lists.</li>
+<li>Make conversion ads compelling, such as promoting a booking search or
+ in-app product special offer.</li>
+<li>Use the AdMob Conversion Optimizer with existing campaigns. Predictions
+ are more accurate when there is more data to work with.</li>
+<li>Re-engage with your app's users across the Display Network with remarketing
+ lists in AdMob and with search keywords in AdWords.</li>
+</ul>
+
+
+<div class="headerLine"><h2 id="related-resources">Related resources</h2></div>
+
+<div class="resource-widget resource-flow-layout col-13"
+  data-query="collection:distribute/monetize/conversions"
+  data-sortOrder="-timestamp"
+  data-cardSizes="9x3"
+  data-maxResults="8"></div>
diff --git a/docs/html/distribute/monetize/monetize_toc.cs b/docs/html/distribute/monetize/monetize_toc.cs
index a3aa50f..b586633 100644
--- a/docs/html/distribute/monetize/monetize_toc.cs
+++ b/docs/html/distribute/monetize/monetize_toc.cs
@@ -34,6 +34,12 @@
         </a>
     </div>
   </li>
+  <li class="nav-section">
+    <div class="nav-section-header empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/monetize/conversions.html">
+          <span class="en">Drive Conversions</span>
+        </a>
+    </div>
+  </li>
 
 </ul>
 
@@ -44,4 +50,3 @@
     changeNavLang(getLangPref());
 //-->
 </script>
-
diff --git a/docs/html/distribute/monetize/payments.jd b/docs/html/distribute/monetize/payments.jd
index 7d972bb..004e47e 100644
--- a/docs/html/distribute/monetize/payments.jd
+++ b/docs/html/distribute/monetize/payments.jd
@@ -15,36 +15,43 @@
   instantly with a streamlined, consistent purchasing process and convenient
   payment methods.
 </p>
-
+<p><strong>Key facts</strong></p>
+<ul>
+<li>Direct carrier billing in over 35 countries.</li>
+<li>Google Play gift cards in over 25 countries.</li>
+<li>PayPal in over 20 countries.</li>
+<li>Developers can sell their apps from over 75 countries.</li>
+<li>Users can buy apps in over 135 countries.</li>
+</ul>
 <div class="headerLine">
   <h2 id="dcb">
-  Direct Carrier Billing
+  Direct carrier billing
   </h2>
 
 
 </div>
 
 <p>
-  Users pay by charging their monthly carrier bills . The benefit of Direct
-  Carrier Billing is that it opens up markets where credit cards are less
-  common, as purchases are charged to your customers’ monthly mobile phone
+  Users pay by charging their monthly carrier bills. The benefit of direct
+  carrier billing is that it opens up markets where credit cards are less
+  common, as purchases are charged to your customers' monthly mobile phone
   bills. This option is available to users in key markets
   around the world. Many more will get the option in the months ahead.
 </p>
 
 <div class="headerLine">
   <h2 id="credit">
-  Credit Cards
+  Credit cards
   </h2>
 
 </div>
 
 <p>
-  Users can pay using any credit card that they’ve registered in Google Play.
-  Credit Cards added to Google Play are stored in the user’s Google wallet and
-  available for in-app purchases and instant buys too. To make it easy for
-  users to get started, registration is offered as a part of the initial device
-  setup process.
+  Users can pay using any credit card that they've registered in Google Play.
+  The credit cards that a user adds to Google Play are stored in the user's Google wallet.
+  They are available for in-app purchases and instant buys. It's easy for
+  users to get started, as the initial device setup process allows users to register a credit
+  card that they can use in Google Play.
 </p>
 
 <div class="headerLine">
@@ -62,16 +69,40 @@
 <p>
   Gift cards enable users to add value to their Google Play balance by entering
   a unique code printed on a card purchased online or from major retailers.
-  More information gift cards can be found <a href=
+  More information on gift cards can be found <a href=
   "http://play.google.com/intl/en-US_us/about/giftcards/" target=
   "_android">here</a>.
 </p>
 
 <p style="clear:both">
 </p>
+
+<div class="headerLine">
+  <h2 id="paypal">
+  PayPal
+  </h2>
+
+
+</div>
+
+<div class="figure">
+  <img src="{@docRoot}images/paypal-logo.png">
+</div>
+
+<p>
+  Users with PayPal accounts can buy apps and digital content on Google Play using any
+  of their available payment methods. They sign into their PayPal account and
+  complete the purchase. The popularity of PayPal for payments on the web gives
+  you more customers.
+</p>
+
+<p style="clear:both">
+</p>
+
+
 <div class="headerLine">
   <h2 id="balance">
-  Google Play Balance
+  Google Play balance
   </h2>
 
 
@@ -95,14 +126,13 @@
   The payment methods available to users may vary based on location, carrier
   network, and other factors.
 </p>
- 
+
 <p style="clear:both">
 </p>
-<div class="headerLine"><h2 id="related-resources">Related Resources</h2></div>
+<div class="headerLine"><h2 id="related-resources">Related resources</h2></div>
 
 <div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/monetize/paymentmethods"
   data-sortOrder="-timestamp"
   data-cardSizes="9x3"
   data-maxResults="8"></div>
-
diff --git a/docs/html/distribute/users/promote-with-ads.jd b/docs/html/distribute/users/promote-with-ads.jd
index 2db4ca3..d99f449 100644
--- a/docs/html/distribute/users/promote-with-ads.jd
+++ b/docs/html/distribute/users/promote-with-ads.jd
@@ -6,20 +6,27 @@
 
 <p>Users have a huge amount of choice when it comes to which apps they install and
 use, so it’s important to actively find new ways to promote your app and drive
-ongoing engagement. AdWords is a powerful and effective way to do both.</p>
+ongoing engagement. AdWords campaigns, which you create in the
+<a href="http://play.google.com/apps/publish">Google Play Developer Console</a>,
+are a powerful and effective way to do both.</p>
 
 
-<h2 id=drive_installs>Drive installs</h2>
+<h2 id="drive_installs">Drive installs with universal app campaigns</h2>
 
-<p><a href="http://adwords.google.com">AdWords</a> promotes your app to interested
-users where they spend time on phones and
-tablets – with app install ads on Google Search, YouTube, Gmail, and within
-apps and across the web on  the Google Display Network. AdWords is a powerful
-way to scale app promotion across Google networks and find customers that are
-most likely to install your app. </p>
+<p><a href="http://adwords.google.com">AdWords</a> is a powerful way to scale
+app promotion across Google networks and find customers who are most likely to
+install your app. AdWords promotes your app to interested users where they spend
+time on phones and tablets – with app install ads on Google Play, Google Search,
+YouTube, Gmail, and within apps and across the web.</p>
 
-<p><a href="https://support.google.com/adwords/answer/6032059">Get started with AdWords
-app install ads</a>.</p>
+<p>By creating a <em>universal app camapign</em>, you can reach all of these
+networks. This type of campaign allocates ads, bids, and budgets automatically,
+making it easier to improve install volume for your app.</p>
+
+<p>To learn more about creating universal ad campaigns, read the article about
+<a class="external-link" href="https://support.google.com/googleplay/android-developer/answer/6262700">creating
+an AdWords campaign for your app</a> in the Google Play Developer Console Help
+Center.</p>
 
 <div class="wrap">
   <div class="cols" style="margin-top:1em;">
@@ -27,18 +34,16 @@
       <h3>
         From Google Play
       </h3>
-      <img src="/images/distribute/promote_ads_play.png">
+      <img src="{@docRoot}images/distribute/promote_ads_play.png">
       <p class="figure-caption">
-        Promote your app on Google Play when users are searching and browsing
-        for apps.
+        Reach users as they search for apps and games on Google Play.
       </p>
     </div>
-
     <div class="col-4of12">
       <h3>
-        From search
+        From Google Search
       </h3>
-      <img src="/images/distribute/promote_ads_search.png">
+      <img src="{@docRoot}images/distribute/promote_ads_search.png">
       <p class="figure-caption">
         Connect with users as they search for content and services provided by
         your app.
@@ -49,47 +54,32 @@
       <h3>
         From YouTube
       </h3>
-      <img src="/images/distribute/promote_ads_youtube.png">
+      <img src="{@docRoot}images/distribute/promote_ads_youtube.png">
       <p class="figure-caption">
         Promote your app when users are watching related videos.
       </p>
     </div>
-  </div>
-</div>
 
-<div class="wrap">
-  <div class="cols" style="margin-top:1em;">
     <div class="col-4of12">
       <h3>
         From apps
       </h3>
-      <img src="/images/distribute/promote_ads_apps.png">
+      <img src="{@docRoot}images/distribute/promote_ads_apps.png">
       <p class="figure-caption">
         Reach users while they’re engaged with apps and games across the AdMob
         network.
       </p>
     </div>
-
     <div class="col-4of12">
       <h3>
         From the web
       </h3>
-      <img src="/images/distribute/promote_ads_web.png">
+      <img src="{@docRoot}images/distribute/promote_ads_web.png">
       <p class="figure-caption">
         Reach users while they’re engaged with websites across the Google
         Display Network.
       </p>
     </div>
-
-    <div class="col-4of12">
-      <h3>
-        From Gmail
-      </h3>
-      <img src="/images/distribute/promote_ads_gmail.png">
-      <p class="figure-caption">
-        Promote your app while users communicate and get things done in Gmail.
-      </p>
-    </div>
   </div>
 </div>
 
@@ -130,77 +120,7 @@
   </li>
 </ul>
 
-<h2 id="engage_with_users">
-  Engage with users
-</h2>
-
-<p>
-  Getting a user to install an app is one thing, but you'll also want them to
-  open it regularly. AdWords offers app re-engagement tools to help your app
-  stay in mind with users who’ve already installed it on their phone. AdWords
-  can remind them of key features and encourage them to try your app again, or
-  help them complete an activity they didn't know your app could handle.
-</p>
-
-<div class="wrap">
-  <div class="cols" style="margin-top:1em;">
-    <div class="col-4of12">
-      <h3>
-        From search
-      </h3>
-      <img src="/images/distribute/promote_ads.png">
-      <p class="figure-caption">
-        Add deep links to your app, then bring users straight to relevant app
-        content when they’re searching.
-      </p>
-    </div>
-
-    <div class="col-4of12">
-      <h3>
-        From apps
-      </h3>
-      <img src="/images/distribute/promote_ads_inapp.png">
-      <p class="figure-caption">
-        Use remarketing and deep links to bring users to just the right place
-        in your app to re-engage and convert, from other apps and games they
-        love.
-      </p>
-    </div>
-  </div>
-</div>
-
-<h3>
-  Tips
-</h3>
-
-<ul>
-  <li>Track what users do in your app after they’ve clicked an ad, by
-  installing the AdWords <a href=
-  "https://developers.google.com/app-conversion-tracking/">conversion tracking
-  SDK</a>.
-  </li>
-
-  <li>Advertise a compelling reason for users to re-engage with your app (such
-  as a reminder or a special offer).
-  </li>
-
-  <li>
-    <a href="https://developers.google.com/app-indexing/webmasters/app">Add
-    deep links</a> to your app that’ll take users directly to the parts of your
-    app that will be most relevant and interesting to them, where they can
-    easily take action.
-  </li>
-
-  <li>Re-engage your app users across the display network with remarketing
-  lists and search with keywords.
-  </li>
-
-  <li>Use remarketing lists to target high value users so that you can drive
-  more conversions in your app.
-  </li>
-</ul>
-
-<h2 id="related-resources">Related Resources</h2>
+<h2 id="related-resources">Related resources</h2>
 
 <div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/users/promotewithads"
diff --git a/docs/html/guide/topics/ui/accessibility/apps.jd b/docs/html/guide/topics/ui/accessibility/apps.jd
index 90781f7..eb639e3 100644
--- a/docs/html/guide/topics/ui/accessibility/apps.jd
+++ b/docs/html/guide/topics/ui/accessibility/apps.jd
@@ -454,18 +454,20 @@
 
 <pre>
 &#64;Override
-public void dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
-    super.dispatchPopulateAccessibilityEvent(event);
+public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
     // Call the super implementation to populate its text to the event, which
     // calls onPopulateAccessibilityEvent() on API Level 14 and up.
-
+    boolean completed = super.dispatchPopulateAccessibilityEvent(event);
+    
     // In case this is running on a API revision earlier that 14, check
     // the text content of the event and add an appropriate text
     // description for this custom view:
     CharSequence text = getText();
     if (!TextUtils.isEmpty(text)) {
         event.getText().add(text);
+        return true;
     }
+    return completed;
 }
 </pre>
 
diff --git a/docs/html/images/cards/card-drive-conversions_16-9_2x.png b/docs/html/images/cards/card-drive-conversions_16-9_2x.png
new file mode 100644
index 0000000..3448012
--- /dev/null
+++ b/docs/html/images/cards/card-drive-conversions_16-9_2x.png
Binary files differ
diff --git a/docs/html/images/distribute/nearby_beacons.png b/docs/html/images/distribute/nearby_beacons.png
new file mode 100644
index 0000000..aba2f39
--- /dev/null
+++ b/docs/html/images/distribute/nearby_beacons.png
Binary files differ
diff --git a/docs/html/images/distribute/nearby_connections.png b/docs/html/images/distribute/nearby_connections.png
new file mode 100644
index 0000000..52e6daa
--- /dev/null
+++ b/docs/html/images/distribute/nearby_connections.png
Binary files differ
diff --git a/docs/html/images/distribute/nearby_messaging.png b/docs/html/images/distribute/nearby_messaging.png
new file mode 100644
index 0000000..6ae2d00
--- /dev/null
+++ b/docs/html/images/distribute/nearby_messaging.png
Binary files differ
diff --git a/docs/html/images/distribute/promote_ads_apps.png b/docs/html/images/distribute/promote_ads_apps.png
index 2f57865..1c25be3 100644
--- a/docs/html/images/distribute/promote_ads_apps.png
+++ b/docs/html/images/distribute/promote_ads_apps.png
Binary files differ
diff --git a/docs/html/images/distribute/promote_ads_gmail.png b/docs/html/images/distribute/promote_ads_gmail.png
index 1d21b4a..c1013fc 100644
--- a/docs/html/images/distribute/promote_ads_gmail.png
+++ b/docs/html/images/distribute/promote_ads_gmail.png
Binary files differ
diff --git a/docs/html/images/distribute/promote_ads_play.png b/docs/html/images/distribute/promote_ads_play.png
index 1cf51b2..ae0f84b 100644
--- a/docs/html/images/distribute/promote_ads_play.png
+++ b/docs/html/images/distribute/promote_ads_play.png
Binary files differ
diff --git a/docs/html/images/distribute/promote_ads_search.png b/docs/html/images/distribute/promote_ads_search.png
index 27c0b38..adcede1 100644
--- a/docs/html/images/distribute/promote_ads_search.png
+++ b/docs/html/images/distribute/promote_ads_search.png
Binary files differ
diff --git a/docs/html/images/distribute/promote_ads_web.png b/docs/html/images/distribute/promote_ads_web.png
index 588a3d4..8fefed1 100644
--- a/docs/html/images/distribute/promote_ads_web.png
+++ b/docs/html/images/distribute/promote_ads_web.png
Binary files differ
diff --git a/docs/html/images/distribute/promote_ads_youtube.png b/docs/html/images/distribute/promote_ads_youtube.png
index e88a796..ad44e51 100644
--- a/docs/html/images/distribute/promote_ads_youtube.png
+++ b/docs/html/images/distribute/promote_ads_youtube.png
Binary files differ
diff --git a/docs/html/images/paypal-logo.png b/docs/html/images/paypal-logo.png
new file mode 100644
index 0000000..3e08b95
--- /dev/null
+++ b/docs/html/images/paypal-logo.png
Binary files differ
diff --git a/docs/html/images/training/performance/animation-frames.png b/docs/html/images/training/performance/animation-frames.png
new file mode 100644
index 0000000..846c9fe4
--- /dev/null
+++ b/docs/html/images/training/performance/animation-frames.png
Binary files differ
diff --git a/docs/html/images/training/performance/animation-frames_2x.png b/docs/html/images/training/performance/animation-frames_2x.png
new file mode 100644
index 0000000..0aba2a5
--- /dev/null
+++ b/docs/html/images/training/performance/animation-frames_2x.png
Binary files differ
diff --git a/docs/html/images/training/performance/apk-structure.png b/docs/html/images/training/performance/apk-structure.png
new file mode 100644
index 0000000..75a180c
--- /dev/null
+++ b/docs/html/images/training/performance/apk-structure.png
Binary files differ
diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js
index aa0620a..03efa86 100644
--- a/docs/html/jd_collections.js
+++ b/docs/html/jd_collections.js
@@ -419,7 +419,8 @@
       "distribute/engage/easy-signin.html",
       "distribute/analyze/build-better-apps.html",
       "distribute/engage/gcm.html",
-      "distribute/engage/beta.html"
+      "distribute/engage/beta.html",
+      "distribute/engage/nearby.html"
     ]
   },
   "distribute/monetize": {
@@ -430,6 +431,7 @@
       "distribute/monetize/ads.html",
       "distribute/monetize/ecommerce.html",
       "distribute/monetize/payments.html",
+      "distribute/monetize/conversions.html",
       "distribute/analyze/understand-user-value.html",
     ]
   },
@@ -761,6 +763,14 @@
       "https://support.google.com/adwords/answer/6167162"
     ]
   },
+  "distribute/users/nearby": {
+    "title": "",
+    "resources": [
+      "https://developers.google.com/nearby/",
+      "https://www.youtube.com/watch?v=hultDpBS22s",
+      "https://developers.google.com/beacons"
+    ]
+  },
   "distribute/users/buildbuzz": {
     "title": "",
     "resources": [
@@ -1556,6 +1566,15 @@
       "https://support.google.com/googleplay/answer/2651410"
     ]
   },
+  "distribute/monetize/conversions": {
+    "title": "",
+    "resources": [
+      "https://support.google.com/adwords/answer/2471188",
+      "https://developers.google.com/app-conversion-tracking/",
+      "https://support.google.com/analytics/answer/2611404",
+      "https://support.google.com/adwords/answer/1704341"
+    ]
+  },
   "autolanding": {
     "title": "",
     "resources": [
diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js
index e5347d9..44ccafa 100644
--- a/docs/html/jd_extras.js
+++ b/docs/html/jd_extras.js
@@ -1942,7 +1942,7 @@
     "url": "https://support.google.com/googleplay/answer/2651410",
     "timestamp": null,
     "image": "images/play_dev.jpg",
-    "title": "Google Play Accepted Payment Methods",
+    "title": "Google Play accepted payment methods",
     "summary": "Support details on the payment methods supported in Google Play.",
     "keywords": ["gift card"],
     "type": "distribute",
@@ -1951,6 +1951,59 @@
   {
     "lang": "en",
     "group": "",
+    "tags": [],
+    "url": "https://support.google.com/adwords/answer/2471188",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "AdWords Conversion Optimizer",
+    "summary": "Learn how Conversion Optimizer works to find the users who are most likely to convert and to serve them your conversion ads.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://developers.google.com/app-conversion-tracking/",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Track conversions with the AdWords SDK or server API",
+    "summary": "Use the lightweight AdWords app SDK or server-to-server API to track remarketing conversions.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/analytics/answer/2611404",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Create Remarketing Audiences in Google Analytics",
+    "summary": "Learn how to use preconfigured audiences created by the Analytics team or create your own to use in your conversion campaigns.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/adwords/answer/1704341",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Link your Google Analytics and AdWords accounts",
+    "summary": "Gain greater insight into how AdWords is driving app engagement and conversions, and use this insight to improve your ads and app.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+
+  {
+    "lang": "en",
+    "group": "",
     "tags": ["plus", "social"],
     "url": "https://plus.google.com/+AndroidDevelopers/",
     "timestamp": null,
@@ -2719,7 +2772,6 @@
     "type": "material design",
     "titleFriendly": ""
   },
-
   {
     "lang": "en",
     "group": "",
@@ -2737,6 +2789,45 @@
     "lang": "en",
     "group": "",
     "tags": [],
+    "url": "https://developers.google.com/nearby/",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Create features based on proximity",
+    "summary": "Build simple interactions between nearby devices and people.",
+    "keywords": ["nearby", "engage"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://www.youtube.com/watch?v=hultDpBS22s",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Use Nearby Messages to collaborate",
+    "summary": "Nearby Messages is perfect for setting up ad-hoc groups, collaborative sessions, or sharing resources with people in a co-located space.",
+    "keywords": ["nearby", "engage"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://developers.google.com/beacons",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Mark up the world using beacons",
+    "summary": "Give your users better location and proximity experiences by providing a strong context signal for their devices in the form of Bluetooth low energy (BLE) beacons with Eddystone.",
+    "keywords": ["nearby", "engage"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
     "url": "https://support.google.com/adwords/answer/6167164",
     "timestamp": null,
     "image": "distribute/images/advertising.jpg",
diff --git a/docs/html/jd_extras_en.js b/docs/html/jd_extras_en.js
index dc152f8..434f211 100644
--- a/docs/html/jd_extras_en.js
+++ b/docs/html/jd_extras_en.js
@@ -1943,13 +1943,65 @@
     "url": "https://support.google.com/googleplay/answer/2651410",
     "timestamp": null,
     "image": "images/cards/google-play_2x.png",
-    "title": "Google Play Accepted Payment Methods",
+    "title": "Google Play accepted payment methods",
     "summary": "Support details on the payment methods supported in Google Play.",
     "keywords": ["gift card"],
     "type": "distribute",
     "category": "google play"
   },
   {
+   "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/adwords/answer/2471188",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "AdWords Conversion Optimizer",
+    "summary": "Learn how Conversion Optimizer works to find the users who are most likely to convert and to serve them your conversion ads.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://developers.google.com/app-conversion-tracking/",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Track conversions with the AdWords SDK or server API",
+    "summary": "Use the lightweight AdWords app SDK or server-to-server API to track remarketing conversions.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/analytics/answer/2611404",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Create Remarketing Audiences in Google Analytics",
+    "summary": "Learn how to use preconfigured audiences created by the Analytics team or create your own to use in your conversion campaigns.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://support.google.com/adwords/answer/1704341",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Link your Google Analytics and AdWords accounts",
+    "summary": "Gain greater insight into how AdWords is driving app engagement and conversions, and use this insight to improve your ads and app.",
+    "keywords": [],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
     "lang": "en",
     "group": "",
     "tags": ["plus", "social"],
@@ -2699,6 +2751,45 @@
     "lang": "en",
     "group": "",
     "tags": [],
+    "url": "https://developers.google.com/nearby/",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Create features based on proximity",
+    "summary": "Build simple interactions between nearby devices and people.",
+    "keywords": ["nearby", "engage"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://www.youtube.com/watch?v=hultDpBS22s",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Use Nearby Messages to collaborate",
+    "summary": "Nearby Messages is perfect for setting up ad-hoc groups, collaborative sessions, or sharing resources with people in a co-located space.",
+    "keywords": ["nearby", "engage"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
+    "url": "https://developers.google.com/beacons",
+    "timestamp": null,
+    "image": "images/play_dev.jpg",
+    "title": "Mark up the world using beacons",
+    "summary": "Give your users better location and proximity experiences by providing a strong context signal for their devices in the form of Bluetooth low energy (BLE) beacons with Eddystone.",
+    "keywords": ["nearby", "engage"],
+    "type": "distribute",
+    "titleFriendly": ""
+  },
+  {
+    "lang": "en",
+    "group": "",
+    "tags": [],
     "url": "https://support.google.com/adwords/answer/6167164",
     "timestamp": null,
     "image": "distribute/images/advertising.jpg",
@@ -3613,6 +3704,59 @@
     "lang":"en",
     "type":"Video"
   },
+
+  {
+    "title":"Android Performance Testing Codelab",
+    "titleFriendly":"",
+    "summary":"This codelab shows how to create a stable and reusable testing harness to run performance tests on a very simple existing app.",
+    "url":"https://codelabs.developers.google.com/codelabs/android-perf-testing/index.html",
+    "group":"",
+    "keywords": ["testing"],
+    "tags": [
+    ],
+    "image":"images/testing/testing-icon.png",
+    "type":"google"
+  },
+
+  {
+    "title":"Introduction to Doze",
+    "category":"android developers",
+    "summary":"A new way for the device to preserve battery by entering into an idle state.",
+    "url":"https://www.youtube.com/watch?v=N72ksDKrX6c",
+    "group":"",
+    "keywords": ["android, performance","battery"],
+    "tags": ["video, performance"],
+    "image":"https://i1.ytimg.com/vi/N72ksDKrX6c/maxresdefault.jpg",
+    "lang":"en",
+    "type":"develop"
+  },
+
+  {
+    "title":"Performance Profiling Tools",
+    "category":"training",
+    "summary":"Take a look under the hood to identify performance bottlenecks.",
+    "url":"https://developer.android.com/tools/performance/index.html",
+    "group":"",
+    "keywords": ["android, performance","profiling"],
+    "tags": ["android, performance"],
+    "image": null,
+    "lang":"en",
+    "type":"develop"
+  },
+
+  {
+    "title":"Managing Your App's Memory",
+    "category":"training",
+    "summary":"Learn how you can proactively reduce memory usage while developing for Android.",
+    "url":"https://developer.android.com/training/articles/memory.html",
+    "group":"",
+    "keywords": ["android, performance","profiling"],
+    "tags": ["android, performance"],
+    "image": null,
+    "lang":"en",
+    "type":"develop"
+  },
+
   {
     "url":"https://www.youtube.com/watch?v=QDM52bblwlg",
     "image": "images/distribute/hero-family-discovery.jpg",
@@ -4107,7 +4251,8 @@
       "distribute/engage/easy-signin.html",
       "distribute/analyze/build-better-apps.html",
       "distribute/engage/gcm.html",
-      "distribute/engage/beta.html"
+      "distribute/engage/beta.html",
+      "distribute/engage/nearby.html"
     ]
   },
   "distribute/monetize": {
@@ -4118,6 +4263,7 @@
       "distribute/monetize/ads.html",
       "distribute/monetize/ecommerce.html",
       "distribute/monetize/payments.html",
+      "distribute/monetize/conversions.html",
       "distribute/analyze/understand-user-value.html",
     ]
   },
@@ -4427,6 +4573,14 @@
       "https://support.google.com/adwords/answer/6167162"
     ]
   },
+  "distribute/users/nearby": {
+    "title": "",
+    "resources": [
+      "https://developers.google.com/nearby/",
+      "https://www.youtube.com/watch?v=hultDpBS22s",
+      "https://developers.google.com/beacons"
+    ]
+  },
   "distribute/users/buildbuzz": {
     "title": "",
     "resources": [
@@ -5064,6 +5218,15 @@
       "https://support.google.com/googleplay/answer/2651410"
     ]
   },
+  "distribute/monetize/conversions": {
+     "title": "",
+     "resources": [
+       "https://support.google.com/adwords/answer/2471188",
+       "https://developers.google.com/app-conversion-tracking/",
+       "https://support.google.com/analytics/answer/2611404",
+       "https://support.google.com/adwords/answer/1704341"
+     ]
+   },
   "topic/libraries": {
     "title": "",
     "resources": [
@@ -5379,12 +5542,26 @@
       "preview/support.html"
     ]
   },
+
   "preview/landing/videos/first": {
     "title": "",
     "resources": [
     "https://www.youtube.com/watch?v=CsulIu3UaUM"
     ]
   },
+
+  "develop/performance/landing": {
+    "title": "",
+    "resources": [
+      "https://android-developers.blogspot.com/2010/07/multithreading-for-performance.html",
+      "https://www.udacity.com/course/ud825",
+      "https://www.youtube.com/watch?v=N72ksDKrX6c",
+      "tools/performance/index.html",
+      "https://codelabs.developers.google.com/codelabs/android-perf-testing/index.html",
+      "training/articles/memory.html",
+    ]
+  },
+
   "preview/landing/more": {
     "title": "",
     "resources": [
diff --git a/docs/html/ndk/downloads/_book.yaml b/docs/html/ndk/downloads/_book.yaml
deleted file mode 100644
index a5e92ce..0000000
--- a/docs/html/ndk/downloads/_book.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-toc:
-- title: Downloads
-  path: /ndk/downloads/index.html
-
-- title: Revision History
-  path: /ndk/downloads/revision_history.html
diff --git a/docs/html/ndk/downloads/downloads_toc.cs b/docs/html/ndk/downloads/downloads_toc.cs
deleted file mode 100644
index dbe8aec..0000000
--- a/docs/html/ndk/downloads/downloads_toc.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-<?cs # Table of contents for Dev Guide.
-
-       For each document available in translation, add an localized title to this TOC.
-       Do not add localized title for docs not available in translation.
-       Below are template spans for adding localized doc titles. Please ensure that
-       localized titles are added in the language order specified below.
-?>
-
-<ul id="nav">
-   <li class="nav-section">
-      <div class="nav-section-header empty"><a href="/ndk/downloads/index.html"><span class="en">
-      Downloads</span></a></div>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header empty"><a href="/ndk/downloads/revision_history.html">
-      <span class="en">Revision History</span></a></div>
-   </li>
-</ul>
-
-
-<script type="text/javascript">
-<!--
-    buildToggleLists();
-    changeNavLang(getLangPref());
-//-->
-</script>
-
diff --git a/docs/html/ndk/downloads/index.jd b/docs/html/ndk/downloads/index.jd
deleted file mode 100644
index 28860b2..0000000
--- a/docs/html/ndk/downloads/index.jd
+++ /dev/null
@@ -1,530 +0,0 @@
-ndk=true
-page.template=sdk
-page.title=NDK Downloads
-
-@jd:body
-
-
-<!-- start studio download modal -->
-<div data-modal="ndk_tos" class="dac-modal" id="ndk_tos">
-  <div class="dac-modal-container">
-    <div class="dac-modal-window">
-      <header class="dac-modal-header">
-        <div class="dac-modal-header-actions">
-          <button class="dac-modal-header-close" data-modal-toggle></button>
-        </div>
-        <section class="dac-swap-section dac-active dac-down">
-          <h2 class="norule dac-modal-header-title" id="tos-header">Download the Android NDK</h2>
-        </section>
-      </header>
-      <section class="dac-swap-section dac-active dac-left">
-          <section class="dac-modal-content">
-            <fieldset class="dac-form-fieldset">
-              <div class="cols">
-                <div class="col-2of2 tos-leftCol">
-                  <p class="sdk-terms-intro">Before installing the Android
-                  NDK,
-                  you must agree to the following terms
-                  and conditions.</p>
-                </div>
-<div class="sdk-terms" style="width:auto" onfocus="this.blur()">
-<h2 class="norule">Terms and Conditions</h2>
-This is the Android Software Development Kit License Agreement
-
-<h3>1. Introduction</h3>
-1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and
-specifically including the Android system files, packaged APIs, and Google APIs add-ons) is
-licensed to you subject to the terms of the License Agreement. The License Agreement forms a
-legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 "Android" means the Android software stack for devices, as made available under the Android
-Open Source Project, which is located at the following URL: http://source.android.com/, as updated
-from time to time.
-
-1.3 A "compatible implementation" means any Android device that (i) complies with the Android
-Compatibility Definition document, which can be found at the Android compatibility website
-(http://source.android.com/compatibility) and which may be updated from time to time; and (ii)
-successfully passes the Android Compatibility Test Suite (CTS).
-
-1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600
-Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-
-<h3>2. Accepting this License Agreement</h3>
-2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK
-if you do not accept the License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of the License Agreement.
-
-2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred
-from receiving the SDK under the laws of the United States or other countries, including the
-country in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other
-entity, you represent and warrant that you have full legal authority to bind your employer or such
-entity to the License Agreement. If you do not have the requisite authority, you may not accept the
-License Agreement or use the SDK on behalf of your employer or other entity.
-
-
-<h3>3. SDK License from Google</h3>
-3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide,
-royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to
-develop applications for compatible implementations of Android.
-
-3.2 You may not use this SDK to develop applications for other platforms (including non-compatible
-implementations of Android) or to develop another SDK. You are of course free to develop
-applications for other platforms, including non-compatible implementations of Android, provided
-that this SDK is not used for that purpose.
-
-3.3 You agree that Google or third parties own all legal right, title and interest in and to the
-SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property
-Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law,
-and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement.
-Except to the extent required by applicable third party licenses, you may not: (a) copy (except for
-backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create
-derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile
-handset or any other hardware device except a personal computer, combine any part of the SDK with
-other software, or distribute any software or device incorporating a part of the SDK.
-
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source
-software license are governed solely by the terms of that open source software license and not the
-License Agreement.
-
-3.6 You agree that the form and nature of the SDK that Google provides may change without prior
-notice to you and that future versions of the SDK may be incompatible with applications developed
-on previous versions of the SDK. You agree that Google may stop (permanently or temporarily)
-providing the SDK (or any features within the SDK) to you or to users generally at Google's sole
-discretion, without prior notice to you.
-
-3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names,
-trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including
-copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-
-<h3>4. Use of the SDK by You</h3>
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under
-the License Agreement in or to any software applications that you develop using the SDK, including
-any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the
-License Agreement and (b) any applicable law, regulation or generally accepted practices or
-guidelines in the relevant jurisdictions (including any laws regarding the export of data or
-software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will
-protect the privacy and legal rights of those users. If the users provide you with user names,
-passwords, or other login information or personal information, you must make the users aware that
-the information will be available to your application, and you must provide legally adequate
-privacy notice and protection for those users. If your application stores personal or sensitive
-information provided by users, it must do so securely. If the user provides your application with
-Google Account information, your application may only use that information to access the user's
-Google Account when, and for the limited purposes for which, the user has given you permission to
-do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or
-distribution of an application, that interferes with, disrupts, damages, or accesses in an
-unauthorized manner the servers, networks, or other properties or services of any third party
-including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or
-to any third party for) any data, content, or resources that you create, transmit or display
-through Android and/or applications for Android, and for the consequences of your actions
-(including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or
-to any third party for) any breach of your obligations under the License Agreement, any applicable
-third party contract or Terms of Service, or any applicable law or regulation, and for the
-consequences (including any loss or damage which Google or any third party may suffer) of any such
-breach.
-
-
-<h3>5. Your Developer Credentials</h3>
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer
-credentials that may be issued to you by Google or which you may choose yourself and that you will
-be solely responsible for all applications that are developed under your developer credentials.
-
-
-<h3>6. Privacy and Information</h3>
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage
-statistics from the software including but not limited to a unique identifier, associated IP
-address, version number of the software, and information on which tools and/or services in the SDK
-are being used and how they are being used. Before any of this information is collected, the SDK
-will notify you and seek your consent. If you withhold consent, the information will not be
-collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in
-accordance with Google's Privacy Policy.
-
-
-<h3>7. Third Party Applications</h3>
-7.1 If you use the SDK to run applications developed by a third party or that access data, content
-or resources provided by a third party, you agree that Google is not responsible for those
-applications, data, content, or resources. You understand that all data, content or resources which
-you may access through such third party applications are the sole responsibility of the person from
-which they originated and that Google is not liable for any loss or damage that you may experience
-as a result of the use or access of any of those third party applications, data, content, or
-resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third
-party application may be protected by intellectual property rights which are owned by the providers
-(or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell,
-distribute or create derivative works based on these data, content, or resources (either in whole
-or in part) unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may
-be subject to separate terms between you and the relevant third party. In that case, the License
-Agreement does not affect your legal relationship with these third parties.
-
-
-<h3>8. Using Android APIs</h3>
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be
-protected by intellectual property rights which are owned by Google or those parties that provide
-the data (or by other persons or companies on their behalf). Your use of any such API may be
-subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or
-create derivative works based on this data (either in whole or in part) unless allowed by the
-relevant Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you
-shall retrieve data only with the user's explicit consent and only when, and for the limited
-purposes for which, the user has given you permission to do so.
-
-
-<h3>9. Terminating this License Agreement</h3>
-9.1 The License Agreement will continue to apply until terminated by either you or Google as set
-out below.
-
-9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK
-and any relevant developer credentials.
-
-9.3 Google may at any time, terminate the License Agreement with you if:
-(A) you have breached any provision of the License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated
-its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country
-in which you are resident or from which you use the service, or the provision of the SDK or certain
-SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When the License Agreement comes to an end, all of the legal rights, obligations and
-liabilities that you and Google have benefited from, been subject to (or which have accrued over
-time whilst the License Agreement has been in force) or which are expressed to continue
-indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall
-continue to apply to such rights, obligations and liabilities indefinitely.
-
-
-<h3>10. DISCLAIMER OF WARRANTIES</h3>
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE
-SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE
-SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR
-COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-
-<h3>11. LIMITATION OF LIABILITY</h3>
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS
-LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY
-LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN
-AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-
-<h3>12. Indemnification</h3>
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless
-Google, its affiliates and their respective directors, officers, employees and agents from and
-against any and all claims, actions, suits or proceedings, as well as any and all losses,
-liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or
-accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes
-any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of
-any person or defames any person or violates their rights of publicity or privacy, and (c) any
-non-compliance by you with the License Agreement.
-
-
-<h3>13. Changes to the License Agreement</h3>
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK.
-When these changes are made, Google will make a new version of the License Agreement available on
-the website where the SDK is made available.
-
-
-<h3>14. General Legal Terms</h3>
-14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs
-your use of the SDK (excluding any services which Google may provide to you under a separate
-written agreement), and completely replaces any prior agreements between you and Google in relation
-to the SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is
-contained in the License Agreement (or which Google has the benefit of under any applicable law),
-this will not be taken to be a formal waiver of Google's rights and that those rights or remedies
-will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any
-provision of the License Agreement is invalid, then that provision will be removed from the License
-Agreement without affecting the rest of the License Agreement. The remaining provisions of the
-License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the
-parent shall be third party beneficiaries to the License Agreement and that such other companies
-shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that
-confers a benefit on (or rights in favor of) them. Other than this, no other person or company
-shall be third party beneficiaries to the License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST
-COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE
-LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in the License Agreement may not be assigned or transferred by either you
-or Google without the prior written approval of the other party. Neither you nor Google shall be
-permitted to delegate their responsibilities or obligations under the License Agreement without the
-prior written approval of the other party.
-
-14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be
-governed by the laws of the State of California without regard to its conflict of laws provisions.
-You and Google agree to submit to the exclusive jurisdiction of the courts located within the
-county of Santa Clara, California to resolve any legal matter arising from the License Agreement.
-Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies
-(or an equivalent type of urgent legal relief) in any jurisdiction.
-
-<em>November 20, 2015</em>
-</div>
-
-
-
-<div id="sdk-terms-form">
-<p>
-<input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
-<label id="agreeLabel" for="agree">I have read and agree with the above terms and conditions</label>
-</p>
-<p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
-</div>
-
-                </div>
-              </div>
-            </fieldset>
-          </section>
-        </form>
-      </section>
-    </div>
-  </div>
-</div>
-<!-- end ndk_tos modal -->
-
-
-  <p>Select, from the table above, the NDK package for your development platform. For information
-  about the changes in the newest version of the NDK, see <a href="#rel">Release Notes</a>. For
-  information about earlier revisions, see <a href="{@docRoot}ndk/downloads/revision_history.html">
-  NDK Revision History.</a></p>
-
-
-<script>
-$('#Downloads').after($('#download-table'));
-</script>
-
-<h2 id="rel">Release Notes</h2>
-
-<p>
-  Android NDK, Revision 12 <em>(June 2016)</em>
-</p>
-
-<dl>
-<dt>
-  Announcements
-</dt>
-
-<ul>
-  <li>The <code>ndk-build</code> command will default to using
-  Clang in an upcoming release. GCC will be removed in a later release.
-  </li>
-  <li>The <code>make-standalone-toolchain.sh</code> script will be removed
-  in an upcoming release. If you use this script, please plan to migrate to the
-  <code>make_standalone_toolchain.py</code> as soon as possible.
-  </li>
-</ul>
-
-<dt>
-  NDK
-</dt>
-
-<ul>
-  <li>Removed support for the armeabi-v7a-hard ABI. See the explanation in the
-  <a href=
-  "https://android.googlesource.com/platform/ndk/+/ndk-r12-release/docs/HardFloatAbi.md">
-    documentation</a>.
-  </li>
-
-  <li>Removed all sysroots for platform levels prior to Android 2.3 (API level 9).
-    We dropped support for them in NDK r11, but neglected to actually remove them.
-  </li>
-
-  <li>Updated exception handling when using c++_shared on ARM32 so that it
-    mostly works (see <a href="#known-issues">Known Issues</a>). The unwinder
-    is now linked into each linked object rather than into libc++ itself.
-  </li>
-
-  <li>Pruned the default compiler flags (<a href=
-  "https://github.com/android-ndk/ndk/issues/27">NDK Issue 27</a>). You can see
-  details of this update in <a href=
-  "https://android-review.googlesource.com/#/c/207721/5">Change 207721</a>.
-  </li>
-
-  <li>Added a Python implementation of standalone toolchains in <code>
-  build/tools/make_standalone_toolchain.py</code>. On Windows, you no longer
-  need Cygwin to use this feature. Note that the bash flavor will be removed
-  in an upcoming release, so please test the new one now.
-  </li>
-
-  <li>Configured Clang debug builds to have the <code>-fno-limit-debug-info</code>
-  option is enabled by default. This change enables better debugging with LLDB.
-  </li>
-
-  <li>Enabled the <code>--build-id</code> as a default option. This option
-  causes an identifier to be shown in native crash reports so you can easily
-  identify which version of your code was running.
-  </li>
-
-  <li>Fixed issue with <code>NDK_USE_CYGPATH</code> so that it no longer causes
-  problems with libgcc
-  (<a href="http://b.android.com/195486">Issue 195486</a>).
-  </li>
-
-  <li>Enabled the following options as default:
-  <code>-Wl,--warn-shared-textrel</code> and <code>-Wl,--fatal-warnings</code>.
-  If you have shared text relocations, your app does not load on Android 6.0
-  (API level 23) and higher. Note that this configuration has never been
-  allowed for 64-bit apps.
-  </li>
-
-  <li>Fixed a few issues so that precompiled headers work better
-    (<a href="https://github.com/android-ndk/ndk/issues/14">NDK Issue 14</a>,
-     <a href="https://github.com/android-ndk/ndk/issues/16">NDK Issue 16</a>).
-  </li>
-
-  <li>Removed unreachable ARM (non-thumb) STL libraries.
-  </li>
-
-  <li>Added Vulkan support to android-24.
-  </li>
-
-  <li>Added Choreographer API to android-24.
-  </li>
-
-  <li>Added libcamera2 APIs for devices that support the
-  <code>INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED</code> feature level or higher.
-  For more information, see the
-  <a href="{@docRoot}reference/android/hardware/camera2/CameraCharacteristics.html#INFO_SUPPORTED_HARDWARE_LEVEL">
-    <code>CameraCharacteristics</code></a> reference.
-  </li>
-
-</ul>
-
-<dt>
-  Clang
-</dt>
-
-<ul>
-  <li>Clang has been updated to 3.8svn (r256229, build 2812033). Note that
-    Clang packaged in the Windows 64-bit NDK is actually 32-bit.
-  </li>
-
-  <li>Fixed <code>__thread</code> so that it works for real this time.
-  </li>
-</ul>
-
-<dt>
-  GCC
-</dt>
-
-<ul>
-  <li>Synchronized the compiler with the ChromeOS GCC @ google/gcc-4_9 r227810.
-  </li>
-
-  <li>Backported coverage sanitizer patch from ToT (r231296).
-  </li>
-
-  <li>Fixed <code>libatomic</code> to not use ifuncs (<a href=
-  "https://github.com/android-ndk/ndk/issues/31">NDK Issue 31</a>).
-  </li>
-</ul>
-
-<dt>
-  Binutils
-</dt>
-
-<ul>
-  <li>Silenced the "Erratum 843419 found and fixed" info messages.
-  </li>
-
-  <li>Introduced option <code>--long-plt</code> to fix an internal linker error
-  when linking huge arm32 binaries.
-  </li>
-
-  <li>Fixed wrong run time stubs for <code>AArch64</code>. This problem was
-  causing jump addresses to be calculated incorrectly for very large
-  dynamic shared objects (DSOs).
-  </li>
-
-  <li>Introduced default option <code>--no-apply-dynamic</code> to work around
-  a dynamic linker bug for earlier Android releases.
-  </li>
-
-  <li>Fixed a known issue with NDK r11 where <code>dynamic_cast</code> was not
-  working with Clang, x86, stlport_static and optimization.
-  </li>
-</ul>
-
-<dt>
-  GDB
-</dt>
-
-<ul>
-  <li>Updated to GDB version 7.11. For more information about this release, see
-  <a href="https://www.gnu.org/software/gdb/news/">GDB News</a>.
-  </li>
-
-  <li>Fixed a number of bugs in the <code>ndk-gdb.py</code> script.
-  </li>
-</ul>
-
-<dt id="known-issues">
-  Known Issues
-</dt>
-
-<ul>
-  <li>The x86 <a href="http://source.android.com/devices/tech/debug/asan.html">Address
-  Sanitizer</a> (ASAN) currently does not work. For more information, see
-  <a href="https://android-review.googlesource.com/#/c/186276/">Issue 186276</a>.
-  </li>
-
-  <li>Exception unwinding with <code>c++_shared</code> does not work for ARM on
-  Android 2.3 (API level 9) or Android 4.0 (API level 14).
-  </li>
-
-  <li>Bionic headers and libraries for Android 6.0 (API level 23) and higher
-  are not yet exposed despite the presence of android-24. Those platforms still
-  have the Android 5.0 (API level 21) headers and libraries, which is consistent
-  with NDK r11.
-  </li>
-
-  <li>The RenderScript tools are not present, which is consistent with
-  NDK r11.
-  (<a href="https://github.com/android-ndk/ndk/issues/7">NDK Issue 7</a>)
-  </li>
-
-  <li>In <code>NdkCameraMetadataTags.h</code> header file, the camera metadata
-  tag enum value <code>ACAMERA_STATISTICS_LENS_SHADING_CORRECTION_MAP</code>
-  was listed by accident and will be removed in next release. Use
-  the <code>ACAMERA_STATISTICS_LENS_SHADING_MAP</code> value instead.
-  </li>
-
-</ul>
-
-</dl>
diff --git a/docs/html/ndk/downloads/revision_history.jd b/docs/html/ndk/downloads/revision_history.jd
deleted file mode 100644
index 211b64e..0000000
--- a/docs/html/ndk/downloads/revision_history.jd
+++ /dev/null
@@ -1,3766 +0,0 @@
-page.title=NDK Revision History
-@jd:body
-
-<p>This page provides information on previous releases of the NDK, enumerating the changes that
-took place in each new version.</p>
-
-
-<div class="toggle-content closed">
-<a name="11b"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 11c</a> <em>(March 2016)</em>
- </p>
- <div class="toggle-content-toggleme">
-
-<dl>
-  <dd>
-    <ul>
-      <li>Changes
-        <ul>
-          <li>Applied additional fixes to the {@code ndk-gdb.py} script.
-          </li>
-          <li>Added an optional package name argument to the {@code ndk-gdb}
-            command {@code --attach} option.
-            (<a href="https://github.com/android-ndk/ndk/issues/13">Issue 13</a>)
-          </li>
-          <li>Fixed invalid toolchain paths for 32-bit Windows platform.
-            (<a href="https://github.com/android-ndk/ndk/issues/45">Issue 45</a>)
-          </li>
-          <li>Fixed the relative path for the {@code ndk-which} command.
-            (<a href="https://github.com/android-ndk/ndk/issues/29">Issue 29</a>)
-          </li>
-          <li>Fixed use of cygpath for the libgcc compiler.
-            (Android <a href="http://b.android.com/195486">Issue 195486</a>)
-          </li>
-        </ul>
-      </li>
-    </ul>
-  </dd>
-</dl>
-
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="11b"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 11b</a> <em>(March 2016)</em>
- </p>
- <div class="toggle-content-toggleme">
-
-    <dl>
-      <dt>NDK</dt>
-      <dd>
-      <ul>
-      <li>Important announcements
-      <ul>
-         <li>We’ve moved our bug tracker to <a href="https://github.com/android-ndk/ndk/issues">
-         GitHub.</a></li>
-     </ul>
-     </li>
-
-     <li>Changes
-        <ul>
-         <li>{@code ndk-gdb.py} is fixed. It had
-               <a href="https://github.com/android-ndk/ndk/issues/3">regressed entirely</a>
-               in r11.</li>
-               <li>{@code ndk-gdb} for Mac <a href="https://github.com/android-ndk/ndk/issues/2">
-               is fixed</a>.</li>
-               <li>Added more top-level shortcuts for command line tools:
-                  <ul>
-                     <li>{@code ndk-depends}.</li>
-                     <li>{@code ndk-gdb}.</li>
-                     <li>{@code ndk-stack}.</li>
-                     <li>{@code ndk-which}. This command had been entirely absent from previous
-                     releases.</li>
-                  </ul>
-               </li>
-               <li>Fixed standalone toolchains for libc++, which had been missing
-               {@code __cxxabi_config.h}.</li>
-               <li>Fixed help documentation for {@code --toolchain} in
-               {@code make-standalone-toolchain.sh}.</li>
-         </li>
-       </ul>
-      </dd>
-
-      <dt>Clang</dt>
-      <dd>
-      <ul>
-      <li>Errata</li>
-          <ul>
-             <li>Contrary to what we reported in the r11 Release Notes, {@code __thread}
-             does not work. This is because the version of Clang we ship is missing a bug fix for
-             emulated TLS support.</li>
-          </ul>
-      </ul>
-      </dd>
-   </dl>
-
-
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="11"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 11</a> <em>(March 2016)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Clang</dt>
-      <dd>
-      <ul>
-      <li>Important announcements
-      <ul>
-         <li>We strongly recommend switching to Clang.
-            <ul>
-                 <li>If you experience problems with Clang, file bugs
-         <a href="https://github.com/android-ndk/ndk/issues">here</a> for issues
-         specific to Clang in the NDK. For more general Clang issues,
-         file bugs by following the instructions on
-         <a href="http://llvm.org/docs/HowToSubmitABug.html">this page</a>.</li>
-            </ul>
-         </li>
-         <li>Clang has been updated to 3.8svn (r243773, build 2481030).
-            <ul>
-               <li>This version is a nearly pure upstream Clang.</li>
-               <li>The Windows 64-bit downloadable NDK package contains a 32-bit
-               version of Clang.</li>
-            </ul>
-         </li>
-     </ul>
-     </li>
-
-     <li>Additions
-        <ul>
-         <li>Clang now provides support for emulated TLS.
-            <ul>
-               <li>The compiler now supports {@code __thread} by emulating
-               ELF TLS with pthread thread-specific data.</li>
-               <li>C++11 {@code thread_local} works in some cases, but not
-               for data with non-trivial destructors, because those cases
-               require support from libc. This limitation does not
-               apply when running on Android 6.0 (API level 23) or newer.</li>
-               <li>Emulated TLS does not yet work with Aarch64 when
-               TLS variables are accessed from a shared library.</li>
-            </ul>
-         </li>
-       </ul>
-      </dd>
-   </dl>
-
-    <dl>
-      <dt>GCC</dt>
-      <dd>
-      <ul>
-      <li>Important announcements</li>
-          <ul>
-             <li>GCC in the NDK is now deprecated in favor of Clang.
-            <ul>
-               <li>The NDK will neither be upgrading to 5.x, nor accept
-               non-critical backports.</li>
-               <li>Maintenance for miscompiles and internal compiler errors
-               in 4.9 will be handled on a case by case basis.</li>
-            </ul>
-            </li>
-          </ul>
-      <li>Removals
-         <ul>
-         <li>Removed GCC 4.8. All targets now use GCC 4.9.</li>
-         </ul>
-       </li>
-      <li>Other changes
-         <ul>
-         <li>Synchronized google/gcc-4_9 to r224707. Previously, it had been
-         synchronized with r214835.</li>
-         </ul>
-       </li>
-       </ul>
-      </dd>
-   </dl>
-    <dl>
-      <dt>NDK</dt>
-      <dd>
-      <ul>
-      <li>Important announcements
-         <ul>
-            <li>The samples are no longer included in the NDK package.
-            They are instead available on
-            <a href="https://github.com/googlesamples/android-ndk">GitHub.</a>
-            </li>
-            <li>The documentation is no longer included in the NDK package.
-            Instead, it is on the <a href="{@docRoot}ndk/index.html">Android
-            developer website.</a></li>
-         </ul>
-      </li>
-
-      <li>Additions
-          <ul>
-         <li>Added a native tracing API to {@code android-23}.</li>
-         <li>Added a native multinetwork API to {@code android-23}.</li>
-         <li>Enabled libc, m, and dl to provide versioned symbols, starting
-         from API level 21.</li>
-         <li>Added Vulkan headers and library to API level N.</li>
-          </ul>
-       </li>
-
-      <li>Removals
-          <ul>
-         <li>Removed support for {@code _WCHAR_IS_8BIT}.</li>
-         <li>Removed sed.</li>
-         <li>Removed mclinker.</li>
-         <li>Removed Perl.</li>
-         <li>Removed from all versions of NDK libc, m, and dl all symbols which
-         the platform versions of those libs do not support.</li>
-         <li>Partially removed support for mips64r2. The rest will be removed
-         in the future.</li>
-          </ul>
-       </li>
-
-      <li>Other changes
-          <ul>
-            <li>Changed ARM standalone toolchains to default to arm7.
-               <ul>
-                  <li>You can restore the old behavior by passing specifying the
-                  {@code -target} option as {@code armv5te-linux-androideabi}.
-                  </li>
-               </ul>
-            </li>
-         <li>Changed the build system to use {@code -isystem} for platform
-         includes.
-            <ul>
-               <li>Warnings that bionic causes no longer break app builds.</li>
-            </ul>
-         </li>
-         <li>Fixed a segfault that occurred when a binary threw exceptions
-         via gabi++. (Issue <a href="http://b.android.com/179410">179410</a>)
-         </li>
-         <li>Changed libc++’s inline namespace to {@code std::__ndk1}
-         to prevent ODR issues with platform libc++.</li>
-
-         <li>All libc++ libraries are now built with libc++abi.
-         <li>Bumped default {@code APP_PLATFORM} to Gingerbread.
-            <ul>
-               <li>Expect support for Froyo and older to be dropped in a
-               future release.</ul>
-            </ul>
-         <li>Updated gabi++ {@code _Unwind_Exception} struct for 64 bits.
-         <li>Added the following capabilities to cpufeatures:
-            <ul>
-            <li>Detect SSE4.1 and SSE4.2.</li>
-            <li>Detect cpu features on x86_64.</li>
-            </ul>
-        </li>
-         <li>Updated libc++abi to upstream
-         <a href="http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20150302/124603.html">
-         r231075</a>.
-         <li>Updated {@code byteswap.h}, {@code endian.h}, {@code sys/procfs.h},
-         {@code sys/ucontext.h}, {@code sys/user.h}, and {@code uchar.h} from
-         ToT Bionic.
-         <li>Synchronized {@code sys/cdefs.h} across all API levels.
-
-         <li>Fixed {@code fegetenv and fesetenv} for arm.
-         <li>Fix end pointer size/alignment of {@code crtend_*} for mips64
-         and x86_64.
-          </ul>
-       </li>
-      </ul>
-      </ul>
-      </dd>
-   <dl>
-    <dl>
-      <dt>Binutils</dt>
-      <dd>
-      <ul>
-      <li>Additions
-         <ul>
-         <li>Added a new option: {@code --pic-veneer}.</li>
-         </ul>
-       </li>
-
-      <li>Removals
-         <ul>
-         <li>The 32-bit Windows package no longer contains ld.gold.
-         You can instead get ld.gold from the 64-bit Windows package.</li>
-         </ul>
-       </li>
-
-      <li>Changes
-          <ul>
-             <li>Unified binutils source between Android and ChromiumOS.
-             For more information on this change, see the comments
-             <a href="https://android-review.googlesource.com/#/c/182865/">
-             here.</a></li>
-             <li>Improved reliability of Gold for aarch64. Use
-             {@code -fuse-ld=gold} at link time to use gold instead of bfd.
-             The default will likely switch in the next release.</li>
-             <li>Improved linking time for huge binaries for Gold ARM back end
-             (up to 50% linking time reduction for debuggable Chrome Browser).
-             </li>
-          </ul>
-     </li>
-       </ul>
-      </dd>
-         <dl>
-    <dl>
-      <dt>GDB</dt>
-      <dd>
-      <ul>
-
-      <li>Removals
-         <ul>
-         <li>Removed ndk-gdb in favor of ndk-gdb.py.</li>
-         </ul>
-       </li>
-
-      <li>Changes
-          <ul>
-              <li>Updated gdb to version 7.10.</li>
-              <li>Improved performance.</li>
-              <li>Improved error messages.</li>
-              <li>Fixed relative project paths.</li>
-              <li>Stopped Ctrl-C from killing the backgrounded gdbserver.</li>
-              <li>Improved Windows support.</li>
-          </ul>
-     </li>
-       </ul>
-      </dd>
-
-               <dl>
-    <dl>
-      <dt>YASM</dt>
-      <dd>
-      <ul>
-
-      <li>Changes
-          <ul>
-              <li>Updated YASM to version 1.3.0.</li>
-          </ul>
-     </li>
-       </ul>
-      </dd>
-
-        <dl>
-    <dl>
-      <dt>Known issues</dt>
-      <dd>
-      <ul>
-      <li>x86 ASAN does not currently work. For more information, see the
-      discussion <a href="https://android-review.googlesource.com/#/c/186276/">
-      here.</a></li>
-      <li>The combination of Clang, x86, stlport_static, and optimization
-      levels higher than {@code -O0} causes test failures with
-      {@code dynamic_cast}. For more information, see the comments
-      <a href="https://android-review.googlesource.com/#/c/185920">here</a>.
-      </li>
-      <li>Exception handling often fails with c++_shared on ARM32. The root
-      cause is incompatibility between the LLVM unwinder that libc++abi uses
-      for ARM32 and libgcc. This behavior is not a regression from r10e.</li>
-     </ul>
-     </dd>
-   </dl>
-
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="10e"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10e</a> <em>(May 2015)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Integrated the workaround for Cortex-A53 Erratum 843419 into the
-        {@code aarch64-linux-android-4.9} linker. For more information on this workaround, see
-        <a href="https://sourceware.org/ml/binutils/2015-03/msg00446.html">Workaround for cortex-a53
-        erratum 843419.</a></li>
-
-         <li>Added Clang 3.6; {@code NDK_TOOLCHAIN_VERSION=clang} now picks that version
-         of Clang by default.</li>
-
-         <li>Removed Clang 3.4.</li>
-
-         <li>Removed GCC 4.6.</li>
-
-         <li>Implemented multithreading support in {@code ld.gold} for all architectures. It can
-         now link with or without support for multithreading; the default is to do it without.
-            <ul>
-            <li>To compile with multithreading, use the {@code --threads} option.</li>
-            <li>To compile without multithreading, use the {@code --no-threads} option.</li>
-            </ul>
-            </li>
-
-         <li>Upgraded GDB/gdbserver to 7.7 for all architectures.</li>
-
-         <li>Removed the NDK package for 32-bit Darwin.</li>
-      </ul>
-      </dd>
-   <dl>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-        <li>Fixed a crash that occurred when there were OpenMP loops outside of the main thread.</li>
-
-        <li>Fixed a GCC 4.9 internal compiler error (<i>ICE</i>) that occured when the user declared
-        {@code #pragma GCC optimize ("O0")}, but had a different level of optimization specified
-        on the command line. The {@code pragma} takes precedence.</li>
-
-        <li>Fixed an error that used to produce a crash with the following error message:
-<pre>
-in add_stores, at var-tracking.c:6000
-</pre>
-        </li>
-
-        <li>Implemented a workaround for a Clang 3.5 issue in which LLVM auto-vectorization
-        generates {@code llvm.cttz.v2i64()}, an instruction with no counterpart in the ARM
-        instruction set.</li>
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-        <li>Made the following header and library fixes:</li>
-           <ul>
-           <li>Fixed {@code PROPERTY_*} in {@code media/NdkMediaDrm.h}.</li>
-           <li>Fixed {@code sys/ucontext.h} for {@code mips64}.</li>
-           <li>Dropped the Clang version check for {@code __builtin_isnan} and
-           {@code __builtin_isinf}.</li>
-           <li>Added {@code android-21/arch-mips/usr/include/asm/reg.h}
-           and {@code android-21/arch-mips64/usr/include/asm/reg.h}.</li>
-           </ul>
-           </li>
-
-        <li>Fixed a spurious array-bounds warning that GCC 4.9 produced for x86, and reenabled the
-        array bounds warning that GCC 4.9 had produced for ARM. The warning for ARM had
-        previously been unconditionally disabled.</li>
-
-        <li>Fixed Clang 3.5 for {@code mips} and {@code mips64} to create a writable
-            {@code .gcc_except_table} section, thus matching GCC behavior. This change allows you
-            to avoid the following linker warning:
-
-<pre>
-.../ld: warning: creating a DT_TEXTREL in a shared object
-</pre>
-            </li>
-
-        <li>Backported a fix for {@code compiler-rt} issues that were causing crashes when Clang
-        compiled for {@code mips64}. For more information, see LLVM Issue
-        <a href="http://llvm.org/bugs/show_bug.cgi?id=20098">20098</a>.</li>
-
-        <li>Fixed Clang 3.5 crashes that occurred on non-ASCII comments. (Issue
-        <a href="https://code.google.com/p/android/issues/detail?id=81440">81440</a>)</li>
-
-        <li>Fixed {@code stlport collate::compare} to return {@code -1} and {@code 1}. Previously,
-        it had returned arbitrary signed numbers.</li>
-
-        <li>Fixed {@code ndk-gdb} for 64-bit ABIs. (Issue
-        <a href="https://code.google.com/p/android/issues/detail?id=118300">118300</a>)</li>
-
-        <li>Fixed the crash that the HelloComputeNDK sample for RenderScript was producing on
-        Android 4.4 (Android API level 19). For more information, see
-        <a href="http://stackoverflow.com/questions/28057049/targeting-pre-lollipop-devices-using-renderscript-from-ndk-c">this page</a>.</li>
-
-        <li>Fixed {@code libc++ __wrap_iter} for GCC. For more information, see LLVM Issue
-        <a href="http://llvm.org/bugs/show_bug.cgi?id=22355">22355</a>.</li>
-
-        <li>Fixed {@code .asm} support for ABI {@code x86_64}.</li>
-
-        <li>Implemented a workaround for the GCC 4.8 {@code stlport} issue. (Issue
-        <a href="https://android-review.googlesource.com/#/c/127773">127773</a>)</li>
-
-        <li>Removed the trailing directory separator {@code \\} from the project path in Windows.
-        (Issue <a href="https://code.google.com/p/android/issues/detail?id=160584">160584</a>)
-        </li>
-
-        <li>Fixed a {@code no rule to make target} error that occurred when compiling a single
-        {@code .c} file by executing the {@code ndk-build.cmd} command from {@code gradle}. (Issue
-        <a href="https://code.google.com/p/android/issues/detail?id=66937">66937</a>)</li>
-
-        <li>Added the {@code libatomic.a} and {@code libgomp.a} libraries that had been missing from
-        the following host toolchains:
-        <ul>
-           <li>{@code aarch64-linux-android-4.9}</li>
-           <li>{@code mips64el-linux-android-4.9}</li>
-           <li>{@code mipsel-linux-android-4.9}</li>
-           <li>{@code x86_64-4.9}</li>
-        </ul>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-       <ul>
-       <li>Added {@code ld.gold} for {@code aarch64}. The default linker remains {@code ld.bfd}.
-       To explicitly enable {@code ld.gold}, add {@code -fuse-ld=gold} to the
-       {@code LOCAL_LDFLAGS} or {@code APP_LDFLAGS} variable.</li>
-
-       <li>Built the MIPS and MIPS64 toolchains with {@code binutils-2.25}, which provides improved
-       R6 support.</li>
-
-       <li>Made {@code -fstandalone-debug} (full debug info) a default option for Clang.</li>
-
-       <li>Replaced {@code -fstack-protector} with {@code -fstack-protector-strong} for
-       the ARM, AArch64, X86, and X86_64 toolchains for GCC 4.9, Clang 3.5, and
-       Clang 3.6.</li>
-
-       <li>Added the {@code --package} command-line switch to {@code ndk-gdb} to allow the build
-       system to override the package name. (Issue
-       <a href="https://code.google.com/p/android/issues/detail?id=56189">56189</a>)</li>
-
-       <li> Deprecated {@code -mno-ldc1-stc1} for MIPS.  This option may not work with the new
-       {@code -fpxx} and {@code -mno-odd-spreg} options, or with the FPXX ABI.</li>
-
-       <li>Added MIPS MSA and R6 detection to {@code cpu-features}.</li>
-
-     </ul>
-     </dd>
-   </dl>
-
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="10d"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10d</a> <em>(December 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Made GCC 4.8 the default for all 32-bit ABIs.  Deprecated GCC 4.6, and
-            will remove it next release. To restore previous behavior, either add
-            <code>NDK_TOOLCHAIN_VERSION=4.6</code> to ndk-build, or
-            add <code>--toolchain=arm-linux-androideabi-4.6</code> when executing
-            <code>make-standalone-toolchain.sh</code> on the command line. GCC 4.9 remains the
-            default for 64-bit ABIs.</li>
-
-         <li>Stopped all x86[_64] toolchains from adding <code>-mstackrealign</code> by default. The
-             NDK toolchain assumes a 16-byte stack alignment. The tools and options used by default
-             enforce this rule. A user writing assembly code must make sure to preserve stack
-             alignment, and ensure that other compilers also comply with this rule.
-             (GCC bug <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38496">38496</a>)</li>
-
-         <li>Added Address Sanitizer functionality to Clang 3.5 support to the ARM and x86 ABIs.
-             For more information on this change, see the
-             <a href="https://code.google.com/p/address-sanitizer/wiki/Android">Address
-             Sanitizer</a> project.</li>
-
-         <li>Introduced the requirement, starting from API level 21, to use <code>-fPIE -pie
-             </code> when building. In API levels 16 and higher, ndk-build uses <code>PIE</code>
-             when building. This change has a number of implications, which are discussed in
-             <a href="https://code.google.com/p/android-developer-preview/issues/detail?id=888">
-             Developer Preview Issue 888</a>.
-             These implications do not apply to shared libraries.</li>
-      </ul>
-      </dd>
-   <dl>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-        <li>Made more fixes related to
-            <a href="https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00906.html">
-            A53 Errata #835769</a> in the aarch64-linux-android-4.9 linker. As part of this, GCC
-            passes a new option, <code>--fix-cortex-a53-835769</code>, when
-            <code>-mfix-cortex-a53-835769</code> (enabled by default) is specified.
-            For more information, see this
-            <a href="https://sourceware.org/ml/binutils/2014-10/msg00198.html">binutils message</a>
-            and this
-            <a href="https://sourceware.org/ml/binutils/2014-11/msg00287.html">binutils message</a>.
-            </li>
-
-        <li>Documented a fix to a libc++ <code>sscanf/vsscanf</code> hang that occurred in API level
-            21. The fix itself had been implemented in r10c.
-            (Issue <a href="http://b.android.com/77988">77988</a>)</li>
-
-        <li>Fixed an AutoFDO (<code>-fauto-profile</code>) crash that occurred with GCC 4.9 when
-            <code>-Os</code> was specified. (Issue <a href="http://b.android.com/77571">77571</a>)</li>
-     </ul>
-     </dd>
-
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-        <li>Made the following header and library fixes:</li>
-           <ul>
-        <li>Added <code>posix_memalign</code> to API level 16. Also, added a prototype in
-            <code>stdlib.h</code> to API levels 16 to 19.
-            (Issue <a href="http://b.android.com/77861">77861</a>)</li>
-        <li>Fixed <code>stdatomic.h</code> so that it includes <code>&lt;atomic&gt;</code> only for
-            C++11.</li>
-        <li>Modified the following headers for standalone use: <code>sys/user.h</code>, and
-            <code>gl2ext.h</code>, <code>dlext.h</code>, <code>fts.h</code>, <code>sgidefs.h</code>
-            for API level 21.</li>
-        <li>Modified <code>sys/user.h</code> to rename <code>mxcsr_mask</code> as <code>mxcr_mask</code>,
-            and to change the data type for <code>u_ar0</code></li> from <code>unsigned long</code>
-            to </code>struct user_regs_struct*</code>.
-        <li>Changed <code>sysconf()</code> return value type from <code>int</code> to
-            <code>long</code>.</li>
-           </ul>
-
-        <li>Fixed ndk-build's handling of <code>thumb</code> for <code>LOCAL_ARM_MODE</code>: In
-            r10d, ndk-build adds <code>LOCAL_LDFLAGS+=-mthumb</code> by default, unless one of the
-            following conditions applies:</li>
-          <ul>
-            <li>You have set <code>LOCAL_ARM_MODE</code> equal to <code>arm</code>.</li>
-            <li>You are doing a debug build (with settings such as <code>APP_OPTIM=debug</code> and
-            <code>AndroidManifest.xml</code> containing <code>android:debuggable="true"</code>),
-            where ARM mode is the default in order to retain compatibility with earlier toolchains.
-            (Issue <a href="http://b.android.com/74040">74040</a>)</li>
-          </ul>
-
-        <li>Fixed <code>LOCAL_SRC_FILES</code> in ndk-build to use Windows absolute paths.
-            (Issue <a href="http://b.android.com/74333">74333</a>)</li>
-
-        <li>Removed bash-specific code from ndk-gdb. (Issue <a href="http://b.android.com/73338">73338</a>)</li>
-
-        <li>Removed bash-specific code from <code>make-standalone-toolchain.sh</code>.
-            (Issue <a href="http://b.android.com/74145">74145)</a></li>
-
-        <li>Revised documentation concerning a fix for <code>System.loadLibrary()</code> transitive
-            dependencies. (Issue <a href="http://b.android.com/41790">41790</a>)</li>
-
-        <li>Fixed a problem that was preventing 64-bit packages from extracting on Ubuntu 14.04 and
-            OS X 10.10 (Yosemite). (Issue <a href="http://b.android.com/78148">78148</a>)</li>
-
-        <li>Fixed an issue with <code>LOCAL_PCH</code> to improve Clang support. (Issue
-            <a href="http://b.android.com/77575">77575</a>)</li>
-
-        <li>Clarified "requires executable stack" warning from ld.gold. (Issue
-            <a href="http://b.android.com/79115">79115</a>)</li>
-     </ul>
-     </dd>
-
-   </dl>
- </div>
-</div>
-
-
-
-
-
-
-
-<div class="toggle-content closed">
-<a name="10c"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10c</a> <em>(October 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
- <li>Made the following changes to download structure:</li>
-       <ul>
-       <li>Each package now contains both the 32- and the 64-bit headers, libraries, and tools for
-       its respective platform.</li>
-       <li>STL libraries with debugging info no longer need be downloaded separately.</li>
-       </ul>
-  <li>Changed everything previously called <code>Android-L</code> to the official release
-  designation: <code>android-21</code>.</li>
-  <li>Updated GCC 4.9 by rebasing to the <code>google</code> branch
-  of the GCC repository. Major differences from the upstream version of GCC 4.9 include:</li>
-
-  <ul>
-  <li>The <code>-O2</code> option now turns on vectorization, without loop peeling but with more
-  aggressive unrolling.</li>
-  <li>Enhancements to FDO and <a href="https://gcc.gnu.org/wiki/LightweightIpo#LIPO_-_Profile_Feedback_Based_Lightweight_IPO">
-  LIPO</a></li>
-  <p>For more detailed information, see <em>Important bug fixes</em> below.</p>
-  </ul>
-
-  <li>Added Clang 3.5 support to all hosts: <code>NDK_TOOLCHAIN_VERSION=clang</code>
-  now picks Clang 3.5. Note that:</li>
-  <ul>
-
-  <li>ARM and x86 default to using the integrated assembler. If this causes issues, use
-  <code>-fno-integrated-as</code> as a workaround.</code>
-  <li>Clang 3.5 issues more warnings for unused flags, such as the <code>-finline-functions</code>
-  option that GCC supports.</li>
-  <p>When migrating from projects using GCC, you can use
-  <code>-Wno-invalid-command-line-argument</code> and <code>-Wno-unused-command-line-argument</code>
-  to ignore the unused flags until you're able decide on what to do with them longer-term.</p>
-
-     </ul>
-  <li>Made it possible to enter ART debugging mode, when debugging on an Android 5.0 device using
-  ART as its virtual machine, by specifying the <code>art-on</code> option. For more information,
-  see <code>prebuilt/common/gdb/common.setup</code> in the directory containing the NDK.</li>
-  <li>Removed support for Clang 3.3.</li>
-  <li>Deprecated GCC 4.6, and may remove it from future releases.</li>
-  <li>Updated mclinker to 2.8 with Identical Code Folding ("ICF") support. Specify ICF using the
-  <code>--icf</code> option.</li>
-  <li>Broadened <code>arm_neon.h</code> support in x86 and x86_64, attaining coverage of ~93% of
-  NEON intrinsics. For more information about NEON support:
-     <ul>
-     <li>Navigate to the NDK Programmer's Guide (<code>docs/Programmers_Guide/html/</code>), and see
-     Architectures and CPUs > Neon.</li>
-     <li>Examine the updated <code>hello-neon</code> sample in <code>samples/</code>.
-     <li>See Intel's guide to <a href="https://software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks"> porting from ARM NEON to Intel SSE.</a></li>
-     </ul>
-  <li>Documented support for <code>_FORTIFY_SOURCE</code> in <code>headers/libs/android-21</code>,
-  which appeared in r10 (when <code>android-21</code> was still called <code>Android-L</code>),
-  but had no documentation.</li>
-      </ul>
-      </dd>
-   <dl>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed an internal compiler error with GCC4.9/aarch64 that was causing the following
-       error message (Issue <a href="http://b.android.com/77564">77564</a>):</li>
-<pre>
-internal compiler error: in simplify_const_unary_operation, at simplify-rtx.c:1539
-</pre>
-       <li>Fixed incorrect code generation from GCC4.9/arm. (Issue
-       <a href="http://b.android.com/77567">77567<a>)</li>
-       <li>Fixed an internal compiler error with GCC4.9/mips involving inline-assembly. (Issue
-       <a href="http://b.android.com/77568">77568</a>)</li>
-       <li>Fixed incorrect code that GCC4.9/arm was generating for <code>x = (cond) ? y : x</code>.
-       (Issue <a href="http://b.android.com/77569">77569</a>)</li>
-       <li>Fixed GCC4.9/aarch64 and Clang3.5/aarch64 to work around the
-       <a href="http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20141006/116322.html">
-       Cortex-A53 erratum (835769)</a>  by default.  Disable the workaround by specifying
-       <code>-mno-fix-cortex-a53-835769</code>.</li>
-     </ul>
-     </dd>
-
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-     <li>Made the following header and library fixes to <code>android-21</code>:
-        <ul>
-
-        <li>Added more TV keycodes: <code>android/keycodes.h</code></li>
-        <li>Added more constants and six new sensor functions to <code>android/sensor.h</code>:
-        <code>ASensorManager_getDefaultSensorEx</code>, <code>ASensor_getFifoMaxEventCount</code>,
-        <code>ASensor_getFifoReservedEventCount</code>, <code>ASensor_getStringType</code>,
-        <code>ASensor_getReportingMode</code>, and <code>ASensor_isWakeUpSensor</code>.</li>
-        <li>Fixed <code>stdatomic.h</code> to improve compatibility with GCC 4.6, and provide support
-        for the <code>&lt;atomic&gt;</code> header.</li>
-        <li>Added <code>sys/ucontext.h</code> and <code>sys/user.h</code> to all API levels. The
-        <code>signal.h</code> header now includes <code>&lt;sys/ucontext.h&gt;</code>.  You may
-        remove any existing definition of <code>struct ucontext</code>.</li>
-        <li>Added <code>posix_memalign</code> to API levels 17, 18, and 19.</li>
-        <li>Added the following functions to all architectures:
-        <code>android_set_abort_message</code>, <code>posix_fadvise</code>,
-        <code>posix_fadvise64</code>, <code>pthread_gettid_np</code>.</li>
-        <li>Added the required permissions to the <code>native-media/AndroidManifest.xml</code>
-        sample.
-        (Issue <a href="https://android-review.googlesource.com/#/c/106640/">106640</a>)</li>
-        <li>Added <code>clock_nanosleep</code> and <code>clock_settime</code> to API level 21. (Issue
-        <a href="http://b.android.com/77372">77372</a>)
-        <li>Removed the following symbols from all architectures:
-        <code>get_malloc_leak_info</code>, <code>free_malloc_leak_info</code>,
-        <code>__srget</code>, <code>__swbuf</code>, <code>__srefill</code>, <code>__swsetup</code>,
-        <code>__sdidinit</code>, <code>__sflags</code>, <code>__sfp</code>,
-        <code>__sinit</code>, <code>__smakebuf</code>, <code>__sflush</code>, <code>__sread</code>,
-        <code>__swrite</code>, <code>__sseek</code>, <code>__sclose</code>,
-        <code>_fwalk</code>, <code>__sglue</code>, <code>__get_thread</code>, <code>__wait4</code>,
-        <code>__futex_wake</code>, <code>__open</code>, <code>__get_tls</code>,
-        <code>__getdents64</code>, and <code>dlmalloc</code>.</li>
-        <li>Removed the following functions from the 64-bit architectures: <code>basename_r</code>,
-        <code>dirname_r</code>, <code>__isthreaded</code>, <code>_flush_cache</code> (mips64).</li>
-        <li>Removed the following function from the 32-bit architectures:
-        <code>__signalfd4</code>.</li>
-        <li>Changed the type of the third argument from <code>size_t</code> to <code>int</code> in
-        the following functions: <code>strtoll_l</code>, <code>strtoull_l</code>,
-        <code>wcstoll_l</code>, and <code>wcstoull_l</code>.</li>
-        <li>Restored the following functions to the 64-bit architecture: <code>arc4random</code>,
-        <code>arc4random_buf</code>, and <code>arc4random_uniform</code>.</li>
-        <li>Moved <code>cxa_*</code> and the <code>new</code> and <code>delete</code> operators back
-        to <code>libstdc++.so</code>. This change restores r9d behavior; previous versions of r10
-        contained dummy files.</li>
-
-        </ul>
-     <li>Restored MXU support in GCC 4.8 and 4.9 for mips. This support had been absent from
-     r10 and r10b because those versions of GCC had been compiled with binutils-2.24, which did
-     not support MXU. It now does.</li>
-     <li>Fixed <code>--toolchain=</code> in <code>make-standalone-toolchain.sh</code> so that it
-     now properly supports use of a suffix specifying a version of Clang.</li>
-     <li>Fixed the libc++/armeabi <code>strtod()</code> functions.</li>
-     <li>Made fixes to NDK documentation in <code>docs/</code>.</li>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-       <ul>
-       <li>Enhanced <code>cpu-features</code> to detect ARMv8 support for the following
-       instruction sets: AES, CRC32, SHA2, SHA1, and 64-bit PMULL/PMULL2. (Issue
-       <a href="https://android-review.googlesource.com/#/c/106360/">106360</a>)</li>
-
-       <li>Modified ndk-build to use <code>*-gcc-ar</code>, which is available in GCC 4.8, GCC 4.9, and
-       Clang. Clang specifies it, instead of <code>*-ar</code>. This setting brings improved LTO
-       support.</li>
-
-       <li>Removed the <code>include-fixed/linux/a.out.h</code> and
-       <code>include-fixed/linux/compiler.h</code> headers from the GCC compiler.
-       (Issue <a href ="http://b.android.com/73728">73728</a>)</li>
-
-       <li>Fixed an issue related to <code>-flto</code> with GCC 4.8 on Mac OS X. The error message
-       read:</li>
-
-       <pre>
-.../ld: error: .../libexec/gcc/arm-linux-androideabi/4.9/liblto_plugin.so
-Symbol not found: _environ
-</pre>
-
-       <li>Fixed a typo in <code>build-binary.mk.</code> (Issue
-       <a href="http://b.android.com/76992">76992</a>)</li>
-     </ul>
-     </dd>
-
-   <dt>Important known issues:</dt>
-     <dd>
-     <ul>
-     <li>Specifying -Os (<code>-fauto-profile</code>) in GCC4.9 may cause crashing.
-     (Issue <a href="http://b.android.com/77571">77571</a>)</li>
-     </ul>
-     </dd>
-
-   </dl>
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="10b"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10b</a> <em>(September 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-   <dl>
-
-        <dt>Important notes:</dt>
-     <dd>
-     <ul>
-      <li>Because of the 512MB size restriction on downloadable packages, the following 32-bit items are not in the 32-bit NDK download packages. Instead, they reside in the 64-bit ones:</li>
-      <ul>
-      <li>Android-L headers</li>
-      <li>GCC 4.9</li>
-      </ul>
-     <li>Currently, the only Renderscript support provided by the NDK is for 32-bit Renderscript with Android 4.4 (API level 19). You cannot build HelloComputeNDK (the only Renderscript sample) with any other combination of Renderscript (32- or 64-bit) and Android version.</li>
-     <li>To compile native-codec, you must use a 64-bit NDK package, which is where all the Android-L headers are located. </li>
-     </ul>
-     </dd>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-     <li>Fixed gdb 7.6 in GCC 4.8/4.9. (Issues <a href="http://b.android.com/74112">74112</a> and <a href="http://b.android.com/74371">74371</a>.)</li>
-     <li>Fixed GCC 4.8/4.9 for x86, so that they no longer enable <code>-msse4.2</code> and <code>-mpopcnt</code> by default. (Issue <a href="http://b.android.com/73843">73843</a>.)</li>
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-     <li>Removed <code>stdio.h</code> from the <code>include-fixed/</code> directories of all versions of GCC. (Issue <a href="http://b.android.com/73728">73728</a>.)</li>
-     <li>Removed duplicate header files from the Windows packages in the <code>platforms/android-L/arch-*/usr/include/linux/netfilter*/</code> directories. (Issue <a href="https://code.google.com/p/android/issues/detail?id=73704">73704</a>.)</li>
-     <li>Fixed a problem that prevented Clang from building HelloComputeNDK.</li>
-     <li>Fixed atexit. (Issue <a href="http://b.android.com/66595">66595</a>.)</li>
-     <li>Made various fixes to the docs in <code>docs/</code> and <code>sources/third_party/googletest/README.NDK</code>. (Issue <a href="http://b.android.com/74069">74069</a>.)</li>
-     <li>Made the following fixes to the Android-L headers:</li>
-     <ol>
-     <li>Added the following functions to <code>ctype.h</code> and <code>wchar.h</code>: <code>dn_expand()</code>, <code>grantpt()</code>, <code> inet_nsap_addr()</code>, <code>inet_nsap_ntoa()</code>, <code>insque()</code>, <code>nsdispatch()</code>, <code>posix_openpt()</code>, <code>__pthread_cleanup_pop()</code>, <code>__pthread_cleanup_push()</code>, <code>remque()</code>, <code>setfsgid()</code>, <code>setfsuid()</code>, <code>splice()</code>, <code>tee()</code>, <code>twalk()</code> (Issue <a href = "http://b.android.com/73719">73719</a>), and 42 <code>*_l()</code> functions.</li>
-
-    <li>Renamed <code>cmsg_nxthdr</code> to <code>__cmsg_nxthdr</code>.</li>
-
-    <li>Removed <code>__libc_malloc_dispatch</code>.</li>
-
-    <li>Changed the <code>ptrace()</code> prototype to <code>long ptrace(int, ...);</code>.</li>
-
-    <li>Removed <code>sha1.h</code>.</li>
-
-    <li>Extended <code>android_dlextinfo</code> in <code>android/dlext.h</code>.</li>
-
-    <li>Annotated <code>__NDK_FPABI__</code> for functions receiving or returning float- or double-type values in <code>stdlib.h</code>, <code>time.h</code>, <code>wchar.h</code>, and <code>complex.h</code>.</li>
-    </ol>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-     <ul>
-        <li>Updated <code>mipsel-linux-android-4.9</code> and <code>mips64el-linux-android-4.9</code>, implementing a new multilib directory layout, and providing support for gdb-7.7</li>
-        <li>Enhanced <code>cpu-features</code> to detect more arm64 features.  (Change list <a href="https://android-review.googlesource.com/#/c/100339">100339</a>.)</li>
-     </dd>
-     </ul>
-
-   </dl>
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="10"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10</a> <em>(July 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Added 3 new ABIs, all 64-bit: arm64-v8a, x86_64, mips64.</li> Note that:
-        <ul>
-           <li>GCC 4.9 is the default compiler for 64-bit ABIs. Clang is currently version 3.4.
-<code>NDK_TOOLCHAIN_VERSION=clang</code>
-      may not work for arm64-v8a and mips64.</li>
-           <li>Android-L is the first level with 64-bit support.  Note that this API
-level is a temporary one, and only for L-preview. An actual API level number will replace it at
-L-release.</li>
-           <li>This release includes now includes <code>all32</code> and <code>all64</code>
-settings for <code>APP_ABI</code>.
-              <ul>
-              <li><code>APP_ABI=all32</code> is equivalent to
-<code>APP_ABI=armeabi,armeabi-v7a,x86,mips</code>.</li>
-              <li><code>APP_ABI=all64</code> is equivalent to
-<code>APP_ABI=arm64-v8a,x86_64,mips64</code>.</li>
-              <li><code>APP_ABI=all</code> selects all ABIs.</li>
-              </ul>
-           <li>The new GNU libstdc++ in Android-L contains all <code>&lt;tr1/cmath&gt;</code>
-Before defining your own math function, check <code>_GLIBCXX_USE_C99_MATH_TR1</code> to see a
-function with that name already exists, in order to avoid "multiple definition" errors from the
-linker.</li>
-           <li>The cpu-features library has been updated for the ARMv8 kernel.  The existing
-cpu-features library may fail to detect the presence of NEON on the ARMv8 platform. Recompile your
-code with the new version.</li>
-        </ul>
-        <li>Added a new <code>platforms/android-L/</code> API directory. It includes:</li>
-        <ul>
-           <li>Updated Bionic headers, which had not changed from Android API levels 3
-(Cupcake) to 19 (KitKat). This new version, for level L, is to be synchronized with AOSP.</li>
-           <li>New media APIs and a native-codec sample.</li>
-           <li>An updated <code>Android.h</code> header for SLES/OpenSLES, enabling support for
-single-precision, floating-point audio format in AudioPlayer.</li>
-           <li>GLES 3.1 and AEP extensions to <code>libGLESv3.so.</code></li>
-           <li>GLES2 and GLES3 headers updated to the latest official Khronos versions.</li>
-        </ul>
-        <li>Added GCC 4.9 compilers to the 32-/64-bit ABIs.  GCC 4.9 is the default (only) compiler
-for 64-bit ABIs, as previously mentioned.  For 32-bit ABIs, you must explcitly enable GCC 4.9, as
-GCC 4.6 is still the default.</li>
-        <ul>
-           <li>For ndk-build, enable 32-bit, GCC 4.9 building either by adding
-<code>NDK_TOOLCHAIN_VERSION=4.9</code> to <code>Application.mk</code>, or exporting it as an
-environment variable from the command line.</li>
-           <li>For a standalone toolchain, use the <code>--toolchain=</code> option in the
-<code>make-standalone-toolchain.sh</code> script. For example: <code>--toolchain=arm-linux-androideabi-4.9.</code></li>
-        </ul>
-        <li>Upgraded GDB to version 7.6 in GCC 4.8/4.9 and x86*. Since GDB is still at version GDB-7.3.x in
-GCC 4.6 (the default for ARM and MIPS), you must set
-<code>NDK_TOOLCHAIN_VERSION=4.8</code> or <code>4.9</code> to enable ndk-gdb to select GDB 7.6.</li>
-        <li>Added the <code>-mssse3</code> build option to provide SSSE3 support, and made it the default for ABI x86
-(upgrading from SSE3). The image released by Google does not contain SSSE3 instructions.</li>
-        <li>Updated GCC 4.8 to 4.8.3.</li>
-        <li>Improved ARM libc++ EH support by switching from gabi++ to libc++abi. For details, see the "C++ Support" section of the documentation.
-  Note that:</li>
-        <ul>
-           <li>All tests except for locale now pass for Clang 3.4 and GCC 4.8. For more
-information, see the "C++ Support" section of the documentation.</li>
-           <li>The libc++ libraries for X86 and MIPS libc++ still use gabi++.</li>
-           <li>GCC 4.7 and later can now use &lt;atomic&gt;.</li>
-           <li>You must add <code>-fno-strict-aliasing</code> if you use <code> &lt;list&gt;</code>, because <code>__list_imp::_end</code>_ breaks
-      TBAA rules.  (Issue <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61571">61571</a>.)</li>
-           <li>As of GCC 4.6, LIBCXX_FORCE_REBUILD:=true no longer rebuilds libc++. Rebuilding it
-requires the use of a different compiler. Note that Clang 3.3 is untested.</li>
-        </ul>
-        <li>mclinker is now version 2.7, and has aarch64 Linux support.</li>
-        <li>Added precompiled header support for headers specified by <code>LOCAL_PCH</code>.  (Issue <a href="http://b.android.com/25412">25412</a>).</li>
-      </dd>
-   <dl>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed libc++ so that it now compiles <code>std::feof</code>, etc. (Issue <a
-href="http://b.android.com/66668">66668</a>).</li>
-       <li>Fixed a Clang 3.3/3.4 atomic library call that caused crashes in some of the libc++
-tests for ABI armeabi.</li>
-       <li>Fixed Clang 3.4 crashes that were occurring on reading precompiled headers. (Issue <a
-href="http://b.android.com/66657">66657</a>).</li>
-       <li>Fixed the Clang 3.3/3.4 <code>-O3</code> assert on:</li>
-       <code>llvm-3.2/llvm/include/llvm/MDBuilder.h:64: llvm::MDNode*
-llvm::MDBuilder::createBranchWeights(llvm::ArrayRef<unsigned int>): Assertion Weights.size() >= 2
-&& "Need at least two branch weights!"</code> (Issue <a href="http://b.android.com/57381">57381</a>).
-       <li>Fixed the following Clang 3.3/3.4 crash:</li>
-       <code>Assertion failed: (!Fn && "cast failed but able to resolve overload expression!!"), function CheckCXXCStyleCast, file
-Volumes/data/ndk-toolchain/src/llvm-3.3/llvm/tools/clang/lib/Sema/SemaCast.cpp, line 2018</code>.
-(Issue <a href="http://b.android.com/66950">66950</a>).
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed headers:</li>
-       <ul>
-          <li>Fixed 32-bit <code>ssize_t</code> to be <code>int</code> instead of <code>long
-int</code>.</li>
-          <li>Fixed <code>WCHAR_MIN</code> and <code>WCHAR_MAX</code> so that they they take
-appropriate signs according to the architecture they're running on:</li>
-          <ul>
-             <li>X86/MIPS: signed.
-             <li>ARM: unsigned.
-             <li>To force X86/MIPS to default to unsigned, use
-<code>-D__WCHAR_UNSIGNED__</code>.</li>
-             <li>To force <code>wchar_t</code> to be 16 bits, use <code>-fshort-wchar</code>.</li>
-          </ul>
-          <li>Removed non-existent symbols from 32-bit <code>libc.so</code>, and added <code>pread64</code>,
-<code>pwrite64</code>, <code>ftruncate64</code> for
-Android API level 12 and higher. (Issue <a href="http://b.android.com/69319">69319</a>). For more
-information, see the commit message accompanying AOSP change list
-     <a href="https://android-review.googlesource.com/#/c/94137">94137</a>.</li>
-       </ul>
-       <li>Fixed GCC warning about redefinition of <code>putchar</code>. Warning message reads:</li>
-       <code>include/stdio.h:236:5: warning: conflicts with previous declaration here
-[-Wattributes] int  putchar(int);</code> (Change list <a
-href="https://android-review.googlesource.com/#/c/91185">91185</a>).
-       <li>Fixed <code>make-standalone-toolchain.sh --stl=libc++</code> so that it:</li>
-       <ul>
-          <li>Copies <code>cxxabi.h</code>. (Issue <a
-href="http://b.android.com/68001">68001</a>).</li>
-          <li>Runs in directories other than the NDK install directory. (Issues <a
-href="http://b.android.com/67690">67690</a> and <a href="http://b.android.com/68647">68647</a>).</li>
-       </ul>
-       <li>Fixed GCC/Windows to quote arguments only when necessary for spawning processes in
-external programs. This change decreases the likelihood of exceeding the 32K length limit.</li>
-       <li>Fixed an issue that made it impossible to adjust the <code>APP_PLATFORM</code>
-environment variable.</li>
-       <li>Fixed the implementation of <code>IsSystemLibrary()</code> in crazy_linker so that it
-uses <code>strrchr()</code>
-  instead of <code>strchr()</code> to find the library path's true basename.</li>
-       <li>Fixed native-audio's inability to build in debug mode.</li>
-       <li>Fixed gdb's inability to print extreme floating-point numbers. (Issue <a
-href="http://b.android.com/69203">69203</a>).</li>
-       <li>Fixed Clang 3.4 inability to compile with <code>-Wl,-shared</code> (as opposed to
-<code>-shared</code>, which
-  had no compilation issues).  The problem was that Clang added <code>-pie</code> for Android
-targets if neither <code>-shared</code> nor <code>-static</code> existed. This behavior, which was
-incorrect, caused the linker to complain that <code>-shared</code> and <code>-pie</code> could not
-co-exist.</li>
-
-     </ul>
-     </dd>
-
-
-     <dt>Other changes:</dt>
-     <dd>
-     <ul>
-        <li>Added <code>arm_neon.h</code> to the x86 toolchain so that it now emulates ~47% of
-Neon. There is currently no support for 64-bit types. For more information, see the section on ARM
-Neon intrinsics support in the x86 documentation.</li>
-        <li>Ported ARM/GOT_PREL optimization (present in GCC 4.6 built from the GCC google branch) to
-ARM GCC 4.8/4.9.  This optimization sometimes reduces instruction count when accessing global
-variables.  As an example, see the build.sh script in
-<code>$NDK/tests/build/b14811006-GOT_PREL-optimization/</code>.</li>
-        <li>Added ARM version for STL gabi++, stlport, and libc++. They now have both it and Thumb
-mode.</li>
-        <li>It is now possible to call the make-standalone-toolchain.sh script with
-<code>--toolchain=x86_64-linux-android-4.9</code>, which is equivalent to
-<code>--toolchain=x86_64-4.9</code>.</li>
-     </dd>
-     </ul>
-   </dl>
- </div>
-</div>
-
-
-<div class="toggle-content closed">
-<a name="9d"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 9d</a> <em>(March 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Added support for the Clang 3.4 compiler. The
-<code>NDK_TOOLCHAIN_VERSION=clang</code> option now picks Clang 3.4. GCC 4.6 is
-still the default compiler.</li>
-        <li>Added <code>APP_ABI=armeabi-v7a-hard</code>, with
-additional multilib option <code>-mfloat-abi=hard</code>. These options are for
-use with ARM GCC 4.6/4.8 and Clang 3.3/3.4 (which use 4.8's assembler, linker,
-and libs). When using these options, note the following changes:</li>
-        <ul>
-           <li> When executing the <code>ndk-build</code> script, add the
-following options for armeabi-v7a target:
-<pre>TARGET_CFLAGS += -mhard-float -D_NDK_MATH_NO_SOFTFP=1
-TARGET_LDFLAGS += -Wl,--no-warn-mismatch -lm_hard</pre>
-The built library is copied to <code>libs/armeabi-v7a</code>. For make to
-behave as expected, you cannot specify both <code>armeabi-v7a</code> and
-<code>armeabi-v7a-hard</code> as make targets (i.e., on the APP_ABI= line).
-Doing so causes one of them to be ignored. Note that <code>APP_ABI=all</code>
-is still equivalent to
-<code>armeabi armeabi-v7a x86 mips</code>.</li>
-           <li>The <code>make-standalone-toolchain.sh</code> script copies
-additional libaries under <code>/hard</code> directories.
-      Add the above <code>CFLAGS</code> and <code>LFLAGS</code> to your
-makefile to enable GCC or Clang to link with
-      libraries in <code>/hard</code>.</li>
-        </ul>
-        <li>Added the yasm assembler, as well as <code>LOCAL_ASMFLAGS</code>
-and <code>EXPORT_ASMFLAGS</code> flags for x86
-targets. The <code>ndk-build</code> script uses
-<code>prebuilts/*/bin/yasm*</code> to build <code>LOCAL_SRC_FILES</code> that
-have the <code>.asm</code> extension.</li>
-        <li>Updated MClinker to 2.6.0, which adds <code>-gc-sections</code>
-support.</li>
-        <li>Added experimental libc++ support (upstream r201101).  Use this new
-feature by following these steps:
-        <ul>
-           <li>Add <code>APP_STL := c++_static</code> or <code>APP_STL :=
-c++_shared</code> in <code>Application.mk</code>.
-      You may rebuild from source via <code>LIBCXX_FORCE_REBUILD :=
-true</code></li>
-           <li>Execute <code>make-standalone-toolchain.sh --stl=libc++</code>
-to create a standalone toolchain with libc++ headers/lib.</li>
-        </ul>
-        For more information, see
-<code>CPLUSPLUS-SUPPORT.html</code>.
-(Issue <a href="http://b.android.com/36496">36496</a>)</li>
-      </ul>
-      </dd>
-   <dl>
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed an uncaught throw from an unexpected
-exception handler for GCC 4.6/4.8 ARM EABI. (GCC Issue <a
-href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59392">59392</a>)</li>
-       <li>Fixed GCC 4.8 so that it now correctly resolves partial
-specialization of a template with
-  a dependent, non-type template argument. (GCC Issue <a
-href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59052">59052</a>)</li>
-       <li>Added more modules to prebuilt python (Issue <a
-href="http://b.android.com/59902">59902</a>):
-               <ul>
-                 <li>Mac OS X: <code>zlib</code>, <code>bz2</code>,
-<code>_curses</code>, <code>_curses_panel</code>, <code>_hashlib</code>,
-<code>_ssl</code></li>
-                 <li>Linux: <code>zlib</code>, <code>nis</code>,
-<code>crypt</code>, <code>_curses</code>, and <code>_curses_panel</code></li>
-               </ul>
-       <li>Fixed the x86 and MIPS gdbserver
-<code>event_getmsg_helper</code>.</li>
-       <li>Fixed numerous issues in the RenderScript NDK toolchain, including
-issues with compatibility across older devices and C++ reflection.</li>
-<br>
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Header fixes:
-         <ul>
-           <li>Fixed a missing <code>#include &lt;sys/types.h&gt;</code> in
-<code>android/asset_manager.h</code> for Android API level 13 and higher.
-     (Issue <a href="http://b.android.com/64988">64988</a>)</li>
-           <li>Fixed a missing <code>#include <stdint.h></code> in
-<code>android/rect_manager.h</code> for Android API level 14 and higher.</li>
-           <li>Added <code>JNICALL</code> to <code>JNI_OnLoad</code> and
-<code>JNI_OnUnload</code> in <code>jni.h</code>. Note that <code>JNICALL</code>
- is defined as <code>__NDK_FPABI__</code> For more information, see
-<code>sys/cdefs.h</code>.</li>
-           <li>Updated the following headers so that they can be included
-without the need to
-manually include their dependencies (Issue <a
-href="http://b.android.com/64679">64679</a>):</li>
-<pre>
-android/tts.h
-EGL/eglext.h
-fts.h
-GLES/glext.h
-GLES2/gl2ext.h
-OMXAL/OpenMAXSL_Android.h
-SLES/OpenSLES_Android.h
-sys/prctl.h
-sys/utime.h
-</pre>
-           <li>Added <code>sys/cachectl.h</code> for all architectures. MIPS
-developers can now include this header instead of writing <code>#ifdef
-__mips__</code>.</li>
-           <li></code>Fixed <code>platforms/android-18/include/android/input.h
-</code> by adding <code>__NDK_FPABI__</code> to functions taking or returning
-float or double values.</li>
-           <li>Fixed MIPS <code>struct stat</code>, which was incorrectly set
-to its 64-bit counterpart for Android API level 12 and later. This wrong
-setting was a
-regression introduced in release r9c.</li>
-           <li>Defined <code>__PTHREAD_MUTEX_INIT_VALUE</code>,
-<code>__PTHREAD_RECURSIVE_MUTEX_INIT_VALUE</code>,
-     and <code>__PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE</code> for Android API
-level 9 and lower.</li>
-           <li>Added <code>scalbln</code>, <code>scalblnf</code>, and
-<code>scalblnl</code> to x86 <code>libm.so</code> for APIs 18 and later.</li>
-           <li>Fixed a typo in
-<code>sources/android/support/include/iconv.h</code>.
-     (Issue <a href="http://b.android.com/63806">63806</a>)</li>
-
-         </ul>
-       </li>
-       <li>Fixed gabi++ <code>std::unexpected()</code> to call
-<code>std::terminate()</code> so that
-  a user-defined <code>std::terminate()</code> handler has a chance to run.
-</li>
-       <li>Fixed gabi++ to catch <code>std::nullptr</code>.</li>
-       <li>Fixed samples Teapot and MoreTeapots:
-         <ul>
-      <li>Solved a problem with Tegra 2 and 3 chips by changing specular
-variables to use medium precision. Values for specular power can now be less
-than 1.0. </li>
-      <li>Changed the samples so that pressing the volume button restores
-immersive mode and invalidates
-<code>SYSTEM_UI_FLAG_IMMERSIVE_STICKY</code>. Screen rotation does not
-trigger <code>onSystemUiVisibilityChange</code>, and so does not restore
-immersive mode.</li>
-         </ul>
-        </li>
-        <li>Fixed the <code>ndk-build</code> script to add
-<code>-rpath-link=$SYSROOT/usr/lib</code> and
-<code>-rpath-link=$TARGET_OUT</code> in order to use <code>ld.bfd</code> to
-link executables. (Issue  <a href="http://b.android.com/64266">64266</a>)</li>
-        <li>Removed <code>-Bsymbolic</code> from all STL builds.</li>
-        <li>Fixed <code>ndk-gdb-py.cmd</code> by setting <code>SHELL</code> as
-an environment variable
-instead of passing it to
-  <code>python.exe</code>, which ignores the setting.
-  (Issue <a href="http://b.android.com/63054">63054</a>)</li>
-        <li>Fixed the <code>make-standalone-toolchain.sh</code> script so that
-the <code>--stl=stlport</code> option copies the gabi++ headers instead of
-symlinking them; the <code>cmd.exe</code> and MinGW shells do not understand
-symlinks created by cygwin.</li>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-     <ul>
-        <li>Applied execution permissions to all <code>*cmd</code> scripts
-previously intended for use only in the <code>cmd.exe</code> shell, in case
-developers prefer to use <code>ndk-build.cmd</code> in cygwin instead of the
-recommended <code>ndk-build</code> script.</li>
-        <li>Improved the speed of the <code>make-standalone-toolchain.sh</code>
-script by moving instead of copying if the specified destination directory does
-not exist.</li>
-     </dd>
-     </ul>
-   </dl>
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="9c"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 9c</a> <em>(December 2013)</em>
- </p>
- <div class="toggle-content-toggleme">
-<p>This is a bug-fix-only release.</p>
-   <dl>
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed a problem with GCC 4.8 ARM, in which the stack pointer is
-restored too early. This problem prevented the frame pointer from reliably
-accessing a variable in the stack frame. (GCC Issue <a
-href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854">58854</a>)</li>
-<li>Fixed a problem with GCC 4.8 libstdc++, in which a bug in
-std::nth_element was causing generation of code that produced a random
-segfault. (Issue <a
-href="https://code.google.com/p/android/issues/detail?id=62910">62910</a>)</li>
-           <li>Fixed GCC 4.8 ICE in cc1/cc1plus with
-<code>-fuse-ld=mcld</code>, so that the following error no longer occurs:
-<pre>cc1: internal compiler error: in common_handle_option, at
-opts.c:1774</pre></li>
-           <li>Fixed <code>-mhard-float</code> support for
-<code>__builtin</code> math functions. For ongoing information on fixes for
-<code>-mhard-float</code> with STL, please follow Issue <a
-href="http://b.android.com/61784">61784</a>.</li>
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Header fixes:
-         <ul>
-           <li>Changed prototype of <code>poll</code> to <code>poll(struct
-pollfd *, nfds_t, int);</code> in <code>poll.h</code>.</li>
-           <li>Added <code>utimensat</code> to <code>libc.so</code> for Android
-API levels 12 and 19. These libraries are now included for all Android API
-levels 12 through 19.</li>
-<li>Introduced <code>futimens</code> into <code>libc.so</code>, for Android API
-level 19.</li>
-<li>Added missing <code>clock_settime()</code> and
-<code>clock_nanosleep()</code> to <code>time.h</code> for Android API level 8
-and higher.</li>
-<li>Added <code>CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE,
-CLOCK_MONOTONIC_COARSE, CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM,</code> and
-<code>CLOCK_BOOTTIME_ALARM</code> in <code>time.h.</code></li>
-<li>Removed obsolete <code>CLOCK_REALTIME_HR</code> and
-<code>CLOCK_MONOTONIC_HR.</code></li>
-         </ul>
-       </li>
-       <li>In samples Teapot, MoreTeapots, and
-<code>source/android/ndk_helper</code>:
-         <ul>
-<li>Changed them so that they now use a hard-float abi for armeabi-v7a.</li>
-<li>Updated them to use immersive mode on Android API level 19 and
-higher.</li>
-<li>Fixed a problem with <code>Check_ReleaseStringUTFChars</code> in
-<code>/system/lib/libdvm.so</code> that was causing crashes on x86 devices.</li>
-         </ul>
-        </li>
-<li>Fixed <code>ndk-build</code> fails that happen in cygwin when the NDK
-package is
-referenced via symlink.</li>
-<li>Fixed <code>ndk-build.cmd</code> fails that happen in windows
-<code>cmd.exe</code> when
-<code>LOCAL_SRC_FILES</code> contains absolute paths. (Issue <a
-href="https://android-review.googlesource.com/#/c/69992">69992</a>)</li>
-<li>Fixed the <code>ndk-stack</code> script to proceed even when it can't parse
-a frame due to inability to find a routine, filename, or line number. In any of
-these cases, it prints <code>??</code>.</li>
-<li>Fixed the <code>ndk-stack</code> stack for windows-x64_64 targets so that
-it no longer erroneously matches a frame line with a line in the
-<code>stack:</code> section that doesn't contain <code>pc</code>,
-<code>eip</code>, or <code>ip</code>. For example:
-<pre>I/DEBUG   ( 1151):     #00  5f09db68  401f01c4
-/system/lib/libc.so</pre></li>
-<li>Fixed gabi++ so that it:
-     <ul>
-         <li>Does not use malloc() to allocate C++ thread-local
-  objects.</li>
-         <li>Avoids deadlocks in gabi++ in cases where libc.debug.malloc is
-non-zero in userdebug/eng Android platform builds.</li>
-     </ul>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-     <ul>
-       <li>Added <code>LOCAL_EXPORT_LDFLAGS</code>.</li>
-<li>Introduced the <code>NDK_PROJECT_PATH=null</code> setting for use in an
-integrated build system where options are explicitly passed to
-<code>ndk-build</code>. With this setting, <code>ndk-build</code> makes no
-attempt to look for <code>NDK_PROJECT_PATH.</code> This setting also prevents
-variables from deriving default settings from NDK_PROJECT_PATH. As a result,
-the following variables must now be explicitly specified (with their default
-values if such exist): <code>NDK_OUT, NDK_LIBS_OUT, APP_BUILD_SCRIPT,
-NDK_DEBUG</code> (optional, default to 0), and other <code>APP_*</code>'s
-contained in <code>Application.mk</code>.</li>
-<li><code>APP_ABI</code> can now be enumerated in a comma-delimited list. For
-example:
-<pre>APP_ABI := "armeabi,armeabi-v7a"</pre></li>
-<li>Provided the ability to rebuild all of STL with debugging info in an
-optional, separate package called
-<code>android-ndk-r9c-cxx-stl-libs-with-debugging-info.zip</code>, using the
-<code>-g</code> option. This option
-helps the <code>ndk-stack</code> script provide better a stack dump across STL.
-This change should not affect the code/size of the final, stripped file.</li>
-<li>Enhanced <code>hello-jni</code> samples to report <code>APP_ABI</code> at
-compilation.</li>
-<li>Used the <code>ar</code> tool in Deterministic mode (option
-<code>-D</code>) to build static libraries.  (Issue <a
-href="http://b.android.com/60705">60705</a>)</li>
-     </ul>
-     </dd>
-
-   </dl>
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="9b"></a>
-  <p>
-    <a href="#" onclick="return toggleContent(this)"> <img
-      src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-    >Android NDK, Revision 9b</a> <em>(October 2013)</em>
-  </p>
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Updated {@code include/android/*h} and {@code math.h} for all Android API levels up to
-          18, including the addition of levels 13, 15, 16 and 17.
-          For information on added APIs, see commit messages for Changes
-          <a href="https://android-review.googlesource.com/68012">68012</a> and
-          <a href="https://android-review.googlesource.com/68014">68014</a>.
-          (Issues <a href="http://b.android.com/47150">47150</a>,
-           <a href="http://b.android.com/58528">58528</a>, and
-           <a href="http://b.android.com/38423">38423</a>)</li>
-        <li>Added support for Android API level 19, including Renderscript binding.</li>
-        <li>Added support for <code>-mhard-float</code> in the existing armeabi-v7a ABI. For more
-          information and current restrictions on Clang, see
-          {@code tests/device/hard-float/jni/Android.mk}.</li>
-        <li>Migrated from GNU Compiler Collection (GCC) 4.8 to 4.8.2, and added diagnostic color
-          support. To enable diagnostic colors, set <code>-fdiagnostics-color=auto</code>,
-          <code>-fdiagnostics-color=always,</code> or export {@code GCC_COLORS} as shown below:
-<pre>
-GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
-</pre>
-          For more information, see
-          <a href="http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html">GCC
-          Language Independent Options</a>.
-        </li>
-        <li>Added two new samples to demonstrate OpenGL ES 3.0 features: Teapot and MoreTeapots.
-          These samples run on devices with Android 4.1 (API level 16) and higher.</li>
-        <li>Deprecated GCC 4.7 and Clang 3.2 support, which will be removed in the next
-          release.</li>
-      </ul>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-      <dd>
-      <ul>
-        <li>Fixed problem with ARM GCC 4.6 {@code thumb2} failing to generate 16-bit relative jump
-          tables. (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48328">GCC Issue</a>)</li>
-        <li>Fixed GCC 4.8 internal compiler error (ICE) on
-          {@code g++.dg/cpp0x/lambda/lambda-defarg3.C}.
-          (<a href="https://android-review.googlesource.com/62770">Change 62770</a>,
-          <a href="http://gcc.gnu.org/ml/gcc/2013-07/msg00424.html">GCC Issue</a>)</li>
-        <li>Fixed a problem with Windows 32-bit {@code *-gdb.exe} executables failing to launch.
-          (<a href="http://b.android.com/58975">Issue 58975</a>)</li>
-        <li>Fixed GCC 4.8 ICE when building bullet library. The error message is as follows:
-          <pre>internal compiler error: verify_flow_info failed</pre>
-          (<a href="http://b.android.com/58916">Issue 58916</a>,
-           <a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58165">GCC Issue</a>)</li>
-        <li>Modified GDB/ARM build to skip {@code ARM.exidx} data for unwinding in prologue code and
-          added a command ({@code set arm exidx-unwinding}) to control exidx-based stack unwinding.
-          (<a href="http://b.android.com/55826">Issue 55826</a>)</li>
-        <li>Fixed Clang 3.3 MIPS compiler problem where HI and LO registers are incorrectly
-          reused.</li>
-        <li>Fixed issue with MIPS 4.7 ICE in {@code dbx_reg_number}. The error message is as
-follows:
-<pre>
-external/icu4c/i18n/decimfmt.cpp:1322:1:
-internal compiler error: in dbx_reg_number, at dwarf2out.c:10185
-</pre>
-          (<a href="http://gcc.gnu.org/ml/gcc-patches/2012-12/msg00830.html">GCC Patch</a>)
-
-        </li>
-
-      </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-      <dd>
-      <ul>
-        <li>Header fixes
-          <ul>
-            <li>Fixed the ARM {@code WCHAR_MIN} and {@code WCHAR_MAX} to be unsigned according to
-              spec (the X86/MIPS versions are signed). Define {@code _WCHAR_IS_ALWAYS_SIGNED} to
-              restore old behavior. (<a href="http://b.android.com/57749">Issue 57749</a>)</li>
-            <li>Fixed {@code include/netinet/tcp.h} to contain {@code TCP_INFO} state enum.
-              (<a href="http://b.android.com/38881">Issue 38881</a>)</li>
-            <li>Fixed the {@code cdefs_elh.h} macro {@code _C_LABEL_STRING} to stop generating
-               warnings in the GCC 4.8 toolchain when using c++11 mode.
-              (<a href="http://b.android.com/58135">Issue 58135</a>,
-               <a href="http://b.android.com/58652">Issue 58652</a>)</li>
-            <li>Removed non-existent functions {@code imaxabs} and {@code imaxdiv} from header
-              {@code inttypes.h}.</li>
-            <li>Fixed issue with {@code pthread_exit()} return values and {@code pthread_self()}.
-                 (<a href="http://b.android.com/60686">Issue 60686</a>)</li>
-            <li>Added missing {@code mkdtemp()} function, which already exists in {@code bionic}
-              header {@code stdlib.h}.</li>
-          </ul>
-        </li>
-        <li>Fixed problem building {@code samples/gles3jni} with Clang on Android API level 11.</li>
-        <li>Fixed MCLinker to allow multiple occurrences of the following options:
-          {@code -gc-sections} and {@code --eh-frame-hdr}.</li>
-        <li>Fixed MCLinker to accept the {@code --no-warn-mismatch} option.</li>
-        <li>Modified {@code cpu-features} option to not assume all VFPv4 devices support IDIV.
-          Now this option only adds IDIV to white-listed devices, including Nexus 4.
-          (<a href="http://b.android.com/57637">Issue 57637</a>)</li>
-        <li>Fixed problem with {@code android_native_app_glue.c} erroneously logging errors on event
-          predispatch operations.</li>
-        <li>Fixed all operations on {@code gabi++} terminate and unexpected_handler to be
-          thread-safe.</li>
-        <li>Fixed several issues with Clang <code>-integrated-as</code> option so it can pass
-          tests for {@code ssax-instructions} and {@code fenv}.</li>
-        <li>Fixed GCC 4.6/4.7/4.8 compiler to pass the linker option {@code --eh-frame-hdr} even
-          for static executables. For more information, see the
-          <a href="http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00969.html">GCC patch</a>.</li>
-        <li>Fixed extra apostrophe in <code>CPU-ARCH-ABIS.html</code>. For more information, see
-          <code>NDK-DEPENDS.html</code>. (<a href="http://b.android.com/60142">Issue 60142</a>)</li>
-        <li>Fixed extra quotes in ndk-build output on Windows.
-          (<a href="http://b.android.com/60649">Issue 60649</a>)</li>
-        <li>Fixed Clang 3.3 to compile ARM's built-in, atomic operations such as
-          {@code __atomic_fetch_add}, {@code __atomic_fetch_sub}, and {@code __atomic_fetch_or}.
-          </li>
-        <li>Fixed Clang 3.3 ICE with customized {@code vfprintf}.
-          (<a href="http://llvm.org/bugs/show_bug.cgi?id=16344">Clang issue</a>)
-        </li>
-      </ul>
-      </dd>
-
-      <dt>Other changes:</dt>
-      <dd>
-      <ul>
-        <li>Enabled OpenMP for all GCC builds. To use this feature, add the following flags to your
-          build settings:
-<pre>
-LOCAL_CFLAGS += -fopenmp
-LOCAL_LDFLAGS += -fopenmp
-</pre>
-          For code examples, see {@code tests/device/test-openmp}</li>
-        <li>Reduced the size of {@code ld.mcld} significantly (1.5MB vs. {@code ld.bfd} 3.5MB and
-          {@code ld.gold} 7.5MB), resulting in a speed improvement of approximately 20%.</li>
-        <li>Added <code>LOCAL_CONLYFLAGS</code> and <code>APP_CONLYFLAGS</code> to specify
-          options applicable to C only but not C++. The existing <code>LOCAL_CFLAGS</code>
-          and <code>APP_CFLAGS</code> are also used for C++ compilation (to save trouble of
-          specifying most options twice), so options such as <code>-std=gnu99</code> may fail in
-          g++ builds with a warning and clang++ builds with an error.</li>
-        <li>Added {@code gabi++} array helper functions.</li>
-        <li>Modified GCC builds so that all {@code libgcc.a} files are built with
-          <code>-funwind-tables</code> to allow the stack to be unwound past previously blocked
-          points, such as <code>__aeabi_idiv0</code>.</li>
-        <li>Added Ingenic MXU support in MIPS GCC4.6/4.7/4.8 with new <code>-mmxu</code>
-option.</li>
-        <li>Extended MIPS GCC4.6/4.7/4.8 <code>-mldc1-sdc1</code> to control ldxc1/sdxc1 too</li>
-        <li>Added crazy linker. For more information, see
-          {@code sources/android/crazy_linker/README.TXT}.</li>
-        <li>Fixed {@code bitmap-plasma} to draw to full screen rather than a 200x200 pixel
-area.</li>
-        <li>Reduced linux and darwin toolchain sizes by 25% by creating symlinks to identical files.
-          </li>
-      </ul>
-      </dd>
-
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-<a name="9"></a>
-  <p>
-    <a href="#" onclick="return toggleContent(this)"> <img
-      src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-    >Android NDK, Revision 9</a> <em>(July 2013)</em>
-  </p>
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-        <ul>
-          <li>Added support for Android 4.3 (API level 18). For more information, see
-            {@code STABLE-APIS.html} and new code examples in {@code samples/gles3jni/README}.
-          <li>Added headers and libraries for OpenGL ES 3.0, which is supported by Android 4.3
-            (API level 18) and higher.</li>
-          <li>Added GNU Compiler Collection (GCC) 4.8 compiler to the NDK. Since GCC 4.6 is still
-            the default, you must explicitly enable this option:
-            <ul>
-              <li>For {@code ndk-build} builds, export {@code NDK_TOOLCHAIN_VERSION=4.8} or
-                add it in {@code Application.mk}.</li>
-              <li>For standalone builds, use the {@code --toolchain=} option in
-                {@code make-standalone-toolchain.sh}, for example:<br>
-                {@code --toolchain=arm-linux-androideabi-4.8}</li>
-            </ul>
-            <p class="note"><strong>Note:</strong>
-            The {@code -Wunused-local-typedefs} option is enabled by {@code -Wall}. Be
-            sure to add {@code __attribute__((unused))} if you use compile-time asserts like
-            {@code sources/cxx-stl/stlport/stlport/stl/config/features.h}, line #311. For more
-            information, see
-            <a href="https://android-review.googlesource.com/#/c/55460">Change 55460</a></p>
-            <p class="note"><strong>Note:</strong>
-            In the GCC 4.7 release and later, ARM compilers generate unaligned access code by
-            default for ARMv6 and higher build targets. You may need to add the
-            {@code -mno-unaligned-access} build option when building for kernels that do not support
-            this feature.</p>
-          </li>
-          <li>Added Clang 3.3 support. The {@code NDK_TOOLCHAIN_VERSION=clang} build option
-            now picks Clang 3.3 by default.
-            <p class="note"><strong>Note:</strong>
-             Both GCC 4.4.3 and Clang 3.1 are deprecated, and will be removed from the next NDK
-             release.</p></li>
-          <li>Updated GNU Project Debugger (GDB) to support python 2.7.5.</li>
-          <li>Added MCLinker to support Windows hosts. Since {@code ld.gold}
-            is the default where available, you must add {@code -fuse-ld=mcld} in
-            {@code LOCAL_LDFLAGS} or {@code APP_LDFLAGS} to enable MCLinker.</li>
-          <li>Added {@code ndk-depends} tool which prints ELF library dependencies.
-            For more information, see {@code NDK-DEPENDS.html}.
-            (<a href="http://b.android.com/53486">Issue 53486</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed potential event handling issue in {@code android_native_app_glue}.
-            (<a href="http://b.android.com/41755">Issue 41755</a>)</li>
-          <li>Fixed ARM/GCC-4.7 build to generate sufficient alignment for NEON load and store
-            instructions VST and VLD.
-            (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57271">GCC Issue 57271</a>)</li>
-          <li>Fixed a GCC 4.4.3/4.6/4.7 internal compiler error (ICE) for a constant negative index
-            value on a string literal.
-            (<a href="http://b.android.com/54623">Issue 54623</a>)</li>
-          <li>Fixed GCC 4.7 segmentation fault for constant initialization with an object address.
-            (<a href="http://b.android.com/56508">Issue 56508</a>)</li>
-          <li>Fixed GCC 4.6 ARM segmentation fault for <code>-O</code> values when using Boost
-            1.52.0. (<a href="http://b.android.com/42891">Issue 42891</a>)
-          <li>Fixed {@code libc.so} and {@code libc.a} to support the {@code wait4()} function.
-            (<a href="http://b.android.com/19854">Issue 19854</a>)</li>
-          <li>Updated the x86 libc.so and libc.a files to include the {@code clone()}
-            function.</li>
-          <li>Fixed {@code LOCAL_SHORT_COMMANDS} bug where the {@code linker.list} file is
-            empty or not used.</li>
-          <li>Fixed GCC MIPS build on Mac OS to use CFI directives, without which
-            {@code ld.mcld --eh-frame-hdr} fails frequently.</li>
-          <li>Fixed Clang 3.2 X86/MIPS internal compiler error in {@code llvm/lib/VMCore/Value.cpp}.
-            (<a href="https://android-review.googlesource.com/#/c/59021">Change 59021</a>)</li>
-          <li>Fixed GCC 4.7 64-bit Windows assembler crash. (Error: {@code out of memory allocating
-            4294967280 bytes}).</li>
-          <li>Updated {@code ndk-gdb} script so that the {@code --start} or {@code --launch} actions
-            now wait for the GNU Debug Server, so that it can more reliably hit breakpoints set
-            early in the execution path (such as breakpoints in JNI code).
-            (<a href="http://b.android.com/41278">Issue 41278</a>)
-            <p class="note"><strong>Note:</strong>
-              This feature requires jdb and produces warning about pending breakpoints.
-              Specify the {@code --nowait} option to restore previous behavior.
-            </p>
-          </li>
-          <li>Fixed GDB crash when library list is empty.</li>
-          <li>Fixed GDB crash when using a {@code stepi} command past a {@code bx pc} or
-            {@code blx pc} Thumb instruction.
-            (<a href="http://b.android.com/56962">Issue 56962</a>,
-             <a href="http://b.android.com/36149">Issue 36149</a>)</li>
-          <li>Fixed MIPS {@code gdbserver} to look for {@code DT_MIPS_RLD_MAP} instead of
-            {@code DT_DEBUG}. (<a href="http://b.android.com/56586">Issue 56586</a>)</li>
-          <li>Fixed a circular dependency in the ndk-build script, for example: If A-&gt;B and
-            B-&gt;B, then B was dropped from build.
-            (<a href="http://b.android.com/56690">Issue 56690</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed the {@code ndk-build} script to enable you to specify a version of Clang as a
-            command line option (e.g., {@code NDK_TOOLCHAIN_VERSION=clang3.2}). Previously, only
-            specifying the version as an environment variable worked.</li>
-          <li>Fixed gabi++ size of {@code _Unwind_Exception} to be 24 for MIPS build targets when
-            using the Clang compiler.
-            (<a href="https://android-review.googlesource.com/#/c/54141">Change 54141</a>)</li>
-          <li>Fixed the {@code ndk-build} script to ensure that built libraries are actually
-            removed from projects that include prebuilt static libraries when using the
-            {@code ndk-build clean} command.
-            (<a href="https://android-review.googlesource.com/#/c/54461">Change 54461</a>,
-             <a href="https://android-review.googlesource.com/#/c/54480">Change 54480</a>)</li>
-          <li>Modified the {@code NDK_ANALYZE=1} option to be less verbose.</li>
-          <li>Fixed {@code gnu-libstdc++/Android.mk} to include a {@code backward/} path for builds
-            that use backward compability.
-            (<a href="http://b.android.com/53404">Issue 53404</a>)</li>
-          <li>Fixed a problem where {@code stlport new} sometimes returned random values.</li>
-          <li>Fixed {@code ndk-gdb} to match the order of {@code CPU_ABIS}, not {@code APP_ABIS}.
-            (<a href="http://b.android.com/54033">Issue 54033</a>)</li>
-          <li>Fixed a problem where the NDK 64-bit build on MacOSX choses the wrong path for
-            compiler.
-            (<a href="http://b.android.com/53769">Issue 53769</a>)</li>
-          <li>Fixed build scripts to detect 64-bit Windows Vista.
-            (<a href="http://b.android.com/54485">Issue 54485</a>)</li>
-          <li>Fixed x86 {@code ntonl/swap32} error: {@code invalid 'asm': operand number
-            out of range}.
-            (<a href="http://b.android.com/54465">Issue 54465</a>,
-             <a href="https://android-review.googlesource.com/#/c/57242">Change 57242</a>)</li>
-          <li>Fixed {@code ld.gold} to merge string literals.</li>
-          <li>Fixed {@code ld.gold} to handle large symbol alignment.</li>
-          <li>Updated {@code ld.gold} to enable the {@code --sort-section=name} option.</li>
-          <li>Fixed GCC 4.4.3/4.6/4.7 to suppress the {@code -export-dynamic} option for
-            statically linked programs. GCC no longer adds an {@code .interp} section for statically
-            linked programs.</li>
-          <li>Fixed GCC 4.4.3 {@code stlport} compilation error about inconsistent {@code typedef}
-            of {@code _Unwind_Control_Block}.
-            (<a href="http://b.android.com/54426">Issue 54426</a>)</li>
-          <li>Fixed {@code awk} scripts to handle {@code AndroidManifest.xml} files created on
-            Windows which may contain trailing {@code \r} characters and cause build errors.
-            (<a href="http://b.android.com/42548">Issue 42548</a>)</li>
-          <li>Fixed {@code make-standalone-toolchain.sh} to probe the {@code prebuilts/}
-            directory to detect if the host is 32 bit or 64 bit.</li>
-          <li>Fixed the Clang 3.2 {@code -integrated-as} option.</li>
-          <li>Fixed the Clang 3.2 ARM EHABI compact model {@code pr1} and {@code pr2} handler data.
-            </li>
-          <li>Added Clang {@code -mllvm -arm-enable-ehabi} option to fix the following Clang error:
-            <pre>clang: for the -arm-enable-ehabi option: may only occur zero or one times!</pre>
-            </li>
-          <li>Fixed build failure when there is no {@code uses-sdk} element in application
-            manifest. (<a href="http://b.android.com/57015">Issue 57015</a>)</li>
-        </ul>
-
-      </dd>
-      <dt>Other changes:</dt>
-      <dd>
-        <ul>
-          <li>Header Fixes
-            <ul>
-              <li>Modified headers to make {@code __set_errno} an inlined function, since
-                {@code __set_errno} in {@code errno.h} is deprecated, and {@code libc.so} no longer
-                exports it.</li>
-              <li>Modified {@code elf.h} to include {@code stdint.h}.
-                (<a href="http://b.android.com/55443">Issue 55443</a>)</li>
-              <li>Fixed {@code sys/un.h} to be included independently of other headers.
-                (<a href="http://b.android.com/53646">Issue 53646</a>)</li>
-              <li>Fixed all of the {@code MotionEvent_getHistorical} API family to take the
-                {@code const AInputEvent* motion_event}.
-                (<a href="http://b.android.com/55873">Issue 55873</a>)</li>
-              <li>Fixed {@code malloc_usable_size} to take {@code const void*}.
-                (<a href="http://b.android.com/55725">Issue 55725</a>)</li>
-              <li>Fixed stdint.h to be more compatible with C99.
-                (<a href="https://android-review.googlesource.com/#/c/46821">Change 46821</a>)</li>
-              <li>Modified {@code wchar.h} to not redefine {@code WCHAR_MAX} and
-                {@code WCHAR_MIN}</li>
-              <li>Fixed {@code <inttypes.h>} declaration for pointer-related {@code PRI} and
-                {@code SCN} macros. (<a href="http://b.android.com/57218">Issue 57218</a>)</li>
-              <li>Changed the {@code sys/cdefs.h} header so that {@code __WCHAR_TYPE__} is 32-bit
-                for API levels less than 9, which means that {@code wchat_t} is 32-bit for all
-                API levels. To restore the previous behavior, define the {@code _WCHAR_IS_8BIT}
-                boolean variable. (<a href="http://b.android.com/57267">Issue 57267</a>)</li>
-            </ul>
-          </li>
-          <li>Added more formatting in NDK {@code docs/} and miscellaneous documentation fixes.
-            </li>
-          <li>Added support for a thin archive technique when building static libraries.
-            (<a href="http://b.android.com/40303">Issue 40303</a>)</li>
-          <li>Updated script {@code make-standalone-toolchain.sh} to support the {@code stlport}
-            library in addition to {@code gnustl}, when you specify the option
-            {@code --stl=stlport}. For more information, see {@code STANDALONE-TOOLCHAIN.html}.</li>
-          <li>Updated the {@code make-standalone-toolchain.sh} script so that the
-            {@code --llvm-version=} option creates the {@code $TOOLCHAIN_PREFIX-clang} and
-            {@code $TOOLCHAIN_PREFIX-clang++} scripts in addition to {@code clang} and
-            {@code clang++}, to avoid using the host's clang and clang++ definitions by accident.
-            </li>
-          <li>Added two flags to re-enable two optimizations in upstream Clang but disabled in
-              NDK for better compatibility with code compiled by GCC:
-            <ul>
-              <li>Added a {@code -fcxx-missing-return-semantics} flag to re-enable <em>missing
-return
-                semantics</em> in Clang 3.2+. Normally, all paths should terminate with a return
-                statement for a value-returning function. If this is not the case, clang inserts
-                an undefined instruction (or trap in debug mode) at the path without a return
-                statement. If you are sure your code is correct, use this flag to allow the
-                optimizer to take advantage of the undefined behavior. If you are not sure, do not
-                use this flag. The caller may still receive a random incorrect value, but the
-                optimizer will not exploit it and make your code harder to debug.</li>
-              <li>Added a {@code -fglobal-ctor-const-promotion} flag to re-enable
-                promoting global variables with static constructor to be constants. With this flag,
-                the global variable optimization pass of LLVM tries to evaluate the global
-                variables with static constructors and promote them to global constants. Although
-                this optimization is correct, it may cause some incompatability with code compiled
-                by GCC. For example, code may do {@code const_cast} to cast the constant to mutable
-                and modify it. In GCC, the variable is in read-write and the code is run by
-                accident. In Clang, the const variable is in read-only memory and may cause your
-                application to crash.</li>
-            </ul>
-          </li>
-          <li>Added {@code -mldc1-sdc1} to the MIPS GCC and Clang compilers. By default, compilers
-            align 8-byte objects properly and emit the {@code ldc1} and {@code sdc1} instructions
-            to move them around. If your app uses a custom allocator that does not always align
-            with a new object's 8-byte boundary in the same way as the default allocator, your app
-            may crash due to {@code ldc1} and {@code sdc1} operations on unaligned memory. In this
-            case, use the {@code -mno-ldc1-sdc1} flag to workaround the problem.</li>
-          <li>Downgraded the event severity from warning to info if {@code APP_PLATFORM_LEVEL} is
-            larger than {@code APP_MIN_PLATFORM_LEVEL}. The {@code APP_PLATFORM_LEVEL} may be lower
-            than {@code APP_PLATFORM} in {@code jni/Application.mk} because the NDK does not have
-            headers for all levels. In this case, the actual level is shifted downwards. The
-            {@code APP_MIN_PLATFORM_LEVEL} is specified by the {@code android:minSdkVersion} in
-            your application's manifest.
-            (<a href="http://b.android.com/39752">Issue 39752</a>)</li>
-          <li>Added the {@code android_getCpuIdArm()} and {@code android_setCpuArm()} methods to
-            {@code cpu-features.c}. This addition enables easier retrieval of the ARM CPUID
-            information. (<a href="http://b.android.com/53689">Issue 53689</a>)</li>
-          <li>Modified {@code ndk-build} to use GCC 4.7's {@code as/ld} for Clang compiling.
-            <p class="note"><strong>Note:</strong>
-              In GCC 4.7, {@code monotonic_clock} and {@code is_monotonic} have been renamed to
-              {@code steady_clock} and {@code is_steady}, respectively.</p></li>
-          <li>Added the following new warnings to the {@code ndk-build} script:
-            <ul>
-              <li>Added warnings if {@code LOCAL_LDLIBS/LDFLAGS} are used in static library
-                modules.</li>
-              <li>Added a warning if a configuration has no module to build.</li>
-              <li>Added a warning for non-system libraries being used in
-                {@code LOCAL_LDLIBS/LDFLAGS} of a shared library or executable modules.</li>
-            </ul>
-          </li>
-          <li>Updated build scripts, so that if {@code APP_MODULES} is not defined and only static
-            libraries are listed in {@code Android.mk}, the script force-builds all of them.
-            (<a href="http://b.android.com/53502">Issue 53502</a>)</li>
-          <li>Updated {@code ndk-build} to support absolute paths in {@code LOCAL_SRC_FILES}.</li>
-          <li>Removed the {@code *-gdbtui} executables, which are duplicates of the {@code *-gdb}
-            executables with the {@code -tui} option enabled.</li>
-          <li>Updated the build scripts to warn you when the Edison Design Group (EDG) compiler
-            front-end turns {@code _STLP_HAS_INCLUDE_NEXT} back on.
-            (<a href="http://b.android.com/53646">Issue 53646</a>)</li>
-          <li>Added the environment variable {@code NDK_LIBS_OUT} to allow overriding of the
-            path for {@code libraries/gdbserver} from the default {@code $PROJECT/libs}.
-            For more information, see {@code OVERVIEW.html}.</li>
-          <li>Changed ndk-build script defaults to compile code with format string protection
-            {@code -Wformat -Werror=format-security}. You may set
-            {@code LOCAL_DISABLE_FORMAT_STRING_CHECKS=true} to disable it.
-            For more information, see {@code ANDROID-MK.html}</li>
-          <li>Added STL pretty-print support in {@code ndk-gdb-py}. For more information, see
-            {@code NDK-GDB.html}.</li>
-          <li>Added tests based on the googletest frameworks.</li>
-          <li>Added a notification to the toolchain build script that warns you if the current shell
-            is not {@code bash}.</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-<a name="lower"></a>
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8e</a> <em>(March 2013)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-        <ul>
-          <li>Added 64-bit host toolchain set (package name suffix {@code *-x86_64.*}). For more
-            information, see {@code CHANGES.HTML} and {@code NDK-BUILD.html}.</li>
-          <li>Added Clang 3.2 compiler. GCC 4.6 is still the default. For information on using the
-            Clang compiler, see {@code CHANGES.HTML}.</li>
-          <li>Added static code analyzer for Linux/MacOSX hosts. For information on using the
-            analyzer, see {@code CHANGES.HTML}.</li>
-          <li>Added MCLinker for Linux/MacOSX hosts as an experimental feature. The {@code ld.gold}
-            linker is the default where available, so you must explicitly enable it. For more
-            information, see {@code CHANGES.HTML}.</li>
-          <li>Updated ndk-build to use topological sort for module dependencies, which means the
-            build automatically sorts out the order of libraries specified in
-            {@code LOCAL_STATIC_LIBRARIES}, {@code LOCAL_WHOLE_STATIC_LIBRARIES} and
-            {@code LOCAL_SHARED_LIBRARIES}. For more information, see {@code CHANGES.HTML}.
-            (<a href="http://b.android.com/39378">Issue 39378</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed build script to build all toolchains in {@code -O2}. Toolchains in previous
-            releases were incorrectly built without optimization.</li>
-          <li>Fixed build script which unconditionally builds Clang/llvm for MacOSX in 64-bit.</li>
-          <li>Fixed GCC 4.6/4.7 internal compiler error:
-            {@code gen_thumb_movhi_clobber at config/arm/arm.md:5832}.
-            (<a href="http://b.android.com/52732">Issue 52732</a>)</li>
-          <li>Fixed build problem where GCC/ARM 4.6/4.7 fails to link code using 64-bit atomic
-            built-in functions.
-            (<a href="http://b.android.com/41297">Issue 41297</a>)</li>
-          <li>Fixed GCC 4.7 linker DIV usage mismatch errors.
-          (<a href="http://sourceware.org/ml/binutils/2012-12/msg00202.html">Sourceware Issue</a>)
-          <li>Fixed GCC 4.7 internal compiler error {@code build_data_member_initialization, at
-            cp/semantics.c:5790}.</li>
-          <li>Fixed GCC 4.7 internal compiler error {@code redirect_eh_edge_1, at tree-eh.c:2214}.
-            (<a href="http://b.android.com/52909">Issue 52909</a>)</li>
-          <li>Fixed a GCC 4.7 segfault.
-            (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55245">GCC Issue</a>)</li>
-          <li>Fixed {@code <chrono>} clock resolution and enabled {@code steady_clock}.
-            (<a href="http://b.android.com/39680">Issue 39680</a>)</li>
-          <li>Fixed toolchain to enable {@code _GLIBCXX_HAS_GTHREADS} for GCC 4.7 libstdc++.
-            (<a href="http://b.android.com/41770">Issue 41770</a>,
-             <a href="http://b.android.com/41859">Issue 41859</a>)</li>
-          <li>Fixed problem with the X86 MXX/SSE code failing to link due to missing
-            {@code posix_memalign}.
-            (<a href="https://android-review.googlesource.com/#/c/51872">Change 51872</a>)</li>
-          <li>Fixed GCC4.7/X86 segmentation fault in {@code i386.c}, function
-            {@code distance_non_agu_define_in_bb()}.
-            (<a href="https://android-review.googlesource.com/#/c/50383">Change 50383</a>)</li>
-          <li>Fixed GCC4.7/X86 to restore earlier {@code cmov} behavior.
-            (<a href="http://gcc.gnu.org/viewcvs?view=revision&revision=193554">GCC Issue</a>)</li>
-          <li>Fixed handling NULL return value of {@code setlocale()} in libstdc++/GCC4.7.
-            (<a href="http://b.android.com/46718">Issue 46718</a>)
-          <li>Fixed {@code ld.gold} runtime undefined reference to {@code __exidx_start} and
-            {@code __exidx_start_end}.
-            (<a href="https://android-review.googlesource.com/#/c/52134">Change 52134</a>)</li>
-          <li>Fixed Clang 3.1 internal compiler error when using Eigen library.
-            (<a href="http://b.android.com/41246">Issue 41246</a>)</li>
-          <li>Fixed Clang 3.1 internal compiler error including {@code <chrono>} in C++11
-mode.
-            (<a href="http://b.android.com/39600">Issue 39600</a>)</li>
-          <li>Fixed Clang 3.1 internal compiler error when generating object code for a method
-            call to a uniform initialized {@code rvalue}.
-            (<a href="http://b.android.com/41387">Issue 41387</a>)</li>
-          <li>Fixed Clang 3.1/X86 stack realignment.
-            (<a href="https://android-review.googlesource.com/#/c/52154">Change 52154</a>)</li>
-          <li>Fixed problem with GNU Debugger (GDB) SIGILL when debugging on Android 4.1.2.
-            (<a href="http://b.android.com/40941">Issue 40941</a>)</li>
-          <li>Fixed problem where GDB cannot set {@code source:line} breakpoints when symbols
-contain
-            long, indirect file paths.
-            (<a href="http://b.android.com/42448">Issue 42448</a>)</li>
-          <li>Fixed GDB {@code read_program_header} for MIPS PIE executables.
-            (<a href="https://android-review.googlesource.com/#/c/49592">Change 49592</a>)</li>
-          <li>Fixed {@code STLport} segmentation fault in {@code uncaught_exception()}.
-            (<a href="https://android-review.googlesource.com/#/c/50236">Change 50236</a>)</li>
-          <li>Fixed {@code STLport} bus error in exception handling due to unaligned access of
-            {@code DW_EH_PE_udata2}, {@code DW_EH_PE_udata4}, and {@code DW_EH_PE_udata8}.</li>
-          <li>Fixed Gabi++ infinite recursion problem with {@code nothrow new[]} operator.
-            (<a href="http://b.android.com/52833">Issue 52833</a>)</li>
-          <li>Fixed Gabi++ wrong offset to exception handler pointer.
-            (<a href="https://android-review.googlesource.com/#/c/53446">Change 53446</a>)</li>
-          <li>Removed Gabi++ redundant free on exception object
-            (<a href="https://android-review.googlesource.com/#/c/53447">Change 53447</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed NDK headers:
-            <ul>
-              <li>Removed redundant definitions of {@code size_t}, {@code ssize_t}, and
-                {@code ptrdiff_t}.</li>
-              <li>Fixed MIPS and ARM {@code fenv.h} header.</li>
-              <li>Fixed {@code stddef.h} to not redefine {@code offsetof} since it already exists
-                in the toolchain.</li>
-              <li>Fixed {@code elf.h} to contain {@code Elf32_auxv_t} and {@code Elf64_auxv_t}.
-                (<a href="http://b.android.com/38441">Issue 38441</a>)
-                </li>
-              <li>Fixed the {@code #ifdef} C++ definitions in the
-                {@code OpenSLES_AndroidConfiguration.h} header file.
-                (<a href="http://b.android.com/53163">Issue 53163</a>)
-                </li>
-            </ul>
-          </li>
-          <li>Fixed {@code STLport} to abort after out of memory error instead of silently exiting.
-            </li>
-          <li>Fixed system and Gabi++ headers to be able to compile with API level 8 and lower.</li>
-          <li>Fixed {@code cpufeatures} to not parse {@code /proc/self/auxv}.
-            (<a href="http://b.android.com/43055">Issue 43055</a>)</li>
-          <li>Fixed {@code ld.gold} to not depend on host libstdc++ and on Windows platforms,
-            to not depend on the {@code libgcc_sjlj_1.dll} library.</li>
-          <li>Fixed Clang 3.1 which emits inconsistent register list in {@code .vsave} and fails
-            assembler.
-            (<a href="https://android-review.googlesource.com/#/c/49930">Change 49930</a>)</li>
-          <li>Fixed Clang 3.1 to be able to compile libgabi++ and pass the {@code test-stlport}
-            tests for MIPS build targets.
-            (<a href="https://android-review.googlesource.com/#/c/51961">Change 51961</a>)</li>
-          <li>Fixed Clang 3.1 to only enable exception by default for C++, not for C.</li>
-          <li>Fixed several issues in Clang 3.1 to pass most GNU exception tests.</li>
-          <li>Fixed scripts {@code clang} and {@code clang++} in standalone NDK compiler to detect
-            {@code -cc1} and to not specify {@code -target} when found.</li>
-          <li>Fixed {@code ndk-build} to observe {@code NDK_APP_OUT} set in {@code Application.mk}.
-            </li>
-          <li>Fixed X86 {@code libc.so} and {@code lib.a} which were missing the {@code sigsetjmp}
-            and {@code siglongjmp} functions already declared in {@code setjmp.h}.
-            (<a href="http://b.android.com/19851">Issue 19851</a>)</li>
-          <li>Patched GCC 4.4.3/4.6/4.7 libstdc++ to work with Clang in C++ 11.
-            (<a href="http://clang.llvm.org/cxx_status.html">Clang Issue</a>)</li>
-          <li>Fixed cygwin path in argument passed to {@code HOST_AWK}.</li>
-          <li>Fixed {@code ndk-build} script warning in windows when running from project's JNI
-            directory.
-            (<a href="http://b.android.com/40192">Issue 40192</a>)</li>
-          <li>Fixed problem where the {@code ndk-build} script does not build if makefile has
-            trailing whitespace in the {@code LOCAL_PATH} definition.
-            (<a href="http://b.android.com/42841">Issue 42841</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Other changes:</dt>
-      <dd>
-        <ul>
-          <li>Enabled threading support in GCC/MIPS toolchain.</li>
-          <li>Updated GCC exception handling helpers {@code __cxa_begin_cleanup} and
-            {@code __cxa_type_match} to have <em>default</em> visibility from the previous
-            <em>hidden</em> visibility in GNU libstdc++. For more information, see
-            {@code CHANGES.HTML}.</li>
-          <li>Updated build scripts so that Gabi++ and STLport static libraries are now built with
-            hidden visibility except for exception handling helpers.</li>
-          <li>Updated build so that {@code STLport} is built for ARM in Thumb mode.</li>
-          <li>Added support for {@code std::set_new_handler} in Gabi++.
-            (<a href="http://b.android.com/52805">Issue 52805</a>)</li>
-          <li>Enabled {@code FUTEX} system call in GNU libstdc++.</li>
-          <li>Updated {@code ndk-build} so that it  no longer copies prebuilt static library to
-            a project's {@code obj/local/<abi>/} directory.
-            (<a href="http://b.android.com/40302">Issue 40302</a>)</li>
-          <li>Removed {@code __ARM_ARCH_5*__} from ARM {@code toolchains/*/setup.mk} script.
-            (<a href="http://b.android.com/21132">Issue 21132</a>)</li>
-          <li>Built additional GNU libstdc++ libraries in thumb for ARM.</li>
-          <li>Enabled MIPS floating-point {@code madd/msub/nmadd/nmsub/recip/rsqrt}
-            instructions with 32-bit FPU.</li>
-          <li>Enabled graphite loop optimizer in GCC 4.6 and 4.7 to allow more optimizations:
-            {@code -fgraphite}, {@code -fgraphite-identity}, {@code -floop-block}, {@code
--floop-flatten},
-            {@code -floop-interchange}, {@code -floop-strip-mine}, {@code -floop-parallelize-all},
-            and {@code -ftree-loop-linear}.
-            (<a href="http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html">info</a>)</li>
-          <li>Enabled {@code polly} for Clang 3.1 on Linux and Max OS X 32-bit hosts which analyzes
-            and optimizes memory access. (<a href="http://polly.llvm.org">info</a>)</li>
-          <li>Enabled {@code -flto} in GCC 4.7, 4.6, Clang 3.2 and Clang 3.1 on linux (Clang LTO
-            via LLVMgold.so). MIPS compiler targets are not supported because {@code ld.gold}
-            is not available.</li>
-          <li>Enabled {@code --plugin} and {@code --plugin-opt} for {@code ld.gold} in GCC 4.6/4.7.
-            </li>
-          <li>Enabled {@code --text-reorder} for {@code ld.gold} in GCC 4.7.</li>
-          <li>Configured GNU libstdc++ with {@code _GLIBCXX_USE_C99_MATH} which undefines the
-            {@code isinf} script in the bionic header. For more information, see
-            {@code CHANGES.html}.</li>
-          <li>Added {@code APP_LDFLAGS} to the build scripts. For more information, see
-            {@code ANDROID-MK.html}.</li>
-          <li>Updated build scripts to allow {@code NDK_LOG=0} to disable the {@code NDK_LOG}.</li>
-          <li>Updated build scripts to allow {@code NDK_HOST_32BIT=0} to disable the host developer
-            environment 32-bit toolchain.</li>
-          <li>Changed the default GCC/X86 flags {@code -march=} and {@code -mtune=} from
-            {@code pentiumpro} and {@code generic} to {@code i686} and {@code atom}.</li>
-          <li>Enhanced toolchain build scripts:
-            <ul>
-              <li>Fixed a race condition in {@code build-gcc.sh} for the {@code mingw} build type
-                which was preventing a significant amount of parallel build processing.</li>
-              <li>Updated {@code build-gabi++.sh} and {@code build-stlport.sh} so they can now run
-                from the NDK package.
-                (<a href="http://b.android.com/52835">Issue 52835</a>)
-                </li>
-              <li>Fixed {@code run-tests.sh} in the {@code MSys} utilities collection.</li>
-              <li>Improved 64-bit host toolchain and Canadian Cross build support.</li>
-              <li>Updated {@code build-mingw64-toolchain.sh} script to more recent version.</li>
-              <li>Added option to build {@code libgnustl_static.a} and {@code stlport_static.a}
-                without hidden visibility.</li>
-            </ul>
-          </li>
-        </ul>
-
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8d</a> <em>(December 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-        <ul>
-          <li>Added the GNU Compiler Collection (GCC) 4.7 compiler to the NDK. The GCC 4.6 compiler
-            is still the default, so you must to explicitly enable the new version as follows:
-            <ul>
-              <li>For {@code ndk-build}, export the {@code NDK_TOOLCHAIN_VERSION=4.7} variable
-                <em>or</em> add it to {@code Application.mk}.</li>
-              <li>For standalone builds, add the {@code --toolchain=} option to
-                {@code make-standalone-toolchain.sh}, for example:
-                <pre>--toolchain=arm-linux-androideabi-4.7</pre></li>
-            </ul>
-            <p class="note">
-              <strong>Note:</strong> This feature is experimental. Please try it and
-              <a href="http://code.google.com/p/android/issues/list">report any issues</a>.</p>
-          </li>
-          <li>Added {@code stlport} exception support via gabi++.  Note that the new gabi++
-            depends on {@code dlopen} and related code, meaning that:
-            <ul>
-              <li>You can no longer build a <em>static</em> executable using the {@code -static}
-                option or include {@code libstlport_static.a} using
-                {@code APP_STL := stlport_static}. (You can still use the {@code -static} option
-                with a standalone toolchain.) Compiling a <em>dynamic</em> executable using
-                {@code include $(BUILD_EXECUTABLE)} continues to work because the compiler
-                automatically adds the {@code -ldl} option.</li>
-              <li>If your project links using {@code -nostdlib} and {-Wl,--no-undefined}, you
-                must manually include the {@code -ldl} option.</li>
-            </ul>
-              For more information, see {@code CPLUSPLUS-SUPPORT.html}.
-
-              <p class="note">
-                <strong>Note:</strong> This feature is experimental and works better with the GCC
-                4.6/4.7 compilers than with GCC 4.4.3 or Clang 3.1. Please try it and
-                <a href="http://code.google.com/p/android/issues/list">report any issues</a>.</p>
-          </li>
-          <li>Added a {@code -mstack-protector-guard=} option for x86 to choose between a
-            <em>global</em> default path which is compatible with older Android C library (bionic)
-            and a new <em>tls</em> path (%gs:20) for {@code -fstack-protector},
-            {@code -fstack-protector-all} and {@code -fstack-protector-strong} using the GCC 4.6
-            and higher compilers.
-
-            <p class="note">
-              <strong>Note:</strong> The {@code -mstack-protector-guard} setting itself does not
-              enable any {@code -fstack-protector*} options.</p>
-          </li>
-          <li>Added {@code android_setCpu()} function to
-            {@code sources/android/cpufeatures/cpu-features.c} for use when auto-detection via
-            {@code /proc} is not possible in Android 4.1 and higher.
-            (<a href="http://code.google.com/p/chromium/issues/detail?id=164154">Chromium Issue
-            164154</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed unnecessary rebuild of object files when using the {@code ndk-build} script.
-            (<a href="http://b.android.com/39810">Issue 39810</a>)</li>
-          <li>Fixed a linker failure with the NDK 8c release for Mac OS X 10.6.x that produced the
-            following error:
-            <pre>
-dyld: lazy symbol binding failed: Symbol not found: _memmem
-Referenced from: ...../arm-linux-androideabi/bin/ld
-Expected in: /usr/lib/libSystem.B.dylib</pre>
-            This problem was caused by building on Mac OS X 10.7, which produced binaries that were
-            not compatible with Mac OS 10.6.x and the NDK.
-          </li>
-          <li>Removed the {@code -x c++} options from the Clang++ standalone build script.
-          (<a href="http://b.android.com/39089">Issue 39089</a>)</li>
-          <li>Fixed issues using the {@code NDK_TOOLCHAIN_VERSION=clang3.1} option in Cygwin.
-           (<a href="http://b.android.com/39585">Issue 39585</a>)</li>
-          <li>Fixed the {@code make-standalone-toolchain.sh} script to allow generation of a
-            standalone toolchain using the Cygwin or MinGW environments. The resulting toolchain
-            can be used in Cygwin, MingGW or CMD.exe environments.
-            (<a href="http://b.android.com/39915">Issue 39915</a>,
-            <a href="http://b.android.com/39585">Issue 39585</a>)</li>
-          <li>Added missing {@code SL_IID_ANDROIDBUFFERQUEUESOURCE} option in android-14 builds for
-            ARM and X86.
-            (<a href="http://b.android.com/40625">Issue 40625</a>)</li>
-          <li>Fixed x86 CPU detection for the {@code ANDROID_CPU_X86_FEATURE_MOVBE} feature.
-            (<a href="http://b.android.com/39317">Issue 39317</a>)</li>
-          <li>Fixed an issue preventing the Standard Template Library (STL) from using C++
-            sources that do not have a {@code .cpp} file extension.</li>
-          <li>Fixed GCC 4.6 ARM internal compiler error <em>at reload1.c:1061</em>.
-            (<a href="http://b.android.com/20862">Issue 20862</a>)</li>
-          <li>Fixed GCC 4.4.3 ARM internal compiler error <em>at emit-rtl.c:1954</em>.
-            (<a href="http://b.android.com/22336">Issue 22336</a>)</li>
-          <li>Fixed GCC 4.4.3 ARM internal compiler error <em>at postreload.c:396</em>.
-            (<a href="http://b.android.com/22345">Issue 22345</a>)</li>
-          <li>Fixed problem with GCC 4.6/4.7 skipping lambda functions.
-            (<a href="http://b.android.com/35933">Issue 35933</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>NDK header file fixes:
-            <ul>
-              <li>Fixed {@code __WINT_TYPE__} and {@code wint_t} to be the same type.</li>
-              <li>Corrected typo in {@code android/bitmap.h}.
-                (<a href="http://b.android.com/15134">Issue 15134</a>)
-              </li>
-              <li>Corrected typo in {@code errno.h}.</li>
-              <li>Added check for the presence of {@code __STDC_VERSION__} in {@code sys/cdefs.h}.
-                (<a href="http://b.android.com/14627">Issue 14627</a>)
-              </li>
-              <li>Reorganized headers in {@code byteswap.h} and {@code dirent.h}.</li>
-              <li>Fixed {@code limits.h} to include {@code page.h} which provides {@code PAGE_SIZE}
-                settings.
-                (<a href="http://b.android.com/39983">Issue 39983</a>)
-              </li>
-              <li>Fixed return type of {@code glGetAttribLocation()} and
-                {@code glGetUniformLocation()} from {@code int} to {@code GLint}.</li>
-              <li>Fixed {@code __BYTE_ORDER} constant for x86 builds.
-                (<a href="http://b.android.com/39824">Issue 39824</a>)
-              </li>
-            </ul>
-          </li>
-          <li>Fixed {@code ndk-build} script to not overwrite {@code -Os} with {@code -O2} for ARM
-            builds.</li>
-          <li>Fixed build scripts to allow overwriting of {@code HOST_AWK}, {@code HOST_SED}, and
-            {@code HOST_MAKE} settings.</li>
-          <li>Fixed issue for {@code ld.gold} on {@code fsck_msdos} builds linking objects built by
-            the Intel C/C++ compiler (ICC).</li>
-          <li>Fixed ARM EHABI support in Clang to conform to specifications.</li>
-          <li>Fixed GNU Debugger (GDB) to shorten the time spent on walking the target's link map
-            during {@code solib} events.
-            (<a href="http://b.android.com/38402">Issue 38402</a>)</li>
-          <li>Fixed missing {@code libgcc.a} file when linking shared libraries.</li>
-        </ul>
-      </dd>
-
-      <dt>Other changes:</dt>
-      <dd>
-        <ul>
-          <li>Backported 64-bit built-in atomic functions for ARM to GCC 4.6.</li>
-          <li>Added documentation for audio output latency, along with other documentation and
-            fixes.</li>
-          <li>Fixed debug builds with Clang so that non-void functions now raise a {@code SIGILL}
-            signal for paths without a return statement.</li>
-          <li>Updated {@code make-standalone-toolchain.sh} to accept the suffix {@code -clang3.1}
-            which is equivalent to adding {@code --llvm-version=3.1} to the GCC 4.6 toolchain.</li>
-          <li>Updated GCC and Clang bug report URL to:
-            <a
-href="http://source.android.com/source/report-bugs.html">http://source.android.com/source/report-bug
-s.html</a></li>
-          <li>Added ARM ELF support to {@code llvm-objdump}.</li>
-          <li>Suppressed <em>treating c input as c++</em> warning for Clang builds.</li>
-          <li>Updated build so that only the 32-bit version of {@code libiberty.a} is built and
-            placed in {@code lib32/}.</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8c</a> <em>(November 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Added the Clang 3.1 compiler to the NDK. The GNU Compiler Collection (GCC) 4.6 is
-          still the default, so you must explicitly enable the Clang compiler option as follows:
-            <ul>
-              <li>For {@code ndk-build}, export {@code NDK_TOOLCHAIN_VERSION=clang3.1} <em>or</em>
-                add this environment variable setting to {@code Application.mk}.</li>
-              <li>For standalone builds, add {@code --llvm-version=3.1} to
-                {@code make-standalone-toolchain.sh} and replace {@code CC} and {@code CXX} in your
-                makefile with {@code <tool-path>/bin/clang} and
-                {@code <tool-path>/bin/clang++}. See {@code STANDALONE-TOOLCHAIN.html} for
-                details.</li>
-            </ul>
-            <p class="note"><strong>Note:</strong> This feature is experimental. Please try it and
-            <a href="http://code.google.com/p/android/issues/list">report any issues</a>.</p></li>
-          <li>Added Gold linker {@code ld.gold} for the Windows toolchain. Gold linker is also the
-            default for ARM and X86 on all hosts. You may override it to use the {@code ld.bfd}
-            linker by adding {@code LOCAL_LDFLAGS += -fuse-ld=bfd} to {@code Android.mk}, or by
-passing
-            {@code -fuse-ld=bfd} to the g++/clang++ command line that does the linking.</li>
-          <li>Added checks for spaces in the NDK path to the {@code ndk-build[.cmd]} and
-            {@code ndk-gdb} scripts, to prevent build errors that are difficult to diagnose.</li>
-          <li>Made the following changes to API level handling:
-            <ul>
-              <li>Modified build logic so that projects that specify {@code android-10} through
-                {@code android-13} in {@code APP_PLATFORM}, {@code project.properties} or
-                {@code default.properties} link against {@code android-9} instead of
-                {@code android-14}.
-              <li>Updated build so that executables using android-16 (Jelly Bean) or higher are
-                compiled with the {@code -fPIE} option for position-independent executables (PIE).
-                A new {@code APP_PIE} option allows you to control this behavior. See {@code
-                APPLICATION-MK.html} for details.
-                <p class="note">
-                  <strong>Note:</strong> All API levels above 14 still link against {@code
-                  platforms/android-14} and no new {@code platforms/android-N} have been added.
-                </p></li>
-              <li>Modified {@code ndk-build} to provide warnings if the adjusted API level is larger
-              than {@code android:minSdkVersion} in the project's {@code AndroidManifest.xml}.</li>
-            </ul>
-          </li>
-          <li>Updated the {@code cpu-features} helper library to include more ARM-specific features.
-          See {@code sources/android/cpufeatures/cpu-features.h} for details.</li>
-          <li>Modified the long double on the X86 platform to be 8 bytes. This data type is now the
-          same size as a double, but is still treated as a distinct type.</li>
-          <li>Updated build for {@code APP_ABI=armeabi-v7a}:
-            <ul>
-              <li>Modified this build type to pass the {@code -march=armv7-a} parameter
-              to the linker. This change ensures that v7-specific libraries and {@code crt*.o} are
-              linked correctly.</li>
-              <li>Added {@code -mfpu=vfpv3-d16} to {@code ndk-build} instead of the
-              {@code -mfpu=vfp} option used in previous releases.</li>
-            </ul>
-          </li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed an issue where running {@code make-standalone-toolchain.sh} with root privileges
-            resulted in the stand alone tool chain being inaccessible to some users.
-            (<a href="http://b.android.com/35279">Issue 35279</a>)
-            <ul>
-              <li>All files and executables in the NDK release package are set to have read and
-                execute permissions for all.</li>
-              <li>The ownership/group of {@code libstdc++.a} is now preserved when copied.</li>
-            </ul>
-          </li>
-          <li>Removed redundant {@code \r} from Windows prebuilt {@code echo.exe}. The redundant
-          {@code \r} caused {@code gdb.setup} to fail in the GNU Debugger (GDB) because it
-          incorrectly became part of the path.
-          (<a href="http://b.android.com/36054">Issue 36054</a>)</li>
-          <li>Fixed Windows parallel builds that sometimes failed due to timing issues in the
-          {@code host-mkdir} implementation.
-          (<a href="http://b.android.com/25875">Issue 25875</a>)</li>
-          <li>Fixed GCC 4.4.3 GNU {@code libstdc++} to <em>not</em> merge {@code typeinfo} names by
-          default. For more details, see
-          {@code toolchain repo gcc/gcc-4.4.3/libstdc++-v3/libsupc++/typeinfo}.
-          (<a href="http://b.android.com/22165">Issue 22165</a>)</li>
-          <li>Fixed problem on {@code null} context in GCC 4.6
-          {@code cp/mangle.c::write_unscoped_name}, where GCC may crash when the context is
-          {@code null} and dereferenced in {@code TREE_CODE}.</li>
-          <li>Fixed GCC 4.4.3 crashes on ARM NEON-specific type definitions for floats.
-          (<a href="http://b.android.com/34613">Issue 34613</a>)</li>
-          <li>Fixed the {@code STLport} internal {@code _IteWrapper::operator*()} implementation
-          where a stale stack location holding the dereferenced value was returned and caused
-          runtime crashes.
-          (<a href="http://b.android.com/38630">Issue 38630</a>)</li>
-
-          <li>ARM-specific fixes:
-            <ul>
-              <li>Fixed ARM GCC 4.4.3/4.6 {@code g++} to not warn that the <em>mangling of
-              &lt;va_list&gt; was changed in GCC 4.4</em>. The workaround using the
-              {@code -Wno-psabi} switch to avoid this warning is no longer required.</li>
-              <li>Fixed an issue when a project with {@code .arm} or {@code .neon} suffixes in
-              {@code LOCAL_SRC_FILES} also used {@code APP_STL}. With {@code APP_STL}, the
-              {@code ndk-build} script searches for C++ files in {@code LOCAL_SRC_FILES} before
-              adding STL {@code header/lib} paths to compilation. Modified {@code ndk-build} to
-              filter out {@code .arm} and {@code .neon} suffixes before the search, otherwise items
-              in {@code LOCAL_SRC_FILES} like {@code myfile.cpp.arm.neon} won't be compiled as C++
-              code.</li>
-              <li>Fixed {@code binutils-2.21/ld.bfd} to be capable of linking object from older
-              binutils without {@code tag_FP_arch}, which was producing <em>assertion fail</em>
-              error messages in GNU Binutils.
-              (<a href="http://b.android.com/35209">Issue 35209</a>)
-              </li>
-              <li>Removed <em>Unknown EABI object attribute 44</em> warning when
-              {@code binutils-2.19/ld} links prebuilt object by newer {@code binutils-2.21}</li>
-              <li>Fixed an issue in GNU {@code stdc++} compilation with both {@code -mthumb} and
-              {@code -march=armv7-a}, by modifying {@code make-standalone-toolchain.sh} to populate
-              {@code headers/libs} in sub-directory {@code armv7-a/thumb}.
-              (<a href="http://b.android.com/35616">Issue 35616</a>)
-              </li>
-              <li>Fixed <em>unresolvable R_ARM_THM_CALL relocation</em> error.
-              (<a href="http://b.android.com/35342">Issue 35342</a>)
-              </li>
-              <li>Fixed internal compiler error at {@code reload1.c:3633}, caused by the ARM
-              back-end expecting the wrong operand type when sign-extend from {@code char}.
-              (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50099">GCC Issue 50099</a>)</li>
-              <li>Fixed internal compiler error with negative shift amount.
-              (<a href="http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00594.html">GCC Issue</a>)</li>
-            </ul>
-          </li>
-
-          <li>Fixed {@code -fstack-protector} for X86, which is also the default for the
-          {@code ndk-build} x86 ABI target.</li>
-
-          <li>MIPS-specific fixes:
-            <ul>
-              <li>Fixed {@code STLport} endian-ness by setting {@code _STLP_LITTLE_ENDIAN} to 1 when
-              compiling MIPS {@code libstlport_*}.</li>
-              <li>Fixed GCC {@code __builtin_unreachable} issue when compiling LLVM.
-              (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369">GCC Issue 54369</a>)</li>
-              <li>Backported fix for {@code cc1} compile process consuming 100% CPU.
-              (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50380">GCC Issue 50380</a>)</li>
-            </ul>
-          </li>
-
-          <li>GNU Debugger-specific fixes:
-            <ul>
-              <li>Disabled Python support in gdb-7.x at build, otherwise the gdb-7.x configure
-              function may pick up whatever Python version is available on the host and build
-              {@code gdb} with a hard-wired dependency on a specific version of Python.
-              (<a href="http://b.android.com/36120">Issue 36120</a>)
-              </li>
-              <li>Fixed {@code ndk-gdb} when {@code APP_ABI} contains {@code all} and matchs none
-              of the known architectures.
-              (<a href="http://b.android.com/35392">Issue 35392</a>)
-              </li>
-              <li>Fixed Windows pathname support, by keeping the {@code :} character if it looks
-              like it could be part of a Windows path starting with a drive letter.
-              (<a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12843">GDB Issue 12843</a>)
-              </li>
-              <li>Fixed adding of hardware breakpoint support for ARM in {@code gdbserver}.
-              (<a href="http://sourceware.org/ml/gdb-patches/2011-09/msg00200.html">GDB Issue</a>)
-              </li>
-              <li>Added fix to only read the current {@code solibs} when the linker is consistent.
-              This change speeds up {@code solib} event handling.
-              (<a href="http://b.android.com/37677">Issue 37677</a>)
-              </li>
-              <li>Added fix to make repeated attempts to find {@code solib} breakpoints. GDB now
-              retries {@code enable_break()} during every call to {@code svr4_current_sos()} until
-              it succeeds.
-              (<a href="https://android-review.googlesource.com/#/c/43563">Change 43563</a>)</li>
-              <li>Fixed an issue where {@code gdb} would not stop on breakpoints placed in
-              {@code dlopen-ed} libraries.
-              (<a href="http://b.android.com/34856">Issue 34856</a>)
-              </li>
-              <li>Fixed {@code SIGILL} in dynamic linker when calling {@code dlopen()}, on system
-              where {@code /system/bin/linker} is stripped of symbols and
-              {@code rtld_db_dlactivity()} is implemented as {@code Thumb}, due to not preserving
-              {@code LSB} of {@code sym_addr}.
-              (<a href="http://b.android.com/37147">Issue 37147</a>)
-              </li>
-            </ul>
-          </li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed NDK headers:
-            <ul>
-              <li>Fixed {@code arch-mips/include/asm/*} code that was incorrectly removed from
-              original kernel. (<a href="https://android-review.googlesource.com/#/c/43335">Change
-              43335</a>)</li>
-              <li>Replaced struct member data {@code __unused} with {@code __linux_unused} in
-              {@code linux/sysctl.h} and {@code linux/icmp.h} to avoid conflict with
-              {@code #define __unused} in {@code sys/cdefs.h}.</li>
-              <li>Fixed {@code fenv.h} for enclosed C functions with {@code __BEGIN_DECLS} and
-              {@code __END_DECLS}.</li>
-              <li>Removed unimplemented functions in {@code malloc.h}.</li>
-              <li>Fixed {@code stdint.h} defintion of {@code uint64_t} for ANSI compilers.
-              (<a href="http://b.android.com/1952">Issue 1952</a>)</li>
-              <li>Fixed preprocessor macros in {@code <arch>/include/machine/*}.</li>
-              <li>Replaced {@code link.h} for MIPS with new version supporting all platforms.</li>
-              <li>Removed {@code linux-unistd.h}</li>
-              <li>Move GLibc-specific macros {@code LONG_LONG_MIN}, {@code LONG_LONG_MAX} and
-              {@code ULONG_LONG_MAX} from {@code <pthread.h>} to {@code
-<limits.h>}.</li>
-            </ul>
-          </li>
-          <li>Fixed a buffer overflow in {@code ndk-stack-parser}.</li>
-          <li>Fixed {@code _STLP_USE_EXCEPTIONS}, when not defined, to omit all declarations
-          and uses of {@code __Named_exception}. Compiling and use of {@code __Named_exception}
-          settings only occurs when {@code STLport} is allowed to use exceptions.</li>
-          <li>Fixed building of Linux-only NDK packages without also building Windows code. Use the
-          following settings to perform this type of build:
-          <pre>./build/tools/make-release.sh --force --systems=linux-x86</pre></li>
-          <li>Fixed {@code libc.so} so it does not export {@code atexit()} and {@code __do_handler}.
-          These symbols are exported for ARM builds by the system version of the C library to
-          support legacy native libraries. NDK-generated should never reference them directly.
-          Instead, each shared library or executable should embed its own version of these symbols,
-          provided by {@code crtbegin_*.o}.
-          <p>If your project is linked with the {@code -nostdlib -Wl,--no-undefined} options, you
-          must provide your own {@code __dso_handle} because {@code crtbegin_so.o} is not linked in
-          this case. The content of {@code __dso_handle} does not matter, as shown in the following
-          example code:</p>
-<pre>
-extern "C" {
-  extern void *__dso_handle __attribute__((__visibility__ ("hidden")));
-  void *__dso_handle;
-}
-</pre>
-          </li>
-          <li>Fixed symbol decoder for ARM used in {@code objdump} for {@code plt} entries to
-          generate a more readable form {@code function@plt}.</li>
-          <li>Removed the following symbols, introduced in GCC 4.6 {@code libgcc.a}, from
-          the X86 platform {@code libc.so} library: {@code __aeabi_idiv0}, {@code __aeabi_ldiv0},
-          {@code __aeabi_unwind_cpp_pr1}, and {@code __aeabi_unwind_cpp_pr2}.</li>
-          <li>Removed unused {@code .ctors}, {@code .dtors}, and {@code .eh_frame} in MIPS
-          {@code crt*_so.S}.</li>
-          <li>Updated {@code ndk-gdb} so that it only takes the last line of output for
-          {@code ndk-build} {@code DUMP_XXXX}. This change ensures that if {@code Application.mk} or
-          {@code Android.mk} print something with {@code $(info ...)} syntax, it does not get
-          injected into the result of {@code DUMP_XXXX}.
-          (<a href="https://groups.google.com/d/msg/android-ndk/-/ew0lTWGr1UEJ">More info</a>)</li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Removed {@code arch-x86} and {@code arch-mips} headers from
-          {@code platforms/android-[3,4,5,8]}. Those headers were incomplete, since both X86 and
-          MIPS ABIs are only supported at API 9 or higher.</li>
-          <li>Simplified c++ include path in standalone packages, as shown below.
-          (<a href="http://b.android.com/35279">Issue 35279</a>)
-<pre>
-&lt;path&gt;/arm-linux-androideabi/include/c++/4.6.x-google
-  to:
-&lt;path&gt;/include/c++/4.6/
-</pre></li>
-          <li>Fixed {@code ndk-build} to recognize more C++ file extensions by default:
-          {@code .cc .cp .cxx .cpp .CPP .c++ .C}. You may still use {@code LOCAL_CPP_EXTENSION} to
-          overwrite these extension settings.</li>
-          <li>Fixed an issue in {@code samples/san-angeles} that caused a black screen or freeze
-          frame on re-launch.</li>
-          <li>Replaced deprecated APIs in NDK samples.
-          (<a href="http://b.android.com/20017">Issue 20017</a>)
-            <ul>
-              <li>{@code hello-gl2} from android-5 to android-7</li>
-              <li>{@code native-activity} from android-9 to android-10</li>
-              <li>{@code native-audio} from android-9 to android-10</li>
-              <li>{@code native-plasma} from android-9 to android-10</li>
-            </ul>
-          </li>
-          <li>Added new branding for Android executables with a simpler scheme in section
-          {@code .note.android.ident} (defined in {@code crtbegin_static/dynamic.o}) so that
-          debugging tools can act accordingly. The structure member and values are defined as
-          follows:
-<pre>
-static const struct {
-  int32_t namesz;  /* = 8,  sizeof ("Android") */
-  int32_t descsz;  /* = 1 * sizeof(int32_t) */
-  int32_t type;    /* = 1, ABI_NOTETYPE */
-  char name[sizeof "Android"];  /* = "Android" */
-  int32_t android_api; /* = 3, 4, 5, 8, 9, 14 */
-}
-</pre>
-            <p>The previous branding options in section {@code .note.ABI-tag} are deprecated.</p>
-          </li>
-          <li>Added a new script {@code run-tests-all.sh} which calls {@code run-tests.sh} and
-          {@code standalone/run.sh} with various conditions. The script {@code run-tests.sh} runs
-          without the {@code --abi} option, and is enhanced to compile most of the tests for all
-          supported ABIs and run on all attached devices</li>
-        </ul>
-      </dd>
-    </dl>
-
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8b</a> <em>(July 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>The main features of this release are a new GNU Compiler Collection (GCC) 4.6 toolchain and
-GNU Debugger (GDB) 7.3.x which adds debugging support for the Android 4.1 (API Level 16) system
-image.</p>
-
-    <dl>
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed {@code LOCAL_SHORT_COMMANDS} issues on Mac OS, Windows Cygwin environments for
-static libraries. List file generation is faster, and it is not regenerated to avoid repeated
-project rebuilds.</li>
-          <li>Fixed several issues in {@code ndk-gdb}:
-            <ul>
-              <li>Updated tool to pass flags {@code -e}, {@code -d} and {@code -s} to adb more
-consistently.</li>
-              <li>Updated tool to accept device serial names containing spaces.</li>
-              <li>Updated tool to retrieve {@code /system/bin/link} information, so {@code gdb} on
-the host can set a breakpoint in {@code __dl_rtld_db_dlactivity} and be aware of linker activity
-(e.g., rescan {@code solib} symbols when {@code dlopen()} is called).</li>
-            </ul>
-          </li>
-          <li>Fixed {@code ndk-build clean} on Windows, which was failing to remove
-{@code ./libs/*/lib*.so}.</li>
-          <li>Fixed {@code ndk-build.cmd} to return a non-zero {@code ERRORLEVEL} when {@code make}
-fails.</li>
-          <li>Fixed {@code libc.so} to stop incorrectly exporting the {@code __exidx_start} and
-{@code __exidx_end} symbols.</li>
-          <li>Fixed {@code SEGV} when unwinding the stack past {@code __libc_init} for ARM and
-MIPS.</li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Important changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Added GCC 4.6 toolchain ({@code binutils} 2.21 with {@code gold} and GDB 7.3.x) to
-co-exist with the original GCC 4.4.3 toolchain ({@code binutils} 2.19 and GDB 6.6).
-            <ul>
-              <li>GCC 4.6 is now the default toolchain. You may set {@code
-NDK_TOOLCHAIN_VERSION=4.4.3} in {@code Application.mk} to select the original one.</li>
-              <li>Support for the {@code gold} linker is only available for ARM and x86
-architectures on Linux and Mac OS hosts. This support is disabled by default. Add {@code
-LOCAL_LDLIBS += -fuse-ld=gold} in {@code Android.mk} to enable it.</li>
-              <li>Programs compiled with {@code -fPIE} require the new {@code GDB} for debugging,
-including binaries in Android 4.1 (API Level 16) system images.</li>
-              <li>The {@code binutils} 2.21 {@code ld} tool contains back-ported fixes from
-version 2.22:
-                <ul>
-                  <li>Fixed {@code ld --gc-sections}, which incorrectly retains zombie references to
-external libraries. (<a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13177">more
-info</a>).</li>
-                  <li>Fixed ARM {@code strip} command to preserve the original {@code p_align} and
-{@code p_flags} in {@code GNU_RELRO} section if they are valid. Without this fix, programs
-built with {@code -fPIE} could not be debugged. (<a
-href="http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf.c.diff?cvsroot=src&r1=1.552&r2=1.553">mor
-e info</a>)</li>
-                </ul>
-              </li>
-              <li>Disabled {@code sincos()} optimization for compatibility with older
-                platforms.</li>
-            </ul>
-          </li>
-
-          <li>Updated build options to enable the Never eXecute (NX) bit and {@code relro}/{@code
-bind_now} protections by default:
-            <ul>
-              <li>Added {@code --noexecstack} to assembler and {@code -z noexecstack} to linker
-that provides NX protection against buffer overflow attacks by enabling NX bit on stack and
-heap.</li>
-              <li>Added {@code -z relro} and  {@code -z now} to linker for hardening of internal
-data sections after linking to guard against security vulnerabilities caused by memory corruption.
-(more info: <a href="http://www.akkadia.org/drepper/nonselsec.pdf">1</a>,
-<a href="http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html">2</a>)</li>
-
-              <li>These features can be disabled using the following options:
-                <ol>
-                  <li>Disable NX protection by setting the {@code --execstack} option for the
-assembler and {@code -z execstack} for the linker.</li>
-                  <li>Disable hardening of internal data by setting the {@code -z norelro} and
-{@code -z lazy} options for the linker.</li>
-                  <li>Disable these protections in the NDK {@code jni/Android.mk} by setting the
-following options:
-<pre>
-LOCAL_DISABLE_NO_EXECUTE=true  # disable "--noexecstack" and "-z noexecstack"
-DISABLE_RELRO=true             # disable "-z relro" and "-z now"
-</pre>
-                  </li>
-                </ol>
-                <p>See {@code docs/ANDROID-MK.html} for more details.</p>
-              </li>
-            </ul>
-          </li>
-
-          <li>Added branding for Android executables with the {@code .note.ABI-tag} section (in
-{@code crtbegin_static/dynamic.o}) so that debugging tools can act accordingly. The structure
-member and values are defined as follows:
-<pre>
-static const struct {
-  int32_t namesz;  /* = 4,  sizeof ("GNU") */
-  int32_t descsz;  /* = 6 * sizeof(int32_t) */
-  int32_t type;    /* = 1 */
-  char  name[sizeof "GNU"];  /* = "GNU" */
-  int32_t os;      /* = 0 */
-  int32_t major;   /* = 2 */
-  int32_t minor;   /* = 6 */
-  int32_t teeny;   /* = 15 */
-  int32_t os_variant;  /* = 1 */
-  int32_t android_api; /* = 3, 4, 5, 8, 9, 14 */
-}</pre>
-          </li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed {@code mips-linux-gnu} relocation truncated to fit {@code R_MIPS_TLS_LDM} issue.
-            (<a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12637">more info</a>)</li>
-          <li>Fixed {@code ld} tool segfaults when using {@code --gc-sections}.
-            (<a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12845">more info</a>)
-          </li>
-          <li>Fixed MIPS {@code GOT_PAGE} counting issue.
-            (<a href="http://sourceware.org/ml/binutils/2011-05/msg00198.html">more info</a>)</li>
-          <li>Fixed follow warning symbol link for {@code mips_elf_count_got_symbols}.</li>
-          <li>Fixed follow warning symbol link for {@code mips_elf_allocate_lazy_stub}.</li>
-          <li>Moved MIPS {@code .dynamic} to the data segment, so that it is writable.</li>
-          <li>Replaced hard-coded values for symbols with correct segment sizes for MIPS.</li>
-          <li>Removed the {@code -mno-shared} option from the defaults in the MIPS toolchain.
-The default for Android toolchain is {@code -fPIC} (or {@code -fpic} if supported). If you do not
-explicitly specify {@code -mshared}, {@code -fpic}, {@code -fPIC}, {@code -fpie}, or {@code -fPIE},
-the MIPS compiler adds {@code -mno-shared} that turns off PIC. Fixed compiler not to add
-{@code -mno-shared} in this case.</li>
-          <li>Fixed wrong package names in samples {@code hello-jni} and {@code two-libs} so that
-the {@code tests} project underneath it can compile.</li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other Changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Changed locations of binaries:
-            <ul>
-              <li>Moved {@code gdbserver} from
-{@code toolchain/<arch-os-ver>/prebuilt/gdbserver} to
-{@code prebuilt/android-<arch>/gdbserver/gdbserver}.</li>
-              <li>Renamed x86 toolchain prefix from {@code i686-android-linux-} to
-{@code i686-linux-android-}.</li>
-              <li>Moved {@code sources/cxx-stl/gnu-libstdc++/include} and {@code lib} to
-{@code sources/cxx-stl/gnu-libstdc++/4.6} when compiled with GCC 4.6, or
-{@code sources/cxx-stl/gnu-libstdc++/4.4.3} when compiled with GCC 4.4.3.</li>
-              <li>Moved {@code libbfd.a} and {@code libintl.a} from {@code lib/} to {@code
-lib32/}.</li>
-            </ul>
-          </li>
-
-          <li>Added and improved various scripts in the rebuild and test NDK toolchain:
-            <ul>
-              <li>Added {@code build-mingw64-toolchain.sh} to generate a new Linux-hosted toolchain
-that generates Win32 and Win64 executables.</li>
-              <li>Improved speed of {@code download-toolchain-sources.sh} by using the {@code
-clone} command and only using {@code checkout} for the directories that are needed to build the NDK
-toolchain binaries.</li>
-              <li>Added {@code build-host-gcc.sh} and {@code build-host-gdb.sh} scripts.</li>
-              <li>Added {@code tests/check-release.sh} to check the content of a given NDK
-installation directory, or an existing NDK package.</li>
-              <li>Rewrote the {@code tests/standalone/run.sh} standalone tests .</li>
-            </ul>
-          </li>
-          <li>Removed {@code if_dl.h} header from all platforms and architectures. The {@code
-AF_LINK} and {@code sockaddr_dl} elements it describes are specific to BSD (i.e., they don't exist
-in Linux).</li>
-        </ul>
-      </dd>
-    </dl>
-
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8</a> <em>(May 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK includes support for MIPS ABI and a few additional fixes.</p>
-
-    <dl>
-      <dt>New features:</dt>
-
-      <dd>
-        <ul>
-          <li>Added support for the MIPS ABI, which allows you to generate machine code that runs on
-            compatible MIPS-based Android devices. Major features for MIPS include MIPS-specific
-            toolchains, system headers, libraries and debugging support. For more details regarding
-            MIPS support, see {@code docs/CPU-MIPS.html} in the NDK package.
-
-              <p>By default, code is generated for ARM-based devices. You can add {@code mips} to
-              your {@code APP_ABI} definition in your {@code Application.mk} file to build
-              for MIPS platforms. For example, the following line instructs {@code ndk-build}
-              to build your code for three distinct ABIs:</p>
-
-              <pre>APP_ABI := armeabi armeabi-v7a <strong>mips</strong></pre>
-
-              <p>Unless you rely on architecture-specific assembly sources, such as ARM assembly
-              code, you should not need to touch your {@code Android.mk} files to build MIPS
-              machine code.</p>
-          </li>
-
-          <li>You can build a standalone MIPS toolchain using the {@code --arch=mips}
-          option when calling <code>make-standalone-toolchain.sh</code>. See
-          {@code docs/STANDALONE-TOOLCHAIN.html} for more details.
-          </li>
-        </ul>
-
-        <p class="note"><strong>Note:</strong> To ensure that your applications are available
-to users only if their devices are capable of running them, Google Play filters applications based
-on the instruction set information included in your application ? no action is needed on your part
-to enable the filtering. Additionally, the Android system itself also checks your application at
-install time and allows the installation to continue only if the application provides a library that
-is compiled for the device's CPU architecture.</p>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed a typo in GAbi++ implementation where the result of {@code
-          dynamic_cast<D>(b)} of base class object {@code b} to derived class {@code D} is
-          incorrectly adjusted in the opposite direction from the base class.
-          (<a href="http://b.android.com/28721">Issue 28721</a>)
-          </li>
-          <li>Fixed an issue in which {@code make-standalone-toolchain.sh} fails to copy
-          {@code libsupc++.*}.</li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed {@code ndk-build.cmd} to ensure that {@code ndk-build.cmd} works correctly even
-          if the user has redefined the {@code SHELL} environment variable, which may be changed
-          when installing a variety of development tools in Windows environments.
-          </li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 7c</a> <em>(April 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK includes an important fix for Tegra2-based devices, and a few
-additional fixes and improvements:</p>
-
-    <dl>
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed GNU STL armeabi-v7a binaries to not crash on non-NEON
-  devices. The files provided with NDK r7b were not configured properly,
-  resulting in crashes on Tegra2-based devices and others when trying to use
-  certain floating-point functions (e.g., {@code cosf}, {@code sinf}, {@code expf}).</li>
-        </ul>
-      </dd>
-
-      <dt>Important changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Added support for custom output directories through the {@code NDK_OUT}
-  environment variable. When defined, this variable is used to store all
-  intermediate generated files, instead of {@code $PROJECT_PATH/obj}. The variable is
-  also recognized by {@code ndk-gdb}. </li>
-          <li>Added support for building modules with hundreds or even thousands of source
-  files by defining {@code LOCAL_SHORT_COMMANDS} to {@code true} in your {@code Android.mk}.
-            <p>This change forces the NDK build system to put most linker or archiver options
-  into list files, as a work-around for command-line length limitations.
-  See {@code docs/ANDROID-MK.html} for details.</p>
-          </li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed {@code android_getCpuCount()} implementation in the {@code cpufeatures}
-helper library. On certain devices, where cores are enabled dynamically by the system, the previous
-implementation would report the total number of <em>active</em> cores the first time the function
-was called, rather than the total number of <em>physically available</em> cores.</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 7b</a> <em>(February 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK includes fixes for native Windows builds, Cygwin and many other
-      improvements:</p>
-
-    <dl>
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Updated {@code sys/atomics.h} to avoid correctness issues
-            on some multi-core ARM-based devices. Rebuild your unmodified sources with this
-            version of the NDK and this problem should be completely eliminated.
-            For more details, read {@code docs/ANDROID-ATOMICS.html}.</li>
-          <li>Reverted to {@code binutils} 2.19 to fix debugging issues that
-            appeared in NDK r7 (which switched to {@code binutils} 2.20.1).</li>
-          <li>Fixed {@code ndk-build} on 32-bit Linux. A packaging error put a 64-bit version
-            of the {@code awk} executable under {@code prebuilt/linux-x86/bin} in NDK r7.</li>
-          <li>Fixed native Windows build ({@code ndk-build.cmd}). Other build modes were not
-            affected. The fixes include:
-            <ul>
-              <li>Removed an infinite loop / stack overflow bug that happened when trying
-                to call {@code ndk-build.cmd} from a directory that was <em>not</em> the top of
-                your project path (e.g., in any sub-directory of it).</li>
-              <li>Fixed a problem where the auto-generated dependency files were ignored. This
-                meant that updating a header didn't trigger recompilation of sources that included
-                it.</li>
-              <li>Fixed a problem where special characters in files or paths, other than spaces and
-                quotes, were not correctly handled.</li>
-            </ul>
-          </li>
-          <li>Fixed the standalone toolchain to generate proper binaries when using
-            {@code -lstdc++} (i.e., linking against the GNU {@code libstdc++} C++ runtime). You
-            should use {@code -lgnustl_shared} if you want to link against the shared library
-            version or {@code -lstdc++} for the static version.
-
-            <p>See {@code docs/STANDALONE-TOOLCHAIN.html} for more details about this fix.</p>
-          </li>
-          <li>Fixed {@code gnustl_shared} on Cygwin. The linker complained that it couldn't find
-            {@code libsupc++.a} even though the file was at the right location.</li>
-          <li>Fixed Cygwin C++ link when not using any specific C++ runtime through
-            {@code APP_STL}.</li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other changes:</dt>
-
-      <dd>
-        <ul>
-          <li>When your application uses the GNU {@code libstdc++} runtime, the compiler will
-            no longer forcibly enable exceptions and RTTI. This change results in smaller code.
-            <p>If you need these features, you must do one of the following:</p>
-            <ul>
-              <li>Enable exceptions and/or RTTI explicitly in your modules or
-                {@code Application.mk}. (recommended)</li>
-              <li>Define {@code APP_GNUSTL_FORCE_CPP_FEATURES} to {@code 'exceptions'},
-                {@code 'rtti'} or both in your {@code Application.mk}. See
-                {@code docs/APPLICATION-MK.html} for more details.</li>
-            </ul>
-          </li>
-          <li>{@code ndk-gdb} now works properly when your application has private services
-            running in independent processes. It debugs the main application process, instead of the
-            first process listed by {@code ps}, which is usually a service process.</li>
-          <li>Fixed a rare bug where NDK r7 would fail to honor the {@code LOCAL_ARM_MODE} value
-            and always compile certain source files (but not all) to 32-bit instructions.</li>
-          <li>{@code STLport}: Refresh the sources to match the Android platform version. This
-            update fixes a few minor bugs:
-            <ul>
-               <li>Fixed instantiation of an incomplete type</li>
-               <li>Fixed minor "==" versus "=" typo</li>
-               <li>Used {@code memmove} instead of {@code memcpy} in {@code string::assign}</li>
-               <li>Added better handling of {@code IsNANorINF}, {@code IsINF}, {@code IsNegNAN},
-                 etc.</li>
-             </ul>
-             <p>For complete details, see the commit log.</p>
-          </li>
-          <li>{@code STLport}: Removed 5 unnecessary static initializers from the library.</li>
-          <li>The GNU libstdc++ libraries for armeabi-v7a were mistakenly compiled for
-            armeabi instead. This change had no impact on correctness, but using the right
-            ABI should provide slightly better performance.</li>
-          <li>The {@code cpu-features} helper library was updated to report three optional
-            x86 CPU features ({@code SSSE3}, {@code MOVBE} and {@code POPCNT}). See
-            {@code docs/CPU-FEATURES.html} for more details.</li>
-          <li>{@code docs/NDK-BUILD.html} was updated to mention {@code NDK_APPLICATION_MK} instead
-            of {@code NDK_APP_APPLICATION_MK} to select a custom {@code Application.mk} file.</li>
-          <li>Cygwin: {@code ndk-build} no longer creates an empty "NUL" file in the current
-            directory when invoked.</li>
-          <li>Cygwin: Added better automatic dependency detection. In the previous version, it
-            didn't work properly in the following cases:
-            <ul>
-              <li>When the Cygwin drive prefix was not {@code /cygdrive}.</li>
-              <li>When using drive-less mounts, for example, when Cygwin would translate
-                {@code /home} to {@code \\server\subdir} instead of {@code C:\Some\Dir}.</li>
-            </ul>
-          </li>
-          <li>Cygwin: {@code ndk-build} does not try to use the native Windows tools under
-            {@code $NDK/prebuilt/windows/bin} with certain versions of Cygwin and/or GNU Make.</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 7</a> <em>(November 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK includes new features to support the Android 4.0 platform as well
-    as many other additions and improvements:</p>
-
-    <dl>
-      <dt>New features</dt>
-
-      <dd>
-        <ul>
-          <li>Added official NDK APIs for Android 4.0 (API level 14), which adds the following
-          native features to the platform:
-
-            <ul>
-              <li>Added native multimedia API based on the Khronos Group OpenMAX AL? 1.0.1
-              standard. The new <code>&lt;OMXAL/OpenMAXAL.h&gt;</code> and
-              <code>&lt;OMXAL/OpenMAXAL_Android.h&gt;</code> headers allow applications targeting
-              API level 14 to perform multimedia output directly from native code by using a new
-              Android-specific buffer queue interface. For more details, see
-              <code>docs/openmaxal/index.html</code> and <a href=
-              "http://www.khronos.org/openmax/">http://www.khronos.org/openmax/</a>.</li>
-
-              <li>Updated the native audio API based on the Khronos Group OpenSL ES 1.0.1?
-              standard. With API Level 14, you can now decode compressed audio (e.g. MP3, AAC,
-              Vorbis) to PCM. For more details, see <code>docs/opensles/index.html</code> and
-              <a href=
-              "http://www.khronos.org/opensles">http://www.khronos.org/opensles/</a>.</li>
-            </ul>
-          </li>
-
-          <li>Added CCache support. To speed up large rebuilds, define the
-          <code>NDK_CCACHE</code> environment variable to <code>ccache</code> (or the path to
-          your <code>ccache</code> binary). When declared, the NDK build system automatically
-          uses CCache when compiling any source file. For example:
-            <pre>
-export NDK_CCACHE=ccache
-</pre>
-          <p class="note"><strong>Note:</strong> CCache is not included in the NDK release
-          so you must have it installed prior to using it. For more information about CCache, see
-          <a href="http://ccache.samba.org">http://ccache.samba.org</a>.</p>
-          </li>
-
-          <li>Added support for setting <code>APP_ABI</code> to <code>all</code> to indicate that
-          you want to build your NDK modules for all the ABIs supported by your given NDK
-          release. This means that either one of the following two lines in your
-          <code>Application.mk</code> are equivalent with this release:
-            <pre>
-APP_ABI := all
-APP_ABI := armeabi armeabi-v7a x86
-</pre>
-
-            <p>This also works if you define <code>APP_ABI</code> when calling
-            <code>ndk-build</code> from the command-line, which is a quick way to check that your
-            project builds for all supported ABIs without changing the project's
-            <code>Application.mk file</code>. For example:</p>
-            <pre>
-ndk-build APP_ABI=all
-</pre>
-          </li>
-
-          <li>Added a <code>LOCAL_CPP_FEATURES</code> variable in <code>Android.mk</code> that
-          allows you to declare which C++ features (RTTI or Exceptions) your module uses. This
-          ensures that the final linking works correctly if you have prebuilt modules that depend
-          on these features. See <code>docs/ANDROID-MK.html</code> and
-          <code>docs/CPLUSPLUS-SUPPORT.html</code> for more details.</li>
-
-          <li>Shortened paths to source and object files that are used in build commands. When
-          invoking <code>$NDK/ndk-build</code> from your project path, the paths to the source,
-          object, and binary files that are passed to the build commands are significantly
-          shorter now, because they are passed relative to the current directory. This is useful
-          when building projects with a lot of source files, to avoid limits on the maximum
-          command line length supported by your host operating system. The behavior is unchanged
-          if you invoke <code>ndk-build</code> from a sub-directory of your project tree, or if
-          you define <code>NDK_PROJECT_PATH</code> to point to a specific directory.</li>
-        </ul>
-      </dd>
-
-      <dt>Experimental features</dt>
-
-      <dd>
-        You can now build your NDK source files on Windows <em>without</em> Cygwin by calling the
-        <code>ndk-build.cmd</code> script from the command line from your project path. The
-        script takes exactly the same arguments as the original <code>ndk-build</code> script.
-        The Windows NDK package comes with its own prebuilt binaries for GNU Make, Awk and other
-        tools required by the build. You should not need to install anything else to get a
-        working build system.
-
-        <p class="caution"><strong>Important:</strong> <code>ndk-gdb</code> does not work on
-        Windows, so you still need Cygwin to debug.</p>
-
-        <p>This feature is still experimental, so feel free to try it and report issues on the
-        <a href="http://b.android.com">public bug database</a> or <a href=
-        "http://groups.google.com/group/android-ndk">public forum</a>. All samples and unit tests
-        shipped with the NDK succesfully compile with this feature.</p>
-      </dd>
-
-      <dt>Important bug fixes</dt>
-
-      <dd>
-        <ul>
-          <li>Imported shared libraries are now installed by default to the target installation
-          location (<code>libs/&lt;abi&gt;</code>) if <code>APP_MODULES</code> is not defined in
-          your <code>Application.mk</code>. For example, if a top-level module <code>foo</code>
-          imports a module <code>bar</code>, then both <code>libfoo.so</code> and
-          <code>libbar.so</code> are copied to the install location. Previously, only
-          <code>libfoo.so</code> was copied, unless you listed <code>bar</code> in your
-          <code>APP_MODULES</code> too. If you define <code>APP_MODULES</code> explicitly, the
-          behavior is unchanged.</li>
-
-          <li><code>ndk-gdb</code> now works correctly for activities with multiple categories in
-          their MAIN intent filters.</li>
-
-          <li>Static library imports are now properly transitive. For example, if a top-level
-          module <code>foo</code> imports static library <code>bar</code> that imports static
-          library <code>zoo</code>, the <code>libfoo.so</code> will now be linked against both
-          <code>libbar.a</code> and <code>libzoo.a</code>.</li>
-        </ul>
-      </dd>
-
-      <dt>Other changes</dt>
-
-      <dd>
-        <ul>
-          <li><code>docs/NATIVE-ACTIVITY.HTML</code>: Fixed typo. The minimum API level should be
-          9, not 8 for native activities.</li>
-
-          <li><code>docs/STABLE-APIS.html</code>: Added missing documentation listing EGL as a
-          supported stable API, starting from API level 9.</li>
-
-          <li><code>download-toolchain-sources.sh</code>: Updated to download the toolchain
-          sources from <a href="http://android.googlesource.com">android.googlesource.com</a>,
-          which is the new location for the AOSP servers.</li>
-
-          <li>Added a new C++ support runtime named <code>gabi++</code>. More details about it
-          are available in the updated <code>docs/CPLUSPLUS-SUPPORT.html</code>.</li>
-
-          <li>Added a new C++ support runtime named <code>gnustl_shared</code> that corresponds
-          to the shared library version of GNU libstdc++ v3 (GPLv3 license). See more info at
-          <code>docs/CPLUSPLUS-SUPPORT.html</code></li>
-
-          <li>Added support for RTTI in the STLport C++ runtimes (no support for
-          exceptions).</li>
-
-          <li>Added support for multiple file extensions in <code>LOCAL_CPP_EXTENSION</code>. For
-          example, to compile both <code>foo.cpp</code> and <code>bar.cxx</code> as C++ sources,
-          declare the following:
-            <pre>
-LOCAL_CPP_EXTENSION := .cpp .cxx
-</pre>
-          </li>
-
-          <li>Removed many unwanted exported symbols from the link-time shared system libraries
-          provided by the NDK. This ensures that code generated with the standalone toolchain
-          doesn't risk to accidentally depend on a non-stable ABI symbol (e.g. any libgcc.a
-          symbol that changes each time the toolchain used to build the platform is changed)</li>
-
-          <li>Refreshed the EGL and OpenGLES Khronos headers to support more extensions. Note
-          that this does <em>not</em> change the NDK ABIs for the corresponding libraries,
-          because each extension must be probed at runtime by the client application.
-
-            <p>The extensions that are available depend on your actual device and GPU drivers,
-            not the platform version the device runs on. The header changes simply add new
-            constants and types to make it easier to use the extensions when they have been
-            probed with <code>eglGetProcAddress()</code> or <code>glGetProcAddress()</code>. The
-            following list describes the newly supported extensions:</p>
-
-            <dl>
-              <dt>GLES 1.x</dt>
-
-              <dd>
-                <ul>
-                  <li><code>GL_OES_vertex_array_object</code></li>
-
-                  <li><code>GL_OES_EGL_image_external</code></li>
-
-                  <li><code>GL_APPLE_texture_2D_limited_npot</code></li>
-
-                  <li><code>GL_EXT_blend_minmax</code></li>
-
-                  <li><code>GL_EXT_discard_framebuffer</code></li>
-
-                  <li><code>GL_EXT_multi_draw_arrays</code></li>
-
-                  <li><code>GL_EXT_read_format_bgra</code></li>
-
-                  <li><code>GL_EXT_texture_filter_anisotropic</code></li>
-
-                  <li><code>GL_EXT_texture_format_BGRA8888</code></li>
-
-                  <li><code>GL_EXT_texture_lod_bias</code></li>
-
-                  <li><code>GL_IMG_read_format</code></li>
-
-                  <li><code>GL_IMG_texture_compression_pvrtc</code></li>
-
-                  <li><code>GL_IMG_texture_env_enhanced_fixed_function</code></li>
-
-                  <li><code>GL_IMG_user_clip_plane</code></li>
-
-                  <li><code>GL_IMG_multisampled_render_to_texture</code></li>
-
-                  <li><code>GL_NV_fence</code></li>
-
-                  <li><code>GL_QCOM_driver_control</code></li>
-
-                  <li><code>GL_QCOM_extended_get</code></li>
-
-                  <li><code>GL_QCOM_extended_get2</code></li>
-
-                  <li><code>GL_QCOM_perfmon_global_mode</code></li>
-
-                  <li><code>GL_QCOM_writeonly_rendering</code></li>
-
-                  <li><code>GL_QCOM_tiled_rendering</code></li>
-                </ul>
-              </dd>
-
-              <dt>GLES 2.0</dt>
-
-              <dd>
-                <ul>
-                  <li><code>GL_OES_element_index_uint</code></li>
-
-                  <li><code>GL_OES_get_program_binary</code></li>
-
-                  <li><code>GL_OES_mapbuffer</code></li>
-
-                  <li><code>GL_OES_packed_depth_stencil</code></li>
-
-                  <li><code>GL_OES_texture_3D</code></li>
-
-                  <li><code>GL_OES_texture_float</code></li>
-
-                  <li><code>GL_OES_texture_float_linear</code></li>
-
-                  <li><code>GL_OES_texture_half_float_linear</code></li>
-
-                  <li><code>GL_OES_texture_npot</code></li>
-
-                  <li><code>GL_OES_vertex_array_object</code></li>
-
-                  <li><code>GL_OES_EGL_image_external</code></li>
-
-                  <li><code>GL_AMD_program_binary_Z400</code></li>
-
-                  <li><code>GL_EXT_blend_minmax</code></li>
-
-                  <li><code>GL_EXT_discard_framebuffer</code></li>
-
-                  <li><code>GL_EXT_multi_draw_arrays</code></li>
-
-                  <li><code>GL_EXT_read_format_bgra</code></li>
-
-                  <li><code>GL_EXT_texture_format_BGRA8888</code></li>
-
-                  <li><code>GL_EXT_texture_compression_dxt1</code></li>
-
-                  <li><code>GL_IMG_program_binary</code></li>
-
-                  <li><code>GL_IMG_read_format</code></li>
-
-                  <li><code>GL_IMG_shader_binary</code></li>
-
-                  <li><code>GL_IMG_texture_compression_pvrtc</code></li>
-
-                  <li><code>GL_IMG_multisampled_render_to_texture</code></li>
-
-                  <li><code>GL_NV_coverage_sample</code></li>
-
-                  <li><code>GL_NV_depth_nonlinear</code></li>
-
-                  <li><code>GL_QCOM_extended_get</code></li>
-
-                  <li><code>GL_QCOM_extended_get2</code></li>
-
-                  <li><code>GL_QCOM_writeonly_rendering</code></li>
-
-                  <li><code>GL_QCOM_tiled_rendering</code></li>
-                </ul>
-              </dd>
-
-              <dt>EGL</dt>
-
-              <dd>
-                <ul>
-                  <li><code>EGL_ANDROID_recordable</code></li>
-
-                  <li><code>EGL_NV_system_time</code></li>
-                </ul>
-              </dd>
-            </dl>
-          </li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 6b</a> <em>(August 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>This release of the NDK does not include any new features compared to r6. The r6b release
-      addresses the following issues in the r6 release:</p>
-      <dl>
-        <dt>Important bug fixes</dt>
-        <dd>
-          <ul>
-            <li>Fixed the build when <code>APP_ABI="armeabi x86"</code> is used for
-            multi-architecture builds.</li>
-            <li>Fixed the location of prebuilt STLport binaries in the NDK release package.
-            A bug in the packaging script placed them in the wrong location.</li>
-            <li>Fixed <code>atexit()</code> usage in shared libraries with the x86standalone
-            toolchain.</li>
-            <li>Fixed <code>make-standalone-toolchain.sh --arch=x86</code>. It used to fail
-            to copy the proper GNU libstdc++ binaries to the right location.</li>
-            <li>Fixed the standalone toolchain linker warnings about missing the definition and
-            size for the <code>__dso_handle</code> symbol (ARM only).</li>
-            <li>Fixed the inclusion order of <code>$(SYSROOT)/usr/include</code> for x86 builds.
-            See the <a href="http://b.android.com/18540">bug</a> for
-            more information.</li>
-            <li>Fixed the definitions of <code>ptrdiff_t</code> and <code>size_t</code> in
-            x86-specific systems when they are used with the x86 standalone toolchain.</li>
-          </ul>
-        </dd>
-      </dl>
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 6</a> <em>(July 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>This release of the NDK includes support for the x86 ABI and other minor changes.
-      For detailed information describing the changes in this release, read the
-      <code>CHANGES.HTML</code> document included in the NDK package.
-      </p>
-      <dl>
-        <dt>General notes:</dt>
-        <dd>
-          <ul>
-            <li>Adds support for the x86 ABI, which allows you to generate machine code
-            that runs on compatible x86-based Android devices. Major features for x86
-            include x86-specific toolchains, system headers, libraries and
-            debugging support. For all of the details regarding x86 support,
-            see <code>docs/CPU-X86.html</code> in the NDK package.
-
-              <p>By default, code is generated for ARM-based devices, but you can add x86 to your
-              <code>APP_ABI</code> definition in your <code>Application.mk</code> file to build
-              for x86 platforms. For example, the following line instructs <code>ndk-build</code>
-              to build your code for three distinct ABIs:</p>
-
-              <pre>APP_ABI := armeabi armeabi-v7a x86</pre>
-
-              <p>Unless you rely on ARM-based assembly sources, you shouldn't need to touch
-              your <code>Android.mk</code> files to build x86 machine code.</p>
-
-            </li>
-
-            <li>You can build a standalone x86 toolchain using the
-<code>--toolchain=x86-4.4.3</code>
-            option when calling <code>make-standalone-toolchain.sh</code>. See
-            <code>docs/STANDALONE-TOOLCHAIN.html</code> for more details.
-            </li>
-            <li>The new <code>ndk-stack</code> tool lets you translate stack traces in
-            <code>logcat</code> that are generated by native code. The tool translates
-            instruction addresses into a readable format that contains things such
-            as the function, source file, and line number corresponding to each stack frame.
-            For more information and a usage example, see <code>docs/NDK-STACK.html</code>.
-            </li>
-          </ul>
-        </dd>
-        <dt>Other changes:</dt>
-        <dd><code>arm-eabi-4.4.0</code>, which had been deprecated since NDK r5, has been
-        removed from the NDK distribution.</dd>
-
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 5c</a> <em>(June 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK does not include any new features compared to r5b. The r5c release
-    addresses the following problems in the r5b release:</p>
-    <dl>
-      <dt>Important bug fixes:</dt>
-      <dd>
-        <ul>
-          <li><code>ndk-build</code>: Fixed a rare bug that appeared when trying to perform parallel
-          builds of debuggable projects.</li>
-
-          <li>Fixed a typo that prevented <code>LOCAL_WHOLE_STATIC_LIBRARIES</code> to work
-          correctly with the new toolchain and added documentation for this in
-          <code>docs/ANDROID-MK.html</code>.</li>
-
-          <li>Fixed a bug where code linked against <code>gnustl_static</code> crashed when run on
-          platform releases older than API level 8 (Android 2.2).</li>
-
-          <li><code>ndk-gdb</code>: Fixed a bug that caused a segmentation fault when debugging
-Android 3.0
-          or newer devices.</li>
-
-          <li><code>&lt;android/input.h&gt;</code>: Two functions that were introduced in API level
-          9 (Android 2.3) were incorrect and are fixed. While this breaks the source API, the
-          binary interface to the system is unchanged. The incorrect functions were missing a
-          <code>history_index</code> parameter, and the correct definitions are shown below:
-<pre>
-float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event,
-                                           size_t pointer_index,
-                                           size_t history_index);
-
-float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event,
-                                           size_t pointer_index,
-                                           size_t history_index);
-</pre>
-          </li>
-
-          <li>Updated the C library ARM binary for API level 9 (Android 2.3) to correctly expose at
-          link time new functions that were added in that API level (for example,
-          <code>pthread_rwlock_init</code>).</li>
-
-        </ul>
-      </dd>
-
-      <dt>Minor improvements and fixes:</dt>
-      <dd>
-        <ul>
-          <li>Object files are now always linked in the order they appear in
-          <code>LOCAL_SRC_FILES</code>. This was not the case previously because the files were
-          grouped by source extensions instead.</li>
-
-          <li>When <code>import-module</code> fails, it now prints the list of directories that
-          were searched. This is useful to check that the <code>NDK_MODULE_PATH</code> definition
-          used by the build system is correct.</li>
-
-          <li>When <code>import-module</code> succeeds, it now prints the directory where the
-          module was found to the log (visible with <code>NDK_LOG=1</code>).</li>
-
-          <li>Increased the build speed of debuggable applications when there is a very large number
-          of include directories in the project.</li>
-
-          <li><code>ndk-gdb</code>: Better detection of <code>adb shell</code> failures and improved
-          error messages.</li>
-
-          <li><code>&lt;pthread.h&gt;</code>: Fixed the definition of
-          <code>PTHREAD_RWLOCK_INITIALIZER</code> for API level 9 (Android 2.3) and higher.</li>
-
-          <li>Fixed an issue where a module could import itself, resulting in an infinite loop in
-          GNU Make.</li>
-
-          <li>Fixed a bug that caused the build to fail if <code>LOCAL_ARM_NEON</code> was set to
-          true (typo in <code>build/core/build-binary.mk</code>).</li>
-
-          <li>Fixed a bug that prevented the compilation of <code>.s</code> assembly files
-          (<code>.S</code> files were okay).</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 5b</a> <em>(January 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>This release of the NDK does not include any new features compared to r5. The r5b release
-addresses the
-      following problems in the r5 release:
-      </p>
-      <ul>
-    <li>The r5 binaries required glibc 2.11, but the r5b binaries are generated with a special
-    toolchain that targets glibc 2.7 or higher instead. The Linux toolchain binaries now run on
-Ubuntu 8.04 or higher. </li>
-    <li>Fixes a compiler bug in the arm-linux-androideabi-4.4.3 toolchain.
-    The previous binary generated invalid thumb instruction sequences when
-    dealing with signed chars.</li>
-    <li>Adds missing documentation for the
-    "gnustl_static" value for APP_STL, that allows you to link against
-    a static library version of GNU libstdc++. </li> the
-    <li>Fixed the following <code>ndk-build</code> issues:
-      <ul>
-        <li>A bug that created inconsistent dependency files when a
-        compilation error occured on Windows. This prevented a proper build after
-        the error was fixed in the source code.</li>
-        <li>A Cygwin-specific bug where using very short paths for
-        the Android NDK installation or the project path led to the
-        generation of invalid dependency files. This made incremental builds
-        impossible.</li>
-        <li>A typo that prevented the cpufeatures library from working correctly
-        with the new NDK toolchain.</li>
-        <li>Builds in Cygwin are faster by avoiding calls to <code>cygpath -m</code>
-        from GNU Make for every source or object file, which caused problems
-        with very large source trees. In case this doesn't work properly, define
-<code>NDK_USE_CYGPATH=1</code> in your
-        environment to use <code>cygpath -m</code> again.</li>
-        <li>The Cygwin installation now notifies the user of invalid installation paths that
-contain spaces. Previously, an invalid path
-        would output an error that complained about an incorrect version of GNU Make, even if the
-right one was installed.
-      </ul>
-    </li>
-  <li>Fixed a typo that prevented the <code>NDK_MODULE_PATH</code> environment variable from
-working properly when
-  it contained multiple directories separated with a colon. </li>
-  <li>The <code>prebuilt-common.sh</code> script contains fixes to check the compiler for 64-bit
-  generated machine code, instead of relying on the host tag, which
-  allows the 32-bit toolchain to rebuild properly on Snow Leopard. The toolchain rebuild scripts
-now also support
-  using a 32-bit host toolchain.</li>
-  <li>A missing declaration for <code>INET_ADDRSTRLEN</code> was added to
-<code>&lt;netinet/in.h&gt;</code>.</li>
-  <li>Missing declarations for <code>IN6_IS_ADDR_MC_NODELOCAL</code> and
-<code>IN6_IS_ADDR_MC_GLOBAL</code> were added to <code>&lt;netinet/in6.h&gt;</code>.</li>
-  <li>'asm' was replaced with '__asm__' in <code>&lt;asm/byteorder.h&gt;</code> to allow
-compilation with <code>-std=c99</code>.</li>
-  </ul>
-  </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 5</a> <em>(December 2010)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>This release of the NDK includes many new APIs, most of which are introduced to
-         support the development of games and similar applications that make extensive use
-         of native code. Using the APIs, developers have direct native access to events, audio,
-         graphics and window management, assets, and storage. Developers can also implement the
-         Android application lifecycle in native code with help from the new
-         {@link android.app.NativeActivity} class. For detailed information describing the changes
-in this
-         release, read the <code>CHANGES.HTML</code> document included in the downloaded NDK
-package.
-      </p>
-      <dl>
-        <dt>General notes:</dt>
-        <dd>
-          <ul>
-            <li>Adds support for native activities, which allows you to implement the
-            Android application lifecycle in native code.</li>
-
-            <li>Adds native support for the following:
-
-              <ul>
-
-                <li>Input subsystem (such as the keyboard and touch screen)</li>
-
-                <li>Access to sensor data (accelerometer, compass, gyroscope, etc).</li>
-
-                <li>Event loop APIs to wait for things such as input and sensor events.</li>
-
-                <li>Window and surface subsystem</li>
-
-                <li>Audio APIs based on the OpenSL ES standard that support playback and recording
-                as well as control over platform audio effects</li>
-
-                <li>Access to assets packaged in an <code>.apk</code> file.</li>
-
-              </ul>
-            </li>
-
-            <li>Includes a new toolchain (based on GCC 4.4.3), which generates better code, and can
-also now
-            be used as a standalone cross-compiler, for people who want to build their stuff with
-            <code>./configure &amp;&amp; make</code>. See
-            docs/STANDALONE-TOOLCHAIN.html for the details. The binaries for GCC 4.4.0 are still
-provided,
-            but the 4.2.1 binaries were removed.</li>
-
-            <li>Adds support for prebuilt static and shared libraries (docs/PREBUILTS.html) and
-module
-            exports and imports to make sharing and reuse of third-party modules much easier
-            (docs/IMPORT-MODULE.html explains why).</li>
-
-            <li>Provides a default C++ STL implementation (based on STLport) as a helper module. It
-can be used either
-            as a static or shared library (details and usage examples are in
-sources/android/stlport/README). Prebuilt
-            binaries for STLport (static or shared) and GNU libstdc++ (static only) are also
-provided if you choose to
-            compile against those libraries instead of the default C++ STL implementation.
-            C++ Exceptions and RTTI are not supported in the default STL implementation. For more
-information, see
-            docs/CPLUSPLUS-SUPPORT.HTML.</li>
-
-            <li>Includes improvements to the <code>cpufeatures</code> helper library that improves
-reporting
-            of the CPU type (some devices previously reported ARMv7 CPU when the device really was
-an ARMv6). We
-            recommend developers that use this library to rebuild their applications then
-            upload to Google Play to benefit from the improvements.</li>
-
-            <li>Adds an EGL library that lets you create and manage OpenGL ES textures and
-              services.</li>
-
-            <li>Adds new sample applications, <code>native-plasma</code> and
-<code>native-activity</code>,
-            to demonstrate how to write a native activity.</li>
-
-            <li>Includes many bugfixes and other small improvements; see docs/CHANGES.html for a
-more
-              detailed list of changes.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 4b</a> <em>(June 2010)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <dl>
-        <dt>NDK r4b notes:</dt>
-
-        <dd>
-          <p>Includes fixes for several issues in the NDK build and debugging scripts &mdash; if
-          you are using NDK r4, we recommend downloading the NDK r4b build. For detailed
-          information describing the changes in this release, read the CHANGES.TXT document
-          included in the downloaded NDK package.</p>
-        </dd>
-      </dl>
-
-      <dl>
-        <dt>General notes:</dt>
-
-        <dd>
-          <ul>
-            <li>Provides a simplified build system through the new <code>ndk-build</code> build
-            command.</li>
-
-            <li>Adds support for easy native debugging of generated machine code on production
-            devices through the new <code>ndk-gdb</code> command.</li>
-
-            <li>Adds a new Android-specific ABI for ARM-based CPU architectures,
-            <code>armeabi-v7a</code>. The new ABI extends the existing <code>armeabi</code> ABI to
-            include these CPU instruction set extensions:
-
-              <ul>
-                <li>Thumb-2 instructions</li>
-
-                <li>VFP hardware FPU instructions (VFPv3-D16)</li>
-
-                <li>Optional support for ARM Advanced SIMD (NEON) GCC intrinsics and VFPv3-D32.
-                Supported by devices such as Verizon Droid by Motorola, Google Nexus One, and
-                others.</li>
-              </ul>
-            </li>
-
-            <li>Adds a new <code>cpufeatures</code> static library (with sources) that lets your
-            app detect the host device's CPU features at runtime. Specifically, applications can
-            check for ARMv7-A support, as well as VFPv3-D32 and NEON support, then provide separate
-            code paths as needed.</li>
-
-            <li>Adds a sample application, <code>hello-neon</code>, that illustrates how to use the
-            <code>cpufeatures</code> library to check CPU features and then provide an optimized
-            code path using NEON instrinsics, if supported by the CPU.</li>
-
-            <li>Lets you generate machine code for either or both of the instruction sets supported
-            by the NDK. For example, you can build for both ARMv5 and ARMv7-A architectures at the
-            same time and have everything stored to your application's final
-            <code>.apk</code>.</li>
-
-            <li>To ensure that your applications are available to users only if their devices are
-            capable of running them, Google Play now filters applications based on the
-            instruction set information included in your application &mdash; no action is needed on
-            your part to enable the filtering. Additionally, the Android system itself also checks
-            your application at install time and allows the installation to continue only if the
-            application provides a library that is compiled for the device's CPU architecture.</li>
-
-            <li>Adds support for Android 2.2, including a new stable API for accessing the pixel
-            buffers of {@link android.graphics.Bitmap} objects from native code.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 3</a> <em>(March 2010)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <dl>
-        <dt>General notes:</dt>
-
-        <dd>
-          <ul>
-            <li>Adds OpenGL ES 2.0 native library support.</li>
-
-            <li>Adds a sample application,<code>hello-gl2</code>, that illustrates the use of
-            OpenGL ES 2.0 vertex and fragment shaders.</li>
-
-            <li>The toolchain binaries have been refreshed for this release with GCC 4.4.0, which
-            should generate slightly more compact and efficient machine code than the previous one
-            (4.2.1). The NDK also still provides the 4.2.1 binaries, which you can optionally use
-            to build your machine code.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 2</a> <em>(September 2009)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>Originally released as "Android 1.6 NDK, Release 1".</p>
-
-      <dl>
-        <dt>General notes:</dt>
-
-        <dd>
-          <ul>
-            <li>Adds OpenGL ES 1.1 native library support.</li>
-
-            <li>Adds a sample application, <code>san-angeles</code>, that renders 3D graphics
-            through the native OpenGL ES APIs, while managing activity lifecycle with a {@link
-            android.opengl.GLSurfaceView} object.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 1</a> <em>(June 2009)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>Originally released as "Android 1.5 NDK, Release 1".</p>
-
-      <dl>
-        <dt>General notes:</dt>
-
-        <dd>
-          <ul>
-            <li>Includes compiler support (GCC) for ARMv5TE instructions, including Thumb-1
-            instructions.</li>
-
-            <li>Includes system headers for stable native APIs, documentation, and sample
-            applications.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-
-
-
-
-<!-- ####################### END OF RELEASE NOTES ####################### -->
diff --git a/docs/html/ndk/guides/_book.yaml b/docs/html/ndk/guides/_book.yaml
deleted file mode 100644
index c015d7a..0000000
--- a/docs/html/ndk/guides/_book.yaml
+++ /dev/null
@@ -1,84 +0,0 @@
-toc:
-- title: Getting Started
-  path: /ndk/guides/index.html
-  section:
-  - title: Setup
-    path: /ndk/guides/setup.html
-  - title: Concepts
-    path: /ndk/guides/concepts.html
-
-- title: Building
-  path: /ndk/guides/build.html
-  section:
-  - title: Android.mk
-    path: /ndk/guides/android_mk.html
-  - title: Application.mk
-    path: /ndk/guides/application_mk.html
-  - title: ndk-build
-    path: /ndk/guides/ndk-build.html
-  - title: Standalone Toolchain
-    path: /ndk/guides/standalone_toolchain.html
-
-- title: Architectures and CPUs
-  path: /ndk/guides/arch.html
-  section:
-  - title: ABI Management
-    path: /ndk/guides/abis.html
-  - title: NEON
-    path: /ndk/guides/cpu-arm-neon.html
-  - title: x86
-    path: /ndk/guides/x86.html
-  - title: x86-64
-    path: /ndk/guides/x86-64.html
-  - title: MIPS
-    path: /ndk/guides/mips.html
-  - title: The cpufeatures Library
-    path: /ndk/guides/cpu-features.html
-
-- title: Debugging
-  path: /ndk/guides/debug.html
-  section:
-  - title: ndk-gdb
-    path: /ndk/guides/ndk-gdb.html
-  - title: ndk-stack
-    path: /ndk/guides/ndk-stack.html
-
-- title: Libraries
-  path: /ndk/guides/libs.html
-  section:
-  - title: Prebuilt Libraries
-    path: /ndk/guides/prebuilts.html
-  - title: C++ Support
-    path: /ndk/guides/cpp-support.html
-  - title: Stable APIs
-    path: /ndk/guides/stable_apis.html
-
-- title: Audio
-  path: /ndk/guides/audio/index.html
-  section:
-  - title: Basics
-    path: /ndk/guides/audio/basics.html
-  - title: OpenSL ES for Android
-    path: /ndk/guides/audio/opensl-for-android.html
-  - title: Audio Input Latency
-    path: /ndk/guides/audio/input-latency.html
-  - title: Audio Output Latency
-    path: /ndk/guides/audio/output-latency.html
-  - title: Floating-Point Audio
-    path: /ndk/guides/audio/floating-point.html
-  - title: Sample Rates
-    path: /ndk/guides/audio/sample-rates.html
-  - title: OpenSL ES Programming Notes
-    path: /ndk/guides/audio/opensl-prog-notes.html
-
-- title: Vulkan
-  path: /ndk/guides/graphics/index.html
-  section:
-  - title: Getting Started
-    path: /ndk/guides/graphics/getting-started.html
-  - title: Design Guidelines
-    path: /ndk/guides/graphics/design-notes.html
-  - title: Shader Compilers
-    path: /ndk/guides/graphics/shader-compilers.html
-  - title: Validation Layers
-    path: /ndk/guides/graphics/validation-layer.html
diff --git a/docs/html/ndk/guides/abis.jd b/docs/html/ndk/guides/abis.jd
deleted file mode 100644
index 306cfdb..0000000
--- a/docs/html/ndk/guides/abis.jd
+++ /dev/null
@@ -1,469 +0,0 @@
-page.title=ABI Management
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#sa">Supported ABIs</a></li>
-        <li><a href="#gc">Generating Code for a Specific ABI</a></li>
-        <li><a href="#am">ABI Management on the Android Platform</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>Different Android handsets use different CPUs, which in turn support different instruction sets.
-Each combination of CPU and instruction sets has its own Application Binary Interface, or
-<i>ABI</i>. The ABI defines, with great precision, how an application's machine code is supposed to
-interact with the system at runtime. You must specify an ABI for each CPU architecture you want
-your app to work with.</p>
-
-<p>A typical ABI includes the following information:</p>
-
-<ul>
-<li>The CPU instruction set(s) that the machine code should use.</li>
-<li>The endianness of memory stores and loads at runtime.</li>
-<li>The format of executable binaries, such as programs and shared libraries, and
-the types of content they support.</li>
-<li>Various conventions for passing data between your code and the system.
-These conventions include alignment constraints, as well as how the system uses the stack and
-registers when it calls functions.</li>
-<li>The list of function symbols available to your machine code at runtime,
-generally from very specific sets of libraries.</li>
-</ul>
-
-<p>This page enumerates the ABIs that the NDK supports, and provides information about how each ABI
-works.</p>
-
-<h2 id="sa">Supported ABIs</h2>
-
-<p>Each ABI supports one or more instruction sets. Table 1 provides an at-a-glance overview of
-the instruction sets each ABI supports.</p>
-
-<p class="table-caption" id="abi-table">
-  <strong>Table 1.</strong> ABIs and supported instruction sets.</p>
-
-<table>
-<tr>
-<th>ABI</th>
-<th>Supported Instruction Set(s)</th>
-<th>Notes</th>
-</tr>
-
-<tr>
-<td><a href="#armeabi">{@code armeabi}</a> </td>
-<td><li>ARMV5TE and later</li>
-<li>Thumb-1</li></td>
-<td>No hard float.</td>
-</tr>
-
-<tr>
-<td><a href="#v7a">{@code armeabi-v7a}</a></td>
-<td>
-<li>armeabi</li>
-<li>Thumb-2</li>
-<li>VFPv3-D16</li>
-<li>Other, optional</li></td>
-<td>Incompatible with ARMv5, v6 devices.</td>
-</tr>
-
-<tr>
-<td><a href="#arm64-v8a">{@code arm64-v8a}</a></td>
-<td><li>AArch-64</li></td>
-</tr>
-
-<tr>
-<td>
-<a href="#x86">{@code x86}</a></td>
-<td><li>x86 (IA-32)</li>
-<li>MMX</li>
-<li>SSE/2/3</li>
-<li>SSSE3</li></td>
-<td>No support for MOVBE or SSE4.</td>
-</tr>
-
-<tr>
-<td><a href="#86-64">{@code x86_64}</a> </td>
-<td>
-<li>x86-64</li>
-<li>MMX</li>
-<li>SSE/2/3</li>
-<li>SSSE3</li>
-<li>SSE4.1, 4.2</li>
-<li>POPCNT</li></td>
-</tr>
-
-<tr>
-<td><a href="#mips">{@code mips}</a></td>
-<td><li>MIPS32r1 and later</li></td>
-<td>Uses hard-float, and assumes a CPU:FPU clock ratio of 2:1 for maximum
-compatibility. Provides neither micromips nor MIPS16.</td>
-</tr>
-
-<tr>
-<td><a href="#mips64">{@code mips64}</a></td>
-<td><li>MIPS64r6</li></td><td>
-</td>
-</tr>
-</table>
-
-<p>More detailed information about each ABI appears below.</p>
-
-<h3 id="armeabi">armeabi</h3>
-<p>This ABI is for ARM-based CPUs that support at least
-the ARMv5TE instruction set. Please refer to the following documentation for
-more details:</p>
-
-<ul>
-<li><a href="https://www.scss.tcd.ie/~waldroj/3d1/arm_arm.pdf">ARM Architecture
-Reference Manual</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf">
-Procedure Call Standard for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.dui0101a/DUI0101A_Elf.pdf">
-ARM ELF File Format</a></li>
-<li><a
-href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html">Application Binary Interface (ABI) for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0037c/IHI0037C_bpabi.pdf">
-Base Platform ABI for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0039c/IHI0039C_clibabi.pdf">
-C Library ABI for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0041d/index.html">
-C++ ABI for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0043d/IHI0043D_rtabi.pdf">
-Run-time ABI for the ARM Architecture</a></li>
-<li><a href="http://www.sco.com/developers/gabi/2001-04-24/contents.html">ELF
-System V Application Binary Interface</a></li>
-<li><a href="http://mentorembedded.github.com/cxx-abi/abi.html">Generic/Itanium C++
-ABI</a></li>
-</ul>
-
-<p>The AAPCS standard defines EABI as a family of similar
-but distinct ABIs. Also, Android follows the little-endian
-<a href="http://sourcery.mentor.com/sgpp/lite/arm/portal/kbattach142/arm_gnu_linux_ abi.pdf">
-ARM GNU/Linux ABI</a>.</p>
-
-<p>This ABI does not support hardware-assisted floating point
-computations. Instead, all floating-point operations use software helper
-functions from the compiler's {@code libgcc.a} static library.</p>
-
-<p>The armeabi ABI supports ARM’s
-<a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0210c/CACBCAAE.html">
-Thumb (a.k.a. Thumb-1) instruction set</a>. The NDK generates Thumb
-code by default unless you specify different behavior using the
-<code>LOCAL_ARM_MODE</code> variable in your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>
-file.</p>
-
-<h3 id="v7a">armeabi-v7a</h3>
-<p>This ABI extends armeabi to include several
-<a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0406c/index.html">
-CPU instruction set extensions</a>. The instruction extensions that this Android-specific
-ABI supports are:</p>
-
-<ul>
-<li>The Thumb-2 instruction set extension, which provides performance comparable to 32-bit ARM
-instructions with similar compactness to Thumb-1.</li>
-<li>The VFP hardware-FPU instructions. More specifically, VFPv3-D16, which
-includes 16 dedicated 64-bit floating point registers, in addition to another
-16 32-bit registers from the ARM core.</li>
-</ul>
-
-<p>Other extensions that the v7-a ARM spec describes, including
-<a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388f/Beijfcja.html">
-Advanced SIMD</a> (a.k.a. NEON), VFPv3-D32, and ThumbEE, are optional
-to this ABI. Since their presence is not guaranteed, the system should check at runtime
-whether the extensions are available. If they are not, you must use alternative code paths. This
-check is similar to the one that the system typically performs to check or use
-<a href="http://en.wikipedia.org/wiki/MMX_%28instruction_set%29">MMX</a>,
-<a href="http://en.wikipedia.org/wiki/SSE2">SSE2</a>, and other specialized
-instruction sets on x86 CPUs.</p>
-
-<p>For information about how to perform these runtime checks, refer to
-<a href="{@docRoot}ndk/guides/cpu-features.html">The {@code cpufeatures} Library</a>.
-Also, for information about the NDK's support for building
-machine code for NEON, see
-<a href="{@docRoot}ndk/guides/cpu-arm-neon.html">NEON Support</a>.</p>
-
-<p>The {@code armeabi-v7a} ABI uses the {@code -mfloat-abi=softfp} switch to
-enforce the rule that the compiler must pass all double values in core register pairs during
-function calls, instead of dedicated floating-point ones. The system can perform all internal
-computations using the FP registers. Doing so speeds up the computations greatly.</p>
-
-<h3 id="arm64-v8a">arm64-v8a</h3>
-<p>This ABI is for ARMv8-based CPUs that support AArch64. It also includes the NEON and
-VFPv4 instruction sets.</p>
-
-<p>For more information, see the
-<a href="http://www.arm.com/files/downloads/ARMv8_Architecture.pdf">ARMv8
-Technology Preview</a>, and contact ARM for further details.</p>
-
-<h3 id="x86">x86</h3>
-<p>This ABI is for CPUs supporting the instruction set commonly
-referred to as "x86" or "IA-32". Characteristics of this ABI include:</p>
-
-<ul>
-<li>Instructions normally generated by GCC with compiler flags such as the following:
-
-<pre class="no-pretty-print">
--march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32
-</pre>
-
-<p>These flags target the the Pentium Pro instruction set, along with the
-the <a href="http://en.wikipedia.org/wiki/MMX_%28instruction_set%29">MMX</a>,
-<a href="http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions">SSE</a>,
-<a href="http://en.wikipedia.org/wiki/SSE2">SSE2</a>,
-<a href="http://en.wikipedia.org/wiki/SSE3">SSE3</a>, and
-<a href="http://en.wikipedia.org/wiki/SSSE3">SSSE3</a> instruction set extensions.
-The generated code is an optimization balanced across the top Intel 32-bit
-CPUs.</p>
-<p> For more information on compiler flags, particularly related to performance optimization,
-refer to <a href="http://software.intel.com/blogs/2012/09/26/gcc-x86-performance-hints">GCC
-x86 performance hints</a>.</p>
-</li>
-<li>Use of the standard Linux x86 32-bit calling convention, as opposed to the one for SVR. For
-more information, see section 6, "Register Usage", of
-<a href="http://www.agner.org/optimize/calling_conventions.pdf">Calling conventions for different
-C++ compilers and operating systems</a>.</li>
-</ul>
-
-<p>The ABI does not include any other optional IA-32 instruction set
-extensions, such as:</p>
-<ul>
-<li>MOVBE</li>
-<li>Any variant of SSE4.</li>
-</ul>
-<p>You can still use these extensions, as long as you use runtime feature-probing to
-enable them, and provide fallbacks for devices that do not support them.</p>
-<p>The NDK toolchain assumes 16-byte stack alignment before a function call. The default tools and
-options enforce this rule. If you are writing assembly code, you must make sure to maintain stack
-alignment, and ensure that other compilers also obey this rule.</p>
-
-<p>Refer to the following documents for more details:</p>
-<ul>
-<li>
-<a href="https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html">
-GCC online documentation: Intel 386 and AMD x86-64 Options</a></li>
-<li><a href="http://www.agner.org/optimize/calling_conventions.pdf">Calling
-conventions for different C++ compilers and operating systems</a></li>
-<li><a
-href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf"
->Intel IA-32 Intel Architecture Software Developer's Manual, Volume 2:
-Instruction Set Reference</a></li>
-<li><a
-href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf">Intel
-IA-32 Intel Architecture Software Developer's Manual, Volume 3: System
-Programming Guide</a></li>
-<li><a href="http://www.sco.com/developers/devspecs/abi386-4.pdf">System V Application Binary
-Interface: Intel386 Processor Architecture Supplement</a></li>
-</ul>
-
-<h3 id="86-64">x86_64</h3>
-<p>This ABI is for CPUs supporting the instruction set commonly referred to as
-"x86-64." It supports instructions that GCC typically generates with the following
-compiler flags:</p>
-<pre class="no-pretty-print">
--march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel
-</pre>
-
-<p>These flags target the x86-64 instruction set, according to the GCC
-documentation. along with the
-<a href="http://en.wikipedia.org/wiki/MMX_%28instruction_set%29">MMX</a>,
-<a href="http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions">SSE</a>,
-<a href="http://en.wikipedia.org/wiki/SSE2">SSE2</a>,
-<a href="http://en.wikipedia.org/wiki/SSE3">SSE3</a>,
-<a href="http://en.wikipedia.org/wiki/SSSE3">SSSE3</a>,
-<a href="http://en.wikipedia.org/wiki/SSE4#SSE4.1">SSE4.1</a>,
-<a href="http://en.wikipedia.org/wiki/SSE4#SSE4.2">SSE4.2</a>, and
-<a href="https://software.intel.com/en-us/node/512035">POPCNT</a>
-instruction-set extensions. The generated code is an optimization balanced
-across the top Intel 64-bit CPUs.</p>
-
-<p> For more information on compiler flags, particularly related to performance optimization,
-refer to <a href="http://software.intel.com/blogs/2012/09/26/gcc-x86-performance-hints">GCC
-x86 Performance</a>.</p>
-
-<p>This ABI does not include any other optional x86-64 instruction set
-extensions, such as:</p>
-
-<ul>
-<li>MOVBE</li>
-<li>SHA</li>
-<li>AVX</li>
-<li>AVX2</li>
-</ul>
-
-<p>You can still use these extensions, as long as you use runtime feature probing to
-enable them, and provide fallbacks for devices that do not support them.</p>
-<p>Refer to the following documents for more details:</p>
-
-<ul>
-<li><a href="http://www.agner.org/optimize/calling_conventions.pdf">Calling conventions for
-different C++ compilers and operating systems</a></li>
-<li>
-<a href="http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html?iid=tech_vt_tech+64-32_manuals">
-Intel64 and IA-32 Architectures Software Developer's Manual, Volume 2: Instruction Set
-Reference</a></li>
-<li>
-<a href="http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html?iid=tech_vt_tech+64-32_manuals">
-Intel64 and IA-32 Intel Architecture Software Developer's Manual Volume 3: System Programming</a>
-</li>
-</ul>
-
-<h3 id="mips">mips</h3>
-<p>This ABI is for MIPS-based CPUs that support at least the MIPS32r1 instruction set. It includes
-the following features:</p>
-
-<ul>
-<li>MIPS32 revision 1 ISA</li>
-<li>Little-endian</li>
-<li>O32</li>
-<li>Hard-float</li>
-<li>No DSP application-specific extensions</li>
-</ul>
-
-<p>For more information, please refer to the following documentation:</p>
-
-<ul>
-<li>Architecture for Programmers ("MIPSARCH")</li>
-<li><a href="https://refspecs.linuxbase.org/elf/gabi4+/contents.html">ELF
-System V Application Binary Interface</a></li>
-<li><a href="http://sourcery.mentor.com/public/cxx-abi/abi.html">Itanium/Generic C++
-ABI</a></li>
-</ul>
-
-<p>For more specific details, see
-<a href="http://www.imgtec.com/mips/architectures/mips32/">MIPS32 Architecture</a>.
-Answers to common questions are in the
-<a href="https://sourcery.mentor.com/sgpp/lite/mips/portal/target_arch?@action=faq&amp;target_arch=MIPS">MIPS FAQ</a>.
-</p>
-</li>
-</ul>
-
-<h3 id="mips64">mips64</h3>
-<p>This ABI is for MIPS64 R6. For more information, see
-<a href="http://www.imgtec.com/mips/architectures/mips64/">MIPS64 Architecture</a>.</p>
-
-<h2 id="gc">Generating Code for a Specific ABI</h2>
-<p>By default, the NDK generates machine code for the armeabi ABI. You can
-generate ARMv7-a-compatible machine code, instead, by adding the following line
-to your <a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file.</p>
-<pre class="no-pretty-print">
-APP_ABI := armeabi-v7a
-</pre>
-
-<p>To build machine code for two or more distinct ABIs, using spaces as delimiters. For
-example:</p>
-
-<pre class="no-pretty-print">
-APP_ABI := armeabi armeabi-v7a
-</pre>
-
-<p>This setting tells the NDK to build two versions of your machine code: one
-for each ABI listed on this line. For more information on the values you can specify for the
-{@code APP_ABI} variable, see <a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.
-</p>
-
-<p>When you build multiple machine-code versions, the build system copies the libraries to your
-application project path, and ultimately packages them into your APK, so creating
-a <a href="http://en.wikipedia.org/wiki/Fat_binary"><i>fat binary</i></a>. A fat binary
-is larger than one containing only the machine code for a single system; the tradeoff is
-gaining wider compatibility, but at the expense of a larger APK.</p>
-
-<p>At installation time, the package manager unpacks only the most appropriate
-machine code for the target device. For details, see <a href="#aen">Automatic
-extraction of native code at install time</a>.</p>
-
-
-<h2 id="am">ABI Management on the Android Platform</h2>
-<p>This section provides details about how the Android platform manages native
-code in APKs.</p>
-
-<h3>Native code in app packages</h3>
-<p>Both the Play Store and Package Manager expect to find NDK-generated
-libraries on filepaths inside the APK matching the following pattern:</p>
-
-<pre class="no-pretty-print">
-/lib/&lt;abi&gt;/lib&lt;name&gt;.so
-</pre>
-
-<p>Here, {@code <abi>} is one of the ABI names listed under <a href="#sa">Supported ABIs</a>,
-and {@code <name>} is the name of the library as you defined it for the {@code LOCAL_MODULE}
-variable in the <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file. Since
-APK files are just zip files, it is trivial to open them and confirm that the shared native
-libraries are where they belong.</p>
-
-<p>If the system does not find the native shared libraries where it expects them, it cannot use
-them. In such a case, the app itself has to copy the libraries over, and then
-perform <code>dlopen()</code>.</p>
-
-<p>In a fat binary, each library resides under a directory whose name matches a corresponding ABI.
-For example, a fat binary may contain:</p>
-
-<pre class="no-pretty-print">
-/lib/armeabi/libfoo.so
-/lib/armeabi-v7a/libfoo.so
-/lib/arm64-v8a/libfoo.so
-/lib/x86/libfoo.so
-/lib/x86_64/libfoo.so
-/lib/mips/libfoo.so
-/lib/mips64/libfoo.so
-</pre>
-
-<p class="note"><strong>Note:</strong> ARMv7-based Android devices running 4.0.3 or earlier
-install native libraries from the {@code armeabi} directory instead of the {@code armeabi-v7a}
-directory if both directories exist. This is because {@code /lib/armeabi/} comes after
-{@code /lib/armeabi-v7a/} in the APK. This issue is fixed from 4.0.4.</p>
-
-<h3>Android Platform ABI support</h3>
-<p>The Android system knows at runtime which ABI(s) it supports, because build-specific system
-properties indicate:</p>
-
-<ul>
-<li>The primary ABI for the device, corresponding to the machine code used in
-the system image itself.</li>
-<li>An optional, secondary ABI, corresponding to another ABI that the system image also supports.
-</li>
-</ul>
-
-<p>This mechanism ensures that the system extracts the best machine code from
-the package at installation time.</p>
-
-<p>For best performance, you should compile directly for the primary ABI. For example, a
-typical ARMv5TE-based device would only define the primary ABI: {@code armeabi}. By contrast, a
-typical, ARMv7-based device would define the primary ABI as {@code armeabi-v7a} and the secondary
-one as {@code armeabi}, since it can run application native binaries generated for each of them.</p>
-
-<p>Many x86-based devices can also run {@code armeabi-v7a} and {@code armeabi} NDK binaries. For
-such devices, the primary ABI would be {@code x86}, and the second one, {@code armeabi-v7a}.</p>
-
-<p>A typical MIPS-based device only defines a primary abi: {@code mips}.</p>
-
-<h3 id="aen">Automatic extraction of native code at install time</h3>
-
-<p>When installing an application, the package manager service scans the APK, and looks for any
-shared libraries of the form:</p>
-
-<pre class="no-pretty-print">
-lib/&lt;primary-abi&gt;/lib&lt;name&gt;.so
-</pre>
-
-<p>If none is found, and you have defined a secondary ABI, the service scans for shared libraries of
-the form:</p>
-
-<pre class="no-pretty-print">
-lib/&lt;secondary-abi&gt;/lib&lt;name&gt;.so
-</pre>
-
-<p>When it finds the libraries that it's looking for, the package manager
-copies them to <code>/lib/lib&lt;name&gt;.so</code>, under the application's
-{@code data} directory ({@code data/data/<package_name>/lib/}).</p>
-
-<p>If there is no shared-object file at all, the application builds and installs, but crashes at
-runtime.</p>
diff --git a/docs/html/ndk/guides/android_mk.jd b/docs/html/ndk/guides/android_mk.jd
deleted file mode 100644
index 1416d13..0000000
--- a/docs/html/ndk/guides/android_mk.jd
+++ /dev/null
@@ -1,875 +0,0 @@
-page.title=Android.mk
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-        <li><a href="#basics">Basics</a></li>
-        <li><a href="#var">Variables and Macros</a></li>
-        <li><a href="#mdv">Module-Description Variables</a></li>
-      </ol>
-    </div>
-  </div>
-
-
-<p>This page describes the syntax of the {@code Android.mk} build file,
-which glues your C and C++ source files to the Android NDK.</p>
-
-<h2 id="over">Overview</h2>
-<p>The {@code Android.mk} file resides in a subdirectory of your project's {@code jni/} directory,
-and describes your sources and shared libraries to the build system. It is really a tiny GNU
-makefile fragment that the build system parses once or more. The {@code Android.mk} file is useful
-for defining project-wide settings that <a href="{@docRoot}ndk/guides/application_mk.html">{@code
-Application.mk}</a>, the build system, and your
-environment variables leave undefined. It can also override project-wide settings for specific
-<i>modules</i>.</p>
-
-<p>The syntax of the {@code Android.mk} allows you to group your sources into
-<em>modules</em>. A module is either a static library, a shared library, or a standalone
-executable. You can define one or more modules in each {@code Android.mk} file, and
-you can use the same source file in multiple modules. The build system only places shared libraries
-into your application package. In addition, static libraries can generate shared libraries.</p>
-
-<p>In addition to packaging libraries, the build system handles a variety of other details for you.
-For example, you don't need to list header files or explicit dependencies between generated files in
-your {@code Android.mk} file. The NDK build system computes these relationships automatically for
-you. As a result, you should be able to benefit from new toolchain/platform support in future NDK
-releases without having to touch your {@code Android.mk} file.</p>
-
-<p>The syntax of this file is very close to that used in the {@code Android.mk} files distributed with
-the full <a href="https://source.android.com">Android Open Source Project</a>. While the
-build system implementation that uses them is different, their similarity is an
-intentional design decision aimed at making it easier for application
-developers to reuse source code for external libraries.</p>
-
-<h2 id="basics">Basics</h2>
-<p>Before exploring the syntax in detail, it is useful to start by understanding the basics
-of what a {@code Android.mk} file contains. This section uses the {@code Android.mk} file in the
-Hello-JNI sample toward that end, explaining the role that each line in the file plays.</p>
-
-
-<p>An {@code Android.mk} file must begin by defining the {@code LOCAL_PATH} variable:
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-</pre>
-
-<p>This variable indicates the location of the source files in the development tree. Here, the macro
-function {@code my-dir}, provided by the build system, returns the path of the current directory
-(the directory containing the {@code Android.mk} file itself).</p>
-
-<p>The next line declares the {@code CLEAR_VARS} variable, whose value the build system provides.
-
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-</pre>
-
-<p>The {@code CLEAR_VARS} variable points to a special GNU Makefile that clears many
-{@code LOCAL_XXX} variables for you, such as {@code LOCAL_MODULE}, {@code LOCAL_SRC_FILES}, and
-{@code LOCAL_STATIC_LIBRARIES}. Note that it does not clear {@code LOCAL_PATH}. This variable must
-retain its value because the system parses all build control files in a single GNU Make execution
-context where all variables are global. You must (re-)declare this variable before describing each
-module.</p>
-
-<p>Next, the {@code LOCAL_MODULE} variable stores the name of the module that you wish to build.
-Use this variable once per module in your application.</p>
-
-<pre class="no-pretty-print">
-LOCAL_MODULE := hello-jni
-</pre>
-
-<p>Each module name must be unique and not contain any spaces. The build system, when it
-generates the final shared-library file, automatically adds the proper prefix and suffix to
-the name that you assign to {@code LOCAL_MODULE}. For example, the example that appears above
-results in generation of a library called {@code libhello-jni.so}.</p>
-
-<p class="note"><strong>Note:</strong> If your module's name already starts with {@code lib}, the
-build system does not prepend an additional {@code lib} prefix; it takes the module name as-is, and
-adds the {@code .so} extension. So a source file originally called, for example, {@code libfoo.c}
-still produces a shared-object file called {@code libfoo.so}. This behavior is to support libraries
-that the Android platform sources generate from {@code Android.mk} files; the names of all such
-libraries start with {@code lib}.</p>
-
-<p>The next line enumerates the source files, with spaces delimiting multiple files:</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := hello-jni.c
-</pre>
-
-<p>The {@code LOCAL_SRC_FILES} variable must contain a list of C and/or C++ source files to build
-into a module.</p>
-
-<p>The last line helps the system tie everything together:</p>
-
-<pre class="no-pretty-print">
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>The {@code BUILD_SHARED_LIBRARY} variable points to a GNU Makefile script that collects all the
-information you defined in {@code LOCAL_XXX} variables since the most recent {@code include}. This
-script determines what to build, and how to do it.</p>
-
-<p>There are more complex examples in the samples directories, with commented
-{@code Android.mk} files that you can look at. In addition,
-<a href="{@docRoot}ndk/samples/sample_na.html">Sample: native-activity</a> provides
-a detailed explanation of that sample's {@code Android.mk} file. Finally, <a href="#var">
-Variables and Macros</a> provides further information on the variables from this section.
-
-
-<h2 id="var">Variables and Macros</h2>
-<p>The build system provides many possible variables for use in the the {@code Android.mk} file.
-Many of these variables come with preassigned values. Others, you assign.</p>
-
-<p>In addition to these variables, you can also define your own arbitrary ones. If you do so, keep
-in mind that the NDK build system reserves the following variable names:</p>
-<ul>
-<li>Names that begin with {@code LOCAL_}, such as {@code LOCAL_MODULE}.</li>
-<li>Names that begin with {@code PRIVATE_}, {@code NDK_}, or {@code APP}. The build system uses
-these internally.</li>
-<li>Lower-case names, such as {@code my-dir}. The build system uses these internally, as well.</li>
-</ul>
-<p>If you need to define your own convenience variables in an {@code Android.mk} file, we
-recommend prepending {@code MY_} to their names.
-
-
-<h3 id="npv">NDK-defined variables</h3>
-<p>This section discusses the GNU Make variables that the build system defines before parsing your
-{@code Android.mk} file. Under certain circumstances, the NDK might parse your {@code Android.mk}
-file several times, using a different definition for some of these variables each time.</p>
-
-<h4>CLEAR_VARS</h4>
-<p>This variable points to a build script that undefines nearly all {@code LOCAL_XXX} variables
-listed in the "Developer-defined variables" section below. Use this variable to include
-this script before describing a new module. The syntax for using it is:</p>
-
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-</pre>
-
-<h4>BUILD_SHARED_LIBRARY</h4>
-<p>This variable points to a build script that collects all the information about the module
-you provided in your {@code LOCAL_XXX} variables, and determines how to build a target shared
-library from the sources you listed. Note that using this script requires that you have already
-assigned values to {@code LOCAL_MODULE} and {@code LOCAL_SRC_FILES}, at a minimum (for more
-information about these variables, see <a href = "#mdv">Module-Description Variables</a>).</p>
-
-<p>The syntax for using this variable is:</p>
-
-<pre class="no-pretty-print">
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>A shared-library variable causes the build system to generate a library file with a {@code .so}
-extension.</p>
-
-<h4>BUILD_STATIC_LIBRARY</h4>
-<p>A variant of {@code BUILD_SHARED_LIBRARY} that is used to build a static library. The build
-system does not copy static libraries into your project/packages, but it can use them to build
-shared libraries (see {@code LOCAL_STATIC_LIBRARIES} and {@code LOCAL_WHOLE_STATIC_LIBRARIES},
-below). The syntax for using this variable is:</p>
-
-<pre class="no-pretty-print">
-include $(BUILD_STATIC_LIBRARY)
-</pre>
-
-<p>A static-library variable causes the build system to generate a library with a {@code .a}
-extension.</p>
-
-<h4>PREBUILT_SHARED_LIBRARY</h4>
-<p>Points to a build script used to specify a prebuilt shared library. Unlike in the case of
-{@code BUILD_SHARED_LIBRARY} and {@code BUILD_STATIC_LIBRARY}, here the value of
-{@code LOCAL_SRC_FILES} cannot be a source file. Instead, it must be a single path to a prebuilt
-shared library, such as {@code foo/libfoo.so}. The syntax for using this variable is:</p>
-
-<pre class="no-pretty-print">
-include $(PREBUILT_SHARED_LIBRARY)
-</pre>
-
-<p>You can also reference a prebuilt library in another module by using the
-{@code LOCAL_PREBUILTS} variable. For more information about using prebuilts, see
-<a href="{@docRoot}ndk/guides/prebuilts.html">Using Prebuilt Libraries</a>.</p>
-
-
-<h4>PREBUILT_STATIC_LIBRARY</h4>
-<p>The same as {@code PREBUILT_SHARED_LIBRARY}, but for a prebuilt static library. For more
-information about using prebuilts, see <a href="{@docRoot}ndk/guides/prebuilts.html">Using Prebuilt
-Libraries</a>.</p>
-
-<h4>TARGET_ARCH</h4>
-<p>The name of the target CPU architecture as the Android Open Source Project specifies it.
-For any ARM-compatible build, use {@code arm}, independent of the CPU architecture revision or
-ABI (see TARGET_ARCH_ABI, below).</p>
-
-<p>The value of this variable is taken from the APP_ABI variable that you define in the
-{@code Android.mk} file, which the system reads ahead of parsing the {@code Android.mk} file.</p>
-
-<h4>TARGET_PLATFORM</h4>
-<p>The Android API level number for the build system to target.
-For example, the Android 5.1 system images correspond to Android API level 22: {@code android-22}.
-For a complete list of platform names and corresponding Android system
-images, see <a href="{@docRoot}ndk/guides/stable_apis.html">Android NDK Native APIs</a>.
-The following example shows the syntax for using this variable:</p>
-
-<pre class="no-pretty-print">
-TARGET_PLATFORM := android-22
-</pre>
-
-<h4 id="taa">TARGET_ARCH_ABI</h4>
-<p>This variable stores the name of the CPU and architecture to target when the build system
-parses this {@code Android.mk} file. You can specify one or more of the following values, using
-a space as a delimiter between multiple targets. Table 1 shows the ABI setting to use for each
-supported CPU and architecture.
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> ABI settings for different CPUs and architectures.</p>
-<table>
-  <tr>
-    <th scope="col">CPU and architecture</th>
-    <th scope="col">Setting</th>
-  </tr>
-  <tr>
-    <td>ARMv5TE</td>
-    <td>{@code armeabi}</td>
-  </tr>
-  <tr>
-    <td>ARMv7</td>
-    <td>{@code armeabi-v7a}</td>
-  </tr>
-  <tr>
-    <td>ARMv8 AArch64</td>
-    <td>{@code arm64-v8a}</td>
-  </tr>
-  <tr>
-    <td>i686</td>
-    <td>{@code x86}</td>
-  </tr>
-  <tr>
-    <td>x86-64</td>
-    <td>{@code x86_64}</td>
-  </tr>
-  <tr>
-    <td>mips32 (r1)</td>
-    <td>{@code mips}</td>
-  </tr>
-  <tr>
-    <td>mips64 (r6)</td>
-    <td>{@code mips64}</td>
-  </tr>
-  <tr>
-    <td>All</td>
-    <td>{@code all}</td>
-  </tr>
-</table>
-
-<p>The following example shows how to set ARMv8 AArch64 as the target CPU-and-ABI combination:</p>
-
-<pre class="no-pretty-print">
-TARGET_ARCH_ABI := arm64-v8a
-</pre>
-
-<p class="note"><strong>Note: </strong> Up to Android NDK 1.6_r1, this variable is defined as
-{@code arm}.</p>
-
-<p>For more details about architecture ABIs and associated compatibility
-issues, refer to
-<a href="{@docRoot}ndk/guides/abis.html">ABI Management</a>.</p>
-
-<p>New target ABIs in the future will have different values.</p>
-
-<h4>TARGET_ABI</h4>
-<p>A concatenation of target Android API level and ABI, it is especially useful when you want to test against
-a specific target system image for a real device. For example, to specify a 64-bit ARM device
-running on Android API level 22:</p>
-
-<pre class="no-pretty-print">
-TARGET_ABI := android-22-arm64-v8a
-</pre>
-
-<p class="note"><strong>Note:</strong> Up to Android NDK 1.6_r1, the default value was
-{@code android-3-arm}.</p>
-
-<h2 id="mdv">Module-Description Variables</h2>
-<p>The variables in this section describe your module to the build system. Each module description
-should follow this basic flow:
-<ul>
-<ol type = "1">
-<li>Initialize or undefine the variables associated with the module, using the {@code CLEAR_VARS}
-  variable.</li>
-<li>Assign values to the variables used to describe the module.
-<li>Set the NDK build system to use the appropriate build script for the module, using the
-  {@code BUILD_XXX} variable.</li>
-</ol>
-</ul>
-
-<h4>LOCAL_PATH</h4>
-<p>This variable is used to give the path of the current file. You must define
-it at the start of your {@code Android.mk} file. The following example shows how to do so:</p>
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-</pre>
-
-<p>The script to which {@code CLEAR_VARS} points does not clear this variable. Therefore, you only need
-to define it a single time, even if your {@code Android.mk} file describes multiple modules.</p>
-
-<h4>LOCAL_MODULE</h4>
-<p>This variable stores the name of your module. It must be unique among all module names,
-and must not contain any spaces. You must define it before including any scripts (other than
-the one for {@code CLEAR_VARS}). You need not add either the {@code lib} prefix
-or the {@code .so} or {@code .a} file extension; the build system makes these modifications
-automatically. Throughout your {@code Android.mk} and
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> files, refer to
-your module by its unmodified name. For example, the following line results in the generation of a
-shared library module called {@code libfoo.so}:</p>
-
-<pre class="no-pretty-print">
-LOCAL_MODULE := "foo"
-</pre>
-
-<p>If you want the generated module to have a name other than {@code lib} + the value of
-{@code LOCAL_MODULE}, you can use the {@code LOCAL_MODULE_FILENAME} variable to give the
-generated module a name of your own choosing, instead.</p>
-
-<h4>LOCAL_MODULE_FILENAME</h4>
-<p>This optional variable allows you to override the names that the build system
-uses by default for files that it generates. For example, if the name of your {@code LOCAL_MODULE}
-is {@code foo}, you can force the system to call the file it generates {@code libnewfoo}. The
-following example shows how to accomplish this:</p>
-
-<pre class="no-pretty-print">
-LOCAL_MODULE := foo
-LOCAL_MODULE_FILENAME := libnewfoo
-</pre>
-
-<p>For a shared library module, this example would generate a file called {@code libnewfoo.so}.</p>
-
-<p class="note"><strong>Note:</strong> You cannot override filepath or file extension.</p>
-
-<h4>LOCAL_SRC_FILES</h4>
-<p>This variable contains the list of source files that the build system uses to generate the
-module. Only list the files that the build system actually passes to the compiler, since the build
-system automatically computes any associated depencies.</p>
-<p>Note that you can use both relative (to {@code LOCAL_PATH}) and absolute file paths.
-
-<p>We recommend avoiding absolute file paths; relative paths make your {@code Android.mk} file more
-portable.</p>
-
-<p class="note"><strong>Note: </strong> Always use Unix-style forward slashes (/) in build files.
-The build system does not handle Windows-style backslashes (\) properly.</p>
-
-<h4>LOCAL_CPP_EXTENSION</h4>
-<p>You can use this optional variable to indicate a file extension other than {@code .cpp} for your
-C++ source files. For example, the following line changes the extension to {@code .cxx}.
-(The setting must include the dot.)
-
-<pre class="no-pretty-print">
-LOCAL_CPP_EXTENSION := .cxx
-</pre>
-
-<p>From NDK r7, you can use this variable to specify multiple extensions. For instance:</p>
-
-<pre class="no-pretty-print">
-LOCAL_CPP_EXTENSION := .cxx .cpp .cc
-</pre>
-
-<h4>LOCAL_CPP_FEATURES</h4>
-
-<p>You can use this optional variable to indicate that your code relies on specific C++ features.
-It enables the right compiler and linker flags during the build process. For prebuilt binaries,
-this variable also declares which features the binary depends on, thus helping ensure the final
-linking works correctly. We recommend that you use this variable instead of enabling
-{@code -frtti} and {@code -fexceptions} directly in your {@code LOCAL_CPPFLAGS} definition.</p>
-
-<p>Using this variable allows the build system to use the appropriate flags for each module. Using
-{@code LOCAL_CPPFLAGS} causes the compiler to use all specified flags for all modules, regardless
-of actual need.</p>
-
-For example, to indicate that your code uses RTTI (RunTime Type Information), write: </p>
-
-<pre class="no-pretty-print">
-LOCAL_CPP_FEATURES := rtti
-</pre>
-
-<p>To indicate that your code uses C++ exceptions, write:</p>
-
-<pre class="no-pretty-print">
-LOCAL_CPP_FEATURES := exceptions
-</pre>
-
-<p>You can also specify multiple values for this variable. For example:</p>
-
-<pre class="no-pretty-print">
-LOCAL_CPP_FEATURES := rtti features
-</pre>
-
-The order in which you describe the values does not matter.
-
-
-<h4>LOCAL_C_INCLUDES</h4>
-<p>You can use this optional variable to specify a list of paths, relative to the
-NDK {@code root} directory, to add to the include search path when compiling all sources
-(C, C++ and Assembly). For example: </p>
-
-<pre class="no-pretty-print">
-LOCAL_C_INCLUDES := sources/foo
-</pre>
-
-<p>Or even: </p>
-
-<pre class="no-pretty-print">
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/<subdirectory>/foo
-</pre>
-
-<p>Define this variable before setting any corresponding inclusion flags via {@code LOCAL_CFLAGS}
-or {@code LOCAL_CPPFLAGS}.</p>
-
-<p>The build system also uses {@code LOCAL_C_INCLUDES} paths automatically when launching native
-debugging with ndk-gdb.</p>
-
-
-<h4>LOCAL_CFLAGS</h4>
-
-<p>This optional variable sets compiler flags for the build system to pass when building C
-<em>and</em> C++ source files. The ability to do so can be useful for specifying additional macro
-definitions or compile options.</p>
-
-<p>Try not to change the optimization/debugging level in your {@code Android.mk} file.
-The build system can handle this setting automatically for you, using the relevant information
-in the <a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file. Doing it
-this way allows the build system to generate useful data files used during debugging.</p>
-
-<p class="note"><strong>Note: </strong>In android-ndk-1.5_r1, the corresponding flags only applied
-to C source files, not C++ ones. They now match the full Android build system behavior.
-(You can now use {@code LOCAL_CPPFLAGS} to specify flags for C++ sources only.)</p>
-
-<p>It is possible to specify additional include paths by writing:
-
-<pre class="no-pretty-print">
-LOCAL_CFLAGS += -I&lt;path&gt;,
-</pre>
-
-It is better, however, to use {@code LOCAL_C_INCLUDES} for this purpose, since
-doing so also makes it possible to use the paths available for native debugging with ndk-gdb.</p>
-
-
-<h4>LOCAL_CPPFLAGS</h4>
-<p>An optional set of compiler flags that will be passed when building C++
-source files <em>only</em>. They will appear after the LOCAL_CFLAGS on the
-compiler's command-line.</p>
-
-
-<p class="note"><strong>Note: </strong>In android-ndk-1.5_r1, the corresponding flags applied to
-both C and C++ sources. This has been corrected to match the full Android build system.
-To specify flags for both C and C++ sources, use {@code LOCAL_CFLAGS}.</p>
-
-
-<h4>LOCAL_STATIC_LIBRARIES</h4>
-
-<p>This variable stores the list of static libraries modules on which the current module depends.</p>
-
-<p>If the current module is a shared library or an executable, this variable will force
-these libraries to be linked into the resulting binary.</p>
-
-<p>If the current module is a static library, this variable simply indicates that other
-modules depending on the current one will also depend on the listed
-libraries.</p>
-
-<h4>LOCAL_SHARED_LIBRARIES</h4>
-
-<p>This variable is the list of shared libraries <em>modules</em> on which this module depends at
-runtime. This information is necessary at link time, and to embed the corresponding information
-in the generated file.</p>
-
-<h4>LOCAL_WHOLE_STATIC_LIBRARIES</h4>
-<p>This variable is a variant of {@code LOCAL_STATIC_LIBRARIES}, and expresses that the linker
-should treat the associated library modules as <em>whole archives</em>. For more information
-on whole archives, see the GNU linker's
-<a href="http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html">documentation</a> for the
-{@code --whole-archive} flag.</p>
-
-<p>This variable is useful when there are circular dependencies among
-several static libraries. When you use this variable to build a shared library, it will force
-the build system to add all object files from your static libraries to the final binary. The same
-is not true, however, when generating executables.</p>
-
-
-<h4>LOCAL_LDLIBS</h4>
-
-<p>This variable contains the list of additional linker flags for use in building your shared
-library or executable. It enables you to use the {@code -l} prefix to pass the name of specific
-system libraries. For example, the following example tells the linker to generate a module that
-links to {@code /system/lib/libz.so} at load time: </p>
-
-<pre class="no-pretty-print">
-LOCAL_LDLIBS := -lz
-</pre>
-
-<p>For the list of exposed system libraries against which you can link in this NDK release, see
-<a href="stable_apis.html">Android NDK Native APIs</a>.</p>
-
-<p class="note"><strong>Note: </strong> If you define this variable for a static library,
-the build system ignores it, and {@code ndk-build} prints a warning.</p>
-
-<h4>LOCAL_LDFLAGS</h4>
-
-<p>The list of other linker flags for the build system to use when building your shared library
-or executable. For example, the following example uses the {@code ld.bfd} linker on ARM/X86 GCC
-4.6+, on which {@code ld.gold} is the default </p>
-
-<pre class="no-pretty-print">
-LOCAL_LDFLAGS += -fuse-ld=bfd
-</pre>
-
-<p class="note"><strong>Note: </strong>If you define this variable for a static library, the build
-system ignores it, and ndk-build prints a warning.</p>
-
-<h4>LOCAL_ALLOW_UNDEFINED_SYMBOLS</h4>
-
-<p>By default, when the build system encounters an undefined reference encountered while trying to
-build a shared, it will throw an <em>undefined symbol</em> error. This error can help you catch
-catch bugs in your source code.</p>
-
-<p>To disable this check, set this variable to {@code true}. Note that this setting may cause the
-shared library to load at runtime.</p>
-
-<p class="note"><strong>Note: </strong> If you define this variable for a static library,
-the build system ignores it, and ndk-build prints a warning.</p>
-
-<h4>LOCAL_ARM_MODE</h4
->
-<p>By default, the build system generates ARM target binaries in <em>thumb</em> mode, where each
-instruction is 16 bits wide and linked with the STL libraries in the {@code thumb/} directory.
-Defining this variable as {@code arm} forces the build system to generate the module's object
-files in 32-bit {@code arm} mode. The following example shows how to do this:</p>
-
-<pre class="no-pretty-print">
-LOCAL_ARM_MODE := arm
-</pre>
-
-<p>You can also instruct the build system to only build specific sources in {@code arm} mode by
-appending {@code .arm} suffix to the the source filenames. For example, the following example
-tells the build system to always compile {@code bar.c} in ARM mode, but to build
-{@code foo.c} according to the value of {@code LOCAL_ARM_MODE}.</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := foo.c bar.c.arm
-</pre>
-
-<p></p>
-
-<p class="note"><strong>Note: </strong> You can also force the build system to generate ARM binaries
-by setting {@code APP_OPTIM} in your
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file to {@code debug}.
-Specifying {@code debug} forces an ARM build because the toolchain debugger does not handle Thumb
-code properly.</p>
-
-
-<h4>LOCAL_ARM_NEON</h4>
-<p>This variable only matters when you are targeting the {@code armeabi-v7a} ABI. It allows the
-use of ARM Advanced SIMD (NEON) GCC intrinsics in your C and C++ sources, as well as NEON
-instructions in Assembly files.</p>
-
-<p>Note that not all ARMv7-based CPUs support the NEON instruction set extensions. For this reason,
-you must perform runtime detection to be able to safely use this code at runtime. For more
-information, see <a href="{@docRoot}ndk/guides/cpu-arm-neon.html">NEON Support</a> and <a
-href="{@docRoot}ndk/guides/cpu-features.html">The {@code cpufeatures} Library</a>.</p>
-
-<p>Alternatively, you can use the {@code .neon} suffix to specify that the build system only
-compile specific source files with NEON support. In the following example, the build system compiles
-{@code foo.c} with thumb and neon support, {@code bar.c} with thumb support, and
-{@code zoo.c} with support for ARM and NEON:</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES = foo.c.neon bar.c zoo.c.arm.neon
-</pre>
-
-
-<p>If you use both suffixes, {@code .arm} must precede {@code .neon}.</p>
-
-<h4>LOCAL_DISABLE_NO_EXECUTE</h4>
-
-<p>Android NDK r4 added support for the "NX bit" security feature. It is
-enabled by default, but you can disable it by setting this variable to {@code true}. We do not
-recommend doing so without a compelling reason.</p>
-
-<p>This feature does not modify the ABI, and is only enabled on kernels
-targeting ARMv6+ CPU devices. Machine code with this feature enabled
-will run unmodified on devices running earlier CPU architectures.</p>
-<p>For more information, see <a href="http://en.wikipedia.org/wiki/NX_bit">Wikipedia: NX bit</a>
-and <a href="http://www.gentoo.org/proj/en/hardened/gnu-stack.xml">The GNU stack kickstart</a>.
-
-<h4>LOCAL_DISABLE_RELRO</h4>
-
-<p>By default, the NDK compiles code with read-only relocations and GOT
-protection. This variable instructs the runtime linker to mark certain regions of memory
-as read-only after relocation, making certain security exploits (such as GOT overwrites)
-more difficult. Note that these protections are only effective on Android API level 16 and higher.
-On lower API levels, the code will still run, but without memory protections.</p>
-
-<p>This variable is turned on by default, but you can disable it by setting its value to
-{@code true}. We do not recommend doing so without a compelling reason.</p>
-
-<p>For more information, see
-<a href="http://isisblogs.poly.edu/2011/06/01/relro-relocation-read-only/">RELRO:
-RELocation Read-Only</a> and <a href="http://www.akkadia.org/drepper/nonselsec.pdf">Security
-enhancements in RedHat Enterprise Linux (section 6)</a>.</p>
-
-<h4>LOCAL_DISABLE_FORMAT_STRING_CHECKS</h4>
-
-<p>By default, the build system compiles code with format string protection. Doing so forces a
-compiler error if a non-constant format string is used in a {@code printf}-style function.</p>
-<p>This protection is on by default, but you can disable it by setting the value of
-this variable to {@code true}. We do not recommend doing so without a compelling reason.</p>
-
-
-<h4>LOCAL_EXPORT_CFLAGS</h4>
-
-<p>This variable records a set of C/C++ compiler flags to add to the {@code LOCAL_CFLAGS} definition
-of any other module that uses this one via the {@code LOCAL_STATIC_LIBRARIES} or
-{@code LOCAL_SHARED_LIBRARIES} variables.</p>
-
-<p>For example, consider the following pair of modules: {@code foo} and {@code bar}, which depends
-on {@code foo}:</p>
-
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo
-LOCAL_SRC_FILES := foo/foo.c
-LOCAL_EXPORT_CFLAGS := -DFOO=1
-include $(BUILD_STATIC_LIBRARY)
-
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := bar
-LOCAL_SRC_FILES := bar.c
-LOCAL_CFLAGS := -DBAR=2
-LOCAL_STATIC_LIBRARIES := foo
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>Here, the build system passes the flags {@code -DFOO=1} and {@code -DBAR=2} to the compiler when
-building {@code bar.c}. It also prepends exported flags to your your module's {@code LOCAL_CFLAGS}
-so you can easily override them.</p>
-
-In addition, the relationship among modules is transitive: If {@code zoo} depends on
-{@code bar}, which in turn depends on {@code foo}, then {@code zoo} also inherits all flags
-exported from {@code foo}.</p>
-
-<p>Finally, the build system does not use exported flags when building locally (i.e., building the
-module whose flags it is exporting). Thus, in the example above, it does not pass {@code -DFOO=1}
-to the compiler when building {@code foo/foo.c}. To build locally, use {@code LOCAL_CFLAGS}
-instead.</p>
-
-<h4>LOCAL_EXPORT_CPPFLAGS</h4>
-<p>This variable is the same as {@code LOCAL_EXPORT_CFLAGS}, but for C++ flags only.</p>
-
-<h4>LOCAL_EXPORT_C_INCLUDES</h4>
-<p>This variable is the same as {@code LOCAL_EXPORT_CFLAGS}, but for C include paths. It is useful
-in cases where, for example, {@code bar.c} needs to include headers from module {@code foo}.</p>
-
-<h4>LOCAL_EXPORT_LDFLAGS</h4>
-<p>This variable is the same as {@code LOCAL_EXPORT_CFLAGS}, but for linker flags.</p>
-
-<h4>LOCAL_EXPORT_LDLIBS</h4>
-<p>This variable is the same as {@code LOCAL_EXPORT_CFLAGS}, telling the build system to pass names
-of specific system libraries to the compiler. Prepend {@code -l} to the name of each library you
-specify.</p>
-
-<p>Note that the build system appends imported linker flags to the value of your module's
-{@code LOCAL_LDLIBS} variable. It does this due to the way Unix linkers work.</p>
-
-<p>This variable is typically useful when module {@code foo} is a static library
-and has code that depends on a system library. You can then use {@code LOCAL_EXPORT_LDLIBS} to
-to export the dependency. For example: </p>
-
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo
-LOCAL_SRC_FILES := foo/foo.c
-LOCAL_EXPORT_LDLIBS := -llog
-include $(BUILD_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := bar
-LOCAL_SRC_FILES := bar.c
-LOCAL_STATIC_LIBRARIES := foo
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>In this example, the build system puts {@code -llog} at the end of the linker command when it
-builds {@code libbar.so}. Doing so tells the linker that, because {@code libbar.so} depends
-on {@code foo}, it also depends on the system logging library.</p>
-
-<h4>LOCAL_SHORT_COMMANDS</h4>
-<p>Set this variable to {@code true} when your module has a very high
-number of sources and/or dependent static or shared libraries. Doing so forces the
-build system to use {@code @} syntax for archives containing intermediate object files
-or linking libraries.</p>
-
-<p>This feature can be useful on Windows, where the command line accepts a maximum of only
-of 8191 characters, which can be too small for complex projects. It also impacts the compilation of
-individual source files, placing nearly all compiler flags inside list files, too.</p>
-
-<p>Note that any value other than {@code true} will revert to the
-default behaviour. You can also define {@code APP_SHORT_COMMANDS} in your
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file to force this
-behavior for all modules in your project.</p>
-
-<p>We do not recommend enabling this feature by default, since it makes the build slower.</p>
-
-
-<h4>LOCAL_THIN_ARCHIVE</h4>
-
-<p>Set this variable to {@code true} when building static libraries.
-Doing so will generate a <strong>thin archive</strong>, a library file that does not contain
-object files, but instead just file paths to the actual objects that it would normally
-contain.</p>
-<p>This is useful to reduce the size of your build output. The drawback is that
-such libraries <em>cannot</em> be moved to a different location (all paths
-inside them are relative).</p>
-<p>Valid values are {@code true}, {@code false} or empty. A
-default value can be set in your <a href="{@docRoot}ndk/guides/application_mk.html">
-{@code Application.mk}</a> file through the {@code APP_THIN_ARCHIVE}
-
-variable.</p>
-<p class="note"><strong>Note:</strong> This is ignored for non-static library modules, or prebuilt
-static library ones.</p>
-
-<h4>LOCAL_FILTER_ASM</h4>
-<p>Define this variable as a shell command that the build system will use to filter the
-assembly files extracted or generated from the files you specified for {@code LOCAL_SRC_FILES}.</p>
-<p>Defining this variable causes the following things to occur:</p>
-
-<ul>
-<ol type = "1">
-<li>The build system generates a temporary assembly file from any C or C++ source file, instead of compiling them into an object file.</li>
-<li>The build system executes the shell command in {@code LOCAL_FILTER_ASM}
-on any temporary assembly file and on any assembly file
-listed in {@code LOCAL_SRC_FILES}, thus generating another temporary assembly
-file.</li>
-<li>The build system compiles these filtered assembly files into an object file.</li>
-</ol>
-</ul>
-<p>For example:</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES  := foo.c bar.S
-LOCAL_FILTER_ASM :=
-
-foo.c --1--&gt; $OBJS_DIR/foo.S.original --2--&gt; $OBJS_DIR/foo.S --3--&gt; $OBJS_DIR/foo.o
-bar.S                                 --2--&gt; $OBJS_DIR/bar.S --3--&gt; $OBJS_DIR/bar.o
-</pre>
-
-<p>"1" corresponds to the compiler, "2" to the filter, and "3" to the assembler. The filter must
-be a standalone shell command that takes the name of the input file as its first argument, and the
-name of the output file as the second one. For example:</p>
-
-<pre class="no-pretty-print">
-myasmfilter $OBJS_DIR/foo.S.original $OBJS_DIR/foo.S
-myasmfilter bar.S $OBJS_DIR/bar.S
-</pre>
-
-<h3 id="npfm">NDK-provided function macros</h2>
-<p>This section explains GNU Make function macros that the NDK provides. Use
-{@code $(call <function>)} to evaluate them; they return textual information.</p>
-
-<h4>my-dir</h4>
-
-<p>This macro returns the path of the last included makefile, which typically is the
-current {@code Android.mk}'s directory. {@code my-dir} is useful for defining
-{@code LOCAL_PATH} at the start of your {@code Android.mk} file. For example:</p>
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-</pre>
-
-<p>Due to the way GNU Make works, what this macro really returns is the
-path of the last makefile that the build system included when parsing the build scripts. For this
-reason, you should not call {@code my-dir} after including another file.</p>
-
-<p>For example, consider the following example: </p>
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-
-# ... declare one module
-
-include $(LOCAL_PATH)/foo/`Android.mk`
-
-LOCAL_PATH := $(call my-dir)
-
-# ... declare another module
-</pre>
-
-<p>The problem here is that the second call to {@code my-dir} defines
-{@code LOCAL_PATH} as {@code $PATH/foo} instead of {@code $PATH}, because that was where its
-most recent include pointed.</p>
-
-<p>You can avoid this problem by putting additional includes after everything
-else in the {@code Android.mk} file. For example:</p>
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-
-# ... declare one module
-
-LOCAL_PATH := $(call my-dir)
-
-# ... declare another module
-
-# extra includes at the end of the Android.mk file
-include $(LOCAL_PATH)/foo/Android.mk
-
-</pre>
-
-<p>If it is not feasible to structure the file in this way, save the value of the first
-{@code my-dir} call into another variable. For example: </p>
-
-<pre class="no-pretty-print">
-MY_LOCAL_PATH := $(call my-dir)
-
-LOCAL_PATH := $(MY_LOCAL_PATH)
-
-# ... declare one module
-
-include $(LOCAL_PATH)/foo/`Android.mk`
-
-LOCAL_PATH := $(MY_LOCAL_PATH)
-
-# ... declare another module
-</pre>
-
-<h4>all-subdir-makefiles</h4>
-
-<p>Returns the list of {@code Android.mk} files located in all subdirectories of
-the current {@code my-dir} path.
-
-<p>You can use this function to provide deep-nested source directory hierarchies to the build
-system. By default, the NDK only looks for files in the directory containing the
-{@code Android.mk} file.</p>
-
-<h4>this-makefile</h4>
-<p>Returns the path of the current makefile (from which the build system called the function).</p>
-
-<h4>parent-makefile</h4>
-<p>Returns the path of the parent makefile in the inclusion tree (the path of the makefile that
-included the current one).</p>
-
-<h4>grand-parent-makefile</h4>
-<p>Returns the path of the grandparent makefile in the inclusion tree (the path of the makefile that
-included the current one).</p>
-
-<h4>import-module</h4>
-<p>A function that allows you to find and include a module's {@code Android.mk} file by the name of
-the module. A typical example is as follows: </p>
-
-<pre class="no-pretty-print">
-$(call import-module,&lt;name&gt;)
-</pre>
-
-<p>In this example, the build system looks for the module tagged {@code <name>} in the list of
-directories referenced that your {@code NDK_MODULE_PATH} environment variable references, and
-includes its {@code Android.mk} file automatically for you.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/application_mk.jd b/docs/html/ndk/guides/application_mk.jd
deleted file mode 100644
index e669f3f..0000000
--- a/docs/html/ndk/guides/application_mk.jd
+++ /dev/null
@@ -1,219 +0,0 @@
-page.title=Application.mk
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-        <li><a href="#var">Variables</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>This document explains the {@code Application.mk} build file, which describes the
-native <em>modules</em> that your app requires. A module can be a static library, a shared library,
-or an executable.</p>
-
-<p>We recommend that you read the <a href="{@docRoot}ndk/guides/concepts.html">Concepts</a> and
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a> pages before this one. Doing so will
-help maximize your understanding of the material on this page. </p>
-
-<h2 id="over">Overview</h2>
-The {@code Application.mk} file is really a tiny GNU Makefile fragment that defines several
-variables for compilation. It usually resides under {@code $PROJECT/jni/}, where {@code $PROJECT}
-points to your application's project directory. Another alternative is to place it under a
-sub-directory of the top-level {@code $NDK/apps/} directory. For example:</p>
-
-<pre>
-$NDK/apps/&lt;myapp&gt;/Application.mk
-</pre>
-
-<p>Here, {@code <myapp>} is a short name used to describe your app to the NDK build system. It
-doesn't actually go into your generated shared libraries or your final packages.</p>
-
-<h2 id="var">Variables</h2>
-<h4>APP_PROJECT_PATH</h4>
-<p>This variable stores the absolute path to your app's project-root directory. The build system
-uses this information to place stripped-down versions of the generated JNI shared libraries
-into a specific location known to the APK-generating tools.</p>
-
-<p>If you place your {@code Application.mk} file under {@code $NDK/apps/<myapp>/}, you must
-define this variable. If you place it under {@code $PROJECT/jni/}, it is optional.
-
-<h4>APP_OPTIM</h4>
-<p>Define this optional variable as either {@code release} or {@code debug}. You use it to
-alter the optimization level when building your application's modules.</p>
-
-<p>Release mode is the default, and generates highly optimized binaries. Debug mode generates
-unoptimized binaries that are much easier to debug.</p>
-
-<p>Note that you can debug either release or debug binaries. Release binaries, however, provide less
-information during debugging. For example, the build system optimizes out some variables,
-preventing you from inspecting them. Also, code re-ordering can make it more difficult to step
-through the code; stack traces may not be reliable.</p>
-
-<p>Declaring {@code android:debuggable} in your application manifest's {@code <application>}
-tag will cause this variable to default to {@code debug} instead of {@code release}. Override this
-default value by setting {@code APP_OPTIM} to {@code release}.</p>
-
-
-<h4>APP_CFLAGS</h4>
-<p>This variable stores a set of C compiler flags that the build system passes to the compiler
-when compiling any C or C++ source code for any of the modules. You can use this variable to change
-the build of a given module according to the application that needs it, instead of having to modify
-the {@code Android.mk} file itself. </p>
-
-
-<p>All paths in these flags should be relative to the top-level NDK directory. For example, if you
-have the following setup:</p>
-
-<pre>
-sources/foo/Android.mk
-sources/bar/Android.mk
-</pre>
-
-<p>To specify in {@code foo/Android.mk} that you want to add the path to the {@code bar} sources
-during compilation, you should use:
-
-<pre>
-APP_CFLAGS += -Isources/bar
-</pre>
-
-<p>Or, alternatively:</p>
-
-<pre>
-APP_CFLAGS += -I$(LOCAL_PATH)/../bar
-</pre>
-
-<p>{@code -I../bar} will not work since it is equivalent to
-{@code -I$NDK_ROOT/../bar}.</p>
-
-<p class="note"><strong>Note: </strong>This variable only works on C, not C++, sources in
-android-ndk-1.5_r1. In all versions after that one, {@code APP_CFLAGS} matches the full Android
-build system.</p>
-
-<h4>APP_CPPFLAGS</h4>
-<p>This variable contains a set of C++ compiler flags that the build system passes to the compiler
-when building only C++ sources.</p>
-
-<p class="note"><strong>Note: </strong> In android-ndk-1.5_r1, this variable works on both C and
-C++ sources. In all subsequent versions of the NDK, {@code APP_CPPFLAGS} now matches the full
-Android build system. For flags that apply to both C and C++ sources, use {@code APP_CFLAGS}.</p>
-
-<h4>APP_LDFLAGS</h4>
-<p>A set of linker flags that the build system passes when linking the application. This variable
-is only relevant when the build system is building shared libraries and executables. When the
-build system builds static libraries, it ignores these flags.</p>
-
-<h4>APP_BUILD_SCRIPT</h4>
-<p>By default, the NDK build system looks under {@code jni/} for a file named
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>.</p>
-
-<p>If you want to override this behavior, you can define {@code APP_BUILD_SCRIPT} to point to an
-alternate build script. The build system always interprets a non-absolute path as relative to the
-NDK's top-level directory.</p>
-
-<h4>APP_ABI</h4>
-<p>By default, the NDK build system generates machine code for the
-<a href="{@docRoot}ndk/guides/abis.html">{@code armeabi}</a> ABI. This machine code
-corresponds to an ARMv5TE-based CPU with software floating point operations. You can use
-{@code APP_ABI} to select a different ABI. Table 1 shows the {@code APP_ABI}
-settings for different instruction sets.</p>
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> {@code APP_ABI} settings for different instruction sets.</p>
-<table>
-  <tr>
-    <th scope="col">Instruction set</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>Hardware FPU instructions on ARMv7 based devices</td>
-    <td>{@code APP_ABI := armeabi-v7a}</td>
-  </tr>
-  <tr>
-    <td>ARMv8 AArch64</td>
-    <td>{@code APP_ABI := arm64-v8a}</td>
-  </tr>
-    <tr>
-    <td>IA-32</td>
-    <td>{@code APP_ABI := x86}</td>
-  </tr>
-    <tr>
-    <td>Intel64</td>
-    <td>{@code APP_ABI := x86_64}</td>
-  </tr>
-    <tr>
-    <td>MIPS32</td>
-    <td>{@code APP_ABI := mips}</td>
-  </tr>
-    <tr>
-    <td>MIPS64 (r6)</td>
-    <td>{@code APP_ABI := mips64}</td>
-  </tr>
-    <tr>
-    <td>All supported instruction sets</td>
-    <td>{@code APP_ABI := all}</td>
-  </tr>
-</table>
-
-<p class="note"><strong>Note:</strong> {@code all} is available starting from NDKr7.</p>
-
-<p>You can also specify multiple values by placing them on the same line, delimited by spaces.
-For example:</p>
-
-<pre>
-APP_ABI := armeabi armeabi-v7a x86 mips
-</pre>
-
-<p>For the list of all supported ABIs and details about their usage and limitations, refer to
-<a href="{@docRoot}ndk/guides/abis.html">ABI Management</a>.</p>
-
-<h4>APP_PLATFORM</h4>
-<p>This variable contains the name of the target Android platform. For example, {@code android-3}
-specifies the Android 1.5 system images. For a complete list of platform names and corresponding
-Android system images, see <a href="{@docRoot}ndk/guides/stable_apis.html">Android NDK Native APIs
-</a>.</p>
-
-<h4>APP_STL</h4>
-<p>By default, the NDK build system provides C++ headers for the minimal C++ runtime library
-({@code system/lib/libstdc++.so}) provided by the Android system. In addition, it comes with
-alternative C++ implementations that you can use or link to in your own applications.
-Use {@code APP_STL} to select one of them. For information about the supported runtimes, and the
-features they offer, see <a href="{@docRoot}ndk/guides/cpp-support.html#runtimes">NDK Runtimes and
-Features</a>.
-
-<h4>APP_SHORT_COMMANDS</h4>
-<p>The equivalent of {@code LOCAL_SHORT_COMMANDS} in {@code Application.mk} for your whole project.
-For more information, see the documentation for this variable on
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>.</p>
-
-<h4>NDK_TOOLCHAIN_VERSION</h4>
-<p>Define this variable as either {@code 4.9} or {@code 4.8} to select a version of the GCC
-compiler. Version 4.9 is the default for 64-bit ABIs, and 4.8 is the default for 32-bit ABIs.
-To select a version of Clang, define this variable as {@code clang3.4}, {@code clang3.5}, or
-{@code clang}. Specifying {@code clang} chooses the most recent version of Clang.</p>
-
-<h4>APP_PIE</h4>
-<p>Starting from Android 4.1 (API level 16), Android's dynamic linker supports position-independent
-executables (PIE). From Android 5.0 (API level 21), executables require PIE.
-
-To use PIE to build your executables, set the {@code -fPIE} flag. This flag makes it harder to
-exploit memory corruption bugs by randomizing code location. By default, {@code ndk-build}
-automatically sets this value to {@code true} if your project targets {@code android-16} or higher.
-You may set it manually to either {@code true} or {@code false}.</p>
-
-<p>This flag applies only to executables. It has no effect when building shared or static
-libraries.</p>
-
-<p class="note"><strong>Note: </strong> PIE executables cannot run on Android releases prior to 4.1.
-<p>This restriction only applies to executables. It has no effect when building shared or static
-libraries.</p>
-
-<h4>APP_THIN_ARCHIVE</h4>
-<p>Sets the default value of {@code LOCAL_THIN_ARCHIVE} in the {@code Android.mk} file for all
-static library modules in this project. For more information, see the documentation for
-{@code LOCAL_THIN_ARCHIVE} on <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}.</a>
-</p>
diff --git a/docs/html/ndk/guides/arch.jd b/docs/html/ndk/guides/arch.jd
deleted file mode 100644
index 3dafe8f..0000000
--- a/docs/html/ndk/guides/arch.jd
+++ /dev/null
@@ -1,19 +0,0 @@
-page.title=CPUs and Architectures
-@jd:body
-
-<p>When you're working with native code, hardware matters. The NDK lets you ensure you're compiling
-for the right architectures and CPUs by giving you a variety of ABIs from which
-to choose.</p>
-
-<p>This section begins by explaining how to target specific
-<a href="{@docRoot}ndk/guides/abis.html">architectures and CPUs</a>. It then
-provides information you need to know when targeting the
-<a href="{@docRoot}ndk/guides/abis.html">ARM</a>
-family of CPUs and architectures. Next, it provides information about  the other CPUs and
-architectures that it supports: <a href="{@docRoot}ndk/guides/cpu-arm-neon.html">NEON</a>, x86
-(<a href="{@docRoot}ndk/guides/x86.html">32-bit</a> and
-<a href="{@docRoot}ndk/guides/x86-64.html">64-bit</a>), and
-<a href="{@docRoot}ndk/guides/mips.html">MIPS</a>. Finally, it explains how to use the
-<a href="{@docRoot}ndk/guides/cpu-features.html">{@code cpufeatures}</a>
-library, which your app can use to query a given CPU and architecture about the optional
-features they support.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/audio/basics.jd b/docs/html/ndk/guides/audio/basics.jd
deleted file mode 100644
index bdb85fb..0000000
--- a/docs/html/ndk/guides/audio/basics.jd
+++ /dev/null
@@ -1,169 +0,0 @@
-page.title=High-Performance Audio Basics
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#overview">Building Great Audio Apps</a></li>
-        <li><a href="#adding">Adding OpenSL ES to Your App</a></li>
-        <li><a href="#building">Building and Debugging</a></li>
-        <li><a href="#power">Audio Power Consumption</a></li>
-        <li><a href="#samples">Samples</a></li>
-      </ol>
-    </div>
-  </div>
-
-<a href="https://www.youtube.com/watch?v=d3kfEeMZ65c" class="notice-developers-video">
-<div>
-    <h3>Video</h3>
-    <p>Google I/O 2013 - High Performance Audio</p>
-</div>
-</a>
-
-<p>
-The Khronos Group's OpenSL ES™ standard exposes audio features
-similar to those in the {@link android.media.MediaPlayer} and {@link android.media.MediaRecorder}
-APIs in the Android Java framework. OpenSL ES provides a C language interface as well as
-C++ bindings, allowing you to call it from code written in either language.
-</p>
-
-<p>
-This page describes the typical use cases for these high-performance audio APIs, how to add them
-into your app's source code, and how to incorporate them into the build process.
-</p>
-
-<h2 id="overview">Building Great Audio Apps</h2>
-
-<p>
-The OpenSL ES APIs are available to help you develop and improve your app's audio performance.
- Some typical use cases include the following:</p>
-
-<ul>
-  <li>Digital Audio Workstations (DAWs).</li>
-  <li>Synthesizers.</li>
-  <li>Drum machines.</li>
-  <li>Music learning apps.</li>
-  <li>Karaoke apps.</li>
-  <li>DJ mixing.</li>
-  <li>Audio effects.</li>
-  <li>Video/audio conferencing.</li>
-</ul>
-
-<h2 id="adding">Adding OpenSL ES to your App</h2>
-
-<p>
-You can call OpenSL ES from both C and C++ code. To add the core OpenSL ES
-feature set to your app, include the {@code OpenSLES.h} header file:
-
-</p>
-<pre>
-#include &lt;SLES/OpenSLES.h&gt;
-</pre>
-
-<p>
-To add the OpenSL ES <a href="{@docRoot}ndk/guides/audio/opensl-for-android.html#ae">
-Android extensions</a> as well, include the {@code OpenSLES_Android.h} header file:
-</p>
-<pre>
-#include &lt;SLES/OpenSLES_Android.h&gt;
-</pre>
-
-<p>
-When you include the {@code OpenSLES_Android.h} header file, the following headers are included
-automatically:
-</p>
-<pre>
-#include &lt;SLES/OpenSLES_AndroidConfiguration.h&gt;
-#include &lt;SLES/OpenSLES_AndroidMetadata.h&gt;
-</pre>
-
-<p class="note"><strong>Note: </strong>
-These headers are not required, but are shown as an aid in learning the API.
-</p>
-
-<h2 id="building">Building and Debugging</h2>
-
-<p>
-You can incorporate OpenSL ES into your build by specifying it in the
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file that serves as one of the
-NDK build system's makefiles. Add the following line to
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>:
-</p>
-
-<pre>
-LOCAL_LDLIBS += -lOpenSLES
-</pre>
-
-<p>
-For robust debugging, we recommend that you examine the {@code SLresult} value that most of
-the OpenSL ES APIs return. You can use
-<a class="external-link" href="http://en.wikipedia.org/wiki/Assertion_(computing)">asserts</a>
-or more advanced error-handling logic for debugging; neither offers
-an inherent advantage for working with OpenSL ES, although one or the other might be more suitable
-for a given use case.
-</p>
-
-<p>
-We use asserts in our <a class="external-link" href="https://github.com/googlesamples/android-ndk">
-examples</a>, because they help catch unrealistic conditions that would indicate a coding error. We
-have used explicit error handling for other conditions more likely to occur in production.
-</p>
-
-<p>
-Many API errors result in a log entry, in addition to a non-zero result code. Such log entries
-can provide additional detail that proves especially useful for relatively complex APIs such as
-<a class="external-link" href="https://www.khronos.org/registry/sles/specs/OpenSL_ES_Specification_1.1.pdf">
-{@code Engine::CreateAudioPlayer}</a>.
-</p>
-
-<p>
-You can view the log either from the command line or from Android Studio. To examine the log from
-the command line, type the following:
-</p>
-
-<pre class="no-pretty-print">
-$ adb logcat
-</pre>
-
-<p>
-To examine the log from Android Studio, either click the <strong>Logcat</strong> tab in the
-<a href="{@docRoot}tools/debugging/debugging-studio.html#runDebug">Debug</a>
-window, or click the <strong>Devices | logcat</strong> tab in the
-<a href="{@docRoot}tools/debugging/debugging-studio.html#systemLogView">Android DDMS</a>
-window.
-</p>
-<h2 id="power">Audio Power Consumption</h2>
-<p>Constantly outputting audio incurs significant power consumption. Ensure that you stop the
- output in the
- <a href="{@docRoot}reference/android/app/Activity.html#onPause()">onPause()</a> method.
- Also consider pausing the silent output after some period of user inactivity.
-</p>
-<h2 id="samples">Samples</h2>
-
-<p>
-Supported and tested example code that you can use as a model for your own code resides both locally
-and on
-<a class="external-link" href="https://github.com/googlesamples/android-audio-high-performance/">
-GitHub</a>. The local examples are located in
-{@code platforms/android-9/samples/native-audio/}, under your NDK root installation directory.
-On GitHub, they are available from the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk">{@code android-ndk}</a>
-repository, in the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/audio-echo">
-{@code audio-echo}</a> and
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/native-audio">
-{@code native-audio}</a> directories.
-</p>
-<p>The Android NDK implementation of OpenSL ES differs
-from the reference specification for OpenSL ES 1.0.1 in a number of respects.
-These differences are an important reason as to why sample code that
-you copy directly from the OpenSL ES reference specification may not work in your
-Android app.
-</p>
-<p>
-For more information on differences between the reference specification and the
-Android implementation, see
-<a href="{@docRoot}ndk/guides/audio/opensl-for-android.html">
-OpenSL ES for Android</a>.
diff --git a/docs/html/ndk/guides/audio/floating-point.jd b/docs/html/ndk/guides/audio/floating-point.jd
deleted file mode 100644
index 76efce3..0000000
--- a/docs/html/ndk/guides/audio/floating-point.jd
+++ /dev/null
@@ -1,101 +0,0 @@
-page.title=Floating-Point Audio
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#best">Best Practices for Floating-Point Audio</a></li>
-        <li><a href="#support">Floating-Point Audio in Android SDK</a></li>
-        <li><a href="#more">For More Information</a></li>
-      </ol>
-    </div>
-  </div>
-
-<a href="https://www.youtube.com/watch?v=sIcieUqMml8" class="notice-developers-video">
-<div>
-    <h3>Video</h3>
-    <p>Will it Float? The Glory and Shame of Floating-Point Audio</p>
-</div>
-</a>
-
-<p>Using floating-point numbers to represent audio data can significantly enhance audio
- quality in high-performance audio applications. Floating point offers the following
- advantages:</p>
-
-<ul>
-<li>Wider dynamic range.</li>
-<li>Consistent accuracy across the dynamic range.</li>
-<li>More headroom to avoid clipping during intermediate calculations and transients.</li>
-</ul>
-
-<p>While floating-point can enhance audio quality, it does present certain disadvantages:</p>
-
-<ul>
-<li>Floating-point numbers use more memory.</li>
-<li>Floating-point operations employ unexpected properties, for example, addition is
- not associative.</li>
-<li>Floating-point calculations can sometimes lose arithmetic precision due to rounding or
- numerically unstable algorithms.</li>
-<li>Using floating-point effectively requires greater understanding to achieve accurate
- and reproducible results.</li>
-</ul>
-
-<p>
-  Formerly, floating-point was notorious for being unavailable or slow. This is
-  still true for low-end and embedded processors. But processors on modern
-  mobile devices now have hardware floating-point with performance that is
-  similar (or in some cases even faster) than integer. Modern CPUs also support
-  <a href="http://en.wikipedia.org/wiki/SIMD" class="external-link">SIMD</a>
-  (Single instruction, multiple data), which can improve performance further.
-</p>
-
-<h2 id="best">Best Practices for Floating-Point Audio</h2>
-<p>The following best practices help you avoid problems with floating-point calculations:</p>
-<ul>
-<li>Use double precision floating-point for infrequent calculations,
-such as computing filter coefficients.</li>
-<li>Pay attention to the order of operations.</li>
-<li>Declare explicit variables for intermediate values.</li>
-<li>Use parentheses liberally.</li>
-<li>If you get a NaN or infinity result, use binary search to discover
-where it was introduced.</li>
-</ul>
-
-<h2 id="support">Floating-Point Audio in Android SDK</h2>
-
-<p>For floating-point audio, the audio format encoding
- <code>AudioFormat.ENCODING_PCM_FLOAT</code> is used similarly to
- <code>ENCODING_PCM_16_BIT</code> or <code>ENCODING_PCM_8_BIT</code> for specifying
- AudioTrack data
-formats. The corresponding overloaded method <code>AudioTrack.write()</code>
- takes in a float array to deliver data.</p>
-
-<pre>
-   public int write(float[] audioData,
-        int offsetInFloats,
-        int sizeInFloats,
-        int writeMode)
-</pre>
-
-<h2 id="more">For More Information</h2>
-
-<p>The following Wikipedia pages are helpful in understanding floating-point audio:</p>
-
-<ul>
-<li><a href="http://en.wikipedia.org/wiki/Audio_bit_depth" class="external-link" >Audio bit depth</a></li>
-<li><a href="http://en.wikipedia.org/wiki/Floating_point" class="external-link" >Floating point</a></li>
-<li><a href="http://en.wikipedia.org/wiki/IEEE_floating_point" class="external-link" >IEEE 754 floating-point</a></li>
-<li><a href="http://en.wikipedia.org/wiki/Loss_of_significance" class="external-link" >Loss of significance</a>
- (catastrophic cancellation)</li>
-<li><a href="https://en.wikipedia.org/wiki/Numerical_stability" class="external-link" >Numerical stability</a></li>
-</ul>
-
-<p>The following article provides information on those aspects of floating-point that have a
- direct impact on designers of computer systems:</p>
-<ul>
-<li><a href="http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html" class="external-link" >What every
- computer scientist should know about floating-point arithmetic</a>
-by David Goldberg, Xerox PARC (edited reprint).</li>
-</ul>
diff --git a/docs/html/ndk/guides/audio/index.jd b/docs/html/ndk/guides/audio/index.jd
deleted file mode 100644
index 12d9320..0000000
--- a/docs/html/ndk/guides/audio/index.jd
+++ /dev/null
@@ -1,27 +0,0 @@
-page.title=NDK High-Performance Audio
-@jd:body
-
-<p>The NDK package includes an Android-specific implementation of the
-<a class="external-link" href="https://www.khronos.org/opensles/">OpenSL ES™</a> API
-specification from the <a class="external-link" href="https://www.khronos.org">Khronos Group</a>.
-This library allows you to use C or C++ to implement high-performance, low-latency audio, whether
-you are writing a synthesizer, digital audio workstation, karaoke, game,
- or other real-time app.</p>
-
-<p>This section begins by providing some
-<a href="{@docRoot}ndk/guides/audio/basics.html">basic information</a> about the API, including
-typical use cases and how to incorporate it into your app. It then explains what you need to know
-about the <a href="{@docRoot}ndk/guides/audio/opensl-for-android.html">Android-specific
-implementation</a> of OpenSL ES, focusing on the differences between this implementation and the
-reference specification. Next, you'll learn how to minimze
- <a href="{@docRoot}ndk/guides/audio/input-latency.html">input latency</a>
- when using built-in or external microphones
-and some actions that you can take to minimize
- <a href="{@docRoot}ndk/guides/audio/output-latency.html">output latency</a>.
- It describes the reasons that you should use
- <a href="{@docRoot}ndk/guides/audio/floating-point.html">floating-point</a>
- numbers to represent your audio data, and it provides information that will help you choose the
-optimal <a href="{@docRoot}ndk/guides/audio/sample-rates.html">sample rate</a>. This section
- concludes with some supplemental <a href="{@docRoot}ndk/guides/audio/opensl-prog-notes.html">
- programming notes</a> to ensure proper implementation of OpenSL ES.
- </p>
diff --git a/docs/html/ndk/guides/audio/input-latency.jd b/docs/html/ndk/guides/audio/input-latency.jd
deleted file mode 100644
index f1103fc..0000000
--- a/docs/html/ndk/guides/audio/input-latency.jd
+++ /dev/null
@@ -1,95 +0,0 @@
-page.title=Audio Input Latency
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#check-list">Checklist</a></li>
-        <li><a href="#ways">Ways to Reduce Audio Input Latency</a></li>
-        <li><a href="#avoid">What to Avoid</a></li>
-      </ol>
-    </div>
-  </div>
-
-
-<p>This page provides guidelines to help you reduce audio input latency when recording with a
-built-in microphone or an external headset microphone.</p>
-
-<h2 id="check-list">Checklist</h2>
-
-<p>Here are a few important prerequisites:</p>
-
-<ul>
-  <li>You must use the Android-specific implementation of the
-  <a class="external-link" href="https://www.khronos.org/opensles/">OpenSL ES™</a> API.
-
-  <li>If you haven't already done so, download and install the
-  <a href="{@docRoot}tools/sdk/ndk/index.html">Android NDK</a>.</li>
-
-  <li>Many of the same requirements for low-latency audio output also apply to low-latency input,
-  so read the requirements for low-latency output in
-  <a href="{@docRoot}ndk/guides/audio/output-latency.html">Audio Output Latency</a>.</li>
-</ul>
-
-<h2 id="ways">Ways to Reduce Audio Input Latency</h2>
-
-<p>The following are some methods to help ensure low audio input latency:
-
-<ul>
-  <li>Suggest to your users, if your app relies on low-latency audio, that they use a headset
-(for example, by displaying a <em>Best with headphones</em> screen on first run). Note
-that just using the headset doesn’t guarantee the lowest possible latency. You may need to
-perform other steps to remove any unwanted signal processing from the audio path, such as by
-using the <a href="http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html#VOICE_RECOGNITION">
-VOICE_RECOGNITION</a> preset when recording.</li>
-
-  <li>It's difficult to test audio input and output latency in isolation. The best solution to
-determine the lowest possible audio input latency is to measure round-trip audio and divide
-by two.</li>
- <li> Be prepared to handle nominal sample rates of 44,100 and 48,000 Hz as reported by
-<a href="{@docRoot}reference/android/media/AudioManager.html#getProperty(java.lang.String)">
-getProperty(String)</a> for
-<a href="{@docRoot}reference/android/media/AudioManager.html#PROPERTY_OUTPUT_SAMPLE_RATE">
-PROPERTY_OUTPUT_SAMPLE_RATE</a>. Other sample rates are possible, but rare.</li>
-
-  <li>Be prepared to handle the buffer size reported by
-<a href="{@docRoot}reference/android/media/AudioManager.html#getProperty(java.lang.String)">
-getProperty(String)</a> for
-<a href="{@docRoot}reference/android/media/AudioManager.html#PROPERTY_OUTPUT_FRAMES_PER_BUFFER">
-PROPERTY_OUTPUT_FRAMES_PER_BUFFER</a>. Typical buffer sizes include 96, 128, 160, 192, 240, 256,
-or 512 frames, but other values are possible.</li>
-</ul>
-
-<h2 id="avoid">What to Avoid</h2>
-
-<p>Be sure to take these things into account to help avoid latency issues:</p>
-
-<ul>
-  <li>Don’t assume that the speakers and microphones used in mobile devices generally have good
-acoustics. Due to their small size, the acoustics are generally poor so signal processing is
-added to improve the sound quality. This signal processing introduces latency.</li>
-
-  <li>Don't assume that your input and output callbacks are synchronized. For simultaneous input
-and output, separate buffer queue completion handlers are used for each side. There is no
-guarantee of the relative order of these callbacks or the synchronization of the audio clocks,
-even when both sides use the same sample rate. Your application should buffer the data with
-proper buffer synchronization.</li>
-
-  <li>Don't assume that the actual sample rate exactly matches the nominal sample rate. For
-example, if the nominal sample rate is 48,000 Hz, it is normal for the audio clock to advance
-at a slightly different rate than the operating system {@code CLOCK_MONOTONIC}. This is because
-the audio and system clocks may derive from different crystals.</li>
-
-  <li>Don't assume that the actual playback sample rate exactly matches the actual capture sample
-rate, especially if the endpoints are on separate paths. For example, if you are capturing from
-the on-device microphone at 48,000 Hz nominal sample rate, and playing on USB audio
-at 48,000 Hz nominal sample rate, the actual sample rates are likely to be slightly different
-from each other.</li>
-</ul>
-
-<p>A consequence of potentially independent audio clocks is the need for asynchronous sample rate
-conversion. A simple (though not ideal for audio quality) technique for asynchronous sample rate
-conversion is to duplicate or drop samples as needed near a zero-crossing point. More
-sophisticated conversions are possible.</p>
diff --git a/docs/html/ndk/guides/audio/opensl-for-android.jd b/docs/html/ndk/guides/audio/opensl-for-android.jd
deleted file mode 100644
index fa5e260..0000000
--- a/docs/html/ndk/guides/audio/opensl-for-android.jd
+++ /dev/null
@@ -1,1211 +0,0 @@
-page.title=OpenSL ES for Android
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#getstarted">Getting Started</a></li>
-        <li><a href="#inherited">Features Inherited from the Reference Specification</a></li>
-        <li><a href="#planning">Planning for Future Versions of OpenSL ES</a></li>
-        <li><a href="#ae">Android Extensions</a></li>
-        <li><a href="#notes">Programming Notes</a></li>
-        <li><a href="#platform-issues">Platform Issues</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>
-This page provides details about how the
-<a href="{@docRoot}tools/sdk/ndk/index.html">NDK</a> implementation of OpenSL
-ES™ differs from the reference specification for OpenSL ES 1.0.1. When using sample code from the
-specification, you may need to modify it to work on Android.
-</p>
-
-<p>
-Unless otherwise noted, all features are available at Android 2.3 (API level 9) and higher.
- Some features are only available for Android 4.0 (API level 14); these are noted.
-</p>
-
-<p class="note"><strong>Note: </strong>
-The Android Compatibility Definition Document (CDD) enumerates the hardware and software
-requirements of a compatible Android device. See
-<a class="external-link" href="https://source.android.com/compatibility/">Android Compatibility</a>
-for more information on the overall compatibility program, and
-<a class="external-link" href="https://static.googleusercontent.com/media/source.android.com/en//compatibility/android-cdd.pdf">
-CDD</a> for the actual CDD document.
-</p>
-
-<p>
-<a class="external-link" href="https://www.khronos.org/opensles/">OpenSL ES</a> provides a C
-language interface that is also accessible using C++. It exposes features similar to the audio
-portions of these Android Java APIs:
-</p>
-
-<ul>
-  <li><a href="{@docRoot}reference/android/media/MediaPlayer.html">
-  android.media.MediaPlayer</a></li>
-  <li><a href="{@docRoot}reference/android/media/MediaRecorder.html">
-  android.media.MediaRecorder</a></li>
-</ul>
-
-<p>
-As with all of the Android Native Development Kit (NDK), the primary purpose of OpenSL ES for
-Android is to facilitate the implementation of shared libraries to be called using the Java Native
-Interface (<a class="external-link" href="https://en.wikipedia.org/wiki/Java_Native_Interface">JNI
-</a>). NDK is not intended for writing pure C/C++ applications. However, OpenSL ES is a
-full-featured API, and we expect that you should be able to accomplish most of your audio needs
-using only this API, without up-calls to code running in the Android runtime.
-</p>
-
-<p class="note"><strong>Note: </strong>
-Though based on OpenSL ES, the Android native audio (high-performance audio) API  is not a
-conforming implementation of any OpenSL ES 1.0.1 profile (game, music, or phone). This is because
-Android does not implement all of the features required by any one of the profiles. Any known cases
-where Android behaves differently than the specification are described in the <a href="#ae">
-Android extensions</a> section below.
-</p>
-
-<h2 id="getstarted">Getting Started</h2>
-
-<p>
-This section provides the information needed to get started using the OpenSL ES APIs.
-</p>
-
-<h3>Example code</h3>
-
-<p>
-We recommend using supported and tested example code that is usable as a model for your own
-code, which is located in the NDK folder {@code platforms/android-9/samples/native-audio/}, as well
-as in the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/audio-echo">audio-echo</a>
-and
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/native-audio">native-audio</a>
-folders of the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk">android-ndk</a> GitHub
-repository.
-</p>
-
-<p class="caution"><strong>Caution: </strong>
-The OpenSL ES 1.0.1 specification contains example code in the appendices (see
-<a class="external-link" href="https://www.khronos.org/registry/sles/">Khronos OpenSL ES Registry</a>
-for more details). However, the examples in <em>Appendix B: Sample Code</em> and
-<em>Appendix C: Use Case Sample Code</em> use features that are not supported by Android. Some
-examples also contain typographical errors, or use APIs that are likely to change. Proceed with
-caution when referring to these; though the code may be helpful in understanding the full OpenSL ES
-standard, it should not be used as-is with Android.
-</p>
-
-<h3>Makefile</h3>
-
-<p>
-Modify your {@code Android.mk} file as follows:
-</p>
-<pre>
-LOCAL_LDLIBS += -lOpenSLES
-</pre>
-
-<h3>Audio content</h3>
-
-<p>
-The following are some of the many ways to package audio content for your application:
-</p>
-
-<ul>
-  <li><strong>Resources</strong>: By placing your audio files into the {@code res/raw/} folder,
-  they can be accessed easily by the associated APIs for
-  <a href="{@docRoot}reference/android/content/res/Resources.html">Resources</a>.
-  However, there is no direct native access to resources, so you must write Java
-  programming language code to copy them out before use.</li>
-  <li><strong>Assets</strong>: By placing your audio files into the {@code assets/} folder, they
-  are directly accessible by the Android native asset manager APIs. See the header files {@code
-  android/asset_manager.h} and {@code android/asset_manager_jni.h} for more information on these
-  APIs. The example code located in the NDK folder {@code platforms/android-9/samples/native-audio/}
-  uses these native asset manager APIs in conjunction with the Android file descriptor data
-  locator.</li>
-  <li><strong>Network</strong>: You can use the URI data locator to play audio content directly
-  from the network. However, be sure to read the <a href="#sandp">Security and permissions</a>
-  section below.</li>
-  <li><strong>Local file system</strong>: The URI data locator supports the {@code file:} scheme
-  for local files, provided the files are accessible by the application. Note that the Android
-  security framework restricts file access via the Linux user ID and group ID mechanisms.</li>
-  <li><strong>Recorded</strong>: Your application can record audio data from the microphone input,
-  store this content, and then play it back later. The example code uses this method for the <em>
-  Playback</em> clip.</li>
-  <li><strong>Compiled and linked inline</strong>: You can link your audio content directly into
-  the shared library, and then play it using an audio player with buffer queue data locator. This
-  is most suitable for short PCM format clips. The example code uses this technique for the <em>
-  Hello</em> and <em>Android</em> clips. The PCM data was converted to hex strings using a
-  {@code bin2c} tool (not supplied).</li>
-  <li><strong>Real-time synthesis</strong>: Your application can synthesize PCM data on the fly and
-  then play it using an audio player with buffer queue data locator. This is a relatively advanced
-  technique, and the details of audio synthesis are beyond the scope of this article.</li>
-</ul>
-
-<p class="note"><strong>Note: </strong>
-Finding or creating useful audio content for your application is beyond the scope of this article.
-You can use web search terms such as <em>interactive audio</em>, <em>game audio</em>, <em>sound
-design</em>, and <em>audio programming</em> to locate more information. 
-</p>
-<p class="caution"><strong>Caution:</strong> It is your responsibility
-to ensure that you are legally permitted to play or record content. There may be privacy
-considerations for recording content.
-</p>
-
-<h2 id="inherited">Features Inherited from the Reference Specification</h2>
-
-<p>
-The Android NDK implementation of OpenSL ES inherits much of the feature set from
-the reference specification, with certain limitations.
-</p>
-
-<h3>Global entry points</h3>
-
-<p>
-OpenSL ES for Android supports all of the global entry points in the Android specification.
-These entry points include:
-</p>
-
-<ul>
-<li>{@code slCreateEngine}
-</li>
-<li>{@code slQueryNumSupportedEngineInterfaces}</code>
-</li>
-<li>{@code slQuerySupportedEngineInterfaces}</code>
-</li>
-</ul>
-
-<h3>Objects and interfaces</h3>
-
-<p>
-Table 1 shows the objects and interfaces that the Android NDK implementation of
-OpenSL ES supports. If a <em>Yes</em> appears in the cell, then the feature is available in this
-implementation.
-</p>
-
-<p class="table-caption" id="Objects-and-interfaces">
-  <strong>Table 1.</strong> Android NDK support for objects and interfaces.</p>
-<table>
-  <tr>
-    <th scope="col">Feature</th>
-    <th scope="col">Audio player</th>
-    <th scope="col">Audio recorder</th>
-    <th scope="col">Engine</th>
-    <th scope="col">Output mix</th>
-  </tr>
-  <tr>
-    <td>Bass boost</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Buffer queue</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Dynamic interface management</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Effect send</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Engine</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Environmental reverb</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Equalizer</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Metadata extraction</td>
-    <td>Yes: Decode to PCM</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Mute solo</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Object</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Play</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Playback rate</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Prefetch status</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Preset reverb</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Record</td>
-    <td>No</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Seek</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Virtualizer</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Volume</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Buffer queue data locator</td>
-    <td>Yes: Source</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>I/O device data locator</td>
-    <td>No</td>
-    <td>Yes: Source</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Output mix locator</td>
-    <td>Yes: Sink</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>URI data locator</td>
-    <td>Yes: Source</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  </table>
-
-<p>
-The next section explains the limitations for some of these features.
-</p>
-
-<h3>Limitations</h3>
-
-<p>
-Certain limitations apply to the features in Table 1. These limitations
-represent differences from the reference specification. The rest of this section provides
-information about these differences.</p>
-
-<h4>Dynamic interface management</h4>
-
-<p>
-OpenSL ES for Android does not support {@code RemoveInterface} or
-{@code ResumeInterface}.
-</p>
-
-<h4>Effect combinations: environment reverb and preset reverb</h4>
-
-<p>
-You cannot have both environmental reverb and preset reverb on the same output mix.
-</p>
-<p>
-The platform might ignore effect requests if it estimates that the
-CPU load would be too high.
-</p>
-
-<h4>Effect send</h4>
-
-<p>
-<code>SetSendLevel()</code> supports a single send level per audio player.
-</p>
-
-<h4>Environmental reverb</h4>
-
-<p>
-Environmental reverb does not support the <code>reflectionsDelay</code>,
-<code>reflectionsLevel</code>, or <code>reverbDelay</code> fields of
-the <code>SLEnvironmentalReverbSettings</code> struct.
-</p>
-
-<h4>MIME data format</h4>
-
-<p>
-You can use the MIME data format only with the URI data locator, and only for an audio
-player. You cannot use this data format for an audio recorder.
-</p>
-<p>
-The Android implementation of OpenSL ES requires you to initialize <code>mimeType</code>
-to either <code>NULL</code> or a valid UTF-8 string. You must also initialize
-<code>containerType</code> to a valid value.
-In the absence of other considerations, such as portability to other
-implementations or content format that an app cannot identify by header,
-we recommend that you
-set <code>mimeType</code> to <code>NULL</code> and <code>containerType</code>
-to <code>SL_CONTAINERTYPE_UNSPECIFIED</code>.
-</p>
-<p>
-OpenSL ES for Android supports the following audio formats, so long as the
-Android platform supports them as well:</p>
-
-<ul>
-<li><a class="external-link" href="https://en.wikipedia.org/wiki/WAV">WAV</a> PCM.</li>
-<li>WAV alaw.</li>
-<li>WAV ulaw.</li>
-<li>MP3 Ogg Vorbis.</li>
-<li>AAC LC.</li>
-<li>HE-AACv1 (AAC+).</li>
-<li>HE-AACv2 (enhanced AAC+).</li>
-<li>AMR.</li>
-<li>FLAC.</li>
-</ul>
-
-<p class="note"><strong>Note: </strong>
-For a list of audio formats that Android supports, see
-<a href="{@docRoot}guide/appendix/media-formats.html">Supported Media Formats</a>.
-</p>
-
-<p>
-The following limitations apply to the handling of these and other formats in this
-implementation of OpenSL ES:
-</p>
-
-<ul>
-<li><a class="external-link" href="https://en.wikipedia.org/wiki/Advanced_Audio_Coding">AAC</a>
-formats must reside within an MP4 or ADTS container.</li>
-<li>OpenSL ES for Android does not support
-<a class="external-link" href="https://source.android.com/devices/audio/midi.html">MIDI</a>.</li>
-<li>WMA is not part of <a class="external-link" href="https://source.android.com/">AOSP</a>, and we
-have not verified its compatibility with OpenSL ES for Android.</li>
-<li>The Android NDK implementation of OpenSL ES does not support direct
-playback of DRM or encrypted content. To play back protected audio content, you must
-decrypt it in your application before playing, with your app enforcing any DRM
-restrictions.</li>
-</ul>
-
-<h4>Object-related methods</h4>
-
-<p>
-OpenSL ES for Android does not support the following methods for manipulating objects:
-</p>
-
-<ul>
-<li>{@code Resume()}</li>
-<li>{@code RegisterCallback()}</li>
-<li>{@code AbortAsyncOperation()}</li>
-<li>{@code SetPriority()}</li>
-<li>{@code GetPriority()}</li>
-<li>{@code SetLossOfControlInterfaces()}</li>
-</ul>
-
-<h4>PCM data format</h4>
-
-<p>
-PCM is the only data format you can use with buffer queues. Supported PCM
-playback configurations have the following characteristics:
-</p>
-
-<ul>
-<li>8-bit unsigned or 16-bit signed.</li>
-<li>Mono or stereo.</li>
-<li>Little-endian byte ordering.</li>
-<li>Sample rates of:
-  <ul>
-    <li>8,000 Hz.</li>
-    <li>11,025 Hz.</li>
-    <li>12,000 Hz.</li>
-    <li>16,000 Hz.</li>
-    <li>22,050 Hz.</li>
-    <li>24,000 Hz.</li>
-    <li>32,000 Hz.</li>
-    <li>44,100 Hz.</li>
-    <li>48,000 Hz.</li>
-  </ul></li>
-</ul>
-
-<p>
-The configurations that OpenSL ES for Android supports for recording are
-device-dependent; usually, 16,000 Hz mono/16-bit signed is available regardless of the device.
-</p>
-<p>
-The value of the <code>samplesPerSec</code> field is in units of milliHz, despite the misleading
-name. To avoid accidentally using the wrong value, we recommend that you initialize this field using
-one of the symbolic constants defined for this purpose, such as {@code SL_SAMPLINGRATE_44_1}.
-</p>
-<p>
-Android 5.0 (API level 21) and above support <a href="#fp">floating-point data</a>.
-</p>
-
-<h4>Playback rate</h4>
-
-<p>
-An OpenSL ES <i>playback rate</i> indicates the speed at which an
-object presents data, expressed in thousandths of normal speed, or <i>per mille</i>. For example,
-a playback rate of 1,000 per mille is 1,000/1,000, or normal speed.
-A <i>rate range</i> is a closed interval that expresses possible rate ranges.
-</p>
-
-<p>
-Support for playback-rate ranges and other capabilities may vary depending
-on the platform version and implementation. Your app can determine these capabilities at runtime by
-using <code>PlaybackRate::GetRateRange()</code> or
-<code>PlaybackRate::GetCapabilitiesOfRate()</code> to query the device.
-</p>
-
-<p>
-A device typically supports the same rate range for a data source in PCM format, and a unity rate
-range of 1000 per mille to 1000 per mille for other formats: that is, the unity rate range is
-effectively a single value.
-</p>
-
-<h4>Record</h4>
-
-<p>
-OpenSL ES for Android does not support the <code>SL_RECORDEVENT_HEADATLIMIT</code>
-or <code>SL_RECORDEVENT_HEADMOVING</code> events.
-</p>
-
-<h4>Seek</h4>
-
-<p>
-The <code>SetLoop()</code> method enables whole-file looping. To enable looping,
-set the <code>startPos</code> parameter to 0, and the value of the <code>endPos</code> parameter
-to <code>SL_TIME_UNKNOWN</code>.
-</p>
-
-<h4>Buffer queue data locator</h4>
-
-<p>
-An audio player or recorder with a data locator for a buffer queue supports PCM data format only.
-</p>
-
-<h4>I/O device data locator</h4>
-
-<p>
-OpenSL ES for Android only supports use of an I/O device data locator when you have
-specified the locator as the data source for <code>Engine::CreateAudioRecorder()</code>.
-Initialize the device data locator using the values contained in the following code snippet.
-</p>
-
-<pre>
-SLDataLocator_IODevice loc_dev =
-  {SL_DATALOCATOR_IODEVICE, SL_IODEVICE_AUDIOINPUT,
-  SL_DEFAULTDEVICEID_AUDIOINPUT, NULL};
-</pre>
-
-<h4>URI data locator</h4>
-
-<p>
-OpenSL ES for Android can only use the URI data locator with MIME data format,
-and only for an audio player. You cannot use this data format for an audio recorder. It supports
-{@code http:} and {@code file:} schemes. It does not support other schemes, such as {@code https:},
-{@code ftp:}, or
-{@code content:}.
-</p>
-
-<p>
-We have not verified support for {@code rtsp:} with audio on the Android platform.
-</p>
-
-<h4>Data structures</h4>
-
-<p>
-Android supports these OpenSL ES 1.0.1 data structures:
-</p>
-<ul>
-  <li>{@code SLDataFormat_MIME}</li>
-  <li>{@code SLDataFormat_PCM}</li>
-  <li>{@code SLDataLocator_BufferQueue}</li>
-  <li>{@code SLDataLocator_IODevice}</li>
-  <li>{@code SLDataLocator_OutputMix}</li>
-  <li>{@code SLDataLocator_URI}</li>
-  <li>{@code SLDataSink}</li>
-  <li>{@code SLDataSource}</li>
-  <li>{@code SLEngineOption}</li>
-  <li>{@code SLEnvironmentalReverbSettings}</li>
-  <li>{@code SLInterfaceID}</li>
-</ul>
-
-<h4>Platform configuration</h4>
-
-<p>
-OpenSL ES for Android is designed for multi-threaded applications and is thread-safe. It supports a
-single engine per application, and up to 32 objects per engine. Available device memory and CPU may
-further restrict the usable number of objects.
-</p>
-
-<p>
-These engine options are recognized, but ignored by {@code slCreateEngine}:
-</p>
-
-<ul>
-  <li>{@code SL_ENGINEOPTION_THREADSAFE}</li>
-  <li>{@code SL_ENGINEOPTION_LOSSOFCONTROL}</li>
-</ul>
-
-<p>
-OpenMAX AL and OpenSL ES may be used together in the same application. In this case, there is
-a single shared engine object internally, and the 32 object limit is shared between OpenMAX AL
-and OpenSL ES. The application should first create both engines, use both engines, and finally
-destroy both engines. The implementation maintains a reference count on the shared engine so that
-it is correctly destroyed during the second destroy operation.
-</p>
-
-<h2 id="planning">Planning for Future Versions of OpenSL ES</h2>
-
-<p>
-The Android high-performance audio APIs are based on
-<a class="external-link" href="https://www.khronos.org/registry/sles/">Khronos Group OpenSL ES
-1.0.1</a>. Khronos has released a revised version 1.1 of the standard. The
-revised version includes new features, clarifications, corrections of typographical errors, and
-some incompatibilities. Most of the expected incompatibilities are relatively minor or are in
-areas of OpenSL ES that are not supported by Android.
-</p>
-
-<p>
-An application
-developed with this version should work on future versions of the Android platform, provided
-that you follow the guidelines that are outlined in the <a href="#binary-compat">Planning for
-binary compatibility</a> section below.
-</p>
-
-<p class="note"><strong>Note: </strong>
-Future source compatibility is not a goal. That is, if you upgrade to a newer version of the NDK,
-you may need to modify your application source code to conform to the new API. We expect that most
-such changes will be minor; see details below.
-</p>
-
-<h3 id="binary-compat">Planning for binary compatibility</h3>
-
-<p>
-We recommend that your application follow these guidelines to improve future binary compatibility:
-</p>
-
-<ul>
-  <li>Use only the documented subset of Android-supported features from OpenSL ES 1.0.1.</li>
-  <li>Do not depend on a particular result code for an unsuccessful operation; be prepared to deal
-  with a different result code.</li>
-  <li>Application callback handlers generally run in a restricted context. They should be written
-  to perform their work quickly, and then return as soon as possible. Do not run complex operations
-  within a callback handler. For example, within a buffer queue completion callback, you can
-  enqueue another buffer, but do not create an audio player.</li>
-  <li>Callback handlers should be prepared to be called more or less frequently, to receive
-  additional event types, and should ignore event types that they do not recognize. Callbacks that
-  are configured with an event mask made of enabled event types should be prepared to be called
-  with multiple event type bits set simultaneously. Use "&" to test for each event bit rather than
-  a switch case.</li>
-  <li>Use prefetch status and callbacks as a general indication of progress, but do not depend on
-  specific hard-coded fill levels or callback sequences. The meaning of the prefetch status fill
-  level, and the behavior for errors that are detected during prefetch, may change.</li>
-</ul>
-
-<p class="note"><strong>Note: </strong>
-See the <a href="#bq-behavior">Buffer queue behavior</a> section below for more details.
-</p>
-
-<h3>Planning for source compatibility</h3>
-
-<p>
-As mentioned, source code incompatibilities are expected in the next version of OpenSL ES from
-Khronos Group. The likely areas of change include:
-</p>
-
-<ul>
-  <li>The buffer queue interface is expected to have significant changes, especially in the areas
-  of {@code BufferQueue::Enqueue}, the parameter list for {@code slBufferQueueCallback}, and the
-  name of field {@code SLBufferQueueState.playIndex}. We recommend that your application code use
-  Android simple buffer queues instead. In the example
-  code that is supplied with the NDK, we have used Android simple buffer queues for playback for
-  this reason. (We also use Android simple buffer queue for recording and decoding to PCM, but that
-  is because standard OpenSL ES 1.0.1 does not support record or decode to a buffer queue data
-  sink.)</li>
-  <li>There will be an addition of {@code const} to the input parameters passed by reference, and
-  to {@code SLchar *} struct fields used as input values. This should not require any changes to
-  your code.</li>
-  <li>There will be a substitution of unsigned types for some parameters that are currently signed.
-  You may need to change a parameter type from {@code SLint32} to {@code SLuint32} or similar, or
-  add a cast.</li>
-  <li>{@code Equalizer::GetPresetName} copies the string to application memory instead of returning
-  a pointer to implementation memory. This will be a significant change, so we recommend that you
-  either avoid calling this method, or isolate your use of it.</li>
-  <li>There will be additional fields in the struct types. For output parameters, these new fields
-  can be ignored, but for input parameters the new fields will need to be initialized. Fortunately,
-  all of these are expected to be in areas that are not supported by Android.</li>
-  <li>Interface <a class="external-link" href="http://en.wikipedia.org/wiki/Globally_unique_identifier">
-  GUIDs</a> will change. Refer to interfaces by symbolic name rather than GUID to avoid a
-  dependency.</li>
-  <li>{@code SLchar} will change from {@code unsigned char} to {@code char}. This primarily affects
-  the URI data locator and MIME data format.</li>
-  <li>{@code SLDataFormat_MIME.mimeType} will be renamed to {@code pMimeType}, and
-  {@code SLDataLocator_URI.URI} will be renamed to {@code pURI}. We recommend that you initialize
-  the {@code SLDataFormat_MIME} and {@code SLDataLocator_URI} data structures using a
-  brace-enclosed, comma-separated list of values, rather than by field name, to isolate your code
-  from this change. This technique is used in the example code.</li>
-  <li>{@code SL_DATAFORMAT_PCM} does not permit the application to specify the representation of
-  the data as signed integer, unsigned integer, or floating-point. The Android implementation
-  assumes that 8-bit data is unsigned integer and 16-bit is signed integer. In addition, the field
-  {@code samplesPerSec} is a misnomer, as the actual units are milliHz. These issues are expected
-  to be addressed in the next OpenSL ES version, which will introduce a new extended PCM data
-  format that permits the application to explicitly specify the representation and corrects the
-  field name. As this will be a new data format, and the current PCM data format will still be
-  available (though deprecated), it should not require any immediate changes to your code.</li>
-</ul>
-
-<h2 id="ae">Android Extensions</h2>
-
-<p>
-OpenSL ES for Android extends the reference OpenSL ES specification to make it compatible with
-Android, and to take advantage of the power and flexibility of the Android platform.
-</p>
-
-<p>
-The definition of the API for the Android extensions resides in <code>OpenSLES_Android.h</code>
-and the header files that it includes. Consult {@code OpenSLES_Android.h}
-for details about these extensions. This file is located under your installation root, in the
-{@code platforms/android-&lt;version&gt;/&lt;abi&gt;/include/SLES} directory. Unless otherwise
-noted, all interfaces are explicit.
-</p>
-
-<p>
-These extensions limit your application's portability to
-other OpenSL ES implementations, because they are Android-specific. You can mitigate this issue by
-avoiding use of the extensions or by using {@code #ifdef} to exclude them at compile time.
-</p>
-
-<p>
-Table 2 shows the Android-specific interfaces and data locators that Android OpenSL ES supports
-for each object type. The <em>Yes</em> values in the cells indicate the interfaces and data
-locators that are available for each object type.
-</p>
-
-<p class="table-caption" id="Android-extensions">
-  <strong>Table 2.</strong> Interfaces and data locators, by object type.</p>
-<table>
-  <tr>
-    <th scope="col">Feature</th>
-    <th scope="col">Audio player</th>
-    <th scope="col">Audio recorder</th>
-    <th scope="col">Engine</th>
-    <th scope="col">Output mix</th>
-  </tr>
-  <tr>
-    <td>Android buffer queue</td>
-    <td>Yes: Source (decode)</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android configuration</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android effect</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Android effect capabilities</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android effect send</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android simple buffer queue</td>
-    <td>Yes: Source (playback) or sink (decode)</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android buffer queue data locator</td>
-    <td>Yes: Source (decode)</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android file descriptor data locator</td>
-    <td>Yes: Source</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android simple buffer queue data locator</td>
-    <td>Yes: Source (playback) or sink (decode)</td>
-    <td>Yes: Sink</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-</table>
-
-<h3 id="configuration-interface">Android configuration interface</h3>
-
-<p>
-The Android configuration interface provides a means to set
-platform-specific parameters for objects. This interface is different from other OpenSL ES
-1.0.1 interfaces in that your app can use it before instantiating the corresponding object; thus,
-you can configure the object before instantiating it. The
-{@code OpenSLES_AndroidConfiguration.h} header file</code>, which resides at
-{@code platforms/android-&lt;version&gt;/&lt;abi&gt;/include/SLES},
-documents the following available configuration keys and values:
-</p>
-
-<ul>
-<li>Stream type for audio players (default <code>SL_ANDROID_STREAM_MEDIA</code>).</li>
-<li>Record profile for audio recorders (default <code>SL_ANDROID_RECORDING_PRESET_GENERIC</code>).
-</li>
-</ul>
-
-<p>
-The following code snippet shows an example of how to set the Android audio stream type on an audio
-player:
-</p>
-
-<pre>
-// CreateAudioPlayer and specify SL_IID_ANDROIDCONFIGURATION
-// in the required interface ID array. Do not realize player yet.
-// ...
-SLAndroidConfigurationItf playerConfig;
-result = (*playerObject)-&gt;GetInterface(playerObject,
-    SL_IID_ANDROIDCONFIGURATION, &amp;playerConfig);
-assert(SL_RESULT_SUCCESS == result);
-SLint32 streamType = SL_ANDROID_STREAM_ALARM;
-result = (*playerConfig)-&gt;SetConfiguration(playerConfig,
-    SL_ANDROID_KEY_STREAM_TYPE, &amp;streamType, sizeof(SLint32));
-assert(SL_RESULT_SUCCESS == result);
-// ...
-// Now realize the player here.
-</pre>
-
-<p>
-You can use similar code to configure the preset for an audio recorder:
-</p>
-<pre>
-// ... obtain the configuration interface as the first four lines above, then:
-SLuint32 presetValue = SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION;
-result = (*playerConfig)-&gt;SetConfiguration(playerConfig,
-    RECORDING_PRESET, &amp;presetValue, sizeof(SLuint32));
-</pre>
-
-<h3>Android effects interfaces</h3>
-
-<p>
-Android's effect, effect send, and effect capabilities interfaces provide
-a generic mechanism for an application to query and use device-specific
-audio effects. Device manufacturers should document any available device-specific audio effects
-that they provide.
-</p>
-
-<p>
-Portable applications should use the OpenSL ES 1.0.1 APIs for audio effects instead of the Android
-effect extensions.
-</p>
-
-<h3>Android file descriptor data locator</h3>
-
-<p>
-The Android file descriptor data locator permits you to specify the source for an
-audio player as an open file descriptor with read access. The data format must be MIME.
-</p>
-<p>
-This extension is especially useful in conjunction with the native asset manager, because
-the app reads assets from the APK via a file descriptor.
-</p>
-
-<h3 id="simple">Android simple buffer queue data locator and interface</h3>
-
-<p>
-The Android simple buffer queue data locator and interface are
-identical to those in the OpenSL ES 1.0.1 reference specification, with two exceptions: You
-can also use Android simple buffer queues with both audio players and audio recorders. Also, PCM
-is the only data format you can use with these queues.
-In the reference specification, buffer queues are for audio players only, but they are
-compatible with data formats beyond PCM.
-</p>
-<p>
-For recording, your app should enqueue empty buffers. When a registered callback sends
-notification that the system has finished writing data to the buffer, the app can
-read the buffer.
-</p>
-<p>
-Playback works in the same way. For future source code
-compatibility, however, we suggest that applications use Android simple
-buffer queues instead of OpenSL ES 1.0.1 buffer queues.
-</p>
-
-<h3 id="dynamic-interfaces">Dynamic interfaces at object creation</h3>
-
-<p>
-For convenience, the Android implementation of OpenSL ES 1.0.1
-permits your app to specify dynamic interfaces when it instantiates an object.
-This is an alternative to using <code>DynamicInterfaceManagement::AddInterface()</code>
-to add these interfaces after instantiation.
-</p>
-
-<h3 id="bq-behavior">Buffer queue behavior</h3>
-
-<p>
-The Android implementation does not include the
-reference specification's requirement that the play cursor return to the beginning
-of the currently playing buffer when playback enters the {@code SL_PLAYSTATE_STOPPED}
-state. This implementation can conform to that behavior, or it can leave the location of the play
-cursor unchanged.
-</p>
-
-<p>
-As a result, your app cannot assume that either behavior occurs. Therefore,
-you should explicitly call the <code>BufferQueue::Clear()</code> method after a transition to
-<code>SL_PLAYSTATE_STOPPED</code>. Doing so sets the buffer queue to a known state.
-</p>
-
-<p>
-Similarly, there is no specification governing whether the trigger for a buffer queue callback must
-be a transition to <code>SL_PLAYSTATE_STOPPED</code> or execution of
-<code>BufferQueue::Clear()</code>. Therefore, we recommend that you do not create a dependency on
-one or the other; instead, your app should be able to handle both.
-</p>
-
-<h3>Reporting of extensions</h3>
-<p>
-There are three methods for querying whether the platform supports the Android extensions. These
-methods are:
-</p>
-
-<ul>
-<li><code>Engine::QueryNumSupportedExtensions()</code></li>
-<li><code>Engine::QuerySupportedExtension()</code></li>
-<li><code>Engine::IsExtensionSupported()</code></li>
-</ul>
-
-<p>
-Any of these methods returns <code>ANDROID_SDK_LEVEL_&lt;API-level&gt;</code>,
-where {@code API-level} is the platform API level; for example, {@code ANDROID_SDK_LEVEL_23}.
-A platform API level of 9 or higher means that the platform supports the extensions.
-</p>
-
-
-<h3 id="da">Decode audio to PCM</h3>
-
-<p>
-This section describes a deprecated Android-specific extension to OpenSL ES 1.0.1
-for decoding an encoded stream to PCM without immediate playback.
-The table below gives recommendations for use of this extension and alternatives.
-</p>
-
-<table>
-<tr>
-  <th>API level</th>
-  <th>Alternatives</th>
-</tr>
-<tr>
-  <td>13 and below</td>
-  <td>An open-source codec with a suitable license</td>
-</tr>
-<tr>
-  <td>14 to 15</td>
-  <td>An open-source codec with a suitable license</td>
-</tr>
-<tr>
-  <td>16 to 20</td>
-  <td>
-    The {@link android.media.MediaCodec} class or an open-source codec with a suitable license
-  </td>
-</tr>
-<tr>
-  <td>21 and above</td>
-  <td>
-    NDK MediaCodec in the {@code &lt;media/NdkMedia*.h&gt;} header files, the
-    {@link android.media.MediaCodec} class, or an open-source codec with a suitable license
-  </td>
-</tr>
-</table>
-
-<p class="note"><strong>Note: </strong>
-There is currently no documentation for the NDK version of the {@code MediaCodec} API. However,
-you can refer to the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/native-codec">
-native-codec</a> sample code for an example.
-</p>
-
-<p>
-A standard audio player plays back to an audio device, specifying the output mix as the data sink.
-The Android extension differs in that an audio player instead
-acts as a decoder if the app has specified the data source either as a URI or as an Android
-file descriptor data locator described in MIME data format. In such a case, the data sink is
-an Android simple buffer queue data locator with PCM data format.
-</p>
-
-<p>
-This feature is primarily intended for games to pre-load their audio assets when changing to a
-new game level, which is similar to the functionality that the {@link android.media.SoundPool}
-class provides.
-</p>
-
-<p>
-The application should initially enqueue a set of empty buffers in the Android simple
-buffer queue. After that, the app fills the buffers with PCM data. The Android simple
-buffer queue callback fires after each buffer is filled. The callback handler processes
-the PCM data, re-enqueues the now-empty buffer, and then returns. The application is responsible for
-keeping track of decoded buffers; the callback parameter list does not include
-sufficient information to indicate the buffer that contains data or the buffer that should be
-enqueued next.
-</p>
-
-<p>
-The data source implicitly reports the end of stream (EOS) by delivering a
-<code>SL_PLAYEVENT_HEADATEND</code> event at the end of the stream. After the app has decoded
-all of the data it received, it makes no further calls to the Android simple buffer queue callback.
-</p>
-<p>
-The sink's PCM data format typically matches that of the encoded data source
-with respect to sample rate, channel count, and bit depth. However, you can decode to a different
-sample rate, channel count, or bit depth.
-For information about a provision to detect the actual PCM format, see <a href="#meta">
-Determining the format of decoded PCM data via metadata</a>.
-</p>
-<p>
-OpenSL ES for Android's PCM decoding feature supports pause and initial seek; it does not support
-volume control, effects, looping, or playback rate.
-</p>
-<p>
-Depending on the platform implementation, decoding may require resources
-that cannot be left idle.  Therefore, we recommend that you make sure to provide
-sufficient numbers of empty PCM buffers; otherwise, the decoder starves. This may happen,
-for example, if your app returns from the Android simple buffer queue callback without
-enqueueing another empty buffer.  The result of decoder starvation is
-unspecified, but may include: dropping the decoded
-PCM data, pausing the decoding process, or terminating the decoder outright.
-</p>
-
-<p class="note"><strong>Note: </strong>
-To decode an encoded stream to PCM but not play back immediately, for apps running on
-Android 4.x (API levels 16&ndash;20), we recommend using the {@link android.media.MediaCodec} class.
-For new applications running on Android 5.0 (API level 21) or higher, we recommend using the NDK
-equivalent, {@code &lt;NdkMedia*.h&gt;}. These header files reside in
-the {@code media/} directory under your installation root.
-</p>
-
-<h3>Decode streaming ADTS AAC to PCM</h3>
-
-<p>
-An audio player acts as a streaming decoder if the data source is an
-Android buffer queue data locator with MIME data format, and the data
-sink is an Android simple buffer queue data locator with PCM data format.
-Configure the MIME data format as follows:
-</p>
-
-<ul>
-<li>Container: {@code SL_CONTAINERTYPE_RAW}</li>
-<li>MIME type string: {@code SL_ANDROID_MIME_AACADTS}</li>
-</ul>
-
-<p>
-This feature is primarily intended for streaming media applications that
-deal with AAC audio but need to perform custom audio processing
-prior to playback.  Most applications that need to decode audio to PCM
-should use the method that <a href="#da">Decode audio to PCM</a> describes,
-as that method is simpler and handles more audio formats.  The technique described
-here is a more specialized approach, to be used only if both of these
-conditions apply:
-</p>
-
-<ul>
-<li>The compressed audio source is a stream of AAC frames contained in ADTS headers.
-</li>
-<li>The application manages this stream. The data is <em>not</em> located within
-a network resource whose identifier is a URI or within a local file whose identifier is
-a file descriptor.
-</li>
-</ul>
-
-<p>
-The application should initially enqueue a set of filled buffers in the Android buffer queue.
-Each buffer contains one or more complete ADTS AAC frames.
-The Android buffer queue callback fires after each buffer is emptied.
-The callback handler should refill and re-enqueue the buffer, and then return.
-The application need not keep track of encoded buffers; the callback parameter
-list includes sufficient information to indicate the buffer that should be enqueued next.
-The end of stream is explicitly marked by enqueuing an EOS item.
-After EOS, no more enqueues are permitted.
-</p>
-
-<p>
-We recommend that you make sure to provide full
-ADTS AAC buffers, to avoid starving the decoder. This may happen, for example, if your app
-returns from the Android buffer queue callback without enqueueing another full buffer.
-The result of decoder starvation is unspecified.
-</p>
-
-<p>
-In all respects except for the data source, the streaming decode method is the same as
-the one that <a href="#da">Decode audio to PCM</a> describes.
-</p>
-
-<p>
-Despite the similarity in names, an Android buffer queue is <em>not</em>
-the same as an <a href="#simple">Android simple buffer queue</a>. The streaming decoder
-uses both kinds of buffer queues: an Android buffer queue for the ADTS
-AAC data source, and an Android simple buffer queue for the PCM data
-sink.  For more information about the Android simple buffer queue API, see <a href="#simple">Android
-simple buffer queue data locator and interface</a>.
-For more information about the Android buffer queue API, see the {@code index.html} file in
-the {@code docs/Additional_library_docs/openmaxal/} directory under the installation root.
-</p>
-
-<h3 id="meta">Determining the format of decoded PCM data via metadata</h3>
-
-<p>
-The <code>SLMetadataExtractionItf</code> interface is part of the reference specification.
-However, the metadata keys that indicate the actual format of decoded PCM data are specific to
-Android. The <code>OpenSLES_AndroidMetadata.h</code> header file defines these metadata keys.
-This header file resides under your installation root, in the
-{@code platforms/android-&lt;version&gt;/&lt;abi&gt;/include/SLES} directory.
-</p>
-
-<p>
-The metadata key indices are available immediately after
-the <code>Object::Realize()</code> method finishes executing. However, the associated values are not
-available until after the app decodes the first encoded data.  A good
-practice is to query for the key indices in the main thread after calling the {@code
-Object::Realize} method, and to read the PCM format metadata values in the Android simple
-buffer queue callback handler when calling it for the first time. Consult the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk">example code in the
-NDK package</a> for examples of working with this interface.
-</p>
-
-<p>
-Metadata key names are stable, but the key indices are not documented,
-and are subject to change.  An application should not assume that indices
-are persistent across different execution runs, and should not assume that
-multiple object instances share indices within the same run.
-</p>
-
-<h3 id="fp">Floating-point data</h3>
-
-<p>
-An app running on Android 5.0 (API level 21) and higher can supply data to an AudioPlayer in
-single-precision, floating-point format.
-</p>
-<p>
-In following example code, the {@code Engine::CreateAudioPlayer} method creates an audio player
-that uses floating-point data:
-</p>
-
-<pre>
-#include &lt;SLES/OpenSLES_Android.h&gt;
-...
-SLAndroidDataFormat_PCM_EX pcm;
-pcm.formatType = SL_ANDROID_DATAFORMAT_PCM_EX;
-pcm.numChannels = 2;
-pcm.sampleRate = SL_SAMPLINGRATE_44_1;
-pcm.bitsPerSample = 32;
-pcm.containerSize = 32;
-pcm.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
-pcm.endianness = SL_BYTEORDER_LITTLEENDIAN;
-pcm.representation = SL_ANDROID_PCM_REPRESENTATION_FLOAT;
-...
-SLDataSource audiosrc;
-audiosrc.pLocator = ...
-audiosrc.pFormat = &amp;pcm;
-</pre>
-
-<h2 id="notes">Programming Notes</h2>
-<p><a href="{@docRoot}ndk/guides/audio/opensl-prog-notes.html">OpenSL ES Programming Notes</a>
- provides supplemental information to ensure proper implementation of OpenSL ES.</p>
-<p class="note"><strong>Note: </strong>
-For your convenience, we have included a copy of the OpenSL ES 1.0.1 specification with the NDK in
-{@code docs/opensles/OpenSL_ES_Specification_1.0.1.pdf}.
-</p>
-
-<h2 id="platform-issues">Platform Issues</h2>
-
-<p>
-This section describes known issues in the initial platform release that supports these APIs.
-</p>
-
-<h3>Dynamic interface management</h3>
-
-<p>
-{@code DynamicInterfaceManagement::AddInterface} does not work. Instead, specify the interface in
-the array that is passed to Create, as shown in the example code for environmental reverb.
-</p>
-
diff --git a/docs/html/ndk/guides/audio/opensl-prog-notes.jd b/docs/html/ndk/guides/audio/opensl-prog-notes.jd
deleted file mode 100644
index e70aa08..0000000
--- a/docs/html/ndk/guides/audio/opensl-prog-notes.jd
+++ /dev/null
@@ -1,461 +0,0 @@
-page.title=OpenSL ES Programming Notes
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#init">Objects and Interface Initialization</a></li>
-        <li><a href="#prefetch">Audio Player Prefetch</a></li>
-        <li><a href="#destroy">Destroy</a></li>
-        <li><a href="#panning">Stereo Panning</a></li>
-        <li><a href="#callbacks">Callbacks and Threads</a></li>
-        <li><a href="#perform">Performance</a></li>
-        <li><a href="#sandp">Security and Permissions</a></li>
-      </ol>
-    </div>
-</div>
-
-<p>
-The notes in this section supplement the
-<a class="external-link" href="https://www.khronos.org/registry/sles/">OpenSL ES 1.0.1
-specification</a>.
-</p>
-
-<h2 id="init">Objects and Interface Initialization</h2>
-
-<p>
-Two aspects of the OpenSL ES programming model that may be unfamiliar to new developers are the
-distinction between objects and interfaces, and the initialization sequence.
-</p>
-
-<p>
-Briefly, an OpenSL ES object is similar to the object concept in
- programming languages such as Java
-and C++, except an OpenSL ES object is only visible via its associated interfaces.
- This includes
-the initial interface for all objects, called {@code SLObjectItf}.
- There is no handle for an object
-itself, only a handle to the {@code SLObjectItf} interface of the object.
-</p>
-
-<p>
-An OpenSL ES object is first <em>created</em>, which returns an {@code SLObjectItf}, then
-<em>realized</em>. This is similar to the common programming pattern of first constructing an
-object (which should never fail other than for lack of memory or invalid parameters), and then
-completing initialization (which may fail due to lack of resources). The realize step gives the
-implementation a logical place to allocate additional resources if needed.
-</p>
-
-<p>
-As part of the API to create an object, an application specifies an array of desired interfaces
-that it plans to acquire later. Note that this array does not automatically
- acquire the interfaces;
-it merely indicates a future intention to acquire them. Interfaces are distinguished as
-<em>implicit</em> or <em>explicit</em>. An explicit interface must be listed in the array if it
-will be acquired later. An implicit interface need not be listed in the
- object create array, but
-there is no harm in listing it there. OpenSL ES has one more kind of interface called
-<em>dynamic</em>, which does not need to be specified in the object
- create array and can be added
-later after the object is created. The Android implementation provides
- a convenience feature to
-avoid this complexity, which is described in
- <a href="{@docRoot}ndk/guides/audio/opensl-for-android.html#dynamic-interfaces">Dynamic interfaces at object creation</a>.
-</p>
-
-<p>
-After the object is created and realized, the application should acquire interfaces for each
-feature it needs, using {@code GetInterface} on the initial {@code SLObjectItf}.
-</p>
-
-<p>
-Finally, the object is available for use via its interfaces, though note that
- some objects require
-further setup. In particular, an audio player with URI data source needs a bit
- more preparation in
-order to detect connection errors. See the
- <a href="#prefetch">Audio player prefetch</a> section for details.
-</p>
-
-<p>
-After your application is done with the object, you should explicitly destroy it; see the
-<a href="#destroy">Destroy</a> section below.
-</p>
-
-<h2 id="prefetch">Audio Player Prefetch</h2>
-
-<p>
-For an audio player with URI data source, {@code Object::Realize} allocates
- resources but does not
-connect to the data source (<em>prepare</em>) or begin pre-fetching data. These occur once the
-player state is set to either {@code SL_PLAYSTATE_PAUSED} or {@code SL_PLAYSTATE_PLAYING}.
-</p>
-
-<p>
-Some information may still be unknown until relatively late in this sequence. In
-particular, initially {@code Player::GetDuration} returns {@code SL_TIME_UNKNOWN} and
-{@code MuteSolo::GetChannelCount} either returns successfully with channel count zero or the
-error result {@code SL_RESULT_PRECONDITIONS_VIOLATED}. These APIs return the proper values
-once they are known.
-</p>
-
-<p>
-Other properties that are initially unknown include the sample rate and
- actual media content type
-based on examining the content's header (as opposed to the
- application-specified MIME type and
-container type). These are also determined later during
- prepare/prefetch, but there are no APIs to
-retrieve them.
-</p>
-
-<p>
-The prefetch status interface is useful for detecting when all information
- is available, or your
-application can poll periodically. Note that some information, such as the
- duration of a streaming
-MP3, may <em>never</em> be known.
-</p>
-
-<p>
-The prefetch status interface is also useful for detecting errors. Register a callback
- and enable
-at least the {@code SL_PREFETCHEVENT_FILLLEVELCHANGE} and {@code SL_PREFETCHEVENT_STATUSCHANGE}
-events. If both of these events are delivered simultaneously, and
-{@code PrefetchStatus::GetFillLevel} reports a zero level, and
-{@code PrefetchStatus::GetPrefetchStatus} reports {@code SL_PREFETCHSTATUS_UNDERFLOW},
- then this
-indicates a non-recoverable error in the data source. This includes the inability to
- connect to the
-data source because the local filename does not exist or the network URI is invalid.
-</p>
-
-<p>
-The next version of OpenSL ES is expected to add more explicit support for
- handling errors in the
-data source. However, for future binary compatibility, we intend to continue
- to support the current
-method for reporting a non-recoverable error.
-</p>
-
-<p>
-In summary, a recommended code sequence is:
-</p>
-
-<ol>
-  <li>{@code Engine::CreateAudioPlayer}</li>
-  <li>{@code Object:Realize}</li>
-  <li>{@code Object::GetInterface} for {@code SL_IID_PREFETCHSTATUS}</li>
-  <li>{@code PrefetchStatus::SetCallbackEventsMask}</li>
-  <li>{@code PrefetchStatus::SetFillUpdatePeriod}</li>
-  <li>{@code PrefetchStatus::RegisterCallback}</li>
-  <li>{@code Object::GetInterface} for {@code SL_IID_PLAY}</li>
-  <li>{@code Play::SetPlayState} to {@code SL_PLAYSTATE_PAUSED}, or
-  {@code SL_PLAYSTATE_PLAYING}</li>
-</ol>
-
-<p class="note"><strong>Note: </strong>
-Preparation and prefetching occur here; during this time your callback is called with
-periodic status updates.
-</p>
-
-<h2 id="destroy">Destroy</h2>
-
-<p>
-Be sure to destroy all objects when exiting from your application.
- Objects should be destroyed in
-reverse order of their creation, as it is not safe to destroy an object that has any dependent
-objects. For example, destroy in this order: audio players and recorders, output mix, and then
-finally the engine.
-</p>
-
-<p>
-OpenSL ES does not support automatic garbage collection or
-<a class="external-link" href="http://en.wikipedia.org/wiki/Reference_counting">reference
-counting</a> of interfaces. After you call {@code Object::Destroy}, all extant
- interfaces that are
-derived from the associated object become undefined.
-</p>
-
-<p>
-The Android OpenSL ES implementation does not detect the incorrect use of such interfaces.
-Continuing to use such interfaces after the object is destroyed can cause your application to
-crash or behave in unpredictable ways.
-</p>
-
-<p>
-We recommend that you explicitly set both the primary object interface and all associated
-interfaces to NULL as part of your object destruction sequence, which prevents the accidental
-misuse of a stale interface handle.
-</p>
-
-<h2 id="panning">Stereo Panning</h2>
-
-<p>
-When {@code Volume::EnableStereoPosition} is used to enable stereo panning of a mono source,
- there is a 3-dB reduction in total
-<a class="external-link" href="http://en.wikipedia.org/wiki/Sound_power_level">sound power
-level</a>. This is needed to permit the total sound power level to remain constant as
- the source is
-panned from one channel to the other. Therefore, only enable stereo positioning if you need
-it. See the Wikipedia article on
-<a class="external-link" href="http://en.wikipedia.org/wiki/Panning_(audio)">audio panning</a>
- for more information.
-</p>
-
-<h2 id="callbacks">Callbacks and Threads</h2>
-
-<p>
-Callback handlers are generally called synchronously with respect to the event. That is, at the
-moment and location that the event is detected by the implementation. This point is
-asynchronous with respect to the application, so you should use a non-blocking synchronization
-mechanism to control access to any variables shared between the application and the callback
-handler. In the example code, such as for buffer queues, we have either omitted this
-synchronization or used blocking synchronization in the interest of simplicity. However, proper
-non-blocking synchronization is critical for any production code.
-</p>
-
-<p>
-Callback handlers are called from internal non-application threads that are not attached to the
-Android runtime, so they are ineligible to use JNI. Because these internal threads are
-critical to
-the integrity of the OpenSL ES implementation, a callback handler should also not block
- or perform
-excessive work.
-</p>
-
-<p>
-If your callback handler needs to use JNI or execute work that is not proportional to the
-callback, the handler should instead post an event for another thread to process. Examples of
-acceptable callback workload include rendering and enqueuing the next output buffer
-(for an AudioPlayer), processing the just-filled input buffer and enqueueing the next
- empty buffer
-(for an AudioRecorder), or simple APIs such as most of the <em>Get</em> family. See the
-<a href="#perform">Performance</a> section below regarding the workload.
-</p>
-
-<p>
-Note that the converse is safe: an Android application thread that has entered JNI
- is allowed to
-directly call OpenSL ES APIs, including those that block. However, blocking calls are not
-recommended from the main thread, as they may result in
- <em>Application Not Responding</em> (ANR).
-</p>
-
-<p>
-The determination regarding the thread that calls a callback handler is largely left up to the
-implementation. The reason for this flexibility is to permit future optimizations,
- especially on
-multi-core devices.
-</p>
-
-<p>
-The thread on which the callback handler runs is not guaranteed to have the same
- identity across
-different calls. Therefore, do not rely on the {@code pthread_t returned by pthread_self()}
- or the
-{@code pid_t returned by gettid()} to be consistent across calls. For the same reason,
- do not use
-the thread local storage (TLS) APIs such as {@code pthread_setspecific()} and
-{@code pthread_getspecific()} from a callback.
-</p>
-
-<p>
-The implementation guarantees that concurrent callbacks of the same kind, for the
- same object, does
-not occur. However, concurrent callbacks of different kinds for the same object are possible on
-different threads.
-</p>
-
-<h2 id="perform">Performance</h2>
-
-<p>
-As OpenSL ES is a native C API, non-runtime application threads that call OpenSL ES have no
-runtime-related overhead such as garbage collection pauses. With one exception described below,
-there is no additional performance benefit to the use of OpenSL ES other than this.
- In particular,
-the use of OpenSL ES does not guarantee enhancements such as lower audio latency and higher
-scheduling priority over that which the platform generally provides. On the other hand, as the
-Android platform and specific device implementations continue to evolve, an OpenSL ES application
-can expect to benefit from any future system performance improvements.
-</p>
-
-<p>
-One such evolution is support for reduced
-<a href="{@docRoot}ndk/guides/audio/output-latency.html">audio output latency</a>.
-The underpinnings for reduced
-output latency were first included in Android 4.1 (API level 16), and then
-continued progress occurred in Android 4.2 (API level 17). These improvements are available via
-OpenSL ES for device implementations that
- claim feature {@code android.hardware.audio.low_latency}.
-If the device doesn't claim this feature but supports Android 2.3 (API level 9)
-or later, then you can still use the OpenSL ES APIs but the output latency may be higher.
- The lower
-output latency path is used only if the application requests a buffer size and sample rate
- that are
-compatible with the device's native output configuration. These parameters are
- device-specific and
-should be obtained as described below.
-</p>
-
-<p>
-Beginning with Android 4.2 (API level 17), an application can query for the
-platform native or optimal output sample rate and buffer size for the device's primary output
-stream. When combined with the feature test just mentioned, an app can now configure itself
-appropriately for lower latency output on devices that claim support.
-</p>
-
-<p>
-For Android 4.2 (API level 17) and earlier, a buffer count of two or more is
-required for lower latency. Beginning with Android 4.3 (API level 18), a buffer
-count of one is sufficient for lower latency.
-</p>
-
-<p>
-All OpenSL ES interfaces for output effects preclude the lower latency path.
-</p>
-
-<p>
-The recommended sequence is as follows:
-</p>
-
-<ol>
-  <li>Check for API level 9 or higher to confirm the use of OpenSL ES.</li>
-  <li>Check for the {@code android.hardware.audio.low_latency} feature using code such as this:
-    <pre>import android.content.pm.PackageManager;
-...
-PackageManager pm = getContext().getPackageManager();
-boolean claimsFeature = pm.hasSystemFeature(PackageManager.FEATURE_AUDIO_LOW_LATENCY);
-    </pre></li>
-  <li>Check for API level 17 or higher to confirm the use of
-  {@code android.media.AudioManager.getProperty()}.</li>
-  <li>Get the native or optimal output sample rate and buffer size for this device's
-  primary output
-  stream using code such as this:
-    <pre>import android.media.AudioManager;
-...
-AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-String sampleRate = am.getProperty(AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE));
-String framesPerBuffer = am.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER));
-    </pre>
-  Note that {@code sampleRate} and {@code framesPerBuffer} are <em>strings</em>. First check for
-  null and then convert to int using {@code Integer.parseInt()}.</li>
-    <li>Now use OpenSL ES to create an AudioPlayer with PCM buffer queue data locator.</li>
-</ol>
-
-<p class="note"><strong>Note: </strong>
-You can use the
-<a class="external-link"
- href="https://play.google.com/store/apps/details?id=com.levien.audiobuffersize">
- Audio Buffer Size</a>
-test app to determine the native buffer size and sample rate for OpenSL ES audio
-applications on your audio device. You can also visit GitHub to view <a class="external-link"
-href="https://github.com/gkasten/high-performance-audio/tree/master/audio-buffer-size">
-audio-buffer-size</a> samples.
-
-<p>
-The number of lower latency audio players is limited. If your application requires more 
-than a few
-audio sources, consider mixing your audio at the application level. Be sure to destroy your audio
-players when your activity is paused, as they are a global resource shared with other apps.
-</p>
-
-<p>
-To avoid audible glitches, the buffer queue callback handler must execute within a small and
-predictable time window. This typically implies no unbounded blocking on mutexes, conditions,
-or I/O operations. Instead consider <em>try locks</em>, locks and waits with timeouts, and
-<a class="external-link"
- href="https://source.android.com/devices/audio/avoiding_pi.html#nonBlockingAlgorithms">
- non-blocking algorithms</a>.
-</p>
-
-<p>
-The computation required to render the next buffer (for AudioPlayer) or consume the previous
-buffer (for AudioRecord) should take approximately the same amount of time for each callback.
-Avoid algorithms that execute in a non-deterministic amount of time or are <em>bursty</em> in
-their computations. A callback computation is bursty if the CPU time spent in any given callback
-is significantly larger than the average. In summary, the ideal is for the CPU execution time of
-the handler to have variance near zero, and for the handler to not block for unbounded times.
-</p>
-
-<p>
-Lower latency audio is possible for these outputs only:
-</p>
-
-<ul>
-  <li>On-device speakers.</li>
-  <li>Wired headphones.</li>
-  <li>Wired headsets.</li>
-  <li>Line out.</li>
-  <li><a class="external-link" href="https://source.android.com/devices/audio/usb.html">
-  USB digital
-  audio</a>.</li>
-</ul>
-
-<p>
-On some devices, speaker latency is higher than other paths due to digital signal processing for
-speaker correction and protection.
-</p>
-
-<p>
-As of API level 21,
-<a href="{@docRoot}ndk/guides/audio/input-latency.html">lower latency audio input</a>
- is supported
-on select devices. To take advantage of
-this feature, first confirm that lower latency output is available as described above. The
-capability for lower latency output is a prerequisite for the lower latency input feature. Then,
-create an AudioRecorder with the same sample rate and buffer size as would be used for output.
-OpenSL ES interfaces for input effects preclude the lower latency path. The record preset
-{@code SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION} must be used for lower latency; this preset
-disables device-specific digital signal processing that may add latency to the input path. For
-more information on record presets, see the <a href="#configuration-interface">Android
-configuration interface</a> section above.
-</p>
-
-<p>
-For simultaneous input and output, separate buffer queue completion handlers are used for each
-side. There is no guarantee of the relative order of these callbacks, or the synchronization of
-the audio clocks, even when both sides use the same sample rate. Your application
- should buffer the
-data with proper buffer synchronization.
-</p>
-
-<p>
-One consequence of potentially independent audio clocks is the need for asynchronous sample rate
-conversion. A simple (though not ideal for audio quality) technique for asynchronous sample rate
-conversion is to duplicate or drop samples as needed near a zero-crossing point.
- More sophisticated
-conversions are possible.
-</p>
-
-<h2 id="sandp">Security and Permissions</h2>
-
-<p>
-As far as who can do what, security in Android is done at the process level. Java programming
-language code cannot do anything more than native code, nor can native code do anything more than
-Java programming language code. The only differences between them are the available APIs.
-</p>
-
-<p>
-Applications using OpenSL ES must request the permissions that they would need for similar
-non-native APIs. For example, if your application records audio, then it needs the
-{@code android.permission.RECORD_AUDIO} permission. Applications that use audio effects need
-{@code android.permission.MODIFY_AUDIO_SETTINGS}. Applications that play network URI resources
-need {@code android.permission.NETWORK}. See
-<a href="https://developer.android.com/training/permissions/index.html">Working with System
-Permissions</a> for more information.
-</p>
-
-<p>
-Depending on the platform version and implementation, media content parsers and
- software codecs may
-run within the context of the Android application that calls OpenSL ES (hardware codecs are
-abstracted but are device-dependent). Malformed content designed to exploit parser and codec
-vulnerabilities is a known attack vector. We recommend that you play media only from trustworthy
-sources or that you partition your application such that code that handles media from
-untrustworthy sources runs in a relatively <em>sandboxed</em> environment. For example, you could
-process media from untrustworthy sources in a separate process. Though both processes would still
-run under the same UID, this separation does make an attack more difficult.
-</p>
diff --git a/docs/html/ndk/guides/audio/output-latency.jd b/docs/html/ndk/guides/audio/output-latency.jd
deleted file mode 100644
index 4aa97a6..0000000
--- a/docs/html/ndk/guides/audio/output-latency.jd
+++ /dev/null
@@ -1,310 +0,0 @@
-page.title=Audio Output Latency
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#prereq">Prerequisites</a></li>
-        <li><a href="#low-lat-track">Obtain a Low-Latency Track</a></li>
-        <li><a href="#buffer-size">Use the Optimal Buffer Size When Enqueuing Audio Data</a></li>
-        <li><a href="#warmup-lat">Avoid Warmup Latency</a></li>
-      </ol>
-      <h2>Also read</h2>
-
-      <ol>
-        <li><a href="https://source.android.com/devices/audio/latency_app.html" class="external-link">
-        Audio Latency for App Developers</a></li>
-        <li><a href="https://source.android.com/devices/audio/latency_contrib.html" class="external-link">
-        Contributors to Audio Latency</a></li>
-        <li><a href="https://source.android.com/devices/audio/latency_measure.html" class="external-link">
-        Measuring Audio Latency</a></li>
-        <li><a href="https://source.android.com/devices/audio/warmup.html" class="external-link">
-        Audio Warmup</a></li>
-        <li><a href="https://en.wikipedia.org/wiki/Latency_%28audio%29" class="external-link">
-        Latency (audio)</a></li>
-        <li><a href="https://en.wikipedia.org/wiki/Round-trip_delay_time" class="external-link">
-        Round-trip delay time</a></li>
-      </ol>
-    </div>
-  </div>
-
-<a href="https://www.youtube.com/watch?v=PnDK17zP9BI" class="notice-developers-video">
-<div>
-    <h3>Video</h3>
-    <p>Audio latency: buffer sizes</p>
-</div>
-</a>
-
-<a href="https://www.youtube.com/watch?v=92fgcUNCHic" class="notice-developers-video">
-<div>
-    <h3>Video</h3>
-    <p>Building great multi-media experiences on Android</p>
-</div>
-</a>
-
-<p>This page describes how to develop your audio app for low-latency output and how to avoid
-warmup latency.</p>
-
-<h2 id="prereq">Prerequisites</h2>
-
-<p>Low-latency audio is currently only supported when using Android's implementation of the
-OpenSL ES™ API specification, and the Android NDK:
-</p>
-
-<ol>
-  <li>Download and install the <a href="{@docRoot}tools/sdk/ndk/index.html">Android NDK</a>.</li>
-  <li>Read the <a href="{@docRoot}ndk/guides/audio/opensl-for-android.html">OpenSL ES
-  documentation</a>.
-</ol>
-
-<h2 id="low-lat-track">Obtain a Low-Latency Track</h2>
-
-<p>Latency is the time it takes for a signal to travel through a system.  These are the common
-types of latency related to audio apps:
-
-<ul>
-  <li><strong>Audio output latency</strong> is the time between an audio sample being generated by an
-app and the sample being played through the headphone jack or built-in speaker.</li>
-
-  <li><strong>Audio input latency</strong> is the time between an audio signal being received by a
-device’s audio input, such as the microphone, and that same audio data being available to an
-app.</li>
-
-  <li><strong>Round-trip latency</strong> is the sum of input latency, app processing time, and
-  output latency.</li>
-
-  <li><strong>Touch latency</strong> is the time between a user touching the screen and that
-touch event being received by an app.</li>
-</ul>
-
-<p>It is difficult to test audio output latency in isolation since it requires knowing exactly
-when the first sample is sent into the audio path (although this can be done using a
-<a href="https://source.android.com/devices/audio/testing_circuit.html" class="external-link">
-light testing circuit</a> and an oscilloscope). If you know the round-trip audio latency, you can
-use the rough rule of thumb: <strong>audio output latency is half the round-trip audio latency
-over paths without signal processing</strong>.
-</p>
-
-<p>To obtain the lowest latency, you must supply audio data that matches the device's optimal
-sample rate and buffer size. For more information, see
-<a href="https://source.android.com/devices/audio/latency_design.html" class="external-link">
-Design For Reduced Latency</a>.</p>
-
-<h3>Obtain the optimal sample rate</h3>
-
-<p>In Java, you can obtain the optimal sample rate from AudioManager as shown in the following
-code example:</p>
-
-<pre>
-AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-String frameRate = am.getProperty(AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE);
-int frameRateInt = Integer.parseInt(frameRate);
-if (frameRateInt == 0) frameRateInt = 44100; // Use a default value if property not found
-</pre>
-
-<p class="note">
-  <strong>Note:</strong> The sample rate refers to the rate of each stream. If your source audio
-  has two channels (stereo), then you will have one stream playing a pair of samples (frame) at
-  <a href="{@docRoot}reference/android/media/AudioManager.html#PROPERTY_OUTPUT_SAMPLE_RATE">
-  PROPERTY_OUTPUT_SAMPLE_RATE</a>.
-</p>
-
-<h3>Use the optimal sample rate when creating your audio player</h3>
-
-<p>Once you have the optimal sample output rate, you can supply it when creating your player
-using OpenSL ES:</p>
-
-<pre>
-// create buffer queue audio player
-void Java_com_example_audio_generatetone_MainActivity_createBufferQueueAudioPlayer
-        (JNIEnv* env, jclass clazz, jint sampleRate, jint framesPerBuffer)
-{
-   ...
-   // specify the audio source format
-   SLDataFormat_PCM format_pcm;
-   format_pcm.numChannels = 2;
-   format_pcm.samplesPerSec = (SLuint32) sampleRate * 1000;
-   ...
-}
-</pre>
-
-<p class="note">
-  <strong>Note:</strong> {@code samplesPerSec} refers to the <em>sample rate per channel in
-  millihertz</em> (1 Hz = 1000 mHz).
-</p>
-
-<h3>Avoid adding output interfaces that involve signal processing</h3>
-
-<p>Only these interfaces are supported by the fast mixer:</p>
-
-<ul>
-  <li>SL_IID_ANDROIDSIMPLEBUFFERQUEUE</li>
-  <li>SL_IID_VOLUME</li>
-  <li>SL_IID_MUTESOLO</li>
-</ul>
-
-<p>These interfaces are not allowed because they involve signal processing and will cause
-your request for a fast-track to be rejected:</p>
-
-<ul>
-  <li>SL_IID_BASSBOOST</li>
-  <li>SL_IID_EFFECTSEND</li>
-  <li>SL_IID_ENVIRONMENTALREVERB</li>
-  <li>SL_IID_EQUALIZER</li>
-  <li>SL_IID_PLAYBACKRATE</li>
-  <li>SL_IID_PRESETREVERB</li>
-  <li>SL_IID_VIRTUALIZER</li>
-  <li>SL_IID_ANDROIDEFFECT</li>
-  <li>SL_IID_ANDROIDEFFECTSEND</li>
-</ul>
-
-<p>When you create your player, make sure you only add <em>fast</em> interfaces, as shown in
-the following example:</p>
-
-<pre>
-const SLInterfaceID interface_ids[2] = { SL_IID_ANDROIDSIMPLEBUFFERQUEUE, SL_IID_VOLUME };
-</pre>
-
-<h3>Verify you're using a low-latency track</h3>
-
-<p>Complete these steps to verify that you have successfully obtained a low-latency track:</p>
-
-<ol>
-  <li>Launch your app and then run the following command:</li>
-
-<pre>
-adb shell ps | grep your_app_name
-</pre>
-
-  <li>Make a note of your app's process ID.</li>
-
-  <li>Now, play some audio from your app. You have approximately three seconds to run the
-following command from the terminal:</li>
-
-<pre>
-adb shell dumpsys media.audio_flinger
-</pre>
-
-  <li>Scan for your process ID. If you see an <em>F</em> in the <em>Name</em> column, it's on a
-low-latency track (the F stands for <em>fast track</em>).</li>
-
-</ol>
-
-<h3>Measure round-trip latency</h3>
-
-<p>You can measure round-trip audio latency by creating an app that generates an audio signal,
-listens for that signal, and measures the time between sending it and receiving it.
-Alternatively, you can install this
-<a href="https://play.google.com/store/apps/details?id=org.drrickorang.loopback" class="external-link">
-latency testing app</a>. This performs a round-trip latency test using the
-<a href="https://source.android.com/devices/audio/latency_measure.html#larsenTest" class="external-link">
-Larsen test</a>. You can also
-<a href="https://github.com/gkasten/drrickorang/tree/master/LoopbackApp" class="external-link">
-view the source code</a> for the latency testing app.</p>
-
-<p>Since the lowest latency is achieved over audio paths with minimal signal processing, you may
-also want to use an
-<a href="https://source.android.com/devices/audio/latency_measure.html#loopback" class="external-link">
-Audio Loopback Dongle</a>, which allows the test to be run over the headset connector.</p>
-
-<p>The lowest possible round-trip audio latency varies greatly depending on device model and
-Android build. You can measure it yourself using the latency testing app and loopback
-dongle. When creating apps for <em>Nexus devices</em>, you can also use the
-<a href="https://source.android.com/devices/audio/latency_measurements.html" class="external-link">
-published measurements</a>.</p>
-
-<p>You can also get a rough idea of audio performance by testing whether the device reports
-support for the
-<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_LOW_LATENCY">
-low_latency</a> and
-<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_PRO">
-pro</a> hardware features.</p>
-
-<h3>Review the CDD and audio latency</h3>
-
-<p>The Android Compatibility Definition Document (CDD) enumerates the hardware and software
-requirements of a compatible Android device.
-See <a href="https://source.android.com/compatibility/" class="external-link">
-Android Compatibility</a> for more information on the overall compatibility program, and
-<a href="https://static.googleusercontent.com/media/source.android.com/en//compatibility/android-cdd.pdf" class="external-link">
-CDD</a> for the actual CDD document.</p>
-
-<p>In the CDD, round-trip latency is specified as 20&nbsp;ms or lower (even though musicians
-generally require 10&nbsp;ms). This is because there are important use cases that are enabled by
-20&nbsp;ms.</p>
-
-<p>There is currently no API to determine audio latency over any path on an Android device at
-runtime. You can, however, use the following hardware feature flags to find out whether the
-device makes any guarantees for latency:</p>
-
-<ul>
-  <li><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_LOW_LATENCY">
-android.hardware.audio.low_latency</a> indicates a continuous output latency of 45&nbsp;ms or
-less.</li>
-
-  <li><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_PRO">
-android.hardware.audio.pro</a> indicates a continuous round-trip latency of 20&nbsp;ms or
-less.</li>
-</ul>
-
-<p>The criteria for reporting these flags is defined in the CDD in sections <em>5.6 Audio
-Latency</em> and <em>5.10 Professional Audio</em>.</p>
-
-<p>Here’s how to check for these features in Java:</p>
-
-<pre>
-boolean hasLowLatencyFeature =
-    getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUDIO_LOW_LATENCY);
-
-boolean hasProFeature =
-    getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUDIO_PRO);
-</pre>
-
-<p>Regarding the relationship of audio features, the {@code android.hardware.audio.low_latency}
-feature is a prerequisite for {@code android.hardware.audio.pro}. A device can implement
-{@code android.hardware.audio.low_latency} and not {@code android.hardware.audio.pro}, but not
-vice-versa.</p>
-
-<h2 id="buffer-size">Use the Optimal Buffer Size When Enqueuing Audio Data</h2>
-
-<p>You can obtain the optimal buffer size in a similar way to the optimal frame rate, using the
-AudioManager API:</p>
-
-<pre>
-AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-String framesPerBuffer = am.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER);
-int framesPerBufferInt = Integer.parseInt(framesPerBuffer);
-if (framesPerBufferInt == 0) framesPerBufferInt = 256; // Use default
-</pre>
-
-<p>The
-<a href="{@docRoot}reference/android/media/AudioManager.html#PROPERTY_OUTPUT_FRAMES_PER_BUFFER">
-PROPERTY_OUTPUT_FRAMES_PER_BUFFER</a> property indicates the number of audio frames
-that the HAL (Hardware Abstraction Layer) buffer can hold. You should construct your audio
-buffers so that they contain an exact multiple of this number. If you use the correct number
-of audio frames, your callbacks occur at regular intervals, which reduces jitter.</p>
-
-<p>It is important to use the API to determine buffer size rather than using a hardcoded value,
- because HAL buffer sizes differ across devices and across Android builds.</p>
-
-<h2 id="warmup-lat">Avoid Warmup Latency</h2>
-
-<p>When you enqueue audio data for the first time, it takes a small, but still significant,
-amount of time for the device audio circuit to warm up. To avoid this warmup latency, you should
-enqueue buffers of audio data containing silence, as shown in the following code example:</p>
-
-<pre>
-#define CHANNELS 1
-static short* silenceBuffer;
-int numSamples = frames * CHANNELS;
-silenceBuffer = malloc(sizeof(*silenceBuffer) * numSamples);
-    for (i = 0; i < numSamples; i++) {
-        silenceBuffer[i] = 0;
-    }
-</pre>
-
-<p>At the point when audio should be produced, you can switch to enqueuing buffers containing
-real audio data.</p>
-
diff --git a/docs/html/ndk/guides/audio/sample-rates.jd b/docs/html/ndk/guides/audio/sample-rates.jd
deleted file mode 100644
index da68597..0000000
--- a/docs/html/ndk/guides/audio/sample-rates.jd
+++ /dev/null
@@ -1,151 +0,0 @@
-page.title=Sample Rates
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#best">Best Practices for Sampling and Resampling</a></li>
-        <li><a href="#info">For More Information</a></li>
-      </ol>
-    </div>
-  </div>
-
-<a class="notice-developers-video" href="https://www.youtube.com/watch?v=6Dl6BdrA-sQ">
-<div>
-    <h3>Video</h3>
-    <p>Sample Rates: Why Can't We All Just Agree?</p>
-</div>
-</a>
-
-<p>As of Android 5.0 (Lollipop), the audio resamplers are now entirely based
-on FIR filters derived from a Kaiser windowed-sinc function. The Kaiser windowed-sinc
-offers the following properties:
-<ul>
-    <li>It is straightforward to calculate for its design parameters (stopband
- ripple, transition bandwidth, cutoff frequency, filter length).</li>
-<li>It is nearly optimal for reduction of stopband energy compared to overall
-energy.</li>
-</ul>
-See P.P. Vaidyanathan, <a class="external-link"
-href="https://drive.google.com/file/d/0B7tBh7YQV0DGak9peDhwaUhqY2c/view">
-<i>Multirate Systems and Filter Banks</i></a>, p. 50 for discussions of the
-Kaiser Window and its optimality and relationship to Prolate Spheroidal
-Windows.</p>
-
-<p>The design parameters are automatically computed based on internal
-quality determination and the sampling ratios desired. Based on the
-design parameters, the windowed-sinc filter is generated.  For music use,
-the resampler for 44.1 to 48 kHz and vice versa is generated at a higher
-quality than for arbitrary frequency conversion.</p>
-
-<p>The audio resamplers provide increased quality, as well as speed
-to achieve that quality. But resamplers can introduce small amounts
-of passband ripple and aliasing harmonic noise, and they can cause some high
-frequency loss in the transition band, so avoid using them unnecessarily.</p>
-
-<h2 id="best">Best Practices for Sampling and Resampling</h2>
-<p>This section describes some best practices to help you avoid problems with sampling rates.</p>
-<h3>Choose the sampling rate to fit the device</h3>
-
-<p>In general, it is best to choose the sampling rate to fit the device,
-typically 44.1 kHz or 48 kHz.  Use of a sample rate greater than
-48 kHz will typically result in decreased quality because a resampler must be
-used to play back the file.</p>
-
-<h3>Use simple resampling ratios (fixed versus interpolated polyphases)</h3>
-
-<p>The resampler operates in one of the following modes:</p>
-<ul>
-    <li>Fixed polyphase mode. The filter coefficients for each polyphase are precomputed.</li>
-    <li>Interpolated polyphase mode. The filter coefficients for each polyphase must
-be interpolated from the nearest two precomputed polyphases.</li>
-</ul>
-<p>The resampler is fastest in fixed polyphase mode, when the ratio of input
-rate over output rate L/M (taking out the greatest common divisor)
-has M less than 256.  For example, for 44,100 to 48,000 conversion, L = 147,
-M = 160.</p>
-
-<p>In fixed polyphase mode, the sampling rate is locked for as
-many samples converted and does not change.  In interpolated polyphase
-mode, the sampling rate is approximate. The drift is generally on the
-order of one sample over a few hours of playback on a 48-kHz device.
-This is not usually a concern because approximation error is much less than
-frequency error of internal quartz oscillators, thermal drift, or jitter
- (typically tens of ppm).</p>
-
-<p>Choose simple-ratio sampling rates such as 24 kHz (1:2) and 32 kHz (2:3) when playing back
- on a 48-kHz device, even though other sampling
-rates and ratios may be permitted through AudioTrack.</p>
-
-<h3>Use upsampling rather than downsampling when changing sample rates</h3>
-
-<p>Sampling rates can be changed on the fly. The granularity of
-such change is based on the internal buffering (typically a few hundred
-samples), not on a sample-by-sample basis. This can be used for effects.</p>
-
-<p>Do not dynamically change sampling rates when
-downsampling. When changing sample rates after an audio track is
-created, differences of around 5 to 10 percent from the original rate may
-trigger a filter recomputation when downsampling (to properly suppress
-aliasing). This can consume computing resources and may cause an audible click
-if the filter is replaced in real time.</p>
-
-<h3>Limit downsampling to no more than 6:1</h3>
-
-<p>Downsampling is typically triggered by hardware device requirements. When the
- Sample Rate converter is used for downsampling,
-try to limit the downsampling ratio to no more than 6:1 for good aliasing
-suppression (for example, no greater downsample than 48,000 to 8,000). The filter
-lengths adjust to match the downsampling ratio, but you sacrifice more
-transition bandwidth at higher downsampling ratios to avoid excessively
-increasing the filter length. There are no similar aliasing concerns for
-upsampling.  Note that some parts of the audio pipeline
-may prevent downsampling greater than 2:1.</p>
-
-<h3 id="latency">If you are concerned about latency, do not resample</h3>
-
-<p>Resampling prevents the track from being placed in the FastMixer
-path, which means that significantly higher latency occurs due to the additional,
- larger buffer in the ordinary Mixer path. Furthermore,
- there is an implicit delay from the filter length of the resampler,
- though this is typically on the order of one millisecond or less,
- which is not as large as the additional buffering for the ordinary Mixer path
- (typically 20 milliseconds).</p>
-
-<h2 id="info">For More Information</h2>
-<p>This section lists some additional resources about sampling and resampling.</p>
-
-<h3>Sample rates</h3>
-
-<p>
-<a href="http://en.wikipedia.org/wiki/Sampling_%28signal_processing%29" class="external-link" >
-Sampling (signal processing)</a> at Wikipedia.</p>
-
-<h3>Resampling</h3>
-
-<p><a href="http://en.wikipedia.org/wiki/Sample_rate_conversion" class="external-link" >
-Sample rate conversion</a> at Wikipedia.</p>
-
-<p><a href="http://source.android.com/devices/audio/src.html" class="external-link" >
-Sample Rate Conversion</a> at source.android.com.</p>
-
-<h3>The high bit-depth and high kHz controversy</h3>
-
-<p><a href="http://people.xiph.org/~xiphmont/demo/neil-young.html" class="external-link" >
-24/192 Music Downloads ... and why they make no sense</a>
-by Christopher "Monty" Montgomery of Xiph.Org.</p>
-
-<p><a href="https://www.youtube.com/watch?v=cIQ9IXSUzuM" class="external-link" >
-D/A and A/D | Digital Show and Tell</a>
-video by Christopher "Monty" Montgomery of Xiph.Org.</p>
-
-<p><a href="http://www.trustmeimascientist.com/2013/02/04/the-science-of-sample-rates-when-higher-is-better-and-when-it-isnt/" class="external-link">
-The Science of Sample Rates (When Higher Is Better - And When It Isn't)</a>.</p>
-
-<p><a href="http://www.image-line.com/support/FLHelp/html/app_audio.htm" class="external-link" >
-Audio Myths &amp; DAW Wars</a></p>
-
-<p><a href="http://forums.stevehoffman.tv/threads/192khz-24bit-vs-96khz-24bit-debate-interesting-revelation.317660/" class="external-link">
-192kHz/24bit vs. 96kHz/24bit "debate"- Interesting revelation</a></p>
diff --git a/docs/html/ndk/guides/build.jd b/docs/html/ndk/guides/build.jd
deleted file mode 100644
index 6286328..0000000
--- a/docs/html/ndk/guides/build.jd
+++ /dev/null
@@ -1,18 +0,0 @@
-page.title=Building Your Project
-@jd:body
-
-<p>One of the NDK's core purposes is allowing you to build C and C++ source code into shared
-libraries that you can use in your app.</p>
-
-<p>This section explains how to build native binaries for use in your Android app. It begins by
-explaining the
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file, which
-defines properties specific to individual <i>modules</i>, or libraries. Then, it explains the
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file, which defines
-properties for all the modules that you use in your
-app. Next, it tells you how to use the <a href="{@docRoot}ndk/guides/ndk-build.html">
-{@code ndk-build}</a> script, which is what the NDK uses to build your sources. Last, it ventures
-into advanced territory, discussing how to incorporate the NDK into your own
-<a href="{@docRoot}ndk/guides/standalone_toolchain.html">toolchain</a>, if you prefer to
-build that way instead of using
-<a href="{@docRoot}ndk/guides/ndk-build.html">{@code ndk-build}</a>.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/concepts.jd b/docs/html/ndk/guides/concepts.jd
deleted file mode 100755
index 7879219..0000000
--- a/docs/html/ndk/guides/concepts.jd
+++ /dev/null
@@ -1,303 +0,0 @@
-page.title=Concepts
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#bb">Before Beginning</a></li>
-        <li><a href="#intro">Introduction</a></li>
-        <li><a href="#hiw">How It Works</a></li>
-        <li><a href="#naa">Native Activities and Applications</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<h2 id="bb">Before Beginning</h2>
-
-<p>This guide assumes that you are already familiar with concepts inherent in native programming and 
-in <a href="{@docRoot}developer/index.html">Android development</a>.</p>
-
-</ul>
-<h2 id="intro">Introduction</h2>
-
-<p>This section provides a high-level explanation of how the NDK works. The Android NDK is a set of
-tools allowing you to embed C or C++ (“native code”) into your Android apps. The ability to use
-native code in Android apps can be particularly useful to developers who wish to do one or more of
-the following:</p>
-<ul>
-<li>Port their apps between platforms.</li>
-<li>Reuse existing libraries, or provide their own libraries for reuse.
-</li>
-<li>Increase performance in certain cases, particularly computationally intensive ones like games.
-</li>
-</ul>
-<h2 id="hiw">How it Works</h2>
-
-<p>This section introduces the main components used in building a native application for Android,
-and goes on to describe the process of building and packaging.</p>
-<h3 id="mc">Main components</h3>
-
-<p>You should have an understanding of the following components as you build your app:</p>
-<ul>
-<li>ndk-build: The ndk-build script launches the build scripts at the heart of the NDK. These
-scripts:
-<ul>
-<li>Automatically probe your development system and app project file to determine what to build.</li>
-<li>Generate binaries.</li>
-<li>Copy the binaries to your app's project path.</li>
-</ul>
-<p>For more information, see
-<a href="{@docRoot}ndk/guides/ndk-build.html">ndk-build</a>.</p>
-</li>
-</ul>
-
-<ul>
-<li>Java: From your Java source, the Android build process generates {@code .dex}
-(Dalvik EXecutable) files, which are what the Android OS runs in the Dalvik Virtual Machine
-(“DVM”). Even if your app contains no Java source code at all, the build process still generates a
-{@code .dex} executable file within which the native component runs.
-
-<p>When developing Java components, use the {@code native} keyword to indicate methods implemented
-as native code. For example, the following function declaration tells the compiler that the
-implementation is in a native library:</p>
-
-
-
-<pre>
-public native int add(int  x, int  y);
-</pre>
-</li>
-</ul>
-
-<ul>
-<li>Native shared libraries: The NDK builds these libraries, or {@code .so} files, from your native
-source code.
-
-<p class="note"><strong>Note:</strong> If two libraries implement respective methods with the same
-signature, a link error occurs. In C, "signature" means method name only. In C++, "signature" means
-not only method name, but also its argument names and types.</p>
-</li>
-</ul>
-
-<ul>
-<li>Native static libraries: The NDK can also build static libraries, or {@code .a} files, which you
-can link against other libraries.</li>
-</ul>
-
-<ul>
-<li>Java Native Interface (JNI): The JNI is the interface via which the Java and C++ components
-talk to one another. This guide assumes knowledge of the JNI; for information about it, consult the
-<a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html">
-Java Native Interface Specification</a>.</li>
-</ul>
-
-<ul>
-<li>Application Binary Interface (ABI): The ABI defines exactly how your app's machine code is
-expected to interact with the system at runtime. The NDK builds {@code .so} files against these
-definitions. Different ABIs correspond to different architectures: The NDK includes ABI support for
-ARMEABI (default), MIPS, and x86. For more information, see
-<a href="{@docRoot}ndk/guides/abis.html">ABI Management</a>.</li>
-</ul>
-
-<ul>
-<li>Manifest: If you are writing an app with no Java component to it, you must declare the
-{@link android.app.NativeActivity} class in the
-<a href="{@docRoot}guide/topics/manifest/manifest-intro.html">manifest</a>.
-<a href="#naa">Native Activities and Applications</a> provides more detail on how to do this, under
-“Using the {@code native_activity.h} interface.”
-</li>
-</ul>
-
-<p>The following two items are only required for building using the
-<a href="{@docRoot}ndk/guides/ndk-build.html">{@code ndk-build}</a> script,
-and for debugging using the <a href="{@docRoot}ndk/guides/ndk-gdb.html">
-{@code ndk-gdb}</a> script.
-
-<ul>
-<li><a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>:
-You must create an <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> configuration file inside your {@code jni} folder. The {@code ndk-build}
-script looks at this file, which defines the module and its name, the source files to be compiled,
-build flags and libraries to link.</li>
-</ul>
-
-<ul>
-<li><a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>: This file
-enumerates and describes the modules that your app requires. This information includes:
-
-<ul>
-<li>ABIs used to compile for specific platforms.</li>
-<li>Toolchains.</li>
-<li>Standard libraries to include (static and dynamic STLport or default system).</li>
-</ul>
-</li>
-</ul>
-
-
-<h3 id="fl">Flow</h3>
-
-<p>The general flow for developing a native app for Android is as follows:</p>
-<ol type="1">
-<li>Design your app, deciding which parts to implement in Java, and which parts to implement as
-native code.
-
-<p class="note"><strong>Note:</strong> While it is possible to completely avoid Java, you are likely
-to find the Android Java framework useful for tasks including controlling the display and UI.</p>
-</li>
-<li>Create an Android app Project as you would for any other Android project.</li>
-<li>If you are writing a native-only app, declare the {@link android.app.NativeActivity} class in
-{@code AndroidManifest.xml}. For more information, see the <a href="#naa">Native Activities and
-Applications</a>.
-</li>
-<li>Create an {@code Android.mk} file describing the native library, including name, flags, linked
-libraries, and source files to be compiled in the "JNI" directory.</li>
-<li>Optionally, you can create an {@code Application.mk} file configuring the target ABIs,
-toolchain, release/debug mode, and STL. For any of these that you do not specify, the following
-default values are used, respectively:
-<ul>
-<li>
-ABI: armeabi
- </li>
-<li>
-Toolchain: GCC 4.8
- </li>
-<li>
-Mode: Release
- </li>
-<li>
-STL: system
-</ul>
-</li>
-<li>Place your native source under the project's {@code jni} directory.</li>
-<li>Use ndk-build to compile the native ({@code .so}, {@code .a}) libraries.</li>
-<li>Build the Java component, producing the executable {@code .dex} file.</li>
-<li>Package everything into an APK file, containing {@code .so}, {@code .dex}, and other files
-needed for your app to run.
-</ol>
-
-
-<h2 id="naa">Native Activities and Applications</h2>
-
-<p>The Android SDK provides a helper class, {@link android.app.NativeActivity}, that allows you to
-write a completely native activity. {@link android.app.NativeActivity} handles the communication
-between the Android framework and your native code, so you do not have to subclass it or call its
-methods. All you need to do is declare your application to be native in your
-{@code AndroidManifest.xml} file, and begin creating your native application.</p>
-
-<p>An Android application using {@link android.app.NativeActivity} still runs in its own virtual
-machine, sandboxed from other applications. You can therefore still access Android framework APIs
-through the JNI. In certain cases, however&ndash;such as for sensors, input events, and
-assets&ndash;the NDK provides native interfaces that you can use instead of having to call
-across the JNI. For more information about such support, see
-<a href="{@docRoot}ndk/guides/stable_apis.html">Android NDK Native APIs</a>.</p>
-
-<p>Regardless of whether or not you are developing a native activity, we recommend that you create
-your projects with the traditional Android build tools. Doing so helps ensure building and packaging
-of Android applications with the correct structure.</p>
-
-<p>The Android NDK provides you with two choices to implement your native activity:</p>
-
-<ul>
-<li>The <a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a>
-header defines the native version of the
-{@link android.app.NativeActivity} class. It contains the callback interface and data structures
-that you need to create your native activity. Because the main thread of your application handles
-the callbacks, your callback implementations must not be blocking. If they block, you might receive
-ANR (Application Not Responding) errors because your main thread is unresponsive until the callback
-returns.</li>
-<li>The {@code android_native_app_glue.h} file defines a static helper library built on top of the
-<a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a> interface.
-It spawns another thread, which handles things such as
-callbacks or input events in an event loop. Moving these events to a separate thread prevents any
-callbacks from blocking your main thread.</li>
-</ul>
-
-<p>The {@code <ndk_root>/sources/android/native_app_glue/android_native_app_glue.c} source is
-also available, allowing you to modify the implementation.</p>
-<p>For more information on how to use this static library, examine the native-activity sample
-application and its documentation. Further reading is also available in the comments in the {@code <ndk_root>/sources/android/native_app_glue/android_native_app_glue.h} file.</p>
-
-<h3 id="na">Using the native_activity.h interface</h3>
-
-<p>To implement a native activity with the
-<a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a>
-interface:</p>
-
-<ol type="1">
-<li>Create a {@code jni/} directory in your project's root directory. This directory stores all of
-your native code.</li>
-<li>Declare your native activity in the {@code AndroidManifest.xml} file.</li>
-
-<p>Because your application has no Java code, set {@code android:hasCode} to {@code false}.</p>
-
-<pre>
-&lt;application android:label="@string/app_name" android:hasCode="false"&gt;
-</pre>
-
-<p>You must set the {@code android:name} attribute of the activity tag to
-{@link android.app.NativeActivity}.</p>
-
-<pre>
-&lt;activity android:name="android.app.NativeActivity"
-            android:label="@string/app_name"&gt;
-</pre>
-<p class="note"><strong>Note:</strong> You can subclass {@link android.app.NativeActivity}. If you
-do, use the name of the subclass instead of {@link android.app.NativeActivity}.</p>
-<p>The {@code android:value} attribute of the {@code meta-data} tag specifies the name of the shared
-library containing the entry point to the application (such as C/C++ {@code main}), omitting the
-{@code lib} prefix and {@code .so} suffix from the library name.</p>
-
-<pre>
-          &lt;meta-data android:name="android.app.lib_name"
-            android:value="native-activity" /&gt;
-            &lt;intent-filter&gt;
-              &lt;action android:name="android.intent.action.MAIN" /&gt;
-              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
-            &lt;/intent-filter&gt;
-          &lt;/activity&gt;
-        &lt;/application&gt;
-      &lt;/manifest&gt;
-</pre>
-
-<li>Create a file for your native activity, and implement the function named in the
-<a href="{@docRoot}ndk/reference/group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">
-{@code ANativeActivity_onCreate}</a> variable.
-The app calls this function when the native activity starts. This function, analogous
-to {@code main} in C/C++, receives a pointer to an
-<a href="{@docRoot}ndk/reference/struct_a_native_activity.html">{@code ANativeActivity}</a>
-structure, which contains function pointers to the various callback implementations that you need
-to write.
-Set the applicable callback function pointers in {@code ANativeActivity->callbacks} to the
-implementations of your callbacks.</li>
-
-<li>Set the {@code ANativeActivity->instance} field to the address of any instance of specific
-data that you want to use.</li>
-<li>Implement anything else that you want your activity to do upon starting.</li>
-<li>Implement the rest of the callbacks that you set in {@code ANativeActivity->callbacks}. For
-more information on when the callbacks are called, see
-<a href="{@docRoot}training/basics/activity-lifecycle/index.html">Managing the Activity
-Lifecycle</a>.
-</li>
-<li>Develop the rest of your application.</li>
-<li>Create an {@code Android.mk file} in the {@code jni/} directory of your project to describe your
-native module to the build system. For more information, see
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.</li>
-<li>Once you have an <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>
-file, compile your native code using the {@code ndk-build} command.</li>
-
-<pre class="no-pretty-print">
-$ cd &lt;path&gt;/&lt;to&gt;/&lt;project&gt;
-$ &lt;ndk&gt;/ndk-build
-</pre>
-
-<li>Build and install your Android project as usual. If your native code is in
-the {@code jni/} directory, the build script automatically packages the {@code .so} file(s) built
-from it into the APK.</li>
-</ol>
-
-</li>
-</ul>
diff --git a/docs/html/ndk/guides/cpp-support.jd b/docs/html/ndk/guides/cpp-support.jd
deleted file mode 100644
index 6e902f5..0000000
--- a/docs/html/ndk/guides/cpp-support.jd
+++ /dev/null
@@ -1,326 +0,0 @@
-page.title=C++ Library Support
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#hr">Helper Runtimes</a></li>
-        <li><a href="#rc">Runtime Characteristics</a></li>
-        <li><a href="#ic">Important Considerations</a></li>
-        <li><a href="#li">Licensing</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The Android platform provides a very minimal C++ runtime support library ({@code libstdc++}).
-This minimal support does not include, for example:</p>
-
-<ul>
-   <li>Standard C++ Library support (except a few trivial headers).</li>
-   <li>C++ exceptions support</li>
-   <li>RTTI support</li>
-</ul>
-
-<p>The NDK provides headers for use with this default library. In addition, the NDK provides a
-number of helper runtimes that provide additional features. This page provides information about
-these helper runtimes, their characteristics, and how to use them.
-</p>
-
-<h2 id="hr">Helper Runtimes</h2>
-
-<p>Table 1 provides names, brief explanations, and features of runtimes available inthe NDK.</p>
-
-<p class="table-caption" id="runtimes">
-  <strong>Table 1.</strong> NDK Runtimes and Features.</p>
-
-<table>
-<tr>
-<th>Name</th>
-<th>Explanation>
-<th>Features
-</tr>
-
-<tr>
-<td><a href="#system">{@code libstdc++} (default)</a> </td>
-<td>The default minimal system C++ runtime library.</td>
-<td>N/A</td>
-</tr>
-
-<tr>
-<td><a href="#ga">{@code gabi++_static}</a> </td>
-<td>The GAbi++ runtime (static).</td>
-<td>C++ Exceptions and RTTI</td>
-</tr>
-
-<tr>
-<td><a href="#ga">{@code gabi++_shared}</a> </td>
-<td>The GAbi++ runtime (shared).</td>
-<td>C++ Exceptions and RTTI</td>
-</tr>
-
-<tr>
-<td><a href="#stl">{@code stlport_static}</a> </td>
-<td>The STLport runtime (static).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#stl">{@code stlport_shared}</a> </td>
-<td>The STLport runtime (shared).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#gn">{@code gnustl_static}</a> </td>
-<td>The GNU STL (static).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#gn">{@code gnustl_shared}</a> </td>
-<td>The GNU STL (shared).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#cs">{@code c++_static}</a> </td>
-<td>The LLVM libc++ runtime (static).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#cs">{@code c++_shared}</a> </td>
-<td>The LLVM libc++ runtime (shared).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-</table>
-
-<h3>How to set your runtime</h3>
-
-<p>Use the {@code APP_STL} variable in your <a href="{@docRoot}ndk/guides/application_mk.html">
-{@code Application.mk}</a> file to specify the runtime you wish to use. Use the values in
-the "Name" column in Table 1 as your setting. For example:</p>
-
-<pre>
-APP_STL := gnustl_static
-</pre>
-
-<p>You may only select one runtime for your app, and can only do in
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>.</p>
-
-<p>Even if you do not use the NDK build system, you can still use STLport, libc++ or GNU STL.
-For more information on how to use these runtimes with your own toolchain, see <a href="{@docRoot}ndk/guides/standalone_toolchain.html">Standalone Toolchain</a>.</p>
-
-<h2 id="rc">Runtime Characteristics</h2>
-<h3 id="system">libstdc++ (default system runtime)</h3>
-
-<p>This runtime only provides the following headers, with no support beyond them:</p>
-<ul>
-   <li>{@code cassert}</li>
-   <li>{@code cctype}</li>
-   <li>{@code cerrno}</li>
-   <li>{@code cfloat}</li>
-   <li>{@code climits}</li>
-   <li>{@code cmath}</li>
-   <li>{@code csetjmp}</li>
-   <li>{@code csignal}</li>
-   <li>{@code cstddef}</li>
-   <li>{@code cstdint}</li>
-   <li>{@code cstdio}</li>
-   <li>{@code cstdlib}</li>
-   <li>{@code cstring}</li>
-   <li>{@code ctime}</li>
-   <li>{@code cwchar}</li>
-   <li>{@code new}</li>
-   <li>{@code stl_pair.h}</li>
-   <li>{@code typeinfo}</li>
-   <li>{@code utility}</li>
-</ul>
-
-<h3 id="ga">GAbi++ runtime</h3>
-<p>This runtime provides the same headers as the default runtime, but adds support for RTTI
-(RunTime Type Information) and exception handling.</p>
-
-
-<h3 id="stl">STLport runtime</h3>
-<p>This runtime is an Android port of STLport
-(<a href="http://www.stlport.org">http://www.stlport.org</a>). It provides a complete set of C++
-standard library headers. It also, by embedding its own instance of GAbi++, provides support for
-RTTI and exception handling.</p>
-
-<p>While shared and static versions of this runtime are avilable, we recommend using the shared
-version. For more information, see <a href="#sr">Static runtimes</a>.</p>
-
-<p>The shared library file is named {@code libstlport_shared.so} instead of {@code libstdc++.so}
-as is common on other platforms.</p>
-
-<p>In addition to the static- and shared-library options, you can also force the NDK to
-build the library from sources by adding the following line to your {@code Application.mk}
-file, or setting it in your environment prior to building: </p>
-
-<pre>
-STLPORT_FORCE_REBUILD := true
-</pre>
-
-
-<h3 id="gn">GNU STL runtime</h3>
-<p>This runtime is the GNU Standard C++ Library, ({@code libstdc++-v3}). Its shared library file is
-named {@code libgnustl_shared.so}.</p>
-
-
-<h3 id="cs">libc++ runtime:</h3>
-<p>This runtime is an Android port of <a href="http://libcxx.llvm.org/">LLVM libc++</a>. Its
-shared library file is named {@code libc++_shared.so}.</p>
-
-<p>By default, this runtime compiles with {@code -std=c++11}. As with GNU {@code libstdc++}, you
-need to explicitly turn on exceptions or RTTI support. For information on how to do this, see
-<a href="#xp">C++ Exceptions</a> and <a href="#rt">RTTI</a>.</p>
-
-<p>The NDK provides prebuilt static and shared libraries for {@code libc++}, but you can force the
-NDK to rebuild {@code libc++} from sources by adding the following line to your
-{@code Application.mk} file, or setting it in your environment prior to building: </p>
-
-<pre>
-LIBCXX_FORCE_REBUILD := true
-</pre>
-
-<h4>Atomic support</h4>
-
-<p>If you include {@code <atomic>}, it's likely that you also need {@code libatomic}.
-If you are using {@code ndk-build}, add the following line:</p>
-
-<pre>
-LOCAL_LDLIBS += -latomic
-</pre>
-
-<p>If you are using your own toolchain, use:</p>
-
-<pre>
--latomic
-</pre>
-
-
-<h4>Compatibility</h4>
-
-<p>The NDK's libc++ is not stable. Not all the tests pass, and the test suite is not comprehensive.
-Some known issues are:</p>
-
-<ul>
-    <li>Using {@code c++_shared} on ARM can crash when an exception is thrown.</li>
-    <li>Support for {@code wchar_t} and the locale APIs is limited.</li>
-</ul>
-
-<p>You should also make sure to check the "Known Issues" section of the changelog for the NDK
-release you are using.</p>
-
-<p class="note"><strong>Warning: </strong>Attempting to change to an unsupported locale will
-<strong>not</strong> fail. The operation will succeed, but the locale will not change and the
-following message will appear in {@code logcat}.</p>
-
-<pre>
-newlocale() WARNING: Trying to set locale to en_US.UTF-8 other than "", "C" or "POSIX"
-</pre>
-
-
-<h2 id="ic">Important Considerations</h2>
-
-<h3 id="xp">C++ Exceptions</h3>
-<p>In all versions of the NDK later than NDKr5, the NDK toolchain allows you to use C++ runtimes
-that support exception handling. However, to ensure compatibility with earlier releases, it
-compiles all C++ sources with {@code -fno-exceptions} support by default. You can enable C++
-exceptions either for your entire app, or for individual modules.
-
-<p>To enable exception-handling support for your entire app, add the following line to
-your <a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file.
-To enable exception-handling support for individual modules', add the following line to
-their respective <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> files.</p>
-
-<pre>
-APP_CPPFLAGS += -fexceptions
-</pre>
-
-<h3 id="rt">RTTI</h3>
-<p>In all versions of the NDK later than NDKr5, the NDK toolchain allows you to use C++ runtimes
-that support RTTI. However, to ensure compatibility with earlier releases, it compiles all C++
-sources with {@code -fno-rtti} by default.
-
-<p>To enable RTTI support for your entire app for your entire application, add the following line to
-your <a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file:
-
-<pre>
-APP_CPPFLAGS += -frtti
-</pre>
-
-To enable RTTI support for individual modules, add the following line to
-their respective <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> files:
-
-<pre>
-LOCAL_CPP_FEATURES += rtti
-</pre>
-
-Alternatively, you can use:
-
-<pre>
-LOCAL_CPPFLAGS += -frtti
-</pre>
-
-<h3 id="sr">Static runtimes</h3>
-<p>Linking the static library variant of a C++ runtime to more than one binary may result in
-unexpected behavior. For example, you may experience:</p>
-
-<ul>
-<li>Memory allocated in one library, and freed in the other, causing memory leakage or heap
-corruption.</li>
-<li>Exceptions raised in {@code libfoo.so} going uncaught in {@code libbar.so}, causing your app
-to crash.</li>
-<li>Buffering of {@code std::cout} not working properly</li>
-</ul>
-
-<p>In addition, if you link two shared libraries&ndash;or a shared library and an executable&ndash;
-against the same static runtime, the final binary image of each shared library includes a copy of
-the runtime's code. Having multiple instances of runtime code is problematic because of duplication
-of certain global variables that the runtime uses or provides internally.</p>
-
-<p>This problem does not apply to a project comprising a single shared library. For example,
-you can link against {@code stlport_static}, and expect your app to behave correctly. If your
-project requires several shared library modules, we recommend that you use the shared library
-variant of your C++ runtime.</p>
-
-<h3>Shared runtimes</h3>
-<p>If your app targets a version of Android earlier than Android 4.3 (Android API level 18),
-and you use the shared library variant of a given C++ runtime, you must load the shared library
-before any other library that depends on it.</p>
-
-<p>For example, an app may have the following modules:</p>
-
-<ul>
-<li>libfoo.so</li>
-<li>libbar.so which is used by libfoo.so</li>
-<li>libstlport_shared.so, used by both libfoo and libbar</li>
-</ul>
-
-<p>You must load the libraries in reverse dependency order: </p>
-<pre>
-    static {
-      System.loadLibrary("stlport_shared");
-      System.loadLibrary("bar");
-      System.loadLibrary("foo");
-    }
-</pre>
-
-<p class="note"><strong>Note: </strong>Do not use the {@code lib} prefix when calling
-{@code System.loadLibrary()}.</p>
-
-<h2 id="li">Licensing</h2>
-
-<p>STLport is licensed under a BSD-style open-source license. See
-{@code $NDK/sources/cxx-stl/stlport/README} for more details about STLport.</p>
-
-<p>GNU libstdc++ is covered by the GPLv3 license, and <em>not</em> the LGPLv2 or LGPLv3. For
-more information, see <a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html">
-License</a> on the GCC website.</p>
-
-<p><a href="https://llvm.org/svn/llvm-project/libcxx/trunk/LICENSE.TXT">LLVM {@code libc++}</a>
-is dual-licensed under both the University of Illinois "BSD-Like" license and the MIT license.</p>
diff --git a/docs/html/ndk/guides/cpu-arm-neon.jd b/docs/html/ndk/guides/cpu-arm-neon.jd
deleted file mode 100644
index 1d12937..0000000
--- a/docs/html/ndk/guides/cpu-arm-neon.jd
+++ /dev/null
@@ -1,109 +0,0 @@
-page.title=NEON Support
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#ul">Using {@code LOCAL_ARM_NEON}</a></li>
-        <li><a href="#uns">Using the {@code .neon} Suffix</a></li>
-        <li><a href="#build">Build Requirements</a></li>
-        <li><a href="#rd">Runtime Detection</a></li>
-        <li><a href="#sc">Sample Code</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK supports the ARM Advanced SIMD, an optional instruction-set extension of the ARMv7 spec.
-NEON provides a set of scalar/vector instructions and registers (shared with the FPU) comparable to
-MMX/SSE/3DNow! in the x86 world. To function, it requires VFPv3-D32 (32 hardware FPU 64-bit
-registers, instead of the minimum of 16).</p>
-
-<p>The NDK supports the compilation of modules or even specific source files with support for NEON.
-As a result, a specific compiler flag enables the use of GCC ARM NEON intrinsics and VFPv3-D32
-at the same time.</p>
-
-<p>Not all ARMv7-based Android devices support NEON, but devices that do may benefit significantly
-from its support for scalar/vector instructions. For x86 devices, the NDK can also translate NEON
-instructions into SSE, although with several restrictions. For more information, see
-<a href="{@docRoot}ndk/guides/x86.html#an">x86 Support for ARM NEON Intrinsics.</a></p>
-
-<h2 id="ul">Using LOCAL_ARM_NEON</h2>
-<p>To have the NDK build all its source files with NEON support, include the following line in
-your module definition:</p>
-
-<pre class="no-pretty-print">
-LOCAL_ARM_NEON := true
-</pre>
-
-<p>It can be especially useful to build all source files with NEON support if you want to build a
-static or shared library that specifically contains NEON code paths.</p>
-
-<h2 id="uns">Using the .neon Suffix</h2>
-<p>When listing source files for your {@code LOCAL_SRC_FILES} variable, you have the option of
-using the {@code .neon} suffix to indicate that you want to build binaries with NEON support.
-For example, the following example builds one file with {@code .neon} support, and another
-without it:</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := foo.c.neon bar.c
-</pre>
-
-<p>You can combine the {@code .neon} suffix with the {@code .arm} suffix, which specifies the 32-bit
-ARM instruction set for non-NEON instructions. In such a definition, {@code arm} must come before
-{@code neon}. For example: {@code foo.c.arm.neon} works, but {@code foo.c.neon.arm} does not.</p>
-
-<h2 id="build">Build Requirements</h2>
-<p>NEON support only works with the {@code armeabi-v7a} and {@code x86} ABIs. If the NDK build
-scripts encounter other ABIs while attempting to build with NEON support, the NDK build scripts
-exit. x86 provides <a href="x86.html">partial NEON support</a> via translation header. It is
-important to use checks like the following in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre class="no-pretty-print">
-# define a static library containing our NEON code
-ifeq ($(TARGET_ARCH_ABI),$(filter $(TARGET_ARCH_ABI), armeabi-v7a x86))
-include $(CLEAR_VARS)
-LOCAL_MODULE    := mylib-neon
-LOCAL_SRC_FILES := mylib-neon.c
-LOCAL_ARM_NEON  := true
-include $(BUILD_STATIC_LIBRARY)
-endif # TARGET_ARCH_ABI == armeabi-v7a || x86
-</pre>
-
-<h2 id="rd">Runtime Detection</h2>
-<p>Your app must perform runtime detection to confirm that NEON-capable machine code can be run on
-the target device. This is because not all ARMv7-based Android devices support NEON. The app can
-perform this check using the
-<a href="{@docRoot}ndk/guides/cpu-features.html">{@code cpufeatures}</a> library that comes with
-this NDK.</p>
-
-<p>You should explicitly check that {@code android_getCpuFamily()} returns {@code
-ANDROID_CPU_FAMILY_ARM}, and that {@code android_getCpuFeatures()} returns a value including the
-{@code ANDROID_CPU_ARM_FEATURE_NEON flag} set. For example: </p>
-
-<pre class="no-pretty-print">
-#include &lt;cpu-features.h&gt;
-...
-...
-if (android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM &amp;&amp;
-    (android_getCpuFeatures() &amp; ANDROID_CPU_ARM_FEATURE_NEON) != 0)
-{
-    // use NEON-optimized routines
-    ...
-}
-else
-{
-    // use non-NEON fallback routines instead
-    ...
-}
-
-...
-</pre>
-
-<h2 id="sc">Sample Code</h2>
-<p>The source code for the NDK's hello-neon sample provides an example of how to use the
-{@code cpufeatures} library and NEON intrinsics at the same time. This sample implements a tiny
-benchmark for a FIR filter loop using a C version, and a NEON-optimized one for devices that
-support it.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/cpu-features.jd b/docs/html/ndk/guides/cpu-features.jd
deleted file mode 100644
index 3323efd..0000000
--- a/docs/html/ndk/guides/cpu-features.jd
+++ /dev/null
@@ -1,210 +0,0 @@
-page.title=The cpufeatures Library
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#usage">Usage</a></li>
-        <li><a href="#functions">Functions</a></li>
-        <li><a href="#ch">Change History</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK provides a small library named {@code cpufeatures} that your app can use at runtime to
-detect the target device's CPU family and the optional features it supports. It is designed to work
-as-is on all official Android platform versions.</p>
-
-<h2 id="usage">Usage</h2>
-<p>The {@code cpufeatures} library is available as an import module. To use it, follow the procedure
-below:</p>
-
-<ol>
-<li>List {@code cpufeatures} in your list of static library dependencies. For example:
-
-<pre class="no-pretty-print">
-LOCAL_STATIC_LIBRARIES := cpufeatures
-</pre>
-</li>
-
-<li>In your source code, include the {@code <cpu-features.h>} header file.</li>
-
-<li>At the end of your <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file,
-insert an instruction to import the {@code android/cpufeatures} module. For example:
-
-<pre class="no-pretty-print">
-$(call import-module,android/cpufeatures)
-</pre>
-
-<p>Here is a simple example of an {@code Android.mk} file that imports the {@code cpufeatures}
-library:</p>
-
-<pre class="no-pretty-print">
-&lt;project-path&gt;/jni/Android.mk:
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := &lt;your-module-name&gt;
-LOCAL_SRC_FILES := &lt;your-source-files&gt;
-LOCAL_STATIC_LIBRARIES := cpufeatures
-include $(BUILD_SHARED_LIBRARY)
-
-$(call import-module,android/cpufeatures)
-</pre>
-</li>
-</ol>
-
-<h2 id="functions">Functions</h2>
-<p>The {@code cpufeatures} library provides two functions. The first function returns the family to
-which the device's CPU belongs. Declare it as follows:</p>
-
-<pre class="no-pretty-print">
-AndroidCpuFamily android_getCpuFamily();
-</pre>
-
-<p>The function returns one of the following enums, representing the CPU family/architecture that
-the device supports.</p>
-<ul>
-<li>{@code ANDROID_CPU_FAMILY_ARM}</li>
-<li>{@code ANDROID_CPU_FAMILY_X86}</li>
-<li>{@code ANDROID_CPU_FAMILY_MIPS}</li>
-<li>{@code ANDROID_CPU_FAMILY_ARM64}</li>
-<li>{@code ANDROID_CPU_FAMILY_X86_64}</li>
-<li>{@code ANDROID_CPU_FAMILY_MIPS64}</li>
-</ul>
-
-<p>For a 32-bit executable on a 64-bit system, this function returns only the 32-bit value.</p>
-
-<p>The second function returns the set of optional features that the device's CPU supports. Declare
-it as follows:
-
-<pre class="no-pretty-print">
-uint64_t android_getCpuFeatures();
-</pre>
-
-<p>The return value takes the form of a set of bit flags, each flag representing one
-CPU-family-specific feature. The rest of this section provides information on features for
-the respective families.</p>
-
-<h4>32-bit ARM CPU family</h4>
-
-<p>The following flags are available for the 32-bit ARM CPU family:</p>
-<dl>
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFPv2}</dt>
-<dd>Indicates that the device's CPU supports the VFPv2 instruction set. Most ARMv6 CPUs support
-this instruction set.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_ARMv7}</dt>
-<dd>Indicates that the device's CPU supports the ARMv7-A instruction set as supported by the
-<a href="{@docRoot}ndk/guides/abis.html#v7a">armeabi-v7a</a> ABI. This instruction set supports both
-Thumb-2 and VFPv3-D16 instructions. This return value also indicates support for the VFPv3 hardware
-FPU instruction-set extension.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFPv3}</dt>
-<dd>Indicates that the device's CPU supports the VFPv3 hardware FPU instruction-set extension.
-<p>This value is equivalent to the {@code VFPv3-D16} instruction set, which provides provides only
-16 hardware double-precision FP registers.</p></dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFP_D32}</dt>
-<dd> Indicates that the device's CPU supports 32 hardware double-precision FP registers instead of
-16. Even when there are 32 hardware double-precision FP registers, there are still only 32
-single-precision registers mapped to the same register banks.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_NEON}</dt>
-<dd>Indicates that the device's CPU supports the ARM Advanced SIMD (NEON) vector instruction set
-extension. Note that ARM mandates that such CPUs also implement VFPv3-D32, which provides 32
-hardware FP registers (shared with the NEON unit).</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFP_FP16}</dt>
-<dd>Indicates that the device's CPU supports instructions to perform floating-point operations on
-16-bit registers. This feature is part of the VFPv4 specification.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFP_FMA}</dt>
-<dd>Indicates that the device's CPU supports the fused multiply-accumulate extension for the VFP
-instruction set. Also part of the VFPv4 specification.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_NEON_FMA}</dt>
-<dd>Indicates that the device's CPU supports the fused multiply-accumulate extension for the NEON
-instruction set. Also part of the VFPv4 specification.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_IDIV_ARM}</dt>
-<dd>Indicates that the device's CPU supports integer division in ARM mode. Only available on later-
-model CPUs, such as Cortex-A15.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_IDIV_THUMB2}</dt>
-<dd>Indicates that the device's CPU supports Integer division in Thumb-2 mode. Only available on
-later-model CPUs, such as Cortex-A15.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_iWMMXt}</dt>
-<dd>Indicates that the device's CPU supports an instruction-set extension that adds MMX registers
-and instructions. This feature is only available on a few XScale- based CPUs.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_LDREX_STREX}</dt>
-<dd>Indicates that the device's CPU supports LDREX and STREX instructions available since ARMv6.
-Together, these instructions provide atomic updates on memory with the help of exclusive
-monitor.</dd>
-</dl>
-
-<h4>64-bit ARM CPU family</h4>
-
-<p>The following flags are available for the 64-bit ARM CPU family:</p>
-<dl>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_FP}</dt>
-<dd>Indicates that the device's CPU has a Floating Point Unit (FPU). All Android ARM64 devices must
-support this feature.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_ASIMD}</dt>
-<dd>Indicates that the device's CPU has an Advanced SIMD (ASIMD) unit. All Android ARM64 devices
-must support this feature.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_AES}</dt>
-<dd>Indicates that the device's CPU supports {@code AES} instructions.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_CRC32}</dt>
-<dd>Indicates that the device's CPU supports {@code CRC32} instructions.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_SHA1}</dt>
-<dd>Indicates that the device's CPU supports {@code SHA1} instructions.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_SHA2}</dt>
-<dd>Indicates that the device's CPU supports {@code SHA2} instructions.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_PMULL}</dt>
-<dd>Indicates that the device's CPU supports 64-bit {@code PMULL} and {@code PMULL2}
-instructions.</dd>
-</dl>
-
-<h4>32-bit x86 CPU family</h4>
-
-<p>The following flags are available for the 32-bit x86 CPU family.<p>
-<dl>
-<dt>{@code ANDROID_CPU_X86_FEATURE_SSSE3}</dt>
-Indicates that the device's CPU supports the SSSE3 instruction extension set.</dd>
-
-<dt>{@code ANDROID_CPU_X86_FEATURE_POPCNT}</dt>
-<dd>Indicates that the device's CPU supports the {@code POPCNT} instruction.</dd>
-
-<dt>{@code ANDROID_CPU_X86_FEATURE_MOVBE}</dt>
-<dd>Indicates that the device's CPU supports the {@code MOVBE} instruction. This instruction is
-specific to some Intel IA-32 CPUs, such as Atom.</dd>
-<dl>
-
-<p>{@code android_getCpuFeatures()} returns {@code 0} for CPU families for which there are no
-listed extensions.</p>
-
-<p>The following function returns the maximum number of CPU cores on the target device: </p>
-
-<pre class="no-pretty-print">
-int  android_getCpuCount(void);
-</pre>
-
-<h4>MIPS CPU family</h4>
-
-<dl>
-<dt>{@code ANDROID_CPU_MIPS_FEATURE_R6}</dt>
-<dd>Indicates that the CPU executes MIPS Release 6 instructions natively, and supports obsoleted R1..R5 instructions only via kernel traps.</dd>
-
-<dt>{@code ANDROID_CPU_MIPS_FEATURE_MSA}</dt>
-<dd>Indicates that the CPU supports MIPS SIMD Architecture instructions.</dd>
-</dl>
-
-<h2 id="ch">Change History</h2>
-<p>For the complete change history of this library, see the comments in
-{@code $NDK/sources/android/cpufeatures/cpu-features.c}, where {@code $NDK} is the root of your
-NDK installation.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/debug.jd b/docs/html/ndk/guides/debug.jd
deleted file mode 100644
index 3c4da3b..0000000
--- a/docs/html/ndk/guides/debug.jd
+++ /dev/null
@@ -1,11 +0,0 @@
-page.title=Debugging Your Project
-@jd:body
-
-<p>After you've built your app, you'll probably need to debug it. This section introduces you to the
-NDK's debugging tools.</p>
-
-<p>It begins by telling you how to use the <a href="{@docRoot}ndk/guides/ndk-gdb.html">
-{@code ndk-gdb}</a> tool to debug your code. It closes with an explanation of the
-<a href="{@docRoot}ndk/guides/ndk-stack.html">{@code ndk-stack}</a> tool, which helps you use the
-<a href="{@docRoot}tools/help/logcat.html">ADB logcat tool</a>
-as you debug.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/graphics/design-notes.jd b/docs/html/ndk/guides/graphics/design-notes.jd
deleted file mode 100644
index 272bd2d..0000000
--- a/docs/html/ndk/guides/graphics/design-notes.jd
+++ /dev/null
@@ -1,121 +0,0 @@
-page.title=Vulkan Design Guidelines
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#apply">Apply Display Rotation During Rendering</a></li>
-        <li><a href="#minimize">Minimize Render Passes Per Frame</a></li>
-        <li><a href="#choose">Choose Appropriate Memory Types</a></li>
-        <li><a href="#group">Group Descriptor Sets by Frequency</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>
-Vulkan is unlike earlier graphics APIs in that drivers do not perform certain
-optimizations, such as pipeline reuse, for apps. Instead, apps using Vulkan must
-implement such optimizations themselves. If they do not, they may exhibit worse
-performance than apps running OpenGL ES.
-</p>
-
-<p>
-When apps implement these optimizations themselves, they have the potential
-to do so more successfully than the driver can, because they have access to
-more specific information for a given use case. As a result, skillfully
-optimizing an app that uses Vulkan can yield better performance than if the
-app were using OpenGL ES.
-</p>
-
-<p>
-This page introduces several optimizations that your Android app can implement
-to gain performance boosts from Vulkan.
-</p>
-
-<h2 id="apply">Apply Display Rotation During Rendering</h2>
-
-<p>
-When the upward-facing direction of an app doesn’t match the orientation of the device’s
-display, the compositor rotates the application’s swapchain images so that it
-does match. It performs this rotation as it displays the images, which results
-in more power consumption&mdash;sometimes significantly more&mdash;than if it were not
-rotating them.
-</p>
-
-<p>
-By contrast, rotating swapchain images while generating them results in
-little, if any, additional power consumption. The
-{@code VkSurfaceCapabilitiesKHR::currentTransform} field indicates the rotation
-that the compositor applies to the window. After an app applies that rotation
-during rendering, the app uses the {@code VkSwapchainCreateInfoKHR::preTransform}
-field to report that the rotation is complete.
-</p>
-
-<h2 id="minimize">Minimize Render Passes Per Frame</h2>
-
-<p>
-On most mobile GPU architectures, beginning and ending a render pass is an
-expensive operation. Your app can improve performance by organizing rendering operations into
-as few render passes as possible.
-</p>
-
-<p>
-Different attachment-load and attachment-store ops offer different levels of
-performance. For example, if you do not need to preserve the contents of an attachment, you
-can use the much faster {@code VK_ATTACHMENT_LOAD_OP_CLEAR} or
-{@code VK_ATTACHMENT_LOAD_OP_DONT_CARE} instead of {@code VK_ATTACHMENT_LOAD_OP_LOAD}. Similarly, if
-you don't need to write the attachment's final values to memory for later use, you can use
-{@code VK_ATTACHMENT_STORE_OP_DONT_CARE} to attain much better performance than
-{@code VK_ATTACHMENT_STORE_OP_STORE}.
-</p>
-
-<p>
-Also, in most render passes, your app doesn’t need to load or store the
-depth/stencil attachment. In such cases, you can avoid having to allocate physical memory for
-the attachment by using the {@code VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT}
-flag when creating the attachment image. This bit provides the same benefits as does
-{@code glFramebufferDiscard} in OpenGL ES.
-</p>
-
-<h2 id="choose">Choose Appropriate Memory Types</h2>
-
-<p>
-When allocating device memory, apps must choose a memory type. Memory type
-determines how an app can use the memory, and also describes caching and
-coherence properties of the memory.  Different devices have different memory
-types available; different memory types exhibit different performance
-characteristics.
-</p>
-
-<p>
-An app can use a simple algorithm to pick the best memory type for a given
-use. This algorithm picks the first memory type in the
-{@code VkPhysicalDeviceMemoryProperties::memoryTypes} array that meets two criteria:
-The memory type must be allowed for the buffer
-or image, and must have the minimum properties that the app requires.
-</p>
-
-<p>
-Mobile systems generally don’t have separate physical memory heaps for the
-CPU and GPU. On such systems, {@code VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT} is not as
-significant as it is on systems that have discrete GPUs with their own, dedicated
-memory. An app should not assume this property is required.
-</p>
-
-<h2 id="group">Group Descriptor Sets by Frequency</h2>
-
-<p>
-If you have resource bindings that change at different frequencies, use
-multiple descriptor sets per pipeline rather than rebinding all resources for
-each draw. For example, you can have one set of descriptors for per-scene
-bindings, another set for per-material bindings, and a third set for
-per-mesh-instance bindings.
-</p>
-
-<p>
-Use immediate constants for the highest-frequency changes, such as changes
-executed with each draw call.
-</p>
-
diff --git a/docs/html/ndk/guides/graphics/getting-started.jd b/docs/html/ndk/guides/graphics/getting-started.jd
deleted file mode 100644
index 0c2d939..0000000
--- a/docs/html/ndk/guides/graphics/getting-started.jd
+++ /dev/null
@@ -1,201 +0,0 @@
-page.title=Vulkan Setup
-@jd:body
-
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#downloading">Downloading</a></li>
-        <li><a href="#testing">Testing Installation</a></li>
-        <li><a href="#compiling">Compiling Your Project</a></li>
-        <li><a href="#running">Running Your Project</a></li>
-        <li><a href="#using">Using the Dynamic Loader</a></li>
-      </ol>
-
-    </div>
-  </div>
-
-<p>
-This document explains how to get started with the Vulkan graphics library by downloading,
-compiling, and running several sample apps.
-</p>
-
-<p>
-Before beginning, make sure you have the right hardware and platform version prepared. You should
-be using one of the following devices, running at least Android N, Developer Preview 2:
-</p>
-
-<ul>
-   <li>Nexus 6P.</li>
-   <li>Nexus 5X.</li>
-   <li>Nexus Player.</li>
-</ul>
-
-<p>
-You can confirm your Android version by going to the <strong>Settings</strong> menu, and
-selecting <strong>About &lt;device&gt;</strong> > <strong>Android Version</strong>.
-Once you’ve confirmed that you have the right hardware and platform version set up, you can
-download the necessary software.
-</p>
-
-<h2 id="downloading">Downloading</h2>
-
-<p>
-Before getting started, you must download several tools and other software.
-</p>
-
-<ol style="1">
-   <li>If you don’t already have Android Studio,
-   <a href="{@docRoot}studio/index.html">download it.</a></li>
-
-<li><a href="https://github.com/android-ndk/ndk/wiki">Download</a> NDK r12-beta.</li>
-
-<li><a href="{@docRoot}preview/setup-sdk.html">Download and install
-the Android N-Preview SDK.</a></li>
-
-<li>(Optional) Build shaderc in NDK r12-beta by navigating to
-{@code &lt;ndk-root&gt;/sources/third_party/shaderc/},
-and running the following command:
-
-<pre class="no-pretty-print">
-../../../ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk \
- APP_STL:=c++_shared APP_ABI=all libshaderc_combined
-</pre>
-
-You can specify {@code APP_STL} as {@code gnustl_static},
-{@code gnustl_shared}, {@code c++_static},
-or {@code c++_shared}.</li>
-
-<li>Open a terminal window, and use git to clone the Android Vulkan samples from the
-repository in which they reside.
-
-<pre class="no-pretty-print">
-$ git clone https://github.com/googlesamples/vulkan-basic-samples.git
-</pre>
-</li>
-
-<li>
-Navigate to the {@code LunarGSamples/} directory, which is in the local repository
-that you checked out in the previous step.
-</li>
-
-<li>Update the gslang source by entering the following command:
-
-<pre class="no-pretty-print">
-$ ./update_external_sources.sh -s -g
-</pre>
-</li>
-
-</ol>
-
-
-<h2 id="testing">Testing Installation</h2>
-
-<p>
-To confirm that Vulkan is set up properly, you can test it with
-the set of Vulkan API samples provided partly for that purpose. Follow these steps to
-build and execute these samples:
-</p>
-
-<ol style="1">
-
-
-<li>(Optional) Build the source by entering the following commands:
-
-<pre class="no-pretty-print">
-$ cd API-samples
-$ cmake -DANDROID=ON -DANDROID_ABI=[armeabi-v7a|arm64-v8a| x86|x86_64|all(default)]
-</pre>
-</li>
-
-<li>
-Import the samples into Android Studio. To do so, choose <strong>File</strong> >
-<strong>Import
-project (Eclipse, ADT, Gradle)</strong> and
-select the {@code LunarGSamples/API-Samples/android} directory.
-
-<p>You may see an error about missing components or missing SDK version.
-Ignore this error message, and follow the installation prompts.</p>
-
-<p>After several minutes, the <em>Project</em> pane should
-resemble the window shown in Figure 1.</p>
-
-<img src="../images/project-pane.png"
-alt="Project pane after importing samples into Android Studio" id="figure1" />
-
-<p class="img-caption">
-<strong>Figure 1.</strong> Project pane displaying samples after they've been imported.
-
-</li>
-</ol>
-
-<h2 id="compiling">Compiling Your Project</h2>
-
-<p>To compile your project, follow these steps:</p>
-
-<ol style="1">
-<li>Select your project in the Android Studio <em>Project</em> panel.</li>
-<li>From the <strong>Build</strong> menu, choose <strong>Make Module &lt;module-name&gt; </strong>; or select <strong> Build APK </strong> to generate APK.</li>
-<li>Resolve any dependency issues, and then compile. As Figure 2 shows, you can select individual projects to compile by choosing them from the configuration pulldown.</li>
-
-<img src="../images/config-pulldown.png"
-alt="Selecting the "drawcube" project from the config pulldown id="figure2" />
-
-<p class="img-caption">
-<strong>Figure 2.</strong> Selecting an individual project to compile.
-
-</ol>
-
-<p class="note"><strong>Note: </strong>
-<a href="https://github.com/googlesamples/android-vulkan-tutorials">Additional
-tutorial samples</a> illustrate the use of shaders compiled with off-line
-compilation integrated into Android Studio. For simplicity, each tutorial
-is self-contained, and builds according to standard Android Studio
-<a href="{@docRoot}tools/studio/index.html">build procedures.</a>
-</p>
-
-<h2 id="running">Running Your Project</h2>
-
-<p>To run your project, choose an APK to run by choosing <strong>Run</strong> > <strong>Run &lt;project-name&gt;</strong>.</p>
-
-<p>To debug an APK, choose <strong>Run</strong> >
-<strong>Debug &lt;project-name&gt;</strong>.  For each project,
-there’s a Java version and a native (C or C++) version.  Run the
-native version of the app. For example, for drawcube,
-run drawcube-native.</p>
-
-<p>Most of the samples have simple functionality, and most stop
-automatically after running.  The drawcube example is one of
-the more visually interesting examples. When you run it, it
-should display the image in Figure 3</p>.
-
-<img src="../images/drawcube-output.png"
-alt="Successfully running shows a multicolored cube" id="figure3" />
-
-<p class="img-caption">
-<strong>Figure 3.</strong> The successfully compiled program runs and produces a display.
-</p>
-
-<h2 id="using">Using the Dynamic Loader</h2>
-<p>
-The samples use a dynamic loader helper function defined in {@code vulkan_wrapper.h/cpp} to
-retrieve Vulkan API pointers using {@code dlopen()} and {@code dlsym()}. It does this rather
-than statically linking them with {@code vulkan.so}.
-</p>
-
-<p>
-Using this loader allows the code to link against API level 23 and earlier versions of the platform, which don’t include the {@code vulkan.so} shared library, but can run on devices that support Vulkan API.
-</p>
-
-<p>
-The following snippet shows how to use the dynamic loader.
-</p>
-
-<pre>
-#include "vulkan_wrapper.h" // Include Vulkan_wrapper and dynamically load symbols.
-...
-// Before any Vulkan API usage,
-InitVulkan();
-</pre>
diff --git a/docs/html/ndk/guides/graphics/index.jd b/docs/html/ndk/guides/graphics/index.jd
deleted file mode 100644
index cbd4b9c..0000000
--- a/docs/html/ndk/guides/graphics/index.jd
+++ /dev/null
@@ -1,36 +0,0 @@
-page.title=Vulkan Graphics API
-@jd:body
-
-
-<p>The Android platform includes an Android-specific implementation of the
-<a class="external-link" href="https://www.khronos.org/vulkan/">Vulkan</a> API
-specification from the Khronos Group. Vulkan is a
-low-overhead, cross-platform API for high-performance, 3D graphics. It provides tools
-for creating high-quality, real-time graphics in
-applications. Vulkan also provides advantages such as reducing
-CPU overhead and providing support for the
-<a class="external-link" href="https://www.khronos.org/spir">SPIR-V Binary
-Intermediate language</a>.
-</p>
-
-<p>
-This section begins with information on how to
-<a href="{@docRoot}ndk/guides/graphics/getting-started.html">get started</a> using Vulkan in your
-Android app. Next, it provides useful information that you should know about
-<a href="{@docRoot}ndk/guides/graphics/design-notes.html">Vulkan design guidelines</a>
-on the Android platform. From there, it explains how
-to use Vulkan's <a href="{@docRoot}ndk/guides/graphics/shader-compilers.html">shader compilers</a>.
-Last, it teaches you how to use
-<a href="{@docRoot}ndk/guides/graphics/validation-layer.html">validation layers</a>
-to help assure stability in apps using Vulkan.
-</p>
-
-<p>
-For more general information about this cross-platform API specification, see
-Khronos's
-<a class="external-link" href="http://khr.io/vulkanlaunchoverview">
-Vulkan Overview</a>.
-You can also keep up with the latest Vulkan-related developments at the
-Vulkan
-<a class="external-link" href="https://www.khronos.org/#slider_vulkan">news page</a>.
-</p>
diff --git a/docs/html/ndk/guides/graphics/shader-compilers.jd b/docs/html/ndk/guides/graphics/shader-compilers.jd
deleted file mode 100644
index c51c21c..0000000
--- a/docs/html/ndk/guides/graphics/shader-compilers.jd
+++ /dev/null
@@ -1,194 +0,0 @@
-page.title=Vulkan Shader Compilers on Android
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#aot">AOT Compilation</a></li>
-        <li><a href="#runtime">Runtime Compilation</a></li>
-        <li><a href="#integrating">Integrating Into your Project</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>
-A Vulkan app must manage shaders differently from the way an OpenGL ES app does so:
-In OpenGL ES, you provide a shader as a set of strings forming the source text of a
-GLSL shader program. By contrast, the Vulkan API requires you to provide a shader in
-the form of an entry point in a <a href=”https://www.khronos.org/spir”>SPIR-V</a> module.
-</p>
-
-<p>
-The NDK includes a runtime library for compiling GLSL into SPIR-V.
-The runtime library is the same as the one in the
-<a href="https://github.com/google/shaderc">Shaderc</a> open source project, and use the same
-<a href="https://github.com/KhronosGroup/glslang">Glslang GLSL</a> reference compiler as a
-back end. By default, the Shaderc version of the
-compiler assumes you are compiling for Vulkan.  After checking whether your code is valid for
-Vulkan, the compiler automatically enables the {@code KHR_vulkan_glsl} extension. The Shaderc
-version of the compiler also generates Vulkan-compliant SPIR-V code.
-</p>
-
-<p>
-You can choose to compile SPIR-V modules into your Vulkan app during development, a
-practice called <em>ahead-of-time</em>, or <em>AOT</em>, compiling. Alternatively,
-you can have your app compile them from shipped or procedurally generated shader
-source when needed during runtime. This practice is called <em>runtime compiling</em>.
-</p>
-
-<p>
-The rest of this page provides more detail about each practice, and then explains
-how to integrate shader compilation into your Vulkan app.
-</p>
-
-<h2 id=”aot”>AOT Compilation</h2>
-
-<p>
-For AOT compilation, we recommend the <em>glslc</em> command-line compiler from GLSL to SPIR-V.
-This compiler is available from the <a href="https://github.com/google/shaderc">Shaderc</a>
-project.</a>Many of its command-line options are similar to those of GCC and Clang, allowing
-you to integrate glslc into build systems easily.
-</p>
-
-<p>
-The glslc tool compiles a single-source file to a SPIR-V module with a single shader
-entry point.  By default, the output file has the same name as that of the source file,
-but with the {@code .spv} extension appended.
-</p>
-
-<p>
-You use filename extensions to tell the glslc tool which graphics shader stage to compile,
-or whether a compute shader is being compiled. For information on how to use these filename
-extensions, and options you can use with the tool, see
-<a href="https://github.com/google/shaderc/tree/master/glslc#user-content-shader-stage-specification">
-Shader stage specification</a> in the
-<a href="https://github.com/google/shaderc/tree/master/glslc">
-glslc</a> manual.
-</p>
-
-<h2 id="runtime">Runtime Compilation</h2>
-
-<p>
-For JIT compilation of shaders during runtime, the NDK provides the libshaderc library,
-which has both C and C++ APIs.
-</p>
-
-<p>
-C++ applications should use the C++ API. We recommend that apps in other languages
-use the C API, because the C ABI is lower level, and likely to provide better stability.
-</p>
-
-<p>
-The following example shows how to use the C++ API:
-</p>
-
-<pre>
-#include &lt;iostream&gt;
-#include &lt;string&gt;
-#include &lt;vector&gt;
-#include &lt;shaderc/shaderc.hpp&gt;
-
-std::vector&lt;uint32_t&gt; compile_file(const std::string& name,
-                                   shaderc_shader_kind kind,
-                                   const std::string& data) {
-  shaderc::Compiler compiler;
-  shaderc::CompileOptions options;
-
-  // Like -DMY_DEFINE=1
-  options.AddMacroDefinition("MY_DEFINE", "1");
-
-  shaderc::SpvCompilationResult module = compiler.CompileGlslToSpv(
-      data.c_str(), data.size(), kind, name.c_str(), options);
-
-  if (module.GetCompilationStatus() !=
-      shaderc_compilation_status_success) {
-    std::cerr << module.GetErrorMessage();
-  }
-
-  std::vector&lt;uint32_t&gt; result(module.cbegin(), module.cend());
-  return result;
-}
-</pre>
-
-
-
-<h2 id=”integrating”>Integrating into Your Projects</h2>
-
-<p>
-You can integrate the Vulkan shader compiler into your app using either the project's
-{@code Android.mk} file or Gradle.
-</p>
-
-<h3 id=”androidmk”>Android.mk</h3>
-
-<p>
-Perform the following steps to use your project's {@code Android.mk}
-file to integrate the shader compiler.
-</p>
-
-<ol>
-<li>
-Include the following lines in your Android.mk file:
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-     ...
-LOCAL_STATIC_LIBRARIES := shaderc
-     ...
-include $(BUILD_SHARED_LIBRARY)
-
-$(call import-module, third_party/shaderc)
-</pre>
-</li>
-
-<li>
-Set APP_STL to one of {@code c++_static}, {@code c++_shared}, {@code gnustl_static},
-or {@code gnustl_shared}.
-</li>
-</ol>
-
-
-
-<h3 id=”gradle”>Gradle</h3>
-
-<ol>
-<li>
-In a terminal window, navigate to
-{@code &lt;ndk_root&gt;/sources/third_party/shaderc/}.
-</li>
-
-<li>
-Run the following command:
-
-<pre class="no-pretty-print">
-$ ../../../ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk \
-APP_STL:=&lt;stl_version&gt; APP_ABI=all libshaderc_combined
-</pre>
-
-<p>
-This command places two folders in &lt;ndk_root&gt;/sources/third_party/shaderc/. The directory
-structure is as follows:
-</p>
-
-<pre class="no-pretty-print">
-include/
-  shaderc/
-    shaderc.h
-    shaderc.hpp
-libs/
-  &lt;stl_version&gt;/
-    {all of the abis}
-       libshaderc.a
-</pre>
-</li>
-
-<li>
-Add includes and link lines as you normally would for external libraries.
-</li>
-<p>
-The STL that you use to build your program must match the {@code stl} specified in
-{@code stl_version}.
-Only {@code c++_static}, {@code c++_shared}, {@code gnustl_static}, and
-{@code gnustl_shared} are supported.
-</p>
diff --git a/docs/html/ndk/guides/graphics/validation-layer.jd b/docs/html/ndk/guides/graphics/validation-layer.jd
deleted file mode 100644
index 1a7d832..0000000
--- a/docs/html/ndk/guides/graphics/validation-layer.jd
+++ /dev/null
@@ -1,433 +0,0 @@
-page.title=Vulkan Validation Layers on Android
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#ilp">Add Validation Layers to Project</a></li>
-        <li><a href="#gls">Getting Layer Source</a></li>
-        <li><a href="#verifying">Verifying Layer Build</a></li>
-        <li><a href="#enabling">Enabling Layers</a></li>
-        <li><a href="#debug">Enabling the Debug Callback</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>
-Most explicit graphics APIs do not perform error-checking, because doing so can result in a
-performance penalty. Vulkan provides error-checking in a manner that lets you use this feature at
-development time, but exclude it from the release build of your app, thus avoiding the penalty when
-it matters most. You do this by enabling <em>validation layers</em>. Validation layers intercept
-or hook Vulkan entry points for various debug and validation purposes.
-</p>
-
-<p>
-Each validation layer can contain definitions for one or more of these entry points, and
-intercepts the entry points for which it contains definitions. When a validation
-layer does not define an entry point, the system passes the entry point on to the next
-layer. Ultimately, an entry point not defined in any layer reaches the driver, the
-base level, unvalidated.
-</p>
-
-<p>
-The Android SDK, NDK, and Vulkan samples include Vulkan validation layers for
-use during development. You can hook these validation layers into the graphics stack, allowing
-them to report validation issues.  This instrumentation allows you to catch and fix misuses
-during development.
-</p>
-
-<p>
-This page explains how to:
-<ul>
-   <li>Integrate NDK's Layer Binaries.</li>
-   <li>Get source code for validation layers.</li>
-   <li>Verifying Layer Build.</li>
-   <li>Enabling Layers in Vulkan Application.</li>
-
-</ul>
-</p>
-
-<h2 id="ilp">Add Validation Layers to Project</h2>
-
-<p>
-  NDK release 12 and higher includes pre-built validation layer binaries. At
-  instance and device creation time, when requested by your application, the
-  Vulkan loader finds them in the APK installed location and loads them.
-</p>
-
-<p>
-  To use the pre-built validation layer binaries, either modify the gradle build
-  configuration of your project or manually add the binaries into the JNI
-  libraries directory of your project.
-</p>
-
-
-<h3 id="vl-gradle">Adding validation layers with Gradle</h3>
-
-<p>
-  You can add the validation layer your project using either Andorid Studio's
-  support for CMake and Ndk-build, or using Studio's experimental plugin for
-  Gradle. In general, you should use the CMake and Ndk-build configuration.
-</p>
-
-
-<p>
-  To add the libraries using Android Studio's support for CMake/Ndk-build,
-  add the following to your project's gradle configuration:
-</p>
-
-<pre class="no-pretty-print">
-sourceSets {
-  main {
-    jniLibs {
-      srcDir "${your-ndk-dir}/sources/third_party/vulkan/src/build-android/jniLibs"
-    }
-  }
-}</pre>
-
-<p>
-  To add the libraries using Android Studio's experimental plugin for Gradle,
-  add the following to your project's gradle configuration:
-</p>
-
-<pre class="no-pretty-print">
-sources {
-  main {
-    jniLibs {
-      source.srcDir "${your-ndk-dir}/sources/third_party/vulkan/src/build-android/jniLibs"
-    }
-  }
-}</pre>
-
-
-<h3 id="vl-jni-lib">Adding validation layers to JNI libraries</h3>
-
-<p>
-  If configuring your project's gradle build file is not working, you can
-  manually add the validation layer binaries to your project's JNI libraries
-  directory by using the following command line options:
-</p>
-
-<pre class="no-pretty-print">
-$ cd ${your-app-project-root}
-$ mkdir -p app/src/main
-$ cp -fr ${your-ndk-dir}/sources/third_party/vulkan/src/build-android/jniLibs app/src/main/
-</pre>
-
-
-<h2 id="gls">Getting Layer Source</h2>
-<p>
-If your app needs the latest validation layer, you can pull the latest source from the Khronos Group
-<a class="external-link" href="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers">
-GitHub repository</a> and follow the build instructions there.
-</p>
-
-<h2 id="verifying">Verifying Layer Build</h2>
-
-<p>
-Regardless of whether you build with NDK's prebuilt layers or you build from the latest source code,
-the build process produces final file structure like the following:
-</p>
-
-<pre class="no-pretty-print">
-src/main/jniLibs/
-  arm64-v8a/
-    libVkLayer_core_validation.so
-    libVkLayer_device_limits.so
-    libVkLayer_image.so
-    libVkLayer_object_tracker.so
-    libVkLayer_parameter_validation.so
-    libVkLayer_swapchain.so
-    libVkLayer_threading.so
-    libVkLayer_unique_objects.so
-  armeabi-v7a/
-    libVkLayer_core_validation.so
-    ...
-</pre>
-
-<p>
-The following example shows how to verify that your APK contains the validation layers
-as expected:
-</p>
-
-<pre class="no-pretty-print">
-$ jar -xvf project.apk
- ...
- inflated: lib/arm64-v8a/libVkLayer_threading.so
- inflated: lib/arm64-v8a/libVkLayer_object_tracker.so
- inflated: lib/arm64-v8a/libVkLayer_swapchain.so
- inflated: lib/arm64-v8a/libVkLayer_unique_objects.so
- inflated: lib/arm64-v8a/libVkLayer_parameter_validation.so
- inflated: lib/arm64-v8a/libVkLayer_image.so
- inflated: lib/arm64-v8a/libVkLayer_core_validation.so
- inflated: lib/arm64-v8a/libVkLayer_device_limits.so
- ...
-</pre>
-
-
-<h2 id="enabling">Enabling Layers</h2>
-
-<p>The Vulkan API allows an app to enable both instance layers and device layers.</p>
-
-<h3>Instance layers</h3>
-
-<p>
-A layer that can intercept Vulkan instance-level entry points is called an instance layer.
-Instance-level entry points are those with {@code VkInstance} or {@code VkPhysicalDevice}
-as the first parameter.
-</p>
-
-<p>
-You can call {@code vkEnumerateInstanceLayerProperties()} to list the available instance layers
-and their properties. The system enables instance layers when {@code vkCreateInstace()} executes.
-</p>
-
-<p>
-The following code snippet shows how an app can use the Vulkan API to programmatically enable and
-query an instance layer:
-</p>
-
-<pre>
-// Get instance layer count using null pointer as last parameter
-uint32_t instance_layer_present_count = 0;
-vkEnumerateInstanceLayerProperties(&instance_layer_present_count, nullptr);
-
-// Enumerate instance layers with valid pointer in last parameter
-VkLayerProperties* layer_props =
-    (VkLayerProperties*)malloc(instance_layer_present_count * sizeof(VkLayerProperties));
-vkEnumerateInstanceLayerProperties(&instance_layer_present_count, layer_props));
-
-// Make sure the desired instance validation layers are available
-// NOTE:  These are not listed in an arbitrary order.  Threading must be
-//        first, and unique_objects must be last.  This is the order they
-//        will be inserted by the loader.
-const char *instance_layers[] = {
-    "VK_LAYER_GOOGLE_threading",
-    "VK_LAYER_LUNARG_parameter_validation",
-    "VK_LAYER_LUNARG_object_tracker",
-    "VK_LAYER_LUNARG_core_validation",
-    "VK_LAYER_LUNARG_device_limits",
-    "VK_LAYER_LUNARG_image",
-    "VK_LAYER_LUNARG_swapchain",
-    "VK_LAYER_GOOGLE_unique_objects"
-};
-
-uint32_t instance_layer_request_count =
-    sizeof(instance_layers) / sizeof(instance_layers[0]);
-for (uint32_t i = 0; i < instance_layer_request_count; i++) {
-    bool found = false;
-    for (uint32_t j = 0; j < instance_layer_present_count; j++) {
-        if (strcmp(instance_layers[i], layer_props[j].layerName) == 0) {
-            found = true;
-        }
-    }
-    if (!found) {
-        error();
-    }
-}
-
-// Pass desired instance layers into vkCreateInstance
-VkInstanceCreateInfo instance_info = {};
-instance_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
-instance_info.enabledLayerCount = instance_layer_request_count;
-instance_info.ppEnabledLayerNames = instance_layers;
-...
-</pre>
-
-<h3>Device layers</h3>
-
-<p>
-A layer that can intercept device-level entry points is called a device layer. Device-level entry
-points are those whose first parameter is {@code VkDevice}, {@code VkCommandBuffer},
-or {@code VkQueue}. The list of
-device layers to enable is included in the {@code ppEnabledLayerNames} field of the
-{@code VkDeviceCreateInfo}
-struct that the app passes into {@code vkCreateDevice()}.
-</p>
-
-<p>
-You can call {@code vkEnumerateDeviceLayerProperties} to list the available layers
-and their properties. The system enables device layers when it calls {@code vkCreateDevice()}.
-</p>
-
-<p>
-The following code snippet shows how an app can use the Vulkan API to programmatically enable a
-device layer.
-</p>
-
-<pre>
-
-// Get device layer count using null as last parameter
-uint32_t device_layer_present_count = 0;
-vkEnumerateDeviceLayerProperties(&device_layer_present_count, nullptr);
-
-// Enumerate device layers with valid pointer in last parameter
-VkLayerProperties* layer_props =
-   (VkLayerProperties *)malloc(device_layer_present_count * sizeof(VkLayerProperties));
-vkEnumerateDeviceLayerProperties(physical_device, device_layer_present_count, layer_props));
-
-// Make sure the desired device validation layers are available
-// Ensure threading is first and unique_objects is last!
-const char *device_layers[] = {
-    "VK_LAYER_GOOGLE_threading",
-    "VK_LAYER_LUNARG_parameter_validation",
-    "VK_LAYER_LUNARG_object_tracker",
-    "VK_LAYER_LUNARG_core_validation",
-    "VK_LAYER_LUNARG_device_limits",
-    "VK_LAYER_LUNARG_image",
-    "VK_LAYER_LUNARG_swapchain",
-    "VK_LAYER_GOOGLE_unique_objects"
-};
-
-uint32_t device_layer_request_count =
-   sizeof(device_layers) / sizeof(device_layers[0]);
-for (uint32_t i = 0; i < device_layer_request_count; i++) {
-    bool found = false;
-    for (uint32_t j = 0; j < device_layer_present_count; j++) {
-        if (strcmp(device_layers[i],
-           layer_props[j].layerName) == 0) {
-            found = true;
-        }
-    }
-    if (!found) {
-        error();
-    }
-}
-
-// Pass desired device layers into vkCreateDevice
-VkDeviceCreateInfo device_info = {};
-device_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
-device_info.enabledLayerCount = device_layer_request_count;
-device_info.ppEnabledLayerNames = device_layers;
-...
-</pre>
-
-<h2 id="debug">Enabling the Debug Callback</h2>
-
-<p>
-The Debug Report extension {@code VK_EXT_debug_report} allows your application to control
-layer behavior when an event occurs.</p>
-
-<p>
-Before using this extension, you must first make sure that the platform supports it.
-The following example shows how to check for debug extension support and
-register a callback if the extension is supported.
-</p>
-
-<pre>
-// Get the instance extension count
-uint32_t inst_ext_count = 0;
-vkEnumerateInstanceExtensionProperties(nullptr, &inst_ext_count, nullptr);
-
-// Enumerate the instance extensions
-VkExtensionProperties* inst_exts =
-    (VkExtensionProperties *)malloc(inst_ext_count * sizeof(VkExtensionProperties));
-vkEnumerateInstanceExtensionProperties(nullptr, &inst_ext_count, inst_exts);
-
-const char * enabled_inst_exts[16] = {};
-uint32_t enabled_inst_ext_count = 0;
-
-// Make sure the debug report extension is available
-for (uint32_t i = 0; i < inst_ext_count; i++) {
-    if (strcmp(inst_exts[i].extensionName,
-    VK_EXT_DEBUG_REPORT_EXTENSION_NAME) == 0) {
-        enabled_inst_exts[enabled_inst_ext_count++] =
-            VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
-    }
-}
-
-if (enabled_inst_ext_count == 0)
-    return;
-
-// Pass the instance extensions into vkCreateInstance
-VkInstanceCreateInfo instance_info = {};
-instance_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
-instance_info.enabledExtensionCount = enabled_inst_ext_count;
-instance_info.ppEnabledExtensionNames = enabled_inst_exts;
-
-PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
-PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
-
-vkCreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)
-    vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
-vkDestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)
-    vkGetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT");
-
-assert(vkCreateDebugReportCallbackEXT);
-assert(vkDestroyDebugReportCallbackEXT);
-
-// Create the debug callback with desired settings
-VkDebugReportCallbackEXT debugReportCallback;
-if (vkCreateDebugReportCallbackEXT) {
-    VkDebugReportCallbackCreateInfoEXT debugReportCallbackCreateInfo;
-    debugReportCallbackCreateInfo.sType =
-        VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
-    debugReportCallbackCreateInfo.pNext = NULL;
-    debugReportCallbackCreateInfo.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT |
-                                          VK_DEBUG_REPORT_WARNING_BIT_EXT |
-                                          VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT;
-    debugReportCallbackCreateInfo.pfnCallback = DebugReportCallback;
-    debugReportCallbackCreateInfo.pUserData = NULL;
-
-    vkCreateDebugReportCallbackEXT(instance, &debugReportCallbackCreateInfo,
-                                   nullptr, &debugReportCallback);
-}
-
-// Later, when shutting down Vulkan, call the following
-if (vkDestroyDebugReportCallbackEXT) {
-   vkDestroyDebugReportCallbackEXT(instance, debugReportCallback, nullptr);
-}
-
-</pre>
-
-<p>
-Once your app has registered and enabled the debug callback, the system routes debugging
-messages to a callback that you register. An example of such a callback appears below:
-</p>
-
-
-<pre>
-#include &lt;android/log.h&gt;
-
-static VKAPI_ATTR VkBool32 VKAPI_CALL DebugReportCallback(
-                                   VkDebugReportFlagsEXT msgFlags,
-                                   VkDebugReportObjectTypeEXT objType,
-                                   uint64_t srcObject, size_t location,
-                                   int32_t msgCode, const char * pLayerPrefix,
-                                   const char * pMsg, void * pUserData )
-{
-   if (msgFlags & VK_DEBUG_REPORT_ERROR_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_ERROR,
-                           "AppName",
-                           "ERROR: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   } else if (msgFlags & VK_DEBUG_REPORT_WARNING_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_WARN,
-                           "AppName",
-                           "WARNING: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   } else if (msgFlags & VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_WARN,
-                           "AppName",
-                           "PERFORMANCE WARNING: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   } else if (msgFlags & VK_DEBUG_REPORT_INFORMATION_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_INFO,
-                           "AppName", "INFO: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   } else if (msgFlags & VK_DEBUG_REPORT_DEBUG_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_VERBOSE,
-                           "AppName", "DEBUG: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   }
-
-   // Returning false tells the layer not to stop when the event occurs, so
-   // they see the same behavior with and without validation layers enabled.
-   return VK_FALSE;
-}
-</pre>
-
-
-
diff --git a/docs/html/ndk/guides/guides_toc.cs b/docs/html/ndk/guides/guides_toc.cs
deleted file mode 100644
index 09b2a12..0000000
--- a/docs/html/ndk/guides/guides_toc.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-<?cs # Table of contents for Dev Guide.
-
-       For each document available in translation, add an localized title to this TOC.
-       Do not add localized title for docs not available in translation.
-       Below are template spans for adding localized doc titles. Please ensure that
-       localized titles are added in the language order specified below.
-?>
-
-<ul id="nav">
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/index.html">
-      <span class="en">Getting Started</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/guides/setup.html">Setup</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/concepts.html">Concepts</a></li>
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/build.html">
-      <span class="en">
-      Building</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/guides/android_mk.html">Android.mk</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/application_mk.html">Application.mk</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/ndk-build.html">ndk-build</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/standalone_toolchain.html">Standalone Toolchain
-         </a></li>
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/arch.html">
-      <span class="en">Architectures and CPUs</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/guides/abis.html">ABI Management</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/cpu-arm-neon.html">NEON</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/x86.html">x86</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/x86-64.html">x86-64</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/mips.html">MIPS</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/cpu-features.html">The cpufeatures Library</a>
-         </li>
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/debug.html">
-      <span class="en">Debugging</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/guides/ndk-gdb.html">ndk-gdb</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/ndk-stack.html">ndk-stack</a></li>
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/libs.html">
-      <span class="en">Libraries</span></a></div>
-      <ul>
-      <li><a href="<?cs var:toroot ?>ndk/guides/prebuilts.html">Prebuilt Libraries</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/cpp-support.html">C++ Support</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/stable_apis.html">Stable APIs</a></li>
-
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/audio/index.html">
-      <span class="en">Audio</span></a></div>
-      <ul>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/basics.html">Basics</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/opensl-for-android.html">OpenSL ES for
-      Android</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/input-latency.html">Audio Input
-      Latency</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/output-latency.html">Audio Output
-      Latency</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/floating-point.html">Floating-Point
-      Audio</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/sample-rates.html">Sample Rates
-      </a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/opensl-prog-notes.html">OpenSL ES Programming Notes
-      </a></li>
-      </ul>
-   </li>
-
-      <li class="nav-section">
-      <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>ndk/guides/graphics/index.html">
-      <span class="en">Vulkan</span></a></div>
-      <ul>
-      <li><a href="<?cs var:toroot ?>ndk/guides/graphics/getting-started.html">
-      Getting Started</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/graphics/design-notes.html">
-      Design Guidelines</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/graphics/shader-compilers.html">
-      Shader Compilers</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/graphics/validation-layer.html">
-      Validation Layers</a></li>
-      </ul>
-      </ul>
-   </li>
-
-
-</ul>
-
-
-<script type="text/javascript">
-<!--
-    buildToggleLists();
-    changeNavLang(getLangPref());
-//-->
-</script>
-
diff --git a/docs/html/ndk/guides/images/NDK_build_string.png b/docs/html/ndk/guides/images/NDK_build_string.png
deleted file mode 100644
index 338378b..0000000
--- a/docs/html/ndk/guides/images/NDK_build_string.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/NDK_build_string@2x.png b/docs/html/ndk/guides/images/NDK_build_string@2x.png
deleted file mode 100644
index 5ba3ce3..0000000
--- a/docs/html/ndk/guides/images/NDK_build_string@2x.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/config-pulldown.png b/docs/html/ndk/guides/images/config-pulldown.png
deleted file mode 100644
index 5af0870..0000000
--- a/docs/html/ndk/guides/images/config-pulldown.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/drawcube-output.png b/docs/html/ndk/guides/images/drawcube-output.png
deleted file mode 100644
index 3b7f775..0000000
--- a/docs/html/ndk/guides/images/drawcube-output.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/project-pane.png b/docs/html/ndk/guides/images/project-pane.png
deleted file mode 100644
index f6d624b..0000000
--- a/docs/html/ndk/guides/images/project-pane.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/verification_screen.png b/docs/html/ndk/guides/images/verification_screen.png
deleted file mode 100644
index 91858ba..0000000
--- a/docs/html/ndk/guides/images/verification_screen.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/verification_screen@2x.png b/docs/html/ndk/guides/images/verification_screen@2x.png
deleted file mode 100644
index 0d666c9..0000000
--- a/docs/html/ndk/guides/images/verification_screen@2x.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/index.jd b/docs/html/ndk/guides/index.jd
deleted file mode 100644
index 465ce13..0000000
--- a/docs/html/ndk/guides/index.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=Getting Started with the NDK
-@jd:body
-
-<p>The Native Development Kit (NDK) is a set of tools that allow you to leverage C and
-C++ code in your Android apps. You can use it either to build from your own source code, or to take
-advantage of existing prebuilt libraries.</p>
-
-<p>The NDK is not appropriate for most novice Android programmers, and has little value for many
-types of Android apps. It is often not worth the additional complexity it inevitably brings to the
-development process. However, it can be useful in cases in which you need to:</p>
-
-<ul>
-   <li>Squeeze extra performance out of a device for computationally intensive applications like
-   games or physics simulations.</li>
-   <li>Reuse your own or other developers' C or C++ libraries.</li>
-</ul>
-
-<p>This guide gives you the information you need to get up and running with the NDK. It starts by
-explaining the <a href="{@docRoot}ndk/guides/concepts.html">concepts</a> underpinning the NDK, and
-how to <a href="{@docRoot}ndk/guides/setup.html">set it up</a>. Next, it continues with information
-about targeting <a href="{@docRoot}ndk/guides/arch.html">different hardware platforms</a> in your
-builds. Then, it explains how to use
-the NDK to <a href="{@docRoot}ndk/guides/build.html">build</a> and
-<a href="{@docRoot}ndk/guides/debug.html">debug</a> your app. Finally, it discusses how to use your
-own and other prebuilt <a href="{@docRoot}ndk/guides/libs.html">libraries</a>.</p>
diff --git a/docs/html/ndk/guides/libs.jd b/docs/html/ndk/guides/libs.jd
deleted file mode 100644
index ea607de..0000000
--- a/docs/html/ndk/guides/libs.jd
+++ /dev/null
@@ -1,13 +0,0 @@
-page.title=Using Existing Libraries
-@jd:body
-
-<p>This section discusses the use of existing libraries&ndash;both your own, and those that the NDK
-provides.</p>
-
-<p>It begins by telling you how to use your own <a href="{@docRoot}ndk/guides/prebuilts.html">
-prebuilt libraries</a>. Then, it explains the <a href="{@docRoot}ndk/guides/cpp-support.html">
-C++ helper runtimes</a> available with the NDK, and how to use them. Finally, it provides
-information on <a href="{@docRoot}ndk/guides/stable_apis.html">the other libraries</a> that the NDK provides, such
-as <a href="https://www.khronos.org/opengles/">OpenGL ES</a> and
-<a href="https://www.khronos.org/opensles/">OpenSL ES</a>, and the minimum Android API levels
-required to support those libraries.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/mips.jd b/docs/html/ndk/guides/mips.jd
deleted file mode 100755
index d104ffe..0000000
--- a/docs/html/ndk/guides/mips.jd
+++ /dev/null
@@ -1,43 +0,0 @@
-page.title=MIPS Support
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-        <li><a href="#comp">Compatibility</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK supports the {@code mips} ABI, which allows native code to run on Android-based devices
-that have CPUs supporting the MIPS32 instruction set.</p>
-
-<h2 id="over">Overview</h2>
-<p>To generate MIPS machine code, include {@code mips} in your
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file's
-{@code APP_ABI} definition. For example: </p>
-
-<pre class="no-pretty-print">
-APP_ABI := mips
-</pre>
-
-<p>For more information about defining the {@code APP_ABI} variable, see
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>.</p>
-
-<p>The build system places generated libraries into {@code $PROJECT/libs/mips/}, where
-{@code $PROJECT} represents your project's root directory, and embeds them in your APK under
-the {@code /lib/mips/} directory.</p>
-
-<p>The Android package manager extracts these libraries when installing your APK on a compatible
-MIPS-based device, placing them under your app's private data directory.</p>
-
-<p>In the Google Play store, the server filters applications so that a consumer sees only the native
-libraries that run on the CPU powering his or her device.</p>
-
-<h2 id="comp">Compatibility</h2>
-<p>MIPS support requires, at minimum, Android 2.3 (Android API level 9). If your project files
-target an older API level, but include MIPS as a targeted platform, the NDK build script
-automatically selects the right set of native platform headers/libraries for you.</p>
diff --git a/docs/html/ndk/guides/ndk-build.jd b/docs/html/ndk/guides/ndk-build.jd
deleted file mode 100755
index e653bf5..0000000
--- a/docs/html/ndk/guides/ndk-build.jd
+++ /dev/null
@@ -1,168 +0,0 @@
-page.title=ndk-build
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#int">Internals</a></li>
-         <li><a href="#ifc">Invoking from the Command Line</a></li>
-         <li><a href="#6432">64-Bit and 32-Bit Toolchains</a></li>
-         <li><a href="#req">Requirements</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The {@code ndk-build} file is a shell script introduced in Android NDK r4. Its purpose
-is to invoke the right NDK build script.
-
-<h2 id="int">Internals</h2>
-
-<p>Running the {@code ndk-build} script is equivalent to running the following command:</p>
-
-<pre class="no-pretty-print">
-$GNUMAKE -f &lt;ndk&gt;/build/core/build-local.mk
-&lt;parameters&gt;
-</pre>
-
-<p><code>$GNUMAKE</code> points to GNU Make 3.81 or later, and
-<code>&lt;ndk&gt;</code> points to your NDK installation directory. You can use
-this information to invoke ndk-build from other shell scripts, or even your own
-make files.</p>
-
-<h2 id="ifc">Invoking from the Command Line</h2>
-<p>The {@code ndk-build} file lives in the top level the NDK installation directory. To run it
-from the command line, invoke it while in or under your application project directory.
-For example: </p>
-
-<pre class="no-pretty-print">
-cd &lt;project&gt;
-$ &lt;ndk&gt;/ndk-build
-</pre>
-
-<p>In this example, <code>&lt;project&gt;</code> points to your
-project’s root directory, and <code>&lt;ndk&gt;</code> is the directory where
-you installed the NDK.</p>
-
-<p><a class="anchor" id="options"></a> </p>
-<h3>Options</h3>
-<p>All parameters to ndk-build are passed directly to the underlying GNU {@code make}
-command that runs the NDK build scripts. Combine <code>ndk-build</code> and
-options in the form <code>ndk-build &lt;option&gt;</code>. For example: </p>
-
-<pre class="no-pretty-print">
-$ ndk-build clean
-</pre>
-
-<p>The following options are available:</p>
-<dl>
-  <dt>{@code clean}</dt>
-  <dd>Remove any previously generated binaries.</dd>
-  <dt>{@code V=1}</dt>
-  <dd>Launch build, and display build commands.<dd>
-  <dt>{@code -B}</dt>
-  <dd>Force a complete rebuild.</dd>
-  <dt>{@code -B V=1}</dt>
-  <dd>Force a complete rebuild, and display build commands.</dd>
-  <dt>{@code NDK_LOG=1}</dd>
-  <dd>Display internal NDK log messages (used for debugging the NDK itself).</dd>
-  <dt>{@code NDK_DEBUG=1}</dt>
-  <dd>Force a debuggable build (see <a href="#dvr">Table 1</a>).</dd>
-  <dt>{@code NDK_DEBUG=0}</dt>
-  <dd>Force a release build (see <a href="#dvr">Table 1</a>).</dd>
-  <dt>{@code NDK_HOST_32BIT=1}</dt>
-  <dd>Always use the toolchain in 32-bit mode (see <a href="#6432">64-bit and 32-bit
-  Toolchains</a>).</dd>
-  <dt>{@code NDK_APPLICATION_MK=<file>}</dt>
-  <dd>Build, using a specific <code>Application.mk</code> file pointed to by the
-  {@code NDK_APPLICATION_MK} variable.</dd>
-  <dt>{@code -C <project>}</dt>
-  <dd>Build the native code for the project path located at {@code <project>}. Useful if you
-  don't want to {@code cd} to it in your terminal.</dd>
-</dl>
-
-<p><a class="anchor" id="dvr"></a> </p>
-<h3>Debuggable versus Release builds</h3>
-<p>Use the <code>NDK_DEBUG</code> option and, in certain cases,
-{@code AndroidManifest.xml} to specify debug or release build,
-optimization-related behavior, and inclusion of symbols. Table 1 shows the
-results of each possible combination of settings.</p>
-<p><em>Table 1.</em> Results of <code>NDK_DEBUG</code> (command line) and
-<code>android:debuggable</code> (manifest) combinations.</p>
-<table>
-<tr>
-<th></th><th>NDK_DEBUG=0 </th><th>NDK_DEBUG=1</th><th>NDK_DEBUG not specified
-</th></tr>
-<tr>
-<td>android:debuggble="true" </td><td>Debug; Symbols; Optimized*1
-</td><td>Debug; Symbols; Not optimized*2 </td><td>(same as NDK_DEBUG=1)
-</td></tr>
-<tr>
-<td>android:debuggable="false"</td><td>Release; Symbols; Optimized
-</td><td>Release; Symbols; Not optimized</td><td>Release; No symbols;
-Optimized*3 </td></tr>
-</table>
-*1: Useful for profiling.<br>
-*2: Default for running <a href="{@docRoot}ndk/guides/ndk-gdb.html">{@code ndk-gdb}</a>.<br>
-*3: Default mode.<br>
-<br>
-<p class="note"><strong>Note:</strong> {@code NDK_DEBUG=0} is the equivalent of
-{@code APP_OPTIM=release}, and complies with the GCC {@code -O2} option. {@code NDK_DEBUG=1} is the
-equivalent of {@code APP_OPTIM=debug} in {@code Application.mk}, and complies with the GCC
-{@code -O0} option. For more information about {@code APP_OPTIM}, see
-<a href="{@docRoot}ndk/guides/application_mk.html">Application.mk</a>.</p>
-<p>The syntax on the command line is, for example: </p>
-
-<pre class="no-pretty-print">
-$ ndk-build NDK_DEBUG=1
-</pre>
-
-<p>If you are using build tools from prior to SDK r8, you must also modify your
-{@code AndroidManifest.xml} file to specify debug mode. The syntax for doing so resembles the
-following:</p>
-
-<pre class="no-pretty-print">&lt;application android:label="@string/app_name"
-android:debuggable="true"&gt;
-</pre>
-
-From SDK r8 onward, you do not need to touch {@code AndroidManifest.xml}. Building a debug package
-(e.g. with ant debug or the corresponding option of the ADT plugin) causes the tool automatically to
-pick the native debug files generated with {@code NDK_DEBUG=1}.
-
-
-<h2 id="6432">64-Bit and 32-Bit Toolchains</h2>
-<p>Some toolchains come with both 64-bit and 32-bit versions. For example,
-directories {@code <ndk>/toolchain/<name>/prebuilt/} and
-{@code <ndk>/prebuilt/} may contain both {@code linux-x86} and
-{@code linux-x86_64} folders for Linux tools in 32-bit and 64-bit modes,
-respectively. The ndk-build script automatically chooses a 64-bit version of
-the toolchain if the host OS supports it. You can force the use of a 32-bit
-toolchain by using {@code NDK_HOST_32BIT=1} either in your environment or
-on the ndk-build command line.</p>
-<p>Note that 64-bit tools utilize host resources better (for instance, they are faster, and handle
-larger programs), and they can still generate 32-bit binaries for Android.</p>
-
-<h2 id="req">Requirements</h2>
-<p>You need GNU Make 3.81 or later to use ndk-build or the NDK in general.
-The build scripts will detect a non-compliant Make tool, and generate an error
-message.</p>
-<p>If you have GNU Make 3.81 installed, but the default <code>make</code>
-command doesn’t launch it, define {@code GNUMAKE} in your environment to point to it
-before launching ndk-build. For example: </p>
-
-<pre class="no-pretty-print">
-$ export GNUMAKE=/usr/local/bin/gmake
-$ ndk-build
-</pre>
-
-<p>You can override other host prebuilt tools in {@code $NDK/prebuilt/<OS>/bin/}
-with the following environment variables: </p>
-
-<pre class="no-pretty-print">
-$ export NDK_HOST_AWK=&lt;path-to-awk&gt;
-$ export NDK_HOST_ECHO=&lt;path-to-echo&gt;
-$ export NDK_HOST_CMP=&lt;path-to-cmp&gt;
-</pre>
diff --git a/docs/html/ndk/guides/ndk-gdb.jd b/docs/html/ndk/guides/ndk-gdb.jd
deleted file mode 100755
index 1a990f0..0000000
--- a/docs/html/ndk/guides/ndk-gdb.jd
+++ /dev/null
@@ -1,231 +0,0 @@
-page.title=ndk-gdb
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#req">Requirements</a></li>
-        <li><a href="#use">Usage</a></li>
-        <li><a href="#thread">Thread Support</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK includes a helper shell script named {@code ndk-gdb} to easily launch a native debugging
-  session for your NDK-generated machine code.</p>
-
-<h2 id="req">Requirements</h2>
-
-<p>For native debugging to work, you must follow these requirements:</p>
-
-<ul>
-<li>Build your app using the {@code ndk-build} script. The {@code ndk-gdb} script
-does not support using the legacy {@code make APP=<name>} method to build.</p></li>
-<li>Enable app debugging in your {@code AndroidManifest.xml} file by including an
-{@code <application>} element that sets the {@code android:debuggable} attribute to {@code
-true}.</li>
-<li>Build your app to run on Android 2.2 (Android API level 8) or higher.</li>
-<li>Debug on a device or emulator running Android 2.2 or higher.
- For debugging purposes, the target
-API level that you declare in your {@code AndroidManifest.xml} file does not matter.</li>
-<li>Develop your app in a Unix shell. On Windows, use <a href="https://www.cygwin.com/">Cygwin</a>
-or the experimental {@code ndk-gdb-py} <a href="https://www.python.org/">Python</a>
-implementation.</li>
-<li>Use GNU Make 3.81 or higher.</li></ul>
-
-<h2 id="use">Usage</h2>
-  To invoke the {@code ndk-gdb} script, change into the application directory or any directory under
-  it. For example:</p>
-
-<pre class="no-pretty-print">
-cd $PROJECT
-$NDK/ndk-gdb
-</pre>
-
-<p>Here, {@code $PROJECT} points to your project's root directory, and {@code $NDK} points to your
-NDK installation path.</p>
-
-<p>When you invoke {@code ndk-gdb}, it configures the session to look for your source files
-and symbol/debug versions of your generated native libraries. On successfully attaching to your
-application process, {@code ndk-gdb} outputs a long series of error messages, noting that it cannot
-find various system libraries. This is normal, because your host machine does not contain
-symbol/debug versions of these libraries on your target device. You can safely ignore these
-messages.</p>
-
-<p>Next, {@code ndk-gdb} displays a normal GDB prompt.</p>
-
-<p>You interact with {@code ndk-gdb} in the same way as you would with GNU GDB. For example, you can
-use {@code b <location>} to set breakpoints, and {@code c} (for "continue") to
-resume execution. For a comprehensive list of commands, see the
-<a href="http://www.gnu.org/software/gdb/">GDB manual.</a></p>
-
-<p>Note that when you quit the GDB prompt, the application process that you're debugging stops. This
-behavior is a gdb limitation.</p>
-
-<p>{@code ndk-gdb} handles many error conditions, and displays an informative error message if it
-finds a problem. these checks include making sure that the following conditions are satisfied:</p>
-
-<ul>
-<li>Checks that ADB is in your path.</li>
-<li>Checks that your application is declared debuggable in its manifest.</li>
-<li>Checks that, on the device, the installed application with the same package name is also
-debuggable.</li>
-</ul>
-
-<p>By default, {@code ndk-gdb} searches for an already-running application process, and displays an
-error if it doesn't find one. You can, however, use the {@code --start} or
-{@code --launch=<name>} option to automatically start your activity before the debugging
-session. For more information, see <a href="#opt">Options</a>.</p>
-
-
-<h3 id="opt">Options</h3>
-<p>To see a complete list of options, type {@code ndk-gdb --help} on the command line. Table 1
-shows a number of the more commonly used ones, along with brief descriptions.</p>
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> Common ndk-gdb options and their descriptions.</p>
-
-<table>
-<tr>
-<th>Option</th>
-<th>Description></th>
-<tr>
-
-<tr>
-<td>{@code --verbose}</td>
-<td><p>This option tells the build system to print verbose information about the native-debugging
-session setup. It is necessary only for debugging problems when the debugger can't connect to the
-app, and the error messages that {@code ndk-gdb} displays are not enough.</p></td>
-</tr>
-
-<tr>
-<td>{@code --force}</td>
-<td>By default, {@code ndk-gdb} aborts if it finds that another native debugging session is already
- running on the same device. This option kills the other session, and replaces it with a new one.
- Note that this option does not kill the actual app being debugged, which you must kill
- separately.</td>
-</tr>
-
-<tr>
-<td>{@code --start}</td>
-<td><p>When you start {@code ndk-gdb}, it tries by default to attach to an existing running instance of
-your app on the target device. You can override this default behavior by using {@code --start} to
-explicitly launch the application on the target device before the debugging session.</p></td>
-
-<p>Starting {@code ndk-gdb} with this option specified launches the first launchable activity listed
-in your application manifest. Use {@code --launch=<name>} to start the next launchable
-activity. To dump the list of launchable activities, run {@code --launch-list} from the command
-line.</p>
-</tr>
-
-<tr>
-<td>{@code --launch=<name>}</td>
-<td><p>This option is similar to {@code --start}, except that it allows you to start a specific
- activity from your application. This feature is only useful if your manifest defines multiple
- launchable activities.</p></td>
-</tr>
-
-<tr>
-<td>{@code --launch-list}</td>
-<td><p>This convenience option prints the list of all launchable activity names found in your
- app manifest. {@code --start} uses the first activity name.</p></td>
-</tr>
-
-<tr>
-<td>{@code --project=<path>}</td>
-<td>This option specifies the app project directory. It is useful if you want to launch the
- script without first having to change to the project directory.</p></td>
-</tr>
-
-<tr>
-<td>{@code --port=<port>}</td>
-<td> <p>By default, {@code ndk-gdb} uses local TCP port 5039 to communicate with the app it
- is debugging on the target device. Using a different port allows you to natively debug programs
- running on different devices or emulators connected to the same host machine.</p></td>
-</tr>
-
-<tr>
-<td>{@code --adb=<file>}</td>
-<td><p>This option specifies the <a href="{@docRoot}tools/help/adb.html">adb</a>
-tool executable. It is only necessary if you have not set your path to include that executable.</p>
-</td>
-</tr>
-
-<tr>
-<td>
-<li>{@code -d}</li>
-<li>{@code -e}</li>
-<li>{@code -s <serial>}</li></td>
-<td><p>These flags are similar to the adb commands with the same names. Set these flags if you have
-several devices or emulators connected to your host machine. Their meanings are as follows:</p>
-<dl>
-   <dt>{@code -d}</dt>
-   <dd>Connect to a single physical device.</dd>
-   <dt>{@code -e}</dt>
-   <dd>Connect to a single emulator device.</dd>
-   <dt>{@code -s <serial>}</dt>
-   <dd>Connect to a specific device or emulator. Here, {@code <serial>} is the device's name
-   as listed by the {@code adb devices} command.</dd>
-</dl>
-
-<p>Alternatively, you can define the {@code ADB_SERIAL} environment variable to list a specific
-device, without the need for a specific option.</p></td>
-</tr>
-
-<tr>
-<td>
-<li>{@code --exec=<file>}</li>
-<li>{@code -x <file>}</li>
-</td>
-<td><p>This option tells {@code ndk-gdb} to run the GDB initialization commands found in
-{@code <file>} after connecting to the process it is debugging. This is a useful feature if
-you want to do something repeatedly, such as setting up a list of breakpoints, and then resuming
-execution automatically.</p></td>
-</tr>
-
-<tr>
-<td>{@code --nowait}</td>
-<td><p>Disable pausing the Java code until GDB connects. Passing this option may cause the debugger
- to miss early breakpoints.</p>
-</tr>
-
-<tr>
-<td>{@code --tui}
-{@code -t}</td>
-<td><p>Enable Text User Interface if it is available.</p></td>
-</tr>
-
-<tr>
-<td>{@code --gnumake-flag=<flag>}</td>
-<td><p>This option is an extra flag (or flags) to pass to the
-{@code ndk-build} system when
-querying it for project information. You can use multiple instances of this option in the
-same command.</p></td>
-</tr>
-
-<tr>
-<td>{@code --stdcxx-py-pr={auto|none|gnustdcxx[-GCCVER]|stlport}}</td>
-<td><p>Use specified Python pretty-printers for displaying types in the Standard C++ Library.
- {@code auto} mode works by looking at the {@code .so} files for a {@code libstdc++} library,
- and as such only works for a shared library. When linking statically to a {@code libstdc++} library,
- you must specify the required printers. The default is {@code none}.</p></td>
-</tr>
-</table>
-
-<p class="note"><strong>Note: </strong>The final three options in this table are only for the
-Python version of {@code ndk-gdb}.</p></td>
-
-<h2 id="thread">Thread Support</h2>
-<p>If your app runs on a platform older than Android 2.3 (API level 9), {@code ndk-gdb}
-cannot debug native threads properly. The debugger can only debug the main thread, abd completely
-ignores the execution of other threads.</p>
-
-<p>If you place a breakpoint on a function executed on a non-main thread, the program exits, and
-GDB displays the following message:</p>
-
-<pre class="no-pretty-print">
-Program terminated with signal SIGTRAP, Trace/breakpoint trap.
-      The program no longer exists.
-</pre>
diff --git a/docs/html/ndk/guides/ndk-stack.jd b/docs/html/ndk/guides/ndk-stack.jd
deleted file mode 100644
index 45d433c..0000000
--- a/docs/html/ndk/guides/ndk-stack.jd
+++ /dev/null
@@ -1,86 +0,0 @@
-page.title=ndk-stack
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#use">Usage</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The {@code ndk-stack} tool allows you to filter stack traces as they appear in the
-output of <a href="{@docRoot}tools/help/logcat.html">{@code adb logcat}</a>. It also replaces any
-address inside a shared library with the corresponding
-{@code <source-file>:<line-number>} values from your source code, making issues easier
-to pinpoint.</p>
-
-<p>For example, it translates something like:</p>
-
-<pre>
-I/DEBUG   (   31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
-I/DEBUG   (   31): Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys'
-I/DEBUG   (   31): pid: 351, tid: 351  %gt;%gt;%gt; /data/local/ndk-tests/crasher &lt;&lt;&lt;
-I/DEBUG   (   31): signal 11 (SIGSEGV), fault addr 0d9f00d8
-I/DEBUG   (   31):  r0 0000af88  r1 0000a008  r2 baadf00d  r3 0d9f00d8
-I/DEBUG   (   31):  r4 00000004  r5 0000a008  r6 0000af88  r7 00013c44
-I/DEBUG   (   31):  r8 00000000  r9 00000000  10 00000000  fp 00000000
-I/DEBUG   (   31):  ip 0000959c  sp be956cc8  lr 00008403  pc 0000841e  cpsr 60000030
-I/DEBUG   (   31):          #00  pc 0000841e  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #01  pc 000083fe  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #02  pc 000083f6  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #03  pc 000191ac  /system/lib/libc.so
-I/DEBUG   (   31):          #04  pc 000083ea  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #05  pc 00008458  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #06  pc 0000d362  /system/lib/libc.so
-I/DEBUG   (   31):
-</pre>
-
-<p>into the more readable output: </p>
-
-<pre>
-********** Crash dump: **********
-Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys'
-pid: 351, tid: 351  &gt;&gt;&gt; /data/local/ndk-tests/crasher &lt;&lt;&lt;
-signal 11 (SIGSEGV), fault addr 0d9f00d8
-Stack frame #00  pc 0000841e  /data/local/ndk-tests/crasher : Routine zoo in /tmp/foo/crasher/jni/zoo.c:13
-Stack frame #01  pc 000083fe  /data/local/ndk-tests/crasher : Routine bar in /tmp/foo/crasher/jni/bar.c:5
-Stack frame #02  pc 000083f6  /data/local/ndk-tests/crasher : Routine my_comparison in /tmp/foo/crasher/jni/foo.c:9
-Stack frame #03  pc 000191ac  /system/lib/libc.so
-Stack frame #04  pc 000083ea  /data/local/ndk-tests/crasher : Routine foo in /tmp/foo/crasher/jni/foo.c:14
-Stack frame #05  pc 00008458  /data/local/ndk-tests/crasher : Routine main in /tmp/foo/crasher/jni/main.c:19
-Stack frame #06  pc 0000d362  /system/lib/libc.so
-</pre>
-
-<h2>Usage</h2>
-<p>To use {@code ndk-stack}, you first need a directory containing symbolic versions of your app's
-shared libraries. If you use the NDK build system ({@code ndk-build}), these shared-library
-files reside under {@code $PROJECT_PATH/obj/local/<abi>}, where {@code <abi>} represents
-your device's ABI. By default, the system uses the {@code armeabi} ABI.</p>
-
-<p>There are two ways to use the tool. You can feed the logcat text as direct input to the program.
-For example:</p>
-
-<pre class="no-pretty-print">
-adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi
-</pre>
-
-<p>You can also use the {@code -dump} option to specify the logcat as an input file. For example:
-</p>
-
-<pre class="no-pretty-print">
-adb logcat &gt; /tmp/foo.txt
-$NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi -dump foo.txt
-</pre>
-
-<p>When it begins parsing the logcat output, the tool looks for an initial line of asterisks.
-For example:</p>
-
-<pre class="no-pretty-print">
-*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
-</pre>
-
-<p class="note"><strong>Note: </strong>When copy/pasting traces, don't forget this line, or
-{@code ndk-stack} won't work correctly.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/prebuilts.jd b/docs/html/ndk/guides/prebuilts.jd
deleted file mode 100644
index 4cb1819..0000000
--- a/docs/html/ndk/guides/prebuilts.jd
+++ /dev/null
@@ -1,145 +0,0 @@
-page.title=Using Prebuilt Libraries
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#dm">Declaring a Prebuilt Library</a></li>
-        <li><a href="#rp">Referencing the Prebuilt Library from Other Modules</a></li>
-        <li><a href="#dp">Debugging Prebuilt Libraries</a></li>
-        <li><a href="#sa">Selecting ABIs for Prebuilt Libraries</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK supports the use of prebuilt libraries, both static and shared. There are two principal
-use cases for this functionality:</p>
-
-<ul>
-   <li>Distributing your own libraries to third-party NDK developers without distributing your
-    sources.</li>
-   <li>Using a prebuilt version of your own libraries to speed up your build.</li>
-</ul>
-
-<p>This page explains how to use prebuilt libraries.</p>
-
-<h2 id="dm">Declaring a Prebuilt Library</h2>
-<p>You must declare each prebuilt library you use as a <em>single</em> independent module. To do
-  so, perform the following steps:
-
-<ol type="1">
-   <li>Give the module a name. This name does not need to be the same as that of the prebuilt
-    library, itself.</li>
-   <li>In the module's <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>
-   file, assign to {@code LOCAL_SRC_FILES} the path to the prebuilt library you are providing.
-   Specify the path relative to the value of your {@code LOCAL_PATH} variable.</p>
-   <p class="note"><strong>Note: </strong> You must make sure to select the version of your prebuilt
-    library appropriate to your target ABI. For more information on ensuring library support for
-    ABIs, see <a href="#sa">Selecting ABIs for Prebuilt Libraries.</a></p></li>
-   <li>Include {@code PREBUILT_SHARED_LIBRARY} or {@code PREBUILT_STATIC_LIBRARY}, depending on
-    whether you are using a shared ({@code .so}) or static ({@code .a}) library.</li>
-</ol>
-
-  <p>Here is a trivial example that assumes the prebuilt library {@code libfoo.so} resides in
-  the same directory as the <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>
-  file that describes it.</p>
-
-<pre>
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo-prebuilt
-LOCAL_SRC_FILES := libfoo.so
-include $(PREBUILT_SHARED_LIBRARY)
-</pre>
-
-<p>In this example, the name of the module is the same as that of the prebuilt library.</p>
-
-<p>The build system places a copy of your prebuilt shared library into {@code $PROJECT/obj/local},
-and another copy, stripped of debug information, into {@code $PROJECT/libs/<abi>}. Here,
-{@code $PROJECT} is the root directory of your project.</p>
-
-<h2 id="rp">Referencing the Prebuilt Library from Other Modules</h2>
-<p>To reference a prebuilt library from other modules, specify its name as the value
-of the {@code LOCAL_STATIC_LIBRARIES} or {@code LOCAL_SHARED_LIBRARIES} variable in the
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> files associated with those
-other modules.</p>
-
-<p>For example, the description of a module using {@code libfoo.so} might be as follows:</p>
-
-<pre>
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo-user
-LOCAL_SRC_FILES := foo-user.c
-LOCAL_SHARED_LIBRARIES := foo-prebuilt
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>Here, {@code LOCAL_MODULE} is the name of the module referring to the prebuilt; {@code
-  LOCAL_SHARED_LIBRARIES} is the name of the prebuilt, itself.</p>
-
-<h2>Exporting Headers for Prebuilt Libraries</h2>
-<p>The code in {@code foo-user.c} depends on specific declarations that normally
-reside in a header file, such as {@code foo.h}, distributed with the prebuilt library.
-For example, {@code foo-user.c} might have a line like the following:</p>
-
-<pre>
-#include &lt;foo.h&gt;
-</pre>
-
-<p>In such a case, you need to provide the header and its include path to the compiler when you
-build the {@code foo-user} module. A simple way to accomplish this task is to use exports in the
-prebuilt module definition. For example, as long as header {@code foo.h} is located under the
-{@code include} directory associated with the prebuilt module, you can declare it as follows:</p>
-
-<pre>
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo-prebuilt
-LOCAL_SRC_FILES := libfoo.so
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
-include $(PREBUILT_SHARED_LIBRARY)
-</pre>
-
-<p>The {@code LOCAL_EXPORT_C_INCLUDES} definition here ensures that the build system
-exports the path to the prebuilt library's {@code include} directory, prepending that path onto the
-value of the {@code LOCAL_C_INCLUDES} for the module dependent on it.</p>
-
-<p>This operation allows the build system to find the necessary headers.</p>
-
-<h2 id="dp">Debugging Prebuilt Libraries</h2>
-<p>We recommend that you provide prebuilt shared libraries containing debug symbols. The NDK build
-system always strips the symbols from the version of the library that it installs into
-{@code $PROJECT/libs/<abi>/}, but you can use the debug version for debugging with
-{@code ndk-gdb}.</p>
-
-<h2 id="sa">Selecting ABIs for Prebuilt Libraries</h2>
-<p>You must make sure to select the right version of your prebuilt shared library for your targeted
-ABI. The <a href="{@docRoot}ndk/guides/android_mk.html#taa">
-{@code TARGET_ARCH_ABI}</a> variable in the <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file can point the build system at the appropriate version of the library.
-</p>
-
-<p>For example, assume that your project contains two versions of library {@code libfoo.so}:</p>
-
-<pre class="no-pretty-print">
-armeabi/libfoo.so
-x86/libfoo.so
-</pre>
-
-<p>The following snippet shows how to use {@code TARGET_ARCH_ABI} so that the build system selects
-  the appropriate version of the library:</p>
-
-<pre>
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo-prebuilt
-LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libfoo.so
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
-include $(PREBUILT_SHARED_LIBRARY)
-</pre>
-
-<p>If you have specified {@code armeabi} as the value of {@code TARGET_ARCH_ABI}, the build system
-uses the version of {@code libfoo.so} located in the {@code armeabi} directory. If you have
-specified {@code x86} as the value {@code TARGET_ARCH_ABI}, the build system uses the version in the
-{@code x86} directory.</p>
diff --git a/docs/html/ndk/guides/sample.jd b/docs/html/ndk/guides/sample.jd
deleted file mode 100644
index 18ca0b8..0000000
--- a/docs/html/ndk/guides/sample.jd
+++ /dev/null
@@ -1,11 +0,0 @@
-page.title=Sample Walkthroughs
-@jd:body
-
-<div class="contents">
-<div class="textblock"><p>This section explains several of the sample apps provided with the NDK. It assumes that you already have a working knowledge of programming in Java and native code, and focuses on issues particular to working with the NDK.</p>
-<p>It discusses the following samples:</p>
-<ul>
-<li><a href="./md_2__samples_sample--hellojni.html">hello-jni</a>: A very basic app that illustrates core workings of the NDK.</li>
-<li><a href="./md_2__samples_sample--nativeactivity.html">native-activity</a>: An app that shows the fundamentals of how to construct a purely native app. It places particular emphasis on the android_native_app_glue library.</li>
-<li><a href="./md_2__samples_samples-teapot.html">Teapot</a>: A simple OpenGL demo, showcasing the <code>ndk_helper</code> class. </li>
-</ul>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/setup.jd b/docs/html/ndk/guides/setup.jd
deleted file mode 100644
index d3ace07..0000000
--- a/docs/html/ndk/guides/setup.jd
+++ /dev/null
@@ -1,93 +0,0 @@
-page.title=Setup
-@jd:body
-
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#install">Installation</a></li>
-        <li><a href="#configure">Configuring Eclipse</a></li>
-        <li><a href="#verify">Verification</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-
-<div class="contents">
-<div class="textblock"><p>This document explains how to:</p>
-<ul>
-<li><a href="#install">Get</a> and install the NDK.</li>
-<li><a href="#configure">Configure</a> your system and the Eclipse and the Android Development Tool
-(ADT) for use with it.</li>
-<li><a href="#verify">Verify</a>, using a simple sample, that everything is working as expected.
-</li>
-</ul>
-<p>This document assumes that you are already familiar with Java-based Android development. For more
-information on that topic, see the
-<a href="{@docRoot}">Android developer site</a>.</p>
-
-<h2 id="install">Installation</h2>
-<p>To install and configure the NDK, follow these steps:</p>
-<ol type="1">
-<li>Get and install the <a href="{@docRoot}studio/index.html">Android SDK</a>.</li>
-<li><a href="{@docRoot}ndk/downloads/index.html">Download</a> the NDK,
-making sure to download the correct version for your development platform. You may place the
-unzipped directory anywhere on your local drive.</li>
-<li>Update your {@code PATH} environment variable with the location of the directory that
-contains the NDK.</li>
-</ol>
-
-
-<h2 id="configure">Configuring Eclipse</h2>
-<p>Eclipse must know where the NDK is in order to use it when building your app. Follow these steps
-to set the location of the NDK.</p>
-<ol type="1">
-<li>Launch Eclipse, which is installed as part of the Android SDK.</li>
-<li>Open <b>Window</b> &gt; <b>Preferences</b>.</li>
-<li>In the pane on the left side of the <i>Preferences</i> window, select <i>Android</i>.
-The <i>Android</i> section expands, revealing a number of subsections.</li>
-<li>Select <b>NDK</b>. In the pane on the right side of the <i>Preferences</i> window, browse to
-the directory that contains the NDK.</li>
-<li>Click <b>OK</b> to return to the <i>Package Explorer</i> display.</li>
-</ol>
-
-<h2 id="verify">Verification</h2>
-<h3>Eclipse</h3>
-<p>To confirm that you have installed the NDK, set it up correctly, and properly configured Eclipse,
-follow these steps:</p>
-<ol type="1">
-<li>Import the hello-jni sample from {@code <ndk>/samples/}, as you would any other Android
-project.</li>
-<li>In the <i>Project Explorer</i> pane, right-click the project name (<i>HelloJni</i>). A
-context menu appears.</li>
-<li>From the context menu, select <b>Android Tools</b> &gt; <b>Add Native Support</b>. The
-<i>Add Android Native Support</i> window appears.</li>
-<li>Accept the default library name (“hello-jni”), and click <b>Finish</b>.</li>
-<li>Build and execute the application.</li>
-</ol>
-<h3>Command line</h3>
-<p>Follow these steps to build from the command line:</p>
-<ol type="1">
-<li>Change to the root directory of your project.</li>
-<li>Execute ndk-build to build the native component of your app. do this by
-typing {@code ndk-build} at the command prompt.</li>
-<li>Build and install your project as you would a regular Android app written in Java. For more
-information, see
-<a href="{@docRoot}tools/building/index.html">Building and Running</a> and
-<a href="{@docRoot}tools/building/building-cmdline.html">Building and Running
-from the Command Line</a>.</li>
-</ol>
-
-<p>If you have successfully installed and configured the NDK, the screen on your target device looks
-as shown in Figure 1.</p>
-
-<img src="./images/verification_screen.png" srcset="./images/verification_screen@2x.png 2x"
-alt="Output: Hello from JNI!" id="figure1" />
-
-<p class="img-caption">
-<strong>Figure 1.</strong> Target-device screen after successful launch.
-</p>
diff --git a/docs/html/ndk/guides/stable_apis.jd b/docs/html/ndk/guides/stable_apis.jd
deleted file mode 100644
index c38e684..0000000
--- a/docs/html/ndk/guides/stable_apis.jd
+++ /dev/null
@@ -1,501 +0,0 @@
-page.title=Android NDK Native APIs
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#purpose">Overview</a></li>
-        <li><a href="#mnu">Major Native API Updates</a><li>
-          <ol>
-        <li><a href="#a3">Android API level 3</a></li>
-        <li><a href="#a4">Android API level 4</a></li>
-        <li><a href="#a5">Android API level 5</a></li>
-        <li><a href="#a8">Android API level 8</a></li>
-        <li><a href="#a9">Android API level 9</a></li>
-        <li><a href="#a14">Android API level 14</a></li>
-        <li><a href="#a18">Android API level 18</a></li>
-          </ol>
-      </ol>
-    </div>
-  </div>
-
-<p>The Android NDK provides a set of native headers and shared library files that has gradually
-increased with successive releases of new Android API levels. This page explains these headers and
-files, and maps them to specific
-<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels"> Android API levels</a>.
-</p>
-
-<h2 id="purpose">Overview</h2>
-<p>There are two basic steps to enable your app to use the libraries that the NDK provides:
-</p>
-
-<ol type ="1">
-<li>Include in your code the headers associated with the libraries you wish to use.</li>
-
-<li>Tell the build system that your native module needs to link against the libraries at load time.
-For example, to link against  {@code /system/lib/libfoo.so}, add the following line to your
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a> file:</li>
-
-<pre>
-LOCAL_LDLIBS := -lfoo
-</pre>
-
-<p>To list multiple libraries, use a space as a delimiter. For more information about using the
-{@code LOCAL_LDLIBS} variable, see <a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.
-</p>
-
-</ol>
-
-<p>For all API levels, the build system automatically links the standard C libraries, the
-standard C++ libraries, real-time extensions, and {@code pthread}; you do not need
-to include them when defining your {@code LOCAL_LDLIBS} variable. For more information about
-the C and C++ libraries, see <a href="#a3">Android API level 3</a>.</p>
-
-<p>The NDK often provides new headers and libraries for new Android releases. These files reside
-under {@code $NDK/platforms/android-<level>/<abi>/usr/include}. When the NDK does not
-have a specific new group of headers and libraries for an Android API level, it means that
-an app targeting that level should use the most recently released NDK assets. For example,
-there was no new release of NDK headers or libraries for Android API levels 6 and 7. Therefore,
-when developing an app targeting Android API level 7, you should use the headers and libraries
-located under {@code android-5/}.</p>
-
-<p>Table 1 shows the correspondence between NDK-supported API levels and Android releases.</p>
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> NDK-supported API levels and corresponding Android releases.</p>
-<table>
-  <tr>
-    <th scope="col">NDK-supported API level</th>
-    <th scope="col">Android release</th>
-  </tr>
-  <tr>
-    <td>3</td>
-    <td>1.5</td>
-  </tr>
-    <tr>
-    <td>4</td>
-    <td>1.6</td>
-  </tr>
-    <tr>
-    <td>5</td>
-    <td>2.0</td>
-  </tr>
-  <tr>
-    <td>8</td>
-    <td>2.2</td>
-  </tr>
-    <tr>
-    <td>9</td>
-    <td>2.3 through 3.0.x</td>
-  </tr>
-  <tr>
-    <td>12</td>
-    <td>3.1.x</td>
-  </tr>
-  <tr>
-    <td>13</td>
-    <td>3.2</td>
-  </tr>
-  <tr>
-    <td>14</td>
-    <td>4.0 through 4.0.2</td>
-  </tr>
-  <tr>
-    <td>15</td>
-    <td>4.0.3 and 4.0.4</td>
-  </tr>
-    <tr>
-    <td>16</td>
-    <td>4.1 and 4.1.1</td>
-  </tr>
-    <tr>
-    <td>17</td>
-    <td>4.2 and 4.2.2</td>
-  </tr>
-    <tr>
-    <td>18</td>
-    <td>4.3</td>
-  </tr>
-    <tr>
-    <td>19</td>
-    <td>4.4</td>
-  </tr>
-    <tr>
-    <td>21</td>
-    <td>4.4W and 5.0</td>
-</table>
-
-<p>Each new release of NDK headers and libraries for a given Android API level is cumulative; you
-are nearly always safe if you use the most recently released headers when building your app. For
-example, you can use the NDK headers for Android API level 21 for an app targeting API level 16. By doing so, however, you increase your APK's footprint.</p>
-
-<p>
-For more information about Android API levels, see
-<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">What is API Level?</a>.
-</p>
-
-<h2 id="mnu">Major Native API Updates</h2>
-
-<h3 id="a3">Android API level 3</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 1.5 system
-images and above.</p>
-
-<h4>C library</h4>
-<p>The C library headers for Android 1.5 are available through their standard names, such as
-{@code stdlib.h} and {@code stdio.h}. If a header is missing at build time, it's because the
-header is not available on the 1.5 system image.</p>
-
-<h4>C++ library</h4>
-<p>An <em>extremely</em> minimal C++ support API is available. For more
-information on C++ library support, see
-<a href="{@docRoot}ndk/guides/cpp-support.html">C++ Library Support</a>.</p>
-
-<h4>Android-specific log support</h4>
-
-<p>{@code <android/log.h>} contains various definitions that an app can use to send log
-messages to the kernel from native code. For more information about these definitions, see the
-comments in {@code $NDK/platforms/android-3/arch-arm/usr/include/android/log.h}, where {@code $NDK}
-is the root of your NDK installation.</p>
-
-<p>You can write your own wrapper macros to access this functionality. If you wish to perform
-logging, your native module should link to {@code /system/lib/liblog.so}. Implement this
-linking by including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -llog
-</pre>
-
-<h4>ZLib compression library</h4>
-<p>You can use the <a href="http://www.zlib.net/manual.html">Zlib compression library</a>
-by including {@code zlib.h} and {@code zconf.h}. You must also link your native
-module against {@code /system/lib/libz.so} by including the following line in your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -lz
-</pre>
-
-<h4>Dynamic linker library</h4>
-<p>You can access the Android dynamic linker's {@code dlopen()}, {@code dlsym()}, and
-{@code dlclose()} functions by including {@code dlfcn.h}. You must also link against
-{@code /system/lib/libdl.so} by including the following line in your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -ldl
-</pre>
-
-<h3 id="a4">Android API level 4</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 1.6 system
-images and above.</p>
-
-<h4>OpenGL ES 1.x Library</h4>
-<p>The standard OpenGL ES headers {@code gl.h} and {@code glext.h} contain
-the declarations necessary for performing OpenGL ES 1.x rendering calls from native code.</p>
-
-<p>To use these headers, link your native module to {@code /system/lib/libGLESv1_CM.so} by
-including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-</p>
-
-<pre>
-LOCAL_LDLIBS := -lGLESv1_CM
-</pre>
-<p>All Android-based devices support OpenGL ES 1.0, because Android provides an Open GL 1.0-capable
-software renderer that can be used on devices without GPUs.</p>
-<p>Only Android devices that have the necessary GPU fully support OpenGL ES 1.1. An app can
-query the OpenGL ES version string and extension string to determine whether the current device
-supports the features it needs. For information on how to perform this query, see the description of
-<a href="http://www.khronos.org/opengles/sdk/1.1/docs/man/glGetString.xml">{@code glGetString()}</a>
-in the OpenGL specification.</p>
-
-<p>Additionally, you must put a
-<a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html">{@code
-<uses-feature>}</a> tag in your manifest file to indicate the version of
-<a href="http://developer.android.com/guide/topics/graphics/opengl.html#manifest">OpenGL ES</a>
-that your application requires.</p>
-
-<p>The <a href="#egl">EGL APIs</a> are only available starting from API level 9. You can, however,
-use the VM to perform some of the operations that you would get from those APIS. These operations
-include surface creation and flipping. For an example of how to use {@code GLSurfaceView}, see
-<a href="http://android-developers.blogspot.com/2009/04/introducing-glsurfaceview.html">
-Introducing GLSurfaceView</a>.</p>
-
-<p>The san-angeles sample application provides an example of how to perform these operations,
-rendering each frame in native code. This sample is a small Android port of the excellent
-<a href="http://jet.ro/visuals/san-angeles-observation/">San Angeles Observation</a> demo
-program.</p>
-
-<h3 id="a5">Android API level 5</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 2.0 system
-images and above.</p>
-
-<h4>OpenGL ES 2.0 library:</h4>
-<p>The standard OpenGL ES 2.0 headers {@code <GLES2/gl2.h>} and {@code <GLES2/gl2ext.h>}
-contain the declarations needed for performing OpenGL ES 2.0 rendering calls from native code.
-These rendering calls provide the ability to use the GLSL language to define and use vertex and
-fragment shaders.</p>
-
-<p>To use OpenGL ES 2.0, link your native module to {@code /system/lib/libGLESv2.so} by
-including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -lGLESv2
-</pre>
-
-<p>Not all devices support OpenGL ES 2.0. An app can query the OpenGL
-ES version string and extension string to determine whether the current device
-supports the features it needs. For information on how to perform this query, see the description of
-<a href="https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml">
-{@code glGetString()}</a> in the OpenGL specification.</p>
-
-<p>Additionally, you must put a
-<a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html">{@code
-<uses-feature>}</a> tag in your manifest file to indicate which version of OpenGL ES your
-application requires. For more information about the OpenGL ES settings for
-{@code <uses-feature>}, see
-<a href="http://developer.android.com/guide/topics/graphics/opengl.html#manifest">OpenGL ES</a>.</p>
-
-<p>The hello-gl2 sample application provies a basic example of how to use OpenGL ES 2.0 with the
-NDK.</p>
-
-<p>The <a href="#egl">EGL APIs</a> are only available starting from API level 9. You can, however,
-use the VM to perform some of the operations that you would get from those APIs. These operations
-include surface creation and flipping. For an example of how to use {@code GLSurfaceView}, see
-<a href="http://android-developers.blogspot.com/2009/04/introducing-glsurfaceview.html">
-Introducing GLSurfaceView</a>.</p>
-
-<p class="note"><strong>Note:</strong> The Android emulator does not support OpenGL ES 2.0 hardware
-emulation. Running and testing code that uses this API requires a real device with hardware that can
-support OpenGL ES 2.0.</p>
-
-<h3 id="a8">Android API level 8</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 2.2 system
-images and above.</p>
-
-<h4>jnigraphics</h4>
-<p>The {@code jnigraphics} library exposes a C-based interface that allows native code to reliably access
-the pixel buffers of Java bitmap objects. The workflow for using {@code jnigraphics} is as follows:
-</p>
-
-<ol type="1">
-<li>Use {@code AndroidBitmap_getInfo()} to retrieve information from JNI, such as width and height,
-about a given bitmap handle.</li>
-
-<li>Use {@code AndroidBitmap_lockPixels()} to lock the pixel buffer and retrieve a pointer to it.
-Doing so ensures that the pixels do not move until the app calls
-{@code AndroidBitmap_unlockPixels()}.</li>
-
-<li>In native code, modify the pixel buffer as appropriate for its pixel format, width, and other
-characteristics.</li>
-
-<li>Call {@code AndroidBitmap_unlockPixels()} to unlock the buffer.</li>
-</ol>
-
-<p>To use {@code jnigraphics}, include the {@code <bitmap.h>} header in your source code, and
-link against {@code jnigraphics} by including the following line in your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS += -ljnigraphics
-</pre>
-
-<p>Additional details about this feature are in the comments of the {@code bitmap.h} file.
-
-<h3 id="a9">Android API level 9</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 2.3 system
-images and above.</p>
-
-<h4 id="egl"> EGL</h4>
-<p>EGL provides a native platform interface for allocating and managing OpenGLES surfaces.
-For more information about its features, see <a href="http://www.khronos.org/egl">
-EGL Native Platform Interface</a>.</p>
-
-<p>EGL allows you to perform the following operations from native code:</p>
-
-<ul>
-<li>List supported EGL configurations.</li>
-<li>Allocate and release OpenGLES surfaces.</li>
-<li>Swap or flip surfaces.</li>
-</ul>
-
-<p>The following headers provide EGL functionality:</p>
-<ul>
-   <li>{@code EGL/egl.h}: the main EGL API definitions.</li>
-   <li>{@code EGL/eglext.h}: EGL extension-related definitions.</li>
-</ul>
-
-<p>To link against the system's EGL library, add the following line to your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS += -lEGL
-</pre>
-
-<h4 id="osl">OpenSL ES</h4>
-<p>Android native audio handling is based on the Khronos Group OpenSL ES 1.0.1 API.</p>
-
-<p>The standard OpenSL ES headers {@code OpenSLES.h} and {@code OpenSLES_Platform.h} contain
-the declarations necessary for performing audio input and output from the native side of Android.
-The NDK distribution of the OpenSL ES also provides Android-specific extensions. For information
-about these extensions, see the comments in {@code OpenSLES_Android.h} and
-{@code OpenSLES_AndroidConfiguration.h}.</p>
-
-
-<p>The system library {@code libOpenSLES.so} implements the public native audio functions. Link
-against it by adding the following line to your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS += -lOpenSLES
-</pre>
-
-<p>For more information about the OpenSL ES API, refer to
-{@code $NDK/docs/Additional_library_docs/opensles/index.html}, where {@code $NDK} is your NDK
-installation root directory.</p>
-
-<h4>Android native application APIs</h4>
-<p>Starting from API level 9, you can write an entire Android app with native code, without using
-any Java.</p>
-
-<p class="note"><strong>Note: </strong>Writing your app in native code is not, in itself, enough
-for your app to run in the VM. Moreover, your app must still access most features of the Android
-platform via JNI.</p>
-
-<p>This release provides the following native headers:</p>
-<ul>
-<li>{@code <native_activity.h>}</li>
-<li>{@code <looper.h>}</li>
-<li>{@code <input.h>}</li>
-<li>{@code <keycodes.h>}</li>
-<li>{@code <sensor.h>}</li>
-<li>{@code <rect.h>}</li>
-<li>{@code <window.h>}</li>
-<li>{@code <native_window.h>}</li>
-<li>{@code <native_window_jni.h>}</li>
-<li>{@code <configuration.h>}</li>
-<li>{@code <asset_manager.h>}</li>
-<li>{@code <storage_manager.h>}</li>
-<li>{@code <obb.h>}</li>
-</ul>
-
-<p>For more information about these headers, see the
-<a href="{@docRoot}ndk/reference/index.html">NDK API Reference documentation</a>, as well as
-the comments in the headers, themselves. Also, for more information about the larger topic of
-writing native apps, see <a href="{@docRoot}ndk/guides/concepts.html#naa">
-Native Activities and Applications</a>.
-
-<p>When you include one or more of these headers, you must also link against the
-{@code libandroid.so} library. To link against {@code libandroid.so}, include the following line in
-your <a href="{@docRoot}ndk/guides/android_mk.html"> {@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS += -landroid
-</pre>
-
-<h3 id="a14">Android API level 14</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 4.0 system
-images and above.</p>
-
-<h4>OpenMAX AL</h4>
-<p>Android native multimedia handling is based on Khronos Group OpenMAX AL 1.0.1 API.</p>
-<p>The standard OpenMAX AL headers {@code <OMXAL/OpenMAXAL.h>} and
-{@code <OMXAL/OpenMAXAL_Platform.h>} contain the declarations necessary for performing
-multimedia output from the native side of Android.</p>
-
-<p>The NDK distribution of OpenMAX AL also provides Android-specific extensions. For information
-about these extensions, see the comments in {@code OpenMAXAL_Android.h}.</p>
-
-<p>The system library {@code libOpenMAXAL.so} implements the public native multimedia functions.
-To link against this library, include the following line in your
-<a href="{@docRoot}ndk/guides/android_mk.html"> {@code Android.mk}</a> file:</p>
-
-<pre class="fragment">    LOCAL_LDLIBS += -lOpenMAXAL
-</pre><p>For more information about this topic, see {@code $NDK/docs/openmaxal/index.html},
-where {@code $NDK} is the root directory of your NDK installation.</p>
-
-<h4>OpenSL ES</h4>
-<p>OpenSL ES support for this Android API level adds PCM support. For more information about
-OpenSL ES support in the NDK, see <a href="#osl">OpenSL ES</a>.</p>
-
-<h3 id="a18">Android API level 18</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 4.3 system
-images and above.</p>
-
-<h4>OpenGL ES 3.0</h4>
-
-<p>The standard OpenGL ES 3.0 headers {@code gl3.h} and {@code gl3ext.h} contain the declarations
-needed for performing OpenGL ES 3.0 rendering calls from native code. These rendering calls provide
-the ability to use the GLSL language to define and use vertex and fragment shaders.
-
-<p>To use OpenGL ES 3.0, link your native module against {@code /system/lib/libGLESv3.so} by
-including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -lGLESv3
-</pre>
-
-<p>Not all devices support OpenGL ES 3.0. An app can query the OpenGL
-ES version string and extension string to determine whether the current device
-supports the features it needs. For information on how to perform this query, see the description of
-<a href="https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml">
-{@code glGetString()}</a> in the OpenGL specification.</p>
-
-<p>Additionally, you must put a
-<a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html">{@code
-<uses-feature>}</a> tag in your manifest file to indicate which version of OpenGL ES your
-application requires. For more information about the OpenGL ES settings for
-{@code <uses-feature>}, see
-<a href="http://developer.android.com/guide/topics/graphics/opengl.html#manifest">OpenGL ES</a>.</p>
-
-<p>The gles3jni sample application provides a basic example of how to use OpenGL ES 3.0 with the
-NDK.</p>
-
-<p class="note"><strong>Note:</strong> The Android emulator does not support OpenGL ES 3.0 hardware
-emulation. Running and testing code that uses this API requires a real device with hardware that can
-support OpenGL ES 3.0.</p>
-
-
-<h3 id="a18">Android API level 21</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 4.3 system
-images and above.</p>
-
-<h4>OpenGL ES 3.1</h4>
-
-<p>The standard OpenGL ES 3.1 headers {@code gl31.h} and {@code gl3ext.h} contain the declarations
-needed for performing OpenGL ES 3.1 rendering calls from native code. These rendering calls provide
-the ability to use the GLSL language to define and use vertex and fragment shaders.
-
-<p>To use OpenGL ES 3.1, link your native module against {@code /system/lib/libGLESv3.so} by
-including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -lGLESv3
-</pre>
-
-<p>Not all devices support OpenGL ES 3.1. An app can query the OpenGL
-ES version string and extension string to determine whether the current device
-supports the features it needs. For information on how to perform this query, see the description of
-<a href="https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml">
-{@code glGetString()}</a> in the OpenGL specification.</p>
-
-<p>Additionally, you must put a
-<a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html">{@code
-<uses-feature>}</a> tag in your manifest file to indicate which version of OpenGL ES your
-application requires. For more information about the OpenGL ES settings for
-{@code <uses-feature>}, see
-<a href="http://developer.android.com/guide/topics/graphics/opengl.html#manifest">OpenGL ES</a>.</p>
-
-<p>The gles3jni sample application provides a basic example of how to use OpenGL ES 3.1 with the
-NDK.</p>
-
-<p class="note"><strong>Note:</strong> The Android emulator does not support OpenGL ES 3.1 hardware
-emulation. Running and testing code that uses this API requires a real device with hardware that can
-support OpenGL ES 3.1.</p>
-
diff --git a/docs/html/ndk/guides/standalone_toolchain.jd b/docs/html/ndk/guides/standalone_toolchain.jd
deleted file mode 100755
index 7a6f906..0000000
--- a/docs/html/ndk/guides/standalone_toolchain.jd
+++ /dev/null
@@ -1,605 +0,0 @@
-page.title=Standalone Toolchain
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#syt">Selecting Your Toolchain</a></li>
-        <li><a href="#sys">Selecting Your Sysroot</a></li>
-        <li><a href="#itc">Invoking the Compiler</a></li>
-        <li><a href="#wwc">Working with Clang</a></li>
-        <li><a href="#abi">ABI Compatibility</a></li>
-        <li><a href="#war">Warnings and Limitations</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>You can use the toolchains provided with the Android NDK independently, or as plug-ins
-with an existing IDE. This flexibility
-can be useful if you already have your own build system, and only need the ability to invoke the
-cross-compiler in order to add support to Android for it.</p>
-
-<p>A typical use case is invoking the configure script of an open-source library that expects a
-cross-compiler in the {@code CC} environment variable.</p>
-
-<p class="note"><strong>Note:</strong> This page assumes significant understanding of
-compiling, linking, and low-level architecture. In addition, the techniques it describes are
-unnecessary for most use cases. In most cases, we recommend that you forego using a standalone
-toolchain, and instead stick to the NDK build system.</p>
-
-<h2 id="syt">Selecting Your Toolchain</h2>
-<p>Before anything else, you need to decide which processing architecture your standalone toolchain
-is going to target. Each architecture corresponds to a different toolchain name, as Table 1
-shows.</p>
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> {@code APP_ABI} settings for different instruction sets.</p>
-<table>
-  <tr>
-    <th scope="col">Architecture</th>
-    <th scope="col">Toolchain name</th>
-  </tr>
-  <tr>
-    <td>ARM-based</td>
-    <td>{@code arm-linux-androideabi-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>x86-based</td>
-    <td>{@code x86-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>MIPS-based</td>
-    <td>{@code mipsel-linux-android-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>ARM64-based</td>
-    <td>{@code aarch64-linux-android-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>X86-64-based</td>
-    <td>{@code x86_64-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>MIPS64-based</td>
-    <td>{@code mips64el-linux-android--<gcc-version>}</td>
-  </tr>
-</table>
-
-
-
-<h2 id="sys">Selecting Your Sysroot</h2>
-<p>The next thing you need to do is define your <i>sysroot</i> (A sysroot is a directory containing
-the system headers and libraries for your target). To define the sysroot, you must must know the
-Android API level you want to target for native support; available native APIs vary by Android API
-level.</p>
-
-<p>Native APIs for the respective <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">
-Android API levels</a> reside under {@code $NDK/platforms/}; each API-level
-directory, in turn, contains subdirectories for the various CPUs and architectures. The
-following example shows how to define a <em>sysroot</em> for a build targeting Android 5.0
-(API level 21), for ARM architecture:</p>
-
-<pre class="no-pretty-print">
-SYSROOT=$NDK/platforms/android-21/arch-arm
-</pre>
-
-For more detail about the Android API levels and the respective native APIs they support, see
-<a href={@docRoot}ndk/guides/stable_apis.html>Android NDK Native APIs</a>.
-
-<h2 id="itc">Invoking the Compiler</h2>
-
-<p>There are two ways to invoke the compiler. One method is simple, and leaves most of the lifting
-to the build system. The other is more advanced, but provides more flexibility.</p>
-
-<h3 id="sm">Simple method</h3>
-<p>The simplest way to build is by invoking the appropriate compiler directly from the command
-line, using the {@code --sysroot} option to indicate the location of the system files for the
-platform you're targeting. For example:</p>
-
-<pre class="no-pretty-print">
-export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
-linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT"
-$CC -o foo.o -c foo.c
-</pre>
-
-<p>While this method is simple, it lacks in flexibility: It does not allow you to use any C++ STL
-(STLport, libc++, or the GNU libstdc++) with it. It also does not support exceptions or RTTI.</p>
-
-<p>For Clang, you need to perform an additional two steps:</p>
-<ul>
-<ol type="1">
-<li>Add the appropriate {@code -target} for the target architecture, as Table 2 shows.</li>
-
-<p class="table-caption" id="table2">
-  <strong>Table 2.</strong> Architectures and corresponding values for {@code -target}.</p>
-   <table>
-  <tr>
-    <th scope="col">Architecture</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>armeabi</td>
-    <td>{@code -target armv5te-none-linux-androideabi}</td>
-  </tr>
-  <tr>
-    <td>armeabi-v7a</td>
-    <td>{@code -target armv7-none-linux-androideabi}</td>
-  </tr>
-  <tr>
-     <td>arm64-v8a</td>
-     <td>{@code -target aarch64-none-linux-android}</td>
-  </tr>
-  <tr>
-    <td>x86</td>
-    <td>{@code -target i686-none-linux-android}</td>
-  </tr>
-  <tr>
-    <td>x86_64</td>
-    <td>{@code -target x86_64-none-linux-android}</td>
-  </tr>
-  <tr>
-    <td>mips</td>
-    <td>{@code -target mipsel-none-linux-android}</td>
-  </tr>
-</table>
-
-<li>Add assembler and linker support by adding the {@code -gcc-toolchain} option, as in the
-following example:</li>
-<pre class="no-pretty-print">
--gcc-toolchain $NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
-</pre>
-</ol>
-
-Ultimately, a command to compile using Clang might look like this:
-
-<pre class="no-pretty-print">
-export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
-linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT" -target \
-armv7-none-linux-androideabi \
--gcc-toolchain $NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64"
-$CC -o foo.o -c foo.c
-</pre>
-</ul>
-
-<h3>Advanced method</h3>
-<p>The NDK provides the {@code make-standalone-toolchain.sh} shell script to allow you to perform a
-customized toolchain installation from the command line. This approach affords you more flexibility
-than the procedure described in <a href="#sm">Simple method</a>.</p>
-
-<p>The script is located in the {@code $NDK/build/tools/} directory, where {@code $NDK} is the
-installation root for the NDK. An example of the use of this script appears below:</p>
-
-<pre class="no-pretty-print">
-$NDK/build/tools/make-standalone-toolchain.sh \
---arch=arm --platform=android-21 --install-dir=/tmp/my-android-toolchain
-</pre>
-
-<p>This command creates a directory named {@code /tmp/my-android-toolchain/}, containing a copy of
-the {@code android-21/arch-arm} sysroot, and of the toolchain binaries for a 32-bit ARM
-architecture.</p>
-
-<p>Note that the toolchain binaries do not depend on or contain host-specific paths, in other words,
-you can install them in any location, or even move them if you need to.</p>
-
-<p>By default, the build system uses the 32-bit, ARM-based GCC 4.8 toolchain. You can specify a
-different value, however, by specifying {@code --arch=<toolchain>} as an option.
-Table 3 shows the values to use for other toolchains:
-
-<p class="table-caption" id="table3">
-  <strong>Table 3.</strong> Toolchains and corresponding values, using {@code --arch}.</p>
-   <table>
-  <tr>
-    <th scope="col">Toolchain</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>mips64 compiler</td>
-    <td>{@code --arch=mips64}</td>
-  </tr>
-  <tr>
-    <td>mips GCC 4.8 compiler</td>
-    <td>{@code --arch=mips}</td>
-  </tr>
-  <tr>
-    <td>x86 GCC 4.8 compiler</td>
-    <td>{@code --arch=x86}</td>
-  </tr>
-  <tr>
-    <td>x86_64 GCC 4.8 compiler</td>
-    <td>{@code --arch=x86_64}</td>
-  </tr>
-  <tr>
-    <td>mips GCC 4.8 compiler</td>
-    <td>{@code --arch=mips}</td>
-  </tr>
-</table>
-
-<p>Alternatively, you can use the {@code --toolchain=<toolchain>} option. Table 4 shows the
-values you can specify for {@code <toolchain>}:</p>
-
-<p class="table-caption" id="table4">
-  <strong>Table 4.</strong> Toolchains and corresponding values, using {@code --toolchain}.</p>
-   <table>
-  <tr>
-    <th scope="col">Toolchain</th>
-    <th scope="col">Value</th>
-  </tr>
-
-  <tr>
-    <td>arm</td>
-    <td>
-       <li>{@code --toolchain=arm-linux-androideabi-4.8}</li>
-       <li>{@code --toolchain=arm-linux-androideabi-4.9}</li>
-       <li>{@code --toolchain=arm-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=arm-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-  <tr>
-    <td>x86</td>
-    <td>
-       <li>{@code --toolchain=x86-linux-android-4.8}</li>
-       <li>{@code --toolchain=x86-linux-android-4.9}</li>
-       <li>{@code --toolchain=x86-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=x86-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-  <tr>
-    <td>mips</td>
-    <td>
-       <li>{@code --toolchain=mips-linux-android-4.8}</li>
-       <li>{@code --toolchain=mips-linux-android-4.9}</li>
-       <li>{@code --toolchain=mips-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=mips-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-
-  <tr>
-    <td>arm64</td>
-    <td>
-       <li>{@code --toolchain=aarch64-linux-android-4.9}</li>
-       <li>{@code --toolchain=aarch64-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=aarch64-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-  <tr>
-    <td>x86_64</td>
-    <td>
-       <li>{@code --toolchain=x86_64-linux-android-4.9}</li>
-       <li>{@code --toolchain=x86_64-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=x86_64-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-  <tr>
-    <td>mips64</td>
-    <td>
-       <li>{@code --toolchain=mips64el-linux-android-4.9}</li>
-       <li>{@code --toolchain=mips64el-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=mips64el-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-</table>
-
-<p class="note"><strong>Note: </strong> Table 4 is not an exhaustive list. Other combinations may
-also be valid, but are unverified.</p>
-
-<p>You can also copy Clang/LLVM 3.6, using one of two methods: You can append {@code -clang3.6} to
-the {@code --toolchain} option, so that the {@code --toolchain} option looks like the following
-example:
-
-<pre class="no-pretty-print">
---toolchain=arm-linux-androideabi-clang3.6
-</pre>
-
-<p>You can also add {@code -llvm-version=3.6} as a separate option on the command
-line.</p>
-
-<p class="note"><strong>Note: </strong>Instead of specifying a specific version, you can also
-use {@code <version>}, which defaults
-to the highest available version of Clang.</p>
-
-<p>By default, the build system builds for a 32-bit host toolchain. You can specify a 64-bit
-host toolchain instead. Table 5 shows the value to use with {@code -system} for different
-platforms.</p>
-
-<p class="table-caption" id="table5">
-  <strong>Table 5.</strong> Host toolchains and corresponding values, using {@code -system}.</p>
-   <table>
-  <tr>
-    <th scope="col">Host toolchain</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>64-bit Linux</td>
-    <td>{@code -system=linux-x86_64}</td>
-  </tr>
-  <tr>
-    <td>64-bit MacOSX</td>
-    <td>{@code -system=darwin-x86_64}</td>
-  </tr>
-  <tr>
-    <td>64-bit Windows</td>
-    <td>{@code -system=windows-x86_64}</td>
-  </tr>
-</table>
-
-For more information on specifying a 64- or 32-bit instruction host toolchain, see
-<a href="{@docRoot}ndk/guides/ndk-build.html#6432">64-Bit and 32-Bit Toolchains</a>.
-
-<p>You may specify {@code --stl=stlport} to copy {@code libstlport} instead of the default
-{@code libgnustl}. If you do so, and you wish to link against the shared library, you must
-explicitly use {@code -lstlport_shared}. This requirement is similar to having to use
-{@code -lgnustl_shared} for GNU {@code libstdc++}.</p>
-
-<p>Similarly, you can specify {@code --stl=libc++} to copy the LLVM libc++ headers and libraries.
-To link against the shared library, you must explicitly use -lc++_shared.</p>
-
-<p>You can make these settings directly, as in the following example:</p>
-
-<pre class="no-pretty-print">
-export PATH=/tmp/my-android-toolchain/bin:$PATH
-export CC=arm-linux-androideabi-gcc   # or export CC=clang
-export CXX=arm-linux-androideabi-g++  # or export CXX=clang++
-</pre>
-
-<p>Note that if you omit the {@code -install-dir} option, the {@code make-standalone-toolchain.sh}
-shell script creates a tarball in {@code tmp/ndk/<toolchain-name>.tar.bz2}. This tarball makes
-it easy to archive, as well as to redistribute the binaries.</p>
-
-<p>This standalone toolchain provides an additional benefit, as well, in that it contains a working
-copy of a C++ STL library, with working exceptions and RTTI support.</p>
-
-<p>For more options and details, use {@code --help}.</p>
-
-<h2 id="wwc">Working with Clang</h2>
-<p>You can install Clang binaries in the standalone installation by using the
-{@code --llvm-version=<version>} option. {@code <version>} is a LLVM/Clang version
-number, such as {@code 3.5} or {@code 3.6}. For example:
-
-<pre class="no-pretty-print">
-build/tools/make-standalone-toolchain.sh \
---install-dir=/tmp/mydir \
---toolchain=arm-linux-androideabi-4.8 \
---llvm-version=3.6
-</pre>
-
-<p>Note that Clang binaries are copied along with the GCC ones, because they rely on the same
-assembler, linker, headers, libraries, and C++ STL implementation.</p>
-
-<p>This operation also installs two scripts, named {@code clang} and {@code clang++}, under
-{@code <install-dir>/bin/@}. These scripts invoke the real {@code clang} binary with default
-target architecture flags. In other words, they should work without any modification, and you should
-be able to use them in your own builds by just setting the {@code CC} and {@code CXX} environment
-variables to point to them.</p>
-
-<h4>Invoking Clang</h4>
-<p>In an ARM standalone installation built with {@code llvm-version=3.6}, invoking
-<a href="http://clang.llvm.org/">Clang</a> on a Unix system takes the form of a single line. For
-instance:</p>
-
-<pre class="no-pretty-print">
-`dirname $0`/clang36 -target armv5te-none-linux-androideabi "$@"
-</pre>
-
-<p><code>clang++</code> invokes <code>clang++31</code> in the same way.</p>
-
-<h4>Clang targets with ARM</h4>
-
-<p>When building for ARM, Clang changes the target based on the presence of the
-{@code -march=armv7-a} and/or {@code -mthumb} options:</p>
-
-<p class="table-caption" id="table5">
-  <strong>Table 5.</strong> Specifiable {@code -march} values and their resulting targets.</p>
-   <table>
-  <tr>
-    <th scope="col">{@code -march} value</th>
-    <th scope="col">Resulting target</th>
-  </tr>
-  <tr>
-    <td>{@code -march=armv7-a}</td>
-    <td>{@code armv7-none-linux-androideabi}</td>
-  </tr>
-  <tr>
-    <td>{@code -mthumb}</td>
-    <td>{@code thumb-none-linux-androideabi}</td>
-  </tr>
-  <tr>
-    <td>Both {@code -march=armv7-a} and {@code -mthumb}</td>
-    <td>{@code thumbv7-none-linux-androideabi}</td>
-  </tr>
-</table>
-
-<p>You may also override with your own {@code -target} if you wish.</p>
-
-<p>The {@code -gcc-toolchain} option is unnecessary because, in a standalone package,
-Clang locates {@code as} and {@code ld} in a predefined relative location. <p>
-
-<p>{@code clang} and {@code clang++} should be easy drop-in replacements for {@code gcc} and
-{@code g++} in a makefile. When in doubt, add the following options to verify that they are
-working properly:</p>
-
-<ul>
-<li>{@code -v} to dump commands associated with compiler driver issues</li>
-<li>{@code -###} to dump command line options, including implicitly predefined ones.</li>
-<li>{@code -x c < /dev/null -dM -E} to dump predefined preprocessor definitions</li>
-<li>{@code -save-temps} to compare {@code *.i} or {@code *.ii} preprocessed files.</li>
-</ul>
-
-<p>For more information about Clang, see
-<a href="http://clang.llvm.org/">http://clang.llvm.org/</a>, especially the GCC compatibility
-section.</p>
-
-
-<h2 id="abi">ABI Compatibility</h2>
-<p>The machine code that the ARM toolchain generates should be compatible with the official Android
-{@code armeabi} <a href="{@docRoot}ndk/guides/abis.html">ABI</a> by default.</p>
-
-<p>We recommend use of the {@code -mthumb} compiler flag to force the generation of 16-bit Thumb-1
-instructions (the default being 32-bit ARM instructions).</p>
-
-<p>If you want to target the armeabi-v7a ABI, you must set the following flags: </p>
-
-<pre class="no-pretty-print">
-CFLAGS= -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16
-</pre>
-
-<p>The first flag enables Thumb-2 instructions. The second flag enables hardware-FPU instructions
-while ensuring that the system passes floating-point parameters in core registers, which is critical
-for ABI compatibility.</p>
-
-<p class="note"><strong>Note: </strong>In versions of the NDK prior to r9b, do not use these flags
-separately. You must set all or none of them. Otherwise, unpredictable behavior and crashes may
-result.</p>
-
-<p>To use NEON instructions, you must change the {@code -mfpu} compiler flag:</p>
-
-<pre class="no-pretty-print">
-CFLAGS= -march=armv7-a -mfloat-abi=softfp -mfpu=neon
-</pre>
-
-<p>Note that this setting forces the use of {@code VFPv3-D32}, per the ARM specification.</p>
-
-<p>Also, make sure to provide the following two flags to the linker:</p>
-
-<pre class="no-pretty-print">
-LDFLAGS= -march=armv7-a -Wl,--fix-cortex-a8
-</pre>
-
-<p>The first flag instructs the linker to pick {@code libgcc.a}, {@code libgcov.a}, and
-{@code crt*.o}, which are tailored for armv7-a. The 2nd flag is required as a workaround for a CPU
-bug in some Cortex-A8 implementations.</p>
-
-<p>Since NDK version r9b, all Android native APIs taking or returning double or float values have
-{@code attribute((pcs("aapcs")))} for ARM. This makes it possible to compile user code in
-{@code -mhard-float} (which implies {@code -mfloat-abi=hard}), and still link with the Android
-native APIs that comply with the softfp ABI. For more information on this, see the comments in
-{@code $NDK/tests/device/hard-float/jni/Android.mk}.</p>
-
-<p>If you want to use NEON intrinsics on x86, the build system can translate them to the native x86
-SSE intrinsics using a special C/C++ language header with the same name, {@code arm_neon.h}, as the
-standard ARM NEON intrinsics header.</p>
-
-<p>By default, the x86 ABI supports SIMD up to SSSE3, and the header covers ~93% of (1869 of 2009)
-NEON functions.</p>
-
-<p>You don't have to use any specific compiler flag when targeting the MIPS ABI.</p>
-
-<p>To learn more about ABI support, see <a href="{@docRoot}ndk/guides/x86.html">x86 Support</a>.</p>
-
-<h2 id="war">Warnings and Limitations</h2>
-<h3>Windows support</h3>
-<p>The Windows binaries do not depend on Cygwin. This lack of dependency makes them faster. The
-cost, however, is that they do not understand Cygwin path specifications like
-{@code cygdrive/c/foo/bar}, as opposed to {@code C:/foo/bar}.</p>
-
-<p>The NDK build system ensures that all paths passed to the compiler from Cygwin are automatically
-translated, and manages other complexities, as well. If you have a custom build system,
-you may need to resolve these complexities yourself.</p>
-
-<p>For information on contributing to support for Cygwin/MSys, visit the android-ndk
-<a href="https://groups.google.com/forum/#!forum/android-ndk">forum</a>.</p>
-
-<h3>wchar_t support</h3>
-
-<p>The Android platform did not really support {@code wchar_t} until Android 2.3 (API level 9). This
-fact has several ramifications:</p>
-<ul>
-<li>If you target platform Android 2.3 or higher, the size of {@code wchar_t} is 4 bytes, and most
-{@code wide-char} functions are available in the C library (with the exception of multi-byte
-encoding/decoding functions and {@code wsprintf}/{@code wsscanf}).</li>
-
-<li>If you target any lower API level, the size of {@code wchar_t} is 1 byte, and none of the
-wide-char functions works.</li>
-</ul>
-
-<p>We recommend that you get rid of any dependencies on the {@code wchar_t} type, and switch to
-better representations. The support provided in Android is only there to help you migrate existing
-code.</p>
-
-<h3>Exceptions, RTTI, and STL</h3>
-<p>The toolchain binaries support C++ exceptions and RTTI by default. To disable C++ exceptions
-and RTTI when building sources (to generate lighter-weight machine code, for example), use
-{@code -fno-exceptions} and {@code -fno-rtti}.</p>
-
-<p>To use these features in conjunction with GNU libstdc++, you must explicitly link with libsupc++.
-To do so, use {@code -lsupc++} when linking binaries. For example:</p>
-
-<pre class="no-pretty-print">
-arm-linux-androideabi-g++ .... -lsupc++
-</pre>
-
-<p>You do not need to do this when using the STLport or libc++ library.</p>
-
-<h3>C++ STL support</h3>
-<p>The standalone toolchain includes a copy of a C++ Standard Template Library implementation. This
-implementation is either for GNU libstdc++, STLport, or libc++, depending on what you specify for the
-{@code --stl=<name>} option described previously. To use this implementation of STL, you need
-to link your project with the proper library:</p>
-
-<ul>
-<li>
-Use {@code -lstdc++} to link against the static library version of any implementation. Doing so
-ensures that all required C++ STL code is included into your final binary. This method is ideal if
-you are only generating a single shared library or executable.</p>
-
-<p>This is the method that we recommend.</p>
-</li>
-
-<li>Alternatively, use {@code -lgnustl_shared} to link against the shared library version of GNU
-{@code libstdc++}. If you use this option, you must also make sure to copy
-{@code libgnustl_shared.so} to your device in order for your code to load properly. Table 6 shows
-where this file is for each toolchain type.
-</li>
-
-<p class="note"><strong>Note: </strong>GNU libstdc++ is licensed under the GPLv3 license, with a
-linking exception. If you cannot comply with its requirements, you cannot redistribute the
-shared library in your project.</p>
-
-
-<li>Use {@code -lstlport_shared} to link against the shared library version of STLport. When you do
-so, you need to make sure that you also copy {@code libstlport_shared.so} to your device in order
-for your code to load properly. Table 6 shows where this file is for each toolchain:</li>
-
-<p class="table-caption" id="table6">
-  <strong>Table 6.</strong> Specifiable {@code -march} values and their resulting targets.</p>
-   <table>
-  <tr>
-    <th scope="col">Toolchain</th>
-    <th scope="col">Location</th>
-  </tr>
-  <tr>
-    <td>arm</td>
-    <td>{@code $TOOLCHAIN/arm-linux-androideabi/lib/}</td>
-  </tr>
-  <tr>
-    <td>arm64</td>
-    <td>{@code $TOOLCHAIN/aarch64-linux-android/lib/}</td>
-  </tr>
-  <tr>
-    <td>x86</td>
-    <td>{@code $TOOLCHAIN/i686-linux-android/lib/}</td>
-  </tr>
-  <tr>
-    <td>x86_64</td>
-    <td>{@code $TOOLCHAIN/x86_64-linux-android/lib/}</td>
-  </tr>
-  <tr>
-    <td>mips</td>
-    <td>{@code $TOOLCHAIN/mipsel-linux-android/lib/}</td>
-  </tr>
-  <tr>
-    <td>mips64</td>
-    <td>{@code $TOOLCHAIN/mips64el-linux-android/lib/}</td>
-  </tr>
-</table>
-
-<p class="note"><strong>Note: </strong>If your project contains multiple shared libraries or
-executables, you must link against a shared-library STL implementation. Otherwise, the build
-system does not define certain global uniquely, which can result in unpredictable runtime behavior.
-This behavior may include crashes and failure to properly catch exceptions.</p>
-
-<p>The reason the shared version of the libraries is not simply called {@code libstdc++.so} is that
-this name would conflict at runtime with the system's own minimal C++ runtime. For this reason,
-the build system enforces a new name for the GNU ELF library. The static library does not have
-this problem.</p>
diff --git a/docs/html/ndk/guides/x86-64.jd b/docs/html/ndk/guides/x86-64.jd
deleted file mode 100644
index c2f0d28..0000000
--- a/docs/html/ndk/guides/x86-64.jd
+++ /dev/null
@@ -1,52 +0,0 @@
-page.title=Support for 64-bit x86
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-         <li><a href="#st">Standalone Toolchain</a></li>
-         <li><a href="#comp">Compatibilty</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The Android NDK supports the {@code x86_64} ABI. This ABI allows native code to run on
-Android-based devices using CPUs that support the 64-bit x86 instruction set.</p>
-
-<h2 id="over">Overview</h2>
-<p>To generate 64-bit machine code for x86, add {@code x86_64} to the {@code APP_ABI} definition in
-your {@code Application.mk} file. For example:
-
-<pre>
-APP_ABI := x86_64
-</pre>
-
-For more information on how to specify values for {@code APP_ABI}, see
-<a href="{@docRoot}ndk/guides/application_mk.html">Application.mk</a>.</p>
-
-<p>The build system places libraries generated for the {@code x86_64} ABI into
-{@code $PROJECT/libs/x86_64/} on your host machine, where {@code $PROJECT} is the root directory
-of your project. It also embeds them in your APK, under {@code /lib/x86_64/}.</p>
-
-<p>The Android package manager extracts these libraries when installing your APK on a compatible
-64-bit, x86-powered device, placing them under your app's private data directory.</p>
-
-<p>In the Google Play store, the server filters applications so that a consumer sees only the native
-libraries that run on the CPU powering his or her device.</p>
-
-<h2 id="st">Standalone Toolchain</h2>
-
-<p>You can use the 64-bit x86 toolchain in standalone mode with the NDK. For more
-information about doing so, see <a href="{@docRoot}ndk/guides/standalone_toolchain.html">
-Standalone Toolchain</a>, under the "Advanced method" section.
-
-<h2 id="comp">Compatibility</h2>
-<p>The NDK provides native versions of Android APIs for 64-bit x86 machine code starting from
-Android 5.0 (Android API level 21). If your project files target an older API level, but include
-{@code x86_64} as a targeted platform, the NDK build script automatically selects the right set of
-native platform headers and libraries for you.</p>
diff --git a/docs/html/ndk/guides/x86.jd b/docs/html/ndk/guides/x86.jd
deleted file mode 100644
index 3a01b05..0000000
--- a/docs/html/ndk/guides/x86.jd
+++ /dev/null
@@ -1,215 +0,0 @@
-page.title=x86 Support
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-         <li><a href="#an">ARM NEON Intrinsics Support</a></li>
-         <li><a href="#st">Standalone Toolchain</a></li>
-         <li><a href="#comp">Compatibility</a></li>
-      </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK includes support for the {@code x86} ABI, which allows native code to run on
-Android-based devices running on CPUs supporting the IA-32 instruction set.</p>
-
-<h2 id="over">Overview</h2>
-<p>To generate x86 machine code, add {@code x86} to the {@code APP_ABI} definition in your
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file. For example:</p>
-
-<pre class="no-pretty-print">
-APP_ABI := armeabi armeabi-v7a x86
-</pre
-
-<p>For more information about defining the {@code APP_ABI} variable, see
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>.</p>
-
-<p>The build system places generated libraries into {@code $PROJECT/libs/x86/}, where
-{@code $PROJECT} represents your project's root directory, and embeds them in your APK under
-{@code /lib/mips/}.</p>
-
-<p>The Android package extracts these libraries when installing your APK on a compatible x86-based
-device, placing them under your app's private data directory.</p>
-
-<p>In the Google Play store, the server filters applications so that a consumer sees only the native
-libraries that run on the CPU powering his or her device.</p>
-
-<h2 id="an">x86 Support for ARM NEON Intrinsics</h2>
-<p>Support for ARM NEON intrinsics is provided in the form of C/C++ language headers with the same
-name as the standard ARM NEON intrinsics header, {@code arm_neon.h}. These headers are available for
-all NDK x86 toolchains. They translate NEON intrinsics to native x86 SSE ones.</p>
-
-<p>Characteristics of this solution include the following:</p>
-<ul>
-<li>Default use of SSE through SSSE3 for porting ARM NEON to Intel SSE, covering ~93%
-(1869 of total 2009) of all NEON functions.</li>
-<li>Redefinition of ARM NEON 128 bit vectors into the equivalent x86 SIMD data.</li>
-<li>Redefinition of some functions from ARM NEON to Intel SSE if a 1:1 correspondence exists.</li>
-<li>Implementation of some ARM NEON functions using Intel SIMD if it will yield a performant result.
-</li>
-<li>Implementation of some of the remaining NEON functions using the serial solution, and issuing
-the corresponding "low performance" compiler warning.</li>
-</ul>
-
-
-<h3>Performance</h3>
-<p>In most cases, you should be able to attain performance similar to what you would get from ARM
-NEON code. Recommendations for best results include:</p>
-
-<ul>
-<li>Use 16-byte data alignment for faster load and store.</li>
-<li>Avoid using constants with NEON functions. Using constants results in a performance penalty due
-to having to load constants. If you must use constants, try to initialize them outside of hotspot
-loops. If possible, replace them with logical and compare operations.</li>
-<li>Try to avoid functions marked as "serially implemented" because they need to store data from
-registers to memory. Instead, process them serially and reload them. You may be able to change the
-data type or algorithm used to vectorize the whole port instead of leaving it as a serial one.</li>
-</ul>
-
-<p>For more information on this topic, see
-<a href="http://software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks">
-From ARM NEON to Intel SSE&ndash; the automatic porting solution, tips and tricks</a>.</p>
-
-<h3>Known differences from ARM version</h3>
-<p>In the great majority of cases, x86 implementations produce the same results as ARM
-implementations for NEON. x86 implementations pass
-<a href="https://gitorious.org/arm-neon-tests/arm-neon-tests">NEON tests</a> nearly 100% of the
-time. Still, there are several corner cases in which an x86 implementation produces results
-different from its ARM counterpart. Known incompatibilities are as follows:</p>
-
-<ul>
-<li>{@code VRECPS/VRECPSQ}<br/>
-  If one of the operands is +/- infinity and the second is +/- 0.0:
-  <ul>
-    <li>On ARM CPUs, these instructions
-    <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489h/CIHDIACI.html">
-    return a result element equal to 2.0</a>.</li>
-
-    <li>x86 CPUs return {@code QNaN Indefinite}. For more information about the QNaN floating-point
-    indefinite, see "4.2.2 Floating-Point Data Types" and "4.8.3.7 QNaN Floating-Point Indefinite,"
-    in the
-    <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s Manual</a>.
-    </li>
-
-  </ul>
-</li>
-<li>{@code VRSQRTS/VRSQRTSQ}<br/>
-  If one of the operands is +/- infinity and the second is +/- 0.0:
-  <ul>
-    <li>On ARM CPUs, these instructions
-    <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489h/CIHDIACI.html">
-    return a result element equal to 1.5</a>.</li>
-
-    <li>x86 CPUs return {@code QNaN Indefinite}. For more information about the QNaN floating-point
-    indefinite, see "4.2.2 Floating-Point Data Types" and "4.8.3.7 QNaN Floating-Point Indefinite,"
-    in the
-    <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s Manual</a>.
-    </li>
-  </ul>
-</li>
-
-<li>{@code VMAX/VMAXQ}<br/>
-  If one of the operands is NaN, or both operands are +/- 0.0:
-  <ul>
-    <li>On ARM CPUs, floating-point maximum works as follows:
-      <ul>
-        <li>max(+0.0, -0.0) = +0.0.</li>
-        <li>If any input is a NaN, the corresponding result element is the default NaN.</li>
-      </ul>
-      To learn more about this condition and result, see the
-      <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489h/CIHDEEBE.html">
-      ARM Compiler toolchain Assembler Reference</a>, ignoring the "Superseded" watermark.
-    </li>
-
-    <li>On x86 CPUs, floating-point maximum works as follows:
-      <ul>
-        <li>If one of the source operands is NaN, then return the second source operand.</li>
-        <li>If both source operands are equal to 0, then return the second source operand.</li>
-      </ul>
-      For more information about these conditions and results, see Volume 1 Appendix E chapter
-      E.4.2.3 and Volume 2, p 3-488, of the
-      <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s
-      Manual</a>.
-    </li>
-  </ul>
-</li>
-
-<li>{@code VMIN/VMINQ}<br/>
-  If one of the operands is NaN or both are +/- 0.0:
-  <ul>
-    <li>On ARM CPUs floating-point minimum works as follows:
-      <ul>
-        <li>min(+0.0, -0.0) = -0.0.</li>
-        <li>If any input is a NaN, the corresponding result element is the default NaN.</li>
-      </ul>
-      To learn more about this condition and result, see the
-      <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489h/CIHDEEBE.html">
-      ARM Compiler toolchain Assembler Reference</a>, ignoring the "Superseded" watermark.
-    </li>
-    <li>On x86 CPUs floating-point minimum works as follows:
-      <ul>
-        <li>If one of the source operands is NaN, than return the second source operand.</li>
-        <li>If both source operands are equal to 0, than return the second source operand.</li>
-      </ul>
-      For more information about these conditions and results, see Volume 1 Appendix E chapter
-      E.4.2.3 and Volume 2, p 3-497, of the
-      <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s
-      Manual</a>.
-    </li>
-  </ul>
-</li>
-
-<li>{@code VRECPE/VRECPEQ}<br/>
-  These instructions provide different levels of accuracy on ARM and x86 CPUs. For more information
-  about these differences, see
-  <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka14282.html">
-  How do I use VRECPE/VRECPEQ for reciprocal estimate?</a> on the ARM website, and Volume 2, p.
-  4-281 of the
-  <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s Manual</a>.
-</li>
-
-<li>{@code VRSQRTE/VRSQRTEQ}<br/>
-  <ul>
-    <li>These instructions provide different levels of accuracy on ARM and x86 CPUs. For more
-    information about these differences, see the
-    <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/CIHCHECJ.html">
-    RealView Compilation Tools Assembler Guide</a>, and Volume 2, p. 4-325 of the
-    <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s Manual</a>.
-    </li>
-
-    <li>If one of the operands is negative or -infinity then
-      <ul>
-        <li>On ARM CPUs, these instructions by default return a (positive) NaN. For more information
-        about this result, see the
-        <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489i/CIHIICBB.html">
-        ARM Compiler toolchain Assembler Reference</a>.</li>
-        <li>On x86 CPUs, these instructions return a (negative) QNaN floating-point Indefinite. For
-        more information about this result, see Volume 1, Appendix E, E.4.2.3, of the
-      <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s
-      Manual</a>.</li>
-      </ul>
-    </li>
-  </ul>
-</li>
-</ul>
-
-<h3>Sample code</h3>
-<p>In your project make sure to include the {@code arm_neon.h} header, and define include
-{@code x86} in your definition of {@code APP_ABI}. The build system then ports your code to x86.</p>
-
-<p>For an example of how porting ARM NEON to x86 SSE works, see the hello-neon sample.</p>
-
-<h2 id="st">Standalone Toolchain</h2>
-<p>You can incorporate the {@code x86} ABI into your own toolchain. For more information, see
-<a href="{@docRoot}ndk/guides/standalone_toolchain.html">Standalone Toolchain</a>.</p>
-
-<h2 id="comp">Compatibility</h2>
-<p>x86 support requires, at minimum, Android 2.3 (Android API level 9). If your project files
-target an older API level, but include x86 as a targeted platform, the NDK build script
-automatically selects the right set of native platform headers/libraries for you.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/index.jd b/docs/html/ndk/index.jd
deleted file mode 100644
index fc1c595..0000000
--- a/docs/html/ndk/index.jd
+++ /dev/null
@@ -1,51 +0,0 @@
-page.title=Android NDK
-page.tags="ndk, native, c, c++",
-meta.tags="ndk, native, c++"
-fullpage=true
-section.landing=true
-header.hide=1
-footer.hide=1
-@jd:body
-
-<section class="dac-expand dac-hero dac-dark dac-invert" style="background-repeat:no-repeat;">
-  <div class="wrap">
-    <div class="cols dac-hero-content" style="margin-top:32px">
-      <div class="col-7of16 cdol-push-1of16">
-        <h1 class="dac-hero-title">Android NDK</h1>
-        <p class="dac-hero-description">
-        The Android NDK is a toolset that lets you implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can help you reuse existing code libraries written in those languages.
-        </p>
-
-        <a class="dac-hero-cta" href="/ndk/guides/index.html">
-          <span class="dac-sprite dac-auto-chevron"></span>
-          Get Started
-        </a><br>
-      </div>
-      <div class="col-8of16 col-push-1of16" style="margin-top:48px">
-
-        <span style="color:#00e5ff;font-family:'Roboto Mono', monospace;font-weight:400">public class <span
-        style="color:#eee">MyActivity</span> extends Activity {<br>
-              <span style="color:#ccc">&nbsp;&nbsp;/**<br>
-                &nbsp;&nbsp;* Native method implemented in C/C++<br>
-                &nbsp;&nbsp;*/</span><br>
-                &nbsp;&nbsp;public <span style="color:#1DE9B6;font-weight:700">native</span> void <span style="color:#eee">computeFoo()</span>;<br>
-              }</span>
-      </div>
-    </div>
-  </div>
-</section>
-
-<div class="wrap dac-offset-parent">
-  <a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
-    <i class="dac-sprite dac-arrow-down-gray"></i>
-  </a>
-</div>
-<section class="dac-section dac-gray dac-small" id="latest"><div class="wrap">
-  <h2 class="norule">Latest</h2>
-  <div class="resource-widget resource-flow-layout col-16"
-       data-query="type:blog+tag:ndk"
-       data-cardSizes="6x6"
-       data-maxResults="9"
-       data-items-per-page="6"
-       data-initial-results="3"></div>
-</div></section>
diff --git a/docs/html/ndk/reference/_book.yaml b/docs/html/ndk/reference/_book.yaml
deleted file mode 100644
index ab8b8f9..0000000
--- a/docs/html/ndk/reference/_book.yaml
+++ /dev/null
@@ -1,60 +0,0 @@
-toc:
-- title: Asset Manager
-  path: /ndk/reference/group___asset.html
-  section:
-  - title: asset_manager.h
-    path: /ndk/reference/asset__manager_8h.html
-  - title: asset_manager_jni.h
-    path: /ndk/reference/asset__manager__jni_8h.html
-
-- title: Bitmap
-  path: /ndk/reference/group___bitmap.html
-  section:
-  - title: bitmap.h
-    path: /ndk/reference/bitmap_8h.html
-
-- title: Configuration
-  path: /ndk/reference/group___configuration.html
-  section:
-  - title: configuration.h
-    path: /ndk/reference/configuration_8h.html
-
-- title: Input
-  path: /ndk/reference/group___input.html
-  section:
-  - title: input.h
-    path: /ndk/reference/input_8h.html
-  - title: keycodes.h
-    path: /ndk/reference/keycodes_8h.html
-
-- title: Looper
-  path: /ndk/reference/group___looper.html
-  section:
-  - title: looper.h
-    path: /ndk/reference/looper_8h.html
-
-- title: Native Activity and Window
-  path: /ndk/reference/group___native_activity.html
-  section:
-  - title: native_activity.h
-    path: /ndk/reference/native__activity_8h.html
-  - title: native_window.h
-    path: /ndk/reference/native__window_8h.html
-  - title: native_window.h
-    path: /ndk/reference/native__window__jni_8h.html
-  - title: rect.h
-    path: /ndk/reference/rect_8h.html
-
-- title: Sensor
-  path: /ndk/reference/group___sensor.html
-  section:
-  - title: sensor.h
-    path: /ndk/reference/sensor_8h.html
-
-- title: Storage Manager
-  path: /ndk/reference/group___storage.html
-  section:
-  - title: storage_manager.h
-    path: /ndk/reference/storage__manager_8h.html
-  - title: obb.h
-    path: /ndk/reference/obb_8h.html
diff --git a/docs/html/ndk/reference/annotated.jd b/docs/html/ndk/reference/annotated.jd
deleted file mode 100644
index 8045f8d..0000000
--- a/docs/html/ndk/reference/annotated.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=Data Structures
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Data Structures</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_heart_rate_event.html" target="_self">AHeartRateEvent</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_meta_data_event.html" target="_self">AMetaDataEvent</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_native_activity.html" target="_self">ANativeActivity</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_native_activity_callbacks.html" target="_self">ANativeActivityCallbacks</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_native_window___buffer.html" target="_self">ANativeWindow_Buffer</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_android_bitmap_info.html" target="_self">AndroidBitmapInfo</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_rect.html" target="_self">ARect</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_sensor_event.html" target="_self">ASensorEvent</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_sensor_vector.html" target="_self">ASensorVector</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_uncalibrated_event.html" target="_self">AUncalibratedEvent</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/asset__manager_8h.jd b/docs/html/ndk/reference/asset__manager_8h.jd
deleted file mode 100644
index 88d8dea..0000000
--- a/docs/html/ndk/reference/asset__manager_8h.jd
+++ /dev/null
@@ -1,75 +0,0 @@
-page.title=asset_manager.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">asset_manager.h File Reference<div class="ingroups"><a class="el" href="group___asset.html">Asset</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga90c459935e76acf809b9ec90d1872771"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a></td></tr>
-<tr class="separator:ga90c459935e76acf809b9ec90d1872771"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga001a6b9c36a06ee977b9f51ed7103cdb"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a></td></tr>
-<tr class="separator:ga001a6b9c36a06ee977b9f51ed7103cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5630b1f1aa5cd363303018cb2f12f95c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a></td></tr>
-<tr class="separator:ga5630b1f1aa5cd363303018cb2f12f95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4">AASSET_MODE_UNKNOWN</a> = 0, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f">AASSET_MODE_RANDOM</a> = 1, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74">AASSET_MODE_STREAMING</a> = 2, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb">AASSET_MODE_BUFFER</a> = 3
- }</td></tr>
-<tr class="separator:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gab5b57ff012d6d1024d8bf5d30aedced4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gab5b57ff012d6d1024d8bf5d30aedced4">AAssetManager_openDir</a> (<a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *mgr, const char *dirName)</td></tr>
-<tr class="separator:gab5b57ff012d6d1024d8bf5d30aedced4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0037ce3c10a591fe632f34c1aa62955c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">AAssetManager_open</a> (<a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *mgr, const char *filename, int mode)</td></tr>
-<tr class="separator:ga0037ce3c10a591fe632f34c1aa62955c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4703b9f7baa3daeba248b6547de6b9b0"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">AAssetDir_getNextFileName</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:ga4703b9f7baa3daeba248b6547de6b9b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga45db6d19ad5e1c0f9b2e6b4059da14b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga45db6d19ad5e1c0f9b2e6b4059da14b3">AAssetDir_rewind</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:ga45db6d19ad5e1c0f9b2e6b4059da14b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gace1c4d0da274d643c5b10ca218cc6088"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">AAssetDir_close</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:gace1c4d0da274d643c5b10ca218cc6088"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaadd86322c1fda5121b6d33745c317fb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gaadd86322c1fda5121b6d33745c317fb9">AAsset_read</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, void *buf, size_t count)</td></tr>
-<tr class="separator:gaadd86322c1fda5121b6d33745c317fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacc026a8bedeb1ef80bf12df3b72611a2"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gacc026a8bedeb1ef80bf12df3b72611a2">AAsset_seek</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off_t offset, int whence)</td></tr>
-<tr class="separator:gacc026a8bedeb1ef80bf12df3b72611a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga81fbe4368de24a3296ef7a6eba0053c7"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga81fbe4368de24a3296ef7a6eba0053c7">AAsset_seek64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off64_t offset, int whence)</td></tr>
-<tr class="separator:ga81fbe4368de24a3296ef7a6eba0053c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f241e49f691dafcada23bcb76155122"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">AAsset_close</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga1f241e49f691dafcada23bcb76155122"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga553a14512a98542306238c3ce70d344f"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga553a14512a98542306238c3ce70d344f">AAsset_getBuffer</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga553a14512a98542306238c3ce70d344f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaad8ec42e28522ebc72d3a5c357f9a600"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gaad8ec42e28522ebc72d3a5c357f9a600">AAsset_getLength</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:gaad8ec42e28522ebc72d3a5c357f9a600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga55c8bc459327d5d23089e6a4b453f3f1"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga55c8bc459327d5d23089e6a4b453f3f1">AAsset_getLength64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga55c8bc459327d5d23089e6a4b453f3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae806f55cbc4a93ca245f2adfd63d3eee"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gae806f55cbc4a93ca245f2adfd63d3eee">AAsset_getRemainingLength</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:gae806f55cbc4a93ca245f2adfd63d3eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga21e7221d88dcc44106843192b66755b5"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga21e7221d88dcc44106843192b66755b5">AAsset_getRemainingLength64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga21e7221d88dcc44106843192b66755b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1af4ffd050016e99961e24f550981677"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga1af4ffd050016e99961e24f550981677">AAsset_openFileDescriptor</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off_t *outStart, off_t *outLength)</td></tr>
-<tr class="separator:ga1af4ffd050016e99961e24f550981677"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga123a44a575f85d91a00a8456dab7bd0a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga123a44a575f85d91a00a8456dab7bd0a">AAsset_openFileDescriptor64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off64_t *outStart, off64_t *outLength)</td></tr>
-<tr class="separator:ga123a44a575f85d91a00a8456dab7bd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga20344cb952a77fa1004f592fb1b55124"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga20344cb952a77fa1004f592fb1b55124">AAsset_isAllocated</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga20344cb952a77fa1004f592fb1b55124"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/asset__manager__jni_8h.jd b/docs/html/ndk/reference/asset__manager__jni_8h.jd
deleted file mode 100644
index 8aace05..0000000
--- a/docs/html/ndk/reference/asset__manager__jni_8h.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=asset_manager_jni.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">asset_manager_jni.h File Reference<div class="ingroups"><a class="el" href="group___asset.html">Asset</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="asset__manager_8h.html">android/asset_manager.h</a>&gt;</code><br/>
-<code>#include &lt;jni.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gadfd6537af41577735bcaee52120127f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">AAssetManager_fromJava</a> (JNIEnv *env, jobject assetManager)</td></tr>
-<tr class="separator:gadfd6537af41577735bcaee52120127f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/bc_s.png b/docs/html/ndk/reference/bc_s.png
deleted file mode 100644
index fd162ea..0000000
--- a/docs/html/ndk/reference/bc_s.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/bdwn.png b/docs/html/ndk/reference/bdwn.png
deleted file mode 100644
index 7c943f0..0000000
--- a/docs/html/ndk/reference/bdwn.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/bitmap_8h.jd b/docs/html/ndk/reference/bitmap_8h.jd
deleted file mode 100644
index 518cab1..0000000
--- a/docs/html/ndk/reference/bitmap_8h.jd
+++ /dev/null
@@ -1,61 +0,0 @@
-page.title=bitmap.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">bitmap.h File Reference<div class="ingroups"><a class="el" href="group___bitmap.html">Bitmap</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &lt;jni.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gafb665ac9fefad34ac5c035f5d1314080"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">ANDROID_BITMAP_RESUT_SUCCESS</a>&#160;&#160;&#160;<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a></td></tr>
-<tr class="separator:gafb665ac9fefad34ac5c035f5d1314080"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a> = 0, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">ANDROID_BITMAP_RESULT_BAD_PARAMETER</a> = -1, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">ANDROID_BITMAP_RESULT_JNI_EXCEPTION</a> = -2, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">ANDROID_BITMAP_RESULT_ALLOCATION_FAILED</a> = -3
- }</td></tr>
-<tr class="separator:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaea286a2d4c61ae2abb02b51500499f13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a> { <br/>
-&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">ANDROID_BITMAP_FORMAT_NONE</a> = 0, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">ANDROID_BITMAP_FORMAT_RGBA_8888</a> = 1, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">ANDROID_BITMAP_FORMAT_RGB_565</a> = 4, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">ANDROID_BITMAP_FORMAT_RGBA_4444</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">ANDROID_BITMAP_FORMAT_A_8</a> = 8
-<br/>
- }</td></tr>
-<tr class="separator:gaea286a2d4c61ae2abb02b51500499f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga80292ee39d8a675928e38849742b54bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">AndroidBitmap_getInfo</a> (JNIEnv *env, jobject jbitmap, <a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> *info)</td></tr>
-<tr class="separator:ga80292ee39d8a675928e38849742b54bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">AndroidBitmap_lockPixels</a> (JNIEnv *env, jobject jbitmap, void **addrPtr)</td></tr>
-<tr class="separator:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">AndroidBitmap_unlockPixels</a> (JNIEnv *env, jobject jbitmap)</td></tr>
-<tr class="separator:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/classes.jd b/docs/html/ndk/reference/classes.jd
deleted file mode 100644
index e0ec721..0000000
--- a/docs/html/ndk/reference/classes.jd
+++ /dev/null
@@ -1,20 +0,0 @@
-page.title=Data Structure Index
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Data Structure Index</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_A">A</a></div>
-<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
-<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_rect.html">ARect</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td></td><td></td><td></td><td></td><td></td></tr>
-</table>
-<div class="qindex"><a class="qindex" href="#letter_A">A</a></div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/closed.png b/docs/html/ndk/reference/closed.png
deleted file mode 100644
index e4e2b25..0000000
--- a/docs/html/ndk/reference/closed.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/configuration_8h.jd b/docs/html/ndk/reference/configuration_8h.jd
deleted file mode 100644
index 3f5f07c..0000000
--- a/docs/html/ndk/reference/configuration_8h.jd
+++ /dev/null
@@ -1,222 +0,0 @@
-page.title=configuration.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">configuration.h File Reference<div class="ingroups"><a class="el" href="group___configuration.html">Configuration</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="asset__manager_8h.html">android/asset_manager.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga6709434d0f99b8367d0df2dfdfbef45a"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a></td></tr>
-<tr class="separator:ga6709434d0f99b8367d0df2dfdfbef45a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f">ACONFIGURATION_ORIENTATION_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe">ACONFIGURATION_ORIENTATION_PORT</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3">ACONFIGURATION_ORIENTATION_LAND</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">ACONFIGURATION_ORIENTATION_SQUARE</a> = 0x0003, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6">ACONFIGURATION_TOUCHSCREEN_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0">ACONFIGURATION_TOUCHSCREEN_NOTOUCH</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">ACONFIGURATION_TOUCHSCREEN_STYLUS</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e">ACONFIGURATION_TOUCHSCREEN_FINGER</a> = 0x0003, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c">ACONFIGURATION_DENSITY_DEFAULT</a> = 0, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3">ACONFIGURATION_DENSITY_LOW</a> = 120, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e">ACONFIGURATION_DENSITY_MEDIUM</a> = 160, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f">ACONFIGURATION_DENSITY_TV</a> = 213, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb">ACONFIGURATION_DENSITY_HIGH</a> = 240, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0">ACONFIGURATION_DENSITY_XHIGH</a> = 320, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4">ACONFIGURATION_DENSITY_XXHIGH</a> = 480, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec">ACONFIGURATION_DENSITY_XXXHIGH</a> = 640, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534">ACONFIGURATION_DENSITY_ANY</a> = 0xfffe, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7">ACONFIGURATION_DENSITY_NONE</a> = 0xffff, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a">ACONFIGURATION_KEYBOARD_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918">ACONFIGURATION_KEYBOARD_NOKEYS</a> = 0x0001, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf">ACONFIGURATION_KEYBOARD_QWERTY</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea">ACONFIGURATION_KEYBOARD_12KEY</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47">ACONFIGURATION_NAVIGATION_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a">ACONFIGURATION_NAVIGATION_NONAV</a> = 0x0001, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5">ACONFIGURATION_NAVIGATION_DPAD</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4">ACONFIGURATION_NAVIGATION_TRACKBALL</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea">ACONFIGURATION_NAVIGATION_WHEEL</a> = 0x0004, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c">ACONFIGURATION_KEYSHIDDEN_ANY</a> = 0x0000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2">ACONFIGURATION_KEYSHIDDEN_NO</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf">ACONFIGURATION_KEYSHIDDEN_YES</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c">ACONFIGURATION_KEYSHIDDEN_SOFT</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3">ACONFIGURATION_NAVHIDDEN_ANY</a> = 0x0000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5">ACONFIGURATION_NAVHIDDEN_NO</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5">ACONFIGURATION_NAVHIDDEN_YES</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e">ACONFIGURATION_SCREENSIZE_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c">ACONFIGURATION_SCREENSIZE_SMALL</a> = 0x01, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2">ACONFIGURATION_SCREENSIZE_NORMAL</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12">ACONFIGURATION_SCREENSIZE_LARGE</a> = 0x03, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c">ACONFIGURATION_SCREENSIZE_XLARGE</a> = 0x04, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f">ACONFIGURATION_SCREENLONG_ANY</a> = 0x00, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5">ACONFIGURATION_SCREENLONG_NO</a> = 0x1, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd">ACONFIGURATION_SCREENLONG_YES</a> = 0x2, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c">ACONFIGURATION_UI_MODE_TYPE_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e">ACONFIGURATION_UI_MODE_TYPE_NORMAL</a> = 0x01, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077">ACONFIGURATION_UI_MODE_TYPE_DESK</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f">ACONFIGURATION_UI_MODE_TYPE_CAR</a> = 0x03, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969">ACONFIGURATION_UI_MODE_TYPE_TELEVISION</a> = 0x04, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3">ACONFIGURATION_UI_MODE_TYPE_APPLIANCE</a> = 0x05, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131">ACONFIGURATION_UI_MODE_TYPE_WATCH</a> = 0x06, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1">ACONFIGURATION_UI_MODE_NIGHT_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7">ACONFIGURATION_UI_MODE_NIGHT_NO</a> = 0x1, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046">ACONFIGURATION_UI_MODE_NIGHT_YES</a> = 0x2, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa">ACONFIGURATION_SCREEN_WIDTH_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432">ACONFIGURATION_SCREEN_HEIGHT_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702">ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe">ACONFIGURATION_LAYOUTDIR_ANY</a> = 0x00, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83">ACONFIGURATION_LAYOUTDIR_LTR</a> = 0x01, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870">ACONFIGURATION_LAYOUTDIR_RTL</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28">ACONFIGURATION_MCC</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5">ACONFIGURATION_MNC</a> = 0x0002, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4">ACONFIGURATION_LOCALE</a> = 0x0004, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561">ACONFIGURATION_TOUCHSCREEN</a> = 0x0008, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88">ACONFIGURATION_KEYBOARD</a> = 0x0010, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416">ACONFIGURATION_KEYBOARD_HIDDEN</a> = 0x0020, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b">ACONFIGURATION_NAVIGATION</a> = 0x0040, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786">ACONFIGURATION_ORIENTATION</a> = 0x0080, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1">ACONFIGURATION_DENSITY</a> = 0x0100, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72">ACONFIGURATION_SCREEN_SIZE</a> = 0x0200, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b">ACONFIGURATION_VERSION</a> = 0x0400, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c">ACONFIGURATION_SCREEN_LAYOUT</a> = 0x0800, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e">ACONFIGURATION_UI_MODE</a> = 0x1000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de">ACONFIGURATION_SMALLEST_SCREEN_SIZE</a> = 0x2000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2">ACONFIGURATION_LAYOUTDIR</a> = 0x4000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c">ACONFIGURATION_MNC_ZERO</a> = 0xffff
-<br/>
- }</td></tr>
-<tr class="separator:ga99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9543655922980466eb05c7be94a0a567"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">AConfiguration_new</a> ()</td></tr>
-<tr class="separator:ga9543655922980466eb05c7be94a0a567"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga60fe264b97da84d3370eb9e220159e6d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga60fe264b97da84d3370eb9e220159e6d">AConfiguration_delete</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga60fe264b97da84d3370eb9e220159e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga75e061fd0b4f761e08e43af36508c4f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">AConfiguration_fromAssetManager</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *out, <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *am)</td></tr>
-<tr class="separator:ga75e061fd0b4f761e08e43af36508c4f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabff04218a0a76afb8d3ea551b001565"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaabff04218a0a76afb8d3ea551b001565">AConfiguration_copy</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *dest, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *src)</td></tr>
-<tr class="separator:gaabff04218a0a76afb8d3ea551b001565"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1e78004237a931086d2ae4bd8324bd30"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1e78004237a931086d2ae4bd8324bd30">AConfiguration_getMcc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga1e78004237a931086d2ae4bd8324bd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae6198b4eaf3e34168f4b13b8b5975d93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gae6198b4eaf3e34168f4b13b8b5975d93">AConfiguration_setMcc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t mcc)</td></tr>
-<tr class="separator:gae6198b4eaf3e34168f4b13b8b5975d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4783776a4fad4501898472375d781fb9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4783776a4fad4501898472375d781fb9">AConfiguration_getMnc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4783776a4fad4501898472375d781fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf060ef69c3636f62e90ae0b520eecb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaaf060ef69c3636f62e90ae0b520eecb8">AConfiguration_setMnc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t mnc)</td></tr>
-<tr class="separator:gaaf060ef69c3636f62e90ae0b520eecb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7b004c13448704afb0ea2040d69468c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7b004c13448704afb0ea2040d69468c1">AConfiguration_getLanguage</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, char *outLanguage)</td></tr>
-<tr class="separator:ga7b004c13448704afb0ea2040d69468c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f3c6cf6667655f83777acda7387ddff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1f3c6cf6667655f83777acda7387ddff">AConfiguration_setLanguage</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, const char *language)</td></tr>
-<tr class="separator:ga1f3c6cf6667655f83777acda7387ddff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad2b47f787012a82a67a20e5de5211d46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad2b47f787012a82a67a20e5de5211d46">AConfiguration_getCountry</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, char *outCountry)</td></tr>
-<tr class="separator:gad2b47f787012a82a67a20e5de5211d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac2f5d414a6466634b1639b5c6f8879ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gac2f5d414a6466634b1639b5c6f8879ac">AConfiguration_setCountry</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, const char *country)</td></tr>
-<tr class="separator:gac2f5d414a6466634b1639b5c6f8879ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7d8e3e9871dc925fef3e342a92e4e22"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaa7d8e3e9871dc925fef3e342a92e4e22">AConfiguration_getOrientation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gaa7d8e3e9871dc925fef3e342a92e4e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadcaa8540bad4172a74032143bcaade04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gadcaa8540bad4172a74032143bcaade04">AConfiguration_setOrientation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t orientation)</td></tr>
-<tr class="separator:gadcaa8540bad4172a74032143bcaade04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad305e6cf86fa915c24212e71bb2bf027"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad305e6cf86fa915c24212e71bb2bf027">AConfiguration_getTouchscreen</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gad305e6cf86fa915c24212e71bb2bf027"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0d51dbe710c1afe31ece4dd6a8c188ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga0d51dbe710c1afe31ece4dd6a8c188ff">AConfiguration_setTouchscreen</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t touchscreen)</td></tr>
-<tr class="separator:ga0d51dbe710c1afe31ece4dd6a8c188ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c994e0555947340582094c3da32a663"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4c994e0555947340582094c3da32a663">AConfiguration_getDensity</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4c994e0555947340582094c3da32a663"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9217af9858a7166dcb9a877192779eac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9217af9858a7166dcb9a877192779eac">AConfiguration_setDensity</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t density)</td></tr>
-<tr class="separator:ga9217af9858a7166dcb9a877192779eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd0f76ccd4fe4bda5172b8e0bc6675e4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafd0f76ccd4fe4bda5172b8e0bc6675e4">AConfiguration_getKeyboard</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gafd0f76ccd4fe4bda5172b8e0bc6675e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4ab3429c5505c108c09349f1ddef572f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4ab3429c5505c108c09349f1ddef572f">AConfiguration_setKeyboard</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t keyboard)</td></tr>
-<tr class="separator:ga4ab3429c5505c108c09349f1ddef572f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae3ff1541b63f5b9256f7c0ebae372977"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gae3ff1541b63f5b9256f7c0ebae372977">AConfiguration_getNavigation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gae3ff1541b63f5b9256f7c0ebae372977"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad21dd14fb823a6a80b66132a05ce8913"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad21dd14fb823a6a80b66132a05ce8913">AConfiguration_setNavigation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t navigation)</td></tr>
-<tr class="separator:gad21dd14fb823a6a80b66132a05ce8913"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a8317ab975f621f3fe62ed1b44f2605"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7a8317ab975f621f3fe62ed1b44f2605">AConfiguration_getKeysHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga7a8317ab975f621f3fe62ed1b44f2605"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a80a02aa10cfa17de0795054e927183"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga5a80a02aa10cfa17de0795054e927183">AConfiguration_setKeysHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t keysHidden)</td></tr>
-<tr class="separator:ga5a80a02aa10cfa17de0795054e927183"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe8d3a9c2f715ea76c8e4a99c2db9eaa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafe8d3a9c2f715ea76c8e4a99c2db9eaa">AConfiguration_getNavHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gafe8d3a9c2f715ea76c8e4a99c2db9eaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga67e86e0347596421771af841710308d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga67e86e0347596421771af841710308d5">AConfiguration_setNavHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t navHidden)</td></tr>
-<tr class="separator:ga67e86e0347596421771af841710308d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4aa7062198e5aacd9fabb04d0453dd91"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4aa7062198e5aacd9fabb04d0453dd91">AConfiguration_getSdkVersion</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4aa7062198e5aacd9fabb04d0453dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga06c66072902ee455011120188ca4810b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga06c66072902ee455011120188ca4810b">AConfiguration_setSdkVersion</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t sdkVersion)</td></tr>
-<tr class="separator:ga06c66072902ee455011120188ca4810b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9d2c1b8731795d8e74be7e23cbc77552"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9d2c1b8731795d8e74be7e23cbc77552">AConfiguration_getScreenSize</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga9d2c1b8731795d8e74be7e23cbc77552"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7bcf05150933ead34a01061d05ad3245"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7bcf05150933ead34a01061d05ad3245">AConfiguration_setScreenSize</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t screenSize)</td></tr>
-<tr class="separator:ga7bcf05150933ead34a01061d05ad3245"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab7d1f5aa59e8fa4db0a1b91bb322034c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gab7d1f5aa59e8fa4db0a1b91bb322034c">AConfiguration_getScreenLong</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gab7d1f5aa59e8fa4db0a1b91bb322034c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaed853ab7e2bc915591d05997130bc448"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaed853ab7e2bc915591d05997130bc448">AConfiguration_setScreenLong</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t screenLong)</td></tr>
-<tr class="separator:gaed853ab7e2bc915591d05997130bc448"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1d75777892f38208feb3d2a94a977fcf"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1d75777892f38208feb3d2a94a977fcf">AConfiguration_getUiModeType</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga1d75777892f38208feb3d2a94a977fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec61e3cf91cd79e8b76a35bbcb15789d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaec61e3cf91cd79e8b76a35bbcb15789d">AConfiguration_setUiModeType</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t uiModeType)</td></tr>
-<tr class="separator:gaec61e3cf91cd79e8b76a35bbcb15789d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga447f16a9e4f8400e5e0328900749ff16"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga447f16a9e4f8400e5e0328900749ff16">AConfiguration_getUiModeNight</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga447f16a9e4f8400e5e0328900749ff16"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga08df1e801afbe4a12411e393b8141e42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga08df1e801afbe4a12411e393b8141e42">AConfiguration_setUiModeNight</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t uiModeNight)</td></tr>
-<tr class="separator:ga08df1e801afbe4a12411e393b8141e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61e5fe9612c170c33e1c7e9fb92f2219"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga61e5fe9612c170c33e1c7e9fb92f2219">AConfiguration_getScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga61e5fe9612c170c33e1c7e9fb92f2219"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafc51d45679095965fe3ba1abd402f120"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafc51d45679095965fe3ba1abd402f120">AConfiguration_setScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:gafc51d45679095965fe3ba1abd402f120"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9905a4765f8d0d921c476ebce01c7648"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9905a4765f8d0d921c476ebce01c7648">AConfiguration_getScreenHeightDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga9905a4765f8d0d921c476ebce01c7648"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6ffac3b41415ec8a3031737ccdcd63b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6ffac3b41415ec8a3031737ccdcd63b8">AConfiguration_setScreenHeightDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:ga6ffac3b41415ec8a3031737ccdcd63b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7fc015e41fad342edba66a003d9848aa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7fc015e41fad342edba66a003d9848aa">AConfiguration_getSmallestScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga7fc015e41fad342edba66a003d9848aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b004c9585671efc5cebd96c1d43c4f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6b004c9585671efc5cebd96c1d43c4f0">AConfiguration_setSmallestScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:ga6b004c9585671efc5cebd96c1d43c4f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga13dbf2fc9a382c62b391e7de9cf9b468"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga13dbf2fc9a382c62b391e7de9cf9b468">AConfiguration_getLayoutDirection</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga13dbf2fc9a382c62b391e7de9cf9b468"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf47215cf551594f8c2a0594419b47e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaaf47215cf551594f8c2a0594419b47e1">AConfiguration_setLayoutDirection</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:gaaf47215cf551594f8c2a0594419b47e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabfe69b0dccae425a16fe94d084f20402"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gabfe69b0dccae425a16fe94d084f20402">AConfiguration_diff</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config1, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config2)</td></tr>
-<tr class="separator:gabfe69b0dccae425a16fe94d084f20402"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafb27b901a1d7d44ed866608fb8399a18"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">AConfiguration_match</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *base, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *requested)</td></tr>
-<tr class="separator:gafb27b901a1d7d44ed866608fb8399a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafd2bb31057c8d57efcea7603458d2a8d">AConfiguration_isBetterThan</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *base, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *test, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *requested)</td></tr>
-<tr class="separator:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/deprecated.jd b/docs/html/ndk/reference/deprecated.jd
deleted file mode 100644
index 0e69db6..0000000
--- a/docs/html/ndk/reference/deprecated.jd
+++ /dev/null
@@ -1,23 +0,0 @@
-page.title=Deprecated List
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Deprecated List </div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><dl class="reflist">
-<dt><a class="anchor" id="_deprecated000001"></a>Global <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">ACONFIGURATION_ORIENTATION_SQUARE</a>  </dt>
-<dd>Not currently supported or used.  </dd>
-<dt><a class="anchor" id="_deprecated000002"></a>Global <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">ACONFIGURATION_TOUCHSCREEN_STYLUS</a>  </dt>
-<dd>Not currently supported or used.  </dd>
-<dt><a class="anchor" id="_deprecated000004"></a>Global <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">AWINDOW_FLAG_BLUR_BEHIND</a>  </dt>
-<dd>Blurring is no longer supported.  </dd>
-<dt><a class="anchor" id="_deprecated000006"></a>Global <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">AWINDOW_FLAG_DITHER</a>  </dt>
-<dd>This flag is no longer used.  </dd>
-<dt><a class="anchor" id="_deprecated000005"></a>Global <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</a>  </dt>
-<dd>This flag has no effect. </dd>
-</dl>
-</div></div><!-- contents -->
diff --git a/docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd b/docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd
deleted file mode 100644
index 025427a..0000000
--- a/docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd
+++ /dev/null
@@ -1,49 +0,0 @@
-page.title=android Directory Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">android Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:asset__manager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asset__manager_8h.html">asset_manager.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:asset__manager__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asset__manager__jni_8h.html">asset_manager_jni.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:bitmap_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bitmap_8h.html">bitmap.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:configuration_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8h.html">configuration.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:input_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="input_8h.html">input.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:keycodes_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keycodes_8h.html">keycodes.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:looper_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="looper_8h.html">looper.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__activity_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__activity_8h.html">native_activity.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window_8h.html">native_window.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__window__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window__jni_8h.html">native_window_jni.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:obb_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="obb_8h.html">obb.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:rect_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html">rect.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:sensor_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sensor_8h.html">sensor.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:storage__manager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage__manager_8h.html">storage_manager.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="window_8h.html">window.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd b/docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd
deleted file mode 100644
index e42811e..0000000
--- a/docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd
+++ /dev/null
@@ -1,21 +0,0 @@
-page.title=include Directory Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">include Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
-Directories</h2></td></tr>
-<tr class="memitem:dir_035c76f7235f5f563d38e3ab90cb9716"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/doxygen-dac.css b/docs/html/ndk/reference/doxygen-dac.css
deleted file mode 100644
index 96b6d84..0000000
--- a/docs/html/ndk/reference/doxygen-dac.css
+++ /dev/null
@@ -1,53 +0,0 @@
-#jd-content td {
-}
-
-#jd-content table {
-    background-color: transparent;
-    width: 100%;
-}
-
-#jd-content tr.heading td {
-    background-color: #999;
-    padding: 0px 12px;
-}
-
-#jd-content tr.heading h2 {
-    font-size: 14px;
-    font-weight: bold;
-    font-family: Roboto, sans-serif;
-    margin: 0px;
-    color: #fff;
-}
-
-#jd-content tr.heading hr, #jd-content td.memSeparator, #jd-content div.headertitle {
-    display: none;
-}
-
-
-#jd-content table td.memItemLeft {
-    text-align: right;
-    width: 20%;
-}
-
-#jd-content table td.memItemRight {
-}
-
-#jd-content div.memproto {
-    font-size: 1.15em;
-    background-color: #e2e2e2;
-    padding: 3px;    
-}
-
-#jd-content div.memproto table {
-    margin: 0px;
-    width: auto;
-}
-
-#jd-content table.memname td {
-    border: none;
-    padding: 2px;
-}
-
-#jd-content div.memdoc {
-    margin: 7px 18px;
-}
diff --git a/docs/html/ndk/reference/doxygen.css b/docs/html/ndk/reference/doxygen.css
deleted file mode 100644
index 94f4bf2..0000000
--- a/docs/html/ndk/reference/doxygen.css
+++ /dev/null
@@ -1,1366 +0,0 @@
-/* The standard CSS for doxygen 1.8.6 */
-
-body, table, div, p, dl {
-	font: 400 14px/22px Roboto,sans-serif;
-}
-
-/* @group Heading Levels */
-
-h1.groupheader {
-	font-size: 150%;
-}
-
-.title {
-	font: 400 14px/28px Roboto,sans-serif;
-	font-size: 150%;
-	font-weight: bold;
-	margin: 10px 2px;
-}
-
-h2.groupheader {
-	border-bottom: 1px solid #A9A9A9;
-	color: #585858;
-	font-size: 150%;
-	font-weight: normal;
-	margin-top: 1.75em;
-	padding-top: 8px;
-	padding-bottom: 4px;
-	width: 100%;
-}
-
-h3.groupheader {
-	font-size: 100%;
-}
-
-h1, h2, h3, h4, h5, h6 {
-	-webkit-transition: text-shadow 0.5s linear;
-	-moz-transition: text-shadow 0.5s linear;
-	-ms-transition: text-shadow 0.5s linear;
-	-o-transition: text-shadow 0.5s linear;
-	transition: text-shadow 0.5s linear;
-	margin-right: 15px;
-}
-
-h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
-	text-shadow: 0 0 15px cyan;
-}
-
-dt {
-	font-weight: bold;
-}
-
-div.multicol {
-	-moz-column-gap: 1em;
-	-webkit-column-gap: 1em;
-	-moz-column-count: 3;
-	-webkit-column-count: 3;
-}
-
-p.startli, p.startdd {
-	margin-top: 2px;
-}
-
-p.starttd {
-	margin-top: 0px;
-}
-
-p.endli {
-	margin-bottom: 0px;
-}
-
-p.enddd {
-	margin-bottom: 4px;
-}
-
-p.endtd {
-	margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
-	font-weight: bold;
-}
-
-span.legend {
-        font-size: 70%;
-        text-align: center;
-}
-
-h3.version {
-        font-size: 90%;
-        text-align: center;
-}
-
-div.qindex, div.navtab{
-	background-color: #F1F1F1;
-	border: 1px solid #BDBDBD;
-	text-align: center;
-}
-
-div.qindex, div.navpath {
-	width: 100%;
-	line-height: 140%;
-}
-
-div.navtab {
-	margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
-	color: #646464;
-	font-weight: normal;
-	text-decoration: none;
-}
-
-.contents a:visited {
-	color: #747474;
-}
-
-a:hover {
-	text-decoration: underline;
-}
-
-a.qindex {
-	font-weight: bold;
-}
-
-a.qindexHL {
-	font-weight: bold;
-	background-color: #B8B8B8;
-	color: #ffffff;
-	border: 1px double #A8A8A8;
-}
-
-.contents a.qindexHL:visited {
-        color: #ffffff;
-}
-
-a.el {
-	font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code, a.code:visited, a.line, a.line:visited {
-	color: #4665A2; 
-}
-
-a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
-	color: #4665A2; 
-}
-
-/* @end */
-
-dl.el {
-	margin-left: -1cm;
-}
-
-pre.fragment {
-        border: 1px solid #C4CFE5;
-        background-color: #FBFCFD;
-        padding: 4px 6px;
-        margin: 4px 8px 4px 2px;
-        overflow: auto;
-        word-wrap: break-word;
-        font-size:  9pt;
-        line-height: 125%;
-        font-family: monospace, fixed;
-        font-size: 105%;
-}
-
-div.fragment {
-        padding: 4px 6px;
-        margin: 4px 8px 4px 2px;
-	background-color: #FCFCFC;
-	border: 1px solid #D5D5D5;
-}
-
-div.line {
-	font-family: monospace, fixed;
-        font-size: 13px;
-	min-height: 13px;
-	line-height: 1.0;
-	text-wrap: unrestricted;
-	white-space: -moz-pre-wrap; /* Moz */
-	white-space: -pre-wrap;     /* Opera 4-6 */
-	white-space: -o-pre-wrap;   /* Opera 7 */
-	white-space: pre-wrap;      /* CSS3  */
-	word-wrap: break-word;      /* IE 5.5+ */
-	text-indent: -53px;
-	padding-left: 53px;
-	padding-bottom: 0px;
-	margin: 0px;
-	-webkit-transition-property: background-color, box-shadow;
-	-webkit-transition-duration: 0.5s;
-	-moz-transition-property: background-color, box-shadow;
-	-moz-transition-duration: 0.5s;
-	-ms-transition-property: background-color, box-shadow;
-	-ms-transition-duration: 0.5s;
-	-o-transition-property: background-color, box-shadow;
-	-o-transition-duration: 0.5s;
-	transition-property: background-color, box-shadow;
-	transition-duration: 0.5s;
-}
-
-div.line.glow {
-	background-color: cyan;
-	box-shadow: 0 0 10px cyan;
-}
-
-
-span.lineno {
-	padding-right: 4px;
-	text-align: right;
-	border-right: 2px solid #0F0;
-	background-color: #E8E8E8;
-        white-space: pre;
-}
-span.lineno a {
-	background-color: #D8D8D8;
-}
-
-span.lineno a:hover {
-	background-color: #C8C8C8;
-}
-
-div.ah {
-	background-color: black;
-	font-weight: bold;
-	color: #ffffff;
-	margin-bottom: 3px;
-	margin-top: 3px;
-	padding: 0.2em;
-	border: solid thin #333;
-	border-radius: 0.5em;
-	-webkit-border-radius: .5em;
-	-moz-border-radius: .5em;
-	box-shadow: 2px 2px 3px #999;
-	-webkit-box-shadow: 2px 2px 3px #999;
-	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
-	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
-	margin-left: 16px;
-	margin-top: 12px;
-	font-weight: bold;
-}
-
-div.groupText {
-	margin-left: 16px;
-	font-style: italic;
-}
-
-body {
-	background-color: white;
-	color: black;
-        margin: 0;
-}
-
-div.contents {
-	margin-top: 10px;
-	margin-left: 12px;
-	margin-right: 8px;
-}
-
-td.indexkey {
-	background-color: #F1F1F1;
-	font-weight: bold;
-	border: 1px solid #D5D5D5;
-	margin: 2px 0px 2px 0;
-	padding: 2px 10px;
-        white-space: nowrap;
-        vertical-align: top;
-}
-
-td.indexvalue {
-	background-color: #F1F1F1;
-	border: 1px solid #D5D5D5;
-	padding: 2px 10px;
-	margin: 2px 0px;
-}
-
-tr.memlist {
-	background-color: #F2F2F2;
-}
-
-p.formulaDsp {
-	text-align: center;
-}
-
-img.formulaDsp {
-	
-}
-
-img.formulaInl {
-	vertical-align: middle;
-}
-
-div.center {
-	text-align: center;
-        margin-top: 0px;
-        margin-bottom: 0px;
-        padding: 0px;
-}
-
-div.center img {
-	border: 0px;
-}
-
-address.footer {
-	text-align: right;
-	padding-right: 12px;
-}
-
-img.footer {
-	border: 0px;
-	vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
-	color: #008000
-}
-
-span.keywordtype {
-	color: #604020
-}
-
-span.keywordflow {
-	color: #e08000
-}
-
-span.comment {
-	color: #800000
-}
-
-span.preprocessor {
-	color: #806020
-}
-
-span.stringliteral {
-	color: #002080
-}
-
-span.charliteral {
-	color: #008080
-}
-
-span.vhdldigit { 
-	color: #ff00ff 
-}
-
-span.vhdlchar { 
-	color: #000000 
-}
-
-span.vhdlkeyword { 
-	color: #700070 
-}
-
-span.vhdllogic { 
-	color: #ff0000 
-}
-
-blockquote {
-        background-color: #F9F9F9;
-        border-left: 2px solid #B8B8B8;
-        margin: 0 24px 0 4px;
-        padding: 0 12px 0 16px;
-}
-
-/* @end */
-
-/*
-.search {
-	color: #003399;
-	font-weight: bold;
-}
-
-form.search {
-	margin-bottom: 0px;
-	margin-top: 0px;
-}
-
-input.search {
-	font-size: 75%;
-	color: #000080;
-	font-weight: normal;
-	background-color: #e8eef2;
-}
-*/
-
-td.tiny {
-	font-size: 75%;
-}
-
-.dirtab {
-	padding: 4px;
-	border-collapse: collapse;
-	border: 1px solid #BDBDBD;
-}
-
-th.dirtab {
-	background: #F1F1F1;
-	font-weight: bold;
-}
-
-hr {
-	height: 0px;
-	border: none;
-	border-top: 1px solid #7A7A7A;
-}
-
-hr.footer {
-	height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
-	border-spacing: 0px;
-	padding: 0px;
-}
-
-.memberdecls td, .fieldtable tr {
-	-webkit-transition-property: background-color, box-shadow;
-	-webkit-transition-duration: 0.5s;
-	-moz-transition-property: background-color, box-shadow;
-	-moz-transition-duration: 0.5s;
-	-ms-transition-property: background-color, box-shadow;
-	-ms-transition-duration: 0.5s;
-	-o-transition-property: background-color, box-shadow;
-	-o-transition-duration: 0.5s;
-	transition-property: background-color, box-shadow;
-	transition-duration: 0.5s;
-}
-
-.memberdecls td.glow, .fieldtable tr.glow {
-	background-color: cyan;
-	box-shadow: 0 0 15px cyan;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
-	background-color: #FAFAFA;
-	border: none;
-	margin: 4px;
-	padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
-	padding: 0px 8px 4px 8px;
-	color: #555;
-}
-
-.memSeparator {
-        border-bottom: 1px solid #DEE4F0;
-        line-height: 1px;
-        margin: 0px;
-        padding: 0px;
-}
-
-.memItemLeft, .memTemplItemLeft {
-        white-space: nowrap;
-}
-
-.memItemRight {
-	width: 100%;
-}
-
-.memTemplParams {
-	color: #747474;
-        white-space: nowrap;
-	font-size: 80%;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
-	font-size: 80%;
-	color: #747474;
-	font-weight: normal;
-	margin-left: 9px;
-}
-
-.memnav {
-	background-color: #F1F1F1;
-	border: 1px solid #BDBDBD;
-	text-align: center;
-	margin: 2px;
-	margin-right: 15px;
-	padding: 2px;
-}
-
-.mempage {
-	width: 100%;
-}
-
-.memitem {
-	padding: 0;
-	margin-bottom: 10px;
-	margin-right: 5px;
-        -webkit-transition: box-shadow 0.5s linear;
-        -moz-transition: box-shadow 0.5s linear;
-        -ms-transition: box-shadow 0.5s linear;
-        -o-transition: box-shadow 0.5s linear;
-        transition: box-shadow 0.5s linear;
-        display: table !important;
-        width: 100%;
-}
-
-.memitem.glow {
-         box-shadow: 0 0 15px cyan;
-}
-
-.memname {
-        font-weight: bold;
-        margin-left: 6px;
-}
-
-.memname td {
-	vertical-align: bottom;
-}
-
-.memproto, dl.reflist dt {
-        border-top: 1px solid #C0C0C0;
-        border-left: 1px solid #C0C0C0;
-        border-right: 1px solid #C0C0C0;
-        padding: 6px 0px 6px 0px;
-        color: #3D3D3D;
-        font-weight: bold;
-        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #EAEAEA;
-        /* opera specific markup */
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        /* firefox specific markup */
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        -moz-border-radius-topright: 4px;
-        -moz-border-radius-topleft: 4px;
-        /* webkit specific markup */
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        -webkit-border-top-right-radius: 4px;
-        -webkit-border-top-left-radius: 4px;
-
-}
-
-.memdoc, dl.reflist dd {
-        border-bottom: 1px solid #C0C0C0;      
-        border-left: 1px solid #C0C0C0;      
-        border-right: 1px solid #C0C0C0; 
-        padding: 6px 10px 2px 10px;
-        background-color: #FCFCFC;
-        border-top-width: 0;
-        background-image:url('nav_g.png');
-        background-repeat:repeat-x;
-        background-color: #FFFFFF;
-        /* opera specific markup */
-        border-bottom-left-radius: 4px;
-        border-bottom-right-radius: 4px;
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        /* firefox specific markup */
-        -moz-border-radius-bottomleft: 4px;
-        -moz-border-radius-bottomright: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        /* webkit specific markup */
-        -webkit-border-bottom-left-radius: 4px;
-        -webkit-border-bottom-right-radius: 4px;
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-dl.reflist dt {
-        padding: 5px;
-}
-
-dl.reflist dd {
-        margin: 0px 0px 10px 0px;
-        padding: 5px;
-}
-
-.paramkey {
-	text-align: right;
-}
-
-.paramtype {
-	white-space: nowrap;
-}
-
-.paramname {
-	color: #602020;
-	white-space: nowrap;
-}
-.paramname em {
-	font-style: normal;
-}
-.paramname code {
-        line-height: 14px;
-}
-
-.params, .retval, .exception, .tparams {
-        margin-left: 0px;
-        padding-left: 0px;
-}       
-
-.params .paramname, .retval .paramname {
-        font-weight: bold;
-        vertical-align: top;
-}
-        
-.params .paramtype {
-        font-style: italic;
-        vertical-align: top;
-}       
-        
-.params .paramdir {
-        font-family: "courier new",courier,monospace;
-        vertical-align: top;
-}
-
-table.mlabels {
-	border-spacing: 0px;
-}
-
-td.mlabels-left {
-	width: 100%;
-	padding: 0px;
-}
-
-td.mlabels-right {
-	vertical-align: bottom;
-	padding: 0px;
-	white-space: nowrap;
-}
-
-span.mlabels {
-        margin-left: 8px;
-}
-
-span.mlabel {
-        background-color: #9A9A9A;
-        border-top:1px solid #848484;
-        border-left:1px solid #848484;
-        border-right:1px solid #D5D5D5;
-        border-bottom:1px solid #D5D5D5;
-	text-shadow: none;
-	color: white;
-	margin-right: 4px;
-	padding: 2px 3px;
-	border-radius: 3px;
-	font-size: 7pt;
-	white-space: nowrap;
-	vertical-align: middle;
-}
-
-
-
-/* @end */
-
-/* these are for tree view when not used as main index */
-
-div.directory {
-        margin: 10px 0px;
-        border-top: 1px solid #A8B8D9;
-        border-bottom: 1px solid #A8B8D9;
-        width: 100%;
-}
-
-.directory table {
-        border-collapse:collapse;
-}
-
-.directory td {
-        margin: 0px;
-        padding: 0px;
-	vertical-align: top;
-}
-
-.directory td.entry {
-        white-space: nowrap;
-        padding-right: 6px;
-	padding-top: 3px;
-}
-
-.directory td.entry a {
-        outline:none;
-}
-
-.directory td.entry a img {
-        border: none;
-}
-
-.directory td.desc {
-        width: 100%;
-        padding-left: 6px;
-	padding-right: 6px;
-	padding-top: 3px;
-	border-left: 1px solid rgba(0,0,0,0.05);
-}
-
-.directory tr.even {
-	padding-left: 6px;
-	background-color: #F9F9F9;
-}
-
-.directory img {
-	vertical-align: -30%;
-}
-
-.directory .levels {
-        white-space: nowrap;
-        width: 100%;
-        text-align: right;
-        font-size: 9pt;
-}
-
-.directory .levels span {
-        cursor: pointer;
-        padding-left: 2px;
-        padding-right: 2px;
-	color: #646464;
-}
-
-div.dynheader {
-        margin-top: 8px;
-	-webkit-touch-callout: none;
-	-webkit-user-select: none;
-	-khtml-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-}
-
-address {
-	font-style: normal;
-	color: #464646;
-}
-
-table.doxtable {
-	border-collapse:collapse;
-        margin-top: 4px;
-        margin-bottom: 4px;
-}
-
-table.doxtable td, table.doxtable th {
-	border: 1px solid #4A4A4A;
-	padding: 3px 7px 2px;
-}
-
-table.doxtable th {
-	background-color: #5B5B5B;
-	color: #FFFFFF;
-	font-size: 110%;
-	padding-bottom: 4px;
-	padding-top: 5px;
-}
-
-table.fieldtable {
-        /*width: 100%;*/
-        margin-bottom: 10px;
-        border: 1px solid #C0C0C0;
-        border-spacing: 0px;
-        -moz-border-radius: 4px;
-        -webkit-border-radius: 4px;
-        border-radius: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-}
-
-.fieldtable td, .fieldtable th {
-        padding: 3px 7px 2px;
-}
-
-.fieldtable td.fieldtype, .fieldtable td.fieldname {
-        white-space: nowrap;
-        border-right: 1px solid #C0C0C0;
-        border-bottom: 1px solid #C0C0C0;
-        vertical-align: top;
-}
-
-.fieldtable td.fieldname {
-        padding-top: 3px;
-}
-
-.fieldtable td.fielddoc {
-        border-bottom: 1px solid #C0C0C0;
-        /*width: 100%;*/
-}
-
-.fieldtable td.fielddoc p:first-child {
-        margin-top: 0px;
-}       
-        
-.fieldtable td.fielddoc p:last-child {
-        margin-bottom: 2px;
-}
-
-.fieldtable tr:last-child td {
-        border-bottom: none;
-}
-
-.fieldtable th {
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #EAEAEA;
-        font-size: 90%;
-        color: #3D3D3D;
-        padding-bottom: 4px;
-        padding-top: 5px;
-        text-align:left;
-        -moz-border-radius-topleft: 4px;
-        -moz-border-radius-topright: 4px;
-        -webkit-border-top-left-radius: 4px;
-        -webkit-border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        border-top-right-radius: 4px;
-        border-bottom: 1px solid #C0C0C0;
-}
-
-
-.tabsearch {
-	top: 0px;
-	left: 10px;
-	height: 36px;
-	background-image: url('tab_b.png');
-	z-index: 101;
-	overflow: hidden;
-	font-size: 13px;
-}
-
-.navpath ul
-{
-	font-size: 11px;
-	background-image:url('tab_b.png');
-	background-repeat:repeat-x;
-	background-position: 0 -5px;
-	height:30px;
-	line-height:30px;
-	color:#ABABAB;
-	border:solid 1px #D3D3D3;
-	overflow:hidden;
-	margin:0px;
-	padding:0px;
-}
-
-.navpath li
-{
-	list-style-type:none;
-	float:left;
-	padding-left:10px;
-	padding-right:15px;
-	background-image:url('bc_s.png');
-	background-repeat:no-repeat;
-	background-position:right;
-	color:#595959;
-}
-
-.navpath li.navelem a
-{
-	height:32px;
-	display:block;
-	text-decoration: none;
-	outline: none;
-	color: #434343;
-	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-	text-decoration: none;        
-}
-
-.navpath li.navelem a:hover
-{
-	color:#929292;
-}
-
-.navpath li.footer
-{
-        list-style-type:none;
-        float:right;
-        padding-left:10px;
-        padding-right:15px;
-        background-image:none;
-        background-repeat:no-repeat;
-        background-position:right;
-        color:#595959;
-        font-size: 8pt;
-}
-
-
-div.summary
-{
-	float: right;
-	font-size: 8pt;
-	padding-right: 5px;
-	width: 50%;
-	text-align: right;
-}       
-
-div.summary a
-{
-	white-space: nowrap;
-}
-
-div.ingroups
-{
-	font-size: 8pt;
-	width: 50%;
-	text-align: left;
-}
-
-div.ingroups a
-{
-	white-space: nowrap;
-}
-
-div.header
-{
-        background-image:url('nav_h.png');
-        background-repeat:repeat-x;
-	background-color: #FAFAFA;
-	margin:  0px;
-	border-bottom: 1px solid #D5D5D5;
-}
-
-div.headertitle
-{
-	padding: 5px 5px 5px 10px;
-}
-
-dl
-{
-        padding: 0 0 0 10px;
-}
-
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
-dl.section
-{
-	margin-left: 0px;
-	padding-left: 0px;
-}
-
-dl.note
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #D0C000;
-}
-
-dl.warning, dl.attention
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #00D000;
-}
-
-dl.deprecated
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #505050;
-}
-
-dl.todo
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #00C0E0;
-}
-
-dl.test
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #3030E0;
-}
-
-dl.bug
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #C08050;
-}
-
-dl.section dd {
-	margin-bottom: 6px;
-}
-
-
-#projectlogo
-{
-	text-align: center;
-	vertical-align: bottom;
-	border-collapse: separate;
-}
- 
-#projectlogo img
-{ 
-	border: 0px none;
-}
- 
-#projectname
-{
-	font: 300% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 2px 0px;
-}
-    
-#projectbrief
-{
-	font: 120% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 0px;
-}
-
-#projectnumber
-{
-	font: 50% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 0px;
-}
-
-#titlearea
-{
-	padding: 0px;
-	margin: 0px;
-	width: 100%;
-	border-bottom: 1px solid #848484;
-}
-
-.image
-{
-        text-align: center;
-}
-
-.dotgraph
-{
-        text-align: center;
-}
-
-.mscgraph
-{
-        text-align: center;
-}
-
-.diagraph
-{
-        text-align: center;
-}
-
-.caption
-{
-	font-weight: bold;
-}
-
-div.zoom
-{
-	border: 1px solid #AFAFAF;
-}
-
-dl.citelist {
-        margin-bottom:50px;
-}
-
-dl.citelist dt {
-        color:#545454;
-        float:left;
-        font-weight:bold;
-        margin-right:10px;
-        padding:5px;
-}
-
-dl.citelist dd {
-        margin:2px 0;
-        padding:5px 0;
-}
-
-div.toc {
-        padding: 14px 25px;
-        background-color: #F7F7F7;
-        border: 1px solid #E3E3E3;
-        border-radius: 7px 7px 7px 7px;
-        float: right;
-        height: auto;
-        margin: 0 20px 10px 10px;
-        width: 200px;
-}
-
-div.toc li {
-        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
-        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
-        margin-top: 5px;
-        padding-left: 10px;
-        padding-top: 2px;
-}
-
-div.toc h3 {
-        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
-	color: #747474;
-        border-bottom: 0 none;
-        margin: 0;
-}
-
-div.toc ul {
-        list-style: none outside none;
-        border: medium none;
-        padding: 0px;
-}       
-
-div.toc li.level1 {
-        margin-left: 0px;
-}
-
-div.toc li.level2 {
-        margin-left: 15px;
-}
-
-div.toc li.level3 {
-        margin-left: 30px;
-}
-
-div.toc li.level4 {
-        margin-left: 45px;
-}
-
-.inherit_header {
-        font-weight: bold;
-        color: gray;
-        cursor: pointer;
-	-webkit-touch-callout: none;
-	-webkit-user-select: none;
-	-khtml-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-}
-
-.inherit_header td {
-        padding: 6px 0px 2px 5px;
-}
-
-.inherit {
-        display: none;
-}
-
-tr.heading h2 {
-        margin-top: 12px;
-        margin-bottom: 4px;
-}
-
-/* tooltip related style info */
-
-.ttc {
-        position: absolute;
-        display: none;
-}
-
-#powerTip {
-	cursor: default;
-	white-space: nowrap;
-	background-color: white;
-	border: 1px solid gray;
-	border-radius: 4px 4px 4px 4px;
-	box-shadow: 1px 1px 7px gray;
-	display: none;
-	font-size: smaller;
-	max-width: 80%;
-	opacity: 0.9;
-	padding: 1ex 1em 1em;
-	position: absolute;
-	z-index: 2147483647;
-}
-
-#powerTip div.ttdoc {
-        color: grey;
-	font-style: italic;
-}
-
-#powerTip div.ttname a {
-        font-weight: bold;
-}
-
-#powerTip div.ttname {
-        font-weight: bold;
-}
-
-#powerTip div.ttdeci {
-        color: #006318;
-}
-
-#powerTip div {
-        margin: 0px;
-        padding: 0px;
-        font: 12px/16px Roboto,sans-serif;
-}
-
-#powerTip:before, #powerTip:after {
-	content: "";
-	position: absolute;
-	margin: 0px;
-}
-
-#powerTip.n:after,  #powerTip.n:before,
-#powerTip.s:after,  #powerTip.s:before,
-#powerTip.w:after,  #powerTip.w:before,
-#powerTip.e:after,  #powerTip.e:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.nw:after, #powerTip.nw:before,
-#powerTip.sw:after, #powerTip.sw:before {
-	border: solid transparent;
-	content: " ";
-	height: 0;
-	width: 0;
-	position: absolute;
-}
-
-#powerTip.n:after,  #powerTip.s:after,
-#powerTip.w:after,  #powerTip.e:after,
-#powerTip.nw:after, #powerTip.ne:after,
-#powerTip.sw:after, #powerTip.se:after {
-	border-color: rgba(255, 255, 255, 0);
-}
-
-#powerTip.n:before,  #powerTip.s:before,
-#powerTip.w:before,  #powerTip.e:before,
-#powerTip.nw:before, #powerTip.ne:before,
-#powerTip.sw:before, #powerTip.se:before {
-	border-color: rgba(128, 128, 128, 0);
-}
-
-#powerTip.n:after,  #powerTip.n:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.nw:after, #powerTip.nw:before {
-	top: 100%;
-}
-
-#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
-	border-top-color: #ffffff;
-	border-width: 10px;
-	margin: 0px -10px;
-}
-#powerTip.n:before {
-	border-top-color: #808080;
-	border-width: 11px;
-	margin: 0px -11px;
-}
-#powerTip.n:after, #powerTip.n:before {
-	left: 50%;
-}
-
-#powerTip.nw:after, #powerTip.nw:before {
-	right: 14px;
-}
-
-#powerTip.ne:after, #powerTip.ne:before {
-	left: 14px;
-}
-
-#powerTip.s:after,  #powerTip.s:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.sw:after, #powerTip.sw:before {
-	bottom: 100%;
-}
-
-#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
-	border-bottom-color: #ffffff;
-	border-width: 10px;
-	margin: 0px -10px;
-}
-
-#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
-	border-bottom-color: #808080;
-	border-width: 11px;
-	margin: 0px -11px;
-}
-
-#powerTip.s:after, #powerTip.s:before {
-	left: 50%;
-}
-
-#powerTip.sw:after, #powerTip.sw:before {
-	right: 14px;
-}
-
-#powerTip.se:after, #powerTip.se:before {
-	left: 14px;
-}
-
-#powerTip.e:after, #powerTip.e:before {
-	left: 100%;
-}
-#powerTip.e:after {
-	border-left-color: #ffffff;
-	border-width: 10px;
-	top: 50%;
-	margin-top: -10px;
-}
-#powerTip.e:before {
-	border-left-color: #808080;
-	border-width: 11px;
-	top: 50%;
-	margin-top: -11px;
-}
-
-#powerTip.w:after, #powerTip.w:before {
-	right: 100%;
-}
-#powerTip.w:after {
-	border-right-color: #ffffff;
-	border-width: 10px;
-	top: 50%;
-	margin-top: -10px;
-}
-#powerTip.w:before {
-	border-right-color: #808080;
-	border-width: 11px;
-	top: 50%;
-	margin-top: -11px;
-}
-
-@media print
-{
-  #top { display: none; }
-  #side-nav { display: none; }
-  #nav-path { display: none; }
-  body { overflow:visible; }
-  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
-  .summary { display: none; }
-  .memitem { page-break-inside: avoid; }
-  #doc-content
-  {
-    margin-left:0 !important;
-    height:auto !important;
-    width:auto !important;
-    overflow:inherit;
-    display:inline;
-  }
-}
-
diff --git a/docs/html/ndk/reference/doxygen.png b/docs/html/ndk/reference/doxygen.png
deleted file mode 100644
index da7e8aa..0000000
--- a/docs/html/ndk/reference/doxygen.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/dynsections.js b/docs/html/ndk/reference/dynsections.js
deleted file mode 100644
index ed092c7..0000000
--- a/docs/html/ndk/reference/dynsections.js
+++ /dev/null
@@ -1,97 +0,0 @@
-function toggleVisibility(linkObj)
-{
- var base = $(linkObj).attr('id');
- var summary = $('#'+base+'-summary');
- var content = $('#'+base+'-content');
- var trigger = $('#'+base+'-trigger');
- var src=$(trigger).attr('src');
- if (content.is(':visible')===true) {
-   content.hide();
-   summary.show();
-   $(linkObj).addClass('closed').removeClass('opened');
-   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
-   content.show();
-   summary.hide();
-   $(linkObj).removeClass('closed').addClass('opened');
-   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- } 
- return false;
-}
-
-function updateStripes()
-{
-  $('table.directory tr').
-       removeClass('even').filter(':visible:even').addClass('even');
-}
-function toggleLevel(level)
-{
-  $('table.directory tr').each(function(){ 
-    var l = this.id.split('_').length-1;
-    var i = $('#img'+this.id.substring(3));
-    var a = $('#arr'+this.id.substring(3));
-    if (l<level+1) {
-      i.attr('src','ftv2folderopen.png');
-      a.attr('src','ftv2mnode.png');
-      $(this).show();
-    } else if (l==level+1) {
-      i.attr('src','ftv2folderclosed.png');
-      a.attr('src','ftv2pnode.png');
-      $(this).show();
-    } else {
-      $(this).hide();
-    }
-  });
-  updateStripes();
-}
-
-function toggleFolder(id)
-{
-  //The clicked row
-  var currentRow = $('#row_'+id);
-  var currentRowImages = currentRow.find("img");
-
-  //All rows after the clicked row
-  var rows = currentRow.nextAll("tr");
-
-  //Only match elements AFTER this one (can't hide elements before)
-  var childRows = rows.filter(function() {
-    var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
-    return this.id.match(re);
-  });
-
-  //First row is visible we are HIDING
-  if (childRows.filter(':first').is(':visible')===true) {
-    currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
-    currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
-    rows.filter("[id^=row_"+id+"]").hide();
-  } else { //We are SHOWING
-    //All sub images
-    var childImages = childRows.find("img");
-    var childImg = childImages.filter("[id^=img]");
-    var childArr = childImages.filter("[id^=arr]");
-
-    currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
-    currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
-    childImg.attr('src','ftv2folderclosed.png'); //children closed
-    childArr.attr('src','ftv2pnode.png'); //children closed
-    childRows.show(); //show all children
-  }
-  updateStripes();
-}
-
-
-function toggleInherit(id)
-{
-  var rows = $('tr.inherit.'+id);
-  var img = $('tr.inherit_header.'+id+' img');
-  var src = $(img).attr('src');
-  if (rows.filter(':first').is(':visible')===true) {
-    rows.css('display','none');
-    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
-  } else {
-    rows.css('display','table-row'); // using show() causes jump in firefox
-    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
-  }
-}
-
diff --git a/docs/html/ndk/reference/files.jd b/docs/html/ndk/reference/files.jd
deleted file mode 100644
index 1144d5bb..0000000
--- a/docs/html/ndk/reference/files.jd
+++ /dev/null
@@ -1,30 +0,0 @@
-page.title=File List
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">File List</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="asset__manager_8h.html" target="_self">asset_manager.h</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="asset__manager__jni_8h.html" target="_self">asset_manager_jni.h</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="bitmap_8h.html" target="_self">bitmap.h</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="configuration_8h.html" target="_self">configuration.h</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="input_8h.html" target="_self">input.h</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="keycodes_8h.html" target="_self">keycodes.h</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="looper_8h.html" target="_self">looper.h</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="native__activity_8h.html" target="_self">native_activity.h</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="native__window_8h.html" target="_self">native_window.h</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="native__window__jni_8h.html" target="_self">native_window_jni.h</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="obb_8h.html" target="_self">obb.h</a></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rect_8h.html" target="_self">rect.h</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sensor_8h.html" target="_self">sensor.h</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="storage__manager_8h.html" target="_self">storage_manager.h</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="window_8h.html" target="_self">window.h</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/ftv2blank.png b/docs/html/ndk/reference/ftv2blank.png
deleted file mode 100644
index 63c605b..0000000
--- a/docs/html/ndk/reference/ftv2blank.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2cl.png b/docs/html/ndk/reference/ftv2cl.png
deleted file mode 100644
index d660c7b..0000000
--- a/docs/html/ndk/reference/ftv2cl.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2doc.png b/docs/html/ndk/reference/ftv2doc.png
deleted file mode 100644
index 7f92e54..0000000
--- a/docs/html/ndk/reference/ftv2doc.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2folderclosed.png b/docs/html/ndk/reference/ftv2folderclosed.png
deleted file mode 100644
index 359f207..0000000
--- a/docs/html/ndk/reference/ftv2folderclosed.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2folderopen.png b/docs/html/ndk/reference/ftv2folderopen.png
deleted file mode 100644
index c5103ed..0000000
--- a/docs/html/ndk/reference/ftv2folderopen.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2lastnode.png b/docs/html/ndk/reference/ftv2lastnode.png
deleted file mode 100644
index 63c605b..0000000
--- a/docs/html/ndk/reference/ftv2lastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2link.png b/docs/html/ndk/reference/ftv2link.png
deleted file mode 100644
index 7f92e54..0000000
--- a/docs/html/ndk/reference/ftv2link.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2mlastnode.png b/docs/html/ndk/reference/ftv2mlastnode.png
deleted file mode 100644
index 9d1437d..0000000
--- a/docs/html/ndk/reference/ftv2mlastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2mnode.png b/docs/html/ndk/reference/ftv2mnode.png
deleted file mode 100644
index 9d1437d..0000000
--- a/docs/html/ndk/reference/ftv2mnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2mo.png b/docs/html/ndk/reference/ftv2mo.png
deleted file mode 100644
index e2513ee..0000000
--- a/docs/html/ndk/reference/ftv2mo.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2node.png b/docs/html/ndk/reference/ftv2node.png
deleted file mode 100644
index 63c605b..0000000
--- a/docs/html/ndk/reference/ftv2node.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2ns.png b/docs/html/ndk/reference/ftv2ns.png
deleted file mode 100644
index c61a541..0000000
--- a/docs/html/ndk/reference/ftv2ns.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2plastnode.png b/docs/html/ndk/reference/ftv2plastnode.png
deleted file mode 100644
index a2fffb6..0000000
--- a/docs/html/ndk/reference/ftv2plastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2pnode.png b/docs/html/ndk/reference/ftv2pnode.png
deleted file mode 100644
index a2fffb6..0000000
--- a/docs/html/ndk/reference/ftv2pnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2splitbar.png b/docs/html/ndk/reference/ftv2splitbar.png
deleted file mode 100644
index 343046b..0000000
--- a/docs/html/ndk/reference/ftv2splitbar.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2vertline.png b/docs/html/ndk/reference/ftv2vertline.png
deleted file mode 100644
index 63c605b..0000000
--- a/docs/html/ndk/reference/ftv2vertline.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/functions.jd b/docs/html/ndk/reference/functions.jd
deleted file mode 100644
index fade0d5..0000000
--- a/docs/html/ndk/reference/functions.jd
+++ /dev/null
@@ -1,327 +0,0 @@
-page.title=Data Fields
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>acceleration
-: <a class="el" href="struct_a_sensor_event.html#aab1f50881089166ff5f3d46f7bfcf09c">ASensorEvent</a>
-</li>
-<li>assetManager
-: <a class="el" href="struct_a_native_activity.html#a0f76f065768b8f896ce47a3089fb438d">ANativeActivity</a>
-</li>
-<li>azimuth
-: <a class="el" href="struct_a_sensor_vector.html#a01b03ebfa7d0a95760e743f611fecbc5">ASensorVector</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
-<li>bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a52bd7f09c4decadcfbc0347fda4163d6">AUncalibratedEvent</a>
-</li>
-<li>bits
-: <a class="el" href="struct_a_native_window___buffer.html#a089d8e968fac54a9e45f059b8b78cf9b">ANativeWindow_Buffer</a>
-</li>
-<li>bottom
-: <a class="el" href="struct_a_rect.html#a4479860c72ca8e96ac4fb1cc149dd71b">ARect</a>
-</li>
-<li>bpm
-: <a class="el" href="struct_a_heart_rate_event.html#ab0560092cbaa233e74bb0d543a85965d">AHeartRateEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>callbacks
-: <a class="el" href="struct_a_native_activity.html#af96995a13e77baf0d71c37d20c79ad51">ANativeActivity</a>
-</li>
-<li>clazz
-: <a class="el" href="struct_a_native_activity.html#ab10b01c3c23c4ddb9d2ddadd71b03c94">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>data
-: <a class="el" href="struct_a_sensor_event.html#a31244897a6c7f657a9aec807dd1e09ae">ASensorEvent</a>
-</li>
-<li>distance
-: <a class="el" href="struct_a_sensor_event.html#a06f14a9abd47b91465f895d5259cdc1b">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>env
-: <a class="el" href="struct_a_native_activity.html#ae6f0d0cd46e56b7e299b489cb60dd27e">ANativeActivity</a>
-</li>
-<li>externalDataPath
-: <a class="el" href="struct_a_native_activity.html#a2a61553b2f660ea8b57fcc2b495e109f">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
-<li>flags
-: <a class="el" href="struct_android_bitmap_info.html#a773b39d480759f67926cb18ae2219281">AndroidBitmapInfo</a>
-, <a class="el" href="struct_a_sensor_event.html#a773b39d480759f67926cb18ae2219281">ASensorEvent</a>
-</li>
-<li>format
-: <a class="el" href="struct_a_native_window___buffer.html#a49d503b84d084937e3ceeda9f0b4659e">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a49d503b84d084937e3ceeda9f0b4659e">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>heart_rate
-: <a class="el" href="struct_a_sensor_event.html#a2325abb12f65d7cbceec766e6db506d8">ASensorEvent</a>
-</li>
-<li>height
-: <a class="el" href="struct_a_native_window___buffer.html#a5d8006e753a3e76ff637a4e092bbed71">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a6ad4f820ce4e75cda0686fcaad5168be">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
-<li>instance
-: <a class="el" href="struct_a_native_activity.html#ae1b90392cd257d16fd66a85bac1b08cd">ANativeActivity</a>
-</li>
-<li>internalDataPath
-: <a class="el" href="struct_a_native_activity.html#aa52947cdd1476b95e858d83c0f5b0220">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>left
-: <a class="el" href="struct_a_rect.html#a9ee4ce87784b0ebeaadce132ce7d421f">ARect</a>
-</li>
-<li>light
-: <a class="el" href="struct_a_sensor_event.html#aaf8b2537020ae0b7450785724d77a3e0">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>magnetic
-: <a class="el" href="struct_a_sensor_event.html#a776bc8e3beff52764ef2d6d423563d64">ASensorEvent</a>
-</li>
-<li>meta_data
-: <a class="el" href="struct_a_sensor_event.html#a40a6e69697a42e0f0ad04a09d7f113d3">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
-<li>obbPath
-: <a class="el" href="struct_a_native_activity.html#a0aff284eb9ab311d81f20955258798cf">ANativeActivity</a>
-</li>
-<li>onConfigurationChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a2926b45334319089e4e25fbc86d74c3f">ANativeActivityCallbacks</a>
-</li>
-<li>onContentRectChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks</a>
-</li>
-<li>onDestroy
-: <a class="el" href="struct_a_native_activity_callbacks.html#a45598ebed3d15847b4f97acb9e15076e">ANativeActivityCallbacks</a>
-</li>
-<li>onInputQueueCreated
-: <a class="el" href="struct_a_native_activity_callbacks.html#a17b41ec9bb8b0b9e42d1e269a62a4d59">ANativeActivityCallbacks</a>
-</li>
-<li>onInputQueueDestroyed
-: <a class="el" href="struct_a_native_activity_callbacks.html#a82675193f867bc64180016923b0bb129">ANativeActivityCallbacks</a>
-</li>
-<li>onLowMemory
-: <a class="el" href="struct_a_native_activity_callbacks.html#aac61f647cbd971321c692a74a1136f67">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowCreated
-: <a class="el" href="struct_a_native_activity_callbacks.html#ac997f07e53ba58179a2133e86e5cbd31">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowDestroyed
-: <a class="el" href="struct_a_native_activity_callbacks.html#a150442c0611e8ce24a32a7c805e7c9db">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowRedrawNeeded
-: <a class="el" href="struct_a_native_activity_callbacks.html#a3cad4792af363b9a40599d09afeab56c">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowResized
-: <a class="el" href="struct_a_native_activity_callbacks.html#ab7bd120b8816508561126308f699f116">ANativeActivityCallbacks</a>
-</li>
-<li>onPause
-: <a class="el" href="struct_a_native_activity_callbacks.html#aee8a4dcff234b94d0bf0bc85efea42c2">ANativeActivityCallbacks</a>
-</li>
-<li>onResume
-: <a class="el" href="struct_a_native_activity_callbacks.html#ac2c85491a68e6dece3d82782c1254e73">ANativeActivityCallbacks</a>
-</li>
-<li>onSaveInstanceState
-: <a class="el" href="struct_a_native_activity_callbacks.html#a16a270d24a484a376e28bc6c48fc22a1">ANativeActivityCallbacks</a>
-</li>
-<li>onStart
-: <a class="el" href="struct_a_native_activity_callbacks.html#acda344fd29c2018640a85a585317d92c">ANativeActivityCallbacks</a>
-</li>
-<li>onStop
-: <a class="el" href="struct_a_native_activity_callbacks.html#adefa99d16d11d21bb8a83ba426047605">ANativeActivityCallbacks</a>
-</li>
-<li>onWindowFocusChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a620ef54556eac0b2b28d7e6d0644ee4a">ANativeActivityCallbacks</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>pitch
-: <a class="el" href="struct_a_sensor_vector.html#a282e7d4378d4a18a805b8980295ac86c">ASensorVector</a>
-</li>
-<li>pressure
-: <a class="el" href="struct_a_sensor_event.html#ac870e1249bab4a2a68cc4126761d24ef">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
-<li>relative_humidity
-: <a class="el" href="struct_a_sensor_event.html#ad60830bc80efb7e8a11d6fb25518f55b">ASensorEvent</a>
-</li>
-<li>reserved
-: <a class="el" href="struct_a_native_window___buffer.html#a60cc5aad4013157e2e7434d6de450656">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_a_sensor_vector.html#a72aca6ea6d8153b28ea8f139b932ec3e">ASensorVector</a>
-</li>
-<li>reserved0
-: <a class="el" href="struct_a_sensor_event.html#a3b1869501b35bf41f2ff54de072b6c2c">ASensorEvent</a>
-</li>
-<li>reserved1
-: <a class="el" href="struct_a_sensor_event.html#a3c2ed5a26d302c47f7b3f2dd0bbf7f94">ASensorEvent</a>
-</li>
-<li>right
-: <a class="el" href="struct_a_rect.html#a3d3a4d6bf8bc6c866fa737e11590cc4e">ARect</a>
-</li>
-<li>roll
-: <a class="el" href="struct_a_sensor_vector.html#a26fd84d522945b6038221d9e38c7cc39">ASensorVector</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>sdkVersion
-: <a class="el" href="struct_a_native_activity.html#a40b4b64be7ecfac23751618313eb610d">ANativeActivity</a>
-</li>
-<li>sensor
-: <a class="el" href="struct_a_meta_data_event.html#a470f19badf179fe205462c060e5175b4">AMetaDataEvent</a>
-, <a class="el" href="struct_a_sensor_event.html#a470f19badf179fe205462c060e5175b4">ASensorEvent</a>
-</li>
-<li>status
-: <a class="el" href="struct_a_heart_rate_event.html#a555c2084e8436de01dc76a23590e8824">AHeartRateEvent</a>
-, <a class="el" href="struct_a_sensor_vector.html#a555c2084e8436de01dc76a23590e8824">ASensorVector</a>
-</li>
-<li>step_counter
-: <a class="el" href="struct_a_sensor_event.html#a2e54280490afc977b11157e387841145">ASensorEvent</a>
-</li>
-<li>stride
-: <a class="el" href="struct_a_native_window___buffer.html#a4438e3445d33be6d33b2c0dbe9c2e0d7">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a981556a4e63b7b6d9f94975c7a8930ab">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>temperature
-: <a class="el" href="struct_a_sensor_event.html#afc1d28cfbce795d6ea954ebe725241f5">ASensorEvent</a>
-</li>
-<li>timestamp
-: <a class="el" href="struct_a_sensor_event.html#a8a591d341723df9496cda98e225b25b4">ASensorEvent</a>
-</li>
-<li>top
-: <a class="el" href="struct_a_rect.html#ad07137116129d873220209ea65f9d3d4">ARect</a>
-</li>
-<li>type
-: <a class="el" href="struct_a_sensor_event.html#a449e574ed6911881dc55507cb5635c2c">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
-<li>u64
-: <a class="el" href="struct_a_sensor_event.html#a89806d4445310e62ed4b68c9e2698b27">ASensorEvent</a>
-</li>
-<li>uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#a9c22454e765672782b7198d57a92f5fd">AUncalibratedEvent</a>
-</li>
-<li>uncalibrated_gyro
-: <a class="el" href="struct_a_sensor_event.html#a4e35158edcd83e4651d7083ebdb41bae">ASensorEvent</a>
-</li>
-<li>uncalibrated_magnetic
-: <a class="el" href="struct_a_sensor_event.html#a3c746f01a48fbdefaad12c35be0dd715">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>v
-: <a class="el" href="struct_a_sensor_vector.html#a9a1a1a00f1e45435cc3001b553000a21">ASensorVector</a>
-</li>
-<li>vector
-: <a class="el" href="struct_a_sensor_event.html#aebf12879fa9b61c671584994ddad9610">ASensorEvent</a>
-</li>
-<li>version
-: <a class="el" href="struct_a_sensor_event.html#a67fae7dd1de9edce3656ed214d20377f">ASensorEvent</a>
-</li>
-<li>vm
-: <a class="el" href="struct_a_native_activity.html#a5e163c28566d4563eafeabd7dcab7eeb">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>what
-: <a class="el" href="struct_a_meta_data_event.html#a397e31e246d23c1be3fa82ca4af8b930">AMetaDataEvent</a>
-</li>
-<li>width
-: <a class="el" href="struct_a_native_window___buffer.html#a395d15e7c2b09961c1bfd1da6179b64c">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a325272ddd9a962f05deb905101d25cbd">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
-<li>x
-: <a class="el" href="struct_a_sensor_vector.html#ad0da36b2558901e21e7a30f6c227a45e">ASensorVector</a>
-</li>
-<li>x_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a56c4ea73587a9ea20595cca9bcfe9593">AUncalibratedEvent</a>
-</li>
-<li>x_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#ac8b7f8daea042eaa2b86f0bf2160c44a">AUncalibratedEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
-<li>y
-: <a class="el" href="struct_a_sensor_vector.html#aa4f0d3eebc3c443f9be81bf48561a217">ASensorVector</a>
-</li>
-<li>y_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a130457eaa905b467bc43fedb02cbb16a">AUncalibratedEvent</a>
-</li>
-<li>y_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#a43437dd77e26c6b89ab1c91aeb63fd64">AUncalibratedEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_z"></a>- z -</h3><ul>
-<li>z
-: <a class="el" href="struct_a_sensor_vector.html#af73583b1e980b0aa03f9884812e9fd4d">ASensorVector</a>
-</li>
-<li>z_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a6e265324293107afbfa9e587941a4036">AUncalibratedEvent</a>
-</li>
-<li>z_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#ae677be5f98570cc5a1fd7fddcd8a6841">AUncalibratedEvent</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/functions_vars.jd b/docs/html/ndk/reference/functions_vars.jd
deleted file mode 100644
index 129c7ec..0000000
--- a/docs/html/ndk/reference/functions_vars.jd
+++ /dev/null
@@ -1,327 +0,0 @@
-page.title=Data Fields - Variables
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>acceleration
-: <a class="el" href="struct_a_sensor_event.html#aab1f50881089166ff5f3d46f7bfcf09c">ASensorEvent</a>
-</li>
-<li>assetManager
-: <a class="el" href="struct_a_native_activity.html#a0f76f065768b8f896ce47a3089fb438d">ANativeActivity</a>
-</li>
-<li>azimuth
-: <a class="el" href="struct_a_sensor_vector.html#a01b03ebfa7d0a95760e743f611fecbc5">ASensorVector</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
-<li>bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a52bd7f09c4decadcfbc0347fda4163d6">AUncalibratedEvent</a>
-</li>
-<li>bits
-: <a class="el" href="struct_a_native_window___buffer.html#a089d8e968fac54a9e45f059b8b78cf9b">ANativeWindow_Buffer</a>
-</li>
-<li>bottom
-: <a class="el" href="struct_a_rect.html#a4479860c72ca8e96ac4fb1cc149dd71b">ARect</a>
-</li>
-<li>bpm
-: <a class="el" href="struct_a_heart_rate_event.html#ab0560092cbaa233e74bb0d543a85965d">AHeartRateEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>callbacks
-: <a class="el" href="struct_a_native_activity.html#af96995a13e77baf0d71c37d20c79ad51">ANativeActivity</a>
-</li>
-<li>clazz
-: <a class="el" href="struct_a_native_activity.html#ab10b01c3c23c4ddb9d2ddadd71b03c94">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>data
-: <a class="el" href="struct_a_sensor_event.html#a31244897a6c7f657a9aec807dd1e09ae">ASensorEvent</a>
-</li>
-<li>distance
-: <a class="el" href="struct_a_sensor_event.html#a06f14a9abd47b91465f895d5259cdc1b">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>env
-: <a class="el" href="struct_a_native_activity.html#ae6f0d0cd46e56b7e299b489cb60dd27e">ANativeActivity</a>
-</li>
-<li>externalDataPath
-: <a class="el" href="struct_a_native_activity.html#a2a61553b2f660ea8b57fcc2b495e109f">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
-<li>flags
-: <a class="el" href="struct_android_bitmap_info.html#a773b39d480759f67926cb18ae2219281">AndroidBitmapInfo</a>
-, <a class="el" href="struct_a_sensor_event.html#a773b39d480759f67926cb18ae2219281">ASensorEvent</a>
-</li>
-<li>format
-: <a class="el" href="struct_a_native_window___buffer.html#a49d503b84d084937e3ceeda9f0b4659e">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a49d503b84d084937e3ceeda9f0b4659e">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>heart_rate
-: <a class="el" href="struct_a_sensor_event.html#a2325abb12f65d7cbceec766e6db506d8">ASensorEvent</a>
-</li>
-<li>height
-: <a class="el" href="struct_a_native_window___buffer.html#a5d8006e753a3e76ff637a4e092bbed71">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a6ad4f820ce4e75cda0686fcaad5168be">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
-<li>instance
-: <a class="el" href="struct_a_native_activity.html#ae1b90392cd257d16fd66a85bac1b08cd">ANativeActivity</a>
-</li>
-<li>internalDataPath
-: <a class="el" href="struct_a_native_activity.html#aa52947cdd1476b95e858d83c0f5b0220">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>left
-: <a class="el" href="struct_a_rect.html#a9ee4ce87784b0ebeaadce132ce7d421f">ARect</a>
-</li>
-<li>light
-: <a class="el" href="struct_a_sensor_event.html#aaf8b2537020ae0b7450785724d77a3e0">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>magnetic
-: <a class="el" href="struct_a_sensor_event.html#a776bc8e3beff52764ef2d6d423563d64">ASensorEvent</a>
-</li>
-<li>meta_data
-: <a class="el" href="struct_a_sensor_event.html#a40a6e69697a42e0f0ad04a09d7f113d3">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
-<li>obbPath
-: <a class="el" href="struct_a_native_activity.html#a0aff284eb9ab311d81f20955258798cf">ANativeActivity</a>
-</li>
-<li>onConfigurationChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a2926b45334319089e4e25fbc86d74c3f">ANativeActivityCallbacks</a>
-</li>
-<li>onContentRectChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks</a>
-</li>
-<li>onDestroy
-: <a class="el" href="struct_a_native_activity_callbacks.html#a45598ebed3d15847b4f97acb9e15076e">ANativeActivityCallbacks</a>
-</li>
-<li>onInputQueueCreated
-: <a class="el" href="struct_a_native_activity_callbacks.html#a17b41ec9bb8b0b9e42d1e269a62a4d59">ANativeActivityCallbacks</a>
-</li>
-<li>onInputQueueDestroyed
-: <a class="el" href="struct_a_native_activity_callbacks.html#a82675193f867bc64180016923b0bb129">ANativeActivityCallbacks</a>
-</li>
-<li>onLowMemory
-: <a class="el" href="struct_a_native_activity_callbacks.html#aac61f647cbd971321c692a74a1136f67">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowCreated
-: <a class="el" href="struct_a_native_activity_callbacks.html#ac997f07e53ba58179a2133e86e5cbd31">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowDestroyed
-: <a class="el" href="struct_a_native_activity_callbacks.html#a150442c0611e8ce24a32a7c805e7c9db">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowRedrawNeeded
-: <a class="el" href="struct_a_native_activity_callbacks.html#a3cad4792af363b9a40599d09afeab56c">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowResized
-: <a class="el" href="struct_a_native_activity_callbacks.html#ab7bd120b8816508561126308f699f116">ANativeActivityCallbacks</a>
-</li>
-<li>onPause
-: <a class="el" href="struct_a_native_activity_callbacks.html#aee8a4dcff234b94d0bf0bc85efea42c2">ANativeActivityCallbacks</a>
-</li>
-<li>onResume
-: <a class="el" href="struct_a_native_activity_callbacks.html#ac2c85491a68e6dece3d82782c1254e73">ANativeActivityCallbacks</a>
-</li>
-<li>onSaveInstanceState
-: <a class="el" href="struct_a_native_activity_callbacks.html#a16a270d24a484a376e28bc6c48fc22a1">ANativeActivityCallbacks</a>
-</li>
-<li>onStart
-: <a class="el" href="struct_a_native_activity_callbacks.html#acda344fd29c2018640a85a585317d92c">ANativeActivityCallbacks</a>
-</li>
-<li>onStop
-: <a class="el" href="struct_a_native_activity_callbacks.html#adefa99d16d11d21bb8a83ba426047605">ANativeActivityCallbacks</a>
-</li>
-<li>onWindowFocusChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a620ef54556eac0b2b28d7e6d0644ee4a">ANativeActivityCallbacks</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>pitch
-: <a class="el" href="struct_a_sensor_vector.html#a282e7d4378d4a18a805b8980295ac86c">ASensorVector</a>
-</li>
-<li>pressure
-: <a class="el" href="struct_a_sensor_event.html#ac870e1249bab4a2a68cc4126761d24ef">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
-<li>relative_humidity
-: <a class="el" href="struct_a_sensor_event.html#ad60830bc80efb7e8a11d6fb25518f55b">ASensorEvent</a>
-</li>
-<li>reserved
-: <a class="el" href="struct_a_native_window___buffer.html#a60cc5aad4013157e2e7434d6de450656">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_a_sensor_vector.html#a72aca6ea6d8153b28ea8f139b932ec3e">ASensorVector</a>
-</li>
-<li>reserved0
-: <a class="el" href="struct_a_sensor_event.html#a3b1869501b35bf41f2ff54de072b6c2c">ASensorEvent</a>
-</li>
-<li>reserved1
-: <a class="el" href="struct_a_sensor_event.html#a3c2ed5a26d302c47f7b3f2dd0bbf7f94">ASensorEvent</a>
-</li>
-<li>right
-: <a class="el" href="struct_a_rect.html#a3d3a4d6bf8bc6c866fa737e11590cc4e">ARect</a>
-</li>
-<li>roll
-: <a class="el" href="struct_a_sensor_vector.html#a26fd84d522945b6038221d9e38c7cc39">ASensorVector</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>sdkVersion
-: <a class="el" href="struct_a_native_activity.html#a40b4b64be7ecfac23751618313eb610d">ANativeActivity</a>
-</li>
-<li>sensor
-: <a class="el" href="struct_a_meta_data_event.html#a470f19badf179fe205462c060e5175b4">AMetaDataEvent</a>
-, <a class="el" href="struct_a_sensor_event.html#a470f19badf179fe205462c060e5175b4">ASensorEvent</a>
-</li>
-<li>status
-: <a class="el" href="struct_a_heart_rate_event.html#a555c2084e8436de01dc76a23590e8824">AHeartRateEvent</a>
-, <a class="el" href="struct_a_sensor_vector.html#a555c2084e8436de01dc76a23590e8824">ASensorVector</a>
-</li>
-<li>step_counter
-: <a class="el" href="struct_a_sensor_event.html#a2e54280490afc977b11157e387841145">ASensorEvent</a>
-</li>
-<li>stride
-: <a class="el" href="struct_a_native_window___buffer.html#a4438e3445d33be6d33b2c0dbe9c2e0d7">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a981556a4e63b7b6d9f94975c7a8930ab">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>temperature
-: <a class="el" href="struct_a_sensor_event.html#afc1d28cfbce795d6ea954ebe725241f5">ASensorEvent</a>
-</li>
-<li>timestamp
-: <a class="el" href="struct_a_sensor_event.html#a8a591d341723df9496cda98e225b25b4">ASensorEvent</a>
-</li>
-<li>top
-: <a class="el" href="struct_a_rect.html#ad07137116129d873220209ea65f9d3d4">ARect</a>
-</li>
-<li>type
-: <a class="el" href="struct_a_sensor_event.html#a449e574ed6911881dc55507cb5635c2c">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
-<li>u64
-: <a class="el" href="struct_a_sensor_event.html#a89806d4445310e62ed4b68c9e2698b27">ASensorEvent</a>
-</li>
-<li>uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#a9c22454e765672782b7198d57a92f5fd">AUncalibratedEvent</a>
-</li>
-<li>uncalibrated_gyro
-: <a class="el" href="struct_a_sensor_event.html#a4e35158edcd83e4651d7083ebdb41bae">ASensorEvent</a>
-</li>
-<li>uncalibrated_magnetic
-: <a class="el" href="struct_a_sensor_event.html#a3c746f01a48fbdefaad12c35be0dd715">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>v
-: <a class="el" href="struct_a_sensor_vector.html#a9a1a1a00f1e45435cc3001b553000a21">ASensorVector</a>
-</li>
-<li>vector
-: <a class="el" href="struct_a_sensor_event.html#aebf12879fa9b61c671584994ddad9610">ASensorEvent</a>
-</li>
-<li>version
-: <a class="el" href="struct_a_sensor_event.html#a67fae7dd1de9edce3656ed214d20377f">ASensorEvent</a>
-</li>
-<li>vm
-: <a class="el" href="struct_a_native_activity.html#a5e163c28566d4563eafeabd7dcab7eeb">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>what
-: <a class="el" href="struct_a_meta_data_event.html#a397e31e246d23c1be3fa82ca4af8b930">AMetaDataEvent</a>
-</li>
-<li>width
-: <a class="el" href="struct_a_native_window___buffer.html#a395d15e7c2b09961c1bfd1da6179b64c">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a325272ddd9a962f05deb905101d25cbd">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
-<li>x
-: <a class="el" href="struct_a_sensor_vector.html#ad0da36b2558901e21e7a30f6c227a45e">ASensorVector</a>
-</li>
-<li>x_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a56c4ea73587a9ea20595cca9bcfe9593">AUncalibratedEvent</a>
-</li>
-<li>x_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#ac8b7f8daea042eaa2b86f0bf2160c44a">AUncalibratedEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
-<li>y
-: <a class="el" href="struct_a_sensor_vector.html#aa4f0d3eebc3c443f9be81bf48561a217">ASensorVector</a>
-</li>
-<li>y_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a130457eaa905b467bc43fedb02cbb16a">AUncalibratedEvent</a>
-</li>
-<li>y_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#a43437dd77e26c6b89ab1c91aeb63fd64">AUncalibratedEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_z"></a>- z -</h3><ul>
-<li>z
-: <a class="el" href="struct_a_sensor_vector.html#af73583b1e980b0aa03f9884812e9fd4d">ASensorVector</a>
-</li>
-<li>z_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a6e265324293107afbfa9e587941a4036">AUncalibratedEvent</a>
-</li>
-<li>z_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#ae677be5f98570cc5a1fd7fddcd8a6841">AUncalibratedEvent</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals.jd b/docs/html/ndk/reference/globals.jd
deleted file mode 100644
index cb6dc11..0000000
--- a/docs/html/ndk/reference/globals.jd
+++ /dev/null
@@ -1,2294 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>AAsset
-: <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">asset_manager.h</a>
-</li>
-<li>AAsset_close()
-: <a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">asset_manager.h</a>
-</li>
-<li>AAsset_getBuffer()
-: <a class="el" href="group___asset.html#ga553a14512a98542306238c3ce70d344f">asset_manager.h</a>
-</li>
-<li>AAsset_getLength()
-: <a class="el" href="group___asset.html#gaad8ec42e28522ebc72d3a5c357f9a600">asset_manager.h</a>
-</li>
-<li>AAsset_getLength64()
-: <a class="el" href="group___asset.html#ga55c8bc459327d5d23089e6a4b453f3f1">asset_manager.h</a>
-</li>
-<li>AAsset_getRemainingLength()
-: <a class="el" href="group___asset.html#gae806f55cbc4a93ca245f2adfd63d3eee">asset_manager.h</a>
-</li>
-<li>AAsset_getRemainingLength64()
-: <a class="el" href="group___asset.html#ga21e7221d88dcc44106843192b66755b5">asset_manager.h</a>
-</li>
-<li>AAsset_isAllocated()
-: <a class="el" href="group___asset.html#ga20344cb952a77fa1004f592fb1b55124">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_BUFFER
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_RANDOM
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_STREAMING
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_UNKNOWN
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4">asset_manager.h</a>
-</li>
-<li>AAsset_openFileDescriptor()
-: <a class="el" href="group___asset.html#ga1af4ffd050016e99961e24f550981677">asset_manager.h</a>
-</li>
-<li>AAsset_openFileDescriptor64()
-: <a class="el" href="group___asset.html#ga123a44a575f85d91a00a8456dab7bd0a">asset_manager.h</a>
-</li>
-<li>AAsset_read()
-: <a class="el" href="group___asset.html#gaadd86322c1fda5121b6d33745c317fb9">asset_manager.h</a>
-</li>
-<li>AAsset_seek()
-: <a class="el" href="group___asset.html#gacc026a8bedeb1ef80bf12df3b72611a2">asset_manager.h</a>
-</li>
-<li>AAsset_seek64()
-: <a class="el" href="group___asset.html#ga81fbe4368de24a3296ef7a6eba0053c7">asset_manager.h</a>
-</li>
-<li>AAssetDir
-: <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">asset_manager.h</a>
-</li>
-<li>AAssetDir_close()
-: <a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">asset_manager.h</a>
-</li>
-<li>AAssetDir_getNextFileName()
-: <a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">asset_manager.h</a>
-</li>
-<li>AAssetDir_rewind()
-: <a class="el" href="group___asset.html#ga45db6d19ad5e1c0f9b2e6b4059da14b3">asset_manager.h</a>
-</li>
-<li>AAssetManager
-: <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">asset_manager.h</a>
-</li>
-<li>AAssetManager_fromJava()
-: <a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">asset_manager_jni.h</a>
-</li>
-<li>AAssetManager_open()
-: <a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">asset_manager.h</a>
-</li>
-<li>AAssetManager_openDir()
-: <a class="el" href="group___asset.html#gab5b57ff012d6d1024d8bf5d30aedced4">asset_manager.h</a>
-</li>
-<li>AConfiguration
-: <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">configuration.h</a>
-</li>
-<li>AConfiguration_copy()
-: <a class="el" href="group___configuration.html#gaabff04218a0a76afb8d3ea551b001565">configuration.h</a>
-</li>
-<li>AConfiguration_delete()
-: <a class="el" href="group___configuration.html#ga60fe264b97da84d3370eb9e220159e6d">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_DEFAULT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_HIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_LOW
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_MEDIUM
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_NONE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_TV
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XXHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XXXHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec">configuration.h</a>
-</li>
-<li>AConfiguration_diff()
-: <a class="el" href="group___configuration.html#gabfe69b0dccae425a16fe94d084f20402">configuration.h</a>
-</li>
-<li>AConfiguration_fromAssetManager()
-: <a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">configuration.h</a>
-</li>
-<li>AConfiguration_getCountry()
-: <a class="el" href="group___configuration.html#gad2b47f787012a82a67a20e5de5211d46">configuration.h</a>
-</li>
-<li>AConfiguration_getDensity()
-: <a class="el" href="group___configuration.html#ga4c994e0555947340582094c3da32a663">configuration.h</a>
-</li>
-<li>AConfiguration_getKeyboard()
-: <a class="el" href="group___configuration.html#gafd0f76ccd4fe4bda5172b8e0bc6675e4">configuration.h</a>
-</li>
-<li>AConfiguration_getKeysHidden()
-: <a class="el" href="group___configuration.html#ga7a8317ab975f621f3fe62ed1b44f2605">configuration.h</a>
-</li>
-<li>AConfiguration_getLanguage()
-: <a class="el" href="group___configuration.html#ga7b004c13448704afb0ea2040d69468c1">configuration.h</a>
-</li>
-<li>AConfiguration_getLayoutDirection()
-: <a class="el" href="group___configuration.html#ga13dbf2fc9a382c62b391e7de9cf9b468">configuration.h</a>
-</li>
-<li>AConfiguration_getMcc()
-: <a class="el" href="group___configuration.html#ga1e78004237a931086d2ae4bd8324bd30">configuration.h</a>
-</li>
-<li>AConfiguration_getMnc()
-: <a class="el" href="group___configuration.html#ga4783776a4fad4501898472375d781fb9">configuration.h</a>
-</li>
-<li>AConfiguration_getNavHidden()
-: <a class="el" href="group___configuration.html#gafe8d3a9c2f715ea76c8e4a99c2db9eaa">configuration.h</a>
-</li>
-<li>AConfiguration_getNavigation()
-: <a class="el" href="group___configuration.html#gae3ff1541b63f5b9256f7c0ebae372977">configuration.h</a>
-</li>
-<li>AConfiguration_getOrientation()
-: <a class="el" href="group___configuration.html#gaa7d8e3e9871dc925fef3e342a92e4e22">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenHeightDp()
-: <a class="el" href="group___configuration.html#ga9905a4765f8d0d921c476ebce01c7648">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenLong()
-: <a class="el" href="group___configuration.html#gab7d1f5aa59e8fa4db0a1b91bb322034c">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenSize()
-: <a class="el" href="group___configuration.html#ga9d2c1b8731795d8e74be7e23cbc77552">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga61e5fe9612c170c33e1c7e9fb92f2219">configuration.h</a>
-</li>
-<li>AConfiguration_getSdkVersion()
-: <a class="el" href="group___configuration.html#ga4aa7062198e5aacd9fabb04d0453dd91">configuration.h</a>
-</li>
-<li>AConfiguration_getSmallestScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga7fc015e41fad342edba66a003d9848aa">configuration.h</a>
-</li>
-<li>AConfiguration_getTouchscreen()
-: <a class="el" href="group___configuration.html#gad305e6cf86fa915c24212e71bb2bf027">configuration.h</a>
-</li>
-<li>AConfiguration_getUiModeNight()
-: <a class="el" href="group___configuration.html#ga447f16a9e4f8400e5e0328900749ff16">configuration.h</a>
-</li>
-<li>AConfiguration_getUiModeType()
-: <a class="el" href="group___configuration.html#ga1d75777892f38208feb3d2a94a977fcf">configuration.h</a>
-</li>
-<li>AConfiguration_isBetterThan()
-: <a class="el" href="group___configuration.html#gafd2bb31057c8d57efcea7603458d2a8d">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_12KEY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_HIDDEN
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_NOKEYS
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_QWERTY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_SOFT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_LTR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_RTL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LOCALE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4">configuration.h</a>
-</li>
-<li>AConfiguration_match()
-: <a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MCC
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MNC
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MNC_ZERO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_DPAD
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_NONAV
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_TRACKBALL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_WHEEL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea">configuration.h</a>
-</li>
-<li>AConfiguration_new()
-: <a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_LAND
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_PORT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_SQUARE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_HEIGHT_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_LAYOUT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_SIZE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_WIDTH_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_LARGE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_NORMAL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_SMALL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_XLARGE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c">configuration.h</a>
-</li>
-<li>AConfiguration_setCountry()
-: <a class="el" href="group___configuration.html#gac2f5d414a6466634b1639b5c6f8879ac">configuration.h</a>
-</li>
-<li>AConfiguration_setDensity()
-: <a class="el" href="group___configuration.html#ga9217af9858a7166dcb9a877192779eac">configuration.h</a>
-</li>
-<li>AConfiguration_setKeyboard()
-: <a class="el" href="group___configuration.html#ga4ab3429c5505c108c09349f1ddef572f">configuration.h</a>
-</li>
-<li>AConfiguration_setKeysHidden()
-: <a class="el" href="group___configuration.html#ga5a80a02aa10cfa17de0795054e927183">configuration.h</a>
-</li>
-<li>AConfiguration_setLanguage()
-: <a class="el" href="group___configuration.html#ga1f3c6cf6667655f83777acda7387ddff">configuration.h</a>
-</li>
-<li>AConfiguration_setLayoutDirection()
-: <a class="el" href="group___configuration.html#gaaf47215cf551594f8c2a0594419b47e1">configuration.h</a>
-</li>
-<li>AConfiguration_setMcc()
-: <a class="el" href="group___configuration.html#gae6198b4eaf3e34168f4b13b8b5975d93">configuration.h</a>
-</li>
-<li>AConfiguration_setMnc()
-: <a class="el" href="group___configuration.html#gaaf060ef69c3636f62e90ae0b520eecb8">configuration.h</a>
-</li>
-<li>AConfiguration_setNavHidden()
-: <a class="el" href="group___configuration.html#ga67e86e0347596421771af841710308d5">configuration.h</a>
-</li>
-<li>AConfiguration_setNavigation()
-: <a class="el" href="group___configuration.html#gad21dd14fb823a6a80b66132a05ce8913">configuration.h</a>
-</li>
-<li>AConfiguration_setOrientation()
-: <a class="el" href="group___configuration.html#gadcaa8540bad4172a74032143bcaade04">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenHeightDp()
-: <a class="el" href="group___configuration.html#ga6ffac3b41415ec8a3031737ccdcd63b8">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenLong()
-: <a class="el" href="group___configuration.html#gaed853ab7e2bc915591d05997130bc448">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenSize()
-: <a class="el" href="group___configuration.html#ga7bcf05150933ead34a01061d05ad3245">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenWidthDp()
-: <a class="el" href="group___configuration.html#gafc51d45679095965fe3ba1abd402f120">configuration.h</a>
-</li>
-<li>AConfiguration_setSdkVersion()
-: <a class="el" href="group___configuration.html#ga06c66072902ee455011120188ca4810b">configuration.h</a>
-</li>
-<li>AConfiguration_setSmallestScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga6b004c9585671efc5cebd96c1d43c4f0">configuration.h</a>
-</li>
-<li>AConfiguration_setTouchscreen()
-: <a class="el" href="group___configuration.html#ga0d51dbe710c1afe31ece4dd6a8c188ff">configuration.h</a>
-</li>
-<li>AConfiguration_setUiModeNight()
-: <a class="el" href="group___configuration.html#ga08df1e801afbe4a12411e393b8141e42">configuration.h</a>
-</li>
-<li>AConfiguration_setUiModeType()
-: <a class="el" href="group___configuration.html#gaec61e3cf91cd79e8b76a35bbcb15789d">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SMALLEST_SCREEN_SIZE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_FINGER
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_NOTOUCH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_STYLUS
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_APPLIANCE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_CAR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_DESK
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_NORMAL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_TELEVISION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_WATCH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131">configuration.h</a>
-</li>
-<li>ACONFIGURATION_VERSION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b">configuration.h</a>
-</li>
-<li>AHeartRateEvent
-: <a class="el" href="group___sensor.html#gae85b6eac76abe74e6e53d78bb3a4858c">sensor.h</a>
-</li>
-<li>AINPUT_EVENT_TYPE_KEY
-: <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba">input.h</a>
-</li>
-<li>AINPUT_EVENT_TYPE_MOTION
-: <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_ALPHABETIC
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_NONE
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_ORIENTATION
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_PRESSURE
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_SIZE
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOOL_MAJOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOOL_MINOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOUCH_MAJOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOUCH_MINOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_X
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_Y
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332">input.h</a>
-</li>
-<li>AINPUT_SOURCE_ANY
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_BUTTON
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_JOYSTICK
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_MASK
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_NAVIGATION
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_NONE
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_POINTER
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_POSITION
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167">input.h</a>
-</li>
-<li>AINPUT_SOURCE_DPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef">input.h</a>
-</li>
-<li>AINPUT_SOURCE_GAMEPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3">input.h</a>
-</li>
-<li>AINPUT_SOURCE_JOYSTICK
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5">input.h</a>
-</li>
-<li>AINPUT_SOURCE_KEYBOARD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d">input.h</a>
-</li>
-<li>AINPUT_SOURCE_MOUSE
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86">input.h</a>
-</li>
-<li>AINPUT_SOURCE_STYLUS
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCH_NAVIGATION
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCHPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCHSCREEN
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TRACKBALL
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6">input.h</a>
-</li>
-<li>AINPUT_SOURCE_UNKNOWN
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454">input.h</a>
-</li>
-<li>AInputEvent
-: <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">input.h</a>
-</li>
-<li>AInputEvent_getDeviceId()
-: <a class="el" href="group___input.html#ga9dd3fd81e51dbfde19ab861541242aa1">input.h</a>
-</li>
-<li>AInputEvent_getSource()
-: <a class="el" href="group___input.html#gac90d4b497669dbc709ec9650db4e49be">input.h</a>
-</li>
-<li>AInputEvent_getType()
-: <a class="el" href="group___input.html#ga8292ae06aa8120c52d7380d228600b9c">input.h</a>
-</li>
-<li>AInputQueue
-: <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">input.h</a>
-</li>
-<li>AInputQueue_attachLooper()
-: <a class="el" href="group___input.html#ga900711156bfb58d1a4b158da7874930f">input.h</a>
-</li>
-<li>AInputQueue_detachLooper()
-: <a class="el" href="group___input.html#gaeebe9f83392ac79b31ca40a6fd4dbeff">input.h</a>
-</li>
-<li>AInputQueue_finishEvent()
-: <a class="el" href="group___input.html#ga17e87e0f35d47d729eac31a0dfb1ac33">input.h</a>
-</li>
-<li>AInputQueue_getEvent()
-: <a class="el" href="group___input.html#ga88de12e2b39787ba7d3e4ce2ea46a48c">input.h</a>
-</li>
-<li>AInputQueue_hasEvents()
-: <a class="el" href="group___input.html#ga2b72ad6ab5ef656e8c41163aa7871c96">input.h</a>
-</li>
-<li>AInputQueue_preDispatchEvent()
-: <a class="el" href="group___input.html#gadecd32e6c7aefa4a508b355550d3eaa9">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_DOWN
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_MULTIPLE
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_UP
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_CANCELED
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_CANCELED_LONG_PRESS
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_EDITOR_ACTION
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_FALLBACK
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_FROM_SYSTEM
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_KEEP_TOUCH_MODE
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_LONG_PRESS
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_SOFT_KEYBOARD
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_TRACKING
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_WOKE_HERE
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba">input.h</a>
-</li>
-<li>AKEY_STATE_DOWN
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c">input.h</a>
-</li>
-<li>AKEY_STATE_UNKNOWN
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd">input.h</a>
-</li>
-<li>AKEY_STATE_UP
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28">input.h</a>
-</li>
-<li>AKEY_STATE_VIRTUAL
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192">input.h</a>
-</li>
-<li>AKEYCODE_0
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79">keycodes.h</a>
-</li>
-<li>AKEYCODE_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0">keycodes.h</a>
-</li>
-<li>AKEYCODE_11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5">keycodes.h</a>
-</li>
-<li>AKEYCODE_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db">keycodes.h</a>
-</li>
-<li>AKEYCODE_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551">keycodes.h</a>
-</li>
-<li>AKEYCODE_3D_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c">keycodes.h</a>
-</li>
-<li>AKEYCODE_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b">keycodes.h</a>
-</li>
-<li>AKEYCODE_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e">keycodes.h</a>
-</li>
-<li>AKEYCODE_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079">keycodes.h</a>
-</li>
-<li>AKEYCODE_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff">keycodes.h</a>
-</li>
-<li>AKEYCODE_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab">keycodes.h</a>
-</li>
-<li>AKEYCODE_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d">keycodes.h</a>
-</li>
-<li>AKEYCODE_A
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014">keycodes.h</a>
-</li>
-<li>AKEYCODE_ALT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">keycodes.h</a>
-</li>
-<li>AKEYCODE_ALT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d">keycodes.h</a>
-</li>
-<li>AKEYCODE_APOSTROPHE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1">keycodes.h</a>
-</li>
-<li>AKEYCODE_APP_SWITCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad">keycodes.h</a>
-</li>
-<li>AKEYCODE_ASSIST
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838">keycodes.h</a>
-</li>
-<li>AKEYCODE_AT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16">keycodes.h</a>
-</li>
-<li>AKEYCODE_AVR_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504">keycodes.h</a>
-</li>
-<li>AKEYCODE_AVR_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b">keycodes.h</a>
-</li>
-<li>AKEYCODE_B
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758">keycodes.h</a>
-</li>
-<li>AKEYCODE_BACK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_BACKSLASH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701">keycodes.h</a>
-</li>
-<li>AKEYCODE_BOOKMARK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_BREAK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23">keycodes.h</a>
-</li>
-<li>AKEYCODE_BRIGHTNESS_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650">keycodes.h</a>
-</li>
-<li>AKEYCODE_BRIGHTNESS_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_10
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_13
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_14
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_15
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_16
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_A
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_B
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_C
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_L1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_L2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_R1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_R2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_SELECT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_START
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_THUMBL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_THUMBR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_X
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_Y
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_Z
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f">keycodes.h</a>
-</li>
-<li>AKEYCODE_C
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALCULATOR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALENDAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAMERA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAPS_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAPTIONS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994">keycodes.h</a>
-</li>
-<li>AKEYCODE_CHANNEL_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f">keycodes.h</a>
-</li>
-<li>AKEYCODE_CHANNEL_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c">keycodes.h</a>
-</li>
-<li>AKEYCODE_CLEAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901">keycodes.h</a>
-</li>
-<li>AKEYCODE_COMMA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227">keycodes.h</a>
-</li>
-<li>AKEYCODE_CONTACTS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10">keycodes.h</a>
-</li>
-<li>AKEYCODE_CTRL_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1">keycodes.h</a>
-</li>
-<li>AKEYCODE_CTRL_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c">keycodes.h</a>
-</li>
-<li>AKEYCODE_D
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51">keycodes.h</a>
-</li>
-<li>AKEYCODE_DEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_CENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e">keycodes.h</a>
-</li>
-<li>AKEYCODE_DVR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60">keycodes.h</a>
-</li>
-<li>AKEYCODE_E
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_EISU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENDCALL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENVELOPE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c">keycodes.h</a>
-</li>
-<li>AKEYCODE_EQUALS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498">keycodes.h</a>
-</li>
-<li>AKEYCODE_ESCAPE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6">keycodes.h</a>
-</li>
-<li>AKEYCODE_EXPLORER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083">keycodes.h</a>
-</li>
-<li>AKEYCODE_F
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a">keycodes.h</a>
-</li>
-<li>AKEYCODE_F1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf">keycodes.h</a>
-</li>
-<li>AKEYCODE_F10
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474">keycodes.h</a>
-</li>
-<li>AKEYCODE_F11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22">keycodes.h</a>
-</li>
-<li>AKEYCODE_F12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7">keycodes.h</a>
-</li>
-<li>AKEYCODE_F2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84">keycodes.h</a>
-</li>
-<li>AKEYCODE_F3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085">keycodes.h</a>
-</li>
-<li>AKEYCODE_F4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf">keycodes.h</a>
-</li>
-<li>AKEYCODE_F5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937">keycodes.h</a>
-</li>
-<li>AKEYCODE_F6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60">keycodes.h</a>
-</li>
-<li>AKEYCODE_F7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c">keycodes.h</a>
-</li>
-<li>AKEYCODE_F8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8">keycodes.h</a>
-</li>
-<li>AKEYCODE_F9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9">keycodes.h</a>
-</li>
-<li>AKEYCODE_FOCUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187">keycodes.h</a>
-</li>
-<li>AKEYCODE_FORWARD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a">keycodes.h</a>
-</li>
-<li>AKEYCODE_FORWARD_DEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">keycodes.h</a>
-</li>
-<li>AKEYCODE_FUNCTION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722">keycodes.h</a>
-</li>
-<li>AKEYCODE_G
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9">keycodes.h</a>
-</li>
-<li>AKEYCODE_GRAVE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171">keycodes.h</a>
-</li>
-<li>AKEYCODE_GUIDE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233">keycodes.h</a>
-</li>
-<li>AKEYCODE_H
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc">keycodes.h</a>
-</li>
-<li>AKEYCODE_HEADSETHOOK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33">keycodes.h</a>
-</li>
-<li>AKEYCODE_HELP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9">keycodes.h</a>
-</li>
-<li>AKEYCODE_HENKAN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02">keycodes.h</a>
-</li>
-<li>AKEYCODE_HOME
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd">keycodes.h</a>
-</li>
-<li>AKEYCODE_I
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b">keycodes.h</a>
-</li>
-<li>AKEYCODE_INFO
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649">keycodes.h</a>
-</li>
-<li>AKEYCODE_INSERT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644">keycodes.h</a>
-</li>
-<li>AKEYCODE_J
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a">keycodes.h</a>
-</li>
-<li>AKEYCODE_K
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932">keycodes.h</a>
-</li>
-<li>AKEYCODE_KANA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531">keycodes.h</a>
-</li>
-<li>AKEYCODE_KATAKANA_HIRAGANA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28">keycodes.h</a>
-</li>
-<li>AKEYCODE_L
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b">keycodes.h</a>
-</li>
-<li>AKEYCODE_LANGUAGE_SWITCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff">keycodes.h</a>
-</li>
-<li>AKEYCODE_LAST_CHANNEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9">keycodes.h</a>
-</li>
-<li>AKEYCODE_LEFT_BRACKET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708">keycodes.h</a>
-</li>
-<li>AKEYCODE_M
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MANNER_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_AUDIO_TRACK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_CLOSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_EJECT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_FAST_FORWARD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_NEXT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PAUSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PLAY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PLAY_PAUSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PREVIOUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_RECORD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_REWIND
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_STOP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_TOP_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a">keycodes.h</a>
-</li>
-<li>AKEYCODE_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76">keycodes.h</a>
-</li>
-<li>AKEYCODE_META_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58">keycodes.h</a>
-</li>
-<li>AKEYCODE_META_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8">keycodes.h</a>
-</li>
-<li>AKEYCODE_MINUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca">keycodes.h</a>
-</li>
-<li>AKEYCODE_MOVE_END
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a">keycodes.h</a>
-</li>
-<li>AKEYCODE_MOVE_HOME
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUHENKAN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUSIC
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUTE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">keycodes.h</a>
-</li>
-<li>AKEYCODE_N
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36">keycodes.h</a>
-</li>
-<li>AKEYCODE_NOTIFICATION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUM
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUM_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_0
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_ADD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_COMMA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_DIVIDE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_DOT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_ENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_EQUALS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_LEFT_PAREN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_MULTIPLY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_RIGHT_PAREN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_SUBTRACT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe">keycodes.h</a>
-</li>
-<li>AKEYCODE_O
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb">keycodes.h</a>
-</li>
-<li>AKEYCODE_P
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAGE_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAGE_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAIRING
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553">keycodes.h</a>
-</li>
-<li>AKEYCODE_PERIOD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04">keycodes.h</a>
-</li>
-<li>AKEYCODE_PICTSYMBOLS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41">keycodes.h</a>
-</li>
-<li>AKEYCODE_PLUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495">keycodes.h</a>
-</li>
-<li>AKEYCODE_POUND
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9">keycodes.h</a>
-</li>
-<li>AKEYCODE_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_BLUE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_GREEN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_RED
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_YELLOW
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4">keycodes.h</a>
-</li>
-<li>AKEYCODE_Q
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206">keycodes.h</a>
-</li>
-<li>AKEYCODE_R
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532">keycodes.h</a>
-</li>
-<li>AKEYCODE_RIGHT_BRACKET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a">keycodes.h</a>
-</li>
-<li>AKEYCODE_RO
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4">keycodes.h</a>
-</li>
-<li>AKEYCODE_S
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6">keycodes.h</a>
-</li>
-<li>AKEYCODE_SCROLL_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc">keycodes.h</a>
-</li>
-<li>AKEYCODE_SEARCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7">keycodes.h</a>
-</li>
-<li>AKEYCODE_SEMICOLON
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391">keycodes.h</a>
-</li>
-<li>AKEYCODE_SETTINGS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159">keycodes.h</a>
-</li>
-<li>AKEYCODE_SHIFT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4">keycodes.h</a>
-</li>
-<li>AKEYCODE_SHIFT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212">keycodes.h</a>
-</li>
-<li>AKEYCODE_SLASH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a">keycodes.h</a>
-</li>
-<li>AKEYCODE_SLEEP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207">keycodes.h</a>
-</li>
-<li>AKEYCODE_SOFT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899">keycodes.h</a>
-</li>
-<li>AKEYCODE_SOFT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae">keycodes.h</a>
-</li>
-<li>AKEYCODE_SPACE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7">keycodes.h</a>
-</li>
-<li>AKEYCODE_STAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305">keycodes.h</a>
-</li>
-<li>AKEYCODE_STB_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5">keycodes.h</a>
-</li>
-<li>AKEYCODE_STB_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d">keycodes.h</a>
-</li>
-<li>AKEYCODE_SWITCH_CHARSET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3">keycodes.h</a>
-</li>
-<li>AKEYCODE_SYM
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_SYSRQ
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84">keycodes.h</a>
-</li>
-<li>AKEYCODE_T
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2">keycodes.h</a>
-</li>
-<li>AKEYCODE_TAB
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_ANTENNA_CABLE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_CONTENTS_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_DATA_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPONENT_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPONENT_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPOSITE_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPOSITE_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_VGA_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_MEDIA_CONTEXT_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_NETWORK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_NUMBER_ENTRY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_RADIO_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_BS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_CS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TELETEXT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TERRESTRIAL_ANALOG
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TERRESTRIAL_DIGITAL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TIMER_PROGRAMMING
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_ZOOM_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4">keycodes.h</a>
-</li>
-<li>AKEYCODE_U
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595">keycodes.h</a>
-</li>
-<li>AKEYCODE_UNKNOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_V
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOICE_ASSIST
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_MUTE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882">keycodes.h</a>
-</li>
-<li>AKEYCODE_W
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425">keycodes.h</a>
-</li>
-<li>AKEYCODE_WAKEUP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429">keycodes.h</a>
-</li>
-<li>AKEYCODE_WINDOW
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8">keycodes.h</a>
-</li>
-<li>AKEYCODE_X
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5">keycodes.h</a>
-</li>
-<li>AKEYCODE_Y
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b">keycodes.h</a>
-</li>
-<li>AKEYCODE_YEN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b">keycodes.h</a>
-</li>
-<li>AKEYCODE_Z
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZENKAKU_HANKAKU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZOOM_IN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZOOM_OUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535">keycodes.h</a>
-</li>
-<li>AKeyEvent_getAction()
-: <a class="el" href="group___input.html#ga36ec0b59f98f86a7ca263ba91279896d">input.h</a>
-</li>
-<li>AKeyEvent_getDownTime()
-: <a class="el" href="group___input.html#gaf475b6f0860bdfca4ceea7bc46eab1a9">input.h</a>
-</li>
-<li>AKeyEvent_getEventTime()
-: <a class="el" href="group___input.html#gae3eac7d68195d1767c947ca267842696">input.h</a>
-</li>
-<li>AKeyEvent_getFlags()
-: <a class="el" href="group___input.html#ga2a18e98efe0c4ccb6f39bb13c555010e">input.h</a>
-</li>
-<li>AKeyEvent_getKeyCode()
-: <a class="el" href="group___input.html#ga6b01ecd60018a5445f4917a861ca9466">input.h</a>
-</li>
-<li>AKeyEvent_getMetaState()
-: <a class="el" href="group___input.html#gabdda62b40b22727af2fb41740bf4787b">input.h</a>
-</li>
-<li>AKeyEvent_getRepeatCount()
-: <a class="el" href="group___input.html#ga5358fe3ebbd4b5b2f88a4ad2eba6f885">input.h</a>
-</li>
-<li>AKeyEvent_getScanCode()
-: <a class="el" href="group___input.html#ga4a0a846b7a195aeb290dfcd2250137d9">input.h</a>
-</li>
-<li>ALooper
-: <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">looper.h</a>
-</li>
-<li>ALooper_acquire()
-: <a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">looper.h</a>
-</li>
-<li>ALooper_addFd()
-: <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">looper.h</a>
-</li>
-<li>ALooper_callbackFunc
-: <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_ERROR
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_HANGUP
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_INPUT
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_INVALID
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_OUTPUT
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d">looper.h</a>
-</li>
-<li>ALooper_forThread()
-: <a class="el" href="group___looper.html#ga741ccd90a0eb9209c6bddf2326d89e4a">looper.h</a>
-</li>
-<li>ALOOPER_POLL_CALLBACK
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2">looper.h</a>
-</li>
-<li>ALOOPER_POLL_ERROR
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4">looper.h</a>
-</li>
-<li>ALOOPER_POLL_TIMEOUT
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443">looper.h</a>
-</li>
-<li>ALOOPER_POLL_WAKE
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47">looper.h</a>
-</li>
-<li>ALooper_pollAll()
-: <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">looper.h</a>
-</li>
-<li>ALooper_pollOnce()
-: <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">looper.h</a>
-</li>
-<li>ALooper_prepare()
-: <a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">looper.h</a>
-</li>
-<li>ALOOPER_PREPARE_ALLOW_NON_CALLBACKS
-: <a class="el" href="group___looper.html#ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb">looper.h</a>
-</li>
-<li>ALooper_release()
-: <a class="el" href="group___looper.html#gab723c3c2ac2c66bc695913a194073727">looper.h</a>
-</li>
-<li>ALooper_removeFd()
-: <a class="el" href="group___looper.html#gaf7d68ed05698b251489b4f6c8e54daad">looper.h</a>
-</li>
-<li>ALooper_wake()
-: <a class="el" href="group___looper.html#gab2585652f8ae2e2444979194ebe32aaf">looper.h</a>
-</li>
-<li>AMETA_ALT_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df">input.h</a>
-</li>
-<li>AMETA_ALT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881">input.h</a>
-</li>
-<li>AMETA_ALT_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a">input.h</a>
-</li>
-<li>AMETA_CAPS_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37">input.h</a>
-</li>
-<li>AMETA_CTRL_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6">input.h</a>
-</li>
-<li>AMETA_CTRL_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5">input.h</a>
-</li>
-<li>AMETA_CTRL_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419">input.h</a>
-</li>
-<li>AMETA_FUNCTION_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1">input.h</a>
-</li>
-<li>AMETA_META_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f">input.h</a>
-</li>
-<li>AMETA_META_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a">input.h</a>
-</li>
-<li>AMETA_META_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf">input.h</a>
-</li>
-<li>AMETA_NONE
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d">input.h</a>
-</li>
-<li>AMETA_NUM_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6">input.h</a>
-</li>
-<li>AMETA_SCROLL_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a">input.h</a>
-</li>
-<li>AMETA_SHIFT_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7">input.h</a>
-</li>
-<li>AMETA_SHIFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197">input.h</a>
-</li>
-<li>AMETA_SHIFT_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1">input.h</a>
-</li>
-<li>AMETA_SYM_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea">input.h</a>
-</li>
-<li>AMetaDataEvent
-: <a class="el" href="group___sensor.html#ga0378daec23b2d8a70438ef7c3912475f">sensor.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_CANCEL
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_DOWN
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_ENTER
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_EXIT
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_MOVE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_MASK
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_MOVE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_OUTSIDE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_DOWN
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_INDEX_MASK
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT
-: <a class="el" href="group___input.html#gaeb170c0fbeeed1d999160566f09f169e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_UP
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_SCROLL
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_UP
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_BRAKE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_DISTANCE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GAS
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_1
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_10
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_11
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_12
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_13
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_14
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_15
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_16
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_2
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_3
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_4
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_5
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_6
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_7
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_8
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_9
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HAT_X
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HAT_Y
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HSCROLL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_LTRIGGER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_ORIENTATION
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_PRESSURE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RTRIGGER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RUDDER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RX
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RY
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RZ
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_SIZE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_THROTTLE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TILT
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOOL_MAJOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOOL_MINOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOUCH_MAJOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOUCH_MINOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_VSCROLL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_WHEEL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_X
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_Y
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_Z
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_BACK
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_FORWARD
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_PRIMARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_SECONDARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_TERTIARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_BOTTOM
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_LEFT
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_NONE
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_RIGHT
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_TOP
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757">input.h</a>
-</li>
-<li>AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED
-: <a class="el" href="group___input.html#ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_ERASER
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_FINGER
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_MOUSE
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_STYLUS
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_UNKNOWN
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208">input.h</a>
-</li>
-<li>AMotionEvent_getAction()
-: <a class="el" href="group___input.html#ga73ea2093cc2343675ac43dd08bef4247">input.h</a>
-</li>
-<li>AMotionEvent_getAxisValue()
-: <a class="el" href="group___input.html#ga9d364cdcebf85237f599b25861f38c21">input.h</a>
-</li>
-<li>AMotionEvent_getButtonState()
-: <a class="el" href="group___input.html#ga1aa7ebb749416491b6f0c55ae87ddf49">input.h</a>
-</li>
-<li>AMotionEvent_getDownTime()
-: <a class="el" href="group___input.html#gad44be7697e68891688cd7bcfaffec209">input.h</a>
-</li>
-<li>AMotionEvent_getEdgeFlags()
-: <a class="el" href="group___input.html#gad7e1f0caa4c27194d4a8756a18432299">input.h</a>
-</li>
-<li>AMotionEvent_getEventTime()
-: <a class="el" href="group___input.html#ga7e13fbf3cff0700b0b620284ebdd3a33">input.h</a>
-</li>
-<li>AMotionEvent_getFlags()
-: <a class="el" href="group___input.html#ga2891d19197c070207098fa48adeb35af">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalAxisValue()
-: <a class="el" href="group___input.html#ga7ca740e1324f3cdb934252dce0c982d0">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalEventTime()
-: <a class="el" href="group___input.html#ga523f1a760754206965b42b08d62f9346">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalOrientation()
-: <a class="el" href="group___input.html#gaab9cb8fa670175ecc73c75eed4e5cd3f">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalPressure()
-: <a class="el" href="group___input.html#gaa8e9352ee5b043b3e1b6e2062d491010">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalRawX()
-: <a class="el" href="group___input.html#ga5d36c2e7420001c86ae2aa1168fe6f83">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalRawY()
-: <a class="el" href="group___input.html#ga6deb0e7690a93aa53e5872c2691b69fe">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalSize()
-: <a class="el" href="group___input.html#ga0a04bb7ec12928db7e62645e7fad3a9e">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalToolMajor()
-: <a class="el" href="group___input.html#ga160a5830e791e8c42ae97f51b92233d2">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalToolMinor()
-: <a class="el" href="group___input.html#gafe01aa7576a6d1bce750fb8482355849">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalTouchMajor()
-: <a class="el" href="group___input.html#gaf437f223668b97f19ebdbad4b9cf4483">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalTouchMinor()
-: <a class="el" href="group___input.html#ga126715d966e989652aa1ae5d38e0e898">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalX()
-: <a class="el" href="group___input.html#ga49a8ca89ff377b5ed2355e8d7220ae07">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalY()
-: <a class="el" href="group___input.html#ga30fc4e5d3ce144955859f8c97b51b73d">input.h</a>
-</li>
-<li>AMotionEvent_getHistorySize()
-: <a class="el" href="group___input.html#ga0aef34c236db6d7a56a50bf590be7bcc">input.h</a>
-</li>
-<li>AMotionEvent_getMetaState()
-: <a class="el" href="group___input.html#ga5644f0d952e3dea57ba9f7ce51dff2bb">input.h</a>
-</li>
-<li>AMotionEvent_getOrientation()
-: <a class="el" href="group___input.html#gad28422998da15b789edcba6b8bc5d615">input.h</a>
-</li>
-<li>AMotionEvent_getPointerCount()
-: <a class="el" href="group___input.html#ga612e68d104adbc6d14d87510e8066bd8">input.h</a>
-</li>
-<li>AMotionEvent_getPointerId()
-: <a class="el" href="group___input.html#ga599e21a79c706807243a8ee31b116138">input.h</a>
-</li>
-<li>AMotionEvent_getPressure()
-: <a class="el" href="group___input.html#ga97fcaa6cd08c9d54b35711e482e06c8d">input.h</a>
-</li>
-<li>AMotionEvent_getRawX()
-: <a class="el" href="group___input.html#gafe45e29ef138cc30592237ce479837f0">input.h</a>
-</li>
-<li>AMotionEvent_getRawY()
-: <a class="el" href="group___input.html#ga5a09c3d742a93270861aa05f24257c23">input.h</a>
-</li>
-<li>AMotionEvent_getSize()
-: <a class="el" href="group___input.html#ga9b1f3c3df46b5269f9e74d2dd70c88a8">input.h</a>
-</li>
-<li>AMotionEvent_getToolMajor()
-: <a class="el" href="group___input.html#gac04099690f278a6a27191c2027b12a77">input.h</a>
-</li>
-<li>AMotionEvent_getToolMinor()
-: <a class="el" href="group___input.html#ga2222d459759ba4a8269647012d2718fb">input.h</a>
-</li>
-<li>AMotionEvent_getToolType()
-: <a class="el" href="group___input.html#ga2babe4e2e79952e004538f8f1878649c">input.h</a>
-</li>
-<li>AMotionEvent_getTouchMajor()
-: <a class="el" href="group___input.html#ga9ac18fe19534e07d80441582f489d471">input.h</a>
-</li>
-<li>AMotionEvent_getTouchMinor()
-: <a class="el" href="group___input.html#ga65f71e257b5fcb29dcbaaf59b3fcb3a7">input.h</a>
-</li>
-<li>AMotionEvent_getX()
-: <a class="el" href="group___input.html#ga22e255a5fa52761cd92ce78af91e9757">input.h</a>
-</li>
-<li>AMotionEvent_getXOffset()
-: <a class="el" href="group___input.html#ga7a94ce622eb78a17737fd8bddbf86e21">input.h</a>
-</li>
-<li>AMotionEvent_getXPrecision()
-: <a class="el" href="group___input.html#ga81a9be07673a01f43fd0241c7b4c254f">input.h</a>
-</li>
-<li>AMotionEvent_getY()
-: <a class="el" href="group___input.html#ga113f58a37e41f2a6c3007d68418edfa6">input.h</a>
-</li>
-<li>AMotionEvent_getYOffset()
-: <a class="el" href="group___input.html#ga7f6bd2c12d912f502c245b6ced6d3704">input.h</a>
-</li>
-<li>AMotionEvent_getYPrecision()
-: <a class="el" href="group___input.html#gae311e6e28bce4be905526f9ea71278ed">input.h</a>
-</li>
-<li>ANativeActivity
-: <a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">native_activity.h</a>
-</li>
-<li>ANativeActivity_createFunc
-: <a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">native_activity.h</a>
-</li>
-<li>ANativeActivity_finish()
-: <a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY
-: <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS
-: <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">native_activity.h</a>
-</li>
-<li>ANativeActivity_hideSoftInput()
-: <a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">native_activity.h</a>
-</li>
-<li>ANativeActivity_onCreate
-: <a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">native_activity.h</a>
-</li>
-<li>ANativeActivity_setWindowFlags()
-: <a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">native_activity.h</a>
-</li>
-<li>ANativeActivity_setWindowFormat()
-: <a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED
-: <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT
-: <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">native_activity.h</a>
-</li>
-<li>ANativeActivity_showSoftInput()
-: <a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">native_activity.h</a>
-</li>
-<li>ANativeActivityCallbacks
-: <a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">native_activity.h</a>
-</li>
-<li>ANativeWindow
-: <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">native_window.h</a>
-</li>
-<li>ANativeWindow_acquire()
-: <a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">native_window.h</a>
-</li>
-<li>ANativeWindow_Buffer
-: <a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">native_window.h</a>
-</li>
-<li>ANativeWindow_fromSurface()
-: <a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">native_window_jni.h</a>
-</li>
-<li>ANativeWindow_getFormat()
-: <a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">native_window.h</a>
-</li>
-<li>ANativeWindow_getHeight()
-: <a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">native_window.h</a>
-</li>
-<li>ANativeWindow_getWidth()
-: <a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">native_window.h</a>
-</li>
-<li>ANativeWindow_lock()
-: <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">native_window.h</a>
-</li>
-<li>ANativeWindow_release()
-: <a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">native_window.h</a>
-</li>
-<li>ANativeWindow_setBuffersGeometry()
-: <a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">native_window.h</a>
-</li>
-<li>ANativeWindow_unlockAndPost()
-: <a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">native_window.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_A_8
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_NONE
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGB_565
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGBA_4444
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGBA_8888
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_ALLOCATION_FAILED
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_BAD_PARAMETER
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_JNI_EXCEPTION
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_SUCCESS
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESUT_SUCCESS
-: <a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">bitmap.h</a>
-</li>
-<li>AndroidBitmap_getInfo()
-: <a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">bitmap.h</a>
-</li>
-<li>AndroidBitmap_lockPixels()
-: <a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">bitmap.h</a>
-</li>
-<li>AndroidBitmap_unlockPixels()
-: <a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">bitmap.h</a>
-</li>
-<li>AndroidBitmapFormat
-: <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">bitmap.h</a>
-</li>
-<li>AOBB_STATE_ERROR_ALREADY_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_COULD_NOT_MOUNT
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_COULD_NOT_UNMOUNT
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_INTERNAL
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_NOT_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_PERMISSION_DENIED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_UNMOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">storage_manager.h</a>
-</li>
-<li>AObbInfo
-: <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">obb.h</a>
-</li>
-<li>AObbInfo_delete()
-: <a class="el" href="group___storage.html#gaec5a4428008f545e829486099298031a">obb.h</a>
-</li>
-<li>AObbInfo_getFlags()
-: <a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">obb.h</a>
-</li>
-<li>AObbInfo_getPackageName()
-: <a class="el" href="group___storage.html#ga1ec7eee61541fa5a9b578801a35b9cf3">obb.h</a>
-</li>
-<li>AObbInfo_getVersion()
-: <a class="el" href="group___storage.html#gacd8471c6d866cffe4a32f3b5997c782c">obb.h</a>
-</li>
-<li>AOBBINFO_OVERLAY
-: <a class="el" href="group___storage.html#ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a">obb.h</a>
-</li>
-<li>AObbScanner_getObbInfo()
-: <a class="el" href="group___storage.html#ga7beb4f82e3bf9a4b8197917f92ac4d5e">obb.h</a>
-</li>
-<li>ARect
-: <a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">rect.h</a>
-</li>
-<li>AREPORTING_MODE_CONTINUOUS
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_ON_CHANGE
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_ONE_SHOT
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_SPECIAL_TRIGGER
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7">sensor.h</a>
-</li>
-<li>ASensor
-: <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">sensor.h</a>
-</li>
-<li>ASensor_getFifoMaxEventCount()
-: <a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">sensor.h</a>
-</li>
-<li>ASensor_getFifoReservedEventCount()
-: <a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">sensor.h</a>
-</li>
-<li>ASensor_getMinDelay()
-: <a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">sensor.h</a>
-</li>
-<li>ASensor_getName()
-: <a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">sensor.h</a>
-</li>
-<li>ASensor_getReportingMode()
-: <a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">sensor.h</a>
-</li>
-<li>ASensor_getResolution()
-: <a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">sensor.h</a>
-</li>
-<li>ASensor_getStringType()
-: <a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">sensor.h</a>
-</li>
-<li>ASensor_getType()
-: <a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">sensor.h</a>
-</li>
-<li>ASensor_getVendor()
-: <a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">sensor.h</a>
-</li>
-<li>ASensor_isWakeUpSensor()
-: <a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">sensor.h</a>
-</li>
-<li>ASENSOR_MAGNETIC_FIELD_EARTH_MAX
-: <a class="el" href="group___sensor.html#gaf8b57b13c6432bc6136aac0ad3813d63">sensor.h</a>
-</li>
-<li>ASENSOR_MAGNETIC_FIELD_EARTH_MIN
-: <a class="el" href="group___sensor.html#ga4423a712e27b6d5a57d138796892886d">sensor.h</a>
-</li>
-<li>ASENSOR_STANDARD_GRAVITY
-: <a class="el" href="group___sensor.html#ga5129cb9e4091fc3474e246d5f950e52b">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_HIGH
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_LOW
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_MEDIUM
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_NO_CONTACT
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_UNRELIABLE
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_ACCELEROMETER
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_GYROSCOPE
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_LIGHT
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_MAGNETIC_FIELD
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_PROXIMITY
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">sensor.h</a>
-</li>
-<li>ASensorEvent
-: <a class="el" href="group___sensor.html#ga6bb167c45f0ef0a94d8f178d227e781f">sensor.h</a>
-</li>
-<li>ASensorEventQueue
-: <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">sensor.h</a>
-</li>
-<li>ASensorEventQueue_disableSensor()
-: <a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">sensor.h</a>
-</li>
-<li>ASensorEventQueue_enableSensor()
-: <a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">sensor.h</a>
-</li>
-<li>ASensorEventQueue_getEvents()
-: <a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">sensor.h</a>
-</li>
-<li>ASensorEventQueue_hasEvents()
-: <a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">sensor.h</a>
-</li>
-<li>ASensorEventQueue_setEventRate()
-: <a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">sensor.h</a>
-</li>
-<li>ASensorList
-: <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">sensor.h</a>
-</li>
-<li>ASensorManager
-: <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">sensor.h</a>
-</li>
-<li>ASensorManager_createEventQueue()
-: <a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">sensor.h</a>
-</li>
-<li>ASensorManager_destroyEventQueue()
-: <a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">sensor.h</a>
-</li>
-<li>ASensorManager_getDefaultSensor()
-: <a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">sensor.h</a>
-</li>
-<li>ASensorManager_getDefaultSensorEx()
-: <a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">sensor.h</a>
-</li>
-<li>ASensorManager_getInstance()
-: <a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">sensor.h</a>
-</li>
-<li>ASensorManager_getSensorList()
-: <a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">sensor.h</a>
-</li>
-<li>ASensorRef
-: <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">sensor.h</a>
-</li>
-<li>ASensorVector
-: <a class="el" href="group___sensor.html#ga207e807f9e18271f6a763e57232b409f">sensor.h</a>
-</li>
-<li>AStorageManager
-: <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">storage_manager.h</a>
-</li>
-<li>AStorageManager_delete()
-: <a class="el" href="group___storage.html#ga184c06dd9cec0f21db138167d6b331ed">storage_manager.h</a>
-</li>
-<li>AStorageManager_getMountedObbPath()
-: <a class="el" href="group___storage.html#gad5c90305d627e0c768da37cb3e9f08c4">storage_manager.h</a>
-</li>
-<li>AStorageManager_isObbMounted()
-: <a class="el" href="group___storage.html#ga7572f2c650fc16cce1b0ab94e913a1ba">storage_manager.h</a>
-</li>
-<li>AStorageManager_mountObb()
-: <a class="el" href="group___storage.html#ga61bebaf43e57b4b7f57e7a24a62e9e3d">storage_manager.h</a>
-</li>
-<li>AStorageManager_new()
-: <a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">storage_manager.h</a>
-</li>
-<li>AStorageManager_obbCallbackFunc
-: <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">storage_manager.h</a>
-</li>
-<li>AStorageManager_unmountObb()
-: <a class="el" href="group___storage.html#ga4c32c8d2c780016fa36097d833b57809">storage_manager.h</a>
-</li>
-<li>AUncalibratedEvent
-: <a class="el" href="group___sensor.html#ga24acc545b908dd24cadc44c5e0760b3b">sensor.h</a>
-</li>
-<li>AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">window.h</a>
-</li>
-<li>AWINDOW_FLAG_ALT_FOCUSABLE_IM
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">window.h</a>
-</li>
-<li>AWINDOW_FLAG_BLUR_BEHIND
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DIM_BEHIND
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DISMISS_KEYGUARD
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DITHER
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">window.h</a>
-</li>
-<li>AWINDOW_FLAG_FORCE_NOT_FULLSCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">window.h</a>
-</li>
-<li>AWINDOW_FLAG_FULLSCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">window.h</a>
-</li>
-<li>AWINDOW_FLAG_IGNORE_CHEEK_PRESSES
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">window.h</a>
-</li>
-<li>AWINDOW_FLAG_KEEP_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_IN_SCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_INSET_DECOR
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_NO_LIMITS
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_FOCUSABLE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_TOUCH_MODAL
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_TOUCHABLE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SCALED
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SECURE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SHOW_WALLPAPER
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SHOW_WHEN_LOCKED
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">window.h</a>
-</li>
-<li>AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">window.h</a>
-</li>
-<li>AWINDOW_FLAG_TURN_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">window.h</a>
-</li>
-<li>AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">window.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_defs.jd b/docs/html/ndk/reference/globals_defs.jd
deleted file mode 100644
index 8d04efb..0000000
--- a/docs/html/ndk/reference/globals_defs.jd
+++ /dev/null
@@ -1,24 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;<ul>
-<li>AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT
-: <a class="el" href="group___input.html#gaeb170c0fbeeed1d999160566f09f169e">input.h</a>
-</li>
-<li>ANDROID_BITMAP_RESUT_SUCCESS
-: <a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">bitmap.h</a>
-</li>
-<li>ASENSOR_MAGNETIC_FIELD_EARTH_MAX
-: <a class="el" href="group___sensor.html#gaf8b57b13c6432bc6136aac0ad3813d63">sensor.h</a>
-</li>
-<li>ASENSOR_MAGNETIC_FIELD_EARTH_MIN
-: <a class="el" href="group___sensor.html#ga4423a712e27b6d5a57d138796892886d">sensor.h</a>
-</li>
-<li>ASENSOR_STANDARD_GRAVITY
-: <a class="el" href="group___sensor.html#ga5129cb9e4091fc3474e246d5f950e52b">sensor.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_enum.jd b/docs/html/ndk/reference/globals_enum.jd
deleted file mode 100644
index 7fd396e..0000000
--- a/docs/html/ndk/reference/globals_enum.jd
+++ /dev/null
@@ -1,12 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;<ul>
-<li>AndroidBitmapFormat
-: <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">bitmap.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_eval.jd b/docs/html/ndk/reference/globals_eval.jd
deleted file mode 100644
index e1399c7..0000000
--- a/docs/html/ndk/reference/globals_eval.jd
+++ /dev/null
@@ -1,1652 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>AASSET_MODE_BUFFER
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_RANDOM
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_STREAMING
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_UNKNOWN
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4">asset_manager.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_DEFAULT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_HIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_LOW
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_MEDIUM
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_NONE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_TV
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XXHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XXXHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_12KEY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_HIDDEN
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_NOKEYS
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_QWERTY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_SOFT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_LTR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_RTL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LOCALE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MCC
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MNC
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MNC_ZERO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_DPAD
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_NONAV
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_TRACKBALL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_WHEEL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_LAND
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_PORT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_SQUARE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_HEIGHT_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_LAYOUT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_SIZE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_WIDTH_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_LARGE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_NORMAL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_SMALL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_XLARGE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SMALLEST_SCREEN_SIZE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_FINGER
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_NOTOUCH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_STYLUS
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_APPLIANCE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_CAR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_DESK
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_NORMAL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_TELEVISION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_WATCH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131">configuration.h</a>
-</li>
-<li>ACONFIGURATION_VERSION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b">configuration.h</a>
-</li>
-<li>AINPUT_EVENT_TYPE_KEY
-: <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba">input.h</a>
-</li>
-<li>AINPUT_EVENT_TYPE_MOTION
-: <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_ALPHABETIC
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_NONE
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_ORIENTATION
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_PRESSURE
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_SIZE
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOOL_MAJOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOOL_MINOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOUCH_MAJOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOUCH_MINOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_X
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_Y
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332">input.h</a>
-</li>
-<li>AINPUT_SOURCE_ANY
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_BUTTON
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_JOYSTICK
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_MASK
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_NAVIGATION
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_NONE
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_POINTER
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_POSITION
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167">input.h</a>
-</li>
-<li>AINPUT_SOURCE_DPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef">input.h</a>
-</li>
-<li>AINPUT_SOURCE_GAMEPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3">input.h</a>
-</li>
-<li>AINPUT_SOURCE_JOYSTICK
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5">input.h</a>
-</li>
-<li>AINPUT_SOURCE_KEYBOARD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d">input.h</a>
-</li>
-<li>AINPUT_SOURCE_MOUSE
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86">input.h</a>
-</li>
-<li>AINPUT_SOURCE_STYLUS
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCH_NAVIGATION
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCHPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCHSCREEN
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TRACKBALL
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6">input.h</a>
-</li>
-<li>AINPUT_SOURCE_UNKNOWN
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_DOWN
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_MULTIPLE
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_UP
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_CANCELED
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_CANCELED_LONG_PRESS
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_EDITOR_ACTION
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_FALLBACK
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_FROM_SYSTEM
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_KEEP_TOUCH_MODE
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_LONG_PRESS
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_SOFT_KEYBOARD
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_TRACKING
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_WOKE_HERE
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba">input.h</a>
-</li>
-<li>AKEY_STATE_DOWN
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c">input.h</a>
-</li>
-<li>AKEY_STATE_UNKNOWN
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd">input.h</a>
-</li>
-<li>AKEY_STATE_UP
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28">input.h</a>
-</li>
-<li>AKEY_STATE_VIRTUAL
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192">input.h</a>
-</li>
-<li>AKEYCODE_0
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79">keycodes.h</a>
-</li>
-<li>AKEYCODE_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0">keycodes.h</a>
-</li>
-<li>AKEYCODE_11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5">keycodes.h</a>
-</li>
-<li>AKEYCODE_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db">keycodes.h</a>
-</li>
-<li>AKEYCODE_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551">keycodes.h</a>
-</li>
-<li>AKEYCODE_3D_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c">keycodes.h</a>
-</li>
-<li>AKEYCODE_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b">keycodes.h</a>
-</li>
-<li>AKEYCODE_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e">keycodes.h</a>
-</li>
-<li>AKEYCODE_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079">keycodes.h</a>
-</li>
-<li>AKEYCODE_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff">keycodes.h</a>
-</li>
-<li>AKEYCODE_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab">keycodes.h</a>
-</li>
-<li>AKEYCODE_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d">keycodes.h</a>
-</li>
-<li>AKEYCODE_A
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014">keycodes.h</a>
-</li>
-<li>AKEYCODE_ALT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">keycodes.h</a>
-</li>
-<li>AKEYCODE_ALT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d">keycodes.h</a>
-</li>
-<li>AKEYCODE_APOSTROPHE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1">keycodes.h</a>
-</li>
-<li>AKEYCODE_APP_SWITCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad">keycodes.h</a>
-</li>
-<li>AKEYCODE_ASSIST
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838">keycodes.h</a>
-</li>
-<li>AKEYCODE_AT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16">keycodes.h</a>
-</li>
-<li>AKEYCODE_AVR_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504">keycodes.h</a>
-</li>
-<li>AKEYCODE_AVR_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b">keycodes.h</a>
-</li>
-<li>AKEYCODE_B
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758">keycodes.h</a>
-</li>
-<li>AKEYCODE_BACK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_BACKSLASH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701">keycodes.h</a>
-</li>
-<li>AKEYCODE_BOOKMARK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_BREAK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23">keycodes.h</a>
-</li>
-<li>AKEYCODE_BRIGHTNESS_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650">keycodes.h</a>
-</li>
-<li>AKEYCODE_BRIGHTNESS_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_10
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_13
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_14
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_15
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_16
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_A
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_B
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_C
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_L1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_L2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_R1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_R2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_SELECT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_START
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_THUMBL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_THUMBR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_X
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_Y
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_Z
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f">keycodes.h</a>
-</li>
-<li>AKEYCODE_C
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALCULATOR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALENDAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAMERA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAPS_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAPTIONS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994">keycodes.h</a>
-</li>
-<li>AKEYCODE_CHANNEL_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f">keycodes.h</a>
-</li>
-<li>AKEYCODE_CHANNEL_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c">keycodes.h</a>
-</li>
-<li>AKEYCODE_CLEAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901">keycodes.h</a>
-</li>
-<li>AKEYCODE_COMMA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227">keycodes.h</a>
-</li>
-<li>AKEYCODE_CONTACTS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10">keycodes.h</a>
-</li>
-<li>AKEYCODE_CTRL_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1">keycodes.h</a>
-</li>
-<li>AKEYCODE_CTRL_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c">keycodes.h</a>
-</li>
-<li>AKEYCODE_D
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51">keycodes.h</a>
-</li>
-<li>AKEYCODE_DEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_CENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e">keycodes.h</a>
-</li>
-<li>AKEYCODE_DVR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60">keycodes.h</a>
-</li>
-<li>AKEYCODE_E
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_EISU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENDCALL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENVELOPE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c">keycodes.h</a>
-</li>
-<li>AKEYCODE_EQUALS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498">keycodes.h</a>
-</li>
-<li>AKEYCODE_ESCAPE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6">keycodes.h</a>
-</li>
-<li>AKEYCODE_EXPLORER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083">keycodes.h</a>
-</li>
-<li>AKEYCODE_F
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a">keycodes.h</a>
-</li>
-<li>AKEYCODE_F1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf">keycodes.h</a>
-</li>
-<li>AKEYCODE_F10
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474">keycodes.h</a>
-</li>
-<li>AKEYCODE_F11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22">keycodes.h</a>
-</li>
-<li>AKEYCODE_F12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7">keycodes.h</a>
-</li>
-<li>AKEYCODE_F2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84">keycodes.h</a>
-</li>
-<li>AKEYCODE_F3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085">keycodes.h</a>
-</li>
-<li>AKEYCODE_F4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf">keycodes.h</a>
-</li>
-<li>AKEYCODE_F5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937">keycodes.h</a>
-</li>
-<li>AKEYCODE_F6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60">keycodes.h</a>
-</li>
-<li>AKEYCODE_F7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c">keycodes.h</a>
-</li>
-<li>AKEYCODE_F8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8">keycodes.h</a>
-</li>
-<li>AKEYCODE_F9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9">keycodes.h</a>
-</li>
-<li>AKEYCODE_FOCUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187">keycodes.h</a>
-</li>
-<li>AKEYCODE_FORWARD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a">keycodes.h</a>
-</li>
-<li>AKEYCODE_FORWARD_DEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">keycodes.h</a>
-</li>
-<li>AKEYCODE_FUNCTION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722">keycodes.h</a>
-</li>
-<li>AKEYCODE_G
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9">keycodes.h</a>
-</li>
-<li>AKEYCODE_GRAVE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171">keycodes.h</a>
-</li>
-<li>AKEYCODE_GUIDE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233">keycodes.h</a>
-</li>
-<li>AKEYCODE_H
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc">keycodes.h</a>
-</li>
-<li>AKEYCODE_HEADSETHOOK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33">keycodes.h</a>
-</li>
-<li>AKEYCODE_HELP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9">keycodes.h</a>
-</li>
-<li>AKEYCODE_HENKAN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02">keycodes.h</a>
-</li>
-<li>AKEYCODE_HOME
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd">keycodes.h</a>
-</li>
-<li>AKEYCODE_I
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b">keycodes.h</a>
-</li>
-<li>AKEYCODE_INFO
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649">keycodes.h</a>
-</li>
-<li>AKEYCODE_INSERT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644">keycodes.h</a>
-</li>
-<li>AKEYCODE_J
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a">keycodes.h</a>
-</li>
-<li>AKEYCODE_K
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932">keycodes.h</a>
-</li>
-<li>AKEYCODE_KANA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531">keycodes.h</a>
-</li>
-<li>AKEYCODE_KATAKANA_HIRAGANA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28">keycodes.h</a>
-</li>
-<li>AKEYCODE_L
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b">keycodes.h</a>
-</li>
-<li>AKEYCODE_LANGUAGE_SWITCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff">keycodes.h</a>
-</li>
-<li>AKEYCODE_LAST_CHANNEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9">keycodes.h</a>
-</li>
-<li>AKEYCODE_LEFT_BRACKET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708">keycodes.h</a>
-</li>
-<li>AKEYCODE_M
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MANNER_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_AUDIO_TRACK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_CLOSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_EJECT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_FAST_FORWARD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_NEXT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PAUSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PLAY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PLAY_PAUSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PREVIOUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_RECORD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_REWIND
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_STOP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_TOP_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a">keycodes.h</a>
-</li>
-<li>AKEYCODE_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76">keycodes.h</a>
-</li>
-<li>AKEYCODE_META_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58">keycodes.h</a>
-</li>
-<li>AKEYCODE_META_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8">keycodes.h</a>
-</li>
-<li>AKEYCODE_MINUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca">keycodes.h</a>
-</li>
-<li>AKEYCODE_MOVE_END
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a">keycodes.h</a>
-</li>
-<li>AKEYCODE_MOVE_HOME
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUHENKAN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUSIC
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUTE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">keycodes.h</a>
-</li>
-<li>AKEYCODE_N
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36">keycodes.h</a>
-</li>
-<li>AKEYCODE_NOTIFICATION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUM
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUM_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_0
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_ADD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_COMMA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_DIVIDE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_DOT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_ENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_EQUALS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_LEFT_PAREN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_MULTIPLY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_RIGHT_PAREN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_SUBTRACT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe">keycodes.h</a>
-</li>
-<li>AKEYCODE_O
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb">keycodes.h</a>
-</li>
-<li>AKEYCODE_P
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAGE_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAGE_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAIRING
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553">keycodes.h</a>
-</li>
-<li>AKEYCODE_PERIOD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04">keycodes.h</a>
-</li>
-<li>AKEYCODE_PICTSYMBOLS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41">keycodes.h</a>
-</li>
-<li>AKEYCODE_PLUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495">keycodes.h</a>
-</li>
-<li>AKEYCODE_POUND
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9">keycodes.h</a>
-</li>
-<li>AKEYCODE_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_BLUE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_GREEN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_RED
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_YELLOW
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4">keycodes.h</a>
-</li>
-<li>AKEYCODE_Q
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206">keycodes.h</a>
-</li>
-<li>AKEYCODE_R
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532">keycodes.h</a>
-</li>
-<li>AKEYCODE_RIGHT_BRACKET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a">keycodes.h</a>
-</li>
-<li>AKEYCODE_RO
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4">keycodes.h</a>
-</li>
-<li>AKEYCODE_S
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6">keycodes.h</a>
-</li>
-<li>AKEYCODE_SCROLL_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc">keycodes.h</a>
-</li>
-<li>AKEYCODE_SEARCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7">keycodes.h</a>
-</li>
-<li>AKEYCODE_SEMICOLON
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391">keycodes.h</a>
-</li>
-<li>AKEYCODE_SETTINGS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159">keycodes.h</a>
-</li>
-<li>AKEYCODE_SHIFT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4">keycodes.h</a>
-</li>
-<li>AKEYCODE_SHIFT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212">keycodes.h</a>
-</li>
-<li>AKEYCODE_SLASH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a">keycodes.h</a>
-</li>
-<li>AKEYCODE_SLEEP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207">keycodes.h</a>
-</li>
-<li>AKEYCODE_SOFT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899">keycodes.h</a>
-</li>
-<li>AKEYCODE_SOFT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae">keycodes.h</a>
-</li>
-<li>AKEYCODE_SPACE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7">keycodes.h</a>
-</li>
-<li>AKEYCODE_STAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305">keycodes.h</a>
-</li>
-<li>AKEYCODE_STB_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5">keycodes.h</a>
-</li>
-<li>AKEYCODE_STB_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d">keycodes.h</a>
-</li>
-<li>AKEYCODE_SWITCH_CHARSET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3">keycodes.h</a>
-</li>
-<li>AKEYCODE_SYM
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_SYSRQ
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84">keycodes.h</a>
-</li>
-<li>AKEYCODE_T
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2">keycodes.h</a>
-</li>
-<li>AKEYCODE_TAB
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_ANTENNA_CABLE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_CONTENTS_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_DATA_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPONENT_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPONENT_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPOSITE_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPOSITE_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_VGA_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_MEDIA_CONTEXT_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_NETWORK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_NUMBER_ENTRY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_RADIO_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_BS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_CS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TELETEXT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TERRESTRIAL_ANALOG
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TERRESTRIAL_DIGITAL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TIMER_PROGRAMMING
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_ZOOM_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4">keycodes.h</a>
-</li>
-<li>AKEYCODE_U
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595">keycodes.h</a>
-</li>
-<li>AKEYCODE_UNKNOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_V
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOICE_ASSIST
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_MUTE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882">keycodes.h</a>
-</li>
-<li>AKEYCODE_W
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425">keycodes.h</a>
-</li>
-<li>AKEYCODE_WAKEUP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429">keycodes.h</a>
-</li>
-<li>AKEYCODE_WINDOW
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8">keycodes.h</a>
-</li>
-<li>AKEYCODE_X
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5">keycodes.h</a>
-</li>
-<li>AKEYCODE_Y
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b">keycodes.h</a>
-</li>
-<li>AKEYCODE_YEN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b">keycodes.h</a>
-</li>
-<li>AKEYCODE_Z
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZENKAKU_HANKAKU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZOOM_IN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZOOM_OUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535">keycodes.h</a>
-</li>
-<li>ALOOPER_EVENT_ERROR
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_HANGUP
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_INPUT
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_INVALID
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_OUTPUT
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d">looper.h</a>
-</li>
-<li>ALOOPER_POLL_CALLBACK
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2">looper.h</a>
-</li>
-<li>ALOOPER_POLL_ERROR
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4">looper.h</a>
-</li>
-<li>ALOOPER_POLL_TIMEOUT
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443">looper.h</a>
-</li>
-<li>ALOOPER_POLL_WAKE
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47">looper.h</a>
-</li>
-<li>ALOOPER_PREPARE_ALLOW_NON_CALLBACKS
-: <a class="el" href="group___looper.html#ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb">looper.h</a>
-</li>
-<li>AMETA_ALT_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df">input.h</a>
-</li>
-<li>AMETA_ALT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881">input.h</a>
-</li>
-<li>AMETA_ALT_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a">input.h</a>
-</li>
-<li>AMETA_CAPS_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37">input.h</a>
-</li>
-<li>AMETA_CTRL_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6">input.h</a>
-</li>
-<li>AMETA_CTRL_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5">input.h</a>
-</li>
-<li>AMETA_CTRL_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419">input.h</a>
-</li>
-<li>AMETA_FUNCTION_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1">input.h</a>
-</li>
-<li>AMETA_META_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f">input.h</a>
-</li>
-<li>AMETA_META_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a">input.h</a>
-</li>
-<li>AMETA_META_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf">input.h</a>
-</li>
-<li>AMETA_NONE
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d">input.h</a>
-</li>
-<li>AMETA_NUM_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6">input.h</a>
-</li>
-<li>AMETA_SCROLL_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a">input.h</a>
-</li>
-<li>AMETA_SHIFT_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7">input.h</a>
-</li>
-<li>AMETA_SHIFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197">input.h</a>
-</li>
-<li>AMETA_SHIFT_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1">input.h</a>
-</li>
-<li>AMETA_SYM_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_CANCEL
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_DOWN
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_ENTER
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_EXIT
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_MOVE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_MASK
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_MOVE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_OUTSIDE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_DOWN
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_INDEX_MASK
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_UP
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_SCROLL
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_UP
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_BRAKE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_DISTANCE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GAS
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_1
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_10
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_11
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_12
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_13
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_14
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_15
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_16
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_2
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_3
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_4
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_5
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_6
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_7
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_8
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_9
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HAT_X
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HAT_Y
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HSCROLL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_LTRIGGER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_ORIENTATION
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_PRESSURE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RTRIGGER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RUDDER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RX
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RY
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RZ
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_SIZE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_THROTTLE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TILT
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOOL_MAJOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOOL_MINOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOUCH_MAJOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOUCH_MINOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_VSCROLL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_WHEEL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_X
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_Y
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_Z
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_BACK
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_FORWARD
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_PRIMARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_SECONDARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_TERTIARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_BOTTOM
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_LEFT
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_NONE
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_RIGHT
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_TOP
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757">input.h</a>
-</li>
-<li>AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED
-: <a class="el" href="group___input.html#ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_ERASER
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_FINGER
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_MOUSE
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_STYLUS
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_UNKNOWN
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208">input.h</a>
-</li>
-<li>ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY
-: <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS
-: <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED
-: <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT
-: <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">native_activity.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_A_8
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_NONE
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGB_565
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGBA_4444
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGBA_8888
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_ALLOCATION_FAILED
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_BAD_PARAMETER
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_JNI_EXCEPTION
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_SUCCESS
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">bitmap.h</a>
-</li>
-<li>AOBB_STATE_ERROR_ALREADY_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_COULD_NOT_MOUNT
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_COULD_NOT_UNMOUNT
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_INTERNAL
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_NOT_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_PERMISSION_DENIED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_UNMOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">storage_manager.h</a>
-</li>
-<li>AOBBINFO_OVERLAY
-: <a class="el" href="group___storage.html#ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a">obb.h</a>
-</li>
-<li>AREPORTING_MODE_CONTINUOUS
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_ON_CHANGE
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_ONE_SHOT
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_SPECIAL_TRIGGER
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_HIGH
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_LOW
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_MEDIUM
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_NO_CONTACT
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_UNRELIABLE
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_ACCELEROMETER
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_GYROSCOPE
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_LIGHT
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_MAGNETIC_FIELD
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_PROXIMITY
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">sensor.h</a>
-</li>
-<li>AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">window.h</a>
-</li>
-<li>AWINDOW_FLAG_ALT_FOCUSABLE_IM
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">window.h</a>
-</li>
-<li>AWINDOW_FLAG_BLUR_BEHIND
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DIM_BEHIND
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DISMISS_KEYGUARD
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DITHER
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">window.h</a>
-</li>
-<li>AWINDOW_FLAG_FORCE_NOT_FULLSCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">window.h</a>
-</li>
-<li>AWINDOW_FLAG_FULLSCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">window.h</a>
-</li>
-<li>AWINDOW_FLAG_IGNORE_CHEEK_PRESSES
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">window.h</a>
-</li>
-<li>AWINDOW_FLAG_KEEP_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_IN_SCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_INSET_DECOR
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_NO_LIMITS
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_FOCUSABLE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_TOUCH_MODAL
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_TOUCHABLE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SCALED
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SECURE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SHOW_WALLPAPER
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SHOW_WHEN_LOCKED
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">window.h</a>
-</li>
-<li>AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">window.h</a>
-</li>
-<li>AWINDOW_FLAG_TURN_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">window.h</a>
-</li>
-<li>AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">window.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_eval_w.jd b/docs/html/ndk/reference/globals_eval_w.jd
deleted file mode 100644
index c996d30..0000000
--- a/docs/html/ndk/reference/globals_eval_w.jd
+++ /dev/null
@@ -1,20 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>WINDOW_FORMAT_RGB_565
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">native_window.h</a>
-</li>
-<li>WINDOW_FORMAT_RGBA_8888
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">native_window.h</a>
-</li>
-<li>WINDOW_FORMAT_RGBX_8888
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">native_window.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_func.jd b/docs/html/ndk/reference/globals_func.jd
deleted file mode 100644
index ae48353..0000000
--- a/docs/html/ndk/reference/globals_func.jd
+++ /dev/null
@@ -1,551 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>AAsset_close()
-: <a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">asset_manager.h</a>
-</li>
-<li>AAsset_getBuffer()
-: <a class="el" href="group___asset.html#ga553a14512a98542306238c3ce70d344f">asset_manager.h</a>
-</li>
-<li>AAsset_getLength()
-: <a class="el" href="group___asset.html#gaad8ec42e28522ebc72d3a5c357f9a600">asset_manager.h</a>
-</li>
-<li>AAsset_getLength64()
-: <a class="el" href="group___asset.html#ga55c8bc459327d5d23089e6a4b453f3f1">asset_manager.h</a>
-</li>
-<li>AAsset_getRemainingLength()
-: <a class="el" href="group___asset.html#gae806f55cbc4a93ca245f2adfd63d3eee">asset_manager.h</a>
-</li>
-<li>AAsset_getRemainingLength64()
-: <a class="el" href="group___asset.html#ga21e7221d88dcc44106843192b66755b5">asset_manager.h</a>
-</li>
-<li>AAsset_isAllocated()
-: <a class="el" href="group___asset.html#ga20344cb952a77fa1004f592fb1b55124">asset_manager.h</a>
-</li>
-<li>AAsset_openFileDescriptor()
-: <a class="el" href="group___asset.html#ga1af4ffd050016e99961e24f550981677">asset_manager.h</a>
-</li>
-<li>AAsset_openFileDescriptor64()
-: <a class="el" href="group___asset.html#ga123a44a575f85d91a00a8456dab7bd0a">asset_manager.h</a>
-</li>
-<li>AAsset_read()
-: <a class="el" href="group___asset.html#gaadd86322c1fda5121b6d33745c317fb9">asset_manager.h</a>
-</li>
-<li>AAsset_seek()
-: <a class="el" href="group___asset.html#gacc026a8bedeb1ef80bf12df3b72611a2">asset_manager.h</a>
-</li>
-<li>AAsset_seek64()
-: <a class="el" href="group___asset.html#ga81fbe4368de24a3296ef7a6eba0053c7">asset_manager.h</a>
-</li>
-<li>AAssetDir_close()
-: <a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">asset_manager.h</a>
-</li>
-<li>AAssetDir_getNextFileName()
-: <a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">asset_manager.h</a>
-</li>
-<li>AAssetDir_rewind()
-: <a class="el" href="group___asset.html#ga45db6d19ad5e1c0f9b2e6b4059da14b3">asset_manager.h</a>
-</li>
-<li>AAssetManager_fromJava()
-: <a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">asset_manager_jni.h</a>
-</li>
-<li>AAssetManager_open()
-: <a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">asset_manager.h</a>
-</li>
-<li>AAssetManager_openDir()
-: <a class="el" href="group___asset.html#gab5b57ff012d6d1024d8bf5d30aedced4">asset_manager.h</a>
-</li>
-<li>AConfiguration_copy()
-: <a class="el" href="group___configuration.html#gaabff04218a0a76afb8d3ea551b001565">configuration.h</a>
-</li>
-<li>AConfiguration_delete()
-: <a class="el" href="group___configuration.html#ga60fe264b97da84d3370eb9e220159e6d">configuration.h</a>
-</li>
-<li>AConfiguration_diff()
-: <a class="el" href="group___configuration.html#gabfe69b0dccae425a16fe94d084f20402">configuration.h</a>
-</li>
-<li>AConfiguration_fromAssetManager()
-: <a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">configuration.h</a>
-</li>
-<li>AConfiguration_getCountry()
-: <a class="el" href="group___configuration.html#gad2b47f787012a82a67a20e5de5211d46">configuration.h</a>
-</li>
-<li>AConfiguration_getDensity()
-: <a class="el" href="group___configuration.html#ga4c994e0555947340582094c3da32a663">configuration.h</a>
-</li>
-<li>AConfiguration_getKeyboard()
-: <a class="el" href="group___configuration.html#gafd0f76ccd4fe4bda5172b8e0bc6675e4">configuration.h</a>
-</li>
-<li>AConfiguration_getKeysHidden()
-: <a class="el" href="group___configuration.html#ga7a8317ab975f621f3fe62ed1b44f2605">configuration.h</a>
-</li>
-<li>AConfiguration_getLanguage()
-: <a class="el" href="group___configuration.html#ga7b004c13448704afb0ea2040d69468c1">configuration.h</a>
-</li>
-<li>AConfiguration_getLayoutDirection()
-: <a class="el" href="group___configuration.html#ga13dbf2fc9a382c62b391e7de9cf9b468">configuration.h</a>
-</li>
-<li>AConfiguration_getMcc()
-: <a class="el" href="group___configuration.html#ga1e78004237a931086d2ae4bd8324bd30">configuration.h</a>
-</li>
-<li>AConfiguration_getMnc()
-: <a class="el" href="group___configuration.html#ga4783776a4fad4501898472375d781fb9">configuration.h</a>
-</li>
-<li>AConfiguration_getNavHidden()
-: <a class="el" href="group___configuration.html#gafe8d3a9c2f715ea76c8e4a99c2db9eaa">configuration.h</a>
-</li>
-<li>AConfiguration_getNavigation()
-: <a class="el" href="group___configuration.html#gae3ff1541b63f5b9256f7c0ebae372977">configuration.h</a>
-</li>
-<li>AConfiguration_getOrientation()
-: <a class="el" href="group___configuration.html#gaa7d8e3e9871dc925fef3e342a92e4e22">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenHeightDp()
-: <a class="el" href="group___configuration.html#ga9905a4765f8d0d921c476ebce01c7648">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenLong()
-: <a class="el" href="group___configuration.html#gab7d1f5aa59e8fa4db0a1b91bb322034c">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenSize()
-: <a class="el" href="group___configuration.html#ga9d2c1b8731795d8e74be7e23cbc77552">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga61e5fe9612c170c33e1c7e9fb92f2219">configuration.h</a>
-</li>
-<li>AConfiguration_getSdkVersion()
-: <a class="el" href="group___configuration.html#ga4aa7062198e5aacd9fabb04d0453dd91">configuration.h</a>
-</li>
-<li>AConfiguration_getSmallestScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga7fc015e41fad342edba66a003d9848aa">configuration.h</a>
-</li>
-<li>AConfiguration_getTouchscreen()
-: <a class="el" href="group___configuration.html#gad305e6cf86fa915c24212e71bb2bf027">configuration.h</a>
-</li>
-<li>AConfiguration_getUiModeNight()
-: <a class="el" href="group___configuration.html#ga447f16a9e4f8400e5e0328900749ff16">configuration.h</a>
-</li>
-<li>AConfiguration_getUiModeType()
-: <a class="el" href="group___configuration.html#ga1d75777892f38208feb3d2a94a977fcf">configuration.h</a>
-</li>
-<li>AConfiguration_isBetterThan()
-: <a class="el" href="group___configuration.html#gafd2bb31057c8d57efcea7603458d2a8d">configuration.h</a>
-</li>
-<li>AConfiguration_match()
-: <a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">configuration.h</a>
-</li>
-<li>AConfiguration_new()
-: <a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">configuration.h</a>
-</li>
-<li>AConfiguration_setCountry()
-: <a class="el" href="group___configuration.html#gac2f5d414a6466634b1639b5c6f8879ac">configuration.h</a>
-</li>
-<li>AConfiguration_setDensity()
-: <a class="el" href="group___configuration.html#ga9217af9858a7166dcb9a877192779eac">configuration.h</a>
-</li>
-<li>AConfiguration_setKeyboard()
-: <a class="el" href="group___configuration.html#ga4ab3429c5505c108c09349f1ddef572f">configuration.h</a>
-</li>
-<li>AConfiguration_setKeysHidden()
-: <a class="el" href="group___configuration.html#ga5a80a02aa10cfa17de0795054e927183">configuration.h</a>
-</li>
-<li>AConfiguration_setLanguage()
-: <a class="el" href="group___configuration.html#ga1f3c6cf6667655f83777acda7387ddff">configuration.h</a>
-</li>
-<li>AConfiguration_setLayoutDirection()
-: <a class="el" href="group___configuration.html#gaaf47215cf551594f8c2a0594419b47e1">configuration.h</a>
-</li>
-<li>AConfiguration_setMcc()
-: <a class="el" href="group___configuration.html#gae6198b4eaf3e34168f4b13b8b5975d93">configuration.h</a>
-</li>
-<li>AConfiguration_setMnc()
-: <a class="el" href="group___configuration.html#gaaf060ef69c3636f62e90ae0b520eecb8">configuration.h</a>
-</li>
-<li>AConfiguration_setNavHidden()
-: <a class="el" href="group___configuration.html#ga67e86e0347596421771af841710308d5">configuration.h</a>
-</li>
-<li>AConfiguration_setNavigation()
-: <a class="el" href="group___configuration.html#gad21dd14fb823a6a80b66132a05ce8913">configuration.h</a>
-</li>
-<li>AConfiguration_setOrientation()
-: <a class="el" href="group___configuration.html#gadcaa8540bad4172a74032143bcaade04">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenHeightDp()
-: <a class="el" href="group___configuration.html#ga6ffac3b41415ec8a3031737ccdcd63b8">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenLong()
-: <a class="el" href="group___configuration.html#gaed853ab7e2bc915591d05997130bc448">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenSize()
-: <a class="el" href="group___configuration.html#ga7bcf05150933ead34a01061d05ad3245">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenWidthDp()
-: <a class="el" href="group___configuration.html#gafc51d45679095965fe3ba1abd402f120">configuration.h</a>
-</li>
-<li>AConfiguration_setSdkVersion()
-: <a class="el" href="group___configuration.html#ga06c66072902ee455011120188ca4810b">configuration.h</a>
-</li>
-<li>AConfiguration_setSmallestScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga6b004c9585671efc5cebd96c1d43c4f0">configuration.h</a>
-</li>
-<li>AConfiguration_setTouchscreen()
-: <a class="el" href="group___configuration.html#ga0d51dbe710c1afe31ece4dd6a8c188ff">configuration.h</a>
-</li>
-<li>AConfiguration_setUiModeNight()
-: <a class="el" href="group___configuration.html#ga08df1e801afbe4a12411e393b8141e42">configuration.h</a>
-</li>
-<li>AConfiguration_setUiModeType()
-: <a class="el" href="group___configuration.html#gaec61e3cf91cd79e8b76a35bbcb15789d">configuration.h</a>
-</li>
-<li>AInputEvent_getDeviceId()
-: <a class="el" href="group___input.html#ga9dd3fd81e51dbfde19ab861541242aa1">input.h</a>
-</li>
-<li>AInputEvent_getSource()
-: <a class="el" href="group___input.html#gac90d4b497669dbc709ec9650db4e49be">input.h</a>
-</li>
-<li>AInputEvent_getType()
-: <a class="el" href="group___input.html#ga8292ae06aa8120c52d7380d228600b9c">input.h</a>
-</li>
-<li>AInputQueue_attachLooper()
-: <a class="el" href="group___input.html#ga900711156bfb58d1a4b158da7874930f">input.h</a>
-</li>
-<li>AInputQueue_detachLooper()
-: <a class="el" href="group___input.html#gaeebe9f83392ac79b31ca40a6fd4dbeff">input.h</a>
-</li>
-<li>AInputQueue_finishEvent()
-: <a class="el" href="group___input.html#ga17e87e0f35d47d729eac31a0dfb1ac33">input.h</a>
-</li>
-<li>AInputQueue_getEvent()
-: <a class="el" href="group___input.html#ga88de12e2b39787ba7d3e4ce2ea46a48c">input.h</a>
-</li>
-<li>AInputQueue_hasEvents()
-: <a class="el" href="group___input.html#ga2b72ad6ab5ef656e8c41163aa7871c96">input.h</a>
-</li>
-<li>AInputQueue_preDispatchEvent()
-: <a class="el" href="group___input.html#gadecd32e6c7aefa4a508b355550d3eaa9">input.h</a>
-</li>
-<li>AKeyEvent_getAction()
-: <a class="el" href="group___input.html#ga36ec0b59f98f86a7ca263ba91279896d">input.h</a>
-</li>
-<li>AKeyEvent_getDownTime()
-: <a class="el" href="group___input.html#gaf475b6f0860bdfca4ceea7bc46eab1a9">input.h</a>
-</li>
-<li>AKeyEvent_getEventTime()
-: <a class="el" href="group___input.html#gae3eac7d68195d1767c947ca267842696">input.h</a>
-</li>
-<li>AKeyEvent_getFlags()
-: <a class="el" href="group___input.html#ga2a18e98efe0c4ccb6f39bb13c555010e">input.h</a>
-</li>
-<li>AKeyEvent_getKeyCode()
-: <a class="el" href="group___input.html#ga6b01ecd60018a5445f4917a861ca9466">input.h</a>
-</li>
-<li>AKeyEvent_getMetaState()
-: <a class="el" href="group___input.html#gabdda62b40b22727af2fb41740bf4787b">input.h</a>
-</li>
-<li>AKeyEvent_getRepeatCount()
-: <a class="el" href="group___input.html#ga5358fe3ebbd4b5b2f88a4ad2eba6f885">input.h</a>
-</li>
-<li>AKeyEvent_getScanCode()
-: <a class="el" href="group___input.html#ga4a0a846b7a195aeb290dfcd2250137d9">input.h</a>
-</li>
-<li>ALooper_acquire()
-: <a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">looper.h</a>
-</li>
-<li>ALooper_addFd()
-: <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">looper.h</a>
-</li>
-<li>ALooper_forThread()
-: <a class="el" href="group___looper.html#ga741ccd90a0eb9209c6bddf2326d89e4a">looper.h</a>
-</li>
-<li>ALooper_pollAll()
-: <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">looper.h</a>
-</li>
-<li>ALooper_pollOnce()
-: <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">looper.h</a>
-</li>
-<li>ALooper_prepare()
-: <a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">looper.h</a>
-</li>
-<li>ALooper_release()
-: <a class="el" href="group___looper.html#gab723c3c2ac2c66bc695913a194073727">looper.h</a>
-</li>
-<li>ALooper_removeFd()
-: <a class="el" href="group___looper.html#gaf7d68ed05698b251489b4f6c8e54daad">looper.h</a>
-</li>
-<li>ALooper_wake()
-: <a class="el" href="group___looper.html#gab2585652f8ae2e2444979194ebe32aaf">looper.h</a>
-</li>
-<li>AMotionEvent_getAction()
-: <a class="el" href="group___input.html#ga73ea2093cc2343675ac43dd08bef4247">input.h</a>
-</li>
-<li>AMotionEvent_getAxisValue()
-: <a class="el" href="group___input.html#ga9d364cdcebf85237f599b25861f38c21">input.h</a>
-</li>
-<li>AMotionEvent_getButtonState()
-: <a class="el" href="group___input.html#ga1aa7ebb749416491b6f0c55ae87ddf49">input.h</a>
-</li>
-<li>AMotionEvent_getDownTime()
-: <a class="el" href="group___input.html#gad44be7697e68891688cd7bcfaffec209">input.h</a>
-</li>
-<li>AMotionEvent_getEdgeFlags()
-: <a class="el" href="group___input.html#gad7e1f0caa4c27194d4a8756a18432299">input.h</a>
-</li>
-<li>AMotionEvent_getEventTime()
-: <a class="el" href="group___input.html#ga7e13fbf3cff0700b0b620284ebdd3a33">input.h</a>
-</li>
-<li>AMotionEvent_getFlags()
-: <a class="el" href="group___input.html#ga2891d19197c070207098fa48adeb35af">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalAxisValue()
-: <a class="el" href="group___input.html#ga7ca740e1324f3cdb934252dce0c982d0">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalEventTime()
-: <a class="el" href="group___input.html#ga523f1a760754206965b42b08d62f9346">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalOrientation()
-: <a class="el" href="group___input.html#gaab9cb8fa670175ecc73c75eed4e5cd3f">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalPressure()
-: <a class="el" href="group___input.html#gaa8e9352ee5b043b3e1b6e2062d491010">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalRawX()
-: <a class="el" href="group___input.html#ga5d36c2e7420001c86ae2aa1168fe6f83">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalRawY()
-: <a class="el" href="group___input.html#ga6deb0e7690a93aa53e5872c2691b69fe">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalSize()
-: <a class="el" href="group___input.html#ga0a04bb7ec12928db7e62645e7fad3a9e">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalToolMajor()
-: <a class="el" href="group___input.html#ga160a5830e791e8c42ae97f51b92233d2">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalToolMinor()
-: <a class="el" href="group___input.html#gafe01aa7576a6d1bce750fb8482355849">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalTouchMajor()
-: <a class="el" href="group___input.html#gaf437f223668b97f19ebdbad4b9cf4483">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalTouchMinor()
-: <a class="el" href="group___input.html#ga126715d966e989652aa1ae5d38e0e898">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalX()
-: <a class="el" href="group___input.html#ga49a8ca89ff377b5ed2355e8d7220ae07">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalY()
-: <a class="el" href="group___input.html#ga30fc4e5d3ce144955859f8c97b51b73d">input.h</a>
-</li>
-<li>AMotionEvent_getHistorySize()
-: <a class="el" href="group___input.html#ga0aef34c236db6d7a56a50bf590be7bcc">input.h</a>
-</li>
-<li>AMotionEvent_getMetaState()
-: <a class="el" href="group___input.html#ga5644f0d952e3dea57ba9f7ce51dff2bb">input.h</a>
-</li>
-<li>AMotionEvent_getOrientation()
-: <a class="el" href="group___input.html#gad28422998da15b789edcba6b8bc5d615">input.h</a>
-</li>
-<li>AMotionEvent_getPointerCount()
-: <a class="el" href="group___input.html#ga612e68d104adbc6d14d87510e8066bd8">input.h</a>
-</li>
-<li>AMotionEvent_getPointerId()
-: <a class="el" href="group___input.html#ga599e21a79c706807243a8ee31b116138">input.h</a>
-</li>
-<li>AMotionEvent_getPressure()
-: <a class="el" href="group___input.html#ga97fcaa6cd08c9d54b35711e482e06c8d">input.h</a>
-</li>
-<li>AMotionEvent_getRawX()
-: <a class="el" href="group___input.html#gafe45e29ef138cc30592237ce479837f0">input.h</a>
-</li>
-<li>AMotionEvent_getRawY()
-: <a class="el" href="group___input.html#ga5a09c3d742a93270861aa05f24257c23">input.h</a>
-</li>
-<li>AMotionEvent_getSize()
-: <a class="el" href="group___input.html#ga9b1f3c3df46b5269f9e74d2dd70c88a8">input.h</a>
-</li>
-<li>AMotionEvent_getToolMajor()
-: <a class="el" href="group___input.html#gac04099690f278a6a27191c2027b12a77">input.h</a>
-</li>
-<li>AMotionEvent_getToolMinor()
-: <a class="el" href="group___input.html#ga2222d459759ba4a8269647012d2718fb">input.h</a>
-</li>
-<li>AMotionEvent_getToolType()
-: <a class="el" href="group___input.html#ga2babe4e2e79952e004538f8f1878649c">input.h</a>
-</li>
-<li>AMotionEvent_getTouchMajor()
-: <a class="el" href="group___input.html#ga9ac18fe19534e07d80441582f489d471">input.h</a>
-</li>
-<li>AMotionEvent_getTouchMinor()
-: <a class="el" href="group___input.html#ga65f71e257b5fcb29dcbaaf59b3fcb3a7">input.h</a>
-</li>
-<li>AMotionEvent_getX()
-: <a class="el" href="group___input.html#ga22e255a5fa52761cd92ce78af91e9757">input.h</a>
-</li>
-<li>AMotionEvent_getXOffset()
-: <a class="el" href="group___input.html#ga7a94ce622eb78a17737fd8bddbf86e21">input.h</a>
-</li>
-<li>AMotionEvent_getXPrecision()
-: <a class="el" href="group___input.html#ga81a9be07673a01f43fd0241c7b4c254f">input.h</a>
-</li>
-<li>AMotionEvent_getY()
-: <a class="el" href="group___input.html#ga113f58a37e41f2a6c3007d68418edfa6">input.h</a>
-</li>
-<li>AMotionEvent_getYOffset()
-: <a class="el" href="group___input.html#ga7f6bd2c12d912f502c245b6ced6d3704">input.h</a>
-</li>
-<li>AMotionEvent_getYPrecision()
-: <a class="el" href="group___input.html#gae311e6e28bce4be905526f9ea71278ed">input.h</a>
-</li>
-<li>ANativeActivity_finish()
-: <a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">native_activity.h</a>
-</li>
-<li>ANativeActivity_hideSoftInput()
-: <a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">native_activity.h</a>
-</li>
-<li>ANativeActivity_setWindowFlags()
-: <a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">native_activity.h</a>
-</li>
-<li>ANativeActivity_setWindowFormat()
-: <a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">native_activity.h</a>
-</li>
-<li>ANativeActivity_showSoftInput()
-: <a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">native_activity.h</a>
-</li>
-<li>ANativeWindow_acquire()
-: <a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">native_window.h</a>
-</li>
-<li>ANativeWindow_fromSurface()
-: <a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">native_window_jni.h</a>
-</li>
-<li>ANativeWindow_getFormat()
-: <a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">native_window.h</a>
-</li>
-<li>ANativeWindow_getHeight()
-: <a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">native_window.h</a>
-</li>
-<li>ANativeWindow_getWidth()
-: <a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">native_window.h</a>
-</li>
-<li>ANativeWindow_lock()
-: <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">native_window.h</a>
-</li>
-<li>ANativeWindow_release()
-: <a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">native_window.h</a>
-</li>
-<li>ANativeWindow_setBuffersGeometry()
-: <a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">native_window.h</a>
-</li>
-<li>ANativeWindow_unlockAndPost()
-: <a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">native_window.h</a>
-</li>
-<li>AndroidBitmap_getInfo()
-: <a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">bitmap.h</a>
-</li>
-<li>AndroidBitmap_lockPixels()
-: <a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">bitmap.h</a>
-</li>
-<li>AndroidBitmap_unlockPixels()
-: <a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">bitmap.h</a>
-</li>
-<li>AObbInfo_delete()
-: <a class="el" href="group___storage.html#gaec5a4428008f545e829486099298031a">obb.h</a>
-</li>
-<li>AObbInfo_getFlags()
-: <a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">obb.h</a>
-</li>
-<li>AObbInfo_getPackageName()
-: <a class="el" href="group___storage.html#ga1ec7eee61541fa5a9b578801a35b9cf3">obb.h</a>
-</li>
-<li>AObbInfo_getVersion()
-: <a class="el" href="group___storage.html#gacd8471c6d866cffe4a32f3b5997c782c">obb.h</a>
-</li>
-<li>AObbScanner_getObbInfo()
-: <a class="el" href="group___storage.html#ga7beb4f82e3bf9a4b8197917f92ac4d5e">obb.h</a>
-</li>
-<li>ASensor_getFifoMaxEventCount()
-: <a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">sensor.h</a>
-</li>
-<li>ASensor_getFifoReservedEventCount()
-: <a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">sensor.h</a>
-</li>
-<li>ASensor_getMinDelay()
-: <a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">sensor.h</a>
-</li>
-<li>ASensor_getName()
-: <a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">sensor.h</a>
-</li>
-<li>ASensor_getReportingMode()
-: <a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">sensor.h</a>
-</li>
-<li>ASensor_getResolution()
-: <a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">sensor.h</a>
-</li>
-<li>ASensor_getStringType()
-: <a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">sensor.h</a>
-</li>
-<li>ASensor_getType()
-: <a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">sensor.h</a>
-</li>
-<li>ASensor_getVendor()
-: <a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">sensor.h</a>
-</li>
-<li>ASensor_isWakeUpSensor()
-: <a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">sensor.h</a>
-</li>
-<li>ASensorEventQueue_disableSensor()
-: <a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">sensor.h</a>
-</li>
-<li>ASensorEventQueue_enableSensor()
-: <a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">sensor.h</a>
-</li>
-<li>ASensorEventQueue_getEvents()
-: <a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">sensor.h</a>
-</li>
-<li>ASensorEventQueue_hasEvents()
-: <a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">sensor.h</a>
-</li>
-<li>ASensorEventQueue_setEventRate()
-: <a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">sensor.h</a>
-</li>
-<li>ASensorManager_createEventQueue()
-: <a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">sensor.h</a>
-</li>
-<li>ASensorManager_destroyEventQueue()
-: <a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">sensor.h</a>
-</li>
-<li>ASensorManager_getDefaultSensor()
-: <a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">sensor.h</a>
-</li>
-<li>ASensorManager_getDefaultSensorEx()
-: <a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">sensor.h</a>
-</li>
-<li>ASensorManager_getInstance()
-: <a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">sensor.h</a>
-</li>
-<li>ASensorManager_getSensorList()
-: <a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">sensor.h</a>
-</li>
-<li>AStorageManager_delete()
-: <a class="el" href="group___storage.html#ga184c06dd9cec0f21db138167d6b331ed">storage_manager.h</a>
-</li>
-<li>AStorageManager_getMountedObbPath()
-: <a class="el" href="group___storage.html#gad5c90305d627e0c768da37cb3e9f08c4">storage_manager.h</a>
-</li>
-<li>AStorageManager_isObbMounted()
-: <a class="el" href="group___storage.html#ga7572f2c650fc16cce1b0ab94e913a1ba">storage_manager.h</a>
-</li>
-<li>AStorageManager_mountObb()
-: <a class="el" href="group___storage.html#ga61bebaf43e57b4b7f57e7a24a62e9e3d">storage_manager.h</a>
-</li>
-<li>AStorageManager_new()
-: <a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">storage_manager.h</a>
-</li>
-<li>AStorageManager_unmountObb()
-: <a class="el" href="group___storage.html#ga4c32c8d2c780016fa36097d833b57809">storage_manager.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_type.jd b/docs/html/ndk/reference/globals_type.jd
deleted file mode 100644
index 99fa859..0000000
--- a/docs/html/ndk/reference/globals_type.jd
+++ /dev/null
@@ -1,90 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;<ul>
-<li>AAsset
-: <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">asset_manager.h</a>
-</li>
-<li>AAssetDir
-: <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">asset_manager.h</a>
-</li>
-<li>AAssetManager
-: <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">asset_manager.h</a>
-</li>
-<li>AConfiguration
-: <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">configuration.h</a>
-</li>
-<li>AHeartRateEvent
-: <a class="el" href="group___sensor.html#gae85b6eac76abe74e6e53d78bb3a4858c">sensor.h</a>
-</li>
-<li>AInputEvent
-: <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">input.h</a>
-</li>
-<li>AInputQueue
-: <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">input.h</a>
-</li>
-<li>ALooper
-: <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">looper.h</a>
-</li>
-<li>ALooper_callbackFunc
-: <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">looper.h</a>
-</li>
-<li>AMetaDataEvent
-: <a class="el" href="group___sensor.html#ga0378daec23b2d8a70438ef7c3912475f">sensor.h</a>
-</li>
-<li>ANativeActivity
-: <a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">native_activity.h</a>
-</li>
-<li>ANativeActivity_createFunc
-: <a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">native_activity.h</a>
-</li>
-<li>ANativeActivityCallbacks
-: <a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">native_activity.h</a>
-</li>
-<li>ANativeWindow
-: <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">native_window.h</a>
-</li>
-<li>ANativeWindow_Buffer
-: <a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">native_window.h</a>
-</li>
-<li>AObbInfo
-: <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">obb.h</a>
-</li>
-<li>ARect
-: <a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">rect.h</a>
-</li>
-<li>ASensor
-: <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">sensor.h</a>
-</li>
-<li>ASensorEvent
-: <a class="el" href="group___sensor.html#ga6bb167c45f0ef0a94d8f178d227e781f">sensor.h</a>
-</li>
-<li>ASensorEventQueue
-: <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">sensor.h</a>
-</li>
-<li>ASensorList
-: <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">sensor.h</a>
-</li>
-<li>ASensorManager
-: <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">sensor.h</a>
-</li>
-<li>ASensorRef
-: <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">sensor.h</a>
-</li>
-<li>ASensorVector
-: <a class="el" href="group___sensor.html#ga207e807f9e18271f6a763e57232b409f">sensor.h</a>
-</li>
-<li>AStorageManager
-: <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">storage_manager.h</a>
-</li>
-<li>AStorageManager_obbCallbackFunc
-: <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">storage_manager.h</a>
-</li>
-<li>AUncalibratedEvent
-: <a class="el" href="group___sensor.html#ga24acc545b908dd24cadc44c5e0760b3b">sensor.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_vars.jd b/docs/html/ndk/reference/globals_vars.jd
deleted file mode 100644
index e6bd2a4..0000000
--- a/docs/html/ndk/reference/globals_vars.jd
+++ /dev/null
@@ -1,12 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;<ul>
-<li>ANativeActivity_onCreate
-: <a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">native_activity.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_w.jd b/docs/html/ndk/reference/globals_w.jd
deleted file mode 100644
index b72e8c2..0000000
--- a/docs/html/ndk/reference/globals_w.jd
+++ /dev/null
@@ -1,20 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>WINDOW_FORMAT_RGB_565
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">native_window.h</a>
-</li>
-<li>WINDOW_FORMAT_RGBA_8888
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">native_window.h</a>
-</li>
-<li>WINDOW_FORMAT_RGBX_8888
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">native_window.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___asset.jd b/docs/html/ndk/reference/group___asset.jd
deleted file mode 100644
index c2f9067..0000000
--- a/docs/html/ndk/reference/group___asset.jd
+++ /dev/null
@@ -1,591 +0,0 @@
-page.title=Asset
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Asset</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:asset__manager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asset__manager_8h.html">asset_manager.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:asset__manager__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asset__manager__jni_8h.html">asset_manager_jni.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga90c459935e76acf809b9ec90d1872771"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a></td></tr>
-<tr class="separator:ga90c459935e76acf809b9ec90d1872771"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga001a6b9c36a06ee977b9f51ed7103cdb"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a></td></tr>
-<tr class="separator:ga001a6b9c36a06ee977b9f51ed7103cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5630b1f1aa5cd363303018cb2f12f95c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a></td></tr>
-<tr class="separator:ga5630b1f1aa5cd363303018cb2f12f95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4">AASSET_MODE_UNKNOWN</a> = 0, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f">AASSET_MODE_RANDOM</a> = 1, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74">AASSET_MODE_STREAMING</a> = 2, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb">AASSET_MODE_BUFFER</a> = 3
- }</td></tr>
-<tr class="separator:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gab5b57ff012d6d1024d8bf5d30aedced4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gab5b57ff012d6d1024d8bf5d30aedced4">AAssetManager_openDir</a> (<a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *mgr, const char *dirName)</td></tr>
-<tr class="separator:gab5b57ff012d6d1024d8bf5d30aedced4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0037ce3c10a591fe632f34c1aa62955c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">AAssetManager_open</a> (<a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *mgr, const char *filename, int mode)</td></tr>
-<tr class="separator:ga0037ce3c10a591fe632f34c1aa62955c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4703b9f7baa3daeba248b6547de6b9b0"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">AAssetDir_getNextFileName</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:ga4703b9f7baa3daeba248b6547de6b9b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga45db6d19ad5e1c0f9b2e6b4059da14b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga45db6d19ad5e1c0f9b2e6b4059da14b3">AAssetDir_rewind</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:ga45db6d19ad5e1c0f9b2e6b4059da14b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gace1c4d0da274d643c5b10ca218cc6088"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">AAssetDir_close</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:gace1c4d0da274d643c5b10ca218cc6088"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaadd86322c1fda5121b6d33745c317fb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gaadd86322c1fda5121b6d33745c317fb9">AAsset_read</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, void *buf, size_t count)</td></tr>
-<tr class="separator:gaadd86322c1fda5121b6d33745c317fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacc026a8bedeb1ef80bf12df3b72611a2"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gacc026a8bedeb1ef80bf12df3b72611a2">AAsset_seek</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off_t offset, int whence)</td></tr>
-<tr class="separator:gacc026a8bedeb1ef80bf12df3b72611a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga81fbe4368de24a3296ef7a6eba0053c7"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga81fbe4368de24a3296ef7a6eba0053c7">AAsset_seek64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off64_t offset, int whence)</td></tr>
-<tr class="separator:ga81fbe4368de24a3296ef7a6eba0053c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f241e49f691dafcada23bcb76155122"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">AAsset_close</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga1f241e49f691dafcada23bcb76155122"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga553a14512a98542306238c3ce70d344f"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga553a14512a98542306238c3ce70d344f">AAsset_getBuffer</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga553a14512a98542306238c3ce70d344f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaad8ec42e28522ebc72d3a5c357f9a600"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gaad8ec42e28522ebc72d3a5c357f9a600">AAsset_getLength</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:gaad8ec42e28522ebc72d3a5c357f9a600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga55c8bc459327d5d23089e6a4b453f3f1"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga55c8bc459327d5d23089e6a4b453f3f1">AAsset_getLength64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga55c8bc459327d5d23089e6a4b453f3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae806f55cbc4a93ca245f2adfd63d3eee"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gae806f55cbc4a93ca245f2adfd63d3eee">AAsset_getRemainingLength</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:gae806f55cbc4a93ca245f2adfd63d3eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga21e7221d88dcc44106843192b66755b5"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga21e7221d88dcc44106843192b66755b5">AAsset_getRemainingLength64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga21e7221d88dcc44106843192b66755b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1af4ffd050016e99961e24f550981677"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga1af4ffd050016e99961e24f550981677">AAsset_openFileDescriptor</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off_t *outStart, off_t *outLength)</td></tr>
-<tr class="separator:ga1af4ffd050016e99961e24f550981677"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga123a44a575f85d91a00a8456dab7bd0a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga123a44a575f85d91a00a8456dab7bd0a">AAsset_openFileDescriptor64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off64_t *outStart, off64_t *outLength)</td></tr>
-<tr class="separator:ga123a44a575f85d91a00a8456dab7bd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga20344cb952a77fa1004f592fb1b55124"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga20344cb952a77fa1004f592fb1b55124">AAsset_isAllocated</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga20344cb952a77fa1004f592fb1b55124"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadfd6537af41577735bcaee52120127f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">AAssetManager_fromJava</a> (JNIEnv *env, jobject assetManager)</td></tr>
-<tr class="separator:gadfd6537af41577735bcaee52120127f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="ga5630b1f1aa5cd363303018cb2f12f95c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> provides access to a read-only asset.</p>
-<p><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> objects are NOT thread-safe, and should not be shared across threads. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga001a6b9c36a06ee977b9f51ed7103cdb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> provides access to a chunk of the asset hierarchy as if it were a single directory. The contents are populated by the <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>.</p>
-<p>The list of files will be sorted in ascending order by ASCII value. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga90c459935e76acf809b9ec90d1872771"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> provides access to an application's raw assets by creating <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> objects.</p>
-<p>AAssetManager is a wrapper to the low-level native implementation of the java <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>, a pointer can be obtained using <a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">AAssetManager_fromJava()</a>.</p>
-<p>The asset hierarchy may be examined like a filesystem, using <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> objects to peruse a single directory.</p>
-<p>A native <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> pointer may be shared across multiple threads. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Available access modes for opening assets with <a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">AAssetManager_open</a> </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4"></a>AASSET_MODE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>No specific information about how data will be accessed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f"></a>AASSET_MODE_RANDOM</em>&#160;</td><td class="fielddoc">
-<p>Read chunks, and seek forward and backward. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74"></a>AASSET_MODE_STREAMING</em>&#160;</td><td class="fielddoc">
-<p>Read sequentially, with an occasional forward seek. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb"></a>AASSET_MODE_BUFFER</em>&#160;</td><td class="fielddoc">
-<p>Caller plans to ask for a read-only buffer with all data. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga1f241e49f691dafcada23bcb76155122"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AAsset_close </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Close the asset, freeing all associated resources. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga553a14512a98542306238c3ce70d344f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const void* AAsset_getBuffer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get a pointer to a buffer holding the entire contents of the assset.</p>
-<p>Returns NULL on failure. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaad8ec42e28522ebc72d3a5c357f9a600"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off_t AAsset_getLength </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report the total size of the asset data. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga55c8bc459327d5d23089e6a4b453f3f1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off64_t AAsset_getLength64 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report the total size of the asset data. Reports the size using a 64-bit number insted of 32-bit as AAsset_getLength. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae806f55cbc4a93ca245f2adfd63d3eee"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off_t AAsset_getRemainingLength </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report the total amount of asset data that can be read from the current position. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga21e7221d88dcc44106843192b66755b5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off64_t AAsset_getRemainingLength64 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report the total amount of asset data that can be read from the current position.</p>
-<p>Uses a 64-bit number instead of a 32-bit number as AAsset_getRemainingLength does. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga20344cb952a77fa1004f592fb1b55124"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AAsset_isAllocated </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns whether this asset's internal buffer is allocated in ordinary RAM (i.e. not mmapped). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1af4ffd050016e99961e24f550981677"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AAsset_openFileDescriptor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off_t *&#160;</td>
-          <td class="paramname"><em>outStart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off_t *&#160;</td>
-          <td class="paramname"><em>outLength</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Open a new file descriptor that can be used to read the asset data. If the start or length cannot be represented by a 32-bit number, it will be truncated. If the file is large, use AAsset_openFileDescriptor64 instead.</p>
-<p>Returns &lt; 0 if direct fd access is not possible (for example, if the asset is compressed). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga123a44a575f85d91a00a8456dab7bd0a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AAsset_openFileDescriptor64 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off64_t *&#160;</td>
-          <td class="paramname"><em>outStart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off64_t *&#160;</td>
-          <td class="paramname"><em>outLength</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Open a new file descriptor that can be used to read the asset data.</p>
-<p>Uses a 64-bit number for the offset and length instead of 32-bit instead of as AAsset_openFileDescriptor does.</p>
-<p>Returns &lt; 0 if direct fd access is not possible (for example, if the asset is compressed). </p>
-
-</div>
-</div>
-<a class="anchor" id="gaadd86322c1fda5121b6d33745c317fb9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AAsset_read </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>count</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Attempt to read 'count' bytes of data from the current offset.</p>
-<p>Returns the number of bytes read, zero on EOF, or &lt; 0 on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="gacc026a8bedeb1ef80bf12df3b72611a2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off_t AAsset_seek </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off_t&#160;</td>
-          <td class="paramname"><em>offset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>whence</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Seek to the specified offset within the asset data. 'whence' uses the same constants as lseek()/fseek().</p>
-<p>Returns the new position on success, or (off_t) -1 on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga81fbe4368de24a3296ef7a6eba0053c7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off64_t AAsset_seek64 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off64_t&#160;</td>
-          <td class="paramname"><em>offset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>whence</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Seek to the specified offset within the asset data. 'whence' uses the same constants as lseek()/fseek().</p>
-<p>Uses 64-bit data type for large files as opposed to the 32-bit type used by AAsset_seek.</p>
-<p>Returns the new position on success, or (off64_t) -1 on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="gace1c4d0da274d643c5b10ca218cc6088"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AAssetDir_close </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td>
-          <td class="paramname"><em>assetDir</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Close an opened AAssetDir, freeing any related resources. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4703b9f7baa3daeba248b6547de6b9b0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* AAssetDir_getNextFileName </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td>
-          <td class="paramname"><em>assetDir</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Iterate over the files in an asset directory. A NULL string is returned when all the file names have been returned.</p>
-<p>The returned file name is suitable for passing to <a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">AAssetManager_open()</a>.</p>
-<p>The string returned here is owned by the AssetDir implementation and is not guaranteed to remain valid if any other calls are made on this AAssetDir instance. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga45db6d19ad5e1c0f9b2e6b4059da14b3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AAssetDir_rewind </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td>
-          <td class="paramname"><em>assetDir</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Reset the iteration state of <a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">AAssetDir_getNextFileName()</a> to the beginning. </p>
-
-</div>
-</div>
-<a class="anchor" id="gadfd6537af41577735bcaee52120127f4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>* AAssetManager_fromJava </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>assetManager</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Given a Dalvik AssetManager object, obtain the corresponding native AAssetManager object. Note that the caller is responsible for obtaining and holding a VM reference to the jobject to prevent its being garbage collected while the native object is in use. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0037ce3c10a591fe632f34c1aa62955c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a>* AAssetManager_open </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>mode</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Open an asset.</p>
-<p>The object returned here should be freed by calling <a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">AAsset_close()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab5b57ff012d6d1024d8bf5d30aedced4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a>* AAssetManager_openDir </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>dirName</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Open the named directory within the asset hierarchy. The directory can then be inspected with the AAssetDir functions. To open the top-level directory, pass in "" as the dirName.</p>
-<p>The object returned here should be freed by calling <a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">AAssetDir_close()</a>. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___bitmap.jd b/docs/html/ndk/reference/group___bitmap.jd
deleted file mode 100644
index 2f2b199..0000000
--- a/docs/html/ndk/reference/group___bitmap.jd
+++ /dev/null
@@ -1,230 +0,0 @@
-page.title=Bitmap
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Bitmap</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:bitmap_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bitmap_8h.html">bitmap.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gafb665ac9fefad34ac5c035f5d1314080"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">ANDROID_BITMAP_RESUT_SUCCESS</a>&#160;&#160;&#160;<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a></td></tr>
-<tr class="separator:gafb665ac9fefad34ac5c035f5d1314080"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a> = 0, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">ANDROID_BITMAP_RESULT_BAD_PARAMETER</a> = -1, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">ANDROID_BITMAP_RESULT_JNI_EXCEPTION</a> = -2, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">ANDROID_BITMAP_RESULT_ALLOCATION_FAILED</a> = -3
- }</td></tr>
-<tr class="separator:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaea286a2d4c61ae2abb02b51500499f13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a> { <br/>
-&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">ANDROID_BITMAP_FORMAT_NONE</a> = 0, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">ANDROID_BITMAP_FORMAT_RGBA_8888</a> = 1, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">ANDROID_BITMAP_FORMAT_RGB_565</a> = 4, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">ANDROID_BITMAP_FORMAT_RGBA_4444</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">ANDROID_BITMAP_FORMAT_A_8</a> = 8
-<br/>
- }</td></tr>
-<tr class="separator:gaea286a2d4c61ae2abb02b51500499f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga80292ee39d8a675928e38849742b54bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">AndroidBitmap_getInfo</a> (JNIEnv *env, jobject jbitmap, <a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> *info)</td></tr>
-<tr class="separator:ga80292ee39d8a675928e38849742b54bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">AndroidBitmap_lockPixels</a> (JNIEnv *env, jobject jbitmap, void **addrPtr)</td></tr>
-<tr class="separator:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">AndroidBitmap_unlockPixels</a> (JNIEnv *env, jobject jbitmap)</td></tr>
-<tr class="separator:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gafb665ac9fefad34ac5c035f5d1314080"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ANDROID_BITMAP_RESUT_SUCCESS&#160;&#160;&#160;<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Backward compatibility: this macro used to be misspelled. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>AndroidBitmap functions result code. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076"></a>ANDROID_BITMAP_RESULT_SUCCESS</em>&#160;</td><td class="fielddoc">
-<p>Operation was successful. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374"></a>ANDROID_BITMAP_RESULT_BAD_PARAMETER</em>&#160;</td><td class="fielddoc">
-<p>Bad parameter. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d"></a>ANDROID_BITMAP_RESULT_JNI_EXCEPTION</em>&#160;</td><td class="fielddoc">
-<p>JNI exception occured. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990"></a>ANDROID_BITMAP_RESULT_ALLOCATION_FAILED</em>&#160;</td><td class="fielddoc">
-<p>Allocation failed. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaea286a2d4c61ae2abb02b51500499f13"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Bitmap pixel format. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021"></a>ANDROID_BITMAP_FORMAT_NONE</em>&#160;</td><td class="fielddoc">
-<p>No format. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057"></a>ANDROID_BITMAP_FORMAT_RGBA_8888</em>&#160;</td><td class="fielddoc">
-<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91"></a>ANDROID_BITMAP_FORMAT_RGB_565</em>&#160;</td><td class="fielddoc">
-<p>Red: 5 bits, Green: 6 bits, Blue: 5 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528"></a>ANDROID_BITMAP_FORMAT_RGBA_4444</em>&#160;</td><td class="fielddoc">
-<p>Red: 4 bits, Green: 4 bits, Blue: 4 bits, Alpha: 4 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca"></a>ANDROID_BITMAP_FORMAT_A_8</em>&#160;</td><td class="fielddoc">
-<p>Deprecated. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga80292ee39d8a675928e38849742b54bf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AndroidBitmap_getInfo </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>jbitmap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> *&#160;</td>
-          <td class="paramname"><em>info</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Given a java bitmap object, fill out the <a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> struct for it. If the call fails, the info parameter will be ignored. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2908d42fa4db286c34b7f8c11f29206f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AndroidBitmap_lockPixels </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>jbitmap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void **&#160;</td>
-          <td class="paramname"><em>addrPtr</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Given a java bitmap object, attempt to lock the pixel address. Locking will ensure that the memory for the pixels will not move until the unlockPixels call, and ensure that, if the pixels had been previously purged, they will have been restored.</p>
-<p>If this call succeeds, it must be balanced by a call to AndroidBitmap_unlockPixels, after which time the address of the pixels should no longer be used.</p>
-<p>If this succeeds, *addrPtr will be set to the pixel address. If the call fails, addrPtr will be ignored. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4aca91f37baddd42d0051dca8179d4ed"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AndroidBitmap_unlockPixels </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>jbitmap</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Call this to balance a successful call to AndroidBitmap_lockPixels. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___configuration.jd b/docs/html/ndk/reference/group___configuration.jd
deleted file mode 100644
index 708722e..0000000
--- a/docs/html/ndk/reference/group___configuration.jd
+++ /dev/null
@@ -1,1557 +0,0 @@
-page.title=Configuration
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Configuration</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:configuration_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8h.html">configuration.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga6709434d0f99b8367d0df2dfdfbef45a"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a></td></tr>
-<tr class="separator:ga6709434d0f99b8367d0df2dfdfbef45a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f">ACONFIGURATION_ORIENTATION_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe">ACONFIGURATION_ORIENTATION_PORT</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3">ACONFIGURATION_ORIENTATION_LAND</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">ACONFIGURATION_ORIENTATION_SQUARE</a> = 0x0003, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6">ACONFIGURATION_TOUCHSCREEN_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0">ACONFIGURATION_TOUCHSCREEN_NOTOUCH</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">ACONFIGURATION_TOUCHSCREEN_STYLUS</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e">ACONFIGURATION_TOUCHSCREEN_FINGER</a> = 0x0003, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c">ACONFIGURATION_DENSITY_DEFAULT</a> = 0, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3">ACONFIGURATION_DENSITY_LOW</a> = 120, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e">ACONFIGURATION_DENSITY_MEDIUM</a> = 160, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f">ACONFIGURATION_DENSITY_TV</a> = 213, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb">ACONFIGURATION_DENSITY_HIGH</a> = 240, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0">ACONFIGURATION_DENSITY_XHIGH</a> = 320, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4">ACONFIGURATION_DENSITY_XXHIGH</a> = 480, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec">ACONFIGURATION_DENSITY_XXXHIGH</a> = 640, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534">ACONFIGURATION_DENSITY_ANY</a> = 0xfffe, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7">ACONFIGURATION_DENSITY_NONE</a> = 0xffff, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a">ACONFIGURATION_KEYBOARD_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918">ACONFIGURATION_KEYBOARD_NOKEYS</a> = 0x0001, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf">ACONFIGURATION_KEYBOARD_QWERTY</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea">ACONFIGURATION_KEYBOARD_12KEY</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47">ACONFIGURATION_NAVIGATION_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a">ACONFIGURATION_NAVIGATION_NONAV</a> = 0x0001, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5">ACONFIGURATION_NAVIGATION_DPAD</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4">ACONFIGURATION_NAVIGATION_TRACKBALL</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea">ACONFIGURATION_NAVIGATION_WHEEL</a> = 0x0004, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c">ACONFIGURATION_KEYSHIDDEN_ANY</a> = 0x0000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2">ACONFIGURATION_KEYSHIDDEN_NO</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf">ACONFIGURATION_KEYSHIDDEN_YES</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c">ACONFIGURATION_KEYSHIDDEN_SOFT</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3">ACONFIGURATION_NAVHIDDEN_ANY</a> = 0x0000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5">ACONFIGURATION_NAVHIDDEN_NO</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5">ACONFIGURATION_NAVHIDDEN_YES</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e">ACONFIGURATION_SCREENSIZE_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c">ACONFIGURATION_SCREENSIZE_SMALL</a> = 0x01, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2">ACONFIGURATION_SCREENSIZE_NORMAL</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12">ACONFIGURATION_SCREENSIZE_LARGE</a> = 0x03, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c">ACONFIGURATION_SCREENSIZE_XLARGE</a> = 0x04, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f">ACONFIGURATION_SCREENLONG_ANY</a> = 0x00, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5">ACONFIGURATION_SCREENLONG_NO</a> = 0x1, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd">ACONFIGURATION_SCREENLONG_YES</a> = 0x2, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c">ACONFIGURATION_UI_MODE_TYPE_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e">ACONFIGURATION_UI_MODE_TYPE_NORMAL</a> = 0x01, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077">ACONFIGURATION_UI_MODE_TYPE_DESK</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f">ACONFIGURATION_UI_MODE_TYPE_CAR</a> = 0x03, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969">ACONFIGURATION_UI_MODE_TYPE_TELEVISION</a> = 0x04, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3">ACONFIGURATION_UI_MODE_TYPE_APPLIANCE</a> = 0x05, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131">ACONFIGURATION_UI_MODE_TYPE_WATCH</a> = 0x06, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1">ACONFIGURATION_UI_MODE_NIGHT_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7">ACONFIGURATION_UI_MODE_NIGHT_NO</a> = 0x1, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046">ACONFIGURATION_UI_MODE_NIGHT_YES</a> = 0x2, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa">ACONFIGURATION_SCREEN_WIDTH_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432">ACONFIGURATION_SCREEN_HEIGHT_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702">ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe">ACONFIGURATION_LAYOUTDIR_ANY</a> = 0x00, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83">ACONFIGURATION_LAYOUTDIR_LTR</a> = 0x01, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870">ACONFIGURATION_LAYOUTDIR_RTL</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28">ACONFIGURATION_MCC</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5">ACONFIGURATION_MNC</a> = 0x0002, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4">ACONFIGURATION_LOCALE</a> = 0x0004, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561">ACONFIGURATION_TOUCHSCREEN</a> = 0x0008, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88">ACONFIGURATION_KEYBOARD</a> = 0x0010, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416">ACONFIGURATION_KEYBOARD_HIDDEN</a> = 0x0020, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b">ACONFIGURATION_NAVIGATION</a> = 0x0040, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786">ACONFIGURATION_ORIENTATION</a> = 0x0080, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1">ACONFIGURATION_DENSITY</a> = 0x0100, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72">ACONFIGURATION_SCREEN_SIZE</a> = 0x0200, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b">ACONFIGURATION_VERSION</a> = 0x0400, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c">ACONFIGURATION_SCREEN_LAYOUT</a> = 0x0800, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e">ACONFIGURATION_UI_MODE</a> = 0x1000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de">ACONFIGURATION_SMALLEST_SCREEN_SIZE</a> = 0x2000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2">ACONFIGURATION_LAYOUTDIR</a> = 0x4000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c">ACONFIGURATION_MNC_ZERO</a> = 0xffff
-<br/>
- }</td></tr>
-<tr class="separator:ga99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9543655922980466eb05c7be94a0a567"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">AConfiguration_new</a> ()</td></tr>
-<tr class="separator:ga9543655922980466eb05c7be94a0a567"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga60fe264b97da84d3370eb9e220159e6d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga60fe264b97da84d3370eb9e220159e6d">AConfiguration_delete</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga60fe264b97da84d3370eb9e220159e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga75e061fd0b4f761e08e43af36508c4f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">AConfiguration_fromAssetManager</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *out, <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *am)</td></tr>
-<tr class="separator:ga75e061fd0b4f761e08e43af36508c4f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabff04218a0a76afb8d3ea551b001565"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaabff04218a0a76afb8d3ea551b001565">AConfiguration_copy</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *dest, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *src)</td></tr>
-<tr class="separator:gaabff04218a0a76afb8d3ea551b001565"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1e78004237a931086d2ae4bd8324bd30"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1e78004237a931086d2ae4bd8324bd30">AConfiguration_getMcc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga1e78004237a931086d2ae4bd8324bd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae6198b4eaf3e34168f4b13b8b5975d93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gae6198b4eaf3e34168f4b13b8b5975d93">AConfiguration_setMcc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t mcc)</td></tr>
-<tr class="separator:gae6198b4eaf3e34168f4b13b8b5975d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4783776a4fad4501898472375d781fb9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4783776a4fad4501898472375d781fb9">AConfiguration_getMnc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4783776a4fad4501898472375d781fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf060ef69c3636f62e90ae0b520eecb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaaf060ef69c3636f62e90ae0b520eecb8">AConfiguration_setMnc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t mnc)</td></tr>
-<tr class="separator:gaaf060ef69c3636f62e90ae0b520eecb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7b004c13448704afb0ea2040d69468c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7b004c13448704afb0ea2040d69468c1">AConfiguration_getLanguage</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, char *outLanguage)</td></tr>
-<tr class="separator:ga7b004c13448704afb0ea2040d69468c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f3c6cf6667655f83777acda7387ddff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1f3c6cf6667655f83777acda7387ddff">AConfiguration_setLanguage</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, const char *language)</td></tr>
-<tr class="separator:ga1f3c6cf6667655f83777acda7387ddff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad2b47f787012a82a67a20e5de5211d46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad2b47f787012a82a67a20e5de5211d46">AConfiguration_getCountry</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, char *outCountry)</td></tr>
-<tr class="separator:gad2b47f787012a82a67a20e5de5211d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac2f5d414a6466634b1639b5c6f8879ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gac2f5d414a6466634b1639b5c6f8879ac">AConfiguration_setCountry</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, const char *country)</td></tr>
-<tr class="separator:gac2f5d414a6466634b1639b5c6f8879ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7d8e3e9871dc925fef3e342a92e4e22"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaa7d8e3e9871dc925fef3e342a92e4e22">AConfiguration_getOrientation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gaa7d8e3e9871dc925fef3e342a92e4e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadcaa8540bad4172a74032143bcaade04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gadcaa8540bad4172a74032143bcaade04">AConfiguration_setOrientation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t orientation)</td></tr>
-<tr class="separator:gadcaa8540bad4172a74032143bcaade04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad305e6cf86fa915c24212e71bb2bf027"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad305e6cf86fa915c24212e71bb2bf027">AConfiguration_getTouchscreen</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gad305e6cf86fa915c24212e71bb2bf027"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0d51dbe710c1afe31ece4dd6a8c188ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga0d51dbe710c1afe31ece4dd6a8c188ff">AConfiguration_setTouchscreen</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t touchscreen)</td></tr>
-<tr class="separator:ga0d51dbe710c1afe31ece4dd6a8c188ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c994e0555947340582094c3da32a663"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4c994e0555947340582094c3da32a663">AConfiguration_getDensity</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4c994e0555947340582094c3da32a663"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9217af9858a7166dcb9a877192779eac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9217af9858a7166dcb9a877192779eac">AConfiguration_setDensity</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t density)</td></tr>
-<tr class="separator:ga9217af9858a7166dcb9a877192779eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd0f76ccd4fe4bda5172b8e0bc6675e4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafd0f76ccd4fe4bda5172b8e0bc6675e4">AConfiguration_getKeyboard</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gafd0f76ccd4fe4bda5172b8e0bc6675e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4ab3429c5505c108c09349f1ddef572f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4ab3429c5505c108c09349f1ddef572f">AConfiguration_setKeyboard</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t keyboard)</td></tr>
-<tr class="separator:ga4ab3429c5505c108c09349f1ddef572f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae3ff1541b63f5b9256f7c0ebae372977"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gae3ff1541b63f5b9256f7c0ebae372977">AConfiguration_getNavigation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gae3ff1541b63f5b9256f7c0ebae372977"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad21dd14fb823a6a80b66132a05ce8913"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad21dd14fb823a6a80b66132a05ce8913">AConfiguration_setNavigation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t navigation)</td></tr>
-<tr class="separator:gad21dd14fb823a6a80b66132a05ce8913"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a8317ab975f621f3fe62ed1b44f2605"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7a8317ab975f621f3fe62ed1b44f2605">AConfiguration_getKeysHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga7a8317ab975f621f3fe62ed1b44f2605"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a80a02aa10cfa17de0795054e927183"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga5a80a02aa10cfa17de0795054e927183">AConfiguration_setKeysHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t keysHidden)</td></tr>
-<tr class="separator:ga5a80a02aa10cfa17de0795054e927183"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe8d3a9c2f715ea76c8e4a99c2db9eaa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafe8d3a9c2f715ea76c8e4a99c2db9eaa">AConfiguration_getNavHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gafe8d3a9c2f715ea76c8e4a99c2db9eaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga67e86e0347596421771af841710308d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga67e86e0347596421771af841710308d5">AConfiguration_setNavHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t navHidden)</td></tr>
-<tr class="separator:ga67e86e0347596421771af841710308d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4aa7062198e5aacd9fabb04d0453dd91"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4aa7062198e5aacd9fabb04d0453dd91">AConfiguration_getSdkVersion</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4aa7062198e5aacd9fabb04d0453dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga06c66072902ee455011120188ca4810b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga06c66072902ee455011120188ca4810b">AConfiguration_setSdkVersion</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t sdkVersion)</td></tr>
-<tr class="separator:ga06c66072902ee455011120188ca4810b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9d2c1b8731795d8e74be7e23cbc77552"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9d2c1b8731795d8e74be7e23cbc77552">AConfiguration_getScreenSize</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga9d2c1b8731795d8e74be7e23cbc77552"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7bcf05150933ead34a01061d05ad3245"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7bcf05150933ead34a01061d05ad3245">AConfiguration_setScreenSize</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t screenSize)</td></tr>
-<tr class="separator:ga7bcf05150933ead34a01061d05ad3245"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab7d1f5aa59e8fa4db0a1b91bb322034c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gab7d1f5aa59e8fa4db0a1b91bb322034c">AConfiguration_getScreenLong</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gab7d1f5aa59e8fa4db0a1b91bb322034c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaed853ab7e2bc915591d05997130bc448"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaed853ab7e2bc915591d05997130bc448">AConfiguration_setScreenLong</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t screenLong)</td></tr>
-<tr class="separator:gaed853ab7e2bc915591d05997130bc448"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1d75777892f38208feb3d2a94a977fcf"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1d75777892f38208feb3d2a94a977fcf">AConfiguration_getUiModeType</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga1d75777892f38208feb3d2a94a977fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec61e3cf91cd79e8b76a35bbcb15789d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaec61e3cf91cd79e8b76a35bbcb15789d">AConfiguration_setUiModeType</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t uiModeType)</td></tr>
-<tr class="separator:gaec61e3cf91cd79e8b76a35bbcb15789d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga447f16a9e4f8400e5e0328900749ff16"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga447f16a9e4f8400e5e0328900749ff16">AConfiguration_getUiModeNight</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga447f16a9e4f8400e5e0328900749ff16"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga08df1e801afbe4a12411e393b8141e42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga08df1e801afbe4a12411e393b8141e42">AConfiguration_setUiModeNight</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t uiModeNight)</td></tr>
-<tr class="separator:ga08df1e801afbe4a12411e393b8141e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61e5fe9612c170c33e1c7e9fb92f2219"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga61e5fe9612c170c33e1c7e9fb92f2219">AConfiguration_getScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga61e5fe9612c170c33e1c7e9fb92f2219"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafc51d45679095965fe3ba1abd402f120"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafc51d45679095965fe3ba1abd402f120">AConfiguration_setScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:gafc51d45679095965fe3ba1abd402f120"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9905a4765f8d0d921c476ebce01c7648"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9905a4765f8d0d921c476ebce01c7648">AConfiguration_getScreenHeightDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga9905a4765f8d0d921c476ebce01c7648"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6ffac3b41415ec8a3031737ccdcd63b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6ffac3b41415ec8a3031737ccdcd63b8">AConfiguration_setScreenHeightDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:ga6ffac3b41415ec8a3031737ccdcd63b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7fc015e41fad342edba66a003d9848aa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7fc015e41fad342edba66a003d9848aa">AConfiguration_getSmallestScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga7fc015e41fad342edba66a003d9848aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b004c9585671efc5cebd96c1d43c4f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6b004c9585671efc5cebd96c1d43c4f0">AConfiguration_setSmallestScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:ga6b004c9585671efc5cebd96c1d43c4f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga13dbf2fc9a382c62b391e7de9cf9b468"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga13dbf2fc9a382c62b391e7de9cf9b468">AConfiguration_getLayoutDirection</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga13dbf2fc9a382c62b391e7de9cf9b468"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf47215cf551594f8c2a0594419b47e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaaf47215cf551594f8c2a0594419b47e1">AConfiguration_setLayoutDirection</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:gaaf47215cf551594f8c2a0594419b47e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabfe69b0dccae425a16fe94d084f20402"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gabfe69b0dccae425a16fe94d084f20402">AConfiguration_diff</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config1, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config2)</td></tr>
-<tr class="separator:gabfe69b0dccae425a16fe94d084f20402"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafb27b901a1d7d44ed866608fb8399a18"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">AConfiguration_match</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *base, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *requested)</td></tr>
-<tr class="separator:gafb27b901a1d7d44ed866608fb8399a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafd2bb31057c8d57efcea7603458d2a8d">AConfiguration_isBetterThan</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *base, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *test, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *requested)</td></tr>
-<tr class="separator:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="ga6709434d0f99b8367d0df2dfdfbef45a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> is an opaque type used to get and set various subsystem configurations.</p>
-<p>A <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> pointer can be obtained using:</p>
-<ul>
-<li><a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">AConfiguration_new()</a></li>
-<li><a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">AConfiguration_fromAssetManager()</a> </li>
-</ul>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga99fb83031ce9923c84392b4e92f956b5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define flags and constants for various subsystem configurations. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f"></a>ACONFIGURATION_ORIENTATION_ANY</em>&#160;</td><td class="fielddoc">
-<p>Orientation: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe"></a>ACONFIGURATION_ORIENTATION_PORT</em>&#160;</td><td class="fielddoc">
-<p>Orientation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#OrientationQualifier">port</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3"></a>ACONFIGURATION_ORIENTATION_LAND</em>&#160;</td><td class="fielddoc">
-<p>Orientation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#OrientationQualifier">land</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f"></a>ACONFIGURATION_ORIENTATION_SQUARE</em>&#160;</td><td class="fielddoc">
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Not currently supported or used. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6"></a>ACONFIGURATION_TOUCHSCREEN_ANY</em>&#160;</td><td class="fielddoc">
-<p>Touchscreen: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0"></a>ACONFIGURATION_TOUCHSCREEN_NOTOUCH</em>&#160;</td><td class="fielddoc">
-<p>Touchscreen: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#TouchscreenQualifier">notouch</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f"></a>ACONFIGURATION_TOUCHSCREEN_STYLUS</em>&#160;</td><td class="fielddoc">
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Not currently supported or used. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e"></a>ACONFIGURATION_TOUCHSCREEN_FINGER</em>&#160;</td><td class="fielddoc">
-<p>Touchscreen: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#TouchscreenQualifier">finger</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c"></a>ACONFIGURATION_DENSITY_DEFAULT</em>&#160;</td><td class="fielddoc">
-<p>Density: default density. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3"></a>ACONFIGURATION_DENSITY_LOW</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">ldpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e"></a>ACONFIGURATION_DENSITY_MEDIUM</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">mdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f"></a>ACONFIGURATION_DENSITY_TV</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">tvdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb"></a>ACONFIGURATION_DENSITY_HIGH</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">hdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0"></a>ACONFIGURATION_DENSITY_XHIGH</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">xhdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4"></a>ACONFIGURATION_DENSITY_XXHIGH</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">xxhdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec"></a>ACONFIGURATION_DENSITY_XXXHIGH</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">xxxhdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534"></a>ACONFIGURATION_DENSITY_ANY</em>&#160;</td><td class="fielddoc">
-<p>Density: any density. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7"></a>ACONFIGURATION_DENSITY_NONE</em>&#160;</td><td class="fielddoc">
-<p>Density: no density specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a"></a>ACONFIGURATION_KEYBOARD_ANY</em>&#160;</td><td class="fielddoc">
-<p>Keyboard: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918"></a>ACONFIGURATION_KEYBOARD_NOKEYS</em>&#160;</td><td class="fielddoc">
-<p>Keyboard: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ImeQualifier">nokeys</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf"></a>ACONFIGURATION_KEYBOARD_QWERTY</em>&#160;</td><td class="fielddoc">
-<p>Keyboard: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ImeQualifier">qwerty</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea"></a>ACONFIGURATION_KEYBOARD_12KEY</em>&#160;</td><td class="fielddoc">
-<p>Keyboard: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ImeQualifier">12key</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47"></a>ACONFIGURATION_NAVIGATION_ANY</em>&#160;</td><td class="fielddoc">
-<p>Navigation: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a"></a>ACONFIGURATION_NAVIGATION_NONAV</em>&#160;</td><td class="fielddoc">
-<p>Navigation: value corresponding to the <a href="@@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">nonav</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5"></a>ACONFIGURATION_NAVIGATION_DPAD</em>&#160;</td><td class="fielddoc">
-<p>Navigation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">dpad</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4"></a>ACONFIGURATION_NAVIGATION_TRACKBALL</em>&#160;</td><td class="fielddoc">
-<p>Navigation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">trackball</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea"></a>ACONFIGURATION_NAVIGATION_WHEEL</em>&#160;</td><td class="fielddoc">
-<p>Navigation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">wheel</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c"></a>ACONFIGURATION_KEYSHIDDEN_ANY</em>&#160;</td><td class="fielddoc">
-<p>Keyboard availability: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2"></a>ACONFIGURATION_KEYSHIDDEN_NO</em>&#160;</td><td class="fielddoc">
-<p>Keyboard availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keysexposed</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf"></a>ACONFIGURATION_KEYSHIDDEN_YES</em>&#160;</td><td class="fielddoc">
-<p>Keyboard availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyshidden</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c"></a>ACONFIGURATION_KEYSHIDDEN_SOFT</em>&#160;</td><td class="fielddoc">
-<p>Keyboard availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyssoft</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3"></a>ACONFIGURATION_NAVHIDDEN_ANY</em>&#160;</td><td class="fielddoc">
-<p>Navigation availability: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5"></a>ACONFIGURATION_NAVHIDDEN_NO</em>&#160;</td><td class="fielddoc">
-<p>Navigation availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavAvailQualifier">navexposed</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5"></a>ACONFIGURATION_NAVHIDDEN_YES</em>&#160;</td><td class="fielddoc">
-<p>Navigation availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavAvailQualifier">navhidden</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e"></a>ACONFIGURATION_SCREENSIZE_ANY</em>&#160;</td><td class="fielddoc">
-<p>Screen size: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c"></a>ACONFIGURATION_SCREENSIZE_SMALL</em>&#160;</td><td class="fielddoc">
-<p>Screen size: value indicating the screen is at least approximately 320x426 dp units, corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">small</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2"></a>ACONFIGURATION_SCREENSIZE_NORMAL</em>&#160;</td><td class="fielddoc">
-<p>Screen size: value indicating the screen is at least approximately 320x470 dp units, corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">normal</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12"></a>ACONFIGURATION_SCREENSIZE_LARGE</em>&#160;</td><td class="fielddoc">
-<p>Screen size: value indicating the screen is at least approximately 480x640 dp units, corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">large</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c"></a>ACONFIGURATION_SCREENSIZE_XLARGE</em>&#160;</td><td class="fielddoc">
-<p>Screen size: value indicating the screen is at least approximately 720x960 dp units, corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">xlarge</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f"></a>ACONFIGURATION_SCREENLONG_ANY</em>&#160;</td><td class="fielddoc">
-<p>Screen layout: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5"></a>ACONFIGURATION_SCREENLONG_NO</em>&#160;</td><td class="fielddoc">
-<p>Screen layout: value that corresponds to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenAspectQualifier">notlong</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd"></a>ACONFIGURATION_SCREENLONG_YES</em>&#160;</td><td class="fielddoc">
-<p>Screen layout: value that corresponds to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenAspectQualifier">long</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c"></a>ACONFIGURATION_UI_MODE_TYPE_ANY</em>&#160;</td><td class="fielddoc">
-<p>UI mode: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e"></a>ACONFIGURATION_UI_MODE_TYPE_NORMAL</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">no UI mode type</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077"></a>ACONFIGURATION_UI_MODE_TYPE_DESK</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">desk</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f"></a>ACONFIGURATION_UI_MODE_TYPE_CAR</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">car</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969"></a>ACONFIGURATION_UI_MODE_TYPE_TELEVISION</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">television</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3"></a>ACONFIGURATION_UI_MODE_TYPE_APPLIANCE</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">appliance</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131"></a>ACONFIGURATION_UI_MODE_TYPE_WATCH</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">watch</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1"></a>ACONFIGURATION_UI_MODE_NIGHT_ANY</em>&#160;</td><td class="fielddoc">
-<p>UI night mode: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7"></a>ACONFIGURATION_UI_MODE_NIGHT_NO</em>&#160;</td><td class="fielddoc">
-<p>UI night mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#NightQualifier">notnight</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046"></a>ACONFIGURATION_UI_MODE_NIGHT_YES</em>&#160;</td><td class="fielddoc">
-<p>UI night mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#NightQualifier">night</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa"></a>ACONFIGURATION_SCREEN_WIDTH_DP_ANY</em>&#160;</td><td class="fielddoc">
-<p>Screen width DPI: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432"></a>ACONFIGURATION_SCREEN_HEIGHT_DP_ANY</em>&#160;</td><td class="fielddoc">
-<p>Screen height DPI: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702"></a>ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY</em>&#160;</td><td class="fielddoc">
-<p>Smallest screen width DPI: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe"></a>ACONFIGURATION_LAYOUTDIR_ANY</em>&#160;</td><td class="fielddoc">
-<p>Layout direction: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83"></a>ACONFIGURATION_LAYOUTDIR_LTR</em>&#160;</td><td class="fielddoc">
-<p>Layout direction: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">ldltr</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870"></a>ACONFIGURATION_LAYOUTDIR_RTL</em>&#160;</td><td class="fielddoc">
-<p>Layout direction: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">ldrtl</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28"></a>ACONFIGURATION_MCC</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#MccQualifier">mcc</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5"></a>ACONFIGURATION_MNC</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#MccQualifier">mnc</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4"></a>ACONFIGURATION_LOCALE</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="{@docRoot}guide/topics/resources/providing-resources.html#LocaleQualifier">locale</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561"></a>ACONFIGURATION_TOUCHSCREEN</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#TouchscreenQualifier">touchscreen</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88"></a>ACONFIGURATION_KEYBOARD</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#ImeQualifier">keyboard</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416"></a>ACONFIGURATION_KEYBOARD_HIDDEN</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyboardHidden</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b"></a>ACONFIGURATION_NAVIGATION</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">navigation</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786"></a>ACONFIGURATION_ORIENTATION</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#OrientationQualifier">orientation</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1"></a>ACONFIGURATION_DENSITY</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">density</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72"></a>ACONFIGURATION_SCREEN_SIZE</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">screen size</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b"></a>ACONFIGURATION_VERSION</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#VersionQualifier">platform version</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c"></a>ACONFIGURATION_SCREEN_LAYOUT</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for screen layout configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e"></a>ACONFIGURATION_UI_MODE</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">ui mode</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de"></a>ACONFIGURATION_SMALLEST_SCREEN_SIZE</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#SmallestScreenWidthQualifier">smallest screen width</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2"></a>ACONFIGURATION_LAYOUTDIR</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">layout direction</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c"></a>ACONFIGURATION_MNC_ZERO</em>&#160;</td><td class="fielddoc">
-<p>Constant used to to represent MNC (Mobile Network Code) zero. 0 cannot be used, since it is used to represent an undefined MNC. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gaabff04218a0a76afb8d3ea551b001565"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>dest</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>src</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Copy the contents of 'src' to 'dest'. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga60fe264b97da84d3370eb9e220159e6d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_delete </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Free an AConfiguration that was previously created with <a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">AConfiguration_new()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gabfe69b0dccae425a16fe94d084f20402"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_diff </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config2</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Perform a diff between two configurations. Returns a bit mask of ACONFIGURATION_* constants, each bit set meaning that configuration element is different between them. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga75e061fd0b4f761e08e43af36508c4f3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_fromAssetManager </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>out</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td>
-          <td class="paramname"><em>am</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Create and return a new AConfiguration based on the current configuration in use in the given <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad2b47f787012a82a67a20e5de5211d46"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_getCountry </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>outCountry</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current country code set in the configuration. The output will be filled with an array of two characters. They are not 0-terminated. If a country is not set, they will be 0. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4c994e0555947340582094c3da32a663"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getDensity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_DENSITY_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafd0f76ccd4fe4bda5172b8e0bc6675e4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getKeyboard </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_KEYBOARD_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7a8317ab975f621f3fe62ed1b44f2605"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getKeysHidden </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_KEYSHIDDEN_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7b004c13448704afb0ea2040d69468c1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_getLanguage </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>outLanguage</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current language code set in the configuration. The output will be filled with an array of two characters. They are not 0-terminated. If a language is not set, they will be 0. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga13dbf2fc9a382c62b391e7de9cf9b468"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getLayoutDirection </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the configuration's layout direction, or ACONFIGURATION_LAYOUTDIR_ANY if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1e78004237a931086d2ae4bd8324bd30"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getMcc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current MCC set in the configuration. 0 if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4783776a4fad4501898472375d781fb9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getMnc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current MNC set in the configuration. 0 if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafe8d3a9c2f715ea76c8e4a99c2db9eaa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getNavHidden </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_NAVHIDDEN_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae3ff1541b63f5b9256f7c0ebae372977"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getNavigation </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_NAVIGATION_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa7d8e3e9871dc925fef3e342a92e4e22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getOrientation </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_ORIENTATION_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9905a4765f8d0d921c476ebce01c7648"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getScreenHeightDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current configuration screen height in dp units, or ACONFIGURATION_SCREEN_HEIGHT_DP_ANY if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab7d1f5aa59e8fa4db0a1b91bb322034c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getScreenLong </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_SCREENLONG_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9d2c1b8731795d8e74be7e23cbc77552"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getScreenSize </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_SCREENSIZE_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga61e5fe9612c170c33e1c7e9fb92f2219"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getScreenWidthDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current configuration screen width in dp units, or ACONFIGURATION_SCREEN_WIDTH_DP_ANY if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4aa7062198e5aacd9fabb04d0453dd91"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getSdkVersion </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current SDK (API) version set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7fc015e41fad342edba66a003d9848aa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getSmallestScreenWidthDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the configuration's smallest screen width in dp units, or ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad305e6cf86fa915c24212e71bb2bf027"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getTouchscreen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_TOUCHSCREEN_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga447f16a9e4f8400e5e0328900749ff16"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getUiModeNight </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_UI_MODE_NIGHT_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1d75777892f38208feb3d2a94a977fcf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getUiModeType </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_UI_MODE_TYPE_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafd2bb31057c8d57efcea7603458d2a8d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_isBetterThan </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>base</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>test</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>requested</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Determine whether the configuration in 'test' is better than the existing configuration in 'base'. If 'requested' is non-NULL, this decision is based on the overall configuration given there. If it is NULL, this decision is simply based on which configuration is more specific. Returns non-0 if 'test' is better than 'base'.</p>
-<p>This assumes you have already filtered the configurations with <a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">AConfiguration_match()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafb27b901a1d7d44ed866608fb8399a18"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_match </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>base</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>requested</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Determine whether 'base' is a valid configuration for use within the environment 'requested'. Returns 0 if there are any values in 'base' that conflict with 'requested'. Returns 1 if it does not conflict. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9543655922980466eb05c7be94a0a567"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a>* AConfiguration_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Create a new AConfiguration, initialized with no values set. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac2f5d414a6466634b1639b5c6f8879ac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setCountry </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>country</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current country code in the configuration, from the first two characters in the string. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9217af9858a7166dcb9a877192779eac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setDensity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>density</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current density in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4ab3429c5505c108c09349f1ddef572f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setKeyboard </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>keyboard</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current keyboard in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5a80a02aa10cfa17de0795054e927183"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setKeysHidden </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>keysHidden</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current keys hidden in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1f3c6cf6667655f83777acda7387ddff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setLanguage </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>language</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current language code in the configuration, from the first two characters in the string. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaaf47215cf551594f8c2a0594419b47e1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setLayoutDirection </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the configuration's layout direction. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae6198b4eaf3e34168f4b13b8b5975d93"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setMcc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>mcc</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current MCC in the configuration. 0 to clear. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaaf060ef69c3636f62e90ae0b520eecb8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setMnc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>mnc</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current MNC in the configuration. 0 to clear. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga67e86e0347596421771af841710308d5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setNavHidden </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>navHidden</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current nav hidden in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad21dd14fb823a6a80b66132a05ce8913"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setNavigation </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>navigation</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current navigation in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gadcaa8540bad4172a74032143bcaade04"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setOrientation </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>orientation</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current orientation in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6ffac3b41415ec8a3031737ccdcd63b8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setScreenHeightDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the configuration's current screen width in dp units. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaed853ab7e2bc915591d05997130bc448"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setScreenLong </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>screenLong</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current screen long in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7bcf05150933ead34a01061d05ad3245"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setScreenSize </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>screenSize</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current screen size in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafc51d45679095965fe3ba1abd402f120"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setScreenWidthDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the configuration's current screen width in dp units. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga06c66072902ee455011120188ca4810b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setSdkVersion </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>sdkVersion</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current SDK version in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6b004c9585671efc5cebd96c1d43c4f0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setSmallestScreenWidthDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the configuration's smallest screen width in dp units. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0d51dbe710c1afe31ece4dd6a8c188ff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setTouchscreen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>touchscreen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current touchscreen in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga08df1e801afbe4a12411e393b8141e42"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setUiModeNight </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>uiModeNight</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current UI mode night in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaec61e3cf91cd79e8b76a35bbcb15789d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setUiModeType </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>uiModeType</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current UI mode type in the configuration. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___input.jd b/docs/html/ndk/reference/group___input.jd
deleted file mode 100644
index 55db956..0000000
--- a/docs/html/ndk/reference/group___input.jd
+++ /dev/null
@@ -1,3682 +0,0 @@
-page.title=Input
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Input</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:input_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="input_8h.html">input.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:keycodes_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keycodes_8h.html">keycodes.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gaeb170c0fbeeed1d999160566f09f169e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaeb170c0fbeeed1d999160566f09f169e">AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT</a>&#160;&#160;&#160;8</td></tr>
-<tr class="separator:gaeb170c0fbeeed1d999160566f09f169e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gac35dbbc035371e799d8badabc981e8fa"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a></td></tr>
-<tr class="separator:gac35dbbc035371e799d8badabc981e8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga21d8182651f4b61ae558560023e8339c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a></td></tr>
-<tr class="separator:ga21d8182651f4b61ae558560023e8339c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gabc6126af1d45847bc59afa0aa3216b04"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd">AKEY_STATE_UNKNOWN</a> = -1, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28">AKEY_STATE_UP</a> = 0, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c">AKEY_STATE_DOWN</a> = 1, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192">AKEY_STATE_VIRTUAL</a> = 2
- }</td></tr>
-<tr class="separator:gabc6126af1d45847bc59afa0aa3216b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d">AMETA_NONE</a> = 0, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881">AMETA_ALT_ON</a> = 0x02, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df">AMETA_ALT_LEFT_ON</a> = 0x10, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a">AMETA_ALT_RIGHT_ON</a> = 0x20, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197">AMETA_SHIFT_ON</a> = 0x01, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7">AMETA_SHIFT_LEFT_ON</a> = 0x40, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1">AMETA_SHIFT_RIGHT_ON</a> = 0x80, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea">AMETA_SYM_ON</a> = 0x04, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1">AMETA_FUNCTION_ON</a> = 0x08, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5">AMETA_CTRL_ON</a> = 0x1000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6">AMETA_CTRL_LEFT_ON</a> = 0x2000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419">AMETA_CTRL_RIGHT_ON</a> = 0x4000, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a">AMETA_META_ON</a> = 0x10000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f">AMETA_META_LEFT_ON</a> = 0x20000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf">AMETA_META_RIGHT_ON</a> = 0x40000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37">AMETA_CAPS_LOCK_ON</a> = 0x100000, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6">AMETA_NUM_LOCK_ON</a> = 0x200000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a">AMETA_SCROLL_LOCK_ON</a> = 0x400000
-<br/>
- }</td></tr>
-<tr class="separator:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61dadd085c1777f559549e05962b2c9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba">AINPUT_EVENT_TYPE_KEY</a> = 1, 
-<a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a">AINPUT_EVENT_TYPE_MOTION</a> = 2
- }</td></tr>
-<tr class="separator:ga61dadd085c1777f559549e05962b2c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga726ca809ffd3d67ab4b8476646f26635"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49">AKEY_EVENT_ACTION_DOWN</a> = 0, 
-<a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3">AKEY_EVENT_ACTION_UP</a> = 1, 
-<a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0">AKEY_EVENT_ACTION_MULTIPLE</a> = 2
- }</td></tr>
-<tr class="separator:ga726ca809ffd3d67ab4b8476646f26635"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba">AKEY_EVENT_FLAG_WOKE_HERE</a> = 0x1, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32">AKEY_EVENT_FLAG_SOFT_KEYBOARD</a> = 0x2, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41">AKEY_EVENT_FLAG_KEEP_TOUCH_MODE</a> = 0x4, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6">AKEY_EVENT_FLAG_FROM_SYSTEM</a> = 0x8, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013">AKEY_EVENT_FLAG_EDITOR_ACTION</a> = 0x10, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55">AKEY_EVENT_FLAG_CANCELED</a> = 0x20, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8">AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY</a> = 0x40, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185">AKEY_EVENT_FLAG_LONG_PRESS</a> = 0x80, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a">AKEY_EVENT_FLAG_CANCELED_LONG_PRESS</a> = 0x100, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689">AKEY_EVENT_FLAG_TRACKING</a> = 0x200, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0">AKEY_EVENT_FLAG_FALLBACK</a> = 0x400
-<br/>
- }</td></tr>
-<tr class="separator:ga0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabed82baf7f470b522273a3e37c24c600"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f">AMOTION_EVENT_ACTION_MASK</a> = 0xff, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3">AMOTION_EVENT_ACTION_POINTER_INDEX_MASK</a> = 0xff00, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1">AMOTION_EVENT_ACTION_DOWN</a> = 0, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e">AMOTION_EVENT_ACTION_UP</a> = 1, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3">AMOTION_EVENT_ACTION_MOVE</a> = 2, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">AMOTION_EVENT_ACTION_CANCEL</a> = 3, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a> = 4, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2">AMOTION_EVENT_ACTION_POINTER_DOWN</a> = 5, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e">AMOTION_EVENT_ACTION_POINTER_UP</a> = 6, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60">AMOTION_EVENT_ACTION_HOVER_MOVE</a> = 7, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04">AMOTION_EVENT_ACTION_SCROLL</a> = 8, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3">AMOTION_EVENT_ACTION_HOVER_ENTER</a> = 9, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa">AMOTION_EVENT_ACTION_HOVER_EXIT</a> = 10
-<br/>
- }</td></tr>
-<tr class="separator:gabed82baf7f470b522273a3e37c24c600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab04a0655cd1e3bcac5e8f48c18df1a57"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a">AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED</a> = 0x1
- }</td></tr>
-<tr class="separator:gab04a0655cd1e3bcac5e8f48c18df1a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga385c44f6fb256e5716a2302a5b940388"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d">AMOTION_EVENT_EDGE_FLAG_NONE</a> = 0, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757">AMOTION_EVENT_EDGE_FLAG_TOP</a> = 0x01, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb">AMOTION_EVENT_EDGE_FLAG_BOTTOM</a> = 0x02, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52">AMOTION_EVENT_EDGE_FLAG_LEFT</a> = 0x04, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078">AMOTION_EVENT_EDGE_FLAG_RIGHT</a> = 0x08
-<br/>
- }</td></tr>
-<tr class="separator:ga385c44f6fb256e5716a2302a5b940388"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabc5c98fcc1211af2b80116dd6e0a035d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064">AMOTION_EVENT_AXIS_X</a> = 0, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c">AMOTION_EVENT_AXIS_Y</a> = 1, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8">AMOTION_EVENT_AXIS_PRESSURE</a> = 2, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6">AMOTION_EVENT_AXIS_SIZE</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">AMOTION_EVENT_AXIS_TOUCH_MAJOR</a> = 4, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c">AMOTION_EVENT_AXIS_TOUCH_MINOR</a> = 5, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">AMOTION_EVENT_AXIS_TOOL_MAJOR</a> = 6, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142">AMOTION_EVENT_AXIS_TOOL_MINOR</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2">AMOTION_EVENT_AXIS_ORIENTATION</a> = 8, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99">AMOTION_EVENT_AXIS_VSCROLL</a> = 9, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff">AMOTION_EVENT_AXIS_HSCROLL</a> = 10, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305">AMOTION_EVENT_AXIS_Z</a> = 11, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e">AMOTION_EVENT_AXIS_RX</a> = 12, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13">AMOTION_EVENT_AXIS_RY</a> = 13, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b">AMOTION_EVENT_AXIS_RZ</a> = 14, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da">AMOTION_EVENT_AXIS_HAT_X</a> = 15, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482">AMOTION_EVENT_AXIS_HAT_Y</a> = 16, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591">AMOTION_EVENT_AXIS_LTRIGGER</a> = 17, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1">AMOTION_EVENT_AXIS_RTRIGGER</a> = 18, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f">AMOTION_EVENT_AXIS_THROTTLE</a> = 19, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257">AMOTION_EVENT_AXIS_RUDDER</a> = 20, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d">AMOTION_EVENT_AXIS_WHEEL</a> = 21, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16">AMOTION_EVENT_AXIS_GAS</a> = 22, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece">AMOTION_EVENT_AXIS_BRAKE</a> = 23, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e">AMOTION_EVENT_AXIS_DISTANCE</a> = 24, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">AMOTION_EVENT_AXIS_TILT</a> = 25, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc">AMOTION_EVENT_AXIS_GENERIC_1</a> = 32, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5">AMOTION_EVENT_AXIS_GENERIC_2</a> = 33, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c">AMOTION_EVENT_AXIS_GENERIC_3</a> = 34, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9">AMOTION_EVENT_AXIS_GENERIC_4</a> = 35, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085">AMOTION_EVENT_AXIS_GENERIC_5</a> = 36, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84">AMOTION_EVENT_AXIS_GENERIC_6</a> = 37, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b">AMOTION_EVENT_AXIS_GENERIC_7</a> = 38, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe">AMOTION_EVENT_AXIS_GENERIC_8</a> = 39, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443">AMOTION_EVENT_AXIS_GENERIC_9</a> = 40, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2">AMOTION_EVENT_AXIS_GENERIC_10</a> = 41, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57">AMOTION_EVENT_AXIS_GENERIC_11</a> = 42, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063">AMOTION_EVENT_AXIS_GENERIC_12</a> = 43, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180">AMOTION_EVENT_AXIS_GENERIC_13</a> = 44, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b">AMOTION_EVENT_AXIS_GENERIC_14</a> = 45, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca">AMOTION_EVENT_AXIS_GENERIC_15</a> = 46, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336">AMOTION_EVENT_AXIS_GENERIC_16</a> = 47
-<br/>
- }</td></tr>
-<tr class="separator:gabc5c98fcc1211af2b80116dd6e0a035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac36f475ca5b446f4fde4c9b90bec77c8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65">AMOTION_EVENT_BUTTON_PRIMARY</a> = 1 &lt;&lt; 0, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451">AMOTION_EVENT_BUTTON_SECONDARY</a> = 1 &lt;&lt; 1, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f">AMOTION_EVENT_BUTTON_TERTIARY</a> = 1 &lt;&lt; 2, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86">AMOTION_EVENT_BUTTON_BACK</a> = 1 &lt;&lt; 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438">AMOTION_EVENT_BUTTON_FORWARD</a> = 1 &lt;&lt; 4
-<br/>
- }</td></tr>
-<tr class="separator:gac36f475ca5b446f4fde4c9b90bec77c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208">AMOTION_EVENT_TOOL_TYPE_UNKNOWN</a> = 0, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc">AMOTION_EVENT_TOOL_TYPE_FINGER</a> = 1, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7">AMOTION_EVENT_TOOL_TYPE_STYLUS</a> = 2, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de">AMOTION_EVENT_TOOL_TYPE_MOUSE</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb">AMOTION_EVENT_TOOL_TYPE_ERASER</a> = 4
-<br/>
- }</td></tr>
-<tr class="separator:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga16af7b253440dadd46a80a4b9fddba4d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01">AINPUT_SOURCE_CLASS_MASK</a> = 0x000000ff, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c">AINPUT_SOURCE_CLASS_NONE</a> = 0x00000000, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e">AINPUT_SOURCE_CLASS_BUTTON</a> = 0x00000001, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47">AINPUT_SOURCE_CLASS_POINTER</a> = 0x00000002, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a">AINPUT_SOURCE_CLASS_NAVIGATION</a> = 0x00000004, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167">AINPUT_SOURCE_CLASS_POSITION</a> = 0x00000008, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57">AINPUT_SOURCE_CLASS_JOYSTICK</a> = 0x00000010
-<br/>
- }</td></tr>
-<tr class="separator:ga16af7b253440dadd46a80a4b9fddba4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaba01db17f4a2bfbc3db60dc172972a25"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454">AINPUT_SOURCE_UNKNOWN</a> = 0x00000000, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d">AINPUT_SOURCE_KEYBOARD</a> = 0x00000100 | AINPUT_SOURCE_CLASS_BUTTON, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef">AINPUT_SOURCE_DPAD</a> = 0x00000200 | AINPUT_SOURCE_CLASS_BUTTON, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3">AINPUT_SOURCE_GAMEPAD</a> = 0x00000400 | AINPUT_SOURCE_CLASS_BUTTON, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f">AINPUT_SOURCE_TOUCHSCREEN</a> = 0x00001000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86">AINPUT_SOURCE_MOUSE</a> = 0x00002000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9">AINPUT_SOURCE_STYLUS</a> = 0x00004000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6">AINPUT_SOURCE_TRACKBALL</a> = 0x00010000 | AINPUT_SOURCE_CLASS_NAVIGATION, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef">AINPUT_SOURCE_TOUCHPAD</a> = 0x00100000 | AINPUT_SOURCE_CLASS_POSITION, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7">AINPUT_SOURCE_TOUCH_NAVIGATION</a> = 0x00200000 | AINPUT_SOURCE_CLASS_NONE, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5">AINPUT_SOURCE_JOYSTICK</a> = 0x01000000 | AINPUT_SOURCE_CLASS_JOYSTICK, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e">AINPUT_SOURCE_ANY</a> = 0xffffff00
-<br/>
- }</td></tr>
-<tr class="separator:gaba01db17f4a2bfbc3db60dc172972a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf105ae5beaca1dee30ae54530691fce"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac">AINPUT_KEYBOARD_TYPE_NONE</a> = 0, 
-<a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a">AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC</a> = 1, 
-<a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574">AINPUT_KEYBOARD_TYPE_ALPHABETIC</a> = 2
- }</td></tr>
-<tr class="separator:gaaf105ae5beaca1dee30ae54530691fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga80155586fa275b28773c9b203f52caba"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1">AINPUT_MOTION_RANGE_X</a> = AMOTION_EVENT_AXIS_X, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332">AINPUT_MOTION_RANGE_Y</a> = AMOTION_EVENT_AXIS_Y, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a">AINPUT_MOTION_RANGE_PRESSURE</a> = AMOTION_EVENT_AXIS_PRESSURE, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688">AINPUT_MOTION_RANGE_SIZE</a> = AMOTION_EVENT_AXIS_SIZE, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67">AINPUT_MOTION_RANGE_TOUCH_MAJOR</a> = AMOTION_EVENT_AXIS_TOUCH_MAJOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d">AINPUT_MOTION_RANGE_TOUCH_MINOR</a> = AMOTION_EVENT_AXIS_TOUCH_MINOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c">AINPUT_MOTION_RANGE_TOOL_MAJOR</a> = AMOTION_EVENT_AXIS_TOOL_MAJOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1">AINPUT_MOTION_RANGE_TOOL_MINOR</a> = AMOTION_EVENT_AXIS_TOOL_MINOR, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d">AINPUT_MOTION_RANGE_ORIENTATION</a> = AMOTION_EVENT_AXIS_ORIENTATION
-<br/>
- }</td></tr>
-<tr class="separator:ga80155586fa275b28773c9b203f52caba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f">AKEYCODE_UNKNOWN</a> = 0, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899">AKEYCODE_SOFT_LEFT</a> = 1, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae">AKEYCODE_SOFT_RIGHT</a> = 2, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd">AKEYCODE_HOME</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">AKEYCODE_BACK</a> = 4, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f">AKEYCODE_CALL</a> = 5, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b">AKEYCODE_ENDCALL</a> = 6, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79">AKEYCODE_0</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0">AKEYCODE_1</a> = 8, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db">AKEYCODE_2</a> = 9, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551">AKEYCODE_3</a> = 10, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b">AKEYCODE_4</a> = 11, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e">AKEYCODE_5</a> = 12, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079">AKEYCODE_6</a> = 13, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff">AKEYCODE_7</a> = 14, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab">AKEYCODE_8</a> = 15, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d">AKEYCODE_9</a> = 16, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305">AKEYCODE_STAR</a> = 17, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9">AKEYCODE_POUND</a> = 18, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e">AKEYCODE_DPAD_UP</a> = 19, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a">AKEYCODE_DPAD_DOWN</a> = 20, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344">AKEYCODE_DPAD_LEFT</a> = 21, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975">AKEYCODE_DPAD_RIGHT</a> = 22, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae">AKEYCODE_DPAD_CENTER</a> = 23, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882">AKEYCODE_VOLUME_UP</a> = 24, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66">AKEYCODE_VOLUME_DOWN</a> = 25, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">AKEYCODE_POWER</a> = 26, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26">AKEYCODE_CAMERA</a> = 27, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901">AKEYCODE_CLEAR</a> = 28, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014">AKEYCODE_A</a> = 29, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758">AKEYCODE_B</a> = 30, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04">AKEYCODE_C</a> = 31, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51">AKEYCODE_D</a> = 32, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0">AKEYCODE_E</a> = 33, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a">AKEYCODE_F</a> = 34, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9">AKEYCODE_G</a> = 35, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc">AKEYCODE_H</a> = 36, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b">AKEYCODE_I</a> = 37, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a">AKEYCODE_J</a> = 38, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932">AKEYCODE_K</a> = 39, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b">AKEYCODE_L</a> = 40, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1">AKEYCODE_M</a> = 41, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36">AKEYCODE_N</a> = 42, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb">AKEYCODE_O</a> = 43, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f">AKEYCODE_P</a> = 44, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206">AKEYCODE_Q</a> = 45, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532">AKEYCODE_R</a> = 46, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6">AKEYCODE_S</a> = 47, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2">AKEYCODE_T</a> = 48, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595">AKEYCODE_U</a> = 49, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a">AKEYCODE_V</a> = 50, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425">AKEYCODE_W</a> = 51, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5">AKEYCODE_X</a> = 52, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b">AKEYCODE_Y</a> = 53, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce">AKEYCODE_Z</a> = 54, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227">AKEYCODE_COMMA</a> = 55, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04">AKEYCODE_PERIOD</a> = 56, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">AKEYCODE_ALT_LEFT</a> = 57, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d">AKEYCODE_ALT_RIGHT</a> = 58, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4">AKEYCODE_SHIFT_LEFT</a> = 59, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212">AKEYCODE_SHIFT_RIGHT</a> = 60, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958">AKEYCODE_TAB</a> = 61, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7">AKEYCODE_SPACE</a> = 62, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f">AKEYCODE_SYM</a> = 63, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083">AKEYCODE_EXPLORER</a> = 64, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c">AKEYCODE_ENVELOPE</a> = 65, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff">AKEYCODE_ENTER</a> = 66, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">AKEYCODE_DEL</a> = 67, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171">AKEYCODE_GRAVE</a> = 68, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca">AKEYCODE_MINUS</a> = 69, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498">AKEYCODE_EQUALS</a> = 70, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708">AKEYCODE_LEFT_BRACKET</a> = 71, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a">AKEYCODE_RIGHT_BRACKET</a> = 72, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701">AKEYCODE_BACKSLASH</a> = 73, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391">AKEYCODE_SEMICOLON</a> = 74, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1">AKEYCODE_APOSTROPHE</a> = 75, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a">AKEYCODE_SLASH</a> = 76, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16">AKEYCODE_AT</a> = 77, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">AKEYCODE_NUM</a> = 78, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33">AKEYCODE_HEADSETHOOK</a> = 79, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187">AKEYCODE_FOCUS</a> = 80, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495">AKEYCODE_PLUS</a> = 81, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76">AKEYCODE_MENU</a> = 82, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331">AKEYCODE_NOTIFICATION</a> = 83, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7">AKEYCODE_SEARCH</a> = 84, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1">AKEYCODE_MEDIA_PLAY_PAUSE</a> = 85, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d">AKEYCODE_MEDIA_STOP</a> = 86, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3">AKEYCODE_MEDIA_NEXT</a> = 87, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb">AKEYCODE_MEDIA_PREVIOUS</a> = 88, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319">AKEYCODE_MEDIA_REWIND</a> = 89, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca">AKEYCODE_MEDIA_FAST_FORWARD</a> = 90, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">AKEYCODE_MUTE</a> = 91, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04">AKEYCODE_PAGE_UP</a> = 92, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393">AKEYCODE_PAGE_DOWN</a> = 93, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41">AKEYCODE_PICTSYMBOLS</a> = 94, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3">AKEYCODE_SWITCH_CHARSET</a> = 95, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086">AKEYCODE_BUTTON_A</a> = 96, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53">AKEYCODE_BUTTON_B</a> = 97, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d">AKEYCODE_BUTTON_C</a> = 98, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7">AKEYCODE_BUTTON_X</a> = 99, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919">AKEYCODE_BUTTON_Y</a> = 100, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f">AKEYCODE_BUTTON_Z</a> = 101, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2">AKEYCODE_BUTTON_L1</a> = 102, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46">AKEYCODE_BUTTON_R1</a> = 103, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4">AKEYCODE_BUTTON_L2</a> = 104, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e">AKEYCODE_BUTTON_R2</a> = 105, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638">AKEYCODE_BUTTON_THUMBL</a> = 106, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe">AKEYCODE_BUTTON_THUMBR</a> = 107, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4">AKEYCODE_BUTTON_START</a> = 108, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43">AKEYCODE_BUTTON_SELECT</a> = 109, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594">AKEYCODE_BUTTON_MODE</a> = 110, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6">AKEYCODE_ESCAPE</a> = 111, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">AKEYCODE_FORWARD_DEL</a> = 112, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1">AKEYCODE_CTRL_LEFT</a> = 113, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c">AKEYCODE_CTRL_RIGHT</a> = 114, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1">AKEYCODE_CAPS_LOCK</a> = 115, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc">AKEYCODE_SCROLL_LOCK</a> = 116, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58">AKEYCODE_META_LEFT</a> = 117, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8">AKEYCODE_META_RIGHT</a> = 118, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722">AKEYCODE_FUNCTION</a> = 119, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84">AKEYCODE_SYSRQ</a> = 120, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23">AKEYCODE_BREAK</a> = 121, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58">AKEYCODE_MOVE_HOME</a> = 122, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a">AKEYCODE_MOVE_END</a> = 123, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644">AKEYCODE_INSERT</a> = 124, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a">AKEYCODE_FORWARD</a> = 125, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1">AKEYCODE_MEDIA_PLAY</a> = 126, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4">AKEYCODE_MEDIA_PAUSE</a> = 127, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998">AKEYCODE_MEDIA_CLOSE</a> = 128, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6">AKEYCODE_MEDIA_EJECT</a> = 129, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9">AKEYCODE_MEDIA_RECORD</a> = 130, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf">AKEYCODE_F1</a> = 131, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84">AKEYCODE_F2</a> = 132, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085">AKEYCODE_F3</a> = 133, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf">AKEYCODE_F4</a> = 134, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937">AKEYCODE_F5</a> = 135, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60">AKEYCODE_F6</a> = 136, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c">AKEYCODE_F7</a> = 137, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8">AKEYCODE_F8</a> = 138, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9">AKEYCODE_F9</a> = 139, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474">AKEYCODE_F10</a> = 140, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22">AKEYCODE_F11</a> = 141, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7">AKEYCODE_F12</a> = 142, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">AKEYCODE_NUM_LOCK</a> = 143, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b">AKEYCODE_NUMPAD_0</a> = 144, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17">AKEYCODE_NUMPAD_1</a> = 145, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89">AKEYCODE_NUMPAD_2</a> = 146, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386">AKEYCODE_NUMPAD_3</a> = 147, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8">AKEYCODE_NUMPAD_4</a> = 148, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b">AKEYCODE_NUMPAD_5</a> = 149, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d">AKEYCODE_NUMPAD_6</a> = 150, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93">AKEYCODE_NUMPAD_7</a> = 151, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642">AKEYCODE_NUMPAD_8</a> = 152, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95">AKEYCODE_NUMPAD_9</a> = 153, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c">AKEYCODE_NUMPAD_DIVIDE</a> = 154, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735">AKEYCODE_NUMPAD_MULTIPLY</a> = 155, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe">AKEYCODE_NUMPAD_SUBTRACT</a> = 156, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35">AKEYCODE_NUMPAD_ADD</a> = 157, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1">AKEYCODE_NUMPAD_DOT</a> = 158, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1">AKEYCODE_NUMPAD_COMMA</a> = 159, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e">AKEYCODE_NUMPAD_ENTER</a> = 160, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed">AKEYCODE_NUMPAD_EQUALS</a> = 161, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54">AKEYCODE_NUMPAD_LEFT_PAREN</a> = 162, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9">AKEYCODE_NUMPAD_RIGHT_PAREN</a> = 163, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">AKEYCODE_VOLUME_MUTE</a> = 164, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649">AKEYCODE_INFO</a> = 165, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c">AKEYCODE_CHANNEL_UP</a> = 166, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f">AKEYCODE_CHANNEL_DOWN</a> = 167, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4">AKEYCODE_ZOOM_IN</a> = 168, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535">AKEYCODE_ZOOM_OUT</a> = 169, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017">AKEYCODE_TV</a> = 170, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8">AKEYCODE_WINDOW</a> = 171, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233">AKEYCODE_GUIDE</a> = 172, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60">AKEYCODE_DVR</a> = 173, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae">AKEYCODE_BOOKMARK</a> = 174, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994">AKEYCODE_CAPTIONS</a> = 175, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159">AKEYCODE_SETTINGS</a> = 176, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930">AKEYCODE_TV_POWER</a> = 177, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5">AKEYCODE_TV_INPUT</a> = 178, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d">AKEYCODE_STB_POWER</a> = 179, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5">AKEYCODE_STB_INPUT</a> = 180, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b">AKEYCODE_AVR_POWER</a> = 181, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504">AKEYCODE_AVR_INPUT</a> = 182, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c">AKEYCODE_PROG_RED</a> = 183, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1">AKEYCODE_PROG_GREEN</a> = 184, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4">AKEYCODE_PROG_YELLOW</a> = 185, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0">AKEYCODE_PROG_BLUE</a> = 186, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad">AKEYCODE_APP_SWITCH</a> = 187, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a">AKEYCODE_BUTTON_1</a> = 188, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3">AKEYCODE_BUTTON_2</a> = 189, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1">AKEYCODE_BUTTON_3</a> = 190, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6">AKEYCODE_BUTTON_4</a> = 191, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5">AKEYCODE_BUTTON_5</a> = 192, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b">AKEYCODE_BUTTON_6</a> = 193, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35">AKEYCODE_BUTTON_7</a> = 194, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f">AKEYCODE_BUTTON_8</a> = 195, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc">AKEYCODE_BUTTON_9</a> = 196, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7">AKEYCODE_BUTTON_10</a> = 197, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1">AKEYCODE_BUTTON_11</a> = 198, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e">AKEYCODE_BUTTON_12</a> = 199, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f">AKEYCODE_BUTTON_13</a> = 200, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b">AKEYCODE_BUTTON_14</a> = 201, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0">AKEYCODE_BUTTON_15</a> = 202, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39">AKEYCODE_BUTTON_16</a> = 203, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff">AKEYCODE_LANGUAGE_SWITCH</a> = 204, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f">AKEYCODE_MANNER_MODE</a> = 205, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c">AKEYCODE_3D_MODE</a> = 206, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10">AKEYCODE_CONTACTS</a> = 207, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076">AKEYCODE_CALENDAR</a> = 208, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72">AKEYCODE_MUSIC</a> = 209, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573">AKEYCODE_CALCULATOR</a> = 210, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22">AKEYCODE_ZENKAKU_HANKAKU</a> = 211, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234">AKEYCODE_EISU</a> = 212, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7">AKEYCODE_MUHENKAN</a> = 213, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02">AKEYCODE_HENKAN</a> = 214, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28">AKEYCODE_KATAKANA_HIRAGANA</a> = 215, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b">AKEYCODE_YEN</a> = 216, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4">AKEYCODE_RO</a> = 217, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531">AKEYCODE_KANA</a> = 218, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838">AKEYCODE_ASSIST</a> = 219, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650">AKEYCODE_BRIGHTNESS_DOWN</a> = 220, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36">AKEYCODE_BRIGHTNESS_UP</a> = 221, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1">AKEYCODE_MEDIA_AUDIO_TRACK</a> = 222, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207">AKEYCODE_SLEEP</a> = 223, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429">AKEYCODE_WAKEUP</a> = 224, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553">AKEYCODE_PAIRING</a> = 225, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a">AKEYCODE_MEDIA_TOP_MENU</a> = 226, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1">AKEYCODE_11</a> = 227, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5">AKEYCODE_12</a> = 228, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9">AKEYCODE_LAST_CHANNEL</a> = 229, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06">AKEYCODE_TV_DATA_SERVICE</a> = 230, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744">AKEYCODE_VOICE_ASSIST</a> = 231, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72">AKEYCODE_TV_RADIO_SERVICE</a> = 232, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db">AKEYCODE_TV_TELETEXT</a> = 233, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055">AKEYCODE_TV_NUMBER_ENTRY</a> = 234, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073">AKEYCODE_TV_TERRESTRIAL_ANALOG</a> = 235, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16">AKEYCODE_TV_TERRESTRIAL_DIGITAL</a> = 236, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936">AKEYCODE_TV_SATELLITE</a> = 237, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5">AKEYCODE_TV_SATELLITE_BS</a> = 238, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0">AKEYCODE_TV_SATELLITE_CS</a> = 239, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb">AKEYCODE_TV_SATELLITE_SERVICE</a> = 240, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42">AKEYCODE_TV_NETWORK</a> = 241, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9">AKEYCODE_TV_ANTENNA_CABLE</a> = 242, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445">AKEYCODE_TV_INPUT_HDMI_1</a> = 243, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f">AKEYCODE_TV_INPUT_HDMI_2</a> = 244, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f">AKEYCODE_TV_INPUT_HDMI_3</a> = 245, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5">AKEYCODE_TV_INPUT_HDMI_4</a> = 246, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd">AKEYCODE_TV_INPUT_COMPOSITE_1</a> = 247, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9">AKEYCODE_TV_INPUT_COMPOSITE_2</a> = 248, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae">AKEYCODE_TV_INPUT_COMPONENT_1</a> = 249, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec">AKEYCODE_TV_INPUT_COMPONENT_2</a> = 250, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85">AKEYCODE_TV_INPUT_VGA_1</a> = 251, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6">AKEYCODE_TV_AUDIO_DESCRIPTION</a> = 252, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678">AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP</a> = 253, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb">AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN</a> = 254, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4">AKEYCODE_TV_ZOOM_MODE</a> = 255, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8">AKEYCODE_TV_CONTENTS_MENU</a> = 256, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe">AKEYCODE_TV_MEDIA_CONTEXT_MENU</a> = 257, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840">AKEYCODE_TV_TIMER_PROGRAMMING</a> = 258, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9">AKEYCODE_HELP</a> = 259
-<br/>
- }</td></tr>
-<tr class="separator:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga8292ae06aa8120c52d7380d228600b9c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga8292ae06aa8120c52d7380d228600b9c">AInputEvent_getType</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:ga8292ae06aa8120c52d7380d228600b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9dd3fd81e51dbfde19ab861541242aa1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9dd3fd81e51dbfde19ab861541242aa1">AInputEvent_getDeviceId</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:ga9dd3fd81e51dbfde19ab861541242aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac90d4b497669dbc709ec9650db4e49be"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac90d4b497669dbc709ec9650db4e49be">AInputEvent_getSource</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:gac90d4b497669dbc709ec9650db4e49be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga36ec0b59f98f86a7ca263ba91279896d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga36ec0b59f98f86a7ca263ba91279896d">AKeyEvent_getAction</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga36ec0b59f98f86a7ca263ba91279896d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a18e98efe0c4ccb6f39bb13c555010e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2a18e98efe0c4ccb6f39bb13c555010e">AKeyEvent_getFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga2a18e98efe0c4ccb6f39bb13c555010e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b01ecd60018a5445f4917a861ca9466"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga6b01ecd60018a5445f4917a861ca9466">AKeyEvent_getKeyCode</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga6b01ecd60018a5445f4917a861ca9466"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4a0a846b7a195aeb290dfcd2250137d9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga4a0a846b7a195aeb290dfcd2250137d9">AKeyEvent_getScanCode</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga4a0a846b7a195aeb290dfcd2250137d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabdda62b40b22727af2fb41740bf4787b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gabdda62b40b22727af2fb41740bf4787b">AKeyEvent_getMetaState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gabdda62b40b22727af2fb41740bf4787b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5358fe3ebbd4b5b2f88a4ad2eba6f885"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5358fe3ebbd4b5b2f88a4ad2eba6f885">AKeyEvent_getRepeatCount</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga5358fe3ebbd4b5b2f88a4ad2eba6f885"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf475b6f0860bdfca4ceea7bc46eab1a9"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaf475b6f0860bdfca4ceea7bc46eab1a9">AKeyEvent_getDownTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gaf475b6f0860bdfca4ceea7bc46eab1a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae3eac7d68195d1767c947ca267842696"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gae3eac7d68195d1767c947ca267842696">AKeyEvent_getEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gae3eac7d68195d1767c947ca267842696"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga73ea2093cc2343675ac43dd08bef4247"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga73ea2093cc2343675ac43dd08bef4247">AMotionEvent_getAction</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga73ea2093cc2343675ac43dd08bef4247"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2891d19197c070207098fa48adeb35af"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2891d19197c070207098fa48adeb35af">AMotionEvent_getFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga2891d19197c070207098fa48adeb35af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5644f0d952e3dea57ba9f7ce51dff2bb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5644f0d952e3dea57ba9f7ce51dff2bb">AMotionEvent_getMetaState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga5644f0d952e3dea57ba9f7ce51dff2bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1aa7ebb749416491b6f0c55ae87ddf49"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga1aa7ebb749416491b6f0c55ae87ddf49">AMotionEvent_getButtonState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga1aa7ebb749416491b6f0c55ae87ddf49"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad7e1f0caa4c27194d4a8756a18432299"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad7e1f0caa4c27194d4a8756a18432299">AMotionEvent_getEdgeFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gad7e1f0caa4c27194d4a8756a18432299"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad44be7697e68891688cd7bcfaffec209"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad44be7697e68891688cd7bcfaffec209">AMotionEvent_getDownTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gad44be7697e68891688cd7bcfaffec209"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7e13fbf3cff0700b0b620284ebdd3a33"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7e13fbf3cff0700b0b620284ebdd3a33">AMotionEvent_getEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7e13fbf3cff0700b0b620284ebdd3a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a94ce622eb78a17737fd8bddbf86e21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7a94ce622eb78a17737fd8bddbf86e21">AMotionEvent_getXOffset</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7a94ce622eb78a17737fd8bddbf86e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7f6bd2c12d912f502c245b6ced6d3704"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7f6bd2c12d912f502c245b6ced6d3704">AMotionEvent_getYOffset</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7f6bd2c12d912f502c245b6ced6d3704"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga81a9be07673a01f43fd0241c7b4c254f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga81a9be07673a01f43fd0241c7b4c254f">AMotionEvent_getXPrecision</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga81a9be07673a01f43fd0241c7b4c254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae311e6e28bce4be905526f9ea71278ed"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gae311e6e28bce4be905526f9ea71278ed">AMotionEvent_getYPrecision</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gae311e6e28bce4be905526f9ea71278ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga612e68d104adbc6d14d87510e8066bd8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga612e68d104adbc6d14d87510e8066bd8">AMotionEvent_getPointerCount</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga612e68d104adbc6d14d87510e8066bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga599e21a79c706807243a8ee31b116138"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga599e21a79c706807243a8ee31b116138">AMotionEvent_getPointerId</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga599e21a79c706807243a8ee31b116138"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2babe4e2e79952e004538f8f1878649c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2babe4e2e79952e004538f8f1878649c">AMotionEvent_getToolType</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga2babe4e2e79952e004538f8f1878649c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe45e29ef138cc30592237ce479837f0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gafe45e29ef138cc30592237ce479837f0">AMotionEvent_getRawX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gafe45e29ef138cc30592237ce479837f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a09c3d742a93270861aa05f24257c23"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5a09c3d742a93270861aa05f24257c23">AMotionEvent_getRawY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga5a09c3d742a93270861aa05f24257c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga22e255a5fa52761cd92ce78af91e9757"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga22e255a5fa52761cd92ce78af91e9757">AMotionEvent_getX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga22e255a5fa52761cd92ce78af91e9757"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga113f58a37e41f2a6c3007d68418edfa6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga113f58a37e41f2a6c3007d68418edfa6">AMotionEvent_getY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga113f58a37e41f2a6c3007d68418edfa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga97fcaa6cd08c9d54b35711e482e06c8d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga97fcaa6cd08c9d54b35711e482e06c8d">AMotionEvent_getPressure</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga97fcaa6cd08c9d54b35711e482e06c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9b1f3c3df46b5269f9e74d2dd70c88a8"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9b1f3c3df46b5269f9e74d2dd70c88a8">AMotionEvent_getSize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga9b1f3c3df46b5269f9e74d2dd70c88a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9ac18fe19534e07d80441582f489d471"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9ac18fe19534e07d80441582f489d471">AMotionEvent_getTouchMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga9ac18fe19534e07d80441582f489d471"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga65f71e257b5fcb29dcbaaf59b3fcb3a7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga65f71e257b5fcb29dcbaaf59b3fcb3a7">AMotionEvent_getTouchMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga65f71e257b5fcb29dcbaaf59b3fcb3a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac04099690f278a6a27191c2027b12a77"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac04099690f278a6a27191c2027b12a77">AMotionEvent_getToolMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gac04099690f278a6a27191c2027b12a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2222d459759ba4a8269647012d2718fb"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2222d459759ba4a8269647012d2718fb">AMotionEvent_getToolMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga2222d459759ba4a8269647012d2718fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad28422998da15b789edcba6b8bc5d615"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad28422998da15b789edcba6b8bc5d615">AMotionEvent_getOrientation</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gad28422998da15b789edcba6b8bc5d615"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9d364cdcebf85237f599b25861f38c21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9d364cdcebf85237f599b25861f38c21">AMotionEvent_getAxisValue</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, int32_t axis, size_t pointer_index)</td></tr>
-<tr class="separator:ga9d364cdcebf85237f599b25861f38c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0aef34c236db6d7a56a50bf590be7bcc"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga0aef34c236db6d7a56a50bf590be7bcc">AMotionEvent_getHistorySize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga0aef34c236db6d7a56a50bf590be7bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga523f1a760754206965b42b08d62f9346"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga523f1a760754206965b42b08d62f9346">AMotionEvent_getHistoricalEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t history_index)</td></tr>
-<tr class="separator:ga523f1a760754206965b42b08d62f9346"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5d36c2e7420001c86ae2aa1168fe6f83"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5d36c2e7420001c86ae2aa1168fe6f83">AMotionEvent_getHistoricalRawX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga5d36c2e7420001c86ae2aa1168fe6f83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6deb0e7690a93aa53e5872c2691b69fe"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga6deb0e7690a93aa53e5872c2691b69fe">AMotionEvent_getHistoricalRawY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga6deb0e7690a93aa53e5872c2691b69fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga49a8ca89ff377b5ed2355e8d7220ae07"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga49a8ca89ff377b5ed2355e8d7220ae07">AMotionEvent_getHistoricalX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga49a8ca89ff377b5ed2355e8d7220ae07"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga30fc4e5d3ce144955859f8c97b51b73d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga30fc4e5d3ce144955859f8c97b51b73d">AMotionEvent_getHistoricalY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga30fc4e5d3ce144955859f8c97b51b73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa8e9352ee5b043b3e1b6e2062d491010"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaa8e9352ee5b043b3e1b6e2062d491010">AMotionEvent_getHistoricalPressure</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaa8e9352ee5b043b3e1b6e2062d491010"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0a04bb7ec12928db7e62645e7fad3a9e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga0a04bb7ec12928db7e62645e7fad3a9e">AMotionEvent_getHistoricalSize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga0a04bb7ec12928db7e62645e7fad3a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf437f223668b97f19ebdbad4b9cf4483"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaf437f223668b97f19ebdbad4b9cf4483">AMotionEvent_getHistoricalTouchMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaf437f223668b97f19ebdbad4b9cf4483"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga126715d966e989652aa1ae5d38e0e898"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga126715d966e989652aa1ae5d38e0e898">AMotionEvent_getHistoricalTouchMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga126715d966e989652aa1ae5d38e0e898"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga160a5830e791e8c42ae97f51b92233d2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga160a5830e791e8c42ae97f51b92233d2">AMotionEvent_getHistoricalToolMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga160a5830e791e8c42ae97f51b92233d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe01aa7576a6d1bce750fb8482355849"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gafe01aa7576a6d1bce750fb8482355849">AMotionEvent_getHistoricalToolMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gafe01aa7576a6d1bce750fb8482355849"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaab9cb8fa670175ecc73c75eed4e5cd3f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaab9cb8fa670175ecc73c75eed4e5cd3f">AMotionEvent_getHistoricalOrientation</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaab9cb8fa670175ecc73c75eed4e5cd3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7ca740e1324f3cdb934252dce0c982d0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7ca740e1324f3cdb934252dce0c982d0">AMotionEvent_getHistoricalAxisValue</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, int32_t axis, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga7ca740e1324f3cdb934252dce0c982d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga900711156bfb58d1a4b158da7874930f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga900711156bfb58d1a4b158da7874930f">AInputQueue_attachLooper</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int ident, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:ga900711156bfb58d1a4b158da7874930f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaeebe9f83392ac79b31ca40a6fd4dbeff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaeebe9f83392ac79b31ca40a6fd4dbeff">AInputQueue_detachLooper</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:gaeebe9f83392ac79b31ca40a6fd4dbeff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2b72ad6ab5ef656e8c41163aa7871c96"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2b72ad6ab5ef656e8c41163aa7871c96">AInputQueue_hasEvents</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:ga2b72ad6ab5ef656e8c41163aa7871c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga88de12e2b39787ba7d3e4ce2ea46a48c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga88de12e2b39787ba7d3e4ce2ea46a48c">AInputQueue_getEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> **outEvent)</td></tr>
-<tr class="separator:ga88de12e2b39787ba7d3e4ce2ea46a48c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadecd32e6c7aefa4a508b355550d3eaa9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gadecd32e6c7aefa4a508b355550d3eaa9">AInputQueue_preDispatchEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:gadecd32e6c7aefa4a508b355550d3eaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga17e87e0f35d47d729eac31a0dfb1ac33">AInputQueue_finishEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event, int handled)</td></tr>
-<tr class="separator:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gaeb170c0fbeeed1d999160566f09f169e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT&#160;&#160;&#160;8</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Bit shift for the action bits holding the pointer index as defined by AMOTION_EVENT_ACTION_POINTER_INDEX_MASK. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gac35dbbc035371e799d8badabc981e8fa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input events.</p>
-<p>Input events are opaque structures. Use the provided accessors functions to read their properties. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga21d8182651f4b61ae558560023e8339c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input queue</p>
-<p>An input queue is the facility through which you retrieve input events. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga385c44f6fb256e5716a2302a5b940388"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Motion event edge touch flags. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d"></a>AMOTION_EVENT_EDGE_FLAG_NONE</em>&#160;</td><td class="fielddoc">
-<p>No edges intersected. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757"></a>AMOTION_EVENT_EDGE_FLAG_TOP</em>&#160;</td><td class="fielddoc">
-<p>Flag indicating the motion event intersected the top edge of the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb"></a>AMOTION_EVENT_EDGE_FLAG_BOTTOM</em>&#160;</td><td class="fielddoc">
-<p>Flag indicating the motion event intersected the bottom edge of the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52"></a>AMOTION_EVENT_EDGE_FLAG_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Flag indicating the motion event intersected the left edge of the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078"></a>AMOTION_EVENT_EDGE_FLAG_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Flag indicating the motion event intersected the right edge of the screen. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gabc5c98fcc1211af2b80116dd6e0a035d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Constants that identify each individual axis of a motion event. <a class="anchor" id="AMOTION_EVENT_AXIS"></a></p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064"></a>AMOTION_EVENT_AXIS_X</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: X axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the absolute X screen position of the center of the touch contact area. The units are display pixels.</li>
-<li>For a touch pad, reports the absolute X surface position of the center of the touch contact area. The units are device-dependent.</li>
-<li>For a mouse, reports the absolute X screen position of the mouse pointer. The units are display pixels.</li>
-<li>For a trackball, reports the relative horizontal displacement of the trackball. The value is normalized to a range from -1.0 (left) to 1.0 (right).</li>
-<li>For a joystick, reports the absolute X position of the joystick. The value is normalized to a range from -1.0 (left) to 1.0 (right). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c"></a>AMOTION_EVENT_AXIS_Y</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Y axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the absolute Y screen position of the center of the touch contact area. The units are display pixels.</li>
-<li>For a touch pad, reports the absolute Y surface position of the center of the touch contact area. The units are device-dependent.</li>
-<li>For a mouse, reports the absolute Y screen position of the mouse pointer. The units are display pixels.</li>
-<li>For a trackball, reports the relative vertical displacement of the trackball. The value is normalized to a range from -1.0 (up) to 1.0 (down).</li>
-<li>For a joystick, reports the absolute Y position of the joystick. The value is normalized to a range from -1.0 (up or far) to 1.0 (down or near). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8"></a>AMOTION_EVENT_AXIS_PRESSURE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Pressure axis of a motion event.</p>
-<ul>
-<li>For a touch screen or touch pad, reports the approximate pressure applied to the surface by a finger or other tool. The value is normalized to a range from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device.</li>
-<li>For a trackball, the value is set to 1 if the trackball button is pressed or 0 otherwise.</li>
-<li>For a mouse, the value is set to 1 if the primary mouse button is pressed or 0 otherwise. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6"></a>AMOTION_EVENT_AXIS_SIZE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Size axis of a motion event.</p>
-<ul>
-<li>For a touch screen or touch pad, reports the approximate size of the contact area in relation to the maximum detectable size for the device. The value is normalized to a range from 0 (smallest detectable size) to 1 (largest detectable size), although it is not a linear scale. This value is of limited use. To obtain calibrated size information, see <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">AMOTION_EVENT_AXIS_TOUCH_MAJOR</a> or <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">AMOTION_EVENT_AXIS_TOOL_MAJOR</a>. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2"></a>AMOTION_EVENT_AXIS_TOUCH_MAJOR</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: TouchMajor axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the length of the major axis of an ellipse that represents the touch area at the point of contact. The units are display pixels.</li>
-<li>For a touch pad, reports the length of the major axis of an ellipse that represents the touch area at the point of contact. The units are device-dependent. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c"></a>AMOTION_EVENT_AXIS_TOUCH_MINOR</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: TouchMinor axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the length of the minor axis of an ellipse that represents the touch area at the point of contact. The units are display pixels.</li>
-<li>For a touch pad, reports the length of the minor axis of an ellipse that represents the touch area at the point of contact. The units are device-dependent.</li>
-</ul>
-<p>When the touch is circular, the major and minor axis lengths will be equal to one another. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a"></a>AMOTION_EVENT_AXIS_TOOL_MAJOR</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: ToolMajor axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the length of the major axis of an ellipse that represents the size of the approaching finger or tool used to make contact.</li>
-<li>For a touch pad, reports the length of the major axis of an ellipse that represents the size of the approaching finger or tool used to make contact. The units are device-dependent.</li>
-</ul>
-<p>When the touch is circular, the major and minor axis lengths will be equal to one another.</p>
-<p>The tool size may be larger than the touch size since the tool may not be fully in contact with the touch sensor. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142"></a>AMOTION_EVENT_AXIS_TOOL_MINOR</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: ToolMinor axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the length of the minor axis of an ellipse that represents the size of the approaching finger or tool used to make contact.</li>
-<li>For a touch pad, reports the length of the minor axis of an ellipse that represents the size of the approaching finger or tool used to make contact. The units are device-dependent.</li>
-</ul>
-<p>When the touch is circular, the major and minor axis lengths will be equal to one another.</p>
-<p>The tool size may be larger than the touch size since the tool may not be fully in contact with the touch sensor. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2"></a>AMOTION_EVENT_AXIS_ORIENTATION</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Orientation axis of a motion event.</p>
-<ul>
-<li>For a touch screen or touch pad, reports the orientation of the finger or tool in radians relative to the vertical plane of the device. An angle of 0 radians indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right).</li>
-<li>For a stylus, the orientation indicates the direction in which the stylus is pointing in relation to the vertical axis of the current orientation of the screen. The range is from -PI radians to PI radians, where 0 is pointing up, -PI/2 radians is pointing left, -PI or PI radians is pointing down, and PI/2 radians is pointing right. See also <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">AMOTION_EVENT_AXIS_TILT</a>. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99"></a>AMOTION_EVENT_AXIS_VSCROLL</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Vertical Scroll axis of a motion event.</p>
-<ul>
-<li>For a mouse, reports the relative movement of the vertical scroll wheel. The value is normalized to a range from -1.0 (down) to 1.0 (up).</li>
-</ul>
-<p>This axis should be used to scroll views vertically. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff"></a>AMOTION_EVENT_AXIS_HSCROLL</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Horizontal Scroll axis of a motion event.</p>
-<ul>
-<li>For a mouse, reports the relative movement of the horizontal scroll wheel. The value is normalized to a range from -1.0 (left) to 1.0 (right).</li>
-</ul>
-<p>This axis should be used to scroll views horizontally. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305"></a>AMOTION_EVENT_AXIS_Z</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Z axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute Z position of the joystick. The value is normalized to a range from -1.0 (high) to 1.0 (low). <em>On game pads with two analog joysticks, this axis is often reinterpreted to report the absolute X position of the second joystick instead.</em> </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e"></a>AMOTION_EVENT_AXIS_RX</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: X Rotation axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute rotation angle about the X axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13"></a>AMOTION_EVENT_AXIS_RY</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Y Rotation axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute rotation angle about the Y axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b"></a>AMOTION_EVENT_AXIS_RZ</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Z Rotation axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute rotation angle about the Z axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise). On game pads with two analog joysticks, this axis is often reinterpreted to report the absolute Y position of the second joystick instead. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da"></a>AMOTION_EVENT_AXIS_HAT_X</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Hat X axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute X position of the directional hat control. The value is normalized to a range from -1.0 (left) to 1.0 (right). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482"></a>AMOTION_EVENT_AXIS_HAT_Y</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Hat Y axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute Y position of the directional hat control. The value is normalized to a range from -1.0 (up) to 1.0 (down). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591"></a>AMOTION_EVENT_AXIS_LTRIGGER</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Left Trigger axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the left trigger control. The value is normalized to a range from 0.0 (released) to 1.0 (fully pressed). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1"></a>AMOTION_EVENT_AXIS_RTRIGGER</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Right Trigger axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the right trigger control. The value is normalized to a range from 0.0 (released) to 1.0 (fully pressed). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f"></a>AMOTION_EVENT_AXIS_THROTTLE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Throttle axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the throttle control. The value is normalized to a range from 0.0 (fully open) to 1.0 (fully closed). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257"></a>AMOTION_EVENT_AXIS_RUDDER</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Rudder axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the rudder control. The value is normalized to a range from -1.0 (turn left) to 1.0 (turn right). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d"></a>AMOTION_EVENT_AXIS_WHEEL</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Wheel axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the steering wheel control. The value is normalized to a range from -1.0 (turn left) to 1.0 (turn right). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16"></a>AMOTION_EVENT_AXIS_GAS</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Gas axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the gas (accelerator) control. The value is normalized to a range from 0.0 (no acceleration) to 1.0 (maximum acceleration). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece"></a>AMOTION_EVENT_AXIS_BRAKE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Brake axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the brake control. The value is normalized to a range from 0.0 (no braking) to 1.0 (maximum braking). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e"></a>AMOTION_EVENT_AXIS_DISTANCE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Distance axis of a motion event.</p>
-<ul>
-<li>For a stylus, reports the distance of the stylus from the screen. A value of 0.0 indicates direct contact and larger values indicate increasing distance from the surface. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1"></a>AMOTION_EVENT_AXIS_TILT</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Tilt axis of a motion event.</p>
-<ul>
-<li>For a stylus, reports the tilt angle of the stylus in radians where 0 radians indicates that the stylus is being held perpendicular to the surface, and PI/2 radians indicates that the stylus is being held flat against the surface. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc"></a>AMOTION_EVENT_AXIS_GENERIC_1</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 1 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5"></a>AMOTION_EVENT_AXIS_GENERIC_2</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 2 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c"></a>AMOTION_EVENT_AXIS_GENERIC_3</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 3 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9"></a>AMOTION_EVENT_AXIS_GENERIC_4</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 4 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085"></a>AMOTION_EVENT_AXIS_GENERIC_5</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 5 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84"></a>AMOTION_EVENT_AXIS_GENERIC_6</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 6 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b"></a>AMOTION_EVENT_AXIS_GENERIC_7</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 7 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe"></a>AMOTION_EVENT_AXIS_GENERIC_8</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 8 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443"></a>AMOTION_EVENT_AXIS_GENERIC_9</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 9 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2"></a>AMOTION_EVENT_AXIS_GENERIC_10</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 10 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57"></a>AMOTION_EVENT_AXIS_GENERIC_11</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 11 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063"></a>AMOTION_EVENT_AXIS_GENERIC_12</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 12 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180"></a>AMOTION_EVENT_AXIS_GENERIC_13</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 13 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b"></a>AMOTION_EVENT_AXIS_GENERIC_14</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 14 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca"></a>AMOTION_EVENT_AXIS_GENERIC_15</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 15 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336"></a>AMOTION_EVENT_AXIS_GENERIC_16</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 16 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gac36f475ca5b446f4fde4c9b90bec77c8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Constants that identify buttons that are associated with motion events. Refer to the documentation on the MotionEvent class for descriptions of each button. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65"></a>AMOTION_EVENT_BUTTON_PRIMARY</em>&#160;</td><td class="fielddoc">
-<p>primary </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451"></a>AMOTION_EVENT_BUTTON_SECONDARY</em>&#160;</td><td class="fielddoc">
-<p>secondary </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f"></a>AMOTION_EVENT_BUTTON_TERTIARY</em>&#160;</td><td class="fielddoc">
-<p>tertiary </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86"></a>AMOTION_EVENT_BUTTON_BACK</em>&#160;</td><td class="fielddoc">
-<p>back </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438"></a>AMOTION_EVENT_BUTTON_FORWARD</em>&#160;</td><td class="fielddoc">
-<p>forward </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga05589fbab0657f08285ebdfe93f5ec9e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Constants that identify tool types. Refer to the documentation on the MotionEvent class for descriptions of each tool type. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208"></a>AMOTION_EVENT_TOOL_TYPE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>unknown </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc"></a>AMOTION_EVENT_TOOL_TYPE_FINGER</em>&#160;</td><td class="fielddoc">
-<p>finger </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7"></a>AMOTION_EVENT_TOOL_TYPE_STYLUS</em>&#160;</td><td class="fielddoc">
-<p>stylus </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de"></a>AMOTION_EVENT_TOOL_TYPE_MOUSE</em>&#160;</td><td class="fielddoc">
-<p>mouse </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb"></a>AMOTION_EVENT_TOOL_TYPE_ERASER</em>&#160;</td><td class="fielddoc">
-<p>eraser </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga16af7b253440dadd46a80a4b9fddba4d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input source masks.</p>
-<p>Refer to the documentation on android.view.InputDevice for more details about input sources and their correct interpretation. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01"></a>AINPUT_SOURCE_CLASS_MASK</em>&#160;</td><td class="fielddoc">
-<p>mask </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c"></a>AINPUT_SOURCE_CLASS_NONE</em>&#160;</td><td class="fielddoc">
-<p>none </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e"></a>AINPUT_SOURCE_CLASS_BUTTON</em>&#160;</td><td class="fielddoc">
-<p>button </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47"></a>AINPUT_SOURCE_CLASS_POINTER</em>&#160;</td><td class="fielddoc">
-<p>pointer </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a"></a>AINPUT_SOURCE_CLASS_NAVIGATION</em>&#160;</td><td class="fielddoc">
-<p>navigation </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167"></a>AINPUT_SOURCE_CLASS_POSITION</em>&#160;</td><td class="fielddoc">
-<p>position </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57"></a>AINPUT_SOURCE_CLASS_JOYSTICK</em>&#160;</td><td class="fielddoc">
-<p>joystick </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaba01db17f4a2bfbc3db60dc172972a25"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input sources. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454"></a>AINPUT_SOURCE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>unknown </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d"></a>AINPUT_SOURCE_KEYBOARD</em>&#160;</td><td class="fielddoc">
-<p>keyboard </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef"></a>AINPUT_SOURCE_DPAD</em>&#160;</td><td class="fielddoc">
-<p>dpad </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3"></a>AINPUT_SOURCE_GAMEPAD</em>&#160;</td><td class="fielddoc">
-<p>gamepad </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f"></a>AINPUT_SOURCE_TOUCHSCREEN</em>&#160;</td><td class="fielddoc">
-<p>touchscreen </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86"></a>AINPUT_SOURCE_MOUSE</em>&#160;</td><td class="fielddoc">
-<p>mouse </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9"></a>AINPUT_SOURCE_STYLUS</em>&#160;</td><td class="fielddoc">
-<p>stylus </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6"></a>AINPUT_SOURCE_TRACKBALL</em>&#160;</td><td class="fielddoc">
-<p>trackball </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef"></a>AINPUT_SOURCE_TOUCHPAD</em>&#160;</td><td class="fielddoc">
-<p>touchpad </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7"></a>AINPUT_SOURCE_TOUCH_NAVIGATION</em>&#160;</td><td class="fielddoc">
-<p>navigation </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5"></a>AINPUT_SOURCE_JOYSTICK</em>&#160;</td><td class="fielddoc">
-<p>joystick </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e"></a>AINPUT_SOURCE_ANY</em>&#160;</td><td class="fielddoc">
-<p>any </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaaf105ae5beaca1dee30ae54530691fce"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Keyboard types.</p>
-<p>Refer to the documentation on android.view.InputDevice for more details. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac"></a>AINPUT_KEYBOARD_TYPE_NONE</em>&#160;</td><td class="fielddoc">
-<p>none </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a"></a>AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC</em>&#160;</td><td class="fielddoc">
-<p>non alphabetic </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574"></a>AINPUT_KEYBOARD_TYPE_ALPHABETIC</em>&#160;</td><td class="fielddoc">
-<p>alphabetic </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga80155586fa275b28773c9b203f52caba"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Constants used to retrieve information about the range of motion for a particular coordinate of a motion event.</p>
-<p>Refer to the documentation on android.view.InputDevice for more details about input sources and their correct interpretation.</p>
-<dl class="deprecated"><dt><b>Deprecated:</b></dt><dd>These constants are deprecated. Use <a class="el" href="#AMOTION_EVENT_AXIS">AMOTION_EVENT_AXIS_*</a> constants instead. </dd></dl>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1"></a>AINPUT_MOTION_RANGE_X</em>&#160;</td><td class="fielddoc">
-<p>x </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332"></a>AINPUT_MOTION_RANGE_Y</em>&#160;</td><td class="fielddoc">
-<p>y </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a"></a>AINPUT_MOTION_RANGE_PRESSURE</em>&#160;</td><td class="fielddoc">
-<p>pressure </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688"></a>AINPUT_MOTION_RANGE_SIZE</em>&#160;</td><td class="fielddoc">
-<p>size </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67"></a>AINPUT_MOTION_RANGE_TOUCH_MAJOR</em>&#160;</td><td class="fielddoc">
-<p>touch major </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d"></a>AINPUT_MOTION_RANGE_TOUCH_MINOR</em>&#160;</td><td class="fielddoc">
-<p>touch minor </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c"></a>AINPUT_MOTION_RANGE_TOOL_MAJOR</em>&#160;</td><td class="fielddoc">
-<p>tool major </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1"></a>AINPUT_MOTION_RANGE_TOOL_MINOR</em>&#160;</td><td class="fielddoc">
-<p>tool minor </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d"></a>AINPUT_MOTION_RANGE_ORIENTATION</em>&#160;</td><td class="fielddoc">
-<p>orientation </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga6b7b47dd702d9e331586d485013fd1ea"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Key codes. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f"></a>AKEYCODE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>Unknown key code. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899"></a>AKEYCODE_SOFT_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Soft Left key. Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom left of the display. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae"></a>AKEYCODE_SOFT_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Soft Right key. Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom right of the display. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd"></a>AKEYCODE_HOME</em>&#160;</td><td class="fielddoc">
-<p>Home key. This key is handled by the framework and is never delivered to applications. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0"></a>AKEYCODE_BACK</em>&#160;</td><td class="fielddoc">
-<p>Back key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f"></a>AKEYCODE_CALL</em>&#160;</td><td class="fielddoc">
-<p>Call key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b"></a>AKEYCODE_ENDCALL</em>&#160;</td><td class="fielddoc">
-<p>End Call key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79"></a>AKEYCODE_0</em>&#160;</td><td class="fielddoc">
-<p>'0' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0"></a>AKEYCODE_1</em>&#160;</td><td class="fielddoc">
-<p>'1' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db"></a>AKEYCODE_2</em>&#160;</td><td class="fielddoc">
-<p>'2' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551"></a>AKEYCODE_3</em>&#160;</td><td class="fielddoc">
-<p>'3' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b"></a>AKEYCODE_4</em>&#160;</td><td class="fielddoc">
-<p>'4' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e"></a>AKEYCODE_5</em>&#160;</td><td class="fielddoc">
-<p>'5' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079"></a>AKEYCODE_6</em>&#160;</td><td class="fielddoc">
-<p>'6' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff"></a>AKEYCODE_7</em>&#160;</td><td class="fielddoc">
-<p>'7' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab"></a>AKEYCODE_8</em>&#160;</td><td class="fielddoc">
-<p>'8' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d"></a>AKEYCODE_9</em>&#160;</td><td class="fielddoc">
-<p>'9' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305"></a>AKEYCODE_STAR</em>&#160;</td><td class="fielddoc">
-<p>'*' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9"></a>AKEYCODE_POUND</em>&#160;</td><td class="fielddoc">
-<p>'#' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e"></a>AKEYCODE_DPAD_UP</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Up key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a"></a>AKEYCODE_DPAD_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Down key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344"></a>AKEYCODE_DPAD_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Left key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975"></a>AKEYCODE_DPAD_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Right key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae"></a>AKEYCODE_DPAD_CENTER</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Center key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882"></a>AKEYCODE_VOLUME_UP</em>&#160;</td><td class="fielddoc">
-<p>Volume Up key. Adjusts the speaker volume up. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66"></a>AKEYCODE_VOLUME_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Volume Down key. Adjusts the speaker volume down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6"></a>AKEYCODE_POWER</em>&#160;</td><td class="fielddoc">
-<p>Power key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26"></a>AKEYCODE_CAMERA</em>&#160;</td><td class="fielddoc">
-<p>Camera key. Used to launch a camera application or take pictures. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901"></a>AKEYCODE_CLEAR</em>&#160;</td><td class="fielddoc">
-<p>Clear key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014"></a>AKEYCODE_A</em>&#160;</td><td class="fielddoc">
-<p>'A' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758"></a>AKEYCODE_B</em>&#160;</td><td class="fielddoc">
-<p>'B' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04"></a>AKEYCODE_C</em>&#160;</td><td class="fielddoc">
-<p>'C' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51"></a>AKEYCODE_D</em>&#160;</td><td class="fielddoc">
-<p>'D' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0"></a>AKEYCODE_E</em>&#160;</td><td class="fielddoc">
-<p>'E' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a"></a>AKEYCODE_F</em>&#160;</td><td class="fielddoc">
-<p>'F' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9"></a>AKEYCODE_G</em>&#160;</td><td class="fielddoc">
-<p>'G' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc"></a>AKEYCODE_H</em>&#160;</td><td class="fielddoc">
-<p>'H' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b"></a>AKEYCODE_I</em>&#160;</td><td class="fielddoc">
-<p>'I' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a"></a>AKEYCODE_J</em>&#160;</td><td class="fielddoc">
-<p>'J' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932"></a>AKEYCODE_K</em>&#160;</td><td class="fielddoc">
-<p>'K' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b"></a>AKEYCODE_L</em>&#160;</td><td class="fielddoc">
-<p>'L' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1"></a>AKEYCODE_M</em>&#160;</td><td class="fielddoc">
-<p>'M' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36"></a>AKEYCODE_N</em>&#160;</td><td class="fielddoc">
-<p>'N' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb"></a>AKEYCODE_O</em>&#160;</td><td class="fielddoc">
-<p>'O' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f"></a>AKEYCODE_P</em>&#160;</td><td class="fielddoc">
-<p>'P' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206"></a>AKEYCODE_Q</em>&#160;</td><td class="fielddoc">
-<p>'Q' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532"></a>AKEYCODE_R</em>&#160;</td><td class="fielddoc">
-<p>'R' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6"></a>AKEYCODE_S</em>&#160;</td><td class="fielddoc">
-<p>'S' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2"></a>AKEYCODE_T</em>&#160;</td><td class="fielddoc">
-<p>'T' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595"></a>AKEYCODE_U</em>&#160;</td><td class="fielddoc">
-<p>'U' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a"></a>AKEYCODE_V</em>&#160;</td><td class="fielddoc">
-<p>'V' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425"></a>AKEYCODE_W</em>&#160;</td><td class="fielddoc">
-<p>'W' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5"></a>AKEYCODE_X</em>&#160;</td><td class="fielddoc">
-<p>'X' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b"></a>AKEYCODE_Y</em>&#160;</td><td class="fielddoc">
-<p>'Y' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce"></a>AKEYCODE_Z</em>&#160;</td><td class="fielddoc">
-<p>'Z' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227"></a>AKEYCODE_COMMA</em>&#160;</td><td class="fielddoc">
-<p>',' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04"></a>AKEYCODE_PERIOD</em>&#160;</td><td class="fielddoc">
-<p>'.' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a"></a>AKEYCODE_ALT_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Left Alt modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d"></a>AKEYCODE_ALT_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Right Alt modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4"></a>AKEYCODE_SHIFT_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Left Shift modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212"></a>AKEYCODE_SHIFT_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Right Shift modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958"></a>AKEYCODE_TAB</em>&#160;</td><td class="fielddoc">
-<p>Tab key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7"></a>AKEYCODE_SPACE</em>&#160;</td><td class="fielddoc">
-<p>Space key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f"></a>AKEYCODE_SYM</em>&#160;</td><td class="fielddoc">
-<p>Symbol modifier key. Used to enter alternate symbols. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083"></a>AKEYCODE_EXPLORER</em>&#160;</td><td class="fielddoc">
-<p>Explorer special function key. Used to launch a browser application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c"></a>AKEYCODE_ENVELOPE</em>&#160;</td><td class="fielddoc">
-<p>Envelope special function key. Used to launch a mail application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff"></a>AKEYCODE_ENTER</em>&#160;</td><td class="fielddoc">
-<p>Enter key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a"></a>AKEYCODE_DEL</em>&#160;</td><td class="fielddoc">
-<p>Backspace key. Deletes characters before the insertion point, unlike <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">AKEYCODE_FORWARD_DEL</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171"></a>AKEYCODE_GRAVE</em>&#160;</td><td class="fielddoc">
-<p>'`' (backtick) key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca"></a>AKEYCODE_MINUS</em>&#160;</td><td class="fielddoc">
-<p>'-'. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498"></a>AKEYCODE_EQUALS</em>&#160;</td><td class="fielddoc">
-<p>'=' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708"></a>AKEYCODE_LEFT_BRACKET</em>&#160;</td><td class="fielddoc">
-<p>'[' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a"></a>AKEYCODE_RIGHT_BRACKET</em>&#160;</td><td class="fielddoc">
-<p>']' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701"></a>AKEYCODE_BACKSLASH</em>&#160;</td><td class="fielddoc">
-<p>'\' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391"></a>AKEYCODE_SEMICOLON</em>&#160;</td><td class="fielddoc">
-<p>';' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1"></a>AKEYCODE_APOSTROPHE</em>&#160;</td><td class="fielddoc">
-<p>''' (apostrophe) key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a"></a>AKEYCODE_SLASH</em>&#160;</td><td class="fielddoc">
-<p>'/' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16"></a>AKEYCODE_AT</em>&#160;</td><td class="fielddoc">
-<p>'@' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a"></a>AKEYCODE_NUM</em>&#160;</td><td class="fielddoc">
-<p>Number modifier key. Used to enter numeric symbols. This key is not <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">AKEYCODE_NUM_LOCK</a>; it is more like <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">AKEYCODE_ALT_LEFT</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33"></a>AKEYCODE_HEADSETHOOK</em>&#160;</td><td class="fielddoc">
-<p>Headset Hook key. Used to hang up calls and stop media. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187"></a>AKEYCODE_FOCUS</em>&#160;</td><td class="fielddoc">
-<p>Camera Focus key. Used to focus the camera. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495"></a>AKEYCODE_PLUS</em>&#160;</td><td class="fielddoc">
-<p>'+' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76"></a>AKEYCODE_MENU</em>&#160;</td><td class="fielddoc">
-<p>Menu key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331"></a>AKEYCODE_NOTIFICATION</em>&#160;</td><td class="fielddoc">
-<p>Notification key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7"></a>AKEYCODE_SEARCH</em>&#160;</td><td class="fielddoc">
-<p>Search key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1"></a>AKEYCODE_MEDIA_PLAY_PAUSE</em>&#160;</td><td class="fielddoc">
-<p>Play/Pause media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d"></a>AKEYCODE_MEDIA_STOP</em>&#160;</td><td class="fielddoc">
-<p>Stop media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3"></a>AKEYCODE_MEDIA_NEXT</em>&#160;</td><td class="fielddoc">
-<p>Play Next media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb"></a>AKEYCODE_MEDIA_PREVIOUS</em>&#160;</td><td class="fielddoc">
-<p>Play Previous media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319"></a>AKEYCODE_MEDIA_REWIND</em>&#160;</td><td class="fielddoc">
-<p>Rewind media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca"></a>AKEYCODE_MEDIA_FAST_FORWARD</em>&#160;</td><td class="fielddoc">
-<p>Fast Forward media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02"></a>AKEYCODE_MUTE</em>&#160;</td><td class="fielddoc">
-<p>Mute key. Mutes the microphone, unlike <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">AKEYCODE_VOLUME_MUTE</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04"></a>AKEYCODE_PAGE_UP</em>&#160;</td><td class="fielddoc">
-<p>Page Up key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393"></a>AKEYCODE_PAGE_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Page Down key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41"></a>AKEYCODE_PICTSYMBOLS</em>&#160;</td><td class="fielddoc">
-<p>Picture Symbols modifier key. Used to switch symbol sets (Emoji, Kao-moji). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3"></a>AKEYCODE_SWITCH_CHARSET</em>&#160;</td><td class="fielddoc">
-<p>Switch Charset modifier key. Used to switch character sets (Kanji, Katakana). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086"></a>AKEYCODE_BUTTON_A</em>&#160;</td><td class="fielddoc">
-<p>A Button key. On a game controller, the A button should be either the button labeled A or the first button on the bottom row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53"></a>AKEYCODE_BUTTON_B</em>&#160;</td><td class="fielddoc">
-<p>B Button key. On a game controller, the B button should be either the button labeled B or the second button on the bottom row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d"></a>AKEYCODE_BUTTON_C</em>&#160;</td><td class="fielddoc">
-<p>C Button key. On a game controller, the C button should be either the button labeled C or the third button on the bottom row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7"></a>AKEYCODE_BUTTON_X</em>&#160;</td><td class="fielddoc">
-<p>X Button key. On a game controller, the X button should be either the button labeled X or the first button on the upper row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919"></a>AKEYCODE_BUTTON_Y</em>&#160;</td><td class="fielddoc">
-<p>Y Button key. On a game controller, the Y button should be either the button labeled Y or the second button on the upper row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f"></a>AKEYCODE_BUTTON_Z</em>&#160;</td><td class="fielddoc">
-<p>Z Button key. On a game controller, the Z button should be either the button labeled Z or the third button on the upper row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2"></a>AKEYCODE_BUTTON_L1</em>&#160;</td><td class="fielddoc">
-<p>L1 Button key. On a game controller, the L1 button should be either the button labeled L1 (or L) or the top left trigger button. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46"></a>AKEYCODE_BUTTON_R1</em>&#160;</td><td class="fielddoc">
-<p>R1 Button key. On a game controller, the R1 button should be either the button labeled R1 (or R) or the top right trigger button. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4"></a>AKEYCODE_BUTTON_L2</em>&#160;</td><td class="fielddoc">
-<p>L2 Button key. On a game controller, the L2 button should be either the button labeled L2 or the bottom left trigger button. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e"></a>AKEYCODE_BUTTON_R2</em>&#160;</td><td class="fielddoc">
-<p>R2 Button key. On a game controller, the R2 button should be either the button labeled R2 or the bottom right trigger button. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638"></a>AKEYCODE_BUTTON_THUMBL</em>&#160;</td><td class="fielddoc">
-<p>Left Thumb Button key. On a game controller, the left thumb button indicates that the left (or only) joystick is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe"></a>AKEYCODE_BUTTON_THUMBR</em>&#160;</td><td class="fielddoc">
-<p>Right Thumb Button key. On a game controller, the right thumb button indicates that the right joystick is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4"></a>AKEYCODE_BUTTON_START</em>&#160;</td><td class="fielddoc">
-<p>Start Button key. On a game controller, the button labeled Start. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43"></a>AKEYCODE_BUTTON_SELECT</em>&#160;</td><td class="fielddoc">
-<p>Select Button key. On a game controller, the button labeled Select. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594"></a>AKEYCODE_BUTTON_MODE</em>&#160;</td><td class="fielddoc">
-<p>Mode Button key. On a game controller, the button labeled Mode. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6"></a>AKEYCODE_ESCAPE</em>&#160;</td><td class="fielddoc">
-<p>Escape key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51"></a>AKEYCODE_FORWARD_DEL</em>&#160;</td><td class="fielddoc">
-<p>Forward Delete key. Deletes characters ahead of the insertion point, unlike <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">AKEYCODE_DEL</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1"></a>AKEYCODE_CTRL_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Left Control modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c"></a>AKEYCODE_CTRL_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Right Control modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1"></a>AKEYCODE_CAPS_LOCK</em>&#160;</td><td class="fielddoc">
-<p>Caps Lock key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc"></a>AKEYCODE_SCROLL_LOCK</em>&#160;</td><td class="fielddoc">
-<p>Scroll Lock key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58"></a>AKEYCODE_META_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Left Meta modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8"></a>AKEYCODE_META_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Right Meta modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722"></a>AKEYCODE_FUNCTION</em>&#160;</td><td class="fielddoc">
-<p>Function modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84"></a>AKEYCODE_SYSRQ</em>&#160;</td><td class="fielddoc">
-<p>System Request / Print Screen key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23"></a>AKEYCODE_BREAK</em>&#160;</td><td class="fielddoc">
-<p>Break / Pause key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58"></a>AKEYCODE_MOVE_HOME</em>&#160;</td><td class="fielddoc">
-<p>Home Movement key. Used for scrolling or moving the cursor around to the start of a line or to the top of a list. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a"></a>AKEYCODE_MOVE_END</em>&#160;</td><td class="fielddoc">
-<p>End Movement key. Used for scrolling or moving the cursor around to the end of a line or to the bottom of a list. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644"></a>AKEYCODE_INSERT</em>&#160;</td><td class="fielddoc">
-<p>Insert key. Toggles insert / overwrite edit mode. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a"></a>AKEYCODE_FORWARD</em>&#160;</td><td class="fielddoc">
-<p>Forward key. Navigates forward in the history stack. Complement of <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">AKEYCODE_BACK</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1"></a>AKEYCODE_MEDIA_PLAY</em>&#160;</td><td class="fielddoc">
-<p>Play media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4"></a>AKEYCODE_MEDIA_PAUSE</em>&#160;</td><td class="fielddoc">
-<p>Pause media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998"></a>AKEYCODE_MEDIA_CLOSE</em>&#160;</td><td class="fielddoc">
-<p>Close media key. May be used to close a CD tray, for example. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6"></a>AKEYCODE_MEDIA_EJECT</em>&#160;</td><td class="fielddoc">
-<p>Eject media key. May be used to eject a CD tray, for example. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9"></a>AKEYCODE_MEDIA_RECORD</em>&#160;</td><td class="fielddoc">
-<p>Record media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf"></a>AKEYCODE_F1</em>&#160;</td><td class="fielddoc">
-<p>F1 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84"></a>AKEYCODE_F2</em>&#160;</td><td class="fielddoc">
-<p>F2 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085"></a>AKEYCODE_F3</em>&#160;</td><td class="fielddoc">
-<p>F3 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf"></a>AKEYCODE_F4</em>&#160;</td><td class="fielddoc">
-<p>F4 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937"></a>AKEYCODE_F5</em>&#160;</td><td class="fielddoc">
-<p>F5 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60"></a>AKEYCODE_F6</em>&#160;</td><td class="fielddoc">
-<p>F6 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c"></a>AKEYCODE_F7</em>&#160;</td><td class="fielddoc">
-<p>F7 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8"></a>AKEYCODE_F8</em>&#160;</td><td class="fielddoc">
-<p>F8 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9"></a>AKEYCODE_F9</em>&#160;</td><td class="fielddoc">
-<p>F9 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474"></a>AKEYCODE_F10</em>&#160;</td><td class="fielddoc">
-<p>F10 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22"></a>AKEYCODE_F11</em>&#160;</td><td class="fielddoc">
-<p>F11 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7"></a>AKEYCODE_F12</em>&#160;</td><td class="fielddoc">
-<p>F12 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef"></a>AKEYCODE_NUM_LOCK</em>&#160;</td><td class="fielddoc">
-<p>Num Lock key. This is the Num Lock key; it is different from <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">AKEYCODE_NUM</a>. This key alters the behavior of other keys on the numeric keypad. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b"></a>AKEYCODE_NUMPAD_0</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '0' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17"></a>AKEYCODE_NUMPAD_1</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '1' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89"></a>AKEYCODE_NUMPAD_2</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '2' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386"></a>AKEYCODE_NUMPAD_3</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '3' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8"></a>AKEYCODE_NUMPAD_4</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '4' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b"></a>AKEYCODE_NUMPAD_5</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '5' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d"></a>AKEYCODE_NUMPAD_6</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '6' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93"></a>AKEYCODE_NUMPAD_7</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '7' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642"></a>AKEYCODE_NUMPAD_8</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '8' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95"></a>AKEYCODE_NUMPAD_9</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '9' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c"></a>AKEYCODE_NUMPAD_DIVIDE</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '/' key (for division). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735"></a>AKEYCODE_NUMPAD_MULTIPLY</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '*' key (for multiplication). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe"></a>AKEYCODE_NUMPAD_SUBTRACT</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '-' key (for subtraction). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35"></a>AKEYCODE_NUMPAD_ADD</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '+' key (for addition). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1"></a>AKEYCODE_NUMPAD_DOT</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '.' key (for decimals or digit grouping). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1"></a>AKEYCODE_NUMPAD_COMMA</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad ',' key (for decimals or digit grouping). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e"></a>AKEYCODE_NUMPAD_ENTER</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad Enter key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed"></a>AKEYCODE_NUMPAD_EQUALS</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '=' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54"></a>AKEYCODE_NUMPAD_LEFT_PAREN</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '(' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9"></a>AKEYCODE_NUMPAD_RIGHT_PAREN</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad ')' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575"></a>AKEYCODE_VOLUME_MUTE</em>&#160;</td><td class="fielddoc">
-<p>Volume Mute key. Mutes the speaker, unlike <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">AKEYCODE_MUTE</a>. This key should normally be implemented as a toggle such that the first press mutes the speaker and the second press restores the original volume. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649"></a>AKEYCODE_INFO</em>&#160;</td><td class="fielddoc">
-<p>Info key. Common on TV remotes to show additional information related to what is currently being viewed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c"></a>AKEYCODE_CHANNEL_UP</em>&#160;</td><td class="fielddoc">
-<p>Channel up key. On TV remotes, increments the television channel. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f"></a>AKEYCODE_CHANNEL_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Channel down key. On TV remotes, decrements the television channel. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4"></a>AKEYCODE_ZOOM_IN</em>&#160;</td><td class="fielddoc">
-<p>Zoom in key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535"></a>AKEYCODE_ZOOM_OUT</em>&#160;</td><td class="fielddoc">
-<p>Zoom out key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017"></a>AKEYCODE_TV</em>&#160;</td><td class="fielddoc">
-<p>TV key. On TV remotes, switches to viewing live TV. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8"></a>AKEYCODE_WINDOW</em>&#160;</td><td class="fielddoc">
-<p>Window key. On TV remotes, toggles picture-in-picture mode or other windowing functions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233"></a>AKEYCODE_GUIDE</em>&#160;</td><td class="fielddoc">
-<p>Guide key. On TV remotes, shows a programming guide. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60"></a>AKEYCODE_DVR</em>&#160;</td><td class="fielddoc">
-<p>DVR key. On some TV remotes, switches to a DVR mode for recorded shows. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae"></a>AKEYCODE_BOOKMARK</em>&#160;</td><td class="fielddoc">
-<p>Bookmark key. On some TV remotes, bookmarks content or web pages. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994"></a>AKEYCODE_CAPTIONS</em>&#160;</td><td class="fielddoc">
-<p>Toggle captions key. Switches the mode for closed-captioning text, for example during television shows. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159"></a>AKEYCODE_SETTINGS</em>&#160;</td><td class="fielddoc">
-<p>Settings key. Starts the system settings activity. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930"></a>AKEYCODE_TV_POWER</em>&#160;</td><td class="fielddoc">
-<p>TV power key. On TV remotes, toggles the power on a television screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5"></a>AKEYCODE_TV_INPUT</em>&#160;</td><td class="fielddoc">
-<p>TV input key. On TV remotes, switches the input on a television screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d"></a>AKEYCODE_STB_POWER</em>&#160;</td><td class="fielddoc">
-<p>Set-top-box power key. On TV remotes, toggles the power on an external Set-top-box. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5"></a>AKEYCODE_STB_INPUT</em>&#160;</td><td class="fielddoc">
-<p>Set-top-box input key. On TV remotes, switches the input mode on an external Set-top-box. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b"></a>AKEYCODE_AVR_POWER</em>&#160;</td><td class="fielddoc">
-<p>A/V Receiver power key. On TV remotes, toggles the power on an external A/V Receiver. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504"></a>AKEYCODE_AVR_INPUT</em>&#160;</td><td class="fielddoc">
-<p>A/V Receiver input key. On TV remotes, switches the input mode on an external A/V Receiver. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c"></a>AKEYCODE_PROG_RED</em>&#160;</td><td class="fielddoc">
-<p>Red "programmable" key. On TV remotes, acts as a contextual/programmable key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1"></a>AKEYCODE_PROG_GREEN</em>&#160;</td><td class="fielddoc">
-<p>Green "programmable" key. On TV remotes, actsas a contextual/programmable key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4"></a>AKEYCODE_PROG_YELLOW</em>&#160;</td><td class="fielddoc">
-<p>Yellow "programmable" key. On TV remotes, acts as a contextual/programmable key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0"></a>AKEYCODE_PROG_BLUE</em>&#160;</td><td class="fielddoc">
-<p>Blue "programmable" key. On TV remotes, acts as a contextual/programmable key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad"></a>AKEYCODE_APP_SWITCH</em>&#160;</td><td class="fielddoc">
-<p>App switch key. Should bring up the application switcher dialog. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a"></a>AKEYCODE_BUTTON_1</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3"></a>AKEYCODE_BUTTON_2</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #2. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1"></a>AKEYCODE_BUTTON_3</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #3. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6"></a>AKEYCODE_BUTTON_4</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #4. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5"></a>AKEYCODE_BUTTON_5</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #5. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b"></a>AKEYCODE_BUTTON_6</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #6. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35"></a>AKEYCODE_BUTTON_7</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #7. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f"></a>AKEYCODE_BUTTON_8</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #8. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc"></a>AKEYCODE_BUTTON_9</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #9. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7"></a>AKEYCODE_BUTTON_10</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #10. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1"></a>AKEYCODE_BUTTON_11</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #11. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e"></a>AKEYCODE_BUTTON_12</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #12. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f"></a>AKEYCODE_BUTTON_13</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #13. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b"></a>AKEYCODE_BUTTON_14</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #14. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0"></a>AKEYCODE_BUTTON_15</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #15. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39"></a>AKEYCODE_BUTTON_16</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #16. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff"></a>AKEYCODE_LANGUAGE_SWITCH</em>&#160;</td><td class="fielddoc">
-<p>Language Switch key. Toggles the current input language such as switching between English and Japanese on a QWERTY keyboard. On some devices, the same function may be performed by pressing Shift+Spacebar. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f"></a>AKEYCODE_MANNER_MODE</em>&#160;</td><td class="fielddoc">
-<p>Manner Mode key. Toggles silent or vibrate mode on and off to make the device behave more politely in certain settings such as on a crowded train. On some devices, the key may only operate when long-pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c"></a>AKEYCODE_3D_MODE</em>&#160;</td><td class="fielddoc">
-<p>3D Mode key. Toggles the display between 2D and 3D mode. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10"></a>AKEYCODE_CONTACTS</em>&#160;</td><td class="fielddoc">
-<p>Contacts special function key. Used to launch an address book application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076"></a>AKEYCODE_CALENDAR</em>&#160;</td><td class="fielddoc">
-<p>Calendar special function key. Used to launch a calendar application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72"></a>AKEYCODE_MUSIC</em>&#160;</td><td class="fielddoc">
-<p>Music special function key. Used to launch a music player application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573"></a>AKEYCODE_CALCULATOR</em>&#160;</td><td class="fielddoc">
-<p>Calculator special function key. Used to launch a calculator application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22"></a>AKEYCODE_ZENKAKU_HANKAKU</em>&#160;</td><td class="fielddoc">
-<p>Japanese full-width / half-width key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234"></a>AKEYCODE_EISU</em>&#160;</td><td class="fielddoc">
-<p>Japanese alphanumeric key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7"></a>AKEYCODE_MUHENKAN</em>&#160;</td><td class="fielddoc">
-<p>Japanese non-conversion key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02"></a>AKEYCODE_HENKAN</em>&#160;</td><td class="fielddoc">
-<p>Japanese conversion key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28"></a>AKEYCODE_KATAKANA_HIRAGANA</em>&#160;</td><td class="fielddoc">
-<p>Japanese katakana / hiragana key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b"></a>AKEYCODE_YEN</em>&#160;</td><td class="fielddoc">
-<p>Japanese Yen key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4"></a>AKEYCODE_RO</em>&#160;</td><td class="fielddoc">
-<p>Japanese Ro key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531"></a>AKEYCODE_KANA</em>&#160;</td><td class="fielddoc">
-<p>Japanese kana key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838"></a>AKEYCODE_ASSIST</em>&#160;</td><td class="fielddoc">
-<p>Assist key. Launches the global assist activity. Not delivered to applications. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650"></a>AKEYCODE_BRIGHTNESS_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Brightness Down key. Adjusts the screen brightness down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36"></a>AKEYCODE_BRIGHTNESS_UP</em>&#160;</td><td class="fielddoc">
-<p>Brightness Up key. Adjusts the screen brightness up. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1"></a>AKEYCODE_MEDIA_AUDIO_TRACK</em>&#160;</td><td class="fielddoc">
-<p>Audio Track key. Switches the audio tracks. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207"></a>AKEYCODE_SLEEP</em>&#160;</td><td class="fielddoc">
-<p>Sleep key. Puts the device to sleep. Behaves somewhat like <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">AKEYCODE_POWER</a> but it has no effect if the device is already asleep. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429"></a>AKEYCODE_WAKEUP</em>&#160;</td><td class="fielddoc">
-<p>Wakeup key. Wakes up the device. Behaves somewhat like <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">AKEYCODE_POWER</a> but it has no effect if the device is already awake. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553"></a>AKEYCODE_PAIRING</em>&#160;</td><td class="fielddoc">
-<p>Pairing key. Initiates peripheral pairing mode. Useful for pairing remote control devices or game controllers, especially if no other input mode is available. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a"></a>AKEYCODE_MEDIA_TOP_MENU</em>&#160;</td><td class="fielddoc">
-<p>Media Top Menu key. Goes to the top of media menu. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1"></a>AKEYCODE_11</em>&#160;</td><td class="fielddoc">
-<p>'11' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5"></a>AKEYCODE_12</em>&#160;</td><td class="fielddoc">
-<p>'12' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9"></a>AKEYCODE_LAST_CHANNEL</em>&#160;</td><td class="fielddoc">
-<p>Last Channel key. Goes to the last viewed channel. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06"></a>AKEYCODE_TV_DATA_SERVICE</em>&#160;</td><td class="fielddoc">
-<p>TV data service key. Displays data services like weather, sports. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744"></a>AKEYCODE_VOICE_ASSIST</em>&#160;</td><td class="fielddoc">
-<p>Voice Assist key. Launches the global voice assist activity. Not delivered to applications. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72"></a>AKEYCODE_TV_RADIO_SERVICE</em>&#160;</td><td class="fielddoc">
-<p>Radio key. Toggles TV service / Radio service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db"></a>AKEYCODE_TV_TELETEXT</em>&#160;</td><td class="fielddoc">
-<p>Teletext key. Displays Teletext service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055"></a>AKEYCODE_TV_NUMBER_ENTRY</em>&#160;</td><td class="fielddoc">
-<p>Number entry key. Initiates to enter multi-digit channel nubmber when each digit key is assigned for selecting separate channel. Corresponds to Number Entry Mode (0x1D) of CEC User Control Code. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073"></a>AKEYCODE_TV_TERRESTRIAL_ANALOG</em>&#160;</td><td class="fielddoc">
-<p>Analog Terrestrial key. Switches to analog terrestrial broadcast service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16"></a>AKEYCODE_TV_TERRESTRIAL_DIGITAL</em>&#160;</td><td class="fielddoc">
-<p>Digital Terrestrial key. Switches to digital terrestrial broadcast service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936"></a>AKEYCODE_TV_SATELLITE</em>&#160;</td><td class="fielddoc">
-<p>Satellite key. Switches to digital satellite broadcast service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5"></a>AKEYCODE_TV_SATELLITE_BS</em>&#160;</td><td class="fielddoc">
-<p>BS key. Switches to BS digital satellite broadcasting service available in Japan. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0"></a>AKEYCODE_TV_SATELLITE_CS</em>&#160;</td><td class="fielddoc">
-<p>CS key. Switches to CS digital satellite broadcasting service available in Japan. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb"></a>AKEYCODE_TV_SATELLITE_SERVICE</em>&#160;</td><td class="fielddoc">
-<p>BS/CS key. Toggles between BS and CS digital satellite services. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42"></a>AKEYCODE_TV_NETWORK</em>&#160;</td><td class="fielddoc">
-<p>Toggle Network key. Toggles selecting broacast services. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9"></a>AKEYCODE_TV_ANTENNA_CABLE</em>&#160;</td><td class="fielddoc">
-<p>Antenna/Cable key. Toggles broadcast input source between antenna and cable. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445"></a>AKEYCODE_TV_INPUT_HDMI_1</em>&#160;</td><td class="fielddoc">
-<p>HDMI #1 key. Switches to HDMI input #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f"></a>AKEYCODE_TV_INPUT_HDMI_2</em>&#160;</td><td class="fielddoc">
-<p>HDMI #2 key. Switches to HDMI input #2. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f"></a>AKEYCODE_TV_INPUT_HDMI_3</em>&#160;</td><td class="fielddoc">
-<p>HDMI #3 key. Switches to HDMI input #3. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5"></a>AKEYCODE_TV_INPUT_HDMI_4</em>&#160;</td><td class="fielddoc">
-<p>HDMI #4 key. Switches to HDMI input #4. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd"></a>AKEYCODE_TV_INPUT_COMPOSITE_1</em>&#160;</td><td class="fielddoc">
-<p>Composite #1 key. Switches to composite video input #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9"></a>AKEYCODE_TV_INPUT_COMPOSITE_2</em>&#160;</td><td class="fielddoc">
-<p>Composite #2 key. Switches to composite video input #2. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae"></a>AKEYCODE_TV_INPUT_COMPONENT_1</em>&#160;</td><td class="fielddoc">
-<p>Component #1 key. Switches to component video input #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec"></a>AKEYCODE_TV_INPUT_COMPONENT_2</em>&#160;</td><td class="fielddoc">
-<p>Component #2 key. Switches to component video input #2. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85"></a>AKEYCODE_TV_INPUT_VGA_1</em>&#160;</td><td class="fielddoc">
-<p>VGA #1 key. Switches to VGA (analog RGB) input #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6"></a>AKEYCODE_TV_AUDIO_DESCRIPTION</em>&#160;</td><td class="fielddoc">
-<p>Audio description key. Toggles audio description off / on. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678"></a>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP</em>&#160;</td><td class="fielddoc">
-<p>Audio description mixing volume up key. Louden audio description volume as compared with normal audio volume. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb"></a>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Audio description mixing volume down key. Lessen audio description volume as compared with normal audio volume. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4"></a>AKEYCODE_TV_ZOOM_MODE</em>&#160;</td><td class="fielddoc">
-<p>Zoom mode key. Changes Zoom mode (Normal, Full, Zoom, Wide-zoom, etc.) </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8"></a>AKEYCODE_TV_CONTENTS_MENU</em>&#160;</td><td class="fielddoc">
-<p>Contents menu key. Goes to the title list. Corresponds to Contents Menu (0x0B) of CEC User Control Code </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe"></a>AKEYCODE_TV_MEDIA_CONTEXT_MENU</em>&#160;</td><td class="fielddoc">
-<p>Media context menu key. Goes to the context menu of media contents. Corresponds to Media Context-sensitive Menu (0x11) of CEC User Control Code. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840"></a>AKEYCODE_TV_TIMER_PROGRAMMING</em>&#160;</td><td class="fielddoc">
-<p>Timer programming key. Goes to the timer recording menu. Corresponds to Timer Programming (0x54) of CEC User Control Code. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9"></a>AKEYCODE_HELP</em>&#160;</td><td class="fielddoc">
-<p>Help key. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gabc6126af1d45847bc59afa0aa3216b04"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Key states (may be returned by queries about the current state of a particular key code, scan code or switch). </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd"></a>AKEY_STATE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>The key state is unknown or the requested key itself is not supported. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28"></a>AKEY_STATE_UP</em>&#160;</td><td class="fielddoc">
-<p>The key is up. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c"></a>AKEY_STATE_DOWN</em>&#160;</td><td class="fielddoc">
-<p>The key is down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192"></a>AKEY_STATE_VIRTUAL</em>&#160;</td><td class="fielddoc">
-<p>The key is down but is a virtual key press that is being emulated by the system. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gadc29c2ff13d900c2f185ee95427fb06c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Meta key / modifer state. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d"></a>AMETA_NONE</em>&#160;</td><td class="fielddoc">
-<p>No meta keys are pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881"></a>AMETA_ALT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether one of the ALT meta keys is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df"></a>AMETA_ALT_LEFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the left ALT meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a"></a>AMETA_ALT_RIGHT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the right ALT meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197"></a>AMETA_SHIFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether one of the SHIFT meta keys is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7"></a>AMETA_SHIFT_LEFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the left SHIFT meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1"></a>AMETA_SHIFT_RIGHT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the right SHIFT meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea"></a>AMETA_SYM_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the SYM meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1"></a>AMETA_FUNCTION_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the FUNCTION meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5"></a>AMETA_CTRL_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether one of the CTRL meta keys is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6"></a>AMETA_CTRL_LEFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the left CTRL meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419"></a>AMETA_CTRL_RIGHT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the right CTRL meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a"></a>AMETA_META_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether one of the META meta keys is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f"></a>AMETA_META_LEFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the left META meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf"></a>AMETA_META_RIGHT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the right META meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37"></a>AMETA_CAPS_LOCK_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the CAPS LOCK meta key is on. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6"></a>AMETA_NUM_LOCK_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the NUM LOCK meta key is on. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a"></a>AMETA_SCROLL_LOCK_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the SCROLL LOCK meta key is on. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga61dadd085c1777f559549e05962b2c9e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input event types. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba"></a>AINPUT_EVENT_TYPE_KEY</em>&#160;</td><td class="fielddoc">
-<p>Indicates that the input event is a key event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a"></a>AINPUT_EVENT_TYPE_MOTION</em>&#160;</td><td class="fielddoc">
-<p>Indicates that the input event is a motion event. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga726ca809ffd3d67ab4b8476646f26635"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Key event actions. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49"></a>AKEY_EVENT_ACTION_DOWN</em>&#160;</td><td class="fielddoc">
-<p>The key has been pressed down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3"></a>AKEY_EVENT_ACTION_UP</em>&#160;</td><td class="fielddoc">
-<p>The key has been released. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0"></a>AKEY_EVENT_ACTION_MULTIPLE</em>&#160;</td><td class="fielddoc">
-<p>Multiple duplicate key events have occurred in a row, or a complex string is being delivered. The repeat_count property of the key event contains the number of times the given key code should be executed. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga0411cd49bb5b71852cecd93bcbf0ca2d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Key event flags. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba"></a>AKEY_EVENT_FLAG_WOKE_HERE</em>&#160;</td><td class="fielddoc">
-<p>This mask is set if the device woke because of this key event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32"></a>AKEY_EVENT_FLAG_SOFT_KEYBOARD</em>&#160;</td><td class="fielddoc">
-<p>This mask is set if the key event was generated by a software keyboard. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41"></a>AKEY_EVENT_FLAG_KEEP_TOUCH_MODE</em>&#160;</td><td class="fielddoc">
-<p>This mask is set if we don't want the key event to cause us to leave touch mode. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6"></a>AKEY_EVENT_FLAG_FROM_SYSTEM</em>&#160;</td><td class="fielddoc">
-<p>This mask is set if an event was known to come from a trusted part of the system. That is, the event is known to come from the user, and could not have been spoofed by a third party component. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013"></a>AKEY_EVENT_FLAG_EDITOR_ACTION</em>&#160;</td><td class="fielddoc">
-<p>This mask is used for compatibility, to identify enter keys that are coming from an IME whose enter key has been auto-labelled "next" or "done". This allows TextView to dispatch these as normal enter keys for old applications, but still do the appropriate action when receiving them. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55"></a>AKEY_EVENT_FLAG_CANCELED</em>&#160;</td><td class="fielddoc">
-<p>When associated with up key events, this indicates that the key press has been canceled. Typically this is used with virtual touch screen keys, where the user can slide from the virtual key area on to the display: in that case, the application will receive a canceled up event and should not perform the action normally associated with the key. Note that for this to work, the application can not perform an action for a key until it receives an up or the long press timeout has expired. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8"></a>AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY</em>&#160;</td><td class="fielddoc">
-<p>This key event was generated by a virtual (on-screen) hard key area. Typically this is an area of the touchscreen, outside of the regular display, dedicated to "hardware" buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185"></a>AKEY_EVENT_FLAG_LONG_PRESS</em>&#160;</td><td class="fielddoc">
-<p>This flag is set for the first key repeat that occurs after the long press timeout. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a"></a>AKEY_EVENT_FLAG_CANCELED_LONG_PRESS</em>&#160;</td><td class="fielddoc">
-<p>Set when a key event has AKEY_EVENT_FLAG_CANCELED set because a long press action was executed while it was down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689"></a>AKEY_EVENT_FLAG_TRACKING</em>&#160;</td><td class="fielddoc">
-<p>Set for AKEY_EVENT_ACTION_UP when this event's key code is still being tracked from its initial down. That is, somebody requested that tracking started on the key down and a long press has not caused the tracking to be canceled. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0"></a>AKEY_EVENT_FLAG_FALLBACK</em>&#160;</td><td class="fielddoc">
-<p>Set when a key event has been synthesized to implement default behavior for an event that the application did not handle. Fallback key events are generated by unhandled trackball motions (to emulate a directional keypad) and by certain unhandled key presses that are declared in the key map (such as special function numeric keypad keys when numlock is off). </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gabed82baf7f470b522273a3e37c24c600"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Motion event actions </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f"></a>AMOTION_EVENT_ACTION_MASK</em>&#160;</td><td class="fielddoc">
-<p>Bit mask of the parts of the action code that are the action itself. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3"></a>AMOTION_EVENT_ACTION_POINTER_INDEX_MASK</em>&#160;</td><td class="fielddoc">
-<p>Bits in the action code that represent a pointer index, used with AMOTION_EVENT_ACTION_POINTER_DOWN and AMOTION_EVENT_ACTION_POINTER_UP. Shifting down by AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT provides the actual pointer index where the data for the pointer going up or down can be found. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1"></a>AMOTION_EVENT_ACTION_DOWN</em>&#160;</td><td class="fielddoc">
-<p>A pressed gesture has started, the motion contains the initial starting location. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e"></a>AMOTION_EVENT_ACTION_UP</em>&#160;</td><td class="fielddoc">
-<p>A pressed gesture has finished, the motion contains the final release location as well as any intermediate points since the last down or move event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3"></a>AMOTION_EVENT_ACTION_MOVE</em>&#160;</td><td class="fielddoc">
-<p>A change has happened during a press gesture (between AMOTION_EVENT_ACTION_DOWN and AMOTION_EVENT_ACTION_UP). The motion contains the most recent point, as well as any intermediate points since the last down or move event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e"></a>AMOTION_EVENT_ACTION_CANCEL</em>&#160;</td><td class="fielddoc">
-<p>The current gesture has been aborted. You will not receive any more points in it. You should treat this as an up event, but not perform any action that you normally would. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517"></a>AMOTION_EVENT_ACTION_OUTSIDE</em>&#160;</td><td class="fielddoc">
-<p>A movement has happened outside of the normal bounds of the UI element. This does not provide a full gesture, but only the initial location of the movement/touch. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2"></a>AMOTION_EVENT_ACTION_POINTER_DOWN</em>&#160;</td><td class="fielddoc">
-<p>A non-primary pointer has gone down. The bits in AMOTION_EVENT_ACTION_POINTER_INDEX_MASK indicate which pointer changed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e"></a>AMOTION_EVENT_ACTION_POINTER_UP</em>&#160;</td><td class="fielddoc">
-<p>A non-primary pointer has gone up. The bits in AMOTION_EVENT_ACTION_POINTER_INDEX_MASK indicate which pointer changed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60"></a>AMOTION_EVENT_ACTION_HOVER_MOVE</em>&#160;</td><td class="fielddoc">
-<p>A change happened but the pointer is not down (unlike AMOTION_EVENT_ACTION_MOVE). The motion contains the most recent point, as well as any intermediate points since the last hover move event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04"></a>AMOTION_EVENT_ACTION_SCROLL</em>&#160;</td><td class="fielddoc">
-<p>The motion event contains relative vertical and/or horizontal scroll offsets. Use getAxisValue to retrieve the information from AMOTION_EVENT_AXIS_VSCROLL and AMOTION_EVENT_AXIS_HSCROLL. The pointer may or may not be down when this event is dispatched. This action is always delivered to the winder under the pointer, which may not be the window currently touched. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3"></a>AMOTION_EVENT_ACTION_HOVER_ENTER</em>&#160;</td><td class="fielddoc">
-<p>The pointer is not down but has entered the boundaries of a window or view. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa"></a>AMOTION_EVENT_ACTION_HOVER_EXIT</em>&#160;</td><td class="fielddoc">
-<p>The pointer is not down but has exited the boundaries of a window or view. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gab04a0655cd1e3bcac5e8f48c18df1a57"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Motion event flags. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a"></a>AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED</em>&#160;</td><td class="fielddoc">
-<p>This flag indicates that the window that received this motion event is partly or wholly obscured by another visible window above it. This flag is set to true even if the event did not directly pass through the obscured area. A security sensitive application can check this flag to identify situations in which a malicious application may have covered up part of its content for the purpose of misleading the user or hijacking touches. An appropriate response might be to drop the suspect touches or to take additional precautions to confirm the user's actual intent. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga9dd3fd81e51dbfde19ab861541242aa1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputEvent_getDeviceId </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the id for the device that an input event came from.</p>
-<p>Input events can be generated by multiple different input devices. Use the input device id to obtain information about the input device that was responsible for generating a particular event.</p>
-<p>An input device id of 0 indicates that the event didn't come from a physical device; other numbers are arbitrary and you shouldn't depend on the values. Use the provided input device query API to obtain information about input devices. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac90d4b497669dbc709ec9650db4e49be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputEvent_getSource </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the input event source. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga8292ae06aa8120c52d7380d228600b9c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputEvent_getType </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input event accessors.</p>
-<p>Note that most functions can only be used on input events that are of a given type. Calling these functions on input events of other types will yield undefined behavior.Get the input event type. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga900711156bfb58d1a4b158da7874930f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AInputQueue_attachLooper </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>ident</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a>&#160;</td>
-          <td class="paramname"><em>callback</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Add this input queue to a looper for processing. See <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd()</a> for information on the ident, callback, and data params. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaeebe9f83392ac79b31ca40a6fd4dbeff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AInputQueue_detachLooper </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Remove the input queue from the looper it is currently attached to. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga17e87e0f35d47d729eac31a0dfb1ac33"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AInputQueue_finishEvent </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>handled</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report that dispatching has finished with the given event. This must be called after receiving an event with AInputQueue_get_event(). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga88de12e2b39787ba7d3e4ce2ea46a48c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputQueue_getEvent </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> **&#160;</td>
-          <td class="paramname"><em>outEvent</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the next available event from the queue. Returns a negative value if no events are available or an error has occurred. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2b72ad6ab5ef656e8c41163aa7871c96"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputQueue_hasEvents </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns true if there are one or more events available in the input queue. Returns 1 if the queue has events; 0 if it does not have events; and a negative value if there is an error. </p>
-
-</div>
-</div>
-<a class="anchor" id="gadecd32e6c7aefa4a508b355550d3eaa9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputQueue_preDispatchEvent </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sends the key for standard pre-dispatching &ndash; that is, possibly deliver it to the current IME to be consumed before the app. Returns 0 if it was not pre-dispatched, meaning you can process it right now. If non-zero is returned, you must abandon the current event processing and allow the event to appear again in the event queue (if it does not get consumed during pre-dispatching). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga36ec0b59f98f86a7ca263ba91279896d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getAction </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the key event action. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf475b6f0860bdfca4ceea7bc46eab1a9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AKeyEvent_getDownTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time of the most recent key down event, in the java.lang.System.nanoTime() time base. If this is a down event, this will be the same as eventTime. Note that when chording keys, this value is the down time of the most recently pressed key, which may not be the same physical key of this event. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae3eac7d68195d1767c947ca267842696"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AKeyEvent_getEventTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time this event occurred, in the java.lang.System.nanoTime() time base. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2a18e98efe0c4ccb6f39bb13c555010e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getFlags </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the key event flags. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6b01ecd60018a5445f4917a861ca9466"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getKeyCode </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the key code of the key event. This is the physical key that was pressed, not the Unicode character. </p>
-
-</div>
-</div>
-<a class="anchor" id="gabdda62b40b22727af2fb41740bf4787b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getMetaState </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the meta key state. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5358fe3ebbd4b5b2f88a4ad2eba6f885"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getRepeatCount </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the repeat count of the event. For both key up an key down events, this is the number of times the key has repeated with the first down starting at 0 and counting up from there. For multiple key events, this is the number of down/up pairs that have occurred. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4a0a846b7a195aeb290dfcd2250137d9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getScanCode </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the hardware key id of this key event. These values are not reliable and vary from device to device. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga73ea2093cc2343675ac43dd08bef4247"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getAction </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the combined motion event action code and pointer index. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9d364cdcebf85237f599b25861f38c21"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getAxisValue </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>axis</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the value of the request axis for the given pointer index. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1aa7ebb749416491b6f0c55ae87ddf49"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getButtonState </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the button state of all buttons that are pressed. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad44be7697e68891688cd7bcfaffec209"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AMotionEvent_getDownTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time when the user originally pressed down to start a stream of position events, in the java.lang.System.nanoTime() time base. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad7e1f0caa4c27194d4a8756a18432299"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getEdgeFlags </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get a bitfield indicating which edges, if any, were touched by this motion event. For touch events, clients can use this to determine if the user's finger was touching the edge of the display. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7e13fbf3cff0700b0b620284ebdd3a33"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AMotionEvent_getEventTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time when this specific event was generated, in the java.lang.System.nanoTime() time base. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2891d19197c070207098fa48adeb35af"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getFlags </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the motion event flags. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7ca740e1324f3cdb934252dce0c982d0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalAxisValue </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>axis</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical value of the request axis for the given pointer index that occurred between this event and the previous motion event. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga523f1a760754206965b42b08d62f9346"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AMotionEvent_getHistoricalEventTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time that a historical movement occurred between this event and the previous event, in the java.lang.System.nanoTime() time base. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaab9cb8fa670175ecc73c75eed4e5cd3f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalOrientation </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical orientation of the touch area and tool area in radians clockwise from vertical for the given pointer index that occurred between this event and the previous motion event. An angle of 0 degrees indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right). </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa8e9352ee5b043b3e1b6e2062d491010"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalPressure </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical pressure of this event for the given pointer index that occurred between this event and the previous motion event. The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5d36c2e7420001c86ae2aa1168fe6f83"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalRawX </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical raw X coordinate of this event for the given pointer index that occurred between this event and the previous motion event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6deb0e7690a93aa53e5872c2691b69fe"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalRawY </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical raw Y coordinate of this event for the given pointer index that occurred between this event and the previous motion event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0a04bb7ec12928db7e62645e7fad3a9e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalSize </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current scaled value of the approximate size for the given pointer index that occurred between this event and the previous motion event. This represents some approximation of the area of the screen being pressed; the actual value in pixels corresponding to the touch is normalized with the device specific range of values and scaled to a value between 0 and 1. The value of size can be used to determine fat touch events. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga160a5830e791e8c42ae97f51b92233d2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalToolMajor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical length of the major axis of an ellipse that describes the size of the approaching tool for the given pointer index that occurred between this event and the previous motion event. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafe01aa7576a6d1bce750fb8482355849"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalToolMinor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical length of the minor axis of an ellipse that describes the size of the approaching tool for the given pointer index that occurred between this event and the previous motion event. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf437f223668b97f19ebdbad4b9cf4483"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalTouchMajor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical length of the major axis of an ellipse that describes the touch area at the point of contact for the given pointer index that occurred between this event and the previous motion event. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga126715d966e989652aa1ae5d38e0e898"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalTouchMinor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical length of the minor axis of an ellipse that describes the touch area at the point of contact for the given pointer index that occurred between this event and the previous motion event. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga49a8ca89ff377b5ed2355e8d7220ae07"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalX </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical X coordinate of this event for the given pointer index that occurred between this event and the previous motion event. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga30fc4e5d3ce144955859f8c97b51b73d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalY </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical Y coordinate of this event for the given pointer index that occurred between this event and the previous motion event. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0aef34c236db6d7a56a50bf590be7bcc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t AMotionEvent_getHistorySize </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the number of historical points in this event. These are movements that have occurred between this event and the previous event. This only applies to AMOTION_EVENT_ACTION_MOVE events &ndash; all other actions will have a size of 0. Historical samples are indexed from oldest to newest. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5644f0d952e3dea57ba9f7ce51dff2bb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getMetaState </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the state of any meta / modifier keys that were in effect when the event was generated. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad28422998da15b789edcba6b8bc5d615"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getOrientation </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current orientation of the touch area and tool area in radians clockwise from vertical for the given pointer index. An angle of 0 degrees indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga612e68d104adbc6d14d87510e8066bd8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t AMotionEvent_getPointerCount </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the number of pointers of data contained in this event. Always &gt;= 1. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga599e21a79c706807243a8ee31b116138"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getPointerId </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the pointer identifier associated with a particular pointer data index in this event. The identifier tells you the actual pointer number associated with the data, accounting for individual pointers going up and down since the start of the current gesture. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga97fcaa6cd08c9d54b35711e482e06c8d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getPressure </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current pressure of this event for the given pointer index. The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafe45e29ef138cc30592237ce479837f0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getRawX </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the original raw X coordinate of this event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5a09c3d742a93270861aa05f24257c23"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getRawY </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the original raw X coordinate of this event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9b1f3c3df46b5269f9e74d2dd70c88a8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getSize </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current scaled value of the approximate size for the given pointer index. This represents some approximation of the area of the screen being pressed; the actual value in pixels corresponding to the touch is normalized with the device specific range of values and scaled to a value between 0 and 1. The value of size can be used to determine fat touch events. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac04099690f278a6a27191c2027b12a77"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getToolMajor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current length of the major axis of an ellipse that describes the size of the approaching tool for the given pointer index. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2222d459759ba4a8269647012d2718fb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getToolMinor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current length of the minor axis of an ellipse that describes the size of the approaching tool for the given pointer index. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2babe4e2e79952e004538f8f1878649c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getToolType </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the tool type of a pointer for the given pointer index. The tool type indicates the type of tool used to make contact such as a finger or stylus, if known. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9ac18fe19534e07d80441582f489d471"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getTouchMajor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current length of the major axis of an ellipse that describes the touch area at the point of contact for the given pointer index. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga65f71e257b5fcb29dcbaaf59b3fcb3a7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getTouchMinor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current length of the minor axis of an ellipse that describes the touch area at the point of contact for the given pointer index. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga22e255a5fa52761cd92ce78af91e9757"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getX </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current X coordinate of this event for the given pointer index. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7a94ce622eb78a17737fd8bddbf86e21"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getXOffset </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the X coordinate offset. For touch events on the screen, this is the delta that was added to the raw screen coordinates to adjust for the absolute position of the containing windows and views. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga81a9be07673a01f43fd0241c7b4c254f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getXPrecision </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the precision of the X coordinates being reported. You can multiply this number with an X coordinate sample to find the actual hardware value of the X coordinate. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga113f58a37e41f2a6c3007d68418edfa6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getY </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current Y coordinate of this event for the given pointer index. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7f6bd2c12d912f502c245b6ced6d3704"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getYOffset </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the Y coordinate offset. For touch events on the screen, this is the delta that was added to the raw screen coordinates to adjust for the absolute position of the containing windows and views. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae311e6e28bce4be905526f9ea71278ed"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getYPrecision </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the precision of the Y coordinates being reported. You can multiply this number with a Y coordinate sample to find the actual hardware value of the Y coordinate. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___looper.jd b/docs/html/ndk/reference/group___looper.jd
deleted file mode 100644
index bc845f8..0000000
--- a/docs/html/ndk/reference/group___looper.jd
+++ /dev/null
@@ -1,442 +0,0 @@
-page.title=Looper
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Looper</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:looper_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="looper_8h.html">looper.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gadb10521a80138b777ba1bc2ca74d4af5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a></td></tr>
-<tr class="separator:gadb10521a80138b777ba1bc2ca74d4af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga410b184b4e48302c439e36c8ce0a7a89"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> )(int fd, int events, void *data)</td></tr>
-<tr class="separator:ga410b184b4e48302c439e36c8ce0a7a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gaf9bdc3014f3d54c426b6d2df10de4960"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___looper.html#ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb">ALOOPER_PREPARE_ALLOW_NON_CALLBACKS</a> = 1&lt;&lt;0
- }</td></tr>
-<tr class="separator:gaf9bdc3014f3d54c426b6d2df10de4960"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadb49720dc49f7d4e4cf9adbf2948e409"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47">ALOOPER_POLL_WAKE</a> = -1, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2">ALOOPER_POLL_CALLBACK</a> = -2, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443">ALOOPER_POLL_TIMEOUT</a> = -3, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4">ALOOPER_POLL_ERROR</a> = -4
- }</td></tr>
-<tr class="separator:gadb49720dc49f7d4e4cf9adbf2948e409"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaae05225933a42f81e7c4a9fb286596f9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc">ALOOPER_EVENT_INPUT</a> = 1 &lt;&lt; 0, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d">ALOOPER_EVENT_OUTPUT</a> = 1 &lt;&lt; 1, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6">ALOOPER_EVENT_ERROR</a> = 1 &lt;&lt; 2, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab">ALOOPER_EVENT_HANGUP</a> = 1 &lt;&lt; 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff">ALOOPER_EVENT_INVALID</a> = 1 &lt;&lt; 4
-<br/>
- }</td></tr>
-<tr class="separator:gaae05225933a42f81e7c4a9fb286596f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga741ccd90a0eb9209c6bddf2326d89e4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga741ccd90a0eb9209c6bddf2326d89e4a">ALooper_forThread</a> ()</td></tr>
-<tr class="separator:ga741ccd90a0eb9209c6bddf2326d89e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1a070b904dd957cc65af9eb5ef6dfa25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">ALooper_prepare</a> (int opts)</td></tr>
-<tr class="separator:ga1a070b904dd957cc65af9eb5ef6dfa25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae1ad7ac48ab01a34bfd25840c92ff07b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">ALooper_acquire</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gae1ad7ac48ab01a34bfd25840c92ff07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab723c3c2ac2c66bc695913a194073727"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gab723c3c2ac2c66bc695913a194073727">ALooper_release</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gab723c3c2ac2c66bc695913a194073727"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a9044602b76fef7f47c7e11a801561c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce</a> (int timeoutMillis, int *outFd, int *outEvents, void **outData)</td></tr>
-<tr class="separator:ga2a9044602b76fef7f47c7e11a801561c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7cd0636edc4ed227aadc585360ebefa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll</a> (int timeoutMillis, int *outFd, int *outEvents, void **outData)</td></tr>
-<tr class="separator:gaa7cd0636edc4ed227aadc585360ebefa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab2585652f8ae2e2444979194ebe32aaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gab2585652f8ae2e2444979194ebe32aaf">ALooper_wake</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gab2585652f8ae2e2444979194ebe32aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2668285bfadcf21ef4d371568a30be33"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int fd, int ident, int events, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:ga2668285bfadcf21ef4d371568a30be33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gaf7d68ed05698b251489b4f6c8e54daad">ALooper_removeFd</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int fd)</td></tr>
-<tr class="separator:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gadb10521a80138b777ba1bc2ca74d4af5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>ALooper</p>
-<p>A looper is the state tracking an event loop for a thread. Loopers do not define event structures or other such things; rather they are a lower-level facility to attach one or more discrete objects listening for an event. An "event" here is simply data available on a file descriptor: each attached object has an associated file descriptor, and waiting for "events" means (internally) polling on all of these file descriptors until one or more of them have data available.</p>
-<p>A thread can have only one ALooper associated with it. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga410b184b4e48302c439e36c8ce0a7a89"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef int(* ALooper_callbackFunc)(int fd, int events, void *data)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>For callback-based event loops, this is the prototype of the function that is called when a file descriptor event occurs. It is given the file descriptor it is associated with, a bitmask of the poll events that were triggered (typically ALOOPER_EVENT_INPUT), and the data pointer that was originally supplied.</p>
-<p>Implementations should return 1 to continue receiving callbacks, or 0 to have this file descriptor and callback unregistered from the looper. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="gaf9bdc3014f3d54c426b6d2df10de4960"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Option for for <a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">ALooper_prepare()</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb"></a>ALOOPER_PREPARE_ALLOW_NON_CALLBACKS</em>&#160;</td><td class="fielddoc">
-<p>This looper will accept calls to <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd()</a> that do not have a callback (that is provide NULL for the callback). In this case the caller of <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> or <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a> MUST check the return from these functions to discover when data is available on such fds and process it. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gadb49720dc49f7d4e4cf9adbf2948e409"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Result from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> and <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47"></a>ALOOPER_POLL_WAKE</em>&#160;</td><td class="fielddoc">
-<p>The poll was awoken using wake() before the timeout expired and no callbacks were executed and no other file descriptors were ready. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2"></a>ALOOPER_POLL_CALLBACK</em>&#160;</td><td class="fielddoc">
-<p>Result from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> and <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a>: One or more callbacks were executed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443"></a>ALOOPER_POLL_TIMEOUT</em>&#160;</td><td class="fielddoc">
-<p>Result from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> and <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a>: The timeout expired. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4"></a>ALOOPER_POLL_ERROR</em>&#160;</td><td class="fielddoc">
-<p>Result from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> and <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a>: An error occurred. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaae05225933a42f81e7c4a9fb286596f9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Flags for file descriptor events that a looper can monitor.</p>
-<p>These flag bits can be combined to monitor multiple events at once. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc"></a>ALOOPER_EVENT_INPUT</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor is available for read operations. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d"></a>ALOOPER_EVENT_OUTPUT</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor is available for write operations. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6"></a>ALOOPER_EVENT_ERROR</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor has encountered an error condition.</p>
-<p>The looper always sends notifications about errors; it is not necessary to specify this event flag in the requested event set. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab"></a>ALOOPER_EVENT_HANGUP</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor was hung up. For example, indicates that the remote end of a pipe or socket was closed.</p>
-<p>The looper always sends notifications about hangups; it is not necessary to specify this event flag in the requested event set. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff"></a>ALOOPER_EVENT_INVALID</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor is invalid. For example, the file descriptor was closed prematurely.</p>
-<p>The looper always sends notifications about invalid file descriptors; it is not necessary to specify this event flag in the requested event set. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gae1ad7ac48ab01a34bfd25840c92ff07b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ALooper_acquire </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Acquire a reference on the given ALooper object. This prevents the object from being deleted until the reference is removed. This is only needed to safely hand an ALooper from one thread to another. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2668285bfadcf21ef4d371568a30be33"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ALooper_addFd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>ident</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>events</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a>&#160;</td>
-          <td class="paramname"><em>callback</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Adds a new file descriptor to be polled by the looper. If the same file descriptor was previously added, it is replaced.</p>
-<p>"fd" is the file descriptor to be added. "ident" is an identifier for this event, which is returned from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a>. The identifier must be &gt;= 0, or ALOOPER_POLL_CALLBACK if providing a non-NULL callback. "events" are the poll events to wake up on. Typically this is ALOOPER_EVENT_INPUT. "callback" is the function to call when there is an event on the file descriptor. "data" is a private data pointer to supply to the callback.</p>
-<p>There are two main uses of this function:</p>
-<p>(1) If "callback" is non-NULL, then this function will be called when there is data on the file descriptor. It should execute any events it has pending, appropriately reading from the file descriptor. The 'ident' is ignored in this case.</p>
-<p>(2) If "callback" is NULL, the 'ident' will be returned by ALooper_pollOnce when its file descriptor has data available, requiring the caller to take care of processing it.</p>
-<p>Returns 1 if the file descriptor was added or -1 if an error occurred.</p>
-<p>This method can be called on any thread. This method may block briefly if it needs to wake the poll. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga741ccd90a0eb9209c6bddf2326d89e4a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a>* ALooper_forThread </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the looper associated with the calling thread, or NULL if there is not one. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa7cd0636edc4ed227aadc585360ebefa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ALooper_pollAll </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>timeoutMillis</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>outFd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>outEvents</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void **&#160;</td>
-          <td class="paramname"><em>outData</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Like <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a>, but performs all pending callbacks until all data has been consumed or a file descriptor is available with no callback. This function will never return ALOOPER_POLL_CALLBACK. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2a9044602b76fef7f47c7e11a801561c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ALooper_pollOnce </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>timeoutMillis</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>outFd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>outEvents</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void **&#160;</td>
-          <td class="paramname"><em>outData</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Waits for events to be available, with optional timeout in milliseconds. Invokes callbacks for all file descriptors on which an event occurred.</p>
-<p>If the timeout is zero, returns immediately without blocking. If the timeout is negative, waits indefinitely until an event appears.</p>
-<p>Returns ALOOPER_POLL_WAKE if the poll was awoken using wake() before the timeout expired and no callbacks were invoked and no other file descriptors were ready.</p>
-<p>Returns ALOOPER_POLL_CALLBACK if one or more callbacks were invoked.</p>
-<p>Returns ALOOPER_POLL_TIMEOUT if there was no data before the given timeout expired.</p>
-<p>Returns ALOOPER_POLL_ERROR if an error occurred.</p>
-<p>Returns a value &gt;= 0 containing an identifier (the same identifier <code>ident</code> passed to <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd()</a>) if its file descriptor has data and it has no callback function (requiring the caller here to handle it). In this (and only this) case outFd, outEvents and outData will contain the poll events and data associated with the fd, otherwise they will be set to NULL.</p>
-<p>This method does not return until it has finished invoking the appropriate callbacks for all file descriptors that were signalled. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1a070b904dd957cc65af9eb5ef6dfa25"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a>* ALooper_prepare </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>opts</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Prepares a looper associated with the calling thread, and returns it. If the thread already has a looper, it is returned. Otherwise, a new one is created, associated with the thread, and returned.</p>
-<p>The opts may be ALOOPER_PREPARE_ALLOW_NON_CALLBACKS or 0. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab723c3c2ac2c66bc695913a194073727"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ALooper_release </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Remove a reference that was previously acquired with <a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">ALooper_acquire()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf7d68ed05698b251489b4f6c8e54daad"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ALooper_removeFd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fd</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Removes a previously added file descriptor from the looper.</p>
-<p>When this method returns, it is safe to close the file descriptor since the looper will no longer have a reference to it. However, it is possible for the callback to already be running or for it to run one last time if the file descriptor was already signalled. Calling code is responsible for ensuring that this case is safely handled. For example, if the callback takes care of removing itself during its own execution either by returning 0 or by calling this method, then it can be guaranteed to not be invoked again at any later time unless registered anew.</p>
-<p>Returns 1 if the file descriptor was removed, 0 if none was previously registered or -1 if an error occurred.</p>
-<p>This method can be called on any thread. This method may block briefly if it needs to wake the poll. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab2585652f8ae2e2444979194ebe32aaf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ALooper_wake </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Wakes the poll asynchronously.</p>
-<p>This method can be called on any thread. This method returns immediately. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___native_activity.jd b/docs/html/ndk/reference/group___native_activity.jd
deleted file mode 100644
index d0b2178..0000000
--- a/docs/html/ndk/reference/group___native_activity.jd
+++ /dev/null
@@ -1,731 +0,0 @@
-page.title=Native Activity
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">Native Activity</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:native__activity_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__activity_8h.html">native_activity.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window_8h.html">native_window.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__window__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window__jni_8h.html">native_window_jni.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:rect_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html">rect.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="window_8h.html">window.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html">ARect</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga8abd07923f37feb1ce724d139cc2609d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_activity.html">ANativeActivity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">ANativeActivity</a></td></tr>
-<tr class="separator:ga8abd07923f37feb1ce724d139cc2609d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga28dca784e5ee939427135c72c0151c38"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
-<a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">ANativeActivityCallbacks</a></td></tr>
-<tr class="separator:ga28dca784e5ee939427135c72c0151c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, void *savedState, size_t savedStateSize)</td></tr>
-<tr class="separator:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga66956d540c2e3709e12156d195e64726"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a></td></tr>
-<tr class="separator:ga66956d540c2e3709e12156d195e64726"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad0983ca473ce36293baf5e51a14c3357"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">ANativeWindow_Buffer</a></td></tr>
-<tr class="separator:gad0983ca473ce36293baf5e51a14c3357"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa984a498f0e146ac57c6022a323423cf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_rect.html">ARect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">ARect</a></td></tr>
-<tr class="separator:gaa984a498f0e146ac57c6022a323423cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga39fca1837c5ce7715cbf571669660c13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT</a> = 0x0001, 
-<a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</a> = 0x0002
- }</td></tr>
-<tr class="separator:ga39fca1837c5ce7715cbf571669660c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY</a> = 0x0001, 
-<a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS</a> = 0x0002
- }</td></tr>
-<tr class="separator:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga94798fdadfbf49a7c658ace669a1d310"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">WINDOW_FORMAT_RGBA_8888</a> = 1, 
-<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">WINDOW_FORMAT_RGBX_8888</a> = 2, 
-<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">WINDOW_FORMAT_RGB_565</a> = 4
- }</td></tr>
-<tr class="separator:ga94798fdadfbf49a7c658ace669a1d310"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</a> = 0x00000001, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">AWINDOW_FLAG_DIM_BEHIND</a> = 0x00000002, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">AWINDOW_FLAG_BLUR_BEHIND</a> = 0x00000004, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> = 0x00000008, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">AWINDOW_FLAG_NOT_TOUCHABLE</a> = 0x00000010, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a> = 0x00000020, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</a> = 0x00000040, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> = 0x00000080, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">AWINDOW_FLAG_LAYOUT_IN_SCREEN</a> = 0x00000100, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">AWINDOW_FLAG_LAYOUT_NO_LIMITS</a> = 0x00000200, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">AWINDOW_FLAG_FULLSCREEN</a> = 0x00000400, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">AWINDOW_FLAG_FORCE_NOT_FULLSCREEN</a> = 0x00000800, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">AWINDOW_FLAG_DITHER</a> = 0x00001000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">AWINDOW_FLAG_SECURE</a> = 0x00002000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">AWINDOW_FLAG_SCALED</a> = 0x00004000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">AWINDOW_FLAG_IGNORE_CHEEK_PRESSES</a> = 0x00008000, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">AWINDOW_FLAG_LAYOUT_INSET_DECOR</a> = 0x00010000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">AWINDOW_FLAG_ALT_FOCUSABLE_IM</a> = 0x00020000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH</a> = 0x00040000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> = 0x00080000, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">AWINDOW_FLAG_SHOW_WALLPAPER</a> = 0x00100000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">AWINDOW_FLAG_TURN_SCREEN_ON</a> = 0x00200000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">AWINDOW_FLAG_DISMISS_KEYGUARD</a> = 0x00400000
-<br/>
- }</td></tr>
-<tr class="separator:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">ANativeActivity_finish</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">ANativeActivity_setWindowFormat</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int32_t format)</td></tr>
-<tr class="separator:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">ANativeActivity_setWindowFlags</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t addFlags, uint32_t removeFlags)</td></tr>
-<tr class="separator:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">ANativeActivity_showSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
-<tr class="separator:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf673d6efea7ce517ef46ff2551b25944"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">ANativeActivity_hideSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
-<tr class="separator:gaf673d6efea7ce517ef46ff2551b25944"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga533876b57909243b238927344a6592db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">ANativeWindow_acquire</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga533876b57909243b238927344a6592db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae944e98865b902bd924663785d7b0258"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">ANativeWindow_release</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:gae944e98865b902bd924663785d7b0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">ANativeWindow_getWidth</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">ANativeWindow_getHeight</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">ANativeWindow_getFormat</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7b0652533998d61e1a3b542485889113"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">ANativeWindow_setBuffersGeometry</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, int32_t width, int32_t height, int32_t format)</td></tr>
-<tr class="separator:ga7b0652533998d61e1a3b542485889113"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> *outBuffer, <a class="el" href="struct_a_rect.html">ARect</a> *inOutDirtyBounds)</td></tr>
-<tr class="separator:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">ANativeWindow_unlockAndPost</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">ANativeWindow_fromSurface</a> (JNIEnv *env, jobject surface)</td></tr>
-<tr class="separator:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:ga02791d0d490839055169f39fdc905c5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">ANativeActivity_onCreate</a></td></tr>
-<tr class="separator:ga02791d0d490839055169f39fdc905c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="ga8abd07923f37feb1ce724d139cc2609d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_native_activity.html">ANativeActivity</a>  <a class="el" href="struct_a_native_activity.html">ANativeActivity</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This structure defines the native side of an android.app.NativeActivity. It is created by the framework, and handed to the application's native code as it is being launched. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga569a53bcac3fcedb0189b7c412ebcb22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef void ANativeActivity_createFunc(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, void *savedState, size_t savedStateSize)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This is the function that must be in the native code to instantiate the application's native activity. It is called with the activity instance (see above); if the code is being instantiated from a previously saved instance, the savedState will be non-NULL and point to the saved data. You must make any copy of this data you need &ndash; it will be released after you return from this function. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga28dca784e5ee939427135c72c0151c38"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>  <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>These are the callbacks the framework makes into a native application. All of these callbacks happen on the main thread of the application. By default, all callbacks are NULL; set to a pointer to your own function to have it called. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga66956d540c2e3709e12156d195e64726"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> is opaque type that provides access to a native window.</p>
-<p>A pointer can be obtained using <a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">ANativeWindow_fromSurface()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad0983ca473ce36293baf5e51a14c3357"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>  <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> is a struct that represents a windows buffer.</p>
-<p>A pointer can be obtained using <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa984a498f0e146ac57c6022a323423cf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_rect.html">ARect</a>  <a class="el" href="struct_a_rect.html">ARect</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="struct_a_rect.html">ARect</a> is a struct that represents a rectangular window area.</p>
-<p>It is used with <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks::onContentRectChanged</a> event callback and <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a> function. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga39fca1837c5ce7715cbf571669660c13"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Flags for ANativeActivity_showSoftInput; see the Java InputMethodManager API for documentation. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9"></a>ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT</em>&#160;</td><td class="fielddoc">
-<p>Implicit request to show the input window, not as the result of a direct request by the user. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5"></a>ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</em>&#160;</td><td class="fielddoc">
-<p>The user has forced the input method open (such as by long-pressing menu) so it should not be closed until they explicitly do so. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaaf8fd5f0e57d456151c951e0f3715fc4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Flags for ANativeActivity_hideSoftInput; see the Java InputMethodManager API for documentation. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807"></a>ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY</em>&#160;</td><td class="fielddoc">
-<p>The soft input window should only be hidden if it was not explicitly shown by the user. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f"></a>ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS</em>&#160;</td><td class="fielddoc">
-<p>The soft input window should normally be hidden, unless it was originally shown with <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</a>. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga94798fdadfbf49a7c658ace669a1d310"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Pixel formats that a window can use. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01"></a>WINDOW_FORMAT_RGBA_8888</em>&#160;</td><td class="fielddoc">
-<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30"></a>WINDOW_FORMAT_RGBX_8888</em>&#160;</td><td class="fielddoc">
-<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Unused: 8 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259"></a>WINDOW_FORMAT_RGB_565</em>&#160;</td><td class="fielddoc">
-<p>Red: 5 bits, Green: 6 bits, Blue: 5 bits. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaf715e26dfffd1f8de1c18449e2770cff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Window flags, as per the Java API at android.view.WindowManager.LayoutParams. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508"></a>AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</em>&#160;</td><td class="fielddoc">
-<p>As long as this window is visible to the user, allow the lock screen to activate while the screen is on. This can be used independently, or in combination with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> and/or <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f"></a>AWINDOW_FLAG_DIM_BEHIND</em>&#160;</td><td class="fielddoc">
-<p>Everything behind this window will be dimmed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7"></a>AWINDOW_FLAG_BLUR_BEHIND</em>&#160;</td><td class="fielddoc">
-<p>Blur everything behind this window. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>Blurring is no longer supported. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f"></a>AWINDOW_FLAG_NOT_FOCUSABLE</em>&#160;</td><td class="fielddoc">
-<p>This window won't ever get key input focus, so the user can not send key or other button events to it. Those will instead go to whatever focusable window is behind it. This flag will also enable <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a> whether or not that is explicitly set.</p>
-<p>Setting this flag also implies that the window will not need to interact with a soft input method, so it will be Z-ordered and positioned independently of any active input method (typically this means it gets Z-ordered on top of the input method, so it can use the full screen for its content and cover the input method if needed. You can use <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">AWINDOW_FLAG_ALT_FOCUSABLE_IM</a> to modify this behavior. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450"></a>AWINDOW_FLAG_NOT_TOUCHABLE</em>&#160;</td><td class="fielddoc">
-<p>this window can never receive touch events. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09"></a>AWINDOW_FLAG_NOT_TOUCH_MODAL</em>&#160;</td><td class="fielddoc">
-<p>Even when this window is focusable (its <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> is not set), allow any pointer events outside of the window to be sent to the windows behind it. Otherwise it will consume all pointer events itself, regardless of whether they are inside of the window. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773"></a>AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</em>&#160;</td><td class="fielddoc">
-<p>When set, if the device is asleep when the touch screen is pressed, you will receive this first touch event. Usually the first touch event is consumed by the system since the user can not see what they are pressing on.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>This flag has no effect. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8"></a>AWINDOW_FLAG_KEEP_SCREEN_ON</em>&#160;</td><td class="fielddoc">
-<p>As long as this window is visible to the user, keep the device's screen turned on and bright. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a"></a>AWINDOW_FLAG_LAYOUT_IN_SCREEN</em>&#160;</td><td class="fielddoc">
-<p>Place the window within the entire screen, ignoring decorations around the border (such as the status bar). The window must correctly position its contents to take the screen decoration into account. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389"></a>AWINDOW_FLAG_LAYOUT_NO_LIMITS</em>&#160;</td><td class="fielddoc">
-<p>allow window to extend outside of the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71"></a>AWINDOW_FLAG_FULLSCREEN</em>&#160;</td><td class="fielddoc">
-<p>Hide all screen decorations (such as the status bar) while this window is displayed. This allows the window to use the entire display space for itself &ndash; the status bar will be hidden when an app window with this flag set is on the top layer. A fullscreen window will ignore a value of <a class="el" href="">AWINDOW_SOFT_INPUT_ADJUST_RESIZE</a>; the window will stay fullscreen and will not resize. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d"></a>AWINDOW_FLAG_FORCE_NOT_FULLSCREEN</em>&#160;</td><td class="fielddoc">
-<p>Override <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">AWINDOW_FLAG_FULLSCREEN</a> and force the screen decorations (such as the status bar) to be shown. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d"></a>AWINDOW_FLAG_DITHER</em>&#160;</td><td class="fielddoc">
-<p>Turn on dithering when compositing this window to the screen. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>This flag is no longer used. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0"></a>AWINDOW_FLAG_SECURE</em>&#160;</td><td class="fielddoc">
-<p>Treat the content of the window as secure, preventing it from appearing in screenshots or from being viewed on non-secure displays. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a"></a>AWINDOW_FLAG_SCALED</em>&#160;</td><td class="fielddoc">
-<p>A special mode where the layout parameters are used to perform scaling of the surface when it is composited to the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326"></a>AWINDOW_FLAG_IGNORE_CHEEK_PRESSES</em>&#160;</td><td class="fielddoc">
-<p>Intended for windows that will often be used when the user is holding the screen against their face, it will aggressively filter the event stream to prevent unintended presses in this situation that may not be desired for a particular window, when such an event stream is detected, the application will receive a <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">AMOTION_EVENT_ACTION_CANCEL</a> to indicate this so applications can handle this accordingly by taking no action on the event until the finger is released. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563"></a>AWINDOW_FLAG_LAYOUT_INSET_DECOR</em>&#160;</td><td class="fielddoc">
-<p>A special option only for use in combination with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">AWINDOW_FLAG_LAYOUT_IN_SCREEN</a>. When requesting layout in the screen your window may appear on top of or behind screen decorations such as the status bar. By also including this flag, the window manager will report the inset rectangle needed to ensure your content is not covered by screen decorations. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659"></a>AWINDOW_FLAG_ALT_FOCUSABLE_IM</em>&#160;</td><td class="fielddoc">
-<p>Invert the state of <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> with respect to how this window interacts with the current method. That is, if FLAG_NOT_FOCUSABLE is set and this flag is set, then the window will behave as if it needs to interact with the input method and thus be placed behind/away from it; if <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> is not set and this flag is set, then the window will behave as if it doesn't need to interact with the input method and can be placed to use more space and cover the input method. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6"></a>AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH</em>&#160;</td><td class="fielddoc">
-<p>If you have set <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a>, you can set this flag to receive a single special MotionEvent with the action <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a> for touches that occur outside of your window. Note that you will not receive the full down/move/up gesture, only the location of the first down as an <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b"></a>AWINDOW_FLAG_SHOW_WHEN_LOCKED</em>&#160;</td><td class="fielddoc">
-<p>Special flag to let windows be shown when the screen is locked. This will let application windows take precedence over key guard or any other lock screens. Can be used with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> to turn screen on and display windows directly before showing the key guard window. Can be used with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">AWINDOW_FLAG_DISMISS_KEYGUARD</a> to automatically fully dismisss non-secure keyguards. This flag only applies to the top-most full-screen window. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824"></a>AWINDOW_FLAG_SHOW_WALLPAPER</em>&#160;</td><td class="fielddoc">
-<p>Ask that the system wallpaper be shown behind your window. The window surface must be translucent to be able to actually see the wallpaper behind it; this flag just ensures that the wallpaper surface will be there if this window actually has translucent regions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01"></a>AWINDOW_FLAG_TURN_SCREEN_ON</em>&#160;</td><td class="fielddoc">
-<p>When set as a window is being added or made visible, once the window has been shown then the system will poke the power manager's user activity (as if the user had woken up the device) to turn the screen on. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a"></a>AWINDOW_FLAG_DISMISS_KEYGUARD</em>&#160;</td><td class="fielddoc">
-<p>When set the window will cause the keyguard to be dismissed, only if it is not a secure lock keyguard. Because such a keyguard is not needed for security, it will never re-appear if the user navigates to another window (in contrast to <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a>, which will only temporarily hide both secure and non-secure keyguards but ensure they reappear when the user moves to another UI that doesn't hide them). If the keyguard is currently active and is secure (requires an unlock pattern) than the user will still need to confirm it before seeing this window, unless <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> has also been set. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga4d872ae54a239704c06a0517e23cc0ad"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_finish </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Finish the given activity. Its finish() method will be called, causing it to be stopped and destroyed. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf673d6efea7ce517ef46ff2551b25944"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_hideSoftInput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>flags</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Hide the IME while in the given activity. Calls InputMethodManager.hideSoftInput() for the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa1d091ca4a99b0ce570bab1c8c06f297"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_setWindowFlags </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>addFlags</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>removeFlags</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Change the window flags of the given activity. Calls getWindow().setFlags() of the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. See <a class="el" href="window_8h.html">window.h</a> for flag constants. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaec8b12decdf2b9841344e75c4c038c5a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_setWindowFormat </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>format</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Change the window format of the given activity. Calls getWindow().setFormat() of the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga14eaeb6190f266369023b04d8ab9dba7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_showSoftInput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>flags</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Show the IME while in the given activity. Calls InputMethodManager.showSoftInput() for the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga533876b57909243b238927344a6592db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeWindow_acquire </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Acquire a reference on the given ANativeWindow object. This prevents the object from being deleted until the reference is removed. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga774d0a87ec496b3940fcddccbc31fd9d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a>* ANativeWindow_fromSurface </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>surface</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the ANativeWindow associated with a Java Surface object, for interacting with it through native code. This acquires a reference on the ANativeWindow that is returned; be sure to use <a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">ANativeWindow_release()</a> when done with it so that it doesn't leak. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9e3a492a8300146b30d864f0ab22bb2e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_getFormat </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current pixel format of the window surface. Returns a negative value on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga463ba99f6dee3edc1167a54e1ff7de15"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_getHeight </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current height in pixels of the window surface. Returns a negative value on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga186f0040c5cb405a63d93889bb9a4ff1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_getWidth </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current width in pixels of the window surface. Returns a negative value on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0b0e3b7d442dee83e1a1b42e5b0caee6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_lock </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> *&#160;</td>
-          <td class="paramname"><em>outBuffer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="struct_a_rect.html">ARect</a> *&#160;</td>
-          <td class="paramname"><em>inOutDirtyBounds</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Lock the window's next drawing surface for writing. inOutDirtyBounds is used as an in/out parameter, upon entering the function, it contains the dirty region, that is, the region the caller intends to redraw. When the function returns, inOutDirtyBounds is updated with the actual area the caller needs to redraw &ndash; this region is often extended by ANativeWindow_lock. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae944e98865b902bd924663785d7b0258"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeWindow_release </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Remove a reference that was previously acquired with <a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">ANativeWindow_acquire()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7b0652533998d61e1a3b542485889113"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_setBuffersGeometry </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>width</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>height</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>format</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Change the format and size of the window buffers.</p>
-<p>The width and height control the number of pixels in the buffers, not the dimensions of the window on screen. If these are different than the window's physical size, then it buffer will be scaled to match that size when compositing it to the screen.</p>
-<p>For all of these parameters, if 0 is supplied then the window's base value will come back in force.</p>
-<p>width and height must be either both zero or both non-zero. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4dc9b687ead9034fbc11bf2d90f203f9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_unlockAndPost </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Unlock the window's drawing surface after previously locking it, posting the new buffer to the display. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a class="anchor" id="ga02791d0d490839055169f39fdc905c5e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a> ANativeActivity_onCreate</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The name of the function that NativeInstance looks for when launching its native code. This is the default function that is used, you can specify "android.app.func_name" string meta-data in your manifest to use a different function. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___sensor.jd b/docs/html/ndk/reference/group___sensor.jd
deleted file mode 100644
index 41a0aec..0000000
--- a/docs/html/ndk/reference/group___sensor.jd
+++ /dev/null
@@ -1,925 +0,0 @@
-page.title=Sensor
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Sensor</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:sensor_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sensor_8h.html">sensor.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ga5129cb9e4091fc3474e246d5f950e52b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga5129cb9e4091fc3474e246d5f950e52b">ASENSOR_STANDARD_GRAVITY</a>&#160;&#160;&#160;(9.80665f)</td></tr>
-<tr class="separator:ga5129cb9e4091fc3474e246d5f950e52b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf8b57b13c6432bc6136aac0ad3813d63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf8b57b13c6432bc6136aac0ad3813d63">ASENSOR_MAGNETIC_FIELD_EARTH_MAX</a>&#160;&#160;&#160;(60.0f)</td></tr>
-<tr class="separator:gaf8b57b13c6432bc6136aac0ad3813d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4423a712e27b6d5a57d138796892886d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga4423a712e27b6d5a57d138796892886d">ASENSOR_MAGNETIC_FIELD_EARTH_MIN</a>&#160;&#160;&#160;(30.0f)</td></tr>
-<tr class="separator:ga4423a712e27b6d5a57d138796892886d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga207e807f9e18271f6a763e57232b409f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga207e807f9e18271f6a763e57232b409f">ASensorVector</a></td></tr>
-<tr class="separator:ga207e807f9e18271f6a763e57232b409f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0378daec23b2d8a70438ef7c3912475f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga0378daec23b2d8a70438ef7c3912475f">AMetaDataEvent</a></td></tr>
-<tr class="separator:ga0378daec23b2d8a70438ef7c3912475f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga24acc545b908dd24cadc44c5e0760b3b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga24acc545b908dd24cadc44c5e0760b3b">AUncalibratedEvent</a></td></tr>
-<tr class="separator:ga24acc545b908dd24cadc44c5e0760b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae85b6eac76abe74e6e53d78bb3a4858c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gae85b6eac76abe74e6e53d78bb3a4858c">AHeartRateEvent</a></td></tr>
-<tr class="separator:gae85b6eac76abe74e6e53d78bb3a4858c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6bb167c45f0ef0a94d8f178d227e781f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga6bb167c45f0ef0a94d8f178d227e781f">ASensorEvent</a></td></tr>
-<tr class="separator:ga6bb167c45f0ef0a94d8f178d227e781f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaef620baab9b276ab8f914ae77babc349"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a></td></tr>
-<tr class="separator:gaef620baab9b276ab8f914ae77babc349"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa9448106d6d463f4cc5dded7c914e7ae"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a></td></tr>
-<tr class="separator:gaa9448106d6d463f4cc5dded7c914e7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93b28b7ce5e9b6d2ebc5b574cd5f4710"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a></td></tr>
-<tr class="separator:ga93b28b7ce5e9b6d2ebc5b574cd5f4710"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafec8dd682458c750a5f0f913a0f162ce"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a></td></tr>
-<tr class="separator:gafec8dd682458c750a5f0f913a0f162ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga26ff51817e8b320a631b3bf4ed378d58"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a></td></tr>
-<tr class="separator:ga26ff51817e8b320a631b3bf4ed378d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">ASENSOR_TYPE_ACCELEROMETER</a> = 1, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">ASENSOR_TYPE_MAGNETIC_FIELD</a> = 2, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">ASENSOR_TYPE_GYROSCOPE</a> = 4, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">ASENSOR_TYPE_LIGHT</a> = 5, 
-<br/>
-&#160;&#160;<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">ASENSOR_TYPE_PROXIMITY</a> = 8
-<br/>
- }</td></tr>
-<tr class="separator:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabfcbcb5ac86a1edac4035264bc7d2b8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d">ASENSOR_STATUS_NO_CONTACT</a> = -1, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e">ASENSOR_STATUS_UNRELIABLE</a> = 0, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0">ASENSOR_STATUS_ACCURACY_LOW</a> = 1, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d">ASENSOR_STATUS_ACCURACY_MEDIUM</a> = 2, 
-<br/>
-&#160;&#160;<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13">ASENSOR_STATUS_ACCURACY_HIGH</a> = 3
-<br/>
- }</td></tr>
-<tr class="separator:gaabfcbcb5ac86a1edac4035264bc7d2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5d76b81b0ad4c19007a781d4edb8181f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c">AREPORTING_MODE_CONTINUOUS</a> = 0, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5">AREPORTING_MODE_ON_CHANGE</a> = 1, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb">AREPORTING_MODE_ONE_SHOT</a> = 2, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7">AREPORTING_MODE_SPECIAL_TRIGGER</a> = 3
- }</td></tr>
-<tr class="separator:ga5d76b81b0ad4c19007a781d4edb8181f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaa438fdaf34783a89d139f0a56d2692cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">ASensorManager_getInstance</a> ()</td></tr>
-<tr class="separator:gaa438fdaf34783a89d139f0a56d2692cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga645be938627498ab2b60d94c562204bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">ASensorManager_getSensorList</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> *list)</td></tr>
-<tr class="separator:ga645be938627498ab2b60d94c562204bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf4880d87e01f5e2d4a9b8403e4047445"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">ASensorManager_getDefaultSensor</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, int type)</td></tr>
-<tr class="separator:gaf4880d87e01f5e2d4a9b8403e4047445"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4313457c0e82f4afa77ef13860629633"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">ASensorManager_getDefaultSensorEx</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, int type, bool wakeUp)</td></tr>
-<tr class="separator:ga4313457c0e82f4afa77ef13860629633"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac46f8b28bcc7a846dea9d841cab0a67b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">ASensorManager_createEventQueue</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int ident, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:gac46f8b28bcc7a846dea9d841cab0a67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf35624037785cdea1e7fe9e0a73fc5e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">ASensorManager_destroyEventQueue</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue)</td></tr>
-<tr class="separator:gaf35624037785cdea1e7fe9e0a73fc5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga48a8379cf9de9b09a71a00f8a3699499"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">ASensorEventQueue_enableSensor</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga48a8379cf9de9b09a71a00f8a3699499"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga03852b813887ec236a34c4aef0df4b68"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">ASensorEventQueue_disableSensor</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga03852b813887ec236a34c4aef0df4b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa6e89b6d69dc3e07f2d7e72e81ec7937"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">ASensorEventQueue_setEventRate</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor, int32_t usec)</td></tr>
-<tr class="separator:gaa6e89b6d69dc3e07f2d7e72e81ec7937"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga79c9d6264fe81d4e30800f826db72913"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">ASensorEventQueue_hasEvents</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue)</td></tr>
-<tr class="separator:ga79c9d6264fe81d4e30800f826db72913"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab3d4354fd0d3ceb5fa97c129b024a18a"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">ASensorEventQueue_getEvents</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> *events, size_t count)</td></tr>
-<tr class="separator:gab3d4354fd0d3ceb5fa97c129b024a18a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga52f4b22990c70df0784b9ccf23314fae"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">ASensor_getName</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga52f4b22990c70df0784b9ccf23314fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafaf467fc71f7adba537a90f166e3320d"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">ASensor_getVendor</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gafaf467fc71f7adba537a90f166e3320d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93962747ab3c7d2b609f97af26fc0230"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">ASensor_getType</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga93962747ab3c7d2b609f97af26fc0230"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3da2930dd866cf1f76da6bc39e578a46"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">ASensor_getResolution</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga3da2930dd866cf1f76da6bc39e578a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacb6e021757c07344b58742611eaf68e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">ASensor_getMinDelay</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gacb6e021757c07344b58742611eaf68e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae9969580eda319926a677a6937c7afb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">ASensor_getFifoMaxEventCount</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gae9969580eda319926a677a6937c7afb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec7084c6a9d4d85f87c95a70511c5f53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">ASensor_getFifoReservedEventCount</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gaec7084c6a9d4d85f87c95a70511c5f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabee3eb65390fc75a639c59d653af3591"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">ASensor_getStringType</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gabee3eb65390fc75a639c59d653af3591"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga99e56b84cf421788c27998da8eab7e39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">ASensor_getReportingMode</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga99e56b84cf421788c27998da8eab7e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">ASensor_isWakeUpSensor</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gaf8b57b13c6432bc6136aac0ad3813d63"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ASENSOR_MAGNETIC_FIELD_EARTH_MAX&#160;&#160;&#160;(60.0f)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Maximum magnetic field on Earth's surface in uT </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4423a712e27b6d5a57d138796892886d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ASENSOR_MAGNETIC_FIELD_EARTH_MIN&#160;&#160;&#160;(30.0f)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Minimum magnetic field on Earth's surface in uT </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5129cb9e4091fc3474e246d5f950e52b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ASENSOR_STANDARD_GRAVITY&#160;&#160;&#160;(9.80665f)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Earth's gravity in m/s^2 </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gae85b6eac76abe74e6e53d78bb3a4858c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>  <a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ga0378daec23b2d8a70438ef7c3912475f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>  <a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ga93b28b7ce5e9b6d2ebc5b574cd5f4710"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> is an opaque type that provides information about an hardware sensors.</p>
-<p>A <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> pointer can be obtained using <a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">ASensorManager_getDefaultSensor()</a>, <a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">ASensorManager_getDefaultSensorEx()</a> or from a <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a>.</p>
-<p>This file provides a set of functions to access properties of a <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>:</p>
-<ul>
-<li><a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">ASensor_getName()</a></li>
-<li><a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">ASensor_getVendor()</a></li>
-<li><a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">ASensor_getType()</a></li>
-<li><a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">ASensor_getResolution()</a></li>
-<li><a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">ASensor_getMinDelay()</a></li>
-<li><a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">ASensor_getFifoMaxEventCount()</a></li>
-<li><a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">ASensor_getFifoReservedEventCount()</a></li>
-<li><a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">ASensor_getStringType()</a></li>
-<li><a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">ASensor_getReportingMode()</a></li>
-<li><a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">ASensor_isWakeUpSensor()</a> </li>
-</ul>
-
-</div>
-</div>
-<a class="anchor" id="ga6bb167c45f0ef0a94d8f178d227e781f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a>  <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="gaa9448106d6d463f4cc5dded7c914e7ae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> is an opaque type that provides access to <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> from hardware sensors.</p>
-<p>A new <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> can be obtained using <a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">ASensorManager_createEventQueue()</a>.</p>
-<p>This file provides a set of functions to enable and disable sensors, check and get events, and set event rates on a <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a>.</p>
-<ul>
-<li><a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">ASensorEventQueue_enableSensor()</a></li>
-<li><a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">ASensorEventQueue_disableSensor()</a></li>
-<li><a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">ASensorEventQueue_hasEvents()</a></li>
-<li><a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">ASensorEventQueue_getEvents()</a></li>
-<li><a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">ASensorEventQueue_setEventRate()</a> </li>
-</ul>
-
-</div>
-</div>
-<a class="anchor" id="ga26ff51817e8b320a631b3bf4ed378d58"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a> const* <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> is an array of reference to <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>.</p>
-<p>A <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> can be initialized using <a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">ASensorManager_getSensorList()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaef620baab9b276ab8f914ae77babc349"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> is an opaque type to manage sensors and events queues.</p>
-<p><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> is a singleton that can be obtained using <a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">ASensorManager_getInstance()</a>.</p>
-<p>This file provides a set of functions that uses <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> to access and list hardware sensors, and create and destroy event queues:</p>
-<ul>
-<li><a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">ASensorManager_getSensorList()</a></li>
-<li><a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">ASensorManager_getDefaultSensor()</a></li>
-<li><a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">ASensorManager_getDefaultSensorEx()</a></li>
-<li><a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">ASensorManager_createEventQueue()</a></li>
-<li><a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">ASensorManager_destroyEventQueue()</a> </li>
-</ul>
-
-</div>
-</div>
-<a class="anchor" id="gafec8dd682458c750a5f0f913a0f162ce"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const* <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a> is a type for constant pointers to <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>.</p>
-<p>This is used to define entry in <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> arrays. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga207e807f9e18271f6a763e57232b409f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>  <a class="el" href="struct_a_sensor_vector.html">ASensorVector</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>A sensor event. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga24acc545b908dd24cadc44c5e0760b3b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>  <a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga7ff5f2dff38e7639981794c43dc9167b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Structures and functions to receive and process sensor events in native code. Sensor types. (keep in sync with hardware/sensor.h) </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df"></a>ASENSOR_TYPE_ACCELEROMETER</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">ASENSOR_TYPE_ACCELEROMETER</a> reporting-mode: continuous</p>
-<p>All values are in SI units (m/s^2) and measure the acceleration of the device minus the force of gravity. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8"></a>ASENSOR_TYPE_MAGNETIC_FIELD</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">ASENSOR_TYPE_MAGNETIC_FIELD</a> reporting-mode: continuous</p>
-<p>All values are in micro-Tesla (uT) and measure the geomagnetic field in the X, Y and Z axis. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68"></a>ASENSOR_TYPE_GYROSCOPE</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">ASENSOR_TYPE_GYROSCOPE</a> reporting-mode: continuous</p>
-<p>All values are in radians/second and measure the rate of rotation around the X, Y and Z axis. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174"></a>ASENSOR_TYPE_LIGHT</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">ASENSOR_TYPE_LIGHT</a> reporting-mode: on-change</p>
-<p>The light sensor value is returned in SI lux units. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932"></a>ASENSOR_TYPE_PROXIMITY</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">ASENSOR_TYPE_PROXIMITY</a> reporting-mode: on-change</p>
-<p>The proximity sensor which turns the screen off and back on during calls is the wake-up proximity sensor. Implement wake-up proximity sensor before implementing a non wake-up proximity sensor. For the wake-up proximity sensor set the flag SENSOR_FLAG_WAKE_UP. The value corresponds to the distance to the nearest object in centimeters. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaabfcbcb5ac86a1edac4035264bc7d2b8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sensor accuracy measure. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d"></a>ASENSOR_STATUS_NO_CONTACT</em>&#160;</td><td class="fielddoc">
-<p>no contact </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e"></a>ASENSOR_STATUS_UNRELIABLE</em>&#160;</td><td class="fielddoc">
-<p>unreliable </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0"></a>ASENSOR_STATUS_ACCURACY_LOW</em>&#160;</td><td class="fielddoc">
-<p>low accuracy </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d"></a>ASENSOR_STATUS_ACCURACY_MEDIUM</em>&#160;</td><td class="fielddoc">
-<p>medium accuracy </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13"></a>ASENSOR_STATUS_ACCURACY_HIGH</em>&#160;</td><td class="fielddoc">
-<p>high accuracy </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga5d76b81b0ad4c19007a781d4edb8181f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sensor Reporting Modes. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c"></a>AREPORTING_MODE_CONTINUOUS</em>&#160;</td><td class="fielddoc">
-<p>continuous reporting </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5"></a>AREPORTING_MODE_ON_CHANGE</em>&#160;</td><td class="fielddoc">
-<p>reporting on change </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb"></a>AREPORTING_MODE_ONE_SHOT</em>&#160;</td><td class="fielddoc">
-<p>on shot reporting </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7"></a>AREPORTING_MODE_SPECIAL_TRIGGER</em>&#160;</td><td class="fielddoc">
-<p>special trigger reporting </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gae9969580eda319926a677a6937c7afb1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getFifoMaxEventCount </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the maximum size of batches for this sensor. Batches will often be smaller, as the hardware fifo might be used for other sensors. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaec7084c6a9d4d85f87c95a70511c5f53"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getFifoReservedEventCount </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the hardware batch fifo size reserved to this sensor. </p>
-
-</div>
-</div>
-<a class="anchor" id="gacb6e021757c07344b58742611eaf68e7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getMinDelay </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the minimum delay allowed between events in microseconds. A value of zero means that this sensor doesn't report events at a constant rate, but rather only when a new data is available. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga52f4b22990c70df0784b9ccf23314fae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* ASensor_getName </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns this sensor's name (non localized) </p>
-
-</div>
-</div>
-<a class="anchor" id="ga99e56b84cf421788c27998da8eab7e39"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getReportingMode </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the reporting mode for this sensor. One of AREPORTING_MODE_* constants. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga3da2930dd866cf1f76da6bc39e578a46"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float ASensor_getResolution </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns this sensors's resolution </p>
-
-</div>
-</div>
-<a class="anchor" id="gabee3eb65390fc75a639c59d653af3591"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* ASensor_getStringType </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns this sensor's string type. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga93962747ab3c7d2b609f97af26fc0230"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getType </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return this sensor's type </p>
-
-</div>
-</div>
-<a class="anchor" id="gafaf467fc71f7adba537a90f166e3320d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* ASensor_getVendor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns this sensor's vendor's name (non localized) </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0ff4118e400bedac62be6b79e9e0f924"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ASensor_isWakeUpSensor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns true if this is a wake up sensor, false otherwise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga03852b813887ec236a34c4aef0df4b68"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorEventQueue_disableSensor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Disable the selected sensor. Returns a negative error code on failure. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga48a8379cf9de9b09a71a00f8a3699499"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorEventQueue_enableSensor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Enable the selected sensor. Returns a negative error code on failure. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab3d4354fd0d3ceb5fa97c129b024a18a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ssize_t ASensorEventQueue_getEvents </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> *&#160;</td>
-          <td class="paramname"><em>events</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>count</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the next available events from the queue. Returns a negative value if no events are available or an error has occurred, otherwise the number of events returned.</p>
-<p>Examples: <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> event; ssize_t numEvent = ASensorEventQueue_getEvents(queue, &amp;event, 1);</p>
-<p><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> eventBuffer[8]; ssize_t numEvent = ASensorEventQueue_getEvents(queue, eventBuffer, 8); </p>
-
-</div>
-</div>
-<a class="anchor" id="ga79c9d6264fe81d4e30800f826db72913"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorEventQueue_hasEvents </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns true if there are one or more events available in the sensor queue. Returns 1 if the queue has events; 0 if it does not have events; and a negative value if there is an error. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa6e89b6d69dc3e07f2d7e72e81ec7937"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorEventQueue_setEventRate </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>usec</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sets the delivery rate of events in microseconds for the given sensor. Note that this is a hint only, generally event will arrive at a higher rate. It is an error to set a rate inferior to the value returned by <a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">ASensor_getMinDelay()</a>. Returns a negative error code on failure. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac46f8b28bcc7a846dea9d841cab0a67b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a>* ASensorManager_createEventQueue </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>ident</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a>&#160;</td>
-          <td class="paramname"><em>callback</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Creates a new sensor event queue and associate it with a looper.</p>
-<p>"ident" is a identifier for the events that will be returned when calling <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a>. The identifier must be &gt;= 0, or ALOOPER_POLL_CALLBACK if providing a non-NULL callback. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf35624037785cdea1e7fe9e0a73fc5e1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorManager_destroyEventQueue </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Destroys the event queue and free all resources associated to it. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf4880d87e01f5e2d4a9b8403e4047445"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const* ASensorManager_getDefaultSensor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>type</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the default sensor for the given type, or NULL if no sensor of that type exists. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4313457c0e82f4afa77ef13860629633"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const* ASensorManager_getDefaultSensorEx </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>wakeUp</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the default sensor with the given type and wakeUp properties or NULL if no sensor of this type and wakeUp properties exists. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa438fdaf34783a89d139f0a56d2692cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a>* ASensorManager_getInstance </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get a reference to the sensor manager. ASensorManager is a singleton.</p>
-<p>Example: </p>
-<pre class="fragment">ASensorManager* sensorManager = ASensorManager_getInstance();</pre> 
-</div>
-</div>
-<a class="anchor" id="ga645be938627498ab2b60d94c562204bd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorManager_getSensorList </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> *&#160;</td>
-          <td class="paramname"><em>list</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the list of available sensors. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___storage.jd b/docs/html/ndk/reference/group___storage.jd
deleted file mode 100644
index e29303a..0000000
--- a/docs/html/ndk/reference/group___storage.jd
+++ /dev/null
@@ -1,450 +0,0 @@
-page.title=Storage
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Storage</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:obb_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="obb_8h.html">obb.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:storage__manager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage__manager_8h.html">storage_manager.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gaa5037fe4c0d785a50fc62ac2de9844c3"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a></td></tr>
-<tr class="separator:gaa5037fe4c0d785a50fc62ac2de9844c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga419f40803228bca62e32beb911ab28e2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a></td></tr>
-<tr class="separator:ga419f40803228bca62e32beb911ab28e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf077d06586fa4c0212baa2fe458b9617"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> )(const char *filename, const int32_t state, void *data)</td></tr>
-<tr class="separator:gaf077d06586fa4c0212baa2fe458b9617"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gae4d5251432e1a9e6803c0240cc492e18"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___storage.html#ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a">AOBBINFO_OVERLAY</a> = 0x0001
- }</td></tr>
-<tr class="separator:gae4d5251432e1a9e6803c0240cc492e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae8a3b6a5d0d3244ed73924ab2421a0d0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">AOBB_STATE_MOUNTED</a> = 1, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">AOBB_STATE_UNMOUNTED</a> = 2, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">AOBB_STATE_ERROR_INTERNAL</a> = 20, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">AOBB_STATE_ERROR_COULD_NOT_MOUNT</a> = 21, 
-<br/>
-&#160;&#160;<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">AOBB_STATE_ERROR_COULD_NOT_UNMOUNT</a> = 22, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">AOBB_STATE_ERROR_NOT_MOUNTED</a> = 23, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">AOBB_STATE_ERROR_ALREADY_MOUNTED</a> = 24, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">AOBB_STATE_ERROR_PERMISSION_DENIED</a> = 25
-<br/>
- }</td></tr>
-<tr class="separator:gae8a3b6a5d0d3244ed73924ab2421a0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga7beb4f82e3bf9a4b8197917f92ac4d5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga7beb4f82e3bf9a4b8197917f92ac4d5e">AObbScanner_getObbInfo</a> (const char *filename)</td></tr>
-<tr class="separator:ga7beb4f82e3bf9a4b8197917f92ac4d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec5a4428008f545e829486099298031a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaec5a4428008f545e829486099298031a">AObbInfo_delete</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:gaec5a4428008f545e829486099298031a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1ec7eee61541fa5a9b578801a35b9cf3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga1ec7eee61541fa5a9b578801a35b9cf3">AObbInfo_getPackageName</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:ga1ec7eee61541fa5a9b578801a35b9cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacd8471c6d866cffe4a32f3b5997c782c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gacd8471c6d866cffe4a32f3b5997c782c">AObbInfo_getVersion</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:gacd8471c6d866cffe4a32f3b5997c782c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga68d916570c756da9fd0d9096358300eb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">AObbInfo_getFlags</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:ga68d916570c756da9fd0d9096358300eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1c21ed9e0848fcfc03547c95eeb48877"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">AStorageManager_new</a> ()</td></tr>
-<tr class="separator:ga1c21ed9e0848fcfc03547c95eeb48877"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga184c06dd9cec0f21db138167d6b331ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga184c06dd9cec0f21db138167d6b331ed">AStorageManager_delete</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr)</td></tr>
-<tr class="separator:ga184c06dd9cec0f21db138167d6b331ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61bebaf43e57b4b7f57e7a24a62e9e3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga61bebaf43e57b4b7f57e7a24a62e9e3d">AStorageManager_mountObb</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename, const char *key, <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> cb, void *data)</td></tr>
-<tr class="separator:ga61bebaf43e57b4b7f57e7a24a62e9e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c32c8d2c780016fa36097d833b57809"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga4c32c8d2c780016fa36097d833b57809">AStorageManager_unmountObb</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename, const int force, <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> cb, void *data)</td></tr>
-<tr class="separator:ga4c32c8d2c780016fa36097d833b57809"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7572f2c650fc16cce1b0ab94e913a1ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga7572f2c650fc16cce1b0ab94e913a1ba">AStorageManager_isObbMounted</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename)</td></tr>
-<tr class="separator:ga7572f2c650fc16cce1b0ab94e913a1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gad5c90305d627e0c768da37cb3e9f08c4">AStorageManager_getMountedObbPath</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename)</td></tr>
-<tr class="separator:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gaa5037fe4c0d785a50fc62ac2de9844c3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> is an opaque type representing information for obb storage. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga419f40803228bca62e32beb911ab28e2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> manages application OBB storage, a pointer can be obtained with <a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">AStorageManager_new()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf077d06586fa4c0212baa2fe458b9617"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef void(* AStorageManager_obbCallbackFunc)(const char *filename, const int32_t state, void *data)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Callback function for asynchronous calls made on OBB files.</p>
-<p>"state" is one of the following constants:</p>
-<ul>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">AOBB_STATE_MOUNTED</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">AOBB_STATE_UNMOUNTED</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">AOBB_STATE_ERROR_INTERNAL</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">AOBB_STATE_ERROR_COULD_NOT_MOUNT</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">AOBB_STATE_ERROR_COULD_NOT_UNMOUNT</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">AOBB_STATE_ERROR_NOT_MOUNTED</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">AOBB_STATE_ERROR_ALREADY_MOUNTED</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">AOBB_STATE_ERROR_PERMISSION_DENIED</a> </li>
-</ul>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="gae4d5251432e1a9e6803c0240cc492e18"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Flag for an obb file, returned by <a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">AObbInfo_getFlags()</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a"></a>AOBBINFO_OVERLAY</em>&#160;</td><td class="fielddoc">
-<p>overlay </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gae8a3b6a5d0d3244ed73924ab2421a0d0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The different states of a OBB storage passed to <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc()</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5"></a>AOBB_STATE_MOUNTED</em>&#160;</td><td class="fielddoc">
-<p>The OBB container is now mounted and ready for use. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667"></a>AOBB_STATE_UNMOUNTED</em>&#160;</td><td class="fielddoc">
-<p>The OBB container is now unmounted and not usable. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2"></a>AOBB_STATE_ERROR_INTERNAL</em>&#160;</td><td class="fielddoc">
-<p>There was an internal system error encountered while trying to mount the OBB. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b"></a>AOBB_STATE_ERROR_COULD_NOT_MOUNT</em>&#160;</td><td class="fielddoc">
-<p>The OBB could not be mounted by the system. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe"></a>AOBB_STATE_ERROR_COULD_NOT_UNMOUNT</em>&#160;</td><td class="fielddoc">
-<p>The OBB could not be unmounted. This most likely indicates that a file is in use on the OBB. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8"></a>AOBB_STATE_ERROR_NOT_MOUNTED</em>&#160;</td><td class="fielddoc">
-<p>A call was made to unmount the OBB when it was not mounted. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37"></a>AOBB_STATE_ERROR_ALREADY_MOUNTED</em>&#160;</td><td class="fielddoc">
-<p>The OBB has already been mounted. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c"></a>AOBB_STATE_ERROR_PERMISSION_DENIED</em>&#160;</td><td class="fielddoc">
-<p>The current application does not have permission to use this OBB. This could be because the OBB indicates it's owned by a different package. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gaec5a4428008f545e829486099298031a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AObbInfo_delete </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td>
-          <td class="paramname"><em>obbInfo</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Destroy the AObbInfo object. You must call this when finished with the object. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga68d916570c756da9fd0d9096358300eb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AObbInfo_getFlags </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td>
-          <td class="paramname"><em>obbInfo</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the flags of an OBB file. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1ec7eee61541fa5a9b578801a35b9cf3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* AObbInfo_getPackageName </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td>
-          <td class="paramname"><em>obbInfo</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the package name for the OBB. </p>
-
-</div>
-</div>
-<a class="anchor" id="gacd8471c6d866cffe4a32f3b5997c782c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AObbInfo_getVersion </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td>
-          <td class="paramname"><em>obbInfo</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the version of an OBB file. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7beb4f82e3bf9a4b8197917f92ac4d5e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a>* AObbScanner_getObbInfo </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Scan an OBB and get information about it. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga184c06dd9cec0f21db138167d6b331ed"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AStorageManager_delete </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Release AStorageManager instance. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad5c90305d627e0c768da37cb3e9f08c4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* AStorageManager_getMountedObbPath </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the mounted path for an OBB. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7572f2c650fc16cce1b0ab94e913a1ba"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AStorageManager_isObbMounted </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Check whether an OBB is mounted. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga61bebaf43e57b4b7f57e7a24a62e9e3d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AStorageManager_mountObb </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a>&#160;</td>
-          <td class="paramname"><em>cb</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Attempts to mount an OBB file. This is an asynchronous operation. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1c21ed9e0848fcfc03547c95eeb48877"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a>* AStorageManager_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Obtains a new instance of AStorageManager. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4c32c8d2c780016fa36097d833b57809"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AStorageManager_unmountObb </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&#160;</td>
-          <td class="paramname"><em>force</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a>&#160;</td>
-          <td class="paramname"><em>cb</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Attempts to unmount an OBB file. This is an asynchronous operation. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/index.jd b/docs/html/ndk/reference/index.jd
deleted file mode 100644
index 94bcb7a..0000000
--- a/docs/html/ndk/reference/index.jd
+++ /dev/null
@@ -1,17 +0,0 @@
-page.title=API Reference
-@jd:body
-
-<p>The API reference for the NDK includes documentation for the base set of
-native headers that the NDK provides for Android. These headers, and their associated libraries,
-expose a variety of features otherwise only accessible via the Android framework.
-A few of these features are as follows:</p>
-
-<ul>
-   <li>Using hardware sensors.</li>
-   <li>Accessing storage.</li>
-   <li>Handling user input.</li>
-   <li>Setting configuration information, such as screen orientation.</li>
-</ul>
-
-<p>The API reference provides detailed information on these and other functionalities provided
-in the NDK.</p>
diff --git a/docs/html/ndk/reference/input_8h.jd b/docs/html/ndk/reference/input_8h.jd
deleted file mode 100644
index 855a346..0000000
--- a/docs/html/ndk/reference/input_8h.jd
+++ /dev/null
@@ -1,374 +0,0 @@
-page.title=input.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">input.h File Reference<div class="ingroups"><a class="el" href="group___input.html">Input</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &lt;<a class="el" href="keycodes_8h.html">android/keycodes.h</a>&gt;</code><br/>
-<code>#include &lt;<a class="el" href="looper_8h.html">android/looper.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gaeb170c0fbeeed1d999160566f09f169e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaeb170c0fbeeed1d999160566f09f169e">AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT</a>&#160;&#160;&#160;8</td></tr>
-<tr class="separator:gaeb170c0fbeeed1d999160566f09f169e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gac35dbbc035371e799d8badabc981e8fa"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a></td></tr>
-<tr class="separator:gac35dbbc035371e799d8badabc981e8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga21d8182651f4b61ae558560023e8339c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a></td></tr>
-<tr class="separator:ga21d8182651f4b61ae558560023e8339c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gabc6126af1d45847bc59afa0aa3216b04"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd">AKEY_STATE_UNKNOWN</a> = -1, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28">AKEY_STATE_UP</a> = 0, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c">AKEY_STATE_DOWN</a> = 1, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192">AKEY_STATE_VIRTUAL</a> = 2
- }</td></tr>
-<tr class="separator:gabc6126af1d45847bc59afa0aa3216b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d">AMETA_NONE</a> = 0, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881">AMETA_ALT_ON</a> = 0x02, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df">AMETA_ALT_LEFT_ON</a> = 0x10, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a">AMETA_ALT_RIGHT_ON</a> = 0x20, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197">AMETA_SHIFT_ON</a> = 0x01, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7">AMETA_SHIFT_LEFT_ON</a> = 0x40, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1">AMETA_SHIFT_RIGHT_ON</a> = 0x80, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea">AMETA_SYM_ON</a> = 0x04, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1">AMETA_FUNCTION_ON</a> = 0x08, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5">AMETA_CTRL_ON</a> = 0x1000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6">AMETA_CTRL_LEFT_ON</a> = 0x2000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419">AMETA_CTRL_RIGHT_ON</a> = 0x4000, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a">AMETA_META_ON</a> = 0x10000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f">AMETA_META_LEFT_ON</a> = 0x20000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf">AMETA_META_RIGHT_ON</a> = 0x40000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37">AMETA_CAPS_LOCK_ON</a> = 0x100000, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6">AMETA_NUM_LOCK_ON</a> = 0x200000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a">AMETA_SCROLL_LOCK_ON</a> = 0x400000
-<br/>
- }</td></tr>
-<tr class="separator:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61dadd085c1777f559549e05962b2c9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba">AINPUT_EVENT_TYPE_KEY</a> = 1, 
-<a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a">AINPUT_EVENT_TYPE_MOTION</a> = 2
- }</td></tr>
-<tr class="separator:ga61dadd085c1777f559549e05962b2c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga726ca809ffd3d67ab4b8476646f26635"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49">AKEY_EVENT_ACTION_DOWN</a> = 0, 
-<a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3">AKEY_EVENT_ACTION_UP</a> = 1, 
-<a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0">AKEY_EVENT_ACTION_MULTIPLE</a> = 2
- }</td></tr>
-<tr class="separator:ga726ca809ffd3d67ab4b8476646f26635"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba">AKEY_EVENT_FLAG_WOKE_HERE</a> = 0x1, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32">AKEY_EVENT_FLAG_SOFT_KEYBOARD</a> = 0x2, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41">AKEY_EVENT_FLAG_KEEP_TOUCH_MODE</a> = 0x4, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6">AKEY_EVENT_FLAG_FROM_SYSTEM</a> = 0x8, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013">AKEY_EVENT_FLAG_EDITOR_ACTION</a> = 0x10, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55">AKEY_EVENT_FLAG_CANCELED</a> = 0x20, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8">AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY</a> = 0x40, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185">AKEY_EVENT_FLAG_LONG_PRESS</a> = 0x80, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a">AKEY_EVENT_FLAG_CANCELED_LONG_PRESS</a> = 0x100, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689">AKEY_EVENT_FLAG_TRACKING</a> = 0x200, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0">AKEY_EVENT_FLAG_FALLBACK</a> = 0x400
-<br/>
- }</td></tr>
-<tr class="separator:ga0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabed82baf7f470b522273a3e37c24c600"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f">AMOTION_EVENT_ACTION_MASK</a> = 0xff, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3">AMOTION_EVENT_ACTION_POINTER_INDEX_MASK</a> = 0xff00, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1">AMOTION_EVENT_ACTION_DOWN</a> = 0, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e">AMOTION_EVENT_ACTION_UP</a> = 1, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3">AMOTION_EVENT_ACTION_MOVE</a> = 2, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">AMOTION_EVENT_ACTION_CANCEL</a> = 3, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a> = 4, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2">AMOTION_EVENT_ACTION_POINTER_DOWN</a> = 5, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e">AMOTION_EVENT_ACTION_POINTER_UP</a> = 6, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60">AMOTION_EVENT_ACTION_HOVER_MOVE</a> = 7, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04">AMOTION_EVENT_ACTION_SCROLL</a> = 8, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3">AMOTION_EVENT_ACTION_HOVER_ENTER</a> = 9, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa">AMOTION_EVENT_ACTION_HOVER_EXIT</a> = 10
-<br/>
- }</td></tr>
-<tr class="separator:gabed82baf7f470b522273a3e37c24c600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab04a0655cd1e3bcac5e8f48c18df1a57"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a">AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED</a> = 0x1
- }</td></tr>
-<tr class="separator:gab04a0655cd1e3bcac5e8f48c18df1a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga385c44f6fb256e5716a2302a5b940388"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d">AMOTION_EVENT_EDGE_FLAG_NONE</a> = 0, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757">AMOTION_EVENT_EDGE_FLAG_TOP</a> = 0x01, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb">AMOTION_EVENT_EDGE_FLAG_BOTTOM</a> = 0x02, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52">AMOTION_EVENT_EDGE_FLAG_LEFT</a> = 0x04, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078">AMOTION_EVENT_EDGE_FLAG_RIGHT</a> = 0x08
-<br/>
- }</td></tr>
-<tr class="separator:ga385c44f6fb256e5716a2302a5b940388"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabc5c98fcc1211af2b80116dd6e0a035d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064">AMOTION_EVENT_AXIS_X</a> = 0, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c">AMOTION_EVENT_AXIS_Y</a> = 1, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8">AMOTION_EVENT_AXIS_PRESSURE</a> = 2, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6">AMOTION_EVENT_AXIS_SIZE</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">AMOTION_EVENT_AXIS_TOUCH_MAJOR</a> = 4, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c">AMOTION_EVENT_AXIS_TOUCH_MINOR</a> = 5, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">AMOTION_EVENT_AXIS_TOOL_MAJOR</a> = 6, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142">AMOTION_EVENT_AXIS_TOOL_MINOR</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2">AMOTION_EVENT_AXIS_ORIENTATION</a> = 8, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99">AMOTION_EVENT_AXIS_VSCROLL</a> = 9, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff">AMOTION_EVENT_AXIS_HSCROLL</a> = 10, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305">AMOTION_EVENT_AXIS_Z</a> = 11, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e">AMOTION_EVENT_AXIS_RX</a> = 12, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13">AMOTION_EVENT_AXIS_RY</a> = 13, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b">AMOTION_EVENT_AXIS_RZ</a> = 14, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da">AMOTION_EVENT_AXIS_HAT_X</a> = 15, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482">AMOTION_EVENT_AXIS_HAT_Y</a> = 16, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591">AMOTION_EVENT_AXIS_LTRIGGER</a> = 17, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1">AMOTION_EVENT_AXIS_RTRIGGER</a> = 18, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f">AMOTION_EVENT_AXIS_THROTTLE</a> = 19, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257">AMOTION_EVENT_AXIS_RUDDER</a> = 20, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d">AMOTION_EVENT_AXIS_WHEEL</a> = 21, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16">AMOTION_EVENT_AXIS_GAS</a> = 22, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece">AMOTION_EVENT_AXIS_BRAKE</a> = 23, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e">AMOTION_EVENT_AXIS_DISTANCE</a> = 24, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">AMOTION_EVENT_AXIS_TILT</a> = 25, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc">AMOTION_EVENT_AXIS_GENERIC_1</a> = 32, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5">AMOTION_EVENT_AXIS_GENERIC_2</a> = 33, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c">AMOTION_EVENT_AXIS_GENERIC_3</a> = 34, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9">AMOTION_EVENT_AXIS_GENERIC_4</a> = 35, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085">AMOTION_EVENT_AXIS_GENERIC_5</a> = 36, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84">AMOTION_EVENT_AXIS_GENERIC_6</a> = 37, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b">AMOTION_EVENT_AXIS_GENERIC_7</a> = 38, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe">AMOTION_EVENT_AXIS_GENERIC_8</a> = 39, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443">AMOTION_EVENT_AXIS_GENERIC_9</a> = 40, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2">AMOTION_EVENT_AXIS_GENERIC_10</a> = 41, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57">AMOTION_EVENT_AXIS_GENERIC_11</a> = 42, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063">AMOTION_EVENT_AXIS_GENERIC_12</a> = 43, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180">AMOTION_EVENT_AXIS_GENERIC_13</a> = 44, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b">AMOTION_EVENT_AXIS_GENERIC_14</a> = 45, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca">AMOTION_EVENT_AXIS_GENERIC_15</a> = 46, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336">AMOTION_EVENT_AXIS_GENERIC_16</a> = 47
-<br/>
- }</td></tr>
-<tr class="separator:gabc5c98fcc1211af2b80116dd6e0a035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac36f475ca5b446f4fde4c9b90bec77c8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65">AMOTION_EVENT_BUTTON_PRIMARY</a> = 1 &lt;&lt; 0, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451">AMOTION_EVENT_BUTTON_SECONDARY</a> = 1 &lt;&lt; 1, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f">AMOTION_EVENT_BUTTON_TERTIARY</a> = 1 &lt;&lt; 2, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86">AMOTION_EVENT_BUTTON_BACK</a> = 1 &lt;&lt; 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438">AMOTION_EVENT_BUTTON_FORWARD</a> = 1 &lt;&lt; 4
-<br/>
- }</td></tr>
-<tr class="separator:gac36f475ca5b446f4fde4c9b90bec77c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208">AMOTION_EVENT_TOOL_TYPE_UNKNOWN</a> = 0, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc">AMOTION_EVENT_TOOL_TYPE_FINGER</a> = 1, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7">AMOTION_EVENT_TOOL_TYPE_STYLUS</a> = 2, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de">AMOTION_EVENT_TOOL_TYPE_MOUSE</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb">AMOTION_EVENT_TOOL_TYPE_ERASER</a> = 4
-<br/>
- }</td></tr>
-<tr class="separator:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga16af7b253440dadd46a80a4b9fddba4d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01">AINPUT_SOURCE_CLASS_MASK</a> = 0x000000ff, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c">AINPUT_SOURCE_CLASS_NONE</a> = 0x00000000, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e">AINPUT_SOURCE_CLASS_BUTTON</a> = 0x00000001, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47">AINPUT_SOURCE_CLASS_POINTER</a> = 0x00000002, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a">AINPUT_SOURCE_CLASS_NAVIGATION</a> = 0x00000004, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167">AINPUT_SOURCE_CLASS_POSITION</a> = 0x00000008, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57">AINPUT_SOURCE_CLASS_JOYSTICK</a> = 0x00000010
-<br/>
- }</td></tr>
-<tr class="separator:ga16af7b253440dadd46a80a4b9fddba4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaba01db17f4a2bfbc3db60dc172972a25"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454">AINPUT_SOURCE_UNKNOWN</a> = 0x00000000, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d">AINPUT_SOURCE_KEYBOARD</a> = 0x00000100 | AINPUT_SOURCE_CLASS_BUTTON, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef">AINPUT_SOURCE_DPAD</a> = 0x00000200 | AINPUT_SOURCE_CLASS_BUTTON, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3">AINPUT_SOURCE_GAMEPAD</a> = 0x00000400 | AINPUT_SOURCE_CLASS_BUTTON, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f">AINPUT_SOURCE_TOUCHSCREEN</a> = 0x00001000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86">AINPUT_SOURCE_MOUSE</a> = 0x00002000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9">AINPUT_SOURCE_STYLUS</a> = 0x00004000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6">AINPUT_SOURCE_TRACKBALL</a> = 0x00010000 | AINPUT_SOURCE_CLASS_NAVIGATION, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef">AINPUT_SOURCE_TOUCHPAD</a> = 0x00100000 | AINPUT_SOURCE_CLASS_POSITION, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7">AINPUT_SOURCE_TOUCH_NAVIGATION</a> = 0x00200000 | AINPUT_SOURCE_CLASS_NONE, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5">AINPUT_SOURCE_JOYSTICK</a> = 0x01000000 | AINPUT_SOURCE_CLASS_JOYSTICK, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e">AINPUT_SOURCE_ANY</a> = 0xffffff00
-<br/>
- }</td></tr>
-<tr class="separator:gaba01db17f4a2bfbc3db60dc172972a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf105ae5beaca1dee30ae54530691fce"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac">AINPUT_KEYBOARD_TYPE_NONE</a> = 0, 
-<a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a">AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC</a> = 1, 
-<a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574">AINPUT_KEYBOARD_TYPE_ALPHABETIC</a> = 2
- }</td></tr>
-<tr class="separator:gaaf105ae5beaca1dee30ae54530691fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga80155586fa275b28773c9b203f52caba"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1">AINPUT_MOTION_RANGE_X</a> = AMOTION_EVENT_AXIS_X, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332">AINPUT_MOTION_RANGE_Y</a> = AMOTION_EVENT_AXIS_Y, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a">AINPUT_MOTION_RANGE_PRESSURE</a> = AMOTION_EVENT_AXIS_PRESSURE, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688">AINPUT_MOTION_RANGE_SIZE</a> = AMOTION_EVENT_AXIS_SIZE, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67">AINPUT_MOTION_RANGE_TOUCH_MAJOR</a> = AMOTION_EVENT_AXIS_TOUCH_MAJOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d">AINPUT_MOTION_RANGE_TOUCH_MINOR</a> = AMOTION_EVENT_AXIS_TOUCH_MINOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c">AINPUT_MOTION_RANGE_TOOL_MAJOR</a> = AMOTION_EVENT_AXIS_TOOL_MAJOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1">AINPUT_MOTION_RANGE_TOOL_MINOR</a> = AMOTION_EVENT_AXIS_TOOL_MINOR, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d">AINPUT_MOTION_RANGE_ORIENTATION</a> = AMOTION_EVENT_AXIS_ORIENTATION
-<br/>
- }</td></tr>
-<tr class="separator:ga80155586fa275b28773c9b203f52caba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga8292ae06aa8120c52d7380d228600b9c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga8292ae06aa8120c52d7380d228600b9c">AInputEvent_getType</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:ga8292ae06aa8120c52d7380d228600b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9dd3fd81e51dbfde19ab861541242aa1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9dd3fd81e51dbfde19ab861541242aa1">AInputEvent_getDeviceId</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:ga9dd3fd81e51dbfde19ab861541242aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac90d4b497669dbc709ec9650db4e49be"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac90d4b497669dbc709ec9650db4e49be">AInputEvent_getSource</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:gac90d4b497669dbc709ec9650db4e49be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga36ec0b59f98f86a7ca263ba91279896d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga36ec0b59f98f86a7ca263ba91279896d">AKeyEvent_getAction</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga36ec0b59f98f86a7ca263ba91279896d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a18e98efe0c4ccb6f39bb13c555010e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2a18e98efe0c4ccb6f39bb13c555010e">AKeyEvent_getFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga2a18e98efe0c4ccb6f39bb13c555010e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b01ecd60018a5445f4917a861ca9466"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga6b01ecd60018a5445f4917a861ca9466">AKeyEvent_getKeyCode</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga6b01ecd60018a5445f4917a861ca9466"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4a0a846b7a195aeb290dfcd2250137d9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga4a0a846b7a195aeb290dfcd2250137d9">AKeyEvent_getScanCode</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga4a0a846b7a195aeb290dfcd2250137d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabdda62b40b22727af2fb41740bf4787b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gabdda62b40b22727af2fb41740bf4787b">AKeyEvent_getMetaState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gabdda62b40b22727af2fb41740bf4787b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5358fe3ebbd4b5b2f88a4ad2eba6f885"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5358fe3ebbd4b5b2f88a4ad2eba6f885">AKeyEvent_getRepeatCount</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga5358fe3ebbd4b5b2f88a4ad2eba6f885"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf475b6f0860bdfca4ceea7bc46eab1a9"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaf475b6f0860bdfca4ceea7bc46eab1a9">AKeyEvent_getDownTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gaf475b6f0860bdfca4ceea7bc46eab1a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae3eac7d68195d1767c947ca267842696"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gae3eac7d68195d1767c947ca267842696">AKeyEvent_getEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gae3eac7d68195d1767c947ca267842696"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga73ea2093cc2343675ac43dd08bef4247"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga73ea2093cc2343675ac43dd08bef4247">AMotionEvent_getAction</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga73ea2093cc2343675ac43dd08bef4247"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2891d19197c070207098fa48adeb35af"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2891d19197c070207098fa48adeb35af">AMotionEvent_getFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga2891d19197c070207098fa48adeb35af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5644f0d952e3dea57ba9f7ce51dff2bb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5644f0d952e3dea57ba9f7ce51dff2bb">AMotionEvent_getMetaState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga5644f0d952e3dea57ba9f7ce51dff2bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1aa7ebb749416491b6f0c55ae87ddf49"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga1aa7ebb749416491b6f0c55ae87ddf49">AMotionEvent_getButtonState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga1aa7ebb749416491b6f0c55ae87ddf49"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad7e1f0caa4c27194d4a8756a18432299"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad7e1f0caa4c27194d4a8756a18432299">AMotionEvent_getEdgeFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gad7e1f0caa4c27194d4a8756a18432299"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad44be7697e68891688cd7bcfaffec209"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad44be7697e68891688cd7bcfaffec209">AMotionEvent_getDownTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gad44be7697e68891688cd7bcfaffec209"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7e13fbf3cff0700b0b620284ebdd3a33"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7e13fbf3cff0700b0b620284ebdd3a33">AMotionEvent_getEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7e13fbf3cff0700b0b620284ebdd3a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a94ce622eb78a17737fd8bddbf86e21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7a94ce622eb78a17737fd8bddbf86e21">AMotionEvent_getXOffset</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7a94ce622eb78a17737fd8bddbf86e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7f6bd2c12d912f502c245b6ced6d3704"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7f6bd2c12d912f502c245b6ced6d3704">AMotionEvent_getYOffset</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7f6bd2c12d912f502c245b6ced6d3704"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga81a9be07673a01f43fd0241c7b4c254f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga81a9be07673a01f43fd0241c7b4c254f">AMotionEvent_getXPrecision</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga81a9be07673a01f43fd0241c7b4c254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae311e6e28bce4be905526f9ea71278ed"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gae311e6e28bce4be905526f9ea71278ed">AMotionEvent_getYPrecision</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gae311e6e28bce4be905526f9ea71278ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga612e68d104adbc6d14d87510e8066bd8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga612e68d104adbc6d14d87510e8066bd8">AMotionEvent_getPointerCount</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga612e68d104adbc6d14d87510e8066bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga599e21a79c706807243a8ee31b116138"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga599e21a79c706807243a8ee31b116138">AMotionEvent_getPointerId</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga599e21a79c706807243a8ee31b116138"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2babe4e2e79952e004538f8f1878649c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2babe4e2e79952e004538f8f1878649c">AMotionEvent_getToolType</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga2babe4e2e79952e004538f8f1878649c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe45e29ef138cc30592237ce479837f0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gafe45e29ef138cc30592237ce479837f0">AMotionEvent_getRawX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gafe45e29ef138cc30592237ce479837f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a09c3d742a93270861aa05f24257c23"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5a09c3d742a93270861aa05f24257c23">AMotionEvent_getRawY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga5a09c3d742a93270861aa05f24257c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga22e255a5fa52761cd92ce78af91e9757"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga22e255a5fa52761cd92ce78af91e9757">AMotionEvent_getX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga22e255a5fa52761cd92ce78af91e9757"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga113f58a37e41f2a6c3007d68418edfa6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga113f58a37e41f2a6c3007d68418edfa6">AMotionEvent_getY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga113f58a37e41f2a6c3007d68418edfa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga97fcaa6cd08c9d54b35711e482e06c8d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga97fcaa6cd08c9d54b35711e482e06c8d">AMotionEvent_getPressure</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga97fcaa6cd08c9d54b35711e482e06c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9b1f3c3df46b5269f9e74d2dd70c88a8"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9b1f3c3df46b5269f9e74d2dd70c88a8">AMotionEvent_getSize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga9b1f3c3df46b5269f9e74d2dd70c88a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9ac18fe19534e07d80441582f489d471"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9ac18fe19534e07d80441582f489d471">AMotionEvent_getTouchMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga9ac18fe19534e07d80441582f489d471"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga65f71e257b5fcb29dcbaaf59b3fcb3a7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga65f71e257b5fcb29dcbaaf59b3fcb3a7">AMotionEvent_getTouchMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga65f71e257b5fcb29dcbaaf59b3fcb3a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac04099690f278a6a27191c2027b12a77"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac04099690f278a6a27191c2027b12a77">AMotionEvent_getToolMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gac04099690f278a6a27191c2027b12a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2222d459759ba4a8269647012d2718fb"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2222d459759ba4a8269647012d2718fb">AMotionEvent_getToolMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga2222d459759ba4a8269647012d2718fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad28422998da15b789edcba6b8bc5d615"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad28422998da15b789edcba6b8bc5d615">AMotionEvent_getOrientation</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gad28422998da15b789edcba6b8bc5d615"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9d364cdcebf85237f599b25861f38c21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9d364cdcebf85237f599b25861f38c21">AMotionEvent_getAxisValue</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, int32_t axis, size_t pointer_index)</td></tr>
-<tr class="separator:ga9d364cdcebf85237f599b25861f38c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0aef34c236db6d7a56a50bf590be7bcc"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga0aef34c236db6d7a56a50bf590be7bcc">AMotionEvent_getHistorySize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga0aef34c236db6d7a56a50bf590be7bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga523f1a760754206965b42b08d62f9346"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga523f1a760754206965b42b08d62f9346">AMotionEvent_getHistoricalEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t history_index)</td></tr>
-<tr class="separator:ga523f1a760754206965b42b08d62f9346"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5d36c2e7420001c86ae2aa1168fe6f83"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5d36c2e7420001c86ae2aa1168fe6f83">AMotionEvent_getHistoricalRawX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga5d36c2e7420001c86ae2aa1168fe6f83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6deb0e7690a93aa53e5872c2691b69fe"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga6deb0e7690a93aa53e5872c2691b69fe">AMotionEvent_getHistoricalRawY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga6deb0e7690a93aa53e5872c2691b69fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga49a8ca89ff377b5ed2355e8d7220ae07"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga49a8ca89ff377b5ed2355e8d7220ae07">AMotionEvent_getHistoricalX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga49a8ca89ff377b5ed2355e8d7220ae07"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga30fc4e5d3ce144955859f8c97b51b73d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga30fc4e5d3ce144955859f8c97b51b73d">AMotionEvent_getHistoricalY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga30fc4e5d3ce144955859f8c97b51b73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa8e9352ee5b043b3e1b6e2062d491010"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaa8e9352ee5b043b3e1b6e2062d491010">AMotionEvent_getHistoricalPressure</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaa8e9352ee5b043b3e1b6e2062d491010"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0a04bb7ec12928db7e62645e7fad3a9e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga0a04bb7ec12928db7e62645e7fad3a9e">AMotionEvent_getHistoricalSize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga0a04bb7ec12928db7e62645e7fad3a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf437f223668b97f19ebdbad4b9cf4483"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaf437f223668b97f19ebdbad4b9cf4483">AMotionEvent_getHistoricalTouchMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaf437f223668b97f19ebdbad4b9cf4483"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga126715d966e989652aa1ae5d38e0e898"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga126715d966e989652aa1ae5d38e0e898">AMotionEvent_getHistoricalTouchMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga126715d966e989652aa1ae5d38e0e898"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga160a5830e791e8c42ae97f51b92233d2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga160a5830e791e8c42ae97f51b92233d2">AMotionEvent_getHistoricalToolMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga160a5830e791e8c42ae97f51b92233d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe01aa7576a6d1bce750fb8482355849"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gafe01aa7576a6d1bce750fb8482355849">AMotionEvent_getHistoricalToolMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gafe01aa7576a6d1bce750fb8482355849"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaab9cb8fa670175ecc73c75eed4e5cd3f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaab9cb8fa670175ecc73c75eed4e5cd3f">AMotionEvent_getHistoricalOrientation</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaab9cb8fa670175ecc73c75eed4e5cd3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7ca740e1324f3cdb934252dce0c982d0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7ca740e1324f3cdb934252dce0c982d0">AMotionEvent_getHistoricalAxisValue</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, int32_t axis, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga7ca740e1324f3cdb934252dce0c982d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga900711156bfb58d1a4b158da7874930f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga900711156bfb58d1a4b158da7874930f">AInputQueue_attachLooper</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int ident, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:ga900711156bfb58d1a4b158da7874930f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaeebe9f83392ac79b31ca40a6fd4dbeff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaeebe9f83392ac79b31ca40a6fd4dbeff">AInputQueue_detachLooper</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:gaeebe9f83392ac79b31ca40a6fd4dbeff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2b72ad6ab5ef656e8c41163aa7871c96"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2b72ad6ab5ef656e8c41163aa7871c96">AInputQueue_hasEvents</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:ga2b72ad6ab5ef656e8c41163aa7871c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga88de12e2b39787ba7d3e4ce2ea46a48c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga88de12e2b39787ba7d3e4ce2ea46a48c">AInputQueue_getEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> **outEvent)</td></tr>
-<tr class="separator:ga88de12e2b39787ba7d3e4ce2ea46a48c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadecd32e6c7aefa4a508b355550d3eaa9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gadecd32e6c7aefa4a508b355550d3eaa9">AInputQueue_preDispatchEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:gadecd32e6c7aefa4a508b355550d3eaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga17e87e0f35d47d729eac31a0dfb1ac33">AInputQueue_finishEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event, int handled)</td></tr>
-<tr class="separator:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/keycodes_8h.jd b/docs/html/ndk/reference/keycodes_8h.jd
deleted file mode 100644
index 338a361..0000000
--- a/docs/html/ndk/reference/keycodes_8h.jd
+++ /dev/null
@@ -1,350 +0,0 @@
-page.title=keycodes.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#enum-members">Enumerations</a>  </div>
-  <div class="headertitle">
-<div class="title">keycodes.h File Reference<div class="ingroups"><a class="el" href="group___input.html">Input</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f">AKEYCODE_UNKNOWN</a> = 0, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899">AKEYCODE_SOFT_LEFT</a> = 1, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae">AKEYCODE_SOFT_RIGHT</a> = 2, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd">AKEYCODE_HOME</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">AKEYCODE_BACK</a> = 4, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f">AKEYCODE_CALL</a> = 5, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b">AKEYCODE_ENDCALL</a> = 6, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79">AKEYCODE_0</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0">AKEYCODE_1</a> = 8, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db">AKEYCODE_2</a> = 9, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551">AKEYCODE_3</a> = 10, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b">AKEYCODE_4</a> = 11, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e">AKEYCODE_5</a> = 12, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079">AKEYCODE_6</a> = 13, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff">AKEYCODE_7</a> = 14, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab">AKEYCODE_8</a> = 15, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d">AKEYCODE_9</a> = 16, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305">AKEYCODE_STAR</a> = 17, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9">AKEYCODE_POUND</a> = 18, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e">AKEYCODE_DPAD_UP</a> = 19, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a">AKEYCODE_DPAD_DOWN</a> = 20, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344">AKEYCODE_DPAD_LEFT</a> = 21, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975">AKEYCODE_DPAD_RIGHT</a> = 22, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae">AKEYCODE_DPAD_CENTER</a> = 23, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882">AKEYCODE_VOLUME_UP</a> = 24, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66">AKEYCODE_VOLUME_DOWN</a> = 25, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">AKEYCODE_POWER</a> = 26, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26">AKEYCODE_CAMERA</a> = 27, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901">AKEYCODE_CLEAR</a> = 28, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014">AKEYCODE_A</a> = 29, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758">AKEYCODE_B</a> = 30, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04">AKEYCODE_C</a> = 31, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51">AKEYCODE_D</a> = 32, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0">AKEYCODE_E</a> = 33, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a">AKEYCODE_F</a> = 34, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9">AKEYCODE_G</a> = 35, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc">AKEYCODE_H</a> = 36, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b">AKEYCODE_I</a> = 37, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a">AKEYCODE_J</a> = 38, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932">AKEYCODE_K</a> = 39, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b">AKEYCODE_L</a> = 40, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1">AKEYCODE_M</a> = 41, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36">AKEYCODE_N</a> = 42, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb">AKEYCODE_O</a> = 43, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f">AKEYCODE_P</a> = 44, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206">AKEYCODE_Q</a> = 45, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532">AKEYCODE_R</a> = 46, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6">AKEYCODE_S</a> = 47, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2">AKEYCODE_T</a> = 48, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595">AKEYCODE_U</a> = 49, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a">AKEYCODE_V</a> = 50, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425">AKEYCODE_W</a> = 51, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5">AKEYCODE_X</a> = 52, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b">AKEYCODE_Y</a> = 53, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce">AKEYCODE_Z</a> = 54, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227">AKEYCODE_COMMA</a> = 55, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04">AKEYCODE_PERIOD</a> = 56, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">AKEYCODE_ALT_LEFT</a> = 57, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d">AKEYCODE_ALT_RIGHT</a> = 58, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4">AKEYCODE_SHIFT_LEFT</a> = 59, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212">AKEYCODE_SHIFT_RIGHT</a> = 60, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958">AKEYCODE_TAB</a> = 61, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7">AKEYCODE_SPACE</a> = 62, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f">AKEYCODE_SYM</a> = 63, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083">AKEYCODE_EXPLORER</a> = 64, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c">AKEYCODE_ENVELOPE</a> = 65, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff">AKEYCODE_ENTER</a> = 66, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">AKEYCODE_DEL</a> = 67, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171">AKEYCODE_GRAVE</a> = 68, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca">AKEYCODE_MINUS</a> = 69, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498">AKEYCODE_EQUALS</a> = 70, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708">AKEYCODE_LEFT_BRACKET</a> = 71, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a">AKEYCODE_RIGHT_BRACKET</a> = 72, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701">AKEYCODE_BACKSLASH</a> = 73, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391">AKEYCODE_SEMICOLON</a> = 74, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1">AKEYCODE_APOSTROPHE</a> = 75, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a">AKEYCODE_SLASH</a> = 76, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16">AKEYCODE_AT</a> = 77, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">AKEYCODE_NUM</a> = 78, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33">AKEYCODE_HEADSETHOOK</a> = 79, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187">AKEYCODE_FOCUS</a> = 80, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495">AKEYCODE_PLUS</a> = 81, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76">AKEYCODE_MENU</a> = 82, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331">AKEYCODE_NOTIFICATION</a> = 83, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7">AKEYCODE_SEARCH</a> = 84, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1">AKEYCODE_MEDIA_PLAY_PAUSE</a> = 85, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d">AKEYCODE_MEDIA_STOP</a> = 86, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3">AKEYCODE_MEDIA_NEXT</a> = 87, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb">AKEYCODE_MEDIA_PREVIOUS</a> = 88, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319">AKEYCODE_MEDIA_REWIND</a> = 89, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca">AKEYCODE_MEDIA_FAST_FORWARD</a> = 90, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">AKEYCODE_MUTE</a> = 91, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04">AKEYCODE_PAGE_UP</a> = 92, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393">AKEYCODE_PAGE_DOWN</a> = 93, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41">AKEYCODE_PICTSYMBOLS</a> = 94, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3">AKEYCODE_SWITCH_CHARSET</a> = 95, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086">AKEYCODE_BUTTON_A</a> = 96, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53">AKEYCODE_BUTTON_B</a> = 97, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d">AKEYCODE_BUTTON_C</a> = 98, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7">AKEYCODE_BUTTON_X</a> = 99, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919">AKEYCODE_BUTTON_Y</a> = 100, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f">AKEYCODE_BUTTON_Z</a> = 101, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2">AKEYCODE_BUTTON_L1</a> = 102, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46">AKEYCODE_BUTTON_R1</a> = 103, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4">AKEYCODE_BUTTON_L2</a> = 104, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e">AKEYCODE_BUTTON_R2</a> = 105, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638">AKEYCODE_BUTTON_THUMBL</a> = 106, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe">AKEYCODE_BUTTON_THUMBR</a> = 107, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4">AKEYCODE_BUTTON_START</a> = 108, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43">AKEYCODE_BUTTON_SELECT</a> = 109, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594">AKEYCODE_BUTTON_MODE</a> = 110, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6">AKEYCODE_ESCAPE</a> = 111, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">AKEYCODE_FORWARD_DEL</a> = 112, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1">AKEYCODE_CTRL_LEFT</a> = 113, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c">AKEYCODE_CTRL_RIGHT</a> = 114, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1">AKEYCODE_CAPS_LOCK</a> = 115, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc">AKEYCODE_SCROLL_LOCK</a> = 116, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58">AKEYCODE_META_LEFT</a> = 117, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8">AKEYCODE_META_RIGHT</a> = 118, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722">AKEYCODE_FUNCTION</a> = 119, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84">AKEYCODE_SYSRQ</a> = 120, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23">AKEYCODE_BREAK</a> = 121, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58">AKEYCODE_MOVE_HOME</a> = 122, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a">AKEYCODE_MOVE_END</a> = 123, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644">AKEYCODE_INSERT</a> = 124, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a">AKEYCODE_FORWARD</a> = 125, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1">AKEYCODE_MEDIA_PLAY</a> = 126, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4">AKEYCODE_MEDIA_PAUSE</a> = 127, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998">AKEYCODE_MEDIA_CLOSE</a> = 128, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6">AKEYCODE_MEDIA_EJECT</a> = 129, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9">AKEYCODE_MEDIA_RECORD</a> = 130, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf">AKEYCODE_F1</a> = 131, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84">AKEYCODE_F2</a> = 132, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085">AKEYCODE_F3</a> = 133, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf">AKEYCODE_F4</a> = 134, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937">AKEYCODE_F5</a> = 135, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60">AKEYCODE_F6</a> = 136, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c">AKEYCODE_F7</a> = 137, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8">AKEYCODE_F8</a> = 138, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9">AKEYCODE_F9</a> = 139, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474">AKEYCODE_F10</a> = 140, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22">AKEYCODE_F11</a> = 141, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7">AKEYCODE_F12</a> = 142, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">AKEYCODE_NUM_LOCK</a> = 143, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b">AKEYCODE_NUMPAD_0</a> = 144, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17">AKEYCODE_NUMPAD_1</a> = 145, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89">AKEYCODE_NUMPAD_2</a> = 146, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386">AKEYCODE_NUMPAD_3</a> = 147, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8">AKEYCODE_NUMPAD_4</a> = 148, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b">AKEYCODE_NUMPAD_5</a> = 149, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d">AKEYCODE_NUMPAD_6</a> = 150, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93">AKEYCODE_NUMPAD_7</a> = 151, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642">AKEYCODE_NUMPAD_8</a> = 152, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95">AKEYCODE_NUMPAD_9</a> = 153, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c">AKEYCODE_NUMPAD_DIVIDE</a> = 154, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735">AKEYCODE_NUMPAD_MULTIPLY</a> = 155, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe">AKEYCODE_NUMPAD_SUBTRACT</a> = 156, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35">AKEYCODE_NUMPAD_ADD</a> = 157, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1">AKEYCODE_NUMPAD_DOT</a> = 158, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1">AKEYCODE_NUMPAD_COMMA</a> = 159, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e">AKEYCODE_NUMPAD_ENTER</a> = 160, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed">AKEYCODE_NUMPAD_EQUALS</a> = 161, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54">AKEYCODE_NUMPAD_LEFT_PAREN</a> = 162, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9">AKEYCODE_NUMPAD_RIGHT_PAREN</a> = 163, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">AKEYCODE_VOLUME_MUTE</a> = 164, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649">AKEYCODE_INFO</a> = 165, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c">AKEYCODE_CHANNEL_UP</a> = 166, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f">AKEYCODE_CHANNEL_DOWN</a> = 167, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4">AKEYCODE_ZOOM_IN</a> = 168, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535">AKEYCODE_ZOOM_OUT</a> = 169, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017">AKEYCODE_TV</a> = 170, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8">AKEYCODE_WINDOW</a> = 171, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233">AKEYCODE_GUIDE</a> = 172, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60">AKEYCODE_DVR</a> = 173, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae">AKEYCODE_BOOKMARK</a> = 174, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994">AKEYCODE_CAPTIONS</a> = 175, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159">AKEYCODE_SETTINGS</a> = 176, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930">AKEYCODE_TV_POWER</a> = 177, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5">AKEYCODE_TV_INPUT</a> = 178, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d">AKEYCODE_STB_POWER</a> = 179, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5">AKEYCODE_STB_INPUT</a> = 180, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b">AKEYCODE_AVR_POWER</a> = 181, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504">AKEYCODE_AVR_INPUT</a> = 182, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c">AKEYCODE_PROG_RED</a> = 183, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1">AKEYCODE_PROG_GREEN</a> = 184, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4">AKEYCODE_PROG_YELLOW</a> = 185, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0">AKEYCODE_PROG_BLUE</a> = 186, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad">AKEYCODE_APP_SWITCH</a> = 187, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a">AKEYCODE_BUTTON_1</a> = 188, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3">AKEYCODE_BUTTON_2</a> = 189, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1">AKEYCODE_BUTTON_3</a> = 190, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6">AKEYCODE_BUTTON_4</a> = 191, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5">AKEYCODE_BUTTON_5</a> = 192, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b">AKEYCODE_BUTTON_6</a> = 193, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35">AKEYCODE_BUTTON_7</a> = 194, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f">AKEYCODE_BUTTON_8</a> = 195, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc">AKEYCODE_BUTTON_9</a> = 196, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7">AKEYCODE_BUTTON_10</a> = 197, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1">AKEYCODE_BUTTON_11</a> = 198, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e">AKEYCODE_BUTTON_12</a> = 199, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f">AKEYCODE_BUTTON_13</a> = 200, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b">AKEYCODE_BUTTON_14</a> = 201, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0">AKEYCODE_BUTTON_15</a> = 202, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39">AKEYCODE_BUTTON_16</a> = 203, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff">AKEYCODE_LANGUAGE_SWITCH</a> = 204, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f">AKEYCODE_MANNER_MODE</a> = 205, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c">AKEYCODE_3D_MODE</a> = 206, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10">AKEYCODE_CONTACTS</a> = 207, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076">AKEYCODE_CALENDAR</a> = 208, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72">AKEYCODE_MUSIC</a> = 209, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573">AKEYCODE_CALCULATOR</a> = 210, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22">AKEYCODE_ZENKAKU_HANKAKU</a> = 211, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234">AKEYCODE_EISU</a> = 212, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7">AKEYCODE_MUHENKAN</a> = 213, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02">AKEYCODE_HENKAN</a> = 214, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28">AKEYCODE_KATAKANA_HIRAGANA</a> = 215, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b">AKEYCODE_YEN</a> = 216, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4">AKEYCODE_RO</a> = 217, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531">AKEYCODE_KANA</a> = 218, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838">AKEYCODE_ASSIST</a> = 219, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650">AKEYCODE_BRIGHTNESS_DOWN</a> = 220, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36">AKEYCODE_BRIGHTNESS_UP</a> = 221, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1">AKEYCODE_MEDIA_AUDIO_TRACK</a> = 222, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207">AKEYCODE_SLEEP</a> = 223, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429">AKEYCODE_WAKEUP</a> = 224, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553">AKEYCODE_PAIRING</a> = 225, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a">AKEYCODE_MEDIA_TOP_MENU</a> = 226, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1">AKEYCODE_11</a> = 227, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5">AKEYCODE_12</a> = 228, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9">AKEYCODE_LAST_CHANNEL</a> = 229, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06">AKEYCODE_TV_DATA_SERVICE</a> = 230, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744">AKEYCODE_VOICE_ASSIST</a> = 231, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72">AKEYCODE_TV_RADIO_SERVICE</a> = 232, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db">AKEYCODE_TV_TELETEXT</a> = 233, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055">AKEYCODE_TV_NUMBER_ENTRY</a> = 234, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073">AKEYCODE_TV_TERRESTRIAL_ANALOG</a> = 235, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16">AKEYCODE_TV_TERRESTRIAL_DIGITAL</a> = 236, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936">AKEYCODE_TV_SATELLITE</a> = 237, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5">AKEYCODE_TV_SATELLITE_BS</a> = 238, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0">AKEYCODE_TV_SATELLITE_CS</a> = 239, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb">AKEYCODE_TV_SATELLITE_SERVICE</a> = 240, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42">AKEYCODE_TV_NETWORK</a> = 241, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9">AKEYCODE_TV_ANTENNA_CABLE</a> = 242, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445">AKEYCODE_TV_INPUT_HDMI_1</a> = 243, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f">AKEYCODE_TV_INPUT_HDMI_2</a> = 244, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f">AKEYCODE_TV_INPUT_HDMI_3</a> = 245, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5">AKEYCODE_TV_INPUT_HDMI_4</a> = 246, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd">AKEYCODE_TV_INPUT_COMPOSITE_1</a> = 247, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9">AKEYCODE_TV_INPUT_COMPOSITE_2</a> = 248, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae">AKEYCODE_TV_INPUT_COMPONENT_1</a> = 249, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec">AKEYCODE_TV_INPUT_COMPONENT_2</a> = 250, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85">AKEYCODE_TV_INPUT_VGA_1</a> = 251, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6">AKEYCODE_TV_AUDIO_DESCRIPTION</a> = 252, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678">AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP</a> = 253, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb">AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN</a> = 254, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4">AKEYCODE_TV_ZOOM_MODE</a> = 255, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8">AKEYCODE_TV_CONTENTS_MENU</a> = 256, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe">AKEYCODE_TV_MEDIA_CONTEXT_MENU</a> = 257, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840">AKEYCODE_TV_TIMER_PROGRAMMING</a> = 258, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9">AKEYCODE_HELP</a> = 259
-<br/>
- }</td></tr>
-<tr class="separator:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/looper_8h.jd b/docs/html/ndk/reference/looper_8h.jd
deleted file mode 100644
index 9171631..0000000
--- a/docs/html/ndk/reference/looper_8h.jd
+++ /dev/null
@@ -1,70 +0,0 @@
-page.title=looper.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">looper.h File Reference<div class="ingroups"><a class="el" href="group___looper.html">Looper</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gadb10521a80138b777ba1bc2ca74d4af5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a></td></tr>
-<tr class="separator:gadb10521a80138b777ba1bc2ca74d4af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga410b184b4e48302c439e36c8ce0a7a89"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> )(int fd, int events, void *data)</td></tr>
-<tr class="separator:ga410b184b4e48302c439e36c8ce0a7a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gaf9bdc3014f3d54c426b6d2df10de4960"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___looper.html#ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb">ALOOPER_PREPARE_ALLOW_NON_CALLBACKS</a> = 1&lt;&lt;0
- }</td></tr>
-<tr class="separator:gaf9bdc3014f3d54c426b6d2df10de4960"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadb49720dc49f7d4e4cf9adbf2948e409"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47">ALOOPER_POLL_WAKE</a> = -1, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2">ALOOPER_POLL_CALLBACK</a> = -2, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443">ALOOPER_POLL_TIMEOUT</a> = -3, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4">ALOOPER_POLL_ERROR</a> = -4
- }</td></tr>
-<tr class="separator:gadb49720dc49f7d4e4cf9adbf2948e409"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaae05225933a42f81e7c4a9fb286596f9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc">ALOOPER_EVENT_INPUT</a> = 1 &lt;&lt; 0, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d">ALOOPER_EVENT_OUTPUT</a> = 1 &lt;&lt; 1, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6">ALOOPER_EVENT_ERROR</a> = 1 &lt;&lt; 2, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab">ALOOPER_EVENT_HANGUP</a> = 1 &lt;&lt; 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff">ALOOPER_EVENT_INVALID</a> = 1 &lt;&lt; 4
-<br/>
- }</td></tr>
-<tr class="separator:gaae05225933a42f81e7c4a9fb286596f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga741ccd90a0eb9209c6bddf2326d89e4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga741ccd90a0eb9209c6bddf2326d89e4a">ALooper_forThread</a> ()</td></tr>
-<tr class="separator:ga741ccd90a0eb9209c6bddf2326d89e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1a070b904dd957cc65af9eb5ef6dfa25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">ALooper_prepare</a> (int opts)</td></tr>
-<tr class="separator:ga1a070b904dd957cc65af9eb5ef6dfa25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae1ad7ac48ab01a34bfd25840c92ff07b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">ALooper_acquire</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gae1ad7ac48ab01a34bfd25840c92ff07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab723c3c2ac2c66bc695913a194073727"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gab723c3c2ac2c66bc695913a194073727">ALooper_release</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gab723c3c2ac2c66bc695913a194073727"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a9044602b76fef7f47c7e11a801561c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce</a> (int timeoutMillis, int *outFd, int *outEvents, void **outData)</td></tr>
-<tr class="separator:ga2a9044602b76fef7f47c7e11a801561c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7cd0636edc4ed227aadc585360ebefa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll</a> (int timeoutMillis, int *outFd, int *outEvents, void **outData)</td></tr>
-<tr class="separator:gaa7cd0636edc4ed227aadc585360ebefa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab2585652f8ae2e2444979194ebe32aaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gab2585652f8ae2e2444979194ebe32aaf">ALooper_wake</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gab2585652f8ae2e2444979194ebe32aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2668285bfadcf21ef4d371568a30be33"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int fd, int ident, int events, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:ga2668285bfadcf21ef4d371568a30be33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gaf7d68ed05698b251489b4f6c8e54daad">ALooper_removeFd</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int fd)</td></tr>
-<tr class="separator:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/modules.jd b/docs/html/ndk/reference/modules.jd
deleted file mode 100644
index 2da7307..0000000
--- a/docs/html/ndk/reference/modules.jd
+++ /dev/null
@@ -1,23 +0,0 @@
-page.title=Modules
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Modules</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all modules:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___asset.html" target="_self">Asset</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___bitmap.html" target="_self">Bitmap</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___configuration.html" target="_self">Configuration</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___input.html" target="_self">Input</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___looper.html" target="_self">Looper</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___native_activity.html" target="_self">Native Activity</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___storage.html" target="_self">Storage</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="group___sensor.html" target="_self">Sensor</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/native__activity_8h.jd b/docs/html/ndk/reference/native__activity_8h.jd
deleted file mode 100644
index 147ffdb..0000000
--- a/docs/html/ndk/reference/native__activity_8h.jd
+++ /dev/null
@@ -1,74 +0,0 @@
-page.title=native_activity.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">native_activity.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &lt;jni.h&gt;</code><br/>
-<code>#include &lt;<a class="el" href="asset__manager_8h.html">android/asset_manager.h</a>&gt;</code><br/>
-<code>#include &lt;<a class="el" href="input_8h.html">android/input.h</a>&gt;</code><br/>
-<code>#include &lt;<a class="el" href="native__window_8h.html">android/native_window.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga8abd07923f37feb1ce724d139cc2609d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_activity.html">ANativeActivity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">ANativeActivity</a></td></tr>
-<tr class="separator:ga8abd07923f37feb1ce724d139cc2609d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga28dca784e5ee939427135c72c0151c38"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
-<a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">ANativeActivityCallbacks</a></td></tr>
-<tr class="separator:ga28dca784e5ee939427135c72c0151c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, void *savedState, size_t savedStateSize)</td></tr>
-<tr class="separator:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga39fca1837c5ce7715cbf571669660c13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT</a> = 0x0001, 
-<a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</a> = 0x0002
- }</td></tr>
-<tr class="separator:ga39fca1837c5ce7715cbf571669660c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY</a> = 0x0001, 
-<a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS</a> = 0x0002
- }</td></tr>
-<tr class="separator:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">ANativeActivity_finish</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">ANativeActivity_setWindowFormat</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int32_t format)</td></tr>
-<tr class="separator:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">ANativeActivity_setWindowFlags</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t addFlags, uint32_t removeFlags)</td></tr>
-<tr class="separator:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">ANativeActivity_showSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
-<tr class="separator:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf673d6efea7ce517ef46ff2551b25944"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">ANativeActivity_hideSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
-<tr class="separator:gaf673d6efea7ce517ef46ff2551b25944"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:ga02791d0d490839055169f39fdc905c5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">ANativeActivity_onCreate</a></td></tr>
-<tr class="separator:ga02791d0d490839055169f39fdc905c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/native__window_8h.jd b/docs/html/ndk/reference/native__window_8h.jd
deleted file mode 100644
index 75f9469..0000000
--- a/docs/html/ndk/reference/native__window_8h.jd
+++ /dev/null
@@ -1,61 +0,0 @@
-page.title=native_window.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">native_window.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="rect_8h.html">android/rect.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga66956d540c2e3709e12156d195e64726"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a></td></tr>
-<tr class="separator:ga66956d540c2e3709e12156d195e64726"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad0983ca473ce36293baf5e51a14c3357"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">ANativeWindow_Buffer</a></td></tr>
-<tr class="separator:gad0983ca473ce36293baf5e51a14c3357"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga94798fdadfbf49a7c658ace669a1d310"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">WINDOW_FORMAT_RGBA_8888</a> = 1, 
-<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">WINDOW_FORMAT_RGBX_8888</a> = 2, 
-<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">WINDOW_FORMAT_RGB_565</a> = 4
- }</td></tr>
-<tr class="separator:ga94798fdadfbf49a7c658ace669a1d310"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga533876b57909243b238927344a6592db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">ANativeWindow_acquire</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga533876b57909243b238927344a6592db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae944e98865b902bd924663785d7b0258"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">ANativeWindow_release</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:gae944e98865b902bd924663785d7b0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">ANativeWindow_getWidth</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">ANativeWindow_getHeight</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">ANativeWindow_getFormat</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7b0652533998d61e1a3b542485889113"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">ANativeWindow_setBuffersGeometry</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, int32_t width, int32_t height, int32_t format)</td></tr>
-<tr class="separator:ga7b0652533998d61e1a3b542485889113"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> *outBuffer, <a class="el" href="struct_a_rect.html">ARect</a> *inOutDirtyBounds)</td></tr>
-<tr class="separator:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">ANativeWindow_unlockAndPost</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/native__window__jni_8h.jd b/docs/html/ndk/reference/native__window__jni_8h.jd
deleted file mode 100644
index bffbc03..0000000
--- a/docs/html/ndk/reference/native__window__jni_8h.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=native_window_jni.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">native_window_jni.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="native__window_8h.html">android/native_window.h</a>&gt;</code><br/>
-<code>#include &lt;jni.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">ANativeWindow_fromSurface</a> (JNIEnv *env, jobject surface)</td></tr>
-<tr class="separator:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/nav_f.png b/docs/html/ndk/reference/nav_f.png
deleted file mode 100644
index 5ceae87..0000000
--- a/docs/html/ndk/reference/nav_f.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/nav_g.png b/docs/html/ndk/reference/nav_g.png
deleted file mode 100644
index 2093a23..0000000
--- a/docs/html/ndk/reference/nav_g.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/nav_h.png b/docs/html/ndk/reference/nav_h.png
deleted file mode 100644
index e619809c..0000000
--- a/docs/html/ndk/reference/nav_h.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/obb_8h.jd b/docs/html/ndk/reference/obb_8h.jd
deleted file mode 100644
index a856d4ee..0000000
--- a/docs/html/ndk/reference/obb_8h.jd
+++ /dev/null
@@ -1,45 +0,0 @@
-page.title=obb.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">obb.h File Reference<div class="ingroups"><a class="el" href="group___storage.html">Storage</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gaa5037fe4c0d785a50fc62ac2de9844c3"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a></td></tr>
-<tr class="separator:gaa5037fe4c0d785a50fc62ac2de9844c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gae4d5251432e1a9e6803c0240cc492e18"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___storage.html#ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a">AOBBINFO_OVERLAY</a> = 0x0001
- }</td></tr>
-<tr class="separator:gae4d5251432e1a9e6803c0240cc492e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga7beb4f82e3bf9a4b8197917f92ac4d5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga7beb4f82e3bf9a4b8197917f92ac4d5e">AObbScanner_getObbInfo</a> (const char *filename)</td></tr>
-<tr class="separator:ga7beb4f82e3bf9a4b8197917f92ac4d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec5a4428008f545e829486099298031a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaec5a4428008f545e829486099298031a">AObbInfo_delete</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:gaec5a4428008f545e829486099298031a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1ec7eee61541fa5a9b578801a35b9cf3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga1ec7eee61541fa5a9b578801a35b9cf3">AObbInfo_getPackageName</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:ga1ec7eee61541fa5a9b578801a35b9cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacd8471c6d866cffe4a32f3b5997c782c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gacd8471c6d866cffe4a32f3b5997c782c">AObbInfo_getVersion</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:gacd8471c6d866cffe4a32f3b5997c782c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga68d916570c756da9fd0d9096358300eb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">AObbInfo_getFlags</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:ga68d916570c756da9fd0d9096358300eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/open.png b/docs/html/ndk/reference/open.png
deleted file mode 100644
index 7e740cc..0000000
--- a/docs/html/ndk/reference/open.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/pages.jd b/docs/html/ndk/reference/pages.jd
deleted file mode 100644
index 2d7ece8..0000000
--- a/docs/html/ndk/reference/pages.jd
+++ /dev/null
@@ -1,16 +0,0 @@
-page.title=Related Pages
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Related Pages</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="deprecated.html" target="_self">Deprecated List</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/rect_8h.jd b/docs/html/ndk/reference/rect_8h.jd
deleted file mode 100644
index 85787b5..0000000
--- a/docs/html/ndk/reference/rect_8h.jd
+++ /dev/null
@@ -1,30 +0,0 @@
-page.title=rect.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a>  </div>
-  <div class="headertitle">
-<div class="title">rect.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html">ARect</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gaa984a498f0e146ac57c6022a323423cf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_rect.html">ARect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">ARect</a></td></tr>
-<tr class="separator:gaa984a498f0e146ac57c6022a323423cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/reference_toc.cs b/docs/html/ndk/reference/reference_toc.cs
deleted file mode 100644
index d4e2d6d..0000000
--- a/docs/html/ndk/reference/reference_toc.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-<?cs # Table of contents for Dev Guide.
-
-       For each document available in translation, add an localized title to this TOC.
-       Do not add localized title for docs not available in translation.
-       Below are template spans for adding localized doc titles. Please ensure that
-       localized titles are added in the language order specified below.
-?>
-
-<ul id="nav">
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___asset.html"><span class="en">Asset Manager</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/asset__manager_8h.html">asset_manager.h</a></li>
-      <li><a href="/ndk/reference/asset__manager__jni_8h.html">asset_manager_jni.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___bitmap.html"><span class="en">
-    Bitmap</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/bitmap_8h.html">bitmap.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___configuration.html"><span class="en">
-    Configuration</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/configuration_8h.html">configuration.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___input.html"><span class="en">
-    Input</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/input_8h.html">input.h</a></li>
-      <li><a href="/ndk/reference/keycodes_8h.html">keycodes.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___looper.html"><span class="en">
-    Looper</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/looper_8h.html">looper.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___native_activity.html"><span class="en">
-    Native Activity and Window</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/native__activity_8h.html">native_activity.h</a></li>
-      <li><a href="/ndk/reference/native__window_8h.html">native_window.h</a></li>
-      <li><a href="/ndk/reference/native__window__jni_8h.html">native_window.h</a></li>
-      <li><a href="/ndk/reference/rect_8h.html">rect.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___sensor.html"><span class="en">
-    Sensor</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/sensor_8h.html">sensor.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___storage.html"><span class="en">
-    Storage Manager</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/storage__manager_8h.html">storage_manager.h</a></li>
-      <li><a href="/ndk/reference/obb_8h.html">obb.h</a></li>
-    </ul>
-  </li>
-</ul>
-
-<script type="text/javascript">
-<!--
-    buildToggleLists();
-    changeNavLang(getLangPref());
-//-->
-</script>
\ No newline at end of file
diff --git a/docs/html/ndk/reference/sensor_8h.jd b/docs/html/ndk/reference/sensor_8h.jd
deleted file mode 100644
index a537f4f..0000000
--- a/docs/html/ndk/reference/sensor_8h.jd
+++ /dev/null
@@ -1,143 +0,0 @@
-page.title=sensor.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">sensor.h File Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &lt;<a class="el" href="looper_8h.html">android/looper.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ga5129cb9e4091fc3474e246d5f950e52b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga5129cb9e4091fc3474e246d5f950e52b">ASENSOR_STANDARD_GRAVITY</a>&#160;&#160;&#160;(9.80665f)</td></tr>
-<tr class="separator:ga5129cb9e4091fc3474e246d5f950e52b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf8b57b13c6432bc6136aac0ad3813d63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf8b57b13c6432bc6136aac0ad3813d63">ASENSOR_MAGNETIC_FIELD_EARTH_MAX</a>&#160;&#160;&#160;(60.0f)</td></tr>
-<tr class="separator:gaf8b57b13c6432bc6136aac0ad3813d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4423a712e27b6d5a57d138796892886d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga4423a712e27b6d5a57d138796892886d">ASENSOR_MAGNETIC_FIELD_EARTH_MIN</a>&#160;&#160;&#160;(30.0f)</td></tr>
-<tr class="separator:ga4423a712e27b6d5a57d138796892886d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga207e807f9e18271f6a763e57232b409f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga207e807f9e18271f6a763e57232b409f">ASensorVector</a></td></tr>
-<tr class="separator:ga207e807f9e18271f6a763e57232b409f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0378daec23b2d8a70438ef7c3912475f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga0378daec23b2d8a70438ef7c3912475f">AMetaDataEvent</a></td></tr>
-<tr class="separator:ga0378daec23b2d8a70438ef7c3912475f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga24acc545b908dd24cadc44c5e0760b3b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga24acc545b908dd24cadc44c5e0760b3b">AUncalibratedEvent</a></td></tr>
-<tr class="separator:ga24acc545b908dd24cadc44c5e0760b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae85b6eac76abe74e6e53d78bb3a4858c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gae85b6eac76abe74e6e53d78bb3a4858c">AHeartRateEvent</a></td></tr>
-<tr class="separator:gae85b6eac76abe74e6e53d78bb3a4858c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6bb167c45f0ef0a94d8f178d227e781f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga6bb167c45f0ef0a94d8f178d227e781f">ASensorEvent</a></td></tr>
-<tr class="separator:ga6bb167c45f0ef0a94d8f178d227e781f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaef620baab9b276ab8f914ae77babc349"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a></td></tr>
-<tr class="separator:gaef620baab9b276ab8f914ae77babc349"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa9448106d6d463f4cc5dded7c914e7ae"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a></td></tr>
-<tr class="separator:gaa9448106d6d463f4cc5dded7c914e7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93b28b7ce5e9b6d2ebc5b574cd5f4710"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a></td></tr>
-<tr class="separator:ga93b28b7ce5e9b6d2ebc5b574cd5f4710"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafec8dd682458c750a5f0f913a0f162ce"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a></td></tr>
-<tr class="separator:gafec8dd682458c750a5f0f913a0f162ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga26ff51817e8b320a631b3bf4ed378d58"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a></td></tr>
-<tr class="separator:ga26ff51817e8b320a631b3bf4ed378d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">ASENSOR_TYPE_ACCELEROMETER</a> = 1, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">ASENSOR_TYPE_MAGNETIC_FIELD</a> = 2, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">ASENSOR_TYPE_GYROSCOPE</a> = 4, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">ASENSOR_TYPE_LIGHT</a> = 5, 
-<br/>
-&#160;&#160;<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">ASENSOR_TYPE_PROXIMITY</a> = 8
-<br/>
- }</td></tr>
-<tr class="separator:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabfcbcb5ac86a1edac4035264bc7d2b8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d">ASENSOR_STATUS_NO_CONTACT</a> = -1, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e">ASENSOR_STATUS_UNRELIABLE</a> = 0, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0">ASENSOR_STATUS_ACCURACY_LOW</a> = 1, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d">ASENSOR_STATUS_ACCURACY_MEDIUM</a> = 2, 
-<br/>
-&#160;&#160;<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13">ASENSOR_STATUS_ACCURACY_HIGH</a> = 3
-<br/>
- }</td></tr>
-<tr class="separator:gaabfcbcb5ac86a1edac4035264bc7d2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5d76b81b0ad4c19007a781d4edb8181f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c">AREPORTING_MODE_CONTINUOUS</a> = 0, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5">AREPORTING_MODE_ON_CHANGE</a> = 1, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb">AREPORTING_MODE_ONE_SHOT</a> = 2, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7">AREPORTING_MODE_SPECIAL_TRIGGER</a> = 3
- }</td></tr>
-<tr class="separator:ga5d76b81b0ad4c19007a781d4edb8181f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaa438fdaf34783a89d139f0a56d2692cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">ASensorManager_getInstance</a> ()</td></tr>
-<tr class="separator:gaa438fdaf34783a89d139f0a56d2692cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga645be938627498ab2b60d94c562204bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">ASensorManager_getSensorList</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> *list)</td></tr>
-<tr class="separator:ga645be938627498ab2b60d94c562204bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf4880d87e01f5e2d4a9b8403e4047445"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">ASensorManager_getDefaultSensor</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, int type)</td></tr>
-<tr class="separator:gaf4880d87e01f5e2d4a9b8403e4047445"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4313457c0e82f4afa77ef13860629633"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">ASensorManager_getDefaultSensorEx</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, int type, bool wakeUp)</td></tr>
-<tr class="separator:ga4313457c0e82f4afa77ef13860629633"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac46f8b28bcc7a846dea9d841cab0a67b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">ASensorManager_createEventQueue</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int ident, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:gac46f8b28bcc7a846dea9d841cab0a67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf35624037785cdea1e7fe9e0a73fc5e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">ASensorManager_destroyEventQueue</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue)</td></tr>
-<tr class="separator:gaf35624037785cdea1e7fe9e0a73fc5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga48a8379cf9de9b09a71a00f8a3699499"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">ASensorEventQueue_enableSensor</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga48a8379cf9de9b09a71a00f8a3699499"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga03852b813887ec236a34c4aef0df4b68"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">ASensorEventQueue_disableSensor</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga03852b813887ec236a34c4aef0df4b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa6e89b6d69dc3e07f2d7e72e81ec7937"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">ASensorEventQueue_setEventRate</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor, int32_t usec)</td></tr>
-<tr class="separator:gaa6e89b6d69dc3e07f2d7e72e81ec7937"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga79c9d6264fe81d4e30800f826db72913"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">ASensorEventQueue_hasEvents</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue)</td></tr>
-<tr class="separator:ga79c9d6264fe81d4e30800f826db72913"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab3d4354fd0d3ceb5fa97c129b024a18a"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">ASensorEventQueue_getEvents</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> *events, size_t count)</td></tr>
-<tr class="separator:gab3d4354fd0d3ceb5fa97c129b024a18a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga52f4b22990c70df0784b9ccf23314fae"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">ASensor_getName</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga52f4b22990c70df0784b9ccf23314fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafaf467fc71f7adba537a90f166e3320d"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">ASensor_getVendor</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gafaf467fc71f7adba537a90f166e3320d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93962747ab3c7d2b609f97af26fc0230"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">ASensor_getType</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga93962747ab3c7d2b609f97af26fc0230"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3da2930dd866cf1f76da6bc39e578a46"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">ASensor_getResolution</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga3da2930dd866cf1f76da6bc39e578a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacb6e021757c07344b58742611eaf68e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">ASensor_getMinDelay</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gacb6e021757c07344b58742611eaf68e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae9969580eda319926a677a6937c7afb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">ASensor_getFifoMaxEventCount</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gae9969580eda319926a677a6937c7afb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec7084c6a9d4d85f87c95a70511c5f53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">ASensor_getFifoReservedEventCount</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gaec7084c6a9d4d85f87c95a70511c5f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabee3eb65390fc75a639c59d653af3591"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">ASensor_getStringType</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gabee3eb65390fc75a639c59d653af3591"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga99e56b84cf421788c27998da8eab7e39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">ASensor_getReportingMode</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga99e56b84cf421788c27998da8eab7e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">ASensor_isWakeUpSensor</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/storage__manager_8h.jd b/docs/html/ndk/reference/storage__manager_8h.jd
deleted file mode 100644
index 6048d84..0000000
--- a/docs/html/ndk/reference/storage__manager_8h.jd
+++ /dev/null
@@ -1,59 +0,0 @@
-page.title=storage_manager.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">storage_manager.h File Reference<div class="ingroups"><a class="el" href="group___storage.html">Storage</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga419f40803228bca62e32beb911ab28e2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a></td></tr>
-<tr class="separator:ga419f40803228bca62e32beb911ab28e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf077d06586fa4c0212baa2fe458b9617"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> )(const char *filename, const int32_t state, void *data)</td></tr>
-<tr class="separator:gaf077d06586fa4c0212baa2fe458b9617"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gae8a3b6a5d0d3244ed73924ab2421a0d0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">AOBB_STATE_MOUNTED</a> = 1, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">AOBB_STATE_UNMOUNTED</a> = 2, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">AOBB_STATE_ERROR_INTERNAL</a> = 20, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">AOBB_STATE_ERROR_COULD_NOT_MOUNT</a> = 21, 
-<br/>
-&#160;&#160;<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">AOBB_STATE_ERROR_COULD_NOT_UNMOUNT</a> = 22, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">AOBB_STATE_ERROR_NOT_MOUNTED</a> = 23, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">AOBB_STATE_ERROR_ALREADY_MOUNTED</a> = 24, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">AOBB_STATE_ERROR_PERMISSION_DENIED</a> = 25
-<br/>
- }</td></tr>
-<tr class="separator:gae8a3b6a5d0d3244ed73924ab2421a0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga1c21ed9e0848fcfc03547c95eeb48877"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">AStorageManager_new</a> ()</td></tr>
-<tr class="separator:ga1c21ed9e0848fcfc03547c95eeb48877"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga184c06dd9cec0f21db138167d6b331ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga184c06dd9cec0f21db138167d6b331ed">AStorageManager_delete</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr)</td></tr>
-<tr class="separator:ga184c06dd9cec0f21db138167d6b331ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61bebaf43e57b4b7f57e7a24a62e9e3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga61bebaf43e57b4b7f57e7a24a62e9e3d">AStorageManager_mountObb</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename, const char *key, <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> cb, void *data)</td></tr>
-<tr class="separator:ga61bebaf43e57b4b7f57e7a24a62e9e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c32c8d2c780016fa36097d833b57809"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga4c32c8d2c780016fa36097d833b57809">AStorageManager_unmountObb</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename, const int force, <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> cb, void *data)</td></tr>
-<tr class="separator:ga4c32c8d2c780016fa36097d833b57809"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7572f2c650fc16cce1b0ab94e913a1ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga7572f2c650fc16cce1b0ab94e913a1ba">AStorageManager_isObbMounted</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename)</td></tr>
-<tr class="separator:ga7572f2c650fc16cce1b0ab94e913a1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gad5c90305d627e0c768da37cb3e9f08c4">AStorageManager_getMountedObbPath</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename)</td></tr>
-<tr class="separator:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_heart_rate_event.jd b/docs/html/ndk/reference/struct_a_heart_rate_event.jd
deleted file mode 100644
index 1cd2a2d..0000000
--- a/docs/html/ndk/reference/struct_a_heart_rate_event.jd
+++ /dev/null
@@ -1,51 +0,0 @@
-page.title=AHeartRateEvent Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">AHeartRateEvent Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:ab0560092cbaa233e74bb0d543a85965d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_heart_rate_event.html#ab0560092cbaa233e74bb0d543a85965d">bpm</a></td></tr>
-<tr class="separator:ab0560092cbaa233e74bb0d543a85965d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a555c2084e8436de01dc76a23590e8824"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_heart_rate_event.html#a555c2084e8436de01dc76a23590e8824">status</a></td></tr>
-<tr class="separator:a555c2084e8436de01dc76a23590e8824"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="ab0560092cbaa233e74bb0d543a85965d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float bpm</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a555c2084e8436de01dc76a23590e8824"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int8_t status</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_meta_data_event.jd b/docs/html/ndk/reference/struct_a_meta_data_event.jd
deleted file mode 100644
index 352b5ba..0000000
--- a/docs/html/ndk/reference/struct_a_meta_data_event.jd
+++ /dev/null
@@ -1,51 +0,0 @@
-page.title=AMetaDataEvent Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">AMetaDataEvent Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a397e31e246d23c1be3fa82ca4af8b930"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_meta_data_event.html#a397e31e246d23c1be3fa82ca4af8b930">what</a></td></tr>
-<tr class="separator:a397e31e246d23c1be3fa82ca4af8b930"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a470f19badf179fe205462c060e5175b4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_meta_data_event.html#a470f19badf179fe205462c060e5175b4">sensor</a></td></tr>
-<tr class="separator:a470f19badf179fe205462c060e5175b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a470f19badf179fe205462c060e5175b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t sensor</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a397e31e246d23c1be3fa82ca4af8b930"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t what</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_native_activity.jd b/docs/html/ndk/reference/struct_a_native_activity.jd
deleted file mode 100644
index 6d8124b..0000000
--- a/docs/html/ndk/reference/struct_a_native_activity.jd
+++ /dev/null
@@ -1,177 +0,0 @@
-page.title=ANativeActivity Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ANativeActivity Struct Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;native_activity.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:af96995a13e77baf0d71c37d20c79ad51"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#af96995a13e77baf0d71c37d20c79ad51">callbacks</a></td></tr>
-<tr class="separator:af96995a13e77baf0d71c37d20c79ad51"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e163c28566d4563eafeabd7dcab7eeb"><td class="memItemLeft" align="right" valign="top">JavaVM *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a5e163c28566d4563eafeabd7dcab7eeb">vm</a></td></tr>
-<tr class="separator:a5e163c28566d4563eafeabd7dcab7eeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae6f0d0cd46e56b7e299b489cb60dd27e"><td class="memItemLeft" align="right" valign="top">JNIEnv *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#ae6f0d0cd46e56b7e299b489cb60dd27e">env</a></td></tr>
-<tr class="separator:ae6f0d0cd46e56b7e299b489cb60dd27e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab10b01c3c23c4ddb9d2ddadd71b03c94"><td class="memItemLeft" align="right" valign="top">jobject&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#ab10b01c3c23c4ddb9d2ddadd71b03c94">clazz</a></td></tr>
-<tr class="separator:ab10b01c3c23c4ddb9d2ddadd71b03c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa52947cdd1476b95e858d83c0f5b0220"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#aa52947cdd1476b95e858d83c0f5b0220">internalDataPath</a></td></tr>
-<tr class="separator:aa52947cdd1476b95e858d83c0f5b0220"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a61553b2f660ea8b57fcc2b495e109f"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a2a61553b2f660ea8b57fcc2b495e109f">externalDataPath</a></td></tr>
-<tr class="separator:a2a61553b2f660ea8b57fcc2b495e109f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40b4b64be7ecfac23751618313eb610d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a40b4b64be7ecfac23751618313eb610d">sdkVersion</a></td></tr>
-<tr class="separator:a40b4b64be7ecfac23751618313eb610d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae1b90392cd257d16fd66a85bac1b08cd"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#ae1b90392cd257d16fd66a85bac1b08cd">instance</a></td></tr>
-<tr class="separator:ae1b90392cd257d16fd66a85bac1b08cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0f76f065768b8f896ce47a3089fb438d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a0f76f065768b8f896ce47a3089fb438d">assetManager</a></td></tr>
-<tr class="separator:a0f76f065768b8f896ce47a3089fb438d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0aff284eb9ab311d81f20955258798cf"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a0aff284eb9ab311d81f20955258798cf">obbPath</a></td></tr>
-<tr class="separator:a0aff284eb9ab311d81f20955258798cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>This structure defines the native side of an android.app.NativeActivity. It is created by the framework, and handed to the application's native code as it is being launched. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a0f76f065768b8f896ce47a3089fb438d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>* assetManager</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Pointer to the Asset Manager instance for the application. The application uses this to access binary assets bundled inside its own .apk file. </p>
-
-</div>
-</div>
-<a class="anchor" id="af96995a13e77baf0d71c37d20c79ad51"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>* callbacks</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Pointer to the callback function table of the native application. You can set the functions here to your own callbacks. The callbacks pointer itself here should not be changed; it is allocated and managed for you by the framework. </p>
-
-</div>
-</div>
-<a class="anchor" id="ab10b01c3c23c4ddb9d2ddadd71b03c94"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">jobject clazz</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The NativeActivity object handle.</p>
-<p>IMPORTANT NOTE: This member is mis-named. It should really be named 'activity' instead of 'clazz', since it's a reference to the NativeActivity instance created by the system for you.</p>
-<p>We unfortunately cannot change this without breaking NDK source-compatibility. </p>
-
-</div>
-</div>
-<a class="anchor" id="ae6f0d0cd46e56b7e299b489cb60dd27e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">JNIEnv* env</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>JNI context for the main thread of the app. Note that this field can ONLY be used from the main thread of the process; that is, the thread that calls into the <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="a2a61553b2f660ea8b57fcc2b495e109f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* externalDataPath</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Path to this application's external (removable/mountable) data directory. </p>
-
-</div>
-</div>
-<a class="anchor" id="ae1b90392cd257d16fd66a85bac1b08cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* instance</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This is the native instance of the application. It is not used by the framework, but can be set by the application to its own instance state. </p>
-
-</div>
-</div>
-<a class="anchor" id="aa52947cdd1476b95e858d83c0f5b0220"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* internalDataPath</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Path to this application's internal data directory. </p>
-
-</div>
-</div>
-<a class="anchor" id="a0aff284eb9ab311d81f20955258798cf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* obbPath</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Available starting with Honeycomb: path to the directory containing the application's OBB files (if any). If the app doesn't have any OBB files, this directory may not exist. </p>
-
-</div>
-</div>
-<a class="anchor" id="a40b4b64be7ecfac23751618313eb610d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t sdkVersion</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The platform's SDK version code. </p>
-
-</div>
-</div>
-<a class="anchor" id="a5e163c28566d4563eafeabd7dcab7eeb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">JavaVM* vm</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The global handle on the process's Java VM. </p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="native__activity_8h.html">native_activity.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_native_activity_callbacks.jd b/docs/html/ndk/reference/struct_a_native_activity_callbacks.jd
deleted file mode 100644
index 45b8e5e..0000000
--- a/docs/html/ndk/reference/struct_a_native_activity_callbacks.jd
+++ /dev/null
@@ -1,265 +0,0 @@
-page.title=ANativeActivityCallbacks Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ANativeActivityCallbacks Struct Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;native_activity.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:acda344fd29c2018640a85a585317d92c"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#acda344fd29c2018640a85a585317d92c">onStart</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:acda344fd29c2018640a85a585317d92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac2c85491a68e6dece3d82782c1254e73"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#ac2c85491a68e6dece3d82782c1254e73">onResume</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:ac2c85491a68e6dece3d82782c1254e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16a270d24a484a376e28bc6c48fc22a1"><td class="memItemLeft" align="right" valign="top">void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a16a270d24a484a376e28bc6c48fc22a1">onSaveInstanceState</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, size_t *outSize)</td></tr>
-<tr class="separator:a16a270d24a484a376e28bc6c48fc22a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee8a4dcff234b94d0bf0bc85efea42c2"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#aee8a4dcff234b94d0bf0bc85efea42c2">onPause</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:aee8a4dcff234b94d0bf0bc85efea42c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adefa99d16d11d21bb8a83ba426047605"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#adefa99d16d11d21bb8a83ba426047605">onStop</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:adefa99d16d11d21bb8a83ba426047605"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45598ebed3d15847b4f97acb9e15076e"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a45598ebed3d15847b4f97acb9e15076e">onDestroy</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:a45598ebed3d15847b4f97acb9e15076e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a620ef54556eac0b2b28d7e6d0644ee4a"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a620ef54556eac0b2b28d7e6d0644ee4a">onWindowFocusChanged</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int hasFocus)</td></tr>
-<tr class="separator:a620ef54556eac0b2b28d7e6d0644ee4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac997f07e53ba58179a2133e86e5cbd31"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#ac997f07e53ba58179a2133e86e5cbd31">onNativeWindowCreated</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ac997f07e53ba58179a2133e86e5cbd31"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7bd120b8816508561126308f699f116"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#ab7bd120b8816508561126308f699f116">onNativeWindowResized</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ab7bd120b8816508561126308f699f116"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3cad4792af363b9a40599d09afeab56c"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a3cad4792af363b9a40599d09afeab56c">onNativeWindowRedrawNeeded</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:a3cad4792af363b9a40599d09afeab56c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a150442c0611e8ce24a32a7c805e7c9db"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a150442c0611e8ce24a32a7c805e7c9db">onNativeWindowDestroyed</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:a150442c0611e8ce24a32a7c805e7c9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a17b41ec9bb8b0b9e42d1e269a62a4d59"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a17b41ec9bb8b0b9e42d1e269a62a4d59">onInputQueueCreated</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:a17b41ec9bb8b0b9e42d1e269a62a4d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82675193f867bc64180016923b0bb129"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a82675193f867bc64180016923b0bb129">onInputQueueDestroyed</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:a82675193f867bc64180016923b0bb129"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a61d30a43b3c77b6047afe951706f6a1e"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">onContentRectChanged</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, const <a class="el" href="struct_a_rect.html">ARect</a> *rect)</td></tr>
-<tr class="separator:a61d30a43b3c77b6047afe951706f6a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2926b45334319089e4e25fbc86d74c3f"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a2926b45334319089e4e25fbc86d74c3f">onConfigurationChanged</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:a2926b45334319089e4e25fbc86d74c3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aac61f647cbd971321c692a74a1136f67"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#aac61f647cbd971321c692a74a1136f67">onLowMemory</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:aac61f647cbd971321c692a74a1136f67"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>These are the callbacks the framework makes into a native application. All of these callbacks happen on the main thread of the application. By default, all callbacks are NULL; set to a pointer to your own function to have it called. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a2926b45334319089e4e25fbc86d74c3f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onConfigurationChanged)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The current device AConfiguration has changed. The new configuration can be retrieved from assetManager. </p>
-
-</div>
-</div>
-<a class="anchor" id="a61d30a43b3c77b6047afe951706f6a1e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onContentRectChanged)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, const <a class="el" href="struct_a_rect.html">ARect</a> *rect)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The rectangle in the window in which content should be placed has changed. </p>
-
-</div>
-</div>
-<a class="anchor" id="a45598ebed3d15847b4f97acb9e15076e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onDestroy)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity is being destroyed. See Java documentation for Activity.onDestroy() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="a17b41ec9bb8b0b9e42d1e269a62a4d59"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onInputQueueCreated)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The input queue for this native activity's window has been created. You can use the given input queue to start retrieving input events. </p>
-
-</div>
-</div>
-<a class="anchor" id="a82675193f867bc64180016923b0bb129"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onInputQueueDestroyed)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The input queue for this native activity's window is being destroyed. You should no longer try to reference this object upon returning from this function. </p>
-
-</div>
-</div>
-<a class="anchor" id="aac61f647cbd971321c692a74a1136f67"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onLowMemory)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The system is running low on memory. Use this callback to release resources you do not need, to help the system avoid killing more important processes. </p>
-
-</div>
-</div>
-<a class="anchor" id="ac997f07e53ba58179a2133e86e5cbd31"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onNativeWindowCreated)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The drawing window for this native activity has been created. You can use the given native window object to start drawing. </p>
-
-</div>
-</div>
-<a class="anchor" id="a150442c0611e8ce24a32a7c805e7c9db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onNativeWindowDestroyed)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The drawing window for this native activity is going to be destroyed. You MUST ensure that you do not touch the window object after returning from this function: in the common case of drawing to the window from another thread, that means the implementation of this callback must properly synchronize with the other thread to stop its drawing before returning from here. </p>
-
-</div>
-</div>
-<a class="anchor" id="a3cad4792af363b9a40599d09afeab56c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onNativeWindowRedrawNeeded)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The drawing window for this native activity needs to be redrawn. To avoid transient artifacts during screen changes (such resizing after rotation), applications should not return from this function until they have finished drawing their window in its current state. </p>
-
-</div>
-</div>
-<a class="anchor" id="ab7bd120b8816508561126308f699f116"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onNativeWindowResized)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The drawing window for this native activity has been resized. You should retrieve the new size from the window and ensure that your rendering in it now matches. </p>
-
-</div>
-</div>
-<a class="anchor" id="aee8a4dcff234b94d0bf0bc85efea42c2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onPause)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity has paused. See Java documentation for Activity.onPause() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="ac2c85491a68e6dece3d82782c1254e73"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onResume)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity has resumed. See Java documentation for Activity.onResume() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="a16a270d24a484a376e28bc6c48fc22a1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void*(* onSaveInstanceState)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, size_t *outSize)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Framework is asking NativeActivity to save its current instance state. See Java documentation for Activity.onSaveInstanceState() for more information. The returned pointer needs to be created with malloc(); the framework will call free() on it for you. You also must fill in outSize with the number of bytes in the allocation. Note that the saved state will be persisted, so it can not contain any active entities (pointers to memory, file descriptors, etc). </p>
-
-</div>
-</div>
-<a class="anchor" id="acda344fd29c2018640a85a585317d92c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onStart)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity has started. See Java documentation for Activity.onStart() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="adefa99d16d11d21bb8a83ba426047605"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onStop)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity has stopped. See Java documentation for Activity.onStop() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="a620ef54556eac0b2b28d7e6d0644ee4a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onWindowFocusChanged)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int hasFocus)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Focus has changed in this NativeActivity's window. This is often used, for example, to pause a game when it loses input focus. </p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="native__activity_8h.html">native_activity.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_native_window___buffer.jd b/docs/html/ndk/reference/struct_a_native_window___buffer.jd
deleted file mode 100644
index a2008fd..0000000
--- a/docs/html/ndk/reference/struct_a_native_window___buffer.jd
+++ /dev/null
@@ -1,110 +0,0 @@
-page.title=ANativeWindow_Buffer Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ANativeWindow_Buffer Struct Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;native_window.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a395d15e7c2b09961c1bfd1da6179b64c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a395d15e7c2b09961c1bfd1da6179b64c">width</a></td></tr>
-<tr class="separator:a395d15e7c2b09961c1bfd1da6179b64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d8006e753a3e76ff637a4e092bbed71"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a5d8006e753a3e76ff637a4e092bbed71">height</a></td></tr>
-<tr class="separator:a5d8006e753a3e76ff637a4e092bbed71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4438e3445d33be6d33b2c0dbe9c2e0d7"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a4438e3445d33be6d33b2c0dbe9c2e0d7">stride</a></td></tr>
-<tr class="separator:a4438e3445d33be6d33b2c0dbe9c2e0d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a49d503b84d084937e3ceeda9f0b4659e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a49d503b84d084937e3ceeda9f0b4659e">format</a></td></tr>
-<tr class="separator:a49d503b84d084937e3ceeda9f0b4659e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a089d8e968fac54a9e45f059b8b78cf9b"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a089d8e968fac54a9e45f059b8b78cf9b">bits</a></td></tr>
-<tr class="separator:a089d8e968fac54a9e45f059b8b78cf9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a60cc5aad4013157e2e7434d6de450656"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a60cc5aad4013157e2e7434d6de450656">reserved</a> [6]</td></tr>
-<tr class="separator:a60cc5aad4013157e2e7434d6de450656"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> is a struct that represents a windows buffer.</p>
-<p>A pointer can be obtained using <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a>. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a089d8e968fac54a9e45f059b8b78cf9b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* bits</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a49d503b84d084937e3ceeda9f0b4659e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t format</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a5d8006e753a3e76ff637a4e092bbed71"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t height</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a60cc5aad4013157e2e7434d6de450656"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t reserved[6]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4438e3445d33be6d33b2c0dbe9c2e0d7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t stride</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a395d15e7c2b09961c1bfd1da6179b64c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t width</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="native__window_8h.html">native_window.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_rect.jd b/docs/html/ndk/reference/struct_a_rect.jd
deleted file mode 100644
index 4b9bb67..0000000
--- a/docs/html/ndk/reference/struct_a_rect.jd
+++ /dev/null
@@ -1,86 +0,0 @@
-page.title=ARect Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ARect Struct Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;rect.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a9ee4ce87784b0ebeaadce132ce7d421f"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html#a9ee4ce87784b0ebeaadce132ce7d421f">left</a></td></tr>
-<tr class="separator:a9ee4ce87784b0ebeaadce132ce7d421f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad07137116129d873220209ea65f9d3d4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html#ad07137116129d873220209ea65f9d3d4">top</a></td></tr>
-<tr class="separator:ad07137116129d873220209ea65f9d3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d3a4d6bf8bc6c866fa737e11590cc4e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html#a3d3a4d6bf8bc6c866fa737e11590cc4e">right</a></td></tr>
-<tr class="separator:a3d3a4d6bf8bc6c866fa737e11590cc4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4479860c72ca8e96ac4fb1cc149dd71b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html#a4479860c72ca8e96ac4fb1cc149dd71b">bottom</a></td></tr>
-<tr class="separator:a4479860c72ca8e96ac4fb1cc149dd71b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p><a class="el" href="struct_a_rect.html">ARect</a> is a struct that represents a rectangular window area.</p>
-<p>It is used with <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks::onContentRectChanged</a> event callback and <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a> function. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a4479860c72ca8e96ac4fb1cc149dd71b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t bottom</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>bottom position </p>
-
-</div>
-</div>
-<a class="anchor" id="a9ee4ce87784b0ebeaadce132ce7d421f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t left</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>left position </p>
-
-</div>
-</div>
-<a class="anchor" id="a3d3a4d6bf8bc6c866fa737e11590cc4e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t right</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>left position </p>
-
-</div>
-</div>
-<a class="anchor" id="ad07137116129d873220209ea65f9d3d4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t top</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>top position </p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="rect_8h.html">rect.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_sensor_event.jd b/docs/html/ndk/reference/struct_a_sensor_event.jd
deleted file mode 100644
index 3c6e49d..0000000
--- a/docs/html/ndk/reference/struct_a_sensor_event.jd
+++ /dev/null
@@ -1,364 +0,0 @@
-page.title=ASensorEvent Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ASensorEvent Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a67fae7dd1de9edce3656ed214d20377f"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a67fae7dd1de9edce3656ed214d20377f">version</a></td></tr>
-<tr class="separator:a67fae7dd1de9edce3656ed214d20377f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a470f19badf179fe205462c060e5175b4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a470f19badf179fe205462c060e5175b4">sensor</a></td></tr>
-<tr class="separator:a470f19badf179fe205462c060e5175b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a449e574ed6911881dc55507cb5635c2c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a449e574ed6911881dc55507cb5635c2c">type</a></td></tr>
-<tr class="separator:a449e574ed6911881dc55507cb5635c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3b1869501b35bf41f2ff54de072b6c2c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a3b1869501b35bf41f2ff54de072b6c2c">reserved0</a></td></tr>
-<tr class="separator:a3b1869501b35bf41f2ff54de072b6c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8a591d341723df9496cda98e225b25b4"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a8a591d341723df9496cda98e225b25b4">timestamp</a></td></tr>
-<tr class="separator:a8a591d341723df9496cda98e225b25b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a4f7ed8edd7821e9e0932df3a29792d"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:af302fa16ee998a27548f088d0d9bb64f"><td class="memItemLeft" >&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:a31244897a6c7f657a9aec807dd1e09ae"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a31244897a6c7f657a9aec807dd1e09ae">data</a> [16]</td></tr>
-<tr class="separator:a31244897a6c7f657a9aec807dd1e09ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aebf12879fa9b61c671584994ddad9610"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#aebf12879fa9b61c671584994ddad9610">vector</a></td></tr>
-<tr class="separator:aebf12879fa9b61c671584994ddad9610"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab1f50881089166ff5f3d46f7bfcf09c"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#aab1f50881089166ff5f3d46f7bfcf09c">acceleration</a></td></tr>
-<tr class="separator:aab1f50881089166ff5f3d46f7bfcf09c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a776bc8e3beff52764ef2d6d423563d64"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a776bc8e3beff52764ef2d6d423563d64">magnetic</a></td></tr>
-<tr class="separator:a776bc8e3beff52764ef2d6d423563d64"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afc1d28cfbce795d6ea954ebe725241f5"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#afc1d28cfbce795d6ea954ebe725241f5">temperature</a></td></tr>
-<tr class="separator:afc1d28cfbce795d6ea954ebe725241f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a06f14a9abd47b91465f895d5259cdc1b"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a06f14a9abd47b91465f895d5259cdc1b">distance</a></td></tr>
-<tr class="separator:a06f14a9abd47b91465f895d5259cdc1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaf8b2537020ae0b7450785724d77a3e0"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#aaf8b2537020ae0b7450785724d77a3e0">light</a></td></tr>
-<tr class="separator:aaf8b2537020ae0b7450785724d77a3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac870e1249bab4a2a68cc4126761d24ef"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#ac870e1249bab4a2a68cc4126761d24ef">pressure</a></td></tr>
-<tr class="separator:ac870e1249bab4a2a68cc4126761d24ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad60830bc80efb7e8a11d6fb25518f55b"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#ad60830bc80efb7e8a11d6fb25518f55b">relative_humidity</a></td></tr>
-<tr class="separator:ad60830bc80efb7e8a11d6fb25518f55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e35158edcd83e4651d7083ebdb41bae"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a4e35158edcd83e4651d7083ebdb41bae">uncalibrated_gyro</a></td></tr>
-<tr class="separator:a4e35158edcd83e4651d7083ebdb41bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c746f01a48fbdefaad12c35be0dd715"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a3c746f01a48fbdefaad12c35be0dd715">uncalibrated_magnetic</a></td></tr>
-<tr class="separator:a3c746f01a48fbdefaad12c35be0dd715"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40a6e69697a42e0f0ad04a09d7f113d3"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a40a6e69697a42e0f0ad04a09d7f113d3">meta_data</a></td></tr>
-<tr class="separator:a40a6e69697a42e0f0ad04a09d7f113d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2325abb12f65d7cbceec766e6db506d8"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a2325abb12f65d7cbceec766e6db506d8">heart_rate</a></td></tr>
-<tr class="separator:a2325abb12f65d7cbceec766e6db506d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af302fa16ee998a27548f088d0d9bb64f"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:af302fa16ee998a27548f088d0d9bb64f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89806d4445310e62ed4b68c9e2698b27"><td class="memItemLeft" >&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:a1bc800e1b28e4acd0ee4e971619a598f"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;uint64_t&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a1bc800e1b28e4acd0ee4e971619a598f">data</a> [8]</td></tr>
-<tr class="separator:a1bc800e1b28e4acd0ee4e971619a598f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e54280490afc977b11157e387841145"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;uint64_t&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a2e54280490afc977b11157e387841145">step_counter</a></td></tr>
-<tr class="separator:a2e54280490afc977b11157e387841145"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89806d4445310e62ed4b68c9e2698b27"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a89806d4445310e62ed4b68c9e2698b27">u64</a></td></tr>
-<tr class="separator:a89806d4445310e62ed4b68c9e2698b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a4f7ed8edd7821e9e0932df3a29792d"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a5a4f7ed8edd7821e9e0932df3a29792d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a773b39d480759f67926cb18ae2219281"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a773b39d480759f67926cb18ae2219281">flags</a></td></tr>
-<tr class="separator:a773b39d480759f67926cb18ae2219281"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c2ed5a26d302c47f7b3f2dd0bbf7f94"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a3c2ed5a26d302c47f7b3f2dd0bbf7f94">reserved1</a> [3]</td></tr>
-<tr class="separator:a3c2ed5a26d302c47f7b3f2dd0bbf7f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a5a4f7ed8edd7821e9e0932df3a29792d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... } </td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aab1f50881089166ff5f3d46f7bfcf09c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a> acceleration</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a31244897a6c7f657a9aec807dd1e09ae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float data[16]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1bc800e1b28e4acd0ee4e971619a598f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint64_t data[8]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a06f14a9abd47b91465f895d5259cdc1b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float distance</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a773b39d480759f67926cb18ae2219281"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t flags</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a2325abb12f65d7cbceec766e6db506d8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a> heart_rate</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aaf8b2537020ae0b7450785724d77a3e0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float light</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a776bc8e3beff52764ef2d6d423563d64"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a> magnetic</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a40a6e69697a42e0f0ad04a09d7f113d3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a> meta_data</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac870e1249bab4a2a68cc4126761d24ef"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float pressure</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad60830bc80efb7e8a11d6fb25518f55b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float relative_humidity</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3b1869501b35bf41f2ff54de072b6c2c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t reserved0</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3c2ed5a26d302c47f7b3f2dd0bbf7f94"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t reserved1[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a470f19badf179fe205462c060e5175b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t sensor</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a2e54280490afc977b11157e387841145"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint64_t step_counter</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afc1d28cfbce795d6ea954ebe725241f5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float temperature</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8a591d341723df9496cda98e225b25b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t timestamp</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a449e574ed6911881dc55507cb5635c2c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t type</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a89806d4445310e62ed4b68c9e2698b27"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... }   u64</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4e35158edcd83e4651d7083ebdb41bae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a> uncalibrated_gyro</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3c746f01a48fbdefaad12c35be0dd715"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a> uncalibrated_magnetic</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aebf12879fa9b61c671584994ddad9610"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a> vector</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a67fae7dd1de9edce3656ed214d20377f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t version</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_sensor_vector.jd b/docs/html/ndk/reference/struct_a_sensor_vector.jd
deleted file mode 100644
index 397ad6d..0000000
--- a/docs/html/ndk/reference/struct_a_sensor_vector.jd
+++ /dev/null
@@ -1,172 +0,0 @@
-page.title=ASensorVector Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ASensorVector Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a1c2115c78d0380b0ecfbf9e94adcf821"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:a9a1a1a00f1e45435cc3001b553000a21"><td class="memItemLeft" >&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#a9a1a1a00f1e45435cc3001b553000a21">v</a> [3]</td></tr>
-<tr class="separator:a9a1a1a00f1e45435cc3001b553000a21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada5f2f99413a51a46caa8ef7f44c7a88"><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:ad0da36b2558901e21e7a30f6c227a45e"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#ad0da36b2558901e21e7a30f6c227a45e">x</a></td></tr>
-<tr class="separator:ad0da36b2558901e21e7a30f6c227a45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa4f0d3eebc3c443f9be81bf48561a217"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#aa4f0d3eebc3c443f9be81bf48561a217">y</a></td></tr>
-<tr class="separator:aa4f0d3eebc3c443f9be81bf48561a217"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af73583b1e980b0aa03f9884812e9fd4d"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#af73583b1e980b0aa03f9884812e9fd4d">z</a></td></tr>
-<tr class="separator:af73583b1e980b0aa03f9884812e9fd4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada5f2f99413a51a46caa8ef7f44c7a88"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:ada5f2f99413a51a46caa8ef7f44c7a88"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa217775a0b49338072ee12500155bdbf"><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:a01b03ebfa7d0a95760e743f611fecbc5"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#a01b03ebfa7d0a95760e743f611fecbc5">azimuth</a></td></tr>
-<tr class="separator:a01b03ebfa7d0a95760e743f611fecbc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a282e7d4378d4a18a805b8980295ac86c"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#a282e7d4378d4a18a805b8980295ac86c">pitch</a></td></tr>
-<tr class="separator:a282e7d4378d4a18a805b8980295ac86c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a26fd84d522945b6038221d9e38c7cc39"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#a26fd84d522945b6038221d9e38c7cc39">roll</a></td></tr>
-<tr class="separator:a26fd84d522945b6038221d9e38c7cc39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa217775a0b49338072ee12500155bdbf"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:aa217775a0b49338072ee12500155bdbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c2115c78d0380b0ecfbf9e94adcf821"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a1c2115c78d0380b0ecfbf9e94adcf821"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a555c2084e8436de01dc76a23590e8824"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_vector.html#a555c2084e8436de01dc76a23590e8824">status</a></td></tr>
-<tr class="separator:a555c2084e8436de01dc76a23590e8824"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a72aca6ea6d8153b28ea8f139b932ec3e"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_vector.html#a72aca6ea6d8153b28ea8f139b932ec3e">reserved</a> [3]</td></tr>
-<tr class="separator:a72aca6ea6d8153b28ea8f139b932ec3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>A sensor event. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a1c2115c78d0380b0ecfbf9e94adcf821"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... } </td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a01b03ebfa7d0a95760e743f611fecbc5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float azimuth</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a282e7d4378d4a18a805b8980295ac86c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float pitch</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a72aca6ea6d8153b28ea8f139b932ec3e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint8_t reserved[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a26fd84d522945b6038221d9e38c7cc39"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float roll</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a555c2084e8436de01dc76a23590e8824"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int8_t status</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9a1a1a00f1e45435cc3001b553000a21"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float v[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad0da36b2558901e21e7a30f6c227a45e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float x</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa4f0d3eebc3c443f9be81bf48561a217"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float y</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af73583b1e980b0aa03f9884812e9fd4d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float z</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_uncalibrated_event.jd b/docs/html/ndk/reference/struct_a_uncalibrated_event.jd
deleted file mode 100644
index 985b0b9..0000000
--- a/docs/html/ndk/reference/struct_a_uncalibrated_event.jd
+++ /dev/null
@@ -1,171 +0,0 @@
-page.title=AUncalibratedEvent Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">AUncalibratedEvent Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a7b163a0b99971787ece3a65e6000fdf2"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:a9c22454e765672782b7198d57a92f5fd"><td class="memItemLeft" >&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a9c22454e765672782b7198d57a92f5fd">uncalib</a> [3]</td></tr>
-<tr class="separator:a9c22454e765672782b7198d57a92f5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8b528c70566cf887c975d6c5a9cdcbb1"><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:ac8b7f8daea042eaa2b86f0bf2160c44a"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#ac8b7f8daea042eaa2b86f0bf2160c44a">x_uncalib</a></td></tr>
-<tr class="separator:ac8b7f8daea042eaa2b86f0bf2160c44a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a43437dd77e26c6b89ab1c91aeb63fd64"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a43437dd77e26c6b89ab1c91aeb63fd64">y_uncalib</a></td></tr>
-<tr class="separator:a43437dd77e26c6b89ab1c91aeb63fd64"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae677be5f98570cc5a1fd7fddcd8a6841"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#ae677be5f98570cc5a1fd7fddcd8a6841">z_uncalib</a></td></tr>
-<tr class="separator:ae677be5f98570cc5a1fd7fddcd8a6841"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8b528c70566cf887c975d6c5a9cdcbb1"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a8b528c70566cf887c975d6c5a9cdcbb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b163a0b99971787ece3a65e6000fdf2"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a7b163a0b99971787ece3a65e6000fdf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac376d6a49d888be08124578ee9b9fc15"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:a52bd7f09c4decadcfbc0347fda4163d6"><td class="memItemLeft" >&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a52bd7f09c4decadcfbc0347fda4163d6">bias</a> [3]</td></tr>
-<tr class="separator:a52bd7f09c4decadcfbc0347fda4163d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4710797e0d0109a279359bfb8d4e2327"><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:a56c4ea73587a9ea20595cca9bcfe9593"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a56c4ea73587a9ea20595cca9bcfe9593">x_bias</a></td></tr>
-<tr class="separator:a56c4ea73587a9ea20595cca9bcfe9593"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a130457eaa905b467bc43fedb02cbb16a"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a130457eaa905b467bc43fedb02cbb16a">y_bias</a></td></tr>
-<tr class="separator:a130457eaa905b467bc43fedb02cbb16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e265324293107afbfa9e587941a4036"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a6e265324293107afbfa9e587941a4036">z_bias</a></td></tr>
-<tr class="separator:a6e265324293107afbfa9e587941a4036"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4710797e0d0109a279359bfb8d4e2327"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a4710797e0d0109a279359bfb8d4e2327"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac376d6a49d888be08124578ee9b9fc15"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:ac376d6a49d888be08124578ee9b9fc15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a7b163a0b99971787ece3a65e6000fdf2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... } </td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac376d6a49d888be08124578ee9b9fc15"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... } </td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a52bd7f09c4decadcfbc0347fda4163d6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float bias[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9c22454e765672782b7198d57a92f5fd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float uncalib[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a56c4ea73587a9ea20595cca9bcfe9593"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float x_bias</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac8b7f8daea042eaa2b86f0bf2160c44a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float x_uncalib</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a130457eaa905b467bc43fedb02cbb16a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float y_bias</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a43437dd77e26c6b89ab1c91aeb63fd64"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float y_uncalib</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a6e265324293107afbfa9e587941a4036"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float z_bias</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae677be5f98570cc5a1fd7fddcd8a6841"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float z_uncalib</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_android_bitmap_info.jd b/docs/html/ndk/reference/struct_android_bitmap_info.jd
deleted file mode 100644
index f995b56..0000000
--- a/docs/html/ndk/reference/struct_android_bitmap_info.jd
+++ /dev/null
@@ -1,100 +0,0 @@
-page.title=AndroidBitmapInfo Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">AndroidBitmapInfo Struct Reference<div class="ingroups"><a class="el" href="group___bitmap.html">Bitmap</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;bitmap.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a325272ddd9a962f05deb905101d25cbd"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a325272ddd9a962f05deb905101d25cbd">width</a></td></tr>
-<tr class="separator:a325272ddd9a962f05deb905101d25cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ad4f820ce4e75cda0686fcaad5168be"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a6ad4f820ce4e75cda0686fcaad5168be">height</a></td></tr>
-<tr class="separator:a6ad4f820ce4e75cda0686fcaad5168be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a981556a4e63b7b6d9f94975c7a8930ab"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a981556a4e63b7b6d9f94975c7a8930ab">stride</a></td></tr>
-<tr class="separator:a981556a4e63b7b6d9f94975c7a8930ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a49d503b84d084937e3ceeda9f0b4659e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a49d503b84d084937e3ceeda9f0b4659e">format</a></td></tr>
-<tr class="separator:a49d503b84d084937e3ceeda9f0b4659e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a773b39d480759f67926cb18ae2219281"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a773b39d480759f67926cb18ae2219281">flags</a></td></tr>
-<tr class="separator:a773b39d480759f67926cb18ae2219281"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Bitmap info, see <a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">AndroidBitmap_getInfo()</a>. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a773b39d480759f67926cb18ae2219281"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t flags</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Unused. </p>
-
-</div>
-</div>
-<a class="anchor" id="a49d503b84d084937e3ceeda9f0b4659e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t format</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The bitmap pixel format. See <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a> </p>
-
-</div>
-</div>
-<a class="anchor" id="a6ad4f820ce4e75cda0686fcaad5168be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t height</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The bitmap height in pixels. </p>
-
-</div>
-</div>
-<a class="anchor" id="a981556a4e63b7b6d9f94975c7a8930ab"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t stride</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The number of byte per row. </p>
-
-</div>
-</div>
-<a class="anchor" id="a325272ddd9a962f05deb905101d25cbd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t width</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The bitmap width in pixels. </p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="bitmap_8h.html">bitmap.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/sync_off.png b/docs/html/ndk/reference/sync_off.png
deleted file mode 100644
index b856624..0000000
--- a/docs/html/ndk/reference/sync_off.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/sync_on.png b/docs/html/ndk/reference/sync_on.png
deleted file mode 100644
index e5044af..0000000
--- a/docs/html/ndk/reference/sync_on.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tab_a.png b/docs/html/ndk/reference/tab_a.png
deleted file mode 100644
index 170a784..0000000
--- a/docs/html/ndk/reference/tab_a.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tab_b.png b/docs/html/ndk/reference/tab_b.png
deleted file mode 100644
index 7774499..0000000
--- a/docs/html/ndk/reference/tab_b.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tab_h.png b/docs/html/ndk/reference/tab_h.png
deleted file mode 100644
index e1dddef..0000000
--- a/docs/html/ndk/reference/tab_h.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tab_s.png b/docs/html/ndk/reference/tab_s.png
deleted file mode 100644
index 3dc07b0..0000000
--- a/docs/html/ndk/reference/tab_s.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tabs.css b/docs/html/ndk/reference/tabs.css
deleted file mode 100644
index 71145bb..0000000
--- a/docs/html/ndk/reference/tabs.css
+++ /dev/null
@@ -1,60 +0,0 @@
-.tabs, .tabs2, .tabs3 {
-    background-image: url('tab_b.png');
-    width: 100%;
-    z-index: 101;
-    font-size: 13px;
-    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-}
-
-.tabs2 {
-    font-size: 10px;
-}
-.tabs3 {
-    font-size: 9px;
-}
-
-.tablist {
-    margin: 0;
-    padding: 0;
-    display: table;
-}
-
-.tablist li {
-    float: left;
-    display: table-cell;
-    background-image: url('tab_b.png');
-    line-height: 36px;
-    list-style: none;
-}
-
-.tablist a {
-    display: block;
-    padding: 0 20px;
-    font-weight: bold;
-    background-image:url('tab_s.png');
-    background-repeat:no-repeat;
-    background-position:right;
-    color: #434343;
-    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-    text-decoration: none;
-    outline: none;
-}
-
-.tabs3 .tablist a {
-    padding: 0 10px;
-}
-
-.tablist a:hover {
-    background-image: url('tab_h.png');
-    background-repeat:repeat-x;
-    color: #fff;
-    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-    text-decoration: none;
-}
-
-.tablist li.current a {
-    background-image: url('tab_a.png');
-    background-repeat:repeat-x;
-    color: #fff;
-    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-}
diff --git a/docs/html/ndk/reference/window_8h.jd b/docs/html/ndk/reference/window_8h.jd
deleted file mode 100644
index 39e01dc..0000000
--- a/docs/html/ndk/reference/window_8h.jd
+++ /dev/null
@@ -1,53 +0,0 @@
-page.title=window.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#enum-members">Enumerations</a>  </div>
-  <div class="headertitle">
-<div class="title">window.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</a> = 0x00000001, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">AWINDOW_FLAG_DIM_BEHIND</a> = 0x00000002, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">AWINDOW_FLAG_BLUR_BEHIND</a> = 0x00000004, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> = 0x00000008, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">AWINDOW_FLAG_NOT_TOUCHABLE</a> = 0x00000010, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a> = 0x00000020, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</a> = 0x00000040, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> = 0x00000080, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">AWINDOW_FLAG_LAYOUT_IN_SCREEN</a> = 0x00000100, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">AWINDOW_FLAG_LAYOUT_NO_LIMITS</a> = 0x00000200, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">AWINDOW_FLAG_FULLSCREEN</a> = 0x00000400, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">AWINDOW_FLAG_FORCE_NOT_FULLSCREEN</a> = 0x00000800, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">AWINDOW_FLAG_DITHER</a> = 0x00001000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">AWINDOW_FLAG_SECURE</a> = 0x00002000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">AWINDOW_FLAG_SCALED</a> = 0x00004000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">AWINDOW_FLAG_IGNORE_CHEEK_PRESSES</a> = 0x00008000, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">AWINDOW_FLAG_LAYOUT_INSET_DECOR</a> = 0x00010000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">AWINDOW_FLAG_ALT_FOCUSABLE_IM</a> = 0x00020000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH</a> = 0x00040000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> = 0x00080000, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">AWINDOW_FLAG_SHOW_WALLPAPER</a> = 0x00100000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">AWINDOW_FLAG_TURN_SCREEN_ON</a> = 0x00200000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">AWINDOW_FLAG_DISMISS_KEYGUARD</a> = 0x00400000
-<br/>
- }</td></tr>
-<tr class="separator:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/samples/_book.yaml b/docs/html/ndk/samples/_book.yaml
deleted file mode 100644
index 3665f5a..0000000
--- a/docs/html/ndk/samples/_book.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-toc:
-- title: Overview
-  path: /ndk/samples/index.html
-
-- title: Walkthroughs
-  path: /ndk/samples/walkthroughs.html
-  section:
-  - title: hello-jni
-    path: /ndk/samples/sample_hellojni.html
-  - title: native-activity
-    path: /ndk/samples/sample_na.html
-  - title: Teapot
-    path: /ndk/samples/sample_teapot.html
diff --git a/docs/html/ndk/samples/index.jd b/docs/html/ndk/samples/index.jd
deleted file mode 100644
index d2e6dc3..0000000
--- a/docs/html/ndk/samples/index.jd
+++ /dev/null
@@ -1,33 +0,0 @@
-page.title=Samples: Overview
-@jd:body
-
-<p>Welcome to the NDK samples area. Here, you can download a variety of sample
-apps to help deepen your understanding the NDK.
-
-
-<p>From this page, you can download samples that provide a look at the NDK in action. A few of the
-topics covered are:</p>
-
-<ul>
-   <li>Managing your native app's activity lifecycle.</li>
-   <li>Using native OpenGL on an Android device.</li>
-   <li>Implementing native audio.</li>
-   <li>Exporting modules.</li>
-</ul>
-
-<p class="note"><strong>Note: </strong>These samples are also contained in the NDK installation
-package; if you have already downloaded the NDK, you have them. They reside in
-{@code $NDK/samples/}, where {@code $NDK} is the NDK installation root.</p>
-
- <div id="sdk-terms-form">
-      <p><a href="https://github.com/googlesamples/android-ndk/tree/android-mk" class="button">
-      Browse NDK samples</a></p>
- </div>
-
-<p>Vulkan samples are located separately from those for the rest of the NDK. To explore them,
-access the link below.</p>
-
- <div id="Vulkan-terms-form">
-      <p><a href="https://github.com/LunarG/VulkanSamples" class="button">
-      Browse Vulkan samples</a></p>
- </div>
\ No newline at end of file
diff --git a/docs/html/ndk/samples/sample_hellojni.jd b/docs/html/ndk/samples/sample_hellojni.jd
deleted file mode 100644
index fa61b28..0000000
--- a/docs/html/ndk/samples/sample_hellojni.jd
+++ /dev/null
@@ -1,123 +0,0 @@
-page.title=Sample: hello-jni
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#an">Android.mk</a></li>
-        <li><a href="#ap">Application.mk</a></li>
-        <li><a href="#ji">Java-side Implementation</a></li>
-        <li><a href="#ci">C-side Implementation</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>This sample guides you through HelloJNI, a minimal
-application built with the NDK. This sample is in the {@code samples/hello-jni/} directory
-under the root directory of your NDK installation.</p> 
-
-<h2 id="an">Android.mk</h2>
-
-<p>The following two lines provide the name of the native source file, along
-with the name of the shared library to build. The full name of the built
-library is {@code libhello-jni.so}, once the build system adds the
-{@code lib} prefix and the {@code .so} extension.</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := hello-jni.c
-LOCAL_MODULE    := hello-jni
-</pre>
-
-<p>For more information about what the {@code Android.mk} file does, and how to use it, see
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.</p>
-
-<h2 id="ap">Application.mk</h2>
-<p>This line tells the build system the CPU and architecture against which to build. In this
-example, the build system builds for all supported architectures.</p>
-
-<pre class="no-pretty-print">
-APP_ABI := all
-</pre>
-
-<p>For more information about the {@code Application.mk} file, and how to use it, see
-<a href="{@docRoot}ndk/guides/application_mk.html">Application.mk</a>.</p>
-
-<h2 id="ji">Java-side Implementation</h2>
-<p>The {@code helloJNI.java} file is located in {@code hellojni/src/com/example/hellojni/}. It calls
-a function to retrieve a string from the native side, then displays it on the screen.</p>
-
-<p>The source code contains three lines of particular interest to the NDK user.
-They are presented here in the order in which they are used, rather than by
-line order.</p>
-
-<p>This function call loads the {@code .so} file upon application startup.</p>
-
-<pre class="no-pretty-print">
-System.loadLibrary("hello-jni");
-</pre>
-
-<p>The {@code native} keyword in this method declaration tells the
-virtual machine that the function is in the shared library (that is, implemented on the native
-side).</p>
-
-<pre class="no-pretty-print">
-public native String stringFromJNI();
-</pre>
-
-<p>The Android framework calls the function loaded and declared in the
-previous steps, displaying the string on the screen.</p>
-
-<pre class="no-pretty-print">
-tv.setText( stringFromJNI() );
-</pre>
-
-<h2 id="ci">C-side Implementation</h2>
-<p>The {@code hello-jni.c} file is located in {@code hello-jni/jni/}. It contains a function that
-returns a string that <a href="#ji">the Java side requested</a>). The function declaration is as
-follows:</p>
-
-<pre>
-jstring
-Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
-                                                  jobject thiz )
-</pre>
-
-<p>This declaration corresponds to the native function declared in the
-Java source code. The return type, {@code jstring}, is a data type defined
-in the
-<a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html">Java Native
-Interface Specification</a>. It is not actually a string, but a
-pointer to a Java string.</p>
-
-<p>After {@code jstring} comes the function name, which is based on the
-Java function name and and the path to the file containing it. Construct it
-according to the following rules:</p>
-
-<ul>
-<li>Prepend {@code Java_} to it.</li>
-<li>Describe the filepath relative to the top-level source directory.</li>
-<li>Use underscores in place of forward slashes.</li>
-<li>Omit the {@code .java} file extension.</li>
-<li>After the last underscore, append the function name.</li>
-</ul>
-
-<p>Following these rules, this example uses the function name
-{@code Java_com_example_hellojni_HelloJni_stringFromJNI}. This name refers to a Java
-function called {@code stringFromJNI()}, which resides in
-{@code hellojni/src/com/example/hellojni/HelloJni.java}.</p>
-
-<p>{@code JNIEnv*} is the pointer to the VM, and
-{@code jobject} is a pointer to the implicit {@code this} object passed from
-the Java side.</p>
-
-<p>The following line calls the VM API {@code (*env)}, and passes it a return value:
-that is, the string that the function on the Java side had requested.</p>
-
-<pre class="no-pretty-print">
-return (*env)-&gt;NewStringUTF(env, "Hello from JNI !
-Compiled with ABI " ABI ".");
-</pre>
diff --git a/docs/html/ndk/samples/sample_na.jd b/docs/html/ndk/samples/sample_na.jd
deleted file mode 100644
index 0966dd8..0000000
--- a/docs/html/ndk/samples/sample_na.jd
+++ /dev/null
@@ -1,259 +0,0 @@
-page.title=Sample: native-activity
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#am">AndroidManifest.xml</a></li>
-        <li><a href="#anm">Android.mk</a></li>
-        <li><a href="#apm">Application.mk</a></li>
-        <li><a href="#mac">main.c</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The native-activity sample resides under the NDK installation root, in
-{@code samples/native-activity}. It is a very simple example of a purely native
-application, with no Java source code. In the absence of any Java source, the
-Java compiler still creates an executable stub for the virtual machine to run.
-The stub serves as a wrapper for the actual, native program, which is located in the {@code .so}
-file.</p>
-
-<p>The app itself simply renders a color onto the entire screen, and 
-then changes the color partly in response to movement that it detects.</p>
-
-<h2 id="am">AndroidManifest.xml</h2>
-
-<p>An app with only native code must not specify an Android API level lower than 9, which introduced
-the <a href="{@docRoot}ndk/guides/concepts.html#naa">{@code NativeActivity}</a> framework class.</p>
-
-<pre class="no-pretty-print">
-&lt;uses-sdk android:minSdkVersion="9" /&gt;
-</pre>
-
-<p>The following line declares {@code android:hasCode} as {@code false}, as this app has only
-native code&ndash;no Java.
-</p>
-
-<pre class="no-pretty-print">
-&lt;application android:label="@string/app_name"
-android:hasCode="false"&gt;
-</pre>
-
-<p>The next line declares the {@code NativeActivity} class.</p>
-
-<pre class="no-pretty-print">
-&lt;activity android:name="android.app.NativeActivity"
-</pre>
-
-<p>Finally, the manifest specifies {@code android:value} as the name of the shared library to be
-built, minus the initial {@code lib} and the {@code .so} extension. This value must be the same as
-the name of {@code LOCAL_MODULE} in {@code Android.mk}.</p>
-
-<pre class="no-pretty-print">
-&lt;meta-data android:name="android.app.lib_name"
-        android:value="native-activity" /&gt;
-</pre>
-
-<h2 id="anm">Android.mk</h2>
-<p>This file begins by providing the name of the shared library to generate.</p>
-
-<pre class="no-pretty-print">
-LOCAL_MODULE    := native-activity
-</pre>
-
-<p>Next, it declares the name of the native source-code file.</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := main.c
-</pre>
-
-<p>Next, it lists the external libraries for the build system to use in building the binary. The
-{@code -l} (link-against) option precedes each library name.</p>
-
-<ul>
-<li>{@code log} is a logging library.</li>
-<li>{@code android} encompasses the standard Android support APIs for NDK. For more information about
-the APIs that Android and the NDK support, see  <a href="stable_apis.html">Android NDK Native
-APIs</a>.</li>
-<li>{@code EGL} corresponds to the platform-specific portion of the graphics API.</li>
-<li>{@code GLESv1_CM} corresponds to OpenGL ES, the version of OpenGL for Android. This library
-depends on EGL.</li>
-</ul>
-
-<p>For each library:</p>
-
-<ul>
-<li>The actual file name starts with {@code lib}, and ends with the
-{@code .so} extension. For example, the actual file name for the
-{@code log} library is {@code liblog.so}.</li>
-<li>The library resides in the following directory, NDK root:
-{@code <ndk>/platforms/android-<sdk_version>/arch-<abi>/usr/lib/}.</li>
-</ul>
-
-<pre class="no-pretty-print">
-LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv1_CM
-</pre>
-
-<p>The next line provides the name of the static library, {@code android_native_app_glue}, which the
-application uses to manage {@code NativeActivity} lifecycle events and touch input.</p>
-
-<pre class="no-pretty-print">
-LOCAL_STATIC_LIBRARIES := android_native_app_glue
-</pre>
-
-<p>The final line tells the build system to build this static library.
-The {@code ndk-build} script places the built library
-({@code libandroid_native_app_glue.a}) into the {@code obj} directory
-generated during the build process. For more information about the {@code android_native_app_glue}
-library, see its {@code android_native_app_glue.h} header and corresponding {@code .c}source file.
-</p>
-
-
-<pre class="no-pretty-print">
-$(call import-module,android/native_app_glue)
-</pre>
-
-<p>For more information about the {@code Android.mk} file, see
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.</p>
-
-
-<h2 id="apm">Application.mk</h2>
-
-<p>This line defines the minimum level of Android API Level support.</p>
-
-<pre class="no-pretty-print">
-APP_PLATFORM := android-10
-</pre>
-
-<p>Because there is no ABI definition, the build system defaults to building only for
-{@code armeabi}.</p>
-
-<h2 id="mac">main.c</h2>
-<p>This file essentially contains the entire progam.</p>
-
-<p>The following includes correspond to the libraries, both shared and static,
-enumerated in {@code Android.mk}.</p>
-
-<pre class="no-pretty-print">
-#include &lt;EGL/egl.h&gt;
-#include &lt;GLES/gl.h&gt;
-
-
-#include &lt;android/sensor.h&gt;
-#include &lt;android/log.h&gt;
-#include &lt;android_native_app_glue&gt;
-</pre>
-
-<p>The {@code android_native_app_glue} library calls the following function,
-passing it a predefined state structure. It also serves as a wrapper that
-simplifies handling of {@code NativeActivity} callbacks.</p>
-
-<pre class="no-pretty-print">
-void android_main(struct android_app* state) {
-</pre>
-
-<p>Next, the program handles events queued by the glue library. The event
-handler follows the state structure.</p>
-
-<pre class="no-pretty-print">
-struct engine engine;
-
-
-
-// Suppress link-time optimization that removes unreferenced code
-// to make sure glue isn't stripped.
-app_dummy();
-
-
-memset(&amp;engine, 0, sizeof(engine));
-state-&gt;userData = &amp;engine;
-state-&gt;onAppCmd = engine_handle_cmd;
-state-&gt;onInputEvent = engine_handle_input;
-engine.app = state;
-</pre>
-
-<p>The application prepares to start monitoring the sensors, using the
-APIs in {@code sensor.h}.</p>
-
-<pre class="no-pretty-print">
-    engine.sensorManager = ASensorManager_getInstance();
-    engine.accelerometerSensor =
-                    ASensorManager_getDefaultSensor(engine.sensorManager,
-                        ASENSOR_TYPE_ACCELEROMETER);
-    engine.sensorEventQueue =
-                    ASensorManager_createEventQueue(engine.sensorManager,
-                        state-&gt;looper, LOOPER_ID_USER, NULL, NULL);
-</pre>
-
-<p>Next, a loop begins, in which the application polls the system for
-messages (sensor events). It sends messages to
-{@code android_native_app_glue}, which checks to see whether they match
-any {@code onAppCmd} events defined in {@code android_main}. When a
-match occurs, the message is sent to the handler for execution.</p>
-
-<pre class="no-pretty-print">
-while (1) {
-        // Read all pending events.
-        int ident;
-        int events;
-        struct android_poll_source* source;
-
-
-        // If not animating, we will block forever waiting for events.
-        // If animating, we loop until all events are read, then continue
-        // to draw the next frame of animation.
-        while ((ident=ALooper_pollAll(engine.animating ? 0 : -1, NULL,
-                &amp;events,
-                (void**)&amp;source)) &gt;= 0) {
-
-
-            // Process this event.
-            if (source != NULL) {
-                source-&gt;process(state, source);
-            }
-
-
-            // If a sensor has data, process it now.
-            if (ident == LOOPER_ID_USER) {
-                if (engine.accelerometerSensor != NULL) {
-                    ASensorEvent event;
-                    while (ASensorEventQueue_getEvents(engine.sensorEventQueue,
-                            &amp;event, 1) &gt; 0) {
-                        LOGI("accelerometer: x=%f y=%f z=%f",
-                                event.acceleration.x, event.acceleration.y,
-                                event.acceleration.z);
-                    }
-                }
-            }
-
-
-        // Check if we are exiting.
-        if (state-&gt;destroyRequested != 0) {
-            engine_term_display(&amp;engine);
-            return;
-        }
-    }
-</pre>
-
-<p>Once the queue is empty, and the program exits the polling loop, the
-program calls OpenGL to draw the screen.</p>
-<pre class="no-pretty-print">
-    if (engine.animating) {
-        // Done with events; draw next animation frame.
-        engine.state.angle += .01f;
-        if (engine.state.angle &gt; 1) {
-            engine.state.angle = 0;
-        }
-
-
-        // Drawing is throttled to the screen update rate, so there
-        // is no need to do timing here.
-        engine_draw_frame(&amp;engine);
-    }
-}
-</pre>
diff --git a/docs/html/ndk/samples/sample_teapot.jd b/docs/html/ndk/samples/sample_teapot.jd
deleted file mode 100644
index 97708a7..0000000
--- a/docs/html/ndk/samples/sample_teapot.jd
+++ /dev/null
@@ -1,360 +0,0 @@
-page.title=Sample: Teapot
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#am">AndroidManifest.xml</a></li>
-        <li><a href="#ap">Application.mk</a></li>
-        <li><a href="#ji">Java-side Implementation</a></li>
-        <li><a href="#ni">Native-side Implementation</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The Teapot sample is located under in the {@code samples/Teapot/} directory, under the NDK
-installation's root directory. This sample uses the OpenGL library to render the iconic
-<a href="http://math.hws.edu/bridgeman/courses/324/s06/doc/opengl.html#basic">Utah
-teapot</a>. In particular, it showcases the {@code ndk_helper} helper class,
-a collection of native helper functions required for implementing games and 
-similar applications as native applications. This class provides:</p>
-
-<ul>
-<li>An abstraction layer, {@code GLContext}, that handles certain NDK-specific behaviors.</li>
-<li>Helper functions that are useful but not present in the NDK, such as tap detection.</li>
-<li>Wrappers for JNI calls for platform features such as texture loading.</li>
-</ul>
-
-<h2 id="am">AndroidManifest.xml</h2>
-<p>The activity declaration here is not {@link android.app.NativeActivity} itself, but
-a subclass of it: {@code TeapotNativeActivity}.</p>
-
-<pre class="no-pretty-print">
-    &lt;activity android:name="com.sample.teapot.TeapotNativeActivity"
-            android:label="@string/app_name"
-            android:configChanges="orientation|keyboardHidden"&gt;
-</pre>
-
-<p>Ultimately, the name of the shared-object file that the build system builds is
-{@code libTeapotNativeActivity.so}. The build system adds the {@code lib} prefix and the {@code .so}
-extension; neither is part of the value that the manifest originally assigns to
-{@code android:value}.</p>
-
-<pre class="no-pretty-print">
-        &lt;meta-data android:name="android.app.lib_name"
-                android:value="TeapotNativeActivity" /&gt;
-</pre>
-
-<h2 id="ap">Application.mk</h2>
-<p>An app that uses the {@link android.app.NativeActivity} framework class must not specify an
-Android API level lower than 9, which introduced that class. For more information about the
-{@link android.app.NativeActivity} class, see
-<a href="{@docRoot}ndk/guides/concepts.html#naa">Native Activities and Applications</a>.
-</p>
-
-<pre class="no-pretty-print">
-APP_PLATFORM := android-9
-</pre>
-
-<p>The next line tells the build system to build for all supported architectures.</p>
-<pre class="no-pretty-print">
-APP_ABI := all
-</pre>
-
-<p>Next, the file tells the build system which
-<a href="{@docRoot}ndk/guides/cpp-support.html">C++ runtime support library</a> to use. </p>
-
-<pre class="no-pretty-print">
-APP_STL := stlport_static
-</pre>
-
-<h2 id="ji">Java-side Implementation</h2>
-<p>The {@code TeapotNativeActivity.java} file is located in
-{@code samples/Teapot/src/com/sample/teapot}, under the NDK installation root directory. It handles
-activity lifecycle events, and also enables the app to display text on the screen. The following
-block of code is most important from the perspective of the native-side implementation: The native
-code calls it to display a popup window for displaying text.</p>
-
-<pre class="no-pretty-print">
-
-void setImmersiveSticky() {
-    View decorView = getWindow().getDecorView();
-    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
-            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
-            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
-            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
-}
-</pre>
-
-<h2 id="ni">Native-side Implementation</h2>
-
-<p>This section explores the part of the Teapot app implemented in C++.</p>
-
-<h3>TeapotRenderer.h</h3>
-
-<p>These function calls perform the actual rendering of the teapot. It uses
-{@code ndk_helper} for matrix calculation and to reposition the camera
-based on where the user taps.</p>
-
-<pre class="no-pretty-print">
-ndk_helper::Mat4 mat_projection_;
-ndk_helper::Mat4 mat_view_;
-ndk_helper::Mat4 mat_model_;
-
-
-ndk_helper::TapCamera* camera_;
-</pre>
-
-<h3>TeapotNativeActivity.cpp</h3>
-
-<p>The following lines include {@code ndk_helper} in the native source file, and define the
-helper-class name.</p>
-
-<pre class="no-pretty-print">
-
-#include "NDKHelper.h"
-
-//-------------------------------------------------------------------------
-//Preprocessor
-//-------------------------------------------------------------------------
-#define HELPER_CLASS_NAME "com/sample/helper/NDKHelper" //Class name of helper
-function
-</pre>
-
-<p>The first use of the {@code ndk_helper} class is to handle the
-EGL-related lifecycle, associating EGL context states (created/lost) with
-Android lifecycle events. The {@code ndk_helper} class enables the application to preserve context
-information so that the system can restore a destroyed activity. This ability is useful, for
-example, when the target machine is rotated (causing an activity to be
-destroyed, then immediately restored in the new orientation), or when the lock
-screen appears.</p>
-
-<pre class="no-pretty-print">
-ndk_helper::GLContext* gl_context_; // handles EGL-related lifecycle.
-</pre>
-
-<p>Next, {@code ndk_helper} provides touch control.</p>
-
-<pre class="no-pretty-print">
-ndk_helper::DoubletapDetector doubletap_detector_;
-ndk_helper::PinchDetector pinch_detector_;
-ndk_helper::DragDetector drag_detector_;
-ndk_helper::PerfMonitor monitor_;
-</pre>
-
-<p>It also provides camera control (openGL view frustum).</p>
-
-<pre class="no-pretty-print">
-ndk_helper::TapCamera tap_camera_;
-</pre>
-
-<p>The app then prepares to use the device's sensors, using the native APIs provided in the NDK.</p>
-
-<pre class="no-pretty-print">
-ASensorManager* sensor_manager_;
-const ASensor* accelerometer_sensor_;
-ASensorEventQueue* sensor_event_queue_;
-</pre>
-
-<p>The app calls the following functions in response to various Android
-lifecycle events and EGL context state changes, using various functionalities
-provided by {@code ndk_helper} via the {@code Engine} class.</p>
-
-<pre class="no-pretty-print">
-
-void LoadResources();
-void UnloadResources();
-void DrawFrame();
-void TermDisplay();
-void TrimMemory();
-bool IsReady();
-</pre>
-
-<p>Then, the following function calls back to the Java side to update the UI display.</p>
-
-<pre class="no-pretty-print">
-void Engine::ShowUI()
-{
-    JNIEnv *jni;
-    app_-&gt;activity-&gt;vm-&gt;AttachCurrentThread( &amp;jni, NULL );
-
-
-    //Default class retrieval
-    jclass clazz = jni-&gt;GetObjectClass( app_-&gt;activity-&gt;clazz );
-    jmethodID methodID = jni-&gt;GetMethodID( clazz, "showUI", "()V" );
-    jni-&gt;CallVoidMethod( app_-&gt;activity-&gt;clazz, methodID );
-
-
-    app_-&gt;activity-&gt;vm-&gt;DetachCurrentThread();
-    return;
-}
-</pre>
-
-<p>Next, this function calls back to the Java side to draw a text box
-superimposed on the screen rendered on the native side, and showing frame
-count.</p>
-
-<pre class="no-pretty-print">
-void Engine::UpdateFPS( float fFPS )
-{
-    JNIEnv *jni;
-    app_-&gt;activity-&gt;vm-&gt;AttachCurrentThread( &amp;jni, NULL );
-
-
-    //Default class retrieval
-    jclass clazz = jni-&gt;GetObjectClass( app_-&gt;activity-&gt;clazz );
-    jmethodID methodID = jni-&gt;GetMethodID( clazz, "updateFPS", "(F)V" );
-    jni-&gt;CallVoidMethod( app_-&gt;activity-&gt;clazz, methodID, fFPS );
-
-
-    app_-&gt;activity-&gt;vm-&gt;DetachCurrentThread();
-    return;
-}
-</pre>
-
-<p>The application gets the system clock and supplies it to the renderer
-for time-based animation based on real-time clock. This information is used, for example, in
-calculating momentum, where speed declines as a function of time.</p>
-
-<pre class="no-pretty-print">
-renderer_.Update( monitor_.GetCurrentTime() );
-</pre>
-
-<p>The application now checks whether the context information that {@code GLcontext} holds is still
-valid. If not, {@code ndk-helper} swaps the buffer, reinstantiating the GL context.</p>
-
-<pre class="no-pretty-print">
-if( EGL_SUCCESS != gl_context_-&gt;Swap() )  // swaps
-buffer.
-</pre>
-
-<p>The program passes touch-motion events to the gesture detector defined
-in the {@code ndk_helper} class. The gesture detector tracks multitouch
-gestures, such as pinch-and-drag, and sends a notification when triggered by
-any of these events.</p>
-
-<pre class="no-pretty-print">
-    if( AInputEvent_getType( event ) == AINPUT_EVENT_TYPE_MOTION )
-    {
-        ndk_helper::GESTURE_STATE doubleTapState =
-            eng->doubletap_detector_.Detect( event );
-        ndk_helper::GESTURE_STATE dragState = eng->drag_detector_.Detect( event );
-        ndk_helper::GESTURE_STATE pinchState = eng->pinch_detector_.Detect( event );
-
-        //Double tap detector has a priority over other detectors
-        if( doubleTapState == ndk_helper::GESTURE_STATE_ACTION )
-        {
-            //Detect double tap
-            eng->tap_camera_.Reset( true );
-        }
-        else
-        {
-            //Handle drag state
-            if( dragState & ndk_helper::GESTURE_STATE_START )
-            {
-                //Otherwise, start dragging
-                ndk_helper::Vec2 v;
-                eng->drag_detector_.GetPointer( v );
-                eng->TransformPosition( v );
-                eng->tap_camera_.BeginDrag( v );
-            }
-           // ...else other possible drag states...
-
-            //Handle pinch state
-            if( pinchState & ndk_helper::GESTURE_STATE_START )
-            {
-                //Start new pinch
-                ndk_helper::Vec2 v1;
-                ndk_helper::Vec2 v2;
-                eng->pinch_detector_.GetPointers( v1, v2 );
-                eng->TransformPosition( v1 );
-                eng->TransformPosition( v2 );
-                eng->tap_camera_.BeginPinch( v1, v2 );
-            }
-            // ...else other possible pinch states...
-        }
-        return 1;
-    }
-</pre>
-
-<p>The {@code ndk_helper} class also provides access to a vector-math library
-({@code vecmath.h}), using it here to transform touch coordinates.</p>
-
-<pre class="no-pretty-print">
-void Engine::TransformPosition( ndk_helper::Vec2& vec )
-{
-    vec = ndk_helper::Vec2( 2.0f, 2.0f ) * vec
-            / ndk_helper::Vec2( gl_context_->GetScreenWidth(),
-            gl_context_->GetScreenHeight() ) - ndk_helper::Vec2( 1.f, 1.f );
-}
-</pre>
-</ul>
-
-<p>The {@code HandleCmd()} method handles commands posted from the
-android_native_app_glue library. For more information about what the messages
-mean, refer to the comments in the {@code android_native_app_glue.h} and
-{@code .c} source files.</p>
-
-<pre class="no-pretty-print">
-void Engine::HandleCmd( struct android_app* app,
-        int32_t cmd )
-{
-    Engine* eng = (Engine*) app->userData;
-    switch( cmd )
-    {
-    case APP_CMD_SAVE_STATE:
-        break;
-    case APP_CMD_INIT_WINDOW:
-        // The window is being shown, get it ready.
-        if( app->window != NULL )
-        {
-            eng->InitDisplay();
-            eng->DrawFrame();
-        }
-        break;
-    case APP_CMD_TERM_WINDOW:
-        // The window is being hidden or closed, clean it up.
-        eng->TermDisplay();
-        eng->has_focus_ = false;
-        break;
-    case APP_CMD_STOP:
-        break;
-    case APP_CMD_GAINED_FOCUS:
-        eng->ResumeSensors();
-        //Start animation
-        eng->has_focus_ = true;
-        break;
-    case APP_CMD_LOST_FOCUS:
-        eng->SuspendSensors();
-        // Also stop animating.
-        eng->has_focus_ = false;
-        eng->DrawFrame();
-        break;
-    case APP_CMD_LOW_MEMORY:
-        //Free up GL resources
-        eng->TrimMemory();
-        break;
-    }
-}
-</pre>
-
-<p>The {@code ndk_helper} class posts {@code APP_CMD_INIT_WINDOW} when {@code android_app_glue}
-receives an {@code onNativeWindowCreated()} callback from the system.
-Applications can normally perform window initializations, such as EGL
-initialization. They do this outside of the activity lifecycle, since the
-activity is not yet ready.</p>
-
-<pre class="no-pretty-print">
-    //Init helper functions
-    ndk_helper::JNIHelper::Init( state->activity, HELPER_CLASS_NAME );
-
-    state->userData = &g_engine;
-    state->onAppCmd = Engine::HandleCmd;
-    state->onInputEvent = Engine::HandleInput;
-</pre>
diff --git a/docs/html/ndk/samples/samples_toc.cs b/docs/html/ndk/samples/samples_toc.cs
deleted file mode 100644
index 92266b1..0000000
--- a/docs/html/ndk/samples/samples_toc.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-<?cs # Table of contents for Dev Guide.
-
-       For each document available in translation, add an localized title to this TOC.
-       Do not add localized title for docs not available in translation.
-       Below are template spans for adding localized doc titles. Please ensure that
-       localized titles are added in the language order specified below.
-?>
-
-<ul id="nav">
-
-   <li class="nav-section">
-      <div class="nav-section-header empty"><a href="<?cs var:toroot ?>ndk/samples/index.html">
-      <span class="en">Overview</span></a></div>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>ndk/samples/walkthroughs.html">
-      <span class="en">Walkthroughs</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/samples/sample_hellojni.html">hello-jni</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/samples/sample_na.html">native-activity</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/samples/sample_teapot.html">Teapot</a></li>
-      </ul>
-   </li>
-</ul>
-
-
-<script type="text/javascript">
-<!--
-    buildToggleLists();
-    changeNavLang(getLangPref());
-//-->
-</script>
-
diff --git a/docs/html/ndk/samples/walkthroughs.jd b/docs/html/ndk/samples/walkthroughs.jd
deleted file mode 100644
index 88ceb56..0000000
--- a/docs/html/ndk/samples/walkthroughs.jd
+++ /dev/null
@@ -1,13 +0,0 @@
-page.title=Samples: Walkthroughs
-@jd:body
-
-<p>This section provides detailed walkthroughs of several key samples. The samples are as
-follows:</p>
-
-<li><a href="{@docRoot}ndk/samples/sample_hellojni.html">hello-jni</a>: A very basic app that
-illustrates core workings of the NDK.</li>
-<li><a href="{@docRoot}ndk/samples/sample_na.html">native-activity</a>: An app that shows the
-fundamentals of constructing a purely native app. It places particular emphasis on the
-{@code android_native_app_glue library}.</li>
-<li><a href="<a href="{@docRoot}ndk/samples/sample_teapot.html">Teapot</a>: A simple OpenGL demo,
-showcasing the <code>ndk_helper</code> class.</li>
diff --git a/docs/html/topic/performance/_book.yaml b/docs/html/topic/performance/_book.yaml
new file mode 100644
index 0000000..94cfc57
--- /dev/null
+++ b/docs/html/topic/performance/_book.yaml
@@ -0,0 +1,32 @@
+toc:
+- title: Reducing Network Battery Drain
+  path: /topic/performance/power/network/index.html
+  path_attributes:
+  - name: description
+    value: Access the network while going easy on battery life.
+  section:
+  - title: Collecting Network Traffic Data
+    path: /topic/performance/power/network/gather-data.html
+  - title: Analyzing Network Traffic Data
+    path: /topic/performance/power/network/analyze-data.html
+  - title: Optimizing User-Initiated Network Use
+    path: /topic/performance/power/network/action-user-traffic.html
+  - title: Optimizing Server-Initiated Network Use
+    path: /topic/performance/power/network/action-server-traffic.html
+  - title: Optimizing General Network Use
+    path: /topic/performance/power/network/action-any-traffic.html
+- title: Implementing Doze
+  path: /training/monitoring-device-state/doze-standby.html
+  path_attributes:
+  - name: description
+    value: Help ensure the device isn't depleting the battery when not in use.
+- title: Launch-Time Performance
+  path: /topic/performance/launch-time.html
+- title: Better Performance through Threading
+  path: /topic/performance/threads.html
+- title: Optimizing View Hierarchies
+  path: /topic/performance/optimizing-view-hierarchies.html
+- title: Intelligent Job-Scheduling
+  path: /topic/performance/scheduling.html
+- title: Reducing APK Size
+  path: /topic/performance/reduce-apk-size.html
diff --git a/docs/html/topic/performance/images/cold-launch.png b/docs/html/topic/performance/images/cold-launch.png
new file mode 100644
index 0000000..2935ece
--- /dev/null
+++ b/docs/html/topic/performance/images/cold-launch.png
Binary files differ
diff --git a/docs/html/topic/performance/images/displayed-logcat.png b/docs/html/topic/performance/images/displayed-logcat.png
new file mode 100644
index 0000000..7dee884
--- /dev/null
+++ b/docs/html/topic/performance/images/displayed-logcat.png
Binary files differ
diff --git a/docs/html/topic/performance/images/lint-display.png b/docs/html/topic/performance/images/lint-display.png
new file mode 100644
index 0000000..e360938
--- /dev/null
+++ b/docs/html/topic/performance/images/lint-display.png
Binary files differ
diff --git a/docs/html/topic/performance/images/lint-inspect-code.png b/docs/html/topic/performance/images/lint-inspect-code.png
new file mode 100644
index 0000000..41604a1
--- /dev/null
+++ b/docs/html/topic/performance/images/lint-inspect-code.png
Binary files differ
diff --git a/docs/html/topic/performance/index.jd b/docs/html/topic/performance/index.jd
new file mode 100644
index 0000000..08c610f
--- /dev/null
+++ b/docs/html/topic/performance/index.jd
@@ -0,0 +1,39 @@
+page.title=Performance
+page.article=true
+page.metaDescription=Android Performance does nice things. Details to come.
+
+meta.tags="performance"
+page.tags="performance"
+
+@jd:body
+
+<iframe width="448" height="252" src="//www.youtube.com/embed/qk5F6Bxqhr4?utm_source=dac&utm_medium=video&utm_content=andfuntrain&utm_campaign=udacint?rel=0&hd=1" frameborder="0" allowfullscreen style="float: right; margin: 0 0 20px 20px;"></iframe>
+
+<p>Implementing a cool idea is a great start toward an app that delights users,
+but it's just the beginning. The next step is maximizing your app's performance.
+For example, users want apps that:</p>
+
+<ul>
+   <li>Use power sparingly.</li>
+   <li>Start up quickly.</li>
+   <li>Respond quickly to user interaction.</li>
+</ul>
+
+<p>This section provides you with the know-how you need in order to make
+your apps not only cool, but also performant. Read on to discover how to
+develop apps that are power-thrifty, responsive, efficient, and well-behaved.</p>
+
+
+
+
+<section class="dac-section dac-small" id="latest-games"><div class="wrap">
+  <h2 class="norule" style="margin:0 0">More resources</h2>
+  <div class="resource-widget resource-flow-layout col-16"
+       data-query="collection:develop/performance/landing"
+       data-sortOrder="random"
+       data-cardSizes="6x6"
+       data-maxResults="24"
+       data-items-per-page="24"
+       data-initial-results="3"></div>
+  </div>
+</section>
diff --git a/docs/html/topic/performance/launch-time.jd b/docs/html/topic/performance/launch-time.jd
new file mode 100644
index 0000000..c9ce1d5
--- /dev/null
+++ b/docs/html/topic/performance/launch-time.jd
@@ -0,0 +1,565 @@
+page.title=Launch-Time Performance
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document</h2>
+<ol>
+<li><a href="#internals">Launch Internals</a>
+  <ol>
+    <li><a href="#cold">Cold start</a></li>
+    <li><a href="#warm">Warm start</a></li>
+    <li><a href="#lukewarm">Lukewarm start</a></li>
+  </ol>
+</li>
+<li><a href="#profiling">Profiling Launch Performance</a>
+  <ol>
+    <li><a href="#time-initial">Time to initial display</a></li>
+    <li><a href="#time-full">Time to full display</a></li>
+  </ol>
+</li>
+<li><a href="#common">Common Issues</a>
+   <ol>
+      <li><a href="#heavy-app">Heavy app initialization</a></li>
+      <li><a href="#heavy-act">Heavy activity initialization</a></li>
+      <li><a href="#themed">Themed launch screens</a></li>
+   </ol>
+      </li>
+</ol>
+</div>
+</div>
+
+<p>
+Users expect apps to be responsive and fast to load. An app with a slow startup
+time doesn’t meet this expectation, and can be disappointing to users. This
+sort of poor experience may cause a user to rate your app poorly on the Play
+store, or even abandon your app altogether.
+</p>
+
+<p>
+This document provides information to help you optimize your app’s launch time.
+It begins by explaining the internals of the launch process. Next, it discusses
+how to profile startup performance. Last, it describes some common startup-time
+issues, and gives some hints on how to address them.
+</p>
+
+<h2 id="internals">Launch Internals</h2>
+
+<p>
+App launch can take place in one of three states, each affecting how
+long it takes for your app to become visible to the user: cold start,
+warm start, and lukewarm start. In a cold start, your app starts from scratch.
+In the other states, the system needs to bring the app from the background to
+the foreground. We recommend that you always optimize based on an assumption of
+a cold start. Doing so can improve the performance of warm and lukewarm starts,
+as well.
+</p>
+
+<p>
+To optimize your app for fast startup, it’s useful to understand what’s
+happening at the system and app levels, and how they interact, in each of
+these states.
+</p>
+
+<h3 id="cold">Cold start</h3>
+
+<p>
+A cold start refers to an app’s starting from scratch: the system’s process
+has not, until this start, created the app’s process. Cold starts happen in
+cases such as your app’s being launched for the first time since the device
+booted, or since the system killed the app. This type of start presents the
+greatest challenge in terms of minimizing startup time, because the system
+and app have more work to do than in the other launch states.
+</p>
+
+<p>
+At the beginning of a cold start, the system has three tasks. These tasks are:
+</p>
+
+<ol style="1">
+   <li>Loading and launching the app.</li>
+   <li>Displaying a blank starting window for the app immediately after launch.
+   </li>
+   <li>Creating the app
+   <a href="{docRoot}guide/components/processes-and-threads.html#Processes">
+   process.</a></li>
+</ol>
+<br/>
+<p>
+As soon as the system creates the app process, the app process is responsible
+for the next stages. These stages are:
+</p>
+
+<ol style="1">
+   <li>Creating the app object.</li>
+   <li>Launching the main thread.</li>
+   <li>Creating the main activity.</li>
+   <li>Inflating views.</li>
+   <li>Laying out the screen.</li>
+   <li>Performing the initial draw.</li>
+</ol>
+
+<p>
+Once the app process has completed the first draw, the system process swaps
+out the currently displayed background window, replacing it with the main
+activity. At this point, the user can start using the app.
+</p>
+
+<p>
+Figure 1 shows how the system and app processes hand off work between each
+other.
+</p>
+<br/>
+
+  <img src="{@docRoot}performance/images/cold-launch.png">
+  <p class="img-caption">
+    <strong>Figure 1.</strong> A visual representation of the important parts of
+    a cold application launch.
+  </p>
+
+<p>
+Performance issues can arise during creation of the app and
+creation of the activity.
+</p>
+
+<h4 id="app-creation">Application creation</h4>
+
+<p>
+When your application launches, the blank starting window remains on the screen
+until the system finishes drawing the app for the first time. At that point,
+the system process swaps out the starting window for your app, allowing the
+user to start interacting with the app.
+</p>
+
+<p>
+If you’ve overloaded {@link android.app.Application#onCreate() Application.oncreate()}
+in your own app, the app starts by calling this
+method on your app object. Afterwards, the app spawns the main thread, also
+known as the UI thread, and tasks it with creating your main activity.
+</p>
+
+<p>
+From this point, system- and app-level processes proceed in accordance with
+the <a href="{docRoot}guide/topics/processes/process-lifecycle.html">
+app lifecycle stages</a>.
+</p>
+
+<h4 id="act-creation">Activity creation</h4>
+
+<p>
+After the app process creates your activity, the activity performs the
+following operations:
+</p>
+
+<ol style="1">
+   <li>Initializes values.</li>
+   <li>Calls constructors.</li>
+   <li>Calls the callback method, such as
+   {@link android.app.Activity#onCreate(android.os.Bundle) Activity.onCreate()},
+   appropriate to the current lifecycle state of the activity.</li>
+</ol>
+
+<p>
+Typically, the
+{@link android.app.Activity#onCreate(android.os.Bundle) onCreate()}
+method has the greatest impact on load time, because it performs the work with
+the highest overhead: loading and inflating views, and initializing the objects
+needed for the activity to run.
+</p>
+
+<h3 id="warm">Warm start</h3>
+
+<p>
+A warm start of your application is much simpler and lower-overhead than a
+cold start. In a warm start, all the system does is bring your activity to
+the foreground. If all of your application’s activities are still resident in
+memory, then the app can avoid having to repeat object initialization, layout
+inflation, and rendering.
+</p>
+
+<p>
+However, if some memory has been purged in response to memory trimming
+events, such as
+{@link android.content.ComponentCallbacks2#onTrimMemory(int) onTrimMemory()},
+then those objects will need to be recreated in
+response to the warm start event.
+</p>
+
+<p>
+A warm start displays the same on-screen behavior as a cold start scenario:
+The system process displays a blank screen until the app has finished rendering
+the activity.
+</p>
+
+<h3 id="lukewarm">Lukewarm start</h3>
+
+<p>
+A lukewarm start encompasses some subset of the operations that
+take place during a cold start; at the same time, it represents less overhead
+than a warm start. There are many potential states that could be considered
+lukewarm starts. For instance:
+</p>
+
+<ul>
+   <li>The user backs out of your app, but then re-launches it. The process may
+       have continued to run, but the app must recreate the activity from scratch
+       via a call to
+       {@link android.app.Activity#onCreate(android.os.Bundle) onCreate()}.</li>
+
+   <li>The system evicts your app from memory, and then the user re-launches it.
+       The process and the Activity need to be restarted, but the task can
+       benefit somewhat from the saved instance state bundle passed into
+       {@link android.app.Activity#onCreate(android.os.Bundle) onCreate()}.</li>
+</ul>
+
+<h2 id="profiling">Profiling Launch Performance</h2>
+
+<p>
+In order to properly diagnose start time performance, you can track metrics
+that show how long it takes your application to start.
+</p>
+
+<h3 id="time-initial">Time to initial display</h3>
+
+<p>
+From Android 4.4 (API level 19), logcat includes an output line containing
+a value called {@code Displayed}. This value represents
+the amount of time elapsed between launching the process and finishing drawing
+the corresponding activity on the screen. The elapsed time encompasses the
+following sequence of events:
+</p>
+
+<ol style="1">
+   <li>Launch the process.</li>
+   <li>Initialize the objects.</li>
+   <li>Create and initialize the activity.</li>
+   <li>Inflate the layout.</li>
+   <li>Draw your application for the first time.</li>
+</ol>
+
+<p>
+The reported log line looks similar to the following example:
+</p>
+
+<pre class="no-pretty-print">
+ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms
+</pre>
+
+<p>
+If you’re tracking logcat output from the command line, or in a terminal,
+finding the elapsed time is straightforward. To find elapsed time in
+Android Studio, you must disable filters in your logcat view. Disabling the
+filters is necessary because the system server, not the app itself, serves
+this log.
+</p>
+
+<p>
+Once you’ve made the appropriate settings, you can easily search for the
+correct term to see the time. Figure 2 shows how to disable filters, and,
+in the second line of output from the bottom, an example of logcat output of
+the {@code Displayed} time.
+</p>
+<br/>
+
+  <img src="{@docRoot}performance/images/displayed-logcat.png">
+  <p class="img-caption">
+    <strong>Figure 2.</strong> Disabling filters, and
+    finding the {@code Displayed} value in logcat.
+  </p>
+
+<p>
+The {@code Displayed} metric in the logcat output does not necessarily capture
+the amount of time until all resources are loaded and displayed: it leaves out
+resources that are not referenced in the layout file or that the app creates
+as part of object initialization. It excludes these resources because loading
+them is an inline process, and does not block the app’s initial display.
+</p>
+
+<h3 id="time-full">Time to full display</h3>
+
+<p>
+You can use the {@link android.app.Activity#reportFullyDrawn()} method to
+measure the elapsed time
+between application launch and complete display of all resources and view
+hierarchies. This can be valuable in cases where an app performs lazy loading.
+In lazy loading, an app does not block the initial drawing of the window, but
+instead asynchronously loads resources and updates the view hierarchy.
+</p>
+
+<p>
+If, due to lazy loading, an app’s initial display does not include all
+resources, you might consider the completed loading and display of all
+resources and views as a separate metric: For example, your UI might be
+fully loaded, with some text drawn, but not yet display images that the
+app must fetch from the network.
+</p>
+
+<p>
+To address this concern, you can manually call
+{@link android.app.Activity#reportFullyDrawn()}
+to let the system know that your activity is
+finished with its lazy loading. When you use this method, the value
+that logcat displays is the time elapsed
+since the creation of the application object, and the moment
+{@link android.app.Activity#reportFullyDrawn()} is called.
+</p>
+
+<p>
+If you learn that your display times are slower than you’d like, you can
+go on to try to identify the bottlenecks in the startup process.
+</p>
+
+<h4 id="bottlenecks">Identifying bottlenecks</h4>
+
+<p>
+Two good ways to look for bottlenecks are Android Studio’s Method Tracer tool
+and inline tracing. To learn about Method Tracer, see that tool’s
+<a href="{docRoot}studio/profile/am-methodtrace.html">documentation</a>.
+</p>
+
+<p>
+If you do not have access to the Method Tracer tool, or cannot start the tool
+at the correct time to gain log information, you can gain similar insight
+through inline tracing inside of your apps’ and activities’ {@code onCreate()}
+methods. To learn about inline tracing, see the reference documentation for
+the {@link android.os.Trace} functions, and for the
+<a href="{docRoot}studio/profile/systrace-commandline.html">Systrace</a> tool.
+</p>
+
+<h2 id="common">Common Issues</h2>
+
+<p>
+This section discusses several issues that often affect apps’ startup
+performance. These issues chiefly concern initializing app and activity
+objects, as well as the loading of screens.
+</p>
+
+<h3 id="heavy-app">Heavy app initialization</h3>
+
+<p>
+Launch performance can suffer when your code overrides the {@code Application}
+object, and executes heavy work or complex logic when initializing that object.
+Your app may waste time during startup if your Application subclasses perform
+initializations that don’t need to be done yet. Some initializations may be
+completely unnecessary: for example, initializing state information for the
+main activity, when the app has actually started up in response to an intent.
+With an intent, the app uses only a subset of the previously initialized state
+data.
+</p>
+
+<p>
+Other challenges during app initialization include garbage-collection events
+that are impactful or numerous, or disk I/O happening concurrently with
+initialization, further blocking the initialization process. Garbage collection
+is especially a consideration with the Dalvik runtime; the Art runtime performs
+garbage collection concurrently, minimizing that operation's impact.
+</p>
+
+<h4 id="diagnosing-1">Diagnosing the problem</h4>
+
+<p>
+You can use method tracing or inline tracing to try to diagnose the problem.
+</p>
+
+<h5>Method tracing</h5>
+
+<p>
+Running the Method Tracer tool reveals that the
+{@link android.app.Instrumentation#callApplicationOnCreate(android.app.Application) callApplicationOnCreate()}
+method eventually calls your {@code com.example.customApplication.onCreate}
+method. If the tool shows that these
+methods are taking a long time to finish executing, you should explore further
+to see what work is occurring there.
+</p>
+
+<h5>Inline tracing</h5>
+
+<p>
+Use inline tracing to investigate likely culprits including:
+</p>
+
+<ul>
+   <li>Your app’s initial {@link android.app.Application#onCreate()}
+   function.</li>
+   <li>Any global singleton objects your app initializes.</li>
+   <li>Any disk I/O, deserialization, or tight loops that might be occurring
+   during the bottleneck.
+</ul>
+
+
+<h4 id="solutions-1">Solutions to the problem</h4>
+
+<p>
+Whether the problem lies with unnecessary initializations or disk I/O,
+the solution calls for lazy-initializing objects: initializing only those
+objects that are immediately needed. For example, rather than creating global
+static objects, instead, move to a singleton pattern, where the app initalizes
+objects only the first time it accesses them.
+</p>
+
+<h3 id="heavy-act">Heavy activity initialization</h4>
+
+<p>
+Activity creation often entails a lot of high-overhead work. Often, there are
+opportunities to optimize this work to achieve performance improvements. Such
+common issues include:
+</p>
+
+<ul>
+   <li>Inflating large or complex layouts.</li>
+   <li>Blocking screen drawing on disk, or network I/O.</li>
+   <li>Loading and decoding bitmaps.</li>
+   <li>Rasterizing {@link android.graphics.drawable.VectorDrawable VectorDrawable} objects.</li>
+   <li>Initialization of other subsystems of the activity.</li>
+</ul>
+
+<h4 id="diagnosing-2">Diagnosing the problem</h4>
+
+<p>
+In this case, as well, both method tracing and inline tracing can prove useful.
+</p>
+
+<h5>Method tracing</h5>
+
+<p>
+When running the Method Tracer tool, the particular areas to
+focus on your your app’s {@link android.app.Application} subclass constructors and
+{@code com.example.customApplication.onCreate()} methods.
+</p>
+
+<p>
+If the tool shows that these methods are taking a long time to finish
+executing, you should explore further to see what work is occurring there.
+</p>
+
+<h5>Inline tracing</h5>
+
+<p>
+Use inline tracing to investigate likely culprits including:
+</p>
+
+<ul>
+   <li>Your app’s initial {@link android.app.Application#onCreate()}
+   function.</li>
+   <li>Any global singleton objects it initializes.</li>
+   <li>Any disk I/O, deserialization, or tight loops that might be occurring
+   during the bottleneck.</li>
+</ul>
+
+<h4 id="solutions-2">Solutions to the problem</h4>
+
+<p>
+There are many potential bottlenecks, but two common problems and remedies
+are as follows:
+</p>
+
+<ul>
+   <li>The larger your view hierarchy, the more time the app takes to inflate
+   it. Two steps you can take to address this issue are:
+
+   <ul>
+      <li>Flattening your view hierarchy by reducing redundant or nested
+      layouts.</li>
+
+      <li>Not inflating parts of the UI that do not need to be visible during
+      launch. Instead, use use a {@link android.view.ViewStub} object as a
+      placeholder for sub-hierarchies that the app can inflate at a more
+      appropriate time.</li>
+   </ul>
+   </li>
+
+   <li>Having all of your resource initialization on the main
+       thread can also slow down startup. You can address this issue as follows:
+
+   <ul>
+      <li>Move all resource initialization so that the app can perform it
+      lazily on a different thread.</li>
+      <li>Allow the app to load and display your views, and then later
+      update visual properties that are dependent on bitmaps and other
+      resources.</li>
+   </ul>
+   </li>
+
+<h3 id="themed">Themed launch screens</h3>
+
+
+<p>
+You may wish to theme your app’s loading experience, so that the app’s
+launch screen is thematically consistent with the rest of the app, instead of
+with the system theming. Doing so can hide a slow activity launch.
+</p>
+
+<p>
+A common way to implement a themed launch screen is to use the the
+{@link android.R.attr#windowDisablePreview} theme attribute to turn off
+the initial blank screen
+that the system process draws when launching the app. However, this approach
+can result in a longer startup time than apps that don’t suppress the preview
+window. Also, it forces the user to wait with no feedback while the activity
+launches, making them wonder if the app is functioning properly.
+</p>
+
+<h4 id="diagnosing-3">Diagnosing the problem</h4>
+
+<p>
+You can often diagnose this problem by observing a slow response when a user
+launches your app. In such a case, the screen may seem to be frozen, or to
+have stopped responding to input.
+</p>
+
+<h4 id="solutions-3">Solutions to the problem</h4>
+
+<p>
+We recommend that, rather than disabling the preview window, you
+follow the common
+<a href="http://www.google.com/design/spec/patterns/launch-screens.html#">
+Material Design</a> patterns. You can use the activity's
+{@code windowBackground} theme attribute to provide a simple custom drawable
+for the starting activity.
+</p>
+
+<p>
+For example, you might create a new drawable file and reference it from the
+layout XML and app manifest file as follows:
+</p>
+
+<p>Layout XML file:</p>
+
+<pre>
+&lt;layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque"&gt;
+  &lt;!-- The background color, preferably the same as your normal theme --&gt;
+  &lt;item android:drawable="@android:color/white"/&gt;
+  &lt;!-- Your product logo - 144dp color version of your app icon --&gt;
+  &lt;item&gt;
+    &lt;bitmap
+      android:src="@drawable/product_logo_144dp"
+      android:gravity="center"/&gt;
+  &lt;/item&gt;
+&lt;/layer-list&gt;
+</pre>
+
+<p>Manifest file:</p>
+
+<pre>
+&lt;activity ...
+android:theme="@style/AppTheme.Launcher" /&gt;
+</pre>
+
+<p>
+The easiest way to transition back to your normal theme is to call
+{@link android.view.ContextThemeWrapper#setTheme(int) setTheme(R.style.AppTheme)}
+before calling {@code super.onCreate()} and {@code setContentView()}:
+</p>
+
+<pre class="no-pretty-print">
+public class MyMainActivity extends AppCompatActivity {
+  &#64;Override
+  protected void onCreate(Bundle savedInstanceState) {
+    // Make sure this is before calling super.onCreate
+    setTheme(R.style.Theme_MyApp);
+    super.onCreate(savedInstanceState);
+    // ...
+  }
+}
+</pre>
diff --git a/docs/html/topic/performance/optimizing-view-hierarchies.jd b/docs/html/topic/performance/optimizing-view-hierarchies.jd
new file mode 100644
index 0000000..1738acb
--- /dev/null
+++ b/docs/html/topic/performance/optimizing-view-hierarchies.jd
@@ -0,0 +1,388 @@
+page.title=Performance and View Hierarchies
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document</h2>
+<ol>
+<li><a href="#lmp">Layout-and-Measure Performance</a>
+  <ol>
+    <li><a href="#managing">Managing complexity: layouts matter</a></li>
+    <li><a href="#double">Double taxation</a></li>
+  </ol>
+</li>
+<li><a href="#dx">Diagnosing View Hierarchy Issues</a>
+  <ol>
+    <li><a href="#systrace">Systrace</a></li>
+    <li><a href="#profile">Profile GPU rendering</a></li>
+    <li><a href="#lint">Lint</a></li>
+    <li><a href="#hv">Hierarchy Viewer</a></li>
+  </ol>
+</li>
+<li><a href="#solving">Solving View Hierarchy Issues</a>
+   <ol>
+      <li><a href="#removing">Removing redundant nested layouts</a></li>
+      <li><a href="#cheaper">Adopting a cheaper layout</a></li>
+   </ol>
+      </li>
+</ol>
+</div>
+</div>
+
+
+<p>
+The way you manage the hierarchy of your {@link android.view.View} objects can
+have a substantial impact on your app’s performance. This page describes how to
+assess whether your view hierarchy is slowing your app down, and offers some
+strategies for addressing issues that may arise.
+</p>
+
+<h2 id="lmp">Layout and Measure Performance</h2>
+<p>
+The rendering pipeline includes a <em>layout-and-measure</em>
+stage, during which the system appropriately positions the relevant items in
+your view hierarchy. The measure part of this stage determines the sizes and
+boundaries of {@link android.view.View} objects. The layout part determines where on the screen to
+position the {@link android.view.View} objects.
+</p>
+
+<p>
+Both of these pipeline stages incur some small cost per view or layout that they
+process. Most of the time, this cost is minimal and doesn’t noticeably affect
+performance. However, it can be greater when an app adds or removes View
+objects, such as when a {@link android.support.v7.widget.RecyclerView}
+object recycles them or reuses them. The
+cost can also be higher if a {@link android.view.View} object needs to consider
+resizing to main its constraints: For example, if your app calls
+{@link android.widget.TextView#setText(char[], int, int) SetText()} on a
+{@link android.view.View} object that wraps text, the
+{@link android.view.View} may need to resize.
+</p>
+
+<p>
+If cases like these take too long, they can prevent a frame from rendering
+within the allowed 16ms, so that frames are dropped, and animation becomes
+janky.
+</p>
+
+<p>
+Because you cannot move these operations to a worker thread&mdash;your app must
+process them on the main thread&mdash;your best bet is to optimize them so that
+they can take as little time as possible.
+</p>
+
+<h3 id="managing">Managing complexity: layouts matter</h3>
+
+<p>
+Android <a
+href="{@docRoot}guide/topics/ui/declaring-layout.html">Layouts</a>
+allow you to nest UI objects in the view hierarchy. This nesting can also impose
+a layout cost. When your app processes an object for layout, the app performs
+the same process on all children of the layout as well. For a complicated
+layout, sometimes a cost only arises the first time the system computes the
+layout. For instance, when your app recycles a complex list item in a
+{@link android.support.v7.widget.RecyclerView} object, the
+system needs to lay out all of the objects. In another example, trivial changes
+can propagate up the chain toward the parent
+until they reach an object that doesn’t affect the size of the parent.
+</p>
+
+<p>
+The most common case in which layout takes an especially long time is when
+hierarchies of {@link android.view.View} objects are nested within one another. Each nested layout
+object adds cost to the layout stage. The flatter your hierarchy, the less
+time that it takes for the layout stage to complete.
+</p>
+
+<p>
+If you are using the {@link android.widget.RelativeLayout} class, you may be able to achieve the same
+effect, at lower cost, by using nested, unweighted
+{@link android.widget.LinearLayout} views instead. Additionally, if your app
+targets Android N (API level 24), it is likely that
+you can use a special layout editor to create a <a
+href="http://tools.android.com/tech-docs/layout-editor">{@code ConstraintLayout}</a>
+object instead of {@link android.widget.RelativeLayout}. Doing so allows you
+to avoid many of the issues this section
+describes. The <a
+href="http://tools.android.com/tech-docs/layout-editor">{@code ConstraintLayout}</a>
+class offers similar layout control, but
+with much-improved performance. This class uses its own constraint-solving
+system to resolve relationships between views in a very different way from
+standard layouts.
+</p>
+
+<h3 id="double">Double Taxation</h3>
+
+<p>
+Typically, the framework executes the <a
+href="{@docRoot}guide/topics/ui/declaring-layout.html">layout</a>
+or measure stage in a single pass and quite quickly. However, with some more
+complicated layout cases, the framework may have to iterate multiple times on
+the layout or measure stage before ultimately positioning the elements. Having
+to perform more than one layout-and-measure iteration is referred to as
+<em>double taxation.</em>
+</p>
+
+<p>
+For example, when you use the {@link android.widget.RelativeLayout} container, which allows you to
+position {@link android.view.View} objects with respect to the positions of other {@link android.view.View} objects, the
+framework performs the following actions:
+</p>
+
+<ol style="1">
+   <li>Executes a layout-and-measure pass, during which the framework calculates
+each child object’s position and size, based on each child’s request.
+   <li>Uses this data, also taking object weights into account, to figure out the
+proper position of correlated views.
+   <li>Performs a second layout pass to finalize the objects’ positions.
+   <li>Goes on to the next stage of the rendering process.</li></ol>
+
+<p>
+The more levels your view hierarchy has, the greater the potential performance
+penalty.
+</p>
+
+<p>
+Containers other than {@link android.widget.RelativeLayout} may also give rise to double taxation. For
+example:
+</p>
+
+<ul>
+   <li>A {@link android.widget.LinearLayout} view
+could result in a double layout-and-measure pass if you make it horizontal.
+A double layout-and-measure pass may also occur in a vertical orientation if you
+add <a
+href="{@docRoot}reference/android/widget/LinearLayout.html#attr_android:measureWithLargestChild">measureWithLargestChild</a>,
+in which case the framework may need to do a second pass to resolve the proper
+sizes of objects.
+   <li>The {@link android.widget.GridLayout}
+has a similar issue. While this container also allows relative positioning, it
+normally avoids double taxation by pre-processing the positional relationships
+among child views. However, if the layout uses weights or fill with the
+{@link android.view.Gravity} class, the
+benefit of that preprocessing is lost, and the framework may have to perform
+multiple passes if it the container were a {@link android.widget.RelativeLayout}.</li>
+</ul>
+<p>
+Multiple layout-and-measure passes are not, in themselves, a performance burden.
+But they can become so if they’re in the wrong spot. You should be wary of
+situations where one of the following conditions applies to your container:
+</p>
+
+<ul>
+   <li>It is a root element in your view hierarchy.
+   <li>It has a deep view hierarchy beneath it.
+   <li>It is nested.
+   <li>There are many instances of it populating the screen, similar to children
+   in a {@link android.widget.ListView} object.</li>
+</ul>
+
+<h2 id="dx">Diagnosing View Hierarchy Issues</h2>
+
+<p>
+Layout performance is a complex problem with many facets. There are a couple of
+tools that can give you solid indications about where performance bottlenecks
+are occurring. A few other tools provide less definitive information, but can
+also provide helpful hints.
+</p>
+
+<p>
+<h3 id="systrace">Systrace</h3>
+</p>
+
+<p>
+One tool that provides excellent data about performance is <a
+href="{@docRoot}studio/profile/systrace.html">Systrace</a>,
+which is built into Android Studio. The Systrace tool allows you to collect and
+inspect timing information across an entire Android device, allowing you to see
+specifically where performance bottlenecks arise. For more information about
+Systrace, see <a href=”{docRoot}<a href="{@docRoot}studio/profile/systrace.html">
+Analyze UI Performance with Systrace</a>.
+</p>
+
+<h3 id="profile">Profile GPU rendering</h3>
+
+<p>
+The other tool most likely to provide you with concrete information about
+performance bottlenecks is the on-device <a
+href="{@docRoot}studio/profile/dev-options-rendering.html">
+Profile GPU rendering</a> tool, available on devices powered by Android 6.0 (API
+level 23) and later.  This tool allows you to see how long the layout-and-measurestage is
+ taking for <a href="https://youtu.be/erGJw8WDV74">each frame
+of rendering</a>. This data can help you diagnose runtime performance issues,
+and help you determine what, if any layout-and-measure issues you need to
+address.
+</p>
+
+<p>
+In its graphical representation of the data it captures, <a
+href="{@docRoot}studio/profile/dev-options-rendering.html">Profile
+GPU rendering</a> uses the color blue to represent layout time. For more
+information about how to use this tool, see <a
+href="{@docRoot}studio/profile/dev-options-rendering.html">Profile
+GPU Rendering Walkthrough.</a>
+</p>
+
+<h3 id="lint">Lint</h3>
+
+<p>
+Android Studio’s <a
+href="{@docRoot}studio/write/lint.html">Lint</a> tool can
+help you gain a sense of inefficiencies in the view hierarchy. To use this tool,
+select <strong>Analyze > Inspect Code</strong>, as shown in Figure 1.
+</p>
+
+  <img src="{@docRoot}topic/performance/images/lint-inspect-code.png">
+  <p class="img-caption">
+    <strong>Figure 1.</strong> Locating <strong>Inspect Code</strong> in the
+Android Studio.
+  </p>
+
+<p>
+Information about various layout items appears under
+<em>Android > Lint > Performance</em>. To see more detail,
+you can click on each item to expand it, and see more
+information in the pane on the right side of the screen.
+Figure 2 shows an example of such a display.
+</p>
+
+  <img src="{@docRoot}topic/performance/images/lint-display.png">
+  <p class="img-caption">
+    <strong>Figure 2.</strong> Viewing information about specific
+issues that the lint tool has identified.
+  </p>
+
+
+<p>
+Clicking on one of these items reveals, in the pane to the right, the problem
+associated with that item.
+</p>
+
+<p>
+To understand more about specific topics and issues in this area, see the <a
+href="{@docRoot}studio/write/lint.html">Lint
+</a>documentation.
+</p>
+
+<h3 id="hv">Hierarchy Viewer</h3>
+
+<p>
+Android Studio’s <a
+href="{@docRoot}studio/profile/hierarchy-viewer.html">Hierarchy
+Viewer</a> tool provides a visual representation of your app’s view hierarchy.
+It is a good way to navigate the hierarchy of your app, providing a clear visual
+representation of a particular view’s parent chain, and allowing you to inspect
+the layouts that your app constructs.
+</p>
+
+<p>
+The views that Hierarchy Viewer presents can also help identify performance
+problems arising from double taxation. It can also provide an easy way for you
+to identify deep chains of nested layouts, or layout areas with a large amount
+of nested children, another potential source of performance costs. In these
+scenarios, the layout-and-measure stages can be particularly costly,
+resulting in performance issues.
+</p>
+
+<p>
+You can also can get a sense of relative time taken by layout-and-measure
+operations by clicking the “profile node” button.
+</p>
+
+<p>
+For more information about Hierarchy Viewer, see <a
+href="{@docRoot}studio/profile/optimize-ui.html#HierarchyViewer">Optimizing
+Your UI</a>.
+</p>
+
+<h2 id="solving">Solving View Hierarchy Issues</h2>
+
+<p>
+The fundamental concept behind solving performance problems that arise from view
+hierarchies is simple in concept, but more difficult in practice. Preventing
+view hierarchies from imposing performance penalties encompasses the dual goals
+of flattening your view hierarchy and reducing double taxation. This section
+discusses some strategies for pursuing these goals.
+</p>
+
+<h3 id="removing">Removing redundant nested layouts</h3>
+
+<p>
+Developers often use more nested layouts than necessary. For example, a
+{@link android.widget.RelativeLayout} container might contain a single child that is also a
+{@link android.widget.RelativeLayout} container. This nesting amounts to redundancy, and adds
+unnecessary cost to the view hierarchy.
+</p>
+
+<p>
+Lint can often flag this problem for you, reducing debugging time.
+</p>
+
+<h3>Adopting Merge/Include </h3>
+<p>
+One frequent cause of redundant nested layouts is the <a
+href="{@docRoot}training/improving-layouts/reusing-layouts.html">
+&lt;include&gt;
+tag</a>. For example, you may define a re-usable layout as follows:
+</p>
+
+<pre class="prettyprint">
+&lt;LinearLayout&gt;
+    &lt;!-- some stuff here --&gt;
+&lt;/LinearLayout&gt;
+&lt;/pre&gt;
+</pre>
+
+<p>
+And then an include tag to add this item to the parent container:
+</p>
+
+<pre class="prettyprint">
+&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/app_bg"
+    android:gravity="center_horizontal"&gt;
+
+    &lt;include layout="@layout/titlebar"/&gt;
+
+    &lt;TextView android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:text="@string/hello"
+              android:padding="10dp" /&gt;
+
+    ...
+
+&lt;/LinearLayout&gt;
+</pre>
+
+<p>
+The include unnecessarily nests the first layout within the second layout.
+</p>
+
+<p>
+The <a
+href="{@docRoot}training/improving-layouts/reusing-layouts.html#Merge">merge
+</a>tag can help prevent this issue. For information about this tag, see <a
+href="{@docRoot}training/improving-layouts/reusing-layouts.html#Merge">Re-using
+Layouts with &lt;include&gt;</a>.
+</p>
+
+<h3 id="cheaper">Adopting a cheaper layout</h3>
+
+<p>
+You may not be able to adjust your existing layout scheme so that it doesn’t
+contain redundant layouts. In certain cases, the only solution may be to flatten
+your hierarchy by switching over to an entirely different layout type.
+</p>
+
+<p>
+For example, you may find that a {@link android.widget.TableLayout}
+provides the same functionality as a more complex layout with many
+positional dependencies. In the N release of Android, the 
+<a
+href="http://tools.android.com/tech-docs/layout-editor">{@code ConstraintLayout}</a> class provides similar functionality to
+{@link android.widget.RelativeLayout}, but at a significantly lower cost.
+</p>
diff --git a/docs/html/topic/performance/performance_toc.cs b/docs/html/topic/performance/performance_toc.cs
new file mode 100644
index 0000000..49191bc
--- /dev/null
+++ b/docs/html/topic/performance/performance_toc.cs
@@ -0,0 +1,2289 @@
+<ul id="nav">
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/index.html">
+        Getting Started
+      </a>
+    </div>
+
+    <ul>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/basics/firstapp/index.html"
+             description=
+             "After you've installed the Android SDK, start with this class
+             to learn the basics about Android app development."
+            >It worked!!</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/basics/firstapp/creating-project.html">
+            Creating an Android Project
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/firstapp/running-app.html">
+            Running Your Application
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/firstapp/building-ui.html">
+            Building a Simple User Interface
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/firstapp/starting-activity.html">
+            Starting Another Activity
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html"
+             description=
+             "How to build your app with alternative resources that provide an
+             optimized user experience on multiple device form factors using a single APK."
+            >Supporting Different Devices</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/languages.html">
+            Supporting Different Languages
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html">
+            Supporting Different Screens
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html">
+            Supporting Different Platform Versions
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html"
+             ja-lang="アクティビティのライフサイクル 管理"
+             ko-lang="액티비티 수명 주기 관리하기"
+             pt-br-lang="Como gerenciar o ciclo de vida da atividade"
+             ru-lang="Управление жизненным циклом операций"
+             zh-cn-lang="管理活动生命周期"
+             zh-tw-lang="管理應用行為顯示生命週期"
+             description=
+             "How Android activities live and die and how to create
+             a seamless user experience by implementing lifecycle callback methods."
+            >Managing the Activity Lifecycle</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/starting.html"
+             ja-lang="アクティビティを開始する"
+             ko-lang="액티비티 시작하기"
+             pt-br-lang="Iniciando uma atividade"
+             ru-lang="Запуск операции"
+             zh-cn-lang="开始活动"
+             zh-tw-lang="啟動應用行為顯示">
+            Starting an Activity
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html">
+            Pausing and Resuming an Activity
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html"
+             ja-lang="アクティビティの一時停止と再開"
+             ko-lang="액티비티 일시정지 및 재개하기"
+             pt-br-lang="Pausando e reiniciando uma atividade"
+             ru-lang="Приостановка и возобновление операции"
+             zh-cn-lang="暂停和继续活动"
+             zh-tw-lang="暫停並繼續應用行為顯示">
+            Stopping and Restarting an Activity
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html"
+             ja-lang="アクティビティを再作成する"
+             ko-lang="액티비티 재생성하기"
+             pt-br-lang="Recriando uma atividade"
+             ru-lang="Воссоздание операции"
+             zh-cn-lang="重新创建活动"
+             zh-tw-lang="重新建立應用行為顯示">
+            Recreating an Activity
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/basics/fragments/index.html"
+             description=
+             "How to build a user interface for your app that is flexible enough
+             to present multiple UI components on large screens and a more constrained set of
+             UI components on smaller screens&mdash;essential for building a single APK for both
+             phones and tablets."
+            >Building a Dynamic UI with Fragments</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html">
+            Creating a Fragment
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html" zh-cn-lang="构建灵活的界面">
+            Building a Flexible UI
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html">
+            Communicating with Other Fragments
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html"
+             ja-lang="データの保存"
+             ko-lang="데이터 저장하기"
+             pt-br-lang="Salvando dados"
+             ru-lang="Сохранение данных"
+             zh-cn-lang="保存数据"
+             zh-tw-lang="儲存資料"
+             description=
+             "How to save data on the device, whether it's temporary files, downloaded
+             app assets, user media, structured data, or something else."
+            >Saving Data</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/basics/data-storage/shared-preferences.html"
+             ja-lang="キー値セットを保存する"
+             ko-lang="키-값 세트 저장하기"
+             pt-br-lang="Salvando conjuntos de valor-chave"
+             ru-lang="Сохранение наборов "\"ключ-значение\""
+             zh-cn-lang="保存键值集"
+             zh-tw-lang="儲存索引鍵值組">
+            Saving Key-Value Sets
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html"
+             ja-lang="ファイルを保存する"
+             ko-lang="파일 저장하기"
+             pt-br-lang="Salvando arquivos"
+             ru-lang="Сохранение файлов"
+             zh-cn-lang="保存文件"
+             zh-tw-lang="儲存檔案">
+            Saving Files
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html"
+             ja-lang="SQL データベースにデータを保存する"
+             ko-lang="SQL 데이터베이스에 데이터 저장하기"
+             pt-br-lang="Salvando dados em bancos de dados do SQL"
+             ru-lang="Сохранение данных в базах данных SQL"
+             zh-cn-lang="在 SQL 数据库中保存数据"
+             zh-tw-lang="在 SQL 資料庫中儲存資料">
+            Saving Data in SQL Databases
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/basics/intents/index.html"
+             ja-lang="他のアプリとの相互操作"
+             ko-lang="액티비티 수명 주기 관리하기"
+             pt-br-lang="Interagindo com outros aplicativos"
+             ru-lang="Взаимодействие с другими приложениями"
+             zh-cn-lang="与其他应用交互"
+             zh-tw-lang="與其他應用程式互動"
+             description=
+             "How to build a user experience that leverages other apps available
+             on the device to perform advanced user tasks, such as capture a photo or view
+             an address on a map."
+            >Interacting with Other Apps</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/basics/intents/sending.html"
+             ja-lang="別のアプリにユーザーを送る"
+             ko-lang="다른 앱으로 사용자 보내기"
+             pt-br-lang="Enviando o usuário para outro aplicativo"
+             ru-lang="Направление пользователя в другое приложение"
+             zh-cn-lang="向另一个应用发送用户"
+             zh-tw-lang="將使用者傳送至其他應用程式">
+            Sending the User to Another App
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/intents/result.html"
+             ja-lang="アクティビティから結果を取得する"
+             ko-lang="액티비티로부터 결과 가져오기"
+             pt-br-lang="Obtendo resultados de uma atividade"
+             ru-lang="Получение результата операции"
+             zh-cn-lang="获取活动的结果"
+             zh-tw-lang="從應用行為顯示取得結果">
+            Getting a Result from the Activity
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html"
+             ja-lang="他のアプリからのアクティビティの開始を許可する"
+             ko-lang="다른 앱이 자신의 액티비티를 시작하도록 허용하기"
+             pt-br-lang="Permitindo que outros aplicativos iniciem sua atividade"
+             ru-lang="Разрешение другим приложениям на запуск вашей операции"
+             zh-cn-lang="允许其他应用开始您的活动"
+             zh-tw-lang="允許其他應用程式啟動您的應用行為顯示">
+            Allowing Other Apps to Start Your Activity
+          </a>
+          </li>
+        </ul>
+      </li>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/permissions/index.html"
+             description=
+             "How to declare that your app needs access to features and
+             resources outside of its 'sandbox', and how to request those
+             privileges at runtime."
+            >Working with System Permissions</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/permissions/declaring.html">
+            Declaring Permissions
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/permissions/requesting.html">
+            Requesting Permissions at Run Time
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/permissions/best-practices.html">
+            Best Practices for Runtime Permissions
+          </a>
+          </li>
+        </ul>
+      </li>
+
+    </ul>
+  </li><!-- end getting started -->
+    <li class="nav-section">
+        <div class="nav-section-header">
+            <a href="<?cs var:toroot ?>training/building-content-sharing.html">
+            <span class="small">Building Apps with</span><br/>Content Sharing
+            </a>
+        </div>
+        <ul>
+            <li class="nav-section">
+                <div class="nav-section-header">
+                    <a href="<?cs var:toroot ?>training/sharing/index.html"
+                    description=
+                    "How to take your app interaction to the next level by sharing
+                    information with other apps, receive information back, and provide a simple and
+                    scalable way to perform Share actions with user content."
+                    >Sharing Simple Data</a>
+                </div>
+                <ul>
+                    <li>
+                        <a href="<?cs var:toroot ?>training/sharing/send.html">
+                        Sending Simple Data to Other Apps
+                        </a>
+                    </li>
+                    <li>
+                        <a href="<?cs var:toroot ?>training/sharing/receive.html">
+                        Receiving Simple Data from Other Apps
+                        </a>
+                    </li>
+                    <li>
+                        <a href="<?cs var:toroot ?>training/sharing/shareaction.html">
+                        Adding an Easy Share Action
+                        </a>
+                    </li>
+                </ul>
+            </li>
+            <li class="nav-section">
+                <div class="nav-section-header">
+                    <a href="<?cs var:toroot?>training/secure-file-sharing/index.html"
+                    description=
+                    "How to provide secure access to a file associated with your app using a content
+                    URI and temporary access permissions."
+                    >Sharing Files</a>
+                </div>
+                <ul>
+                    <li>
+                        <a href="<?cs var:toroot ?>training/secure-file-sharing/setup-sharing.html">
+                        Setting Up File Sharing
+                        </a>
+                    </li>
+                    <li>
+                        <a href="<?cs var:toroot ?>training/secure-file-sharing/share-file.html">
+                        Sharing a File
+                        </a>
+                    </li>
+                    <li>
+                        <a href="<?cs var:toroot ?>training/secure-file-sharing/request-file.html">
+                        Requesting a Shared File
+                        </a>
+                    </li>
+                    <li>
+                        <a href="<?cs var:toroot ?>training/secure-file-sharing/retrieve-info.html">
+                        Retrieving File Information
+                        </a>
+                    </li>
+                </ul>
+            </li>
+            <li class="nav-section">
+                <div class="nav-section-header">
+                    <a href="<?cs var:toroot ?>training/beam-files/index.html"
+                    description=
+                    "How to transfer files between devices using the NFC Android Beam feature."
+                    >Sharing Files with NFC</a>
+                </div>
+                <ul>
+                    <li>
+                        <a href="<?cs var:toroot ?>training/beam-files/send-files.html"
+                        >Sending Files to Another Device</a>
+                    </li>
+                    <li><a href="<?cs var:toroot ?>training/beam-files/receive-files.html"
+                    >Receiving Files from Another Device</a></li>
+                </ul>
+            </li>
+        </ul>
+    </li>
+
+
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/building-multimedia.html">
+      <span class="small">Building Apps with</span><br/>Multimedia
+      </a>
+    </div>
+    <ul>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/managing-audio/index.html"
+             description=
+             "How to respond to hardware audio key presses, request audio focus
+             when playing audio, and respond appropriately to changes in audio focus."
+            >Managing Audio Playback</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html">
+            Controlling Your App's Volume and Playback
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html">
+            Managing Audio Focus
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html">
+            Dealing with Audio Output Hardware
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/camera/index.html"
+             description=
+             "How to leverage existing camera apps on the user's device to capture
+             photos or control the camera hardware directly and build your own camera app."
+            >Capturing Photos</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/camera/photobasics.html">
+            Taking Photos Simply
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/camera/videobasics.html">
+            Recording Videos Simply
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html">
+            Controlling the Camera
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/printing/index.html"
+             description=
+             "How to print photos, HTML documents, and custom documents from your app."
+            >Printing Content</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/printing/photos.html">
+            Photos
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/printing/html-docs.html">
+            HTML Documents
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/printing/custom-docs.html">
+            Custom Documents
+          </a>
+          </li>
+        </ul>
+      </li>
+
+    </ul>
+  </li>
+  <!-- End multimedia -->
+
+
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/building-graphics.html">
+      <span class="small">Building Apps with</span><br/>Graphics &amp; Animation
+      </a>
+    </div>
+    <ul>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html"
+             description=
+             "How to load and process bitmaps while keeping your user interface
+             responsive and avoid exceeding memory limits."
+            >Displaying Bitmaps Efficiently</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html">
+            Loading Large Bitmaps Efficiently
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html">
+            Processing Bitmaps Off the UI Thread
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html">
+            Caching Bitmaps
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/manage-memory.html">
+            Managing Bitmap Memory
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html">
+            Displaying Bitmaps in Your UI
+          </a></li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot?>training/graphics/opengl/index.html"
+             description=
+             "How to create OpenGL graphics within the Android app framework
+             and respond to touch input."
+            >Displaying Graphics with OpenGL ES</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html">
+            Building an OpenGL ES Environment
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html">
+            Defining Shapes
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html">
+            Drawing Shapes
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html">
+            Applying Projection and Camera Views
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html">
+            Adding Motion
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html">
+            Responding to Touch Events
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot?>training/transitions/index.html"
+             description=
+             "How to animate state changes in a view hierarchy using transitions."
+            >Animating Views Using Scenes and Transitions</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/transitions/overview.html">
+            The Transitions Framework
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/transitions/scenes.html">
+            Creating a Scene
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/transitions/transitions.html">
+            Applying a Transition
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/transitions/custom-transitions.html">
+            Creating Custom Transitions
+          </a>
+          </li>
+
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html"
+             description=
+             "How to add transitional animations to your user interface.">
+            Adding Animations
+          </a></div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/animation/crossfade.html">
+            Crossfading Two Views
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/animation/screen-slide.html">
+            Using ViewPager for Screen Slide
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/animation/cardflip.html">
+            Displaying Card Flip Animations
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/animation/zoom.html">
+            Zooming a View
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/animation/layout.html">
+            Animating Layout Changes
+          </a>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <!-- End graphics and animation -->
+
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/building-connectivity.html">
+      <span class="small">Building Apps with</span><br/>
+              Connectivity &amp; the Cloud
+      </a>
+    </div>
+    <ul>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html"
+             description=
+             "How to find and connect to local devices using Network Service
+             Discovery and how to create peer-to-peer connections with Wi-Fi."
+             >Connecting Devices Wirelessly</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html">
+            Using Network Service Discovery
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html">
+            Creating P2P Connections with Wi-Fi
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
+            Using Wi-Fi P2P for Service Discovery
+          </a>
+          </li>
+        </ul>
+      </li>
+       <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/basics/network-ops/index.html"
+             description=
+             "How to create a network connection, monitor the connection for changes
+             in connectivity, and perform transactions with XML data."
+            >Performing Network Operations</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html">
+            Connecting to the Network
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html">
+            Managing Network Usage
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html">
+            Parsing XML Data
+          </a>
+          </li>
+        </ul>
+      </li>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/efficient-downloads/index.html"
+             description=
+             "How to minimize your app's impact on the battery when performing downloads
+             and other network transactions."
+            >Transferring Data Without Draining the Battery</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html">
+            Optimizing Downloads for Efficient Network Access
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html">
+            Minimizing the Effect of Regular Updates
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html">
+            Redundant Downloads are Redundant
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html">
+            Modifying Patterns Based on the Connectivity Type
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/backup/index.html"
+             description=
+             "How to sync and back up app and user data to remote web services in the
+              cloud and how to restore the data back to multiple devices."
+            >Syncing to the Cloud</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/backup/autosyncapi.html">
+            Configuring Auto Backup
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/backup/backupapi.html">
+            Using the Backup API
+          </a>
+          </li>
+        </ul>
+        <li><a href="<?cs var:toroot ?>training/cloudsave/conflict-res.html"
+           description=
+           "How to design a robust conflict resolution strategy for apps that save data to the cloud."
+           >Resolving Cloud Save Conflicts
+          </a>
+        </li>
+      </li>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/sync-adapters/index.html"
+             description="How to transfer data between the cloud and the device using the Android
+             sync adapter framework"
+             >Transferring Data Using Sync Adapters</a>
+        </div>
+        <ul>
+            <li>
+                <a href="<?cs var:toroot ?>training/sync-adapters/creating-authenticator.html">
+                Creating a Stub Authenticator
+                </a>
+            </li>
+            <li>
+                <a href="<?cs var:toroot ?>training/sync-adapters/creating-stub-provider.html">
+                Creating a Stub Content Provider
+                </a>
+            </li>
+            <li>
+                <a href="<?cs var:toroot ?>training/sync-adapters/creating-sync-adapter.html">
+                Creating a Sync Adapter
+                </a>
+            </li>
+            <li>
+                <a href="<?cs var:toroot ?>training/sync-adapters/running-sync-adapter.html">
+                Running a Sync Adapter
+                </a>
+            </li>
+        </ul>
+      </li>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/volley/index.html"
+             description="How to perform fast, scalable UI operations over the network using Volley"
+             >Transmitting Network Data Using Volley</a>
+        </div>
+        <ul>
+            <li>
+                <a href="<?cs var:toroot ?>training/volley/simple.html">
+                Sending a Simple Request
+                </a>
+            </li>
+            <li>
+                <a href="<?cs var:toroot ?>training/volley/requestqueue.html">
+                Setting Up a RequestQueue
+                </a>
+            </li>
+            <li>
+                <a href="<?cs var:toroot ?>training/volley/request.html">
+                Making a Standard Request
+                </a>
+            </li>
+            <li>
+                <a href="<?cs var:toroot ?>training/volley/request-custom.html">
+                Implementing a Custom Request
+                </a>
+            </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <!-- End connectivity and cloud -->
+
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/building-location.html">
+      <span class="small">Building Apps with</span><br/>
+              Location &amp; Maps
+      </a>
+    </div>
+    <ul>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/location/index.html"
+             description="How to add location-aware features to your app by getting the user's current location.">
+             Making Your App Location-Aware
+          </a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/location/retrieve-current.html">
+            Getting the Last Known Location
+            </a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/location/change-location-settings.html">
+            Changing Location Settings
+            </a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/location/receive-location-updates.html">
+            Receiving Location Updates
+            </a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/location/display-address.html">
+            Displaying a Location Address
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/location/geofencing.html">
+            Creating and Monitoring Geofences
+          </a>
+          </li>
+        </ul>
+      </li>
+      <li class="nav-section">
+        <a href="<?cs var:toroot ?>training/maps/index.html"
+           description="How to add maps and mapping information to your app.">
+           Adding Maps
+        </a>
+      </li>
+    </ul>
+  </li>
+  <!-- End location and maps -->
+
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/building-userinfo.html">
+      <span class="small">Building Apps with</span><br/>
+              User Info &amp; Sign-In
+      </a>
+    </div>
+    <ul>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/contacts-provider/index.html"
+             description=
+             "How to use Android's central address book, the Contacts Provider, to
+             display contacts and their details and modify contact information.">
+          Accessing Contacts Data</a>
+        </div>
+        <ul>
+          <li>
+                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-names.html">
+                Retrieving a List of Contacts
+                </a>
+          </li>
+          <li>
+                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-details.html">
+                Retrieving Details for a Contact
+                </a>
+          </li>
+          <li>
+                <a href="<?cs var:toroot ?>training/contacts-provider/modify-data.html">
+                Modifying Contacts Using Intents
+                </a>
+          </li>
+          <li>
+                <a href="<?cs var:toroot ?>training/contacts-provider/display-contact-badge.html">
+                Displaying the Quick Contact Badge
+                </a>
+          </li>
+        </ul>
+      </li>
+      <li class="nav-section">
+        <a href="<?cs var:toroot ?>training/sign-in/index.html"
+           description="How to add user sign-in functionality to your app.">
+           Adding Sign-In
+        </a>
+      </li>
+    </ul>
+  </li>
+  <!-- End user info and sign-in -->
+
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/building-wearables.html">
+      <span class="small">Building Apps for</span><br/>
+              Wearables
+      </a>
+    </div>
+    <ul>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/wearables/notifications/index.html"
+             description="How to build handheld notifications that are synced to
+             and look great on wearables."
+            >Adding Wearable Features to Notifications</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/notifications/creating.html">Creating a Notification</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/notifications/voice-input.html">Receiving Voice Input in a Notification</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/notifications/pages.html">Adding Pages to a Notification</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/notifications/stacks.html">Stacking Notifications</a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/wearables/apps/index.html"
+             description="How to build apps that run directly on wearables."
+            >Creating Wearable Apps</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/apps/creating.html">Creating and Running a Wearable App</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/apps/layouts.html">Creating Custom Layouts</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/apps/always-on.html">Keeping Your App Visible</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/apps/voice.html">Adding Voice Capabilities</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/apps/packaging.html">Packaging Wearable Apps</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/apps/bt-debugging.html">Debugging over Bluetooth</a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/wearables/ui/index.html"
+             description="How to create custom user interfaces for wearable apps."
+            >Creating Custom UIs</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/ui/layouts.html">Defining Layouts</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/ui/cards.html">Creating Cards</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/ui/lists.html">Creating Lists</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/ui/2d-picker.html">Creating a 2D Picker</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/ui/confirm.html">Showing Confirmations</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/ui/exit.html">Exiting Full-Screen Activities</a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/wearables/data-layer/index.html"
+             description="How to sync data between handhelds and wearables."
+            >Sending and Syncing Data</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/data-layer/accessing.html">Accessing the Wearable Data Layer</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/data-layer/data-items.html">Syncing Data Items</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/data-layer/assets.html">Transferring Assets</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/data-layer/messages.html">Sending and Receiving Messages</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/data-layer/events.html">Handling Data Layer Events</a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/wearables/watch-faces/index.html"
+             description="How to create watch faces for wearables."
+            >Creating Watch Faces</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/watch-faces/designing.html">Designing Watch Faces</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/watch-faces/service.html">Building a Watch Face Service</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/watch-faces/drawing.html">Drawing Watch Faces</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/watch-faces/information.html">Showing Information in Watch Faces</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/watch-faces/interacting.html">Creating Interactive Watch Faces</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/watch-faces/configuration.html">Providing Configuration Activities</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/watch-faces/issues.html">Addressing Common Issues</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/wearables/watch-faces/performance.html">Optimizing Performance and Battery Life</a>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/wear-location-detection.html"
+           description=
+           "How to detect location data on Android Wear devices."
+          >Detecting Location</a>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/wear-permissions.html"
+           description=
+           "How to request permissions on Android Wear devices."
+          >Requesting Permissions</a>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/wearables/wearable-sounds.html"
+           description=
+           "How to use the speaker on Android Wear devices."
+          >Using the Speaker</a>
+      </li>
+
+    </ul>
+  </li>
+  <!-- End Building for wearables -->
+
+
+  <!-- Start: Building for TV -->
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/tv/index.html">
+      <span class="small">Building Apps for</span><br/>
+              TV
+      </a>
+    </div>
+    <ul>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+
+          <a href="<?cs var:toroot ?>training/tv/start/index.html"
+             ja-lang="TV アプリのビルド"
+             description="How to start building TV apps or extend your existing app to run on TV
+             devices.">
+             Building TV Apps</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/start/start.html"
+               ja-lang="TV アプリのビルドを開始する">
+              Getting Started with TV Apps</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/start/hardware.html"
+               ja-lang="TV ハードウェアを処理する">
+              Handling TV Hardware</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/start/layouts.html"
+               ja-lang="TV 向けレイアウトをビルドする">
+              Building TV Layouts</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/start/navigation.html"
+               ja-lang="TV 用のナビゲーションを作成する">
+              Creating TV Navigation</a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/tv/playback/index.html"
+             ja-lang="TV 再生アプリのビルド"
+             description="How to build apps that provide media catalogs and play content.">
+             Building TV Playback Apps</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/playback/browse.html"
+               ja-lang="カタログ ブラウザを作成する">
+              Creating a Catalog Browser</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/playback/card.html">
+              Providing a Card View</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/playback/details.html"
+               ja-lang="詳細ビューをビルドする">
+              Building a Details View</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/playback/now-playing.html"
+               ja-lang="再生中カードを表示する">
+              Displaying a Now Playing Card</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/playback/guided-step.html">
+              Adding a Guided Step</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/playback/options.html">
+              Enabling Background Playback</a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/tv/discovery/index.html"
+             description="How to help users discover content from your app.">
+             Helping Users Find Content on TV</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/discovery/recommendations.html">
+              Recommending TV Content</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/discovery/searchable.html">
+              Making TV Apps Searchable</a>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/discovery/in-app-search.html">
+              Searching within TV Apps</a>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/tv/games/index.html"
+           description="How to build games for TV.">
+           Building TV Games</a>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/tv/tif/index.html"
+           description="How to build channels for TV.">
+           Building TV Channels</a>
+        </div>
+        <ul>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/tif/tvinput.html">
+              Developing a TV Input Service</a>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/tif/channel.html">
+              Working with Channel Data</a>
+          </li>
+          <li>
+            <a href="<?cs var:toroot ?>training/tv/tif/ui.html">
+              Managing User Interaction</a>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/tv/publishing/checklist.html"
+           description="An itemized list of requirements for TV apps.">
+           TV Apps Checklist</a>
+      </li>
+    </ul>
+  </li>
+  <!-- End: Building for TV -->
+
+
+  <!-- Start: Building for Auto -->
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/auto/index.html">
+      <span class="small">Building Apps for</span><br/>
+              Auto
+      </a>
+    </div>
+    <ul>
+      <li>
+        <a href="<?cs var:toroot ?>training/auto/start/index.html"
+             description="How to start building or extending apps that work
+             with Auto devices.">
+             Getting Started with Auto</a>
+      </li>
+      <li>
+        <a href="<?cs var:toroot ?>training/auto/audio/index.html"
+             description="How to extend audio apps to play content on Auto devices.">
+             Playing Audio for Auto</a>
+      </li>
+      <li>
+        <a href="<?cs var:toroot ?>training/auto/messaging/index.html"
+             description="How to extend text messaging apps to work with Auto devices.">
+             Messaging for Auto</a>
+      </li>
+    </ul>
+  </li>
+  <!-- End: Building for Auto -->
+
+
+  <!-- Start: Building for Work -->
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/enterprise/index.html">
+      <span class="small">Building Apps for</span><br/>
+              Work
+      </a>
+    </div>
+    <ul>
+      <li><a href="<?cs var:toroot ?>training/enterprise/app-compatibility.html">
+        Ensuring Compatibility with Managed Profiles
+      </a>
+      </li>
+      <li><a href="<?cs var:toroot ?>training/enterprise/app-restrictions.html">
+        Implementing App Restrictions
+      </a>
+      </li>
+      <li><a href="<?cs var:toroot ?>training/enterprise/work-policy-ctrl.html">
+        Building a Device Policy Controller
+      </a>
+      </li>
+      <li><a href="<?cs var:toroot ?>training/enterprise/cosu.html">
+        Configuring Corporate-Owned, Single-Use Devices
+      </a>
+      </li>
+    </ul>
+  </li>
+  <!-- End: Building for Work -->
+
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/best-ux.html">
+      <span class="small">Best Practices for</span><br/>
+              Interaction &amp; Engagement
+      </a>
+    </div>
+    <ul>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/design-navigation/index.html"
+             description=
+             "How to plan your app's screen hierarchy and forms of navigation so users can
+             effectively and intuitively traverse your app content using various navigation
+             patterns."
+            >Designing Effective Navigation</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html">
+            Planning Screens and Their Relationships
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html">
+            Planning for Multiple Touchscreen Sizes
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html">
+            Providing Descendant and Lateral Navigation
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html">
+            Providing Ancestral and Temporal Navigation
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html">
+            Putting it All Together: Wireframing the Example App
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/implementing-navigation/index.html"
+             description=
+             "How to implement various navigation patterns such as swipe views,
+             a navigation drawer, and up navigation."
+            >Implementing Effective Navigation</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html">
+            Creating Swipe Views with Tabs
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/implementing-navigation/nav-drawer.html">
+            Creating a Navigation Drawer
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html">
+            Providing Up Navigation
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html">
+            Providing Proper Back Navigation
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html">
+            Implementing Descendant Navigation
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+          <div class="nav-section-header">
+              <a href="<?cs var:toroot ?>training/notify-user/index.html"
+                 description=
+                 "How to display messages called notifications outside of
+                 your application's UI."
+               >Notifying the User</a>
+          </div>
+          <ul>
+              <li>
+                  <a href="<?cs var:toroot ?>training/notify-user/build-notification.html">
+                  Building a Notification
+                  </a>
+              </li>
+              <li>
+                  <a href="<?cs var:toroot ?>training/notify-user/navigation.html">
+                  Preserving Navigation when Starting an Activity
+                  </a>
+              </li>
+              <li>
+                  <a href="<?cs var:toroot ?>training/notify-user/managing.html">
+                  Updating Notifications
+                  </a>
+              </li>
+              <li>
+                  <a href="<?cs var:toroot ?>training/notify-user/expanded.html">
+                  Using Big View Styles
+                  </a>
+              </li>
+              <li>
+                  <a href="<?cs var:toroot ?>training/notify-user/display-progress.html">
+                  Displaying Progress in a Notification
+                  </a>
+              </li>
+          </ul>
+      </li>
+
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+            <a href="<?cs var:toroot ?>training/swipe/index.html"
+            description=
+            "How to modify your app's layout to support manual content updates triggered by the
+             swipe-to-refresh gesture."
+            >Supporting Swipe-to-Refresh</a>
+        </div>
+        <ul>
+            <li>
+                <a href="<?cs var:toroot ?>training/swipe/add-swipe-interface.html"
+                >Adding Swipe-to-Refresh To Your App</a></li>
+            <li>
+                <a href="<?cs var:toroot ?>training/swipe/respond-refresh-request.html"
+                >Responding to a Refresh Gesture</a>
+            </li>
+        </ul>
+      </li>
+
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/search/index.html"
+             description=
+             "How to properly add a search interface to your app and create a searchable database."
+            >Adding Search Functionality</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/search/setup.html">
+            Setting up the Search Interface
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/search/search.html">
+            Storing and Searching for Data
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/search/backward-compat.html">
+            Remaining Backward Compatible
+          </a>
+          </li>
+        </ul>
+      </li>
+
+     <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/app-indexing/index.html"
+             description=
+             "How to enable deep linking and indexing of your application
+content so that users can open this content directly from their mobile search
+results."
+            >Making Your App Content Searchable by Google</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/app-indexing/deep-linking.html">
+            Enabling Deep Links for App Content
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/app-indexing/enabling-app-indexing.html">
+            Specifying App Content for Indexing
+          </a>
+          </li>
+        </ul>
+  </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/assistant.html"
+           description=
+           "Support contextually relevant actions through the Assist API."
+          >Optimizing Content for the Assistant</a>
+      </li>
+       <li class="nav-section">
+        <div class="nav-section">
+          <a href="<?cs var:toroot ?>training/app-links/index.html"
+             description=
+             "How to enable the system to handle web requests by taking the user directly
+             to your app instead of your website."
+            >Handling App Links</a>
+        </div>
+      </li>
+  <!-- End Interaction and Engagement -->
+
+</ul>
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/best-ui.html">
+      <span class="small">Best Practices for</span><br/>
+              User Interface
+      </a>
+    </div>
+    <ul>
+
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/multiscreen/index.html"
+             zh-cn-lang="针对多种屏幕进行设计"
+             ja-lang="複数画面のデザイン"
+             es-lang="Cómo diseñar aplicaciones para varias pantallas"
+             description=
+             "How to build a user interface that's flexible enough to
+             fit perfectly on any screen and how to create different interaction
+             patterns that are optimized for different screen sizes."
+            >Designing for Multiple Screens</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/multiscreen/screensizes.html"
+            zh-cn-lang="支持各种屏幕尺寸"
+            ko-lang="다양한 화면 크기 지원"
+            ja-lang="さまざまな画面サイズのサポート"
+            es-lang="Cómo admitir varios tamaños de pantalla"
+            >Supporting Different Screen Sizes</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/multiscreen/screendensities.html"
+            zh-cn-lang="支持各种屏幕密度"
+            ja-lang="さまざまな画面密度のサポート"
+            es-lang="Cómo admitir varias densidades de pantalla"
+            >Supporting Different Screen Densities</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/multiscreen/adaptui.html"
+            zh-cn-lang="实施自适应用户界面流程"
+            ja-lang="順応性のある UI フローの実装"
+            es-lang="Cómo implementar interfaces de usuario adaptables"
+            >Implementing Adaptive UI Flows</a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/appbar/index.html"
+             description=
+             "How to use the support library's toolbar widget to implement an
+             app bar that displays properly on a wide range of devices."
+            >Adding the App Bar</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/appbar/setting-up.html"
+            >Setting Up the App Bar</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/appbar/actions.html"
+            >Adding and Handling Actions</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/appbar/up-action.html"
+            >Adding an Up Action</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/appbar/action-views.html"
+            >Action Views and Action Providers</a>
+          </li>
+        </ul>
+      </li>
+
+            <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/snackbar/index.html"
+             description=
+             "How to use the support library's Snackbar widget to display a
+             brief pop-up message."
+            >Showing Pop-Up Messages</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/snackbar/showing.html"
+            >Building and Displaying a Pop-Up Message</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/snackbar/action.html"
+            >Adding an Action to a Message</a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/custom-views/index.html"
+             description=
+             "How to build custom UI widgets that are interactive and smooth."
+            >Creating Custom Views</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html">
+            Creating a Custom View Class
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html">
+            Implementing Custom Drawing
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html">
+            Making the View Interactive
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html">
+            Optimizing the View
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html"
+             description=
+             "How to use UI components and other APIs from the more recent versions of Android
+             while remaining compatible with older versions of the platform."
+            >Creating Backward-Compatible UIs</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html">
+            Abstracting the New APIs
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html">
+            Proxying to the New APIs
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html">
+            Creating an Implementation with Older APIs
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html">
+            Using the Version-Aware Component
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/accessibility/index.html"
+             description=
+             "How to make your app accessible to users with vision
+             impairment or other physical disabilities."
+            >Implementing Accessibility</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html">
+            Developing Accessible Applications
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/accessibility/service.html">
+            Developing Accessibility Services
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/accessibility/testing.html">
+            Accessibility Testing Checklist
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/system-ui/index.html"
+             description=
+             "How to hide and show status and navigation bars across different versions of Android,
+              while managing the display of other screen components."
+            >Managing the System UI</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/system-ui/dim.html">
+            Dimming the System Bars
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/system-ui/status.html">
+            Hiding the Status Bar
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/system-ui/navigation.html">
+            Hiding the Navigation Bar
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/system-ui/immersive.html">
+            Using Immersive Full-Screen Mode
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/system-ui/visibility.html">
+            Responding to UI Visibility Changes
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/material/index.html"
+             description=
+             "How to implement material design on Android."
+            zh-cn-lang="面向开发者的材料设计"
+            zh-tw-lang="開發人員材料設計"
+            ja-lang="マテリアル デザインでのアプリ作成"
+            es-lang="Crear aplicaciones con Material Design"
+            pt-br-lang="Material Design para desenvolvedores"
+            ko-lang="개발자를 위한 머티리얼 디자인"
+            ru-lang="Создание приложений с помощью Material Design"
+            in-lang="Desain Bahan untuk Pengembang"
+            vi-lang="Material Design cho Nhà phát triển"
+            >Creating Apps with Material Design</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/material/get-started.html"
+            zh-cn-lang="入门指南"
+            zh-tw-lang="開始使用"
+            ja-lang="スタート ガイド"
+            es-lang="Comencemos"
+            pt-br-lang="Como iniciar"
+            ko-lang="시작하기"
+            ru-lang="Начало работы"
+            in-lang="Memulai"
+            vi-lang="Bắt đầu"
+            >
+            Getting Started
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/material/theme.html"
+            zh-cn-lang="使用材料主题"
+            zh-tw-lang="使用材料設計風格"
+            ja-lang="マテリアル テーマの使用"
+            es-lang="Usar el tema Material"
+            pt-br-lang="Como usar o tema do Material"
+            ko-lang="머티어리얼 테마 사용"
+            ru-lang="Использование темы Material Design"
+            in-lang="Menggunakan Tema Bahan"
+            vi-lang="Sử dụng Chủ đề Material"
+            >
+            Using the Material Theme
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/material/lists-cards.html"
+            zh-cn-lang="创建列表与卡片"
+            zh-tw-lang="建立清單和卡片"
+            ja-lang="リストとカードの作成"
+            es-lang="Crear listas y tarjetas"
+            pt-br-lang="Como criar listas e cartões"
+            ko-lang="목록 및 카드 생성"
+            ru-lang="Создание списков и подсказок"
+            in-lang="Membuat Daftar dan Kartu"
+            vi-lang="Tạo Danh sách và Thẻ"
+            >
+            Creating Lists and Cards
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/material/shadows-clipping.html"
+            zh-cn-lang="定义阴影与裁剪视图"
+            zh-tw-lang="定義陰影和裁剪檢視"
+            ja-lang="シャドウとクリッピング ビューの定義"
+            es-lang="Definir vistas de recorte y sombras"
+            pt-br-lang="Como definir sombras e recortar visualizações"
+            ko-lang="그림자 정의 및 뷰 클리핑"
+            ru-lang="Определение теней и обрезка представлений"
+            in-lang="Mendefinisikan Bayangan dan Memangkas Tampilan"
+            vi-lang="Định nghĩa Đổ bóng và Dạng xem Cắt hình"
+            >
+            Defining Shadows and Clipping Views
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/material/drawables.html"
+            zh-cn-lang="使用 Drawables"
+            zh-tw-lang="使用可繪項目"
+            ja-lang="ドローアブルの使用"
+            es-lang="Trabajar con interfaces dibujables"
+            pt-br-lang="Como trabalhar com desenháveis"
+            ko-lang="Drawable 사용"
+            ru-lang="Работа с элементами дизайна"
+            in-lang="Bekerja dengan Drawable"
+            vi-lang="Làm việc với Nội dung vẽ được"
+            >
+            Working with Drawables
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/material/animations.html"
+            zh-cn-lang="定义定制动画"
+            zh-tw-lang="定義自訂動畫"
+            ja-lang="カスタム アニメーションの定義"
+            es-lang="Definir animaciones personalizadas"
+            pt-br-lang="Como definir animações personalizadas"
+            ko-lang="사용자지정 애니메이션 정의"
+            ru-lang="Определение настраиваемой анимации"
+            in-lang="Mendefinisikan Animasi Custom"
+            vi-lang="Định nghĩa Hoạt hình Tùy chỉnh"
+            >
+            Defining Custom Animations
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/material/compatibility.html"
+            zh-cn-lang="维护兼容性"
+            zh-tw-lang="維持相容性"
+            ja-lang="互換性の維持"
+            es-lang="Mantener la compatibilidad"
+            pt-br-lang="Como manter a compatibilidade"
+            ko-lang="호환성 유지"
+            ru-lang="Обеспечение совместимости"
+            in-lang="Mempertahankan Kompatibilitas"
+            vi-lang="Duy trì Tính tương thích"
+            >
+            Maintaining Compatibility
+          </a>
+          </li>
+        </ul>
+      </li>
+
+    </ul>
+  </li>
+  <!-- End User Interface -->
+
+
+
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/best-user-input.html">
+      <span class="small">Best Practices for</span><br/>
+              User Input
+      </a>
+    </div>
+    <ul>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/gestures/index.html"
+             description=
+             "How to write apps that allow users to interact with the touch screen via touch gestures."
+            >Using Touch Gestures</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/gestures/detector.html">
+            Detecting Common Gestures
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/gestures/movement.html">
+            Tracking Movement
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/gestures/scroll.html">
+            Animating a Scroll Gesture
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/gestures/multi.html">
+            Handling Multi-Touch Gestures
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/gestures/scale.html">
+            Dragging and Scaling
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/gestures/viewgroup.html">
+            Managing Touch Events in a ViewGroup
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/keyboard-input/index.html"
+             description=
+             "How to specify the appearance and behaviors of soft input methods (such
+             as on-screen keyboards) and how to optimize the experience with
+             hardware keyboards."
+            >Handling Keyboard Input</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/keyboard-input/style.html">
+            Specifying the Input Method Type
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/keyboard-input/visibility.html">
+            Handling Input Method Visibility
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/keyboard-input/navigation.html">
+            Supporting Keyboard Navigation
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/keyboard-input/commands.html">
+            Handling Keyboard Actions
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/game-controllers/index.html"
+             description=
+             "How to write apps that support game controllers."
+            >Supporting Game Controllers</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/game-controllers/controller-input.html">
+            Handling Controller Actions
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/game-controllers/compatibility.html">
+            Supporting Controllers Across Android Versions
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/game-controllers/multiple-controllers.html">
+            Supporting Multiple Game Controllers
+          </a>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li> <!-- end of User Input -->
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/best-background.html">
+      <span class="small">Best Practices for</span><br/>
+              Background Jobs
+      </a>
+    </div>
+    <ul>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/run-background-service/index.html"
+             description=
+             "How to improve UI performance and responsiveness by sending work to a
+             Service running in the background"
+            >Running in a Background Service</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/run-background-service/create-service.html">
+            Creating a Background Service
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/run-background-service/send-request.html">
+            Sending Work Requests to the Background Service
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/run-background-service/report-status.html">
+            Reporting Work Status
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/load-data-background/index.html"
+             description="How to use CursorLoader to query data without
+             affecting UI responsiveness."
+            >Loading Data in the Background</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html">
+            Running a Query with a CursorLoader</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html">
+            Handling the Results</a>
+          </li>
+        </ul>
+      </li>
+
+       <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/scheduling/index.html"
+             description="How to use repeating alarms and wake locks
+             to run background jobs."
+            >Managing Device Awake State</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/scheduling/wakelock.html">
+            Keeping the Device Awake</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/scheduling/alarms.html">
+            Scheduling Repeating Alarms</a>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li> <!-- end of Background Jobs -->
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/best-performance.html">
+      <span class="small">Best Practices for</span><br/>
+              Performance
+      </a>
+    </div>
+    <ul>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/memory.html"
+          description=
+          "How to keep your app's memory footprint small in order to improve performance
+          on a variety of mobile devices."
+          >Managing Your App's Memory</a>
+      </li>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/perf-tips.html"
+           description=
+           "How to optimize your app's performance in various ways to improve its
+           responsiveness and battery efficiency."
+          >Performance Tips</a>
+      </li>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/improving-layouts/index.html"
+             description=
+             "How to identify problems in your app's layout performance and improve the UI
+             responsiveness."
+            >Improving Layout Performance</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html">
+            Optimizing Layout Hierarchies
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html">
+            Re-using Layouts with &lt;include/&gt;
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html">
+            Loading Views On Demand
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html">
+            Making ListView Scrolling Smooth
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/monitoring-device-state/index.html"
+             zh-cn-lang="优化电池使用时间"
+             ja-lang="電池消費量の最適化"
+             es-lang="Cómo optimizar la duración de la batería"
+             description=
+             "How to minimize the amount of power your app requires by adapting to current
+             power conditions and performing power-hungry tasks at proper intervals."
+            >Optimizing Battery Life
+            </a>
+        </div>
+        <ul>
+
+          <li class="nav-section">
+            <div class="nav-section-header">
+              <a href="<?cs var:toroot ?>training/performance/battery/network/index.html">
+                Reducing Network Battery Drain
+              </a>
+            </div>
+            <ul>
+              <li><a href="<?cs var:toroot ?>training/performance/battery/network/gather-data.html">
+                Collecting Network Traffic Data
+              </a>
+              </li>
+              <li><a href="<?cs var:toroot ?>training/performance/battery/network/analyze-data.html">
+                Analyzing Network Traffic Data
+              </a>
+              </li>
+              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-user-traffic.html">
+                Optimizing User-Initiated Network Use
+              </a>
+              </li>
+              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-app-traffic.html">
+                Optimizing App-Initiated Network Use
+              </a>
+              </li>
+              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-server-traffic.html">
+                Optimizing Server-Initiated Network Use
+              </a>
+              </li>
+              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-any-traffic.html">
+                Optimizing General Network Use
+              </a>
+              </li>
+            </ul>
+          </li> <!-- End of Reducing Network Battery Drain -->
+
+          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/doze-standby.html"
+            >Optimizing for Doze and App Standby</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/battery-monitoring.html"
+            zh-cn-lang="监控电池电量和充电状态"
+            ja-lang="電池残量と充電状態の監視"
+            es-lang="Cómo controlar el nivel de batería y el estado de carga"
+            >Monitoring the Battery Level and Charging State</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/docking-monitoring.html"
+            zh-cn-lang="确定和监控基座对接状态和类型"
+            ja-lang="ホルダーの装着状態とタイプの特定と監視"
+            es-lang="Cómo determinar y controlar el tipo de conector y el estado de la conexión"
+            >Determining and Monitoring the Docking State and Type</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/connectivity-monitoring.html"
+            zh-cn-lang="确定和监控网络连接状态"
+            ja-lang="接続状態の特定と監視"
+            es-lang="Cómo determinar y controlar el estado de la conectividad"
+            >Determining and Monitoring the Connectivity Status</a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/manifest-receivers.html"
+            zh-cn-lang="根据需要操作广播接收器"
+            ja-lang="オンデマンドでのブロードキャスト レシーバ操作"
+            es-lang="Cómo manipular los receptores de emisión bajo demanda"
+            >Manipulating Broadcast Receivers On Demand</a>
+          </li>
+        </ul>
+      </li>
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/multiple-threads/index.html"
+             description=
+             "How to improve the performance and scalability of long-running operations by
+              dispatching work to multiple threads.">
+             Sending Operations to Multiple Threads</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/multiple-threads/define-runnable.html">
+            Specifying the Code to Run on a Thread
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/multiple-threads/create-threadpool.html">
+            Creating a Manager for Multiple Threads
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/multiple-threads/run-code.html">
+            Running Code on a Thread Pool Thread
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/multiple-threads/communicate-ui.html">
+            Communicating with the UI Thread
+          </a>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/perf-anr.html"
+           description=
+           "How to keep your app responsive to user interaction so the UI does not lock-up and
+           display an &quot;Application Not Responding&quot; dialog."
+          >Keeping Your App Responsive</a>
+      </li>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/perf-jni.html"
+           description=
+           "How to efficiently use the Java Native Interface with the Android NDK."
+          >JNI Tips</a>
+      </li>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/smp.html"
+           description=
+           "Tips for coding Android apps on symmetric multiprocessor systems."
+          >SMP Primer for Android</a>
+      </li>
+    </ul>
+  </li> <!-- end of Performance -->
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/best-security.html">
+      <span class="small">Best Practices for</span><br/>
+              Security &amp; Privacy
+      </a>
+    </div>
+    <ul>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/security-tips.html"
+           description=
+           "How to perform various tasks and keep your app's data and your user's data secure."
+          >Security Tips</a>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/security-ssl.html"
+           description=
+           "How to ensure that your app is secure when performing network transactions."
+          >Security with HTTPS and SSL</a>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/security-gms-provider.html"
+           description=
+           "How to use and update Google Play services security provider, to
+           protect against SSL exploits."
+          >Updating Your Security Provider to Protect Against SSL Exploits</a>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/safetynet/index.html"
+           description=
+           "How to use the SafetyNet service to analyze a device where your app is running
+            and get information about its compatibility with your app."
+          >Checking Device Compatibility with SafetyNet</a>
+      </li>
+
+      <li>
+        <a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html"
+            description="How to create an application that enforces security policies on devices."
+            >Enhancing Security with Device Management Policies</a>
+      </li>
+    </ul>
+  </li>
+  <!-- End security and user info -->
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/best-permissions-ids.html">
+      <span class="small">Best Practices for</span><br/>
+              Permissions &amp; Identifiers
+      </a>
+    </div>
+    <ul>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/user-data-overview.html"
+           description=
+           "Overview of app permissions on Android and how they affect your users."
+          >Permissions and User Data</a>
+      </li>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/user-data-permissions.html"
+           description=
+           "How to manage permissions the right way for users."
+          >Best Practices for App Permissions</a>
+      </li>
+      <li>
+        <a href="<?cs var:toroot ?>training/articles/user-data-ids.html"
+           description=
+           "Unique identifiers available and how to choose the right one for your use case."
+          >Best Practices for Unique Identifiers</a>
+      </li>
+    </ul>
+  </li>
+  <!-- End Permissions and identifiers -->
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/testing/index.html">
+      <span class="small">Best Practices for</span><br/>
+              Testing
+      </a>
+    </div>
+    <ul>
+      <li>
+      <a href="<?cs var:toroot ?>training/testing/start/index.html"
+         description="How to get started with testing your Android applications.">
+            Getting Started with Testing
+          </a>
+      </li>
+      <li class="nav-section">
+      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/unit-testing/index.html"
+         description="How to build effective unit tests for Android apps.">
+            Building Effective Unit Tests
+          </a></div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/testing/unit-testing/local-unit-tests.html">
+            <span class="en">Building Local Unit Tests</span>
+            </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/testing/unit-testing/instrumented-unit-tests.html">
+            <span class="en">Building Instrumented Unit Tests</span>
+            </a>
+          </li>
+        </ul>
+      </li>
+      <li class="nav-section">
+      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/ui-testing/index.html"
+         description="How to automate your user interface tests for Android apps.">
+            Automating UI Tests
+          </a></div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/testing/ui-testing/espresso-testing.html">
+            <span class="en">Testing UI for a Single App</span>
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/testing/ui-testing/uiautomator-testing.html">
+            <span class="en">Testing UI for Multiple Apps</span>
+          </a>
+          </li>
+        </ul>
+      </li>
+      <li class="nav-section">
+      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/integration-testing/index.html"
+         description="How to build effective integration tests for Android apps.">
+            Testing App Component Integrations
+          </a></div>
+        <ul>
+         <li><a href="<?cs var:toroot ?>training/testing/integration-testing/service-testing.html">
+           <span class="en">Testing Your Service</span></a></li>
+         <li><a href="<?cs var:toroot ?>training/testing/integration-testing/content-provider-testing.html">
+           <span class="en">Testing Your Content Provider</span></a></li>
+        </ul>
+      </li>
+      <li><a href="<?cs var:toroot ?>training/testing/performance.html"
+          description="How to automate UI performance testing.">Testing Display Performance</a>
+      </li>
+    </ul>
+  </li>
+  <!-- End best Testing -->
+
+  <li class="nav-section">
+    <div class="nav-section-header">
+      <a href="<?cs var:toroot ?>training/distribute.html">
+      <span class="small">Using Google Play to</span><br/>
+              Distribute &amp; Monetize
+      </a>
+    </div>
+    <ul>
+      <li class="nav-section">
+      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/in-app-billing/index.html"
+         description="How to sell in-app products from your application using In-app Billing.">
+            Selling In-app Products
+          </a></div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/in-app-billing/preparing-iab-app.html">
+            <span class="en">Preparing Your App</span>
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/in-app-billing/list-iab-products.html">
+            <span class="en">Establishing Products for Sale</span>
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/in-app-billing/purchase-iab-products.html">
+            <span class="en">Purchasing Products</span>
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/in-app-billing/test-iab-app.html">
+            <span class="en">Testing Your App</span>
+          </a>
+          </li>
+        </ul>
+      </li>
+
+      <li class="nav-section">
+        <div class="nav-section-header">
+          <a href="<?cs var:toroot ?>training/multiple-apks/index.html"
+             description=
+             "How to publish your app on Google Play with separate APKs that target
+             different devices, while using a single app listing."
+            >Maintaining Multiple APKs</a>
+        </div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html">
+            Creating Multiple APKs for Different API Levels
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html">
+            Creating Multiple APKs for Different Screen Sizes
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html">
+            Creating Multiple APKs for Different GL Textures
+          </a>
+          </li>
+          <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html">
+            Creating Multiple APKs with 2+ Dimensions
+          </a>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <!-- End best Publishing -->
+
+</ul><!-- nav -->
+<script type="text/javascript">
+<!--
+    buildToggleLists();
+    changeNavLang(getLangPref());
+//-->
+</script>
diff --git a/docs/html/training/performance/battery/network/action-any-traffic.jd b/docs/html/topic/performance/power/network/action-any-traffic.jd
similarity index 100%
rename from docs/html/training/performance/battery/network/action-any-traffic.jd
rename to docs/html/topic/performance/power/network/action-any-traffic.jd
diff --git a/docs/html/training/performance/battery/network/action-app-traffic.jd b/docs/html/topic/performance/power/network/action-app-traffic.jd
similarity index 100%
rename from docs/html/training/performance/battery/network/action-app-traffic.jd
rename to docs/html/topic/performance/power/network/action-app-traffic.jd
diff --git a/docs/html/training/performance/battery/network/action-server-traffic.jd b/docs/html/topic/performance/power/network/action-server-traffic.jd
similarity index 100%
rename from docs/html/training/performance/battery/network/action-server-traffic.jd
rename to docs/html/topic/performance/power/network/action-server-traffic.jd
diff --git a/docs/html/training/performance/battery/network/action-user-traffic.jd b/docs/html/topic/performance/power/network/action-user-traffic.jd
similarity index 100%
rename from docs/html/training/performance/battery/network/action-user-traffic.jd
rename to docs/html/topic/performance/power/network/action-user-traffic.jd
diff --git a/docs/html/training/performance/battery/network/analyze-data.jd b/docs/html/topic/performance/power/network/analyze-data.jd
similarity index 100%
rename from docs/html/training/performance/battery/network/analyze-data.jd
rename to docs/html/topic/performance/power/network/analyze-data.jd
diff --git a/docs/html/training/performance/battery/network/gather-data.jd b/docs/html/topic/performance/power/network/gather-data.jd
similarity index 100%
rename from docs/html/training/performance/battery/network/gather-data.jd
rename to docs/html/topic/performance/power/network/gather-data.jd
diff --git a/docs/html/training/performance/battery/network/index.jd b/docs/html/topic/performance/power/network/index.jd
similarity index 100%
rename from docs/html/training/performance/battery/network/index.jd
rename to docs/html/topic/performance/power/network/index.jd
diff --git a/docs/html/topic/performance/reduce-apk-size.jd b/docs/html/topic/performance/reduce-apk-size.jd
new file mode 100644
index 0000000..1e73bf0
--- /dev/null
+++ b/docs/html/topic/performance/reduce-apk-size.jd
@@ -0,0 +1,538 @@
+page.title=Reduce APK Size
+trainingnavtop=true
+
+@jd:body
+
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>This lesson teaches you to</h2>
+<ol>
+  <li><a href="#apk-structure">Understand the APK Structure</a></li>
+  <li><a href="#reduce-resources">Reduce Resource Count and Size</a></li>
+  <li><a href="#reduce-code">Reduce Native and Java Code</a></li>
+  <li><a href="#multiple-apks">Maintain Multiple Lean APKs</a></li>
+</ol>
+
+<h2>
+  You should also read
+</h2>
+
+<ul>
+  <li>
+    <a href="{@docRoot}studio/build/shrink-code.html">Shrink Your Code and
+    Resources</a>
+  </li>
+</ul>
+
+
+</div>
+</div>
+
+<p>
+  Users often avoid downloading apps that seem too large, particularly in
+  emerging markets where devices connect to often-spotty 2G and
+  3G networks or work on pay-by-the-byte plans. This article describes how to
+  reduce your app's APK size, which enables more users to download your app.
+</p>
+
+<h2 id="apk-structure">
+  Understand the APK Structure
+</h2>
+
+<p>
+  Before discussing how to reduce the size of your app, it's helpful to
+  understand the structure of an app's APK. An APK file consists of a ZIP
+  archive that contains all the files that comprise your app. These files
+  include Java class files, resource files, and a file containing compiled
+  resources.
+</p>
+
+<p>
+An APK contains the following directories:
+</p>
+
+<ul>
+  <li>{@code META-INF/}: Contains the <code>CERT.SF</code> and
+  <code>CERT.RSA</code> signature files, as well as the {@code MANIFEST.MF}
+  manifest file.
+  </li>
+
+  <li>{@code assets/}: Contains the app's assets, which the app can retrieve
+  using an {@link android.content.res.AssetManager} object.
+  </li>
+
+  <li>
+  {@code res/}: Contains resources that aren't compiled into
+  <code>resources.arsc</code>.
+  </li>
+
+  <li>{@code lib/}: Contains the compiled code that is specific to the software
+  layer of a processor. This directory contains a subdirectory for each
+  platform type, like <code>armeabi</code>, <code>armeabi-v7a</code>,
+  <code>arm64-v8a</code>, <code>x86</code>, <code>x86_64</code>, and
+  <code>mips</code>.
+  </li>
+</ul>
+
+<p>
+An APK also contains the following files. Among them,
+only <code>AndroidManifest.xml</code> is mandatory.
+</p>
+
+<ul>
+  <li>{@code resources.arsc}: Contains compiled resources. This file contains
+  the XML content from all configurations of the <code>res/values/</code>
+  folder. The packaging tool extracts this XML content, compiles it to binary
+  form, and archives the content. This content includes language strings and
+  styles, as well as paths to content that is not included directly in the
+  <code>resources.arsc</code> file, such as layout files and images.
+  </li>
+
+  <li>{@code classes.dex}: Contains the classes compiled in the DEX file format
+  understood by the Dalvik/ART virtual machine.
+  </li>
+
+  <li>{@code AndroidManifest.xml}: Contains the core Android manifest file.
+  This file lists the name, version, access rights, and referenced library
+  files of the app. The file uses Android's binary XML format.
+  </li>
+</ul>
+
+<h2 id="reduce-resources">
+  Reduce Resource Count and Size
+</h2>
+
+<p>
+  The size of your APK has an impact on how fast your app loads, how much
+  memory it uses, and how much power it consumes. One of the simple ways to
+  make your APK smaller is to reduce the number and size of the
+  resources it contains. In particular, you can remove resources
+  that your app no longer uses, and you can use scalable {@link
+  android.graphics.drawable.Drawable} objects in place of image files. This
+  section discusses these methods as well as several other ways that you can
+  reduce the resources in your app to decrease the overall size of your APK.
+</p>
+
+<h3 id="remove-unused">
+  Remove Unused Resources
+</h3>
+
+<p>
+  The <a href="{@docRoot}studio/write/lint.html">{@code lint}</a> tool, a
+  static code analyzer included in Android Studio, detects resources in your
+  <code>res/</code> folder that your code doesn't reference. When the
+  <code>lint</code> tool discovers a potentially unused resource in your
+  project, it prints a message like the following example.
+</p>
+
+<pre class="no-pretty-print">
+res/layout/preferences.xml: Warning: The resource R.layout.preferences appears
+    to be unused [UnusedResources]
+</pre>
+<p class="note">
+  <strong>Note:</strong> The <code>lint</code> tool doesn't scan the {@code
+  assets/} folder, assets that are referenced via reflection, or library files
+  that you've linked to your app. Also, it doesn't remove resources; it only
+  alerts you to their presence.
+</p>
+
+<p>
+  Libraries that you add to your code may include unused resources. Gradle can
+  automatically remove resources on your behalf if you enable <a href=
+  "{@docRoot}studio/build/shrink-code.html">{@code shrinkResources}</a> in
+  your app's <code>build.gradle</code> file.
+</p>
+
+<pre class="prettyprint">
+android {
+    // Other settings
+
+    buildTypes {
+        release {
+            minifyEnabled true
+            shrinkResources true
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+}
+</pre>
+<p>
+  To use {@code shrinkResources}, you must enable code shrinking. During the
+  build process, first <a href=
+  "{@docRoot}studio/build/shrink-code.html">ProGuard</a> removes unused code
+  but leaves unused resources. Then Gradle removes the unused resources.
+</p>
+
+<p>
+  For more information about ProGuard and other ways
+  Android Studio helps you reduce APK size, see <a href=
+  "{@docRoot}studio/build/shrink-code.html">Shrink Your Code and Resources</a>.
+</p>
+
+<p>
+  In Android Gradle Plugin 0.7 and higher, you can declare the configurations
+  that your app supports. Gradle passes this information to the build system
+  using the {@code resConfig} and {@code resConfigs} flavors and the
+  <code>defaultConfig</code> option. The build system then prevents resources
+  from other, unsupported configurations from appearing in the APK, reducing
+  the APK's size. For more information about this feature, see <a href=
+  "{@docRoot}studio/build/shrink-code.html#unused-alt-resources">Remove unused
+  alternative resources</a>.
+</p>
+
+<h3 id="minimize">
+  Minimize Resource Use from Libraries
+</h3>
+
+<p>
+  When developing an Android app, you usually use external libraries to improve
+  your app's usability and versatility. For example, you might reference the
+  <a href="{@docRoot}topic/libraries/support-library/index.html">Android
+  Support Library</a> to improve the user experience on older devices, or you
+  could use <a class="external-link" href=
+  "https://developers.google.com/android/guides/overview">Google Play
+  Services</a> to retrieve automatic translations for text within your app.
+</p>
+
+<p>
+  If a library was designed for a server or desktop, it can include many
+  objects and methods that your app doesn’t need. To include only the parts of
+  the library that your app needs, you can edit the library's files if the
+  license allows you to modify the library. You can also use an alternative,
+  mobile-friendly library to add specific functionality to your app.
+</p>
+
+<p class="note">
+  <strong>Note:</strong> <a href=
+  "{@docRoot}studio/build/shrink-code.html">ProGuard</a> can clean up some
+  unnecessary code imported with a library, but it can't remove a library's
+  large internal dependencies.
+</p>
+
+<h3 id="support-densities">
+  Support Only Specific Densities
+</h3>
+
+<p>
+  Android supports a very large set of devices, encompassing a variety of
+  screen densities. In Android 4.4 (API level 19) and higher, the framework
+  supports various densities: <code>ldpi</code>, <code>mdpi</code>,
+  <code>tvdpi</code>, <code>hdpi,</code> <code>xhdpi</code>,
+  <code>xxhdpi</code> and <code>xxxhdpi</code>. Although Android supports all
+  these densities, you don't need to export your rasterized assets to each
+  density.
+</p>
+
+<p>
+  If you know that only a small percentage of your users have devices with
+  specific densities, consider whether you need to bundle those densities into
+  your app. If you don't include resources for a specific screen density,
+  Android automatically scales existing resources originally designed for other
+  screen densities.
+</p>
+
+<p>
+  If your app needs only scaled images, you can save even more space by having
+  a single variant of an image in <code>drawable-nodpi/</code>. We recommend
+  that every app include at least an <code>xxhdpi</code> image variant.
+</p>
+
+<p>
+  For more information screen densities, see <a class="external-link" href=
+  "{@docRoot}about/dashboards/index.html#Screens">Screen Sizes and
+  Densities</a>.
+</p>
+
+<h3 id="reduce-frames">
+  Reduce Animation Frames
+</h3>
+
+<p>
+  Frame-by-frame animations can drastically increase the size of your APK.
+  Figure 1 shows an example of a frame-by-frame animation separated into
+  multiple PNG files within a directory. Each image is one frame in the
+  animation.
+</p>
+
+<p>
+  For each frame that you add to the animation, you increase the number of
+  images stored in the APK. In Figure 1, the image animates at 30 FPS within
+  the app. If the image animated at only 15 FPS instead, the animation would
+  require only half the number of needed frames.
+</p>
+
+<figure id="fig-frame-animations">
+  <img src="{@docRoot}images/training/performance/animation-frames.png" srcset=
+  "{@docRoot}images/training/performance/animation-frames.png 1x, {@docRoot}images/training/performance/animation-frames_2x.png 2x"
+  width="803" alt="">
+  <figcaption>
+    <strong>Figure 1.</strong> Frame by frame animations stored as resources.
+  </figcaption>
+</figure>
+
+<h3 id="use-drawables">
+  Use Drawable Objects
+</h3>
+
+<p>
+  Some images don't require a static image resource; the framework can
+  dynamically draw the image at runtime instead. {@link
+  android.graphics.drawable.Drawable} objects (<code>&lt;shape&gt;</code> in
+  XML) can take up a tiny amount of space in your APK. In addition, XML {@link
+  android.graphics.drawable.Drawable} objects produce monochromatic images
+  compliant with material design guidelines.
+</p>
+
+<h3 id="reuse-resources">
+  Reuse Resources
+</h3>
+
+<p>
+  You can include a separate resource for variations of an image, such as
+  tinted, shaded, or rotated versions of the same image. We recommend, however,
+  that you reuse the same set of resources, customizing them as needed at
+  runtime.
+</p>
+
+<p>
+  Android provides several utilities to change the color of an asset, either
+  using the {@code android:tint} and {@code tintMode} attributes on Android 5.0
+  (API level 21) and higher. For lower versions of the platform, use the {@link
+  android.graphics.ColorFilter} class.
+</p>
+<p>
+  You can also omit resources that are only a rotated equivalent of another
+  resource. The following code snippet provides an example of turning an
+  "expand" arrow into a "collapse" arrow icon by simply rotating the original
+  image 180 degrees:
+</p>
+
+<pre class="prettyprint">
+&lt;?xml version="1.0" encoding="utf-8"?&gt;
+&lt;rotate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:drawable="@drawable/ic_arrow_expand"
+    android:fromDegrees="180"
+    android:pivotX="50%"
+    android:pivotY="50%"
+    android:toDegrees="180" /&gt;
+</pre>
+<h3 id="render-code">
+  Render From Code
+</h3>
+
+<p>
+  You can also reduce your APK size by procedurally rendering your images.
+  Procedural rendering frees up space because you no longer store an image file
+  in your APK.
+</p>
+
+<h3 id="crunch">
+  Crunch PNG Files
+</h3>
+
+<p>
+  The <code>aapt</code> tool can optimize the image resources placed in
+  <code>res/drawable/</code> with lossless compression during the build
+  process. For example, the <code>aapt</code> tool can convert a true-color PNG
+  that does not require more than 256 colors to an 8-bit PNG with a color
+  palette. Doing so results in an image of equal quality but a smaller memory
+  footprint.
+</p>
+
+<p>
+  Keep in mind that the <code>aapt</code> has the following limitations:
+</p>
+
+<ul>
+  <li>The <code>aapt</code> tool does not shrink PNG files contained in the
+  <code>asset/</code> folder.
+  </li>
+
+  <li>Image files need to use 256 or fewer colors for the <code>aapt</code>
+  tool to optimize them.
+  </li>
+
+  <li>The <code>aapt</code> tool may inflate PNG files that have already been
+  compressed. To prevent this, you can use the <code>cruncherEnabled</code>
+  flag in Gradle to disable this process for PNG files:
+  </li>
+</ul>
+
+<pre class="prettyprint">
+aaptOptions {
+    cruncherEnabled = false
+}
+</pre>
+<h3 id="compress">
+  Compress PNG and JPEG Files
+</h3>
+
+<p>
+  You can reduce PNG file sizes without losing image quality using tools like
+  <a class="external-link" href=
+  "http://pmt.sourceforge.net/pngcrush/">pngcrush</a>, <a class="external-link"
+  href="https://pngquant.org/">pngquant</a>, or <a class="external-link" href=
+  "https://github.com/google/zopfli">zopflipng</a>. All of these tools can
+  reduce PNG file size while preserving image quality.
+</p>
+
+<p>
+  The {@code pngcrush} tool is particularly effective: This tool iterates over
+  PNG filters and zlib (Deflate) parameters, using each combination of filters
+  and parameters to compress the image. It then chooses the configuration that
+  yields the smallest compressed output.
+</p>
+
+<p>
+  For JPEG files, you can use tools like <a class="external-link" href=
+  "http://www.elektronik.htw-aalen.de/packjpg/">packJPG</a> that compress JPEG
+  files into a more compact form.
+</p>
+
+<h3 id="use-webp">
+  Use WebP File Format
+</h3>
+
+<p>
+  Instead of using PNG or JPEG files, you can also use the <a class=
+  "external-link" href="https://developers.google.com/speed/webp/">WebP</a>
+  file format for your images. The WebP format provides lossy compression (like
+  JPEG) as well as transparency (like PNG) but can provide better compression
+  than either JPEG or PNG.
+</p>
+
+<p>
+  Using the WebP file format has a few notable drawbacks, however. First,
+  support for WebP is not available in versions of the platform lower than
+  Android 3.2 (API level 13). Second, it takes a longer amount of time for the
+  system to decode WebP than PNG files.
+</p>
+
+<p class="note">
+  <strong>Note:</strong> Google Play accepts APKs only if the included icons
+  use the PNG format. You can't use other file formats like JPEG or WebP for
+  app icons if you intend to publish your app through Google Play.
+</p>
+
+<h3 id="vector">
+  Use Vector Graphics
+</h3>
+
+<p>
+  You can use vector graphics to create resolution-independent icons and other
+  scalable media. Using these graphics can greatly reduce your APK footprint.
+  Vector images are represented in Android as {@link
+  android.graphics.drawable.VectorDrawable} objects. With a {@link
+  android.graphics.drawable.VectorDrawable } object, a 100-byte file can
+  generate a sharp image the size of the screen.
+</p>
+
+<p>
+  However, it takes a significant amount of time for the system to render each
+  {@link android.graphics.drawable.VectorDrawable} object, and larger images
+  take even longer to appear on the screen. Therefore, consider using these
+  vector graphics only when displaying small images.
+</p>
+
+<p>
+  For more information on working with {@link
+  android.graphics.drawable.VectorDrawable } objects, see <a class=
+  "external-link" href="{@docRoot}training/material/drawables.html">Working
+  with Drawables</a>.
+</p>
+
+<h2 id="reduce-code">
+  Reduce Native and Java Code
+</h2>
+
+<p>
+  There are several methods you can use to reduce the size of the Java and
+  native codebase in your app.
+</p>
+
+<h3 id="remove-generated">
+  Remove Unnecessary Generated Code
+</h3>
+
+<p>
+  Make sure to understand the footprint of any code which is automatically
+  generated. For example, many protocol buffer tools generate an excessive
+  number of methods and classes, which can double or triple the size of your
+  app.
+</p>
+
+<h3 id="remove-enums">
+  Remove Enumerations
+</h3>
+
+<p>
+  A single enum can add about 1.0 to 1.4 KB of size to your app's
+  <code>classes.dex</code> file. These additions can quickly accumulate for
+  complex systems or shared libraries. If possible, consider using the
+  <code>@IntDef</code> annotation and <a href=
+  "{@docRoot}studio/build/shrink-code.html">ProGuard</a> to strip enumerations
+  out and convert them to integers. This type conversion preserves all of the
+  type safety benefits of enums.
+</p>
+
+<h3 id="reduce-binaries">
+  Reduce the Size of Native Binaries
+</h3>
+
+<p>
+  If your app uses native code and the Android NDK, you can also reduce the
+  size of your app by optimizing your code. Two useful techniques are
+  removing debug symbols and not extracting native libraries.
+</p>
+
+<h4 id="remove-debug">
+  Remove Debug Symbols
+</h4>
+
+<p>
+  Using debug symbols makes sense if your application is in development and
+  still requires debugging. Use the <code>arm-eabi-strip</code> tool, provided
+  in the Android NDK, to remove unnecessary debug symbols from native
+  libraries. After that, you can compile your release build.
+</p>
+
+<h4 id="extract-false">
+  Avoid Extracting Native Libraries
+</h4>
+
+<p>
+  Store {@code .so} files uncompressed in the APK, and set the {@code
+  android:extractNativeLibs} flag to false in the <a href=
+  "{@docRoot}guide/topics/manifest/application-element.html">{@code
+  <application>}</a> element of your app manifest. This will prevent
+  {@link android.content.pm.PackageManager} from copying out {@code .so} files
+  from the APK to the filesystem during installation and will have the added
+  benefit of making delta updates of your app smaller.
+</p>
+
+<h2 id="multiple-apks">
+  Maintain Multiple Lean APKs
+</h2>
+
+<p>
+  Your APK can contain content that users download but never use, like regional
+  or language information. To create a minimal download for your users, you can
+  segment your app into several APKs, differentiated by factors such as screen
+  size or GPU texture support.
+</p>
+
+<p>
+  When a user downloads your app, their device receives the correct APK based
+  on the device's features and settings. This way, devices don't receive assets
+  for features that the devices don't have. For example, if a user has a
+  <code>hdpi</code> device, they don’t need <code>xxxhdpi</code> resources that
+  you might include for devices with higher density displays.
+</p>
+
+<p>
+  For more information, see <a href=
+  "{@docRoot}studio/build/configure-apk-splits.html">Configure APK Splits</a>
+  and <a class="external-link" href=
+  "{@docRoot}training/multiple-apks/index.html">Maintaining Multiple APKs</a>.
+</p>
diff --git a/docs/html/topic/performance/scheduling.jd b/docs/html/topic/performance/scheduling.jd
new file mode 100644
index 0000000..b6f0fdc
--- /dev/null
+++ b/docs/html/topic/performance/scheduling.jd
@@ -0,0 +1,285 @@
+page.title=Intelligent Job-Scheduling
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document</h2>
+<ol>
+   <li><a href="#js">Android Framework JobScheduler</a></li>
+   <li><a href="#am">AlarmManager</a></li>
+   <li><a href="#fjd">Firebase JobDispatcher</a></li>
+   <li><a href="#gcmnm">GCM Network Manager</a></li>
+   <li><a href="#af">Additional Facilities</a></li>
+   <ul>
+      <li><a href="#sa">SyncAdapter</a></li>
+      <li><a href="#services">Services</a></li>
+   </ul>
+   <li><a href="#ap">Additional Points</a></li>
+</ol>
+
+</div>
+</div>
+
+<p>
+Modern apps can perform many of their tasks asynchronously, outside the
+direct flow of user interaction. Some examples of these asynchronous tasks are:
+</p>
+
+<ul>
+   <li>Updating network resources.</li>
+   <li>Downloading information.</li>
+   <li>Updating background tasks.</li>
+   <li>Scheduling system service calls.</li>
+</ul>
+
+<p>
+Scheduling this work intelligently can improve your app’s performance,
+along with aspects of system health such as battery life. {@link android.app.job.JobScheduler}
+does this scheduling work for you.
+<p>
+
+<p>
+There are several APIs that your app can use to schedule background work. Chief
+among these options is {@link android.app.job.JobScheduler}.
+The {@link android.app.job.JobScheduler} API allows you to specify robust
+conditions for executing tasks,
+along with centralized task scheduling across the device for optimal
+system health. {@link android.app.job.JobScheduler} also offers highly
+scalable functionality: it is suitable for small tasks like clearing a cache,
+and for large ones such as syncing a database to the cloud.
+<p>
+
+<p>
+In addition to {@link android.app.job.JobScheduler}, there are several other
+facilities available to help your app schedule work. These include:
+</p>
+
+<ul>
+   <li><a href="{@docRoot}reference/android/app/AlarmManager.html">AlarmManager
+   </a></li>
+   <li><a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+   Firebase JobDispatcher</a></li>
+   <li><a href="https://developers.google.com/cloud-messaging/network-manager">
+   GCM Network Manager</a></li>
+   <li><a href="{@docRoot}reference/android/content/AbstractThreadedSyncAdapter.html">
+   SyncAdapter</a></li>
+   <li><a href="{@docRoot}reference/android/content/AbstractThreadedSyncAdapter.html">
+   Additional Facilities</a></li>
+</ul>
+
+<p>
+This page provides brief introductions to {@link android.app.job.JobScheduler}
+and other APIs that can help your app schedule work to maximize app performance
+and system health.
+</p>
+
+<h2 id="js">Android Framework JobScheduler</h2>
+
+<p>
+{@link android.app.job.JobScheduler} is the Android framework’s native platform
+for scheduling tasks or work. It first became available in Android 5.0 (API
+level 21), and remains under active development. Notably, Android N (API
+level 24) added the ability to trigger jobs based on
+{@link android.content.ContentProvider} changes.
+</p>
+
+<p>
+{@link android.app.job.JobScheduler} is implemented in the platform, which
+allows it to collect information about jobs that need to run across all apps.
+This information is used to schedule jobs to run at, or around, the same time.
+Batching job execution in this fashion allows the device to enter and stay in
+sleep states longer, preserving battery life.
+</p>
+
+<p>
+You use {@link android.app.job.JobScheduler} by registering jobs, specifying
+their requirements for network and timing. The system then gracefully schedules
+the jobs to execute at the appropriate times. At the same time, it also defers
+job execution as necessary to comply with
+<a href="{@docRoot}topic/performance/monitoring-device-state/doze-standby.html">
+Doze and App Standby</a> restrictions.
+{@link android.app.job.JobScheduler} provides many methods to define
+job-execution conditions.
+</p>
+
+<p>
+If your app targets Android 5.0 (API level 21), we recommend that you use the
+{@link android.app.job.JobScheduler} to execute background tasks. For more
+information about {@link android.app.job.JobScheduler}, see its
+<a href="{@docRoot}reference/android/app/job/JobScheduler.html">API-reference
+documentation.</a>
+</p>
+
+<h2 id="am">AlarmManager</h2>
+
+<p>
+The {@link android.app.AlarmManager} API is another option that the framework
+provides for scheduling tasks. This API is useful in cases in which an app
+needs to post a notification or set off an alarm at a very specific time.
+</p>
+
+<p>
+You should only use this API for tasks that must execute at a specific time,
+but do not require the other, more robust, execution conditions that
+{@link android.app.job.JobScheduler} allows you to specify, such as device
+idle and charging detect.
+</p>
+
+<p>
+{@link android.app.AlarmManager} does not honor
+<a href="{@docRoot}topic/performance/monitoring-device-state/doze-standby.html">
+Doze and App Standby</a> restrictions; it runs tasks even during
+<a href="{@docRoot}topic/performance/monitoring-device-state/doze-standby.html">
+Doze or App Standby</a> mode. Additionally,
+an app running during
+<a href="{@docRoot}topic/performance/monitoring-device-state/doze-standby.html">
+Doze or App Standby</a> mode cannot use the network.
+</p>
+
+<h2 id="fjd">Firebase JobDispatcher</h2>
+
+<p>
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+Firebase JobDispatcher</a> is an open-source library that provides an API similar to
+{@link android.app.job.JobScheduler} in the Android platform.
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+Firebase JobDispatcher</a> serves as a
+{@link android.app.job.JobScheduler}-compatibility layer for apps targeting
+versions of Android lower than 5.0 (API level 21).
+</p>
+
+<p>
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+Firebase JobDispatcher</a> supports the use of Google Play services as an
+implementation for dispatching (running) jobs, but the library also allows you
+to define and use other implementations: For example, you might decide to use
+{@link android.app.job.JobScheduler} or write your own, custom code.
+Because of this versatility, we recommend that you use this
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+Firebase JobDispatcher</a> if your app targets a version of Android lower
+than 5.0 (API level 21).
+</p>
+
+<p>
+For more information about
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+Firebase JobDispatcher</a>, refer to its
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+documentation and source code</a>.
+</p>
+
+<h2 id = "gcmnm">GCM Network Manager</h2>
+
+<p>
+<a href="https://developers.google.com/cloud-messaging/network-manager">GCM
+Network Manager</a> is a compatibility port of the Android
+{@link android.app.job.JobScheduler} for apps that support versions of Android
+prior to 5.0 (API level 21). This API has all of the same advantages as
+{@link android.app.job.JobScheduler}. However, it depends on Google Play
+services, which acts like {@link android.app.job.JobScheduler} by taking care
+of cross-app job scheduling to improve battery life. This client library is
+part of the Google Play services GCM client library, but does not require
+that an app use
+<a href="https://developers.google.com/cloud-messaging/">Google Cloud
+Messaging</a>.
+</p>
+
+<p>
+This library is an earlier version of
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+Firebase JobDispatcher</a>. Forward development on GCM Network Manager has
+stopped; we recommend that you use
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+Firebase JobDispatcher</a> going forward.
+</p>
+
+<h2 id="af">Additional Facilities</h2>
+
+<p>
+In addition to the APIs and libraries described above, there are also sync
+adapters and services that can enable your app, under specific conditions,
+to perform better and more robustly.
+</p>
+
+<h3 id="sa">SyncAdapter</h3>
+
+<p>
+The framework continues to provide the
+{@link android.content.AbstractThreadedSyncAdapter SyncAdapter} class for
+managing tasks that sync data between the device and a server. Sync adapters are
+designed specifically for syncing data between a device and the cloud; you
+should only use them for this type of task. Sync adapters are more complex to
+implement than the libraries and APIs mentioned above, because they require at
+least a fake
+<a href="{@docRoot}training/sync-adapters/creating-authenticator.html">
+authenticator</a>and
+<a href="{@docRoot}training/sync-adapters/creating-stub-provider.html">
+content provider</a> implementation. For these reasons, you typically should
+not create a sync adapter just to sync data to the cloud in the
+background. Wherever possible, you should instead use
+{@link android.app.job.JobScheduler},
+<a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+Firebase JobDispatcher</a>, or
+<a href="https://developers.google.com/cloud-messaging/network-manager">GCM
+Network Manager</a> .
+</p>
+
+<p>
+In Android N (API level 24), the {@code SyncManager} sits on top of
+the {@link android.app.job.JobScheduler}. You should only use the
+{@link android.content.AbstractThreadedSyncAdapter SyncAdapter}
+class if you require the additional functionality that it provides.
+</p>
+
+<h3 id="services">Services</h3>
+
+<p>
+The <a href="{@docRoot}guide/components/services.html">Services</a>
+framework allows you to perform long-running operations in the background.
+We recommend foreground services for tasks, such as playing
+music, which need to stay resident for the user. Bound services also continue
+to be useful for various use cases: for example, when a service needs to
+run only when a user is viewing a fragment or activity.
+</p>
+
+<p>
+You should avoid using started services that run perpetually or
+perform periodic work, since they continue to use device resources
+even when they are not performing useful tasks. Instead, you
+should use other solutions that this page describes,
+and that provide native lifecycle management. Use started services
+only as a last resort. The Android platform may not support
+started services in the future.
+</p>
+
+<h2 id="ap">Additional Points</h2>
+
+<p>
+Regardless of the solution you adopt, keep the following points in mind:
+</p>
+
+<ul>
+   <li>Captive Internet Portals, VPNs, and proxies can pose
+   Internet-connectivity detection problems. A library or API may think the
+   Internet is available, but your service may not be accessible. Fail
+   gracefully and reschedule as few of your tasks as possible.</li>
+   <li>Depending on the conditions you assign for running a task, 
+   such as network availability, after the task is triggered, a
+   change may occur so that those conditions are no longer met.
+   In such a case, your operation may fail unexpectedly and repeatedly.
+   For this reason, you
+   should code your background task logic to notice when tasks are failing
+   persistently, and perform exponential back-off to avoid
+   inadvertently over-using resources.</li>
+
+
+
+   <li>Remember to use exponential backoff when rescheduling any work,
+   especially when using {@link android.app.AlarmManager}. If your app uses
+   {@link android.app.job.JobScheduler},
+   <a href="https://developers.google.com/cloud-messaging/network-manager">GCM
+   Network Manager</a>,
+   <a href="https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-">
+   Firebase JobDispatcher</a>, or sync adapters, exponential backoff is automatically used.</li>
+</ul>
diff --git a/docs/html/topic/performance/threads.jd b/docs/html/topic/performance/threads.jd
new file mode 100644
index 0000000..b2a2d9f
--- /dev/null
+++ b/docs/html/topic/performance/threads.jd
@@ -0,0 +1,453 @@
+page.title=Threading Performance
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document</h2>
+<ol>
+<li><a href="#main">Main Thread</a>
+  <ol>
+    <li><a href="#internals">Internals</a></li>
+  </ol>
+</li>
+<li><a href="#references">Threading and UI Object References</a>
+  <ol>
+    <li><a href="#explicit">Explicit references</a></li>
+    <li><a href="#implicit">Implicit references</a></li>
+  </ol>
+</li>
+<li><a href="#lifecycles">Threading and App and Activity Lifecycles</a>
+   <ol>
+      <li><a href="#persisting">Persisting threads</a></li>
+      <li><a href="#priority">Thread priority</a></li>
+   </ol>
+      </li>
+<li><a href="#helper">Helper Classes for Threading</a>
+   <ol>
+      <li><a href="#asynctask">The AsyncTask class</a></li>
+      <li><a href="#handlerthread">The HandlerThread class</a></li>
+      <li><a href="#threadpool">The ThreadPoolExecutor class</a></li>
+   </ol>
+      </li>
+</ol>
+</div>
+</div>
+
+<p>
+Making adept use of threads on Android can help you boost your app’s
+performance. This page discusses several aspects of working with threads:
+working with the UI, or main, thread; the relationship between app lifecycle and
+thread priority; and, methods that the platform provides to help manage thread
+complexity. In each of these areas, this page describes potential pitfalls and
+strategies for avoiding them.
+</p>
+<h2 id="main">Main Thread</h2>
+<p>
+When the user launches your app, Android creates a new <a
+href="{@docRoot}guide/components/fundamentals.html">Linux
+process</a> along with an execution thread. This <strong>main thread,</strong>
+also known as the UI thread, is responsible for everything that happens
+onscreen. Understanding how it works can help you design your app to use the
+main thread for the best possible performance.
+</p>
+<h3 id="internals">Internals</h3>
+<p>
+The main thread has a very simple design: Its only job is to take and execute
+blocks of work from a thread-safe work queue until its app is terminated. The
+framework generates some of these blocks of work from a variety of places. These
+places include callbacks associated with lifecycle information, user events such
+as input, or events coming from other apps and processes. In addition, app can
+explicitly enqueue blocks on their own, without using the framework.
+</p>
+<p>
+Nearly <a
+href="https://www.youtube.com/watch?v=qk5F6Bxqhr4&index=1&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE">any
+block of code your app executes</a> is tied to an event callback, such as input,
+layout inflation, or draw. When something triggers an event, the thread where the event
+happened pushes the event out of itself, and into the main thread’s message
+queue. The main thread can then service the event.
+</p>
+
+<p>
+While an animation or screen update is occurring, the system tries to execute a
+block of work (which is responsible for drawing the screen) every 16ms or so, in
+order to render smoothly at <a
+href="https://www.youtube.com/watch?v=CaMTIgxCSqU&index=62&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE">60
+frames per second</a>. For the system to reach this goal, some operations must
+happen on the main thread. However, when the main thread’s messaging queue
+contains tasks that are either too numerous or too long for the main thread to
+complete work within the 16ms window, the app should move this work to a worker
+thread. If the main thread cannot finish executing blocks of work within 16ms,
+the user may observe hitching, lagging, or a lack of UI responsiveness to input.
+If the main thread blocks for approximately five seconds, the system displays
+the <a
+href="{@docRoot}training/articles/perf-anr.html"><em>Application
+Not Responding</em></a> (ANR) dialog, allowing the user to close the app directly.
+</p>
+<p>
+Moving numerous or long tasks from the main thread, so that they don’t interfere
+with smooth rendering and fast responsiveness to user input, is the biggest
+reason for you to adopt threading in your app.
+</p>
+<h2 id="references">Threading and UI Object References</h2>
+<p>
+By design, <a
+href="https://www.youtube.com/watch?v=tBHPmQQNiS8&index=3&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE">Android
+UI objects are not thread-safe</a>. An app is expected to create, use, and
+destroy UI objects, all on the main thread. If you try to modify
+or even reference a UI object in a thread other than the main thread, the result
+can be exceptions, silent failures, crashes, and other undefined misbehavior.
+</p>
+<p>
+Issues with references fall into two distinct categories: explicit references
+and implicit references.
+</p>
+<h3 id="explicit">Explicit references</h3>
+<p>
+Many tasks on non-main threads have the end goal of updating UI objects.
+However, if one of these threads accesses an object in the view hierarchy,
+application instability can result: If a worker thread changes the properties of
+that object at the same time that any other thread is referencing the object,
+the results are undefined.
+</p>
+<p>
+For example, consider an app that holds a direct reference to a UI object on a
+worker thread. The object on the worker thread may contain a reference to a
+{@link android.view.View}; but before the work completes, the {@link android.view.View} is
+removed from the view hierarchy. When these two actions happen simultaneously,
+the reference keeps the {@link android.view.View} object in memory and sets properties on it.
+However, the user never sees
+this object, and the app deletes the object once the reference to it is gone.
+</p>
+
+<p>
+In another example, {@link android.view.View} objects contain references to the activity
+that owns them. If
+that activity is destroyed, but there remains a threaded block of work that
+references it&mdash;directly or indirectly&mdash;the garbage collector will not collect
+the activity until that block of work finishes executing.
+</p>
+<p>
+This scenario can cause a problem in situations where threaded work may be in
+flight while some activity lifecycle event, such as a screen rotation, occurs.
+The system wouldn’t be able to perform garbage collection until the in-flight
+work completes. As a result, there may be two {@link android.app.Activity} objects in
+memory until garbage collection can take place.
+</p>
+
+<p>
+With scenarios like these, we suggest that your app not include explicit
+references to UI objects in threaded work tasks. Avoiding such references helps you avoid
+these types of memory leaks, while also steering clear of threading contention.
+</p>
+<p>
+In all cases, your app should only update UI objects on the main thread. This
+means that you should craft a negotiation policy that allows multiple threads to
+communicate work back to the main thread, which tasks the topmost activity or
+fragment with the work of updating the actual UI object.
+</p>
+<h3 id="implicit">Implicit references</h3>
+<p>
+A common code-design flaw with threaded objects can be seen in the snippet of
+code below:
+</p>
+<pre class="prettyprint">
+public class MainActivity extends Activity {
+  // …...
+  public class MyAsyncTask extends AsyncTask<Void, Void, String>   {
+    &#64;Override protected String doInBackground(Void... params) {...}
+    &#64;Override protected void onPostExecute(String result) {...}
+  }
+}
+</pre>
+<p>
+The flaw in this snippet is that the code declares the threading object
+{@code MyAsyncTask} as an inner class of some activity. This declaration creates an
+implicit reference to the enclosing {@link android.app.Activity} object.
+As a result, the object contains a reference to the activity until the
+threaded work completes, causing a delay in the destruction of the referenced activity.
+This delay, in turn, puts more pressure on memory.
+</p>
+<p>
+A direct solution to this problem would be to define your overloaded class
+instances in their own files, thus removing the implicit reference.
+</p>
+<p>
+Another solution is to declare the {@link android.os.AsyncTask} object
+as a static nested class.  Doing so eliminates the implicit reference problem
+because of the way a static nested
+class differs from an inner class: An instance of an inner class requires an
+instance of the outer class to be instantiated, and has direct access to the
+methods and fields of its enclosing instance. By contrast, a static nested class
+does not require a reference to an instance of enclosing class, so it contains
+no references to the outer class members.
+</p>
+<pre class="prettyprint">
+public class MainActivity extends Activity {
+  // …...
+  Static public class MyAsyncTask extends AsyncTask<Void, Void, String>   {
+    &#64;Override protected String doInBackground(Void... params) {...}
+    &#64;Override protected void onPostExecute(String result) {...}
+  }
+}
+</pre>
+<h2 id="lifecycles">Threading and App and Activity Lifecycles</h2>
+<p>
+The app lifecycle can affect how threading works in your application.
+You may need to decide that a thread should, or should not, persist after an
+activity is destroyed. You should also be aware of the relationship between
+thread prioritization and whether an activity is running in the foreground or
+background.
+</p>
+<h3 id="persisting">Persisting threads</h3>
+<p>
+Threads persist past the lifetime of the activities that spawn them. Threads
+continue to execute, uninterrupted, regardless of the creation or destruction of
+activities. In some cases, this persistence is undesirable.
+</p>
+<p>
+Consider a case in which an activity spawns a set of threaded work blocks, and
+is then destroyed before a worker thread can execute the blocks. What should the
+app do with the blocks that are in flight?
+</p>
+
+<p>
+If the blocks were going to update a UI that no longer exists, there’s no reason
+for the work to continue. For example, if the work is to load user information
+from a database, and then update views, the thread is no longer necessary.
+</p>
+
+<p>
+By contrast, the work packets may have some benefit not entirely related to the
+UI. In this case, you should persist the thread. For example, the packets may be
+waiting to download an image, cache it to disk, and update the associated
+{@link android.view.View} object. Although the object no longer exists, the acts of downloading and
+caching the image may still be helpful, in case the user returns to the
+destroyed activity.
+</p>
+
+<p>
+Managing lifecycle responses manually for all threading objects can become
+extremely complex. If you don’t manage them correctly, your app can suffer from
+memory contention and performance issues. <a
+href="{@docRoot}guide/components/loaders.html">Loaders</a>
+are one solution to this problem. A loader facilitates asynchronous loading of
+data, while also persisting information through configuration changes.
+</p>
+<h3 id="priority">Thread priority</h3>
+<p>
+As described in <a
+href="{@docRoot}guide/topics/processes/process-lifecycle.html">Processes
+and the Application Lifecycle</a>, the priority that your app’s threads receive
+depends partly on where the app is in the app lifecycle. As you create and
+manage threads in your application, it’s important to set their priority so that
+the right threads get the right priorities at the right times. If set too high,
+your thread may interrupt the UI thread and RenderThread, causing your app to
+drop frames. If set too low, you can make your async tasks (such as image
+loading) slower than they need to be.
+</p>
+<p>
+Every time you create a thread, you should call
+{@link android.os.Process#setThreadPriority(int, int) setThreadPriority()}.
+The system’s thread
+scheduler gives preference to threads with high priorities, balancing those
+priorities with the need to eventually get all the work done. Generally, threads
+in the <a
+href="https://www.youtube.com/watch?v=NwFXVsM15Co&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE&index=9">foreground
+group get about 95%</a> of the total execution time from the device, while the
+background group gets roughly 5%.
+</p>
+<p>
+The system also assigns each thread its own priority value, using the
+{@link android.os.Process} class.
+</p>
+<p>
+By default, the system sets a thread’s priority to the same priority and group
+memberships as the spawning thread. However, your application can explicitly
+adjust thread priority by using
+{@link android.os.Process#setThreadPriority(int, int) setThreadPriority()}.
+</p>
+<p>
+The {@link android.os.Process}
+class</a> helps reduce complexity in assigning priority values by providing a
+set of constants that your app can use to set thread priorities. For example, <a
+href="{@docRoot}reference/android/os/Process.html#THREAD_PRIORITY_DEFAULT">THREAD_PRIORITY_DEFAULT</a>
+represents the default value for a thread. Your app should set the thread's priority to <a
+href="{@docRoot}reference/android/os/Process.html#THREAD_PRIORITY_BACKGROUND">THREAD_PRIORITY_BACKGROUND</a>
+for threads that are executing less-urgent work.
+</p>
+<p>
+Your app can use the <a
+href="{@docRoot}reference/android/os/Process.html#THREAD_PRIORITY_LESS_FAVORABLE">THREAD_PRIORITY_LESS_FAVORABLE</a>
+and <a
+href="{@docRoot}reference/android/os/Process.html#THREAD_PRIORITY_MORE_FAVORABLE">THREAD_PRIORITY_MORE_FAVORABLE</a>
+constants as incrementers to set relative priorities. A list of all of these
+enumerated states and modifiers appears in the reference documentation for
+the {@link android.os.Process#THREAD_PRIORITY_AUDIO} class.
+
+For more information on
+managing threads, see the reference documentation about the
+{@link java.lang.Thread} and {@link android.os.Process} classes.
+</p>
+<p>
+https://developer.android.com/reference/android/os/Process.html#THREAD_PRIORITY_AUDIO
+</p>
+<h2 id="helper">Helper Classes for Threading</h2>
+<p>
+The framework provides the same Java classes & primitives to facilitate
+threading, such as the {@link java.lang.Thread} and
+{@link java.lang.Runnable} classes.
+In order to help reduce the cognitive load associated with
+of developing threaded applications for
+Android, the framework provides a set of helpers which can aide in development.
+Each helper class has a specific set of performance nuances that make them
+unique for a specific subset of threading problems. Using the wrong class for
+the wrong situation can lead to performance issues.
+</p>
+<h3 id="asynctask">The AsyncTask class</h3>
+<p>
+
+The {@link android.os.AsyncTask} class
+is a simple, useful primitive for apps that need to quickly move work from the
+main thread onto worker threads. For example, an input event might trigger the
+need to update the UI with a loaded bitmap. An {@link android.os.AsyncTask}
+object can offload the
+bitmap loading and decoding to an alternate thread; once that processing is
+complete, the {@link android.os.AsyncTask} object can manage receiving the work
+back on the main thread to update the UI.
+</p>
+<p>
+When using {@link android.os.AsyncTask}, there are a few important performance
+aspects to keep in
+mind. First, by default, an app pushes all of the {@link android.os.AsyncTask}
+objects it creates into a
+single thread. Therefore, they execute in serial fashion, and&mdash;as with the
+main
+thread&mdash;an especially long work packet can block the queue. For this reason,
+we suggest that you only use {@link android.os.AsyncTask} to handle work items
+shorter than 5ms in duration.
+</p>
+<p>
+{@link android.os.AsyncTask} objects are also the most common offenders
+for implicit-reference issues.
+{@link android.os.AsyncTask} objects present risks related to explicit
+references, as well, but these are
+sometimes easier to work around. For example, an {@link android.os.AsyncTask}
+may require a reference to a UI object in order to update the UI object
+properly once {@link android.os.AsyncTask} executes its callbacks on the
+main thread. In such a situation, you
+can use a {@link java.lang.ref.WeakReference}
+to store a reference to the required UI object, and access the object once the
+{@link android.os.AsyncTask} is operating on the main thread. To be clear,
+holding a {@link java.lang.ref.WeakReference}
+to an object does not make the object thread-safe; the
+{@link java.lang.ref.WeakReference} merely
+provides a method to handle issues with explicit references and garbage
+collection.
+</p>
+<h3 id="handlerthread">The HandlerThread class</h3>
+<p>
+While an {@link android.os.AsyncTask}
+is useful,<a
+href="https://www.youtube.com/watch?v=adPLIAnx9og&index=5&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE">
+it may not always be the right solution</a> to your threading problem. Instead,
+you may need a more traditional approach to executing a block of work on a
+longer running thread, and some ability to manage that workflow manually.
+</p>
+
+<p>
+Consider a common challenge with getting preview frames from your
+{@link android.hardware.Camera} object.
+ When you register for Camera preview frames, you receive them in the
+ {@link android.hardware.Camera.PreviewCallback#onPreviewFrame(byte[], android.hardware.Camera) onPreviewFrame()}
+callback, which is invoked on the event thread it was called from. If this
+callback were invoked on the UI thread, the task of dealing with the huge pixel
+arrays would be interfering with rendering and event processing work. The same
+problem applies to {@link android.os.AsyncTask}, which also executes jobs serially and is
+susceptible to blocking.
+</p>
+<p>
+This is a situation where a handler thread would be appropriate: A handler thread
+is effectively a long-running thread that grabs work from a queue, and operates
+on it. In this example, when your app delegates the
+{@link android.hardware.Camera#open Camera.open()} command to a
+block of work on the handler thread, the associated
+ {@link android.hardware.Camera.PreviewCallback#onPreviewFrame(byte[], android.hardware.Camera) onPreviewFrame()}
+callback
+lands on the handler thread, rather than the UI or {@link android.os.AsyncTask}
+threads. So, if you’re going to be doing long-running work on the pixels, this
+may be a better solution for you.
+</p>
+<p>
+When your app creates a thread using {@link android.os.HandlerThread}, don’t
+forget to set the thread’s
+<a href="https://www.youtube.com/watch?v=NwFXVsM15Co&index=9&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE">
+priority based on the type of work it’s doing</a>. Remember, CPUs can only
+handle a small number of threads in parallel. Setting the priority helps
+the system know the right ways to schedule this work when all other threads
+are fighting for attention.
+</p>
+<h3 id="threadpool">The ThreadPoolExecutor class</h3>
+<p>
+There are certain types of work that can be reduced to highly parallel,
+distributed tasks. One such task, for example, is calculating a filter for each
+8x8 block of an 8 megapixel image. With the sheer volume of work packets this
+creates, <a
+href="https://www.youtube.com/watch?v=uCmHoEY1iTM&index=6&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE">
+{@code AsyncTask} and {@code HandlerThread} aren’t appropriate
+classes</a>. The single-threaded nature of {@link android.os.AsyncTask} would
+turn all the threadpooled work into a linear system.
+Using the {@link android.os.HandlerThread} class, on the other hand, would
+require the programmer to manually manage load balancing between a group of
+threads.
+</p>
+
+<p>
+{@link java.util.concurrent.ThreadPoolExecutor} is a helper class to make
+this process easier. This class manages the creation of a group of threads, sets
+their priorities, and manages how work is distributed among those threads.
+As workload increases or decreases, the class spins up or destroys more threads
+to adjust to the workload.
+</p>
+<p>
+This class also helps your app spawn an optimum number of threads. When it
+constructs a {@link java.util.concurrent.ThreadPoolExecutor}
+object, the app sets a minimum and maximum
+number of threads. As the workload given to the
+{@link java.util.concurrent.ThreadPoolExecutor} increases,
+the class will take the initialized minimum and maximum thread counts into
+account, and consider the amount of pending work there is to do. Based on these
+factors, {@link java.util.concurrent.ThreadPoolExecutor} decides on how many
+threads should be alive at any given time.
+</p>
+<h4>How many threads should you create?</h4>
+<p>
+Although from a software level, your code has the ability to create hundreds of
+threads, doing so can create performance issues. CPUs really only have the
+ability to handle a small number of threads in parallel; everything above that
+runs<a
+href="https://www.youtube.com/watch?v=NwFXVsM15Co&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE&index=9">
+into priority and scheduling issues</a>. As such, it’s important to only create
+as many threads as your workload needs.
+</p>
+<p>
+Practically speaking, there’s a number of variables responsible for this, but
+picking a value (like 4, for starters), and testing it with <a
+href=”{@docRoot}studio/profile/systrace-commandline.html”>Systrace</a> is as
+solid a strategy as any other. You can use trial-and-error to discover the
+minimum number of threads you can use without running into problems.
+</p>
+<p>
+Another consideration in deciding on how many threads to have is that threads
+aren’t free: they take up memory. Each thread costs a minimum of 64k of memory.
+This adds up quickly across the many apps installed on a device, especially in
+situations where the call stacks grow significantly.
+</p>
+<p>
+Many system processes and third-party libraries often spin up their own
+threadpools. If your app can reuse an existing threadpool, this reuse may help
+performance by reducing contention for memory and processing resources.
+</p>
+
+
diff --git a/docs/html/training/auto/index.jd b/docs/html/training/auto/index.jd
index 0a7ceb3..a0d0bb8 100644
--- a/docs/html/training/auto/index.jd
+++ b/docs/html/training/auto/index.jd
@@ -8,7 +8,9 @@
 
 @jd:body
 
-<iframe width="448" height="252" src="//www.youtube.com/embed/ctiaVxgclsg?autohide=1&amp;showinfo=0" frameborder="0" allowfullscreen="" style="float: right; margin: 0 0 20px 20px;"></iframe>
+      <iframe width="338" height="169" src="//www.youtube.com/embed/LfVBFFoy9Y0?utm_source=dac&utm_medium=video&utm_content=andfuntrain&utm_campaign=udacint?rel=0&amp;hd=1" frameborder="0" allowfullscreen></iframe>
+      <p><a href="https://www.udacity.com/course/ud853" class="button"
+        style="width:100%">Start the video course</a>
 
 <p>
   The Android platform enables you to extend your app to work with in-vehicle console systems
@@ -27,7 +29,7 @@
   For more information, follow the links below to learn how to extend your Android app to support
   use in vehicles.
 </p>
- 
+
 <h2 id="overview">Get Started</h2>
 
 <p>
diff --git a/graphics/java/android/graphics/Picture.java b/graphics/java/android/graphics/Picture.java
index 28d8690..08eeaff 100644
--- a/graphics/java/android/graphics/Picture.java
+++ b/graphics/java/android/graphics/Picture.java
@@ -21,11 +21,14 @@
 
 /**
  * A Picture records drawing calls (via the canvas returned by beginRecording)
- * and can then play them back into Canvas (via {@link Picture#draw(Canvas)} or 
+ * and can then play them back into Canvas (via {@link Picture#draw(Canvas)} or
  * {@link Canvas#drawPicture(Picture)}).For most content (e.g. text, lines, rectangles),
  * drawing a sequence from a picture can be faster than the equivalent API
  * calls, since the picture performs its playback without incurring any
  * method-call overhead.
+ *
+ * <p class="note"><strong>Note:</strong> Prior to API level 23 a picture cannot
+ * be replayed on a hardware accelerated canvas.</p>
  */
 public class Picture {
     private Canvas mRecordingCanvas;
@@ -135,10 +138,6 @@
      * have been persisted across device restarts are not guaranteed to decode
      * properly and are highly discouraged.
      *
-     * <p>
-     * <strong>Note:</strong> Prior to API level 23 a picture created from an
-     * input stream cannot be replayed on a hardware accelerated canvas.
-     *
      * @see #writeToStream(java.io.OutputStream)
      * @deprecated The recommended alternative is to not use writeToStream and
      * instead draw the picture into a Bitmap from which you can persist it as
@@ -155,10 +154,6 @@
      * The resulting stream is NOT to be persisted across device restarts as
      * there is no guarantee that the Picture can be successfully reconstructed.
      *
-     * <p>
-     * <strong>Note:</strong> Prior to API level 23 a picture created from an
-     * input stream cannot be replayed on a hardware accelerated canvas.
-     *
      * @see #createFromStream(java.io.InputStream)
      * @deprecated The recommended alternative is to draw the picture into a
      * Bitmap from which you can persist it as raw or compressed pixels.
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index ceef9c7..5003c6a 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -198,6 +198,45 @@
     return info && ((*info)[FrameInfoIndex::Flags] & FrameInfoFlags::SkippedFrame);
 }
 
+bool CanvasContext::isSwapChainStuffed() {
+    if (mSwapHistory.size() != mSwapHistory.capacity()) {
+        // We want at least 3 frames of history before attempting to
+        // guess if the queue is stuffed
+        return false;
+    }
+    nsecs_t frameInterval = mRenderThread.timeLord().frameIntervalNanos();
+    auto& swapA = mSwapHistory[0];
+
+    // Was there a happy queue & dequeue time? If so, don't
+    // consider it stuffed
+    if (swapA.dequeueDuration < 3_ms
+            && swapA.queueDuration < 3_ms) {
+        return false;
+    }
+
+    for (size_t i = 1; i < mSwapHistory.size(); i++) {
+        auto& swapB = mSwapHistory[i];
+
+        // If there's a frameInterval gap we effectively already dropped a frame,
+        // so consider the queue healthy.
+        if (swapA.swapCompletedTime - swapB.swapCompletedTime > frameInterval) {
+            return false;
+        }
+
+        // Was there a happy queue & dequeue time? If so, don't
+        // consider it stuffed
+        if (swapB.dequeueDuration < 3_ms
+                && swapB.queueDuration < 3_ms) {
+            return false;
+        }
+
+        swapA = swapB;
+    }
+
+    // All signs point to a stuffed swap chain
+    return true;
+}
+
 void CanvasContext::prepareTree(TreeInfo& info, int64_t* uiFrameInfo,
         int64_t syncQueued, RenderNode* target) {
     mRenderThread.removeFrameCallback(this);
@@ -243,7 +282,12 @@
 
     if (CC_LIKELY(mSwapHistory.size())) {
         nsecs_t latestVsync = mRenderThread.timeLord().latestVsync();
-        const SwapHistory& lastSwap = mSwapHistory.back();
+        SwapHistory& lastSwap = mSwapHistory.back();
+        int durationUs;
+        mNativeSurface->query(NATIVE_WINDOW_LAST_DEQUEUE_DURATION, &durationUs);
+        lastSwap.dequeueDuration = us2ns(durationUs);
+        mNativeSurface->query(NATIVE_WINDOW_LAST_QUEUE_DURATION, &durationUs);
+        lastSwap.queueDuration = us2ns(durationUs);
         nsecs_t vsyncDelta = std::abs(lastSwap.vsyncTime - latestVsync);
         // The slight fudge-factor is to deal with cases where
         // the vsync was estimated due to being slow handling the signal.
@@ -253,15 +297,12 @@
             // Already drew for this vsync pulse, UI draw request missed
             // the deadline for RT animations
             info.out.canDrawThisFrame = false;
-        } else if (lastSwap.swapTime < latestVsync) {
+        } else if (vsyncDelta >= mRenderThread.timeLord().frameIntervalNanos()) {
+            // It's been at least an entire frame interval, assume
+            // the buffer queue is fine
             info.out.canDrawThisFrame = true;
         } else {
-            // We're maybe behind? Find out for sure
-            int runningBehind = 0;
-            // TODO: Have this method be on Surface, too, not just ANativeWindow...
-            ANativeWindow* window = mNativeSurface.get();
-            window->query(window, NATIVE_WINDOW_CONSUMER_RUNNING_BEHIND, &runningBehind);
-            info.out.canDrawThisFrame = !runningBehind;
+            info.out.canDrawThisFrame = !isSwapChainStuffed();
         }
     } else {
         info.out.canDrawThisFrame = true;
@@ -516,7 +557,7 @@
         }
         SwapHistory& swap = mSwapHistory.next();
         swap.damage = screenDirty;
-        swap.swapTime = systemTime(CLOCK_MONOTONIC);
+        swap.swapCompletedTime = systemTime(CLOCK_MONOTONIC);
         swap.vsyncTime = mRenderThread.timeLord().latestVsync();
         mHaveNewSurface = false;
         mFrameNumber = -1;
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index a6eb7ad..b0d980b 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -180,6 +180,8 @@
 
     void waitOnFences();
 
+    bool isSwapChainStuffed();
+
     EGLint mLastFrameWidth = 0;
     EGLint mLastFrameHeight = 0;
 
@@ -198,7 +200,9 @@
     struct SwapHistory {
         SkRect damage;
         nsecs_t vsyncTime;
-        nsecs_t swapTime;
+        nsecs_t swapCompletedTime;
+        nsecs_t dequeueDuration;
+        nsecs_t queueDuration;
     };
 
     RingBuffer<SwapHistory, 3> mSwapHistory;
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp
index 54af282..06a24b2 100644
--- a/libs/hwui/renderthread/RenderProxy.cpp
+++ b/libs/hwui/renderthread/RenderProxy.cpp
@@ -514,6 +514,10 @@
     post(task);
 }
 
+int RenderProxy::getRenderThreadTid() {
+    return mRenderThread.getTid();
+}
+
 CREATE_BRIDGE3(addRenderNode, CanvasContext* context, RenderNode* node, bool placeFront) {
     args->context->addRenderNode(args->node, args->placeFront);
     return nullptr;
diff --git a/libs/hwui/renderthread/RenderProxy.h b/libs/hwui/renderthread/RenderProxy.h
index 898b314..e31062c8 100644
--- a/libs/hwui/renderthread/RenderProxy.h
+++ b/libs/hwui/renderthread/RenderProxy.h
@@ -115,6 +115,7 @@
 
     ANDROID_API void setTextureAtlas(const sp<GraphicBuffer>& buffer, int64_t* map, size_t size);
     ANDROID_API void setProcessStatsBuffer(int fd);
+    ANDROID_API int getRenderThreadTid();
 
     ANDROID_API void serializeDisplayListTree();
 
diff --git a/media/java/android/media/AudioFormat.java b/media/java/android/media/AudioFormat.java
index a4484e7..7d5939c 100644
--- a/media/java/android/media/AudioFormat.java
+++ b/media/java/android/media/AudioFormat.java
@@ -263,6 +263,10 @@
      * on some platforms when converting to short internally.
      */
     public static final int ENCODING_IEC61937 = 13;
+    /** Audio data format: DOLBY TRUEHD compressed
+     * @hide
+     **/
+    public static final int ENCODING_DOLBY_TRUEHD = 14;
 
     /** Invalid audio channel configuration */
     /** @deprecated Use {@link #CHANNEL_INVALID} instead.  */
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 4bdc70e..f19a262 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -2744,6 +2744,7 @@
      * to be notified.
      * Use {@link AudioManager#getActiveRecordingConfigurations()} to query the current
      * configuration.
+     * @see AudioRecordingConfiguration
      */
     public static abstract class AudioRecordingCallback {
         /**
@@ -2850,6 +2851,7 @@
      * Returns the current active audio recording configurations of the device.
      * @return a non-null list of recording configurations. An empty list indicates there is
      *     no recording active when queried.
+     * @see AudioRecordingConfiguration
      */
     public @NonNull List<AudioRecordingConfiguration> getActiveRecordingConfigurations() {
         final IAudioService service = getService();
diff --git a/media/java/android/media/AudioRecordingConfiguration.java b/media/java/android/media/AudioRecordingConfiguration.java
index 5935166..354339c 100644
--- a/media/java/android/media/AudioRecordingConfiguration.java
+++ b/media/java/android/media/AudioRecordingConfiguration.java
@@ -28,8 +28,18 @@
 
 /**
  * The AudioRecordingConfiguration class collects the information describing an audio recording
- * session. This information is returned through the
- * {@link AudioManager#getActiveRecordingConfigurations()} method.
+ * session.
+ * <p>Direct polling (see {@link AudioManager#getActiveRecordingConfigurations()}) or callback
+ * (see {@link AudioManager#registerAudioRecordingCallback(android.media.AudioManager.AudioRecordingCallback, android.os.Handler)}
+ * methods are ways to receive information about the current recording configuration of the device.
+ * <p>An audio recording configuration contains information about the recording format as used by
+ * the application ({@link #getClientFormat()}, as well as the recording format actually used by
+ * the device ({@link #getFormat()}). The two recording formats may, for instance, be at different
+ * sampling rates due to hardware limitations (e.g. application recording at 44.1kHz whereas the
+ * device always records at 48kHz, and the Android framework resamples for the application).
+ * <p>The configuration also contains the use case for which audio is recorded
+ * ({@link #getClientAudioSource()}), enabling the ability to distinguish between different
+ * activities such as ongoing voice recognition or camcorder recording.
  *
  */
 public final class AudioRecordingConfiguration implements Parcelable {
@@ -198,4 +208,4 @@
                 && (mClientFormat.equals(that.mClientFormat))
                 && (mDeviceFormat.equals(that.mDeviceFormat)));
     }
-}
\ No newline at end of file
+}
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index 5fd85d1..c8ab5f9 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -60,11 +60,14 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.text.SimpleDateFormat;
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Locale;
+import java.util.TimeZone;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
@@ -451,6 +454,8 @@
 
     private class MyMediaScannerClient implements MediaScannerClient {
 
+        private final SimpleDateFormat mDateFormatter;
+
         private String mArtist;
         private String mAlbumArtist;    // use this if mArtist is missing
         private String mAlbum;
@@ -463,6 +468,7 @@
         private int mYear;
         private int mDuration;
         private String mPath;
+        private long mDate;
         private long mLastModified;
         private long mFileSize;
         private String mWriter;
@@ -472,6 +478,11 @@
         private int mWidth;
         private int mHeight;
 
+        public MyMediaScannerClient() {
+            mDateFormatter = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
+            mDateFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
+        }
+
         public FileEntry beginFile(String path, String mimeType, long lastModified,
                 long fileSize, boolean isDirectory, boolean noMedia) {
             mMimeType = mimeType;
@@ -537,6 +548,7 @@
             mYear = 0;
             mDuration = 0;
             mPath = path;
+            mDate = 0;
             mLastModified = lastModified;
             mWriter = null;
             mCompilation = 0;
@@ -627,6 +639,14 @@
             return result;
         }
 
+        private long parseDate(String date) {
+            try {
+              return mDateFormatter.parse(date).getTime();
+            } catch (ParseException e) {
+              return 0;
+            }
+        }
+
         private int parseSubstring(String s, int start, int defaultValue) {
             int length = s.length();
             if (start == length) return defaultValue;
@@ -684,6 +704,8 @@
                 mCompilation = parseSubstring(value, 0, 0);
             } else if (name.equalsIgnoreCase("isdrm")) {
                 mIsDrm = (parseSubstring(value, 0, 0) == 1);
+            } else if (name.equalsIgnoreCase("date")) {
+                mDate = parseDate(value);
             } else if (name.equalsIgnoreCase("width")) {
                 mWidth = parseSubstring(value, 0, 0);
             } else if (name.equalsIgnoreCase("height")) {
@@ -830,6 +852,9 @@
                     if (resolution != null) {
                         map.put(Video.Media.RESOLUTION, resolution);
                     }
+                    if (mDate > 0) {
+                        map.put(Video.Media.DATE_TAKEN, mDate);
+                    }
                 } else if (MediaFile.isImageFileType(mFileType)) {
                     // FIXME - add DESCRIPTION
                 } else if (MediaFile.isAudioFileType(mFileType)) {
diff --git a/media/java/android/media/SoundPool.java b/media/java/android/media/SoundPool.java
index 3164930..5ede1d5 100644
--- a/media/java/android/media/SoundPool.java
+++ b/media/java/android/media/SoundPool.java
@@ -133,6 +133,8 @@
     private final IAppOpsService mAppOps;
     private final IAppOpsCallback mAppOpsCallback;
 
+    private static IAudioService sService;
+
     /**
      * Constructor. Constructs a SoundPool object with the following
      * characteristics:
@@ -492,7 +494,34 @@
         }
     }
 
+    private static IAudioService getService()
+    {
+        if (sService != null) {
+            return sService;
+        }
+        IBinder b = ServiceManager.getService(Context.AUDIO_SERVICE);
+        sService = IAudioService.Stub.asInterface(b);
+        return sService;
+    }
+
     private boolean isRestricted() {
+        IAudioService service = getService();
+        boolean cameraSoundForced = false;
+
+        try {
+            cameraSoundForced = service.isCameraSoundForced();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Cannot access AudioService in isRestricted()");
+        }
+
+        if (cameraSoundForced &&
+                ((mAttributes.getAllFlags() & AudioAttributes.FLAG_AUDIBILITY_ENFORCED) != 0)
+// FIXME: should also check usage when set properly by camera app
+//                && (mAttributes.getUsage() == AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
+                ) {
+            return false;
+        }
+
         if ((mAttributes.getAllFlags() & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0) {
             return false;
         }
diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java
index 38ed932..0f5dd3a 100644
--- a/opengl/java/android/opengl/GLSurfaceView.java
+++ b/opengl/java/android/opengl/GLSurfaceView.java
@@ -16,6 +16,13 @@
 
 package android.opengl;
 
+import android.content.Context;
+import android.os.Trace;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+
 import java.io.Writer;
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
@@ -29,15 +36,6 @@
 import javax.microedition.khronos.opengles.GL;
 import javax.microedition.khronos.opengles.GL10;
 
-import android.content.Context;
-import android.content.pm.ConfigurationInfo;
-import android.os.SystemProperties;
-import android.os.Trace;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-
 /**
  * An implementation of SurfaceView that uses the dedicated surface for
  * displaying OpenGL rendering.
@@ -119,9 +117,9 @@
  * {@link #setRenderMode}. The default is continuous rendering.
  * <p>
  * <h3>Activity Life-cycle</h3>
- * A GLSurfaceView must be notified when the activity is paused and resumed. GLSurfaceView clients
- * are required to call {@link #onPause()} when the activity pauses and
- * {@link #onResume()} when the activity resumes. These calls allow GLSurfaceView to
+ * A GLSurfaceView must be notified when to pause and resume rendering. GLSurfaceView clients
+ * are required to call {@link #onPause()} when the activity stops and
+ * {@link #onResume()} when the activity starts. These calls allow GLSurfaceView to
  * pause and resume the rendering thread, and also allow GLSurfaceView to release and recreate
  * the OpenGL display.
  * <p>
@@ -294,10 +292,12 @@
      * resumed.
      * <p>
      * If set to true, then the EGL context may be preserved when the GLSurfaceView is paused.
-     * Whether the EGL context is actually preserved or not depends upon whether the
-     * Android device that the program is running on can support an arbitrary number of EGL
-     * contexts or not. Devices that can only support a limited number of EGL contexts must
-     * release the  EGL context in order to allow multiple applications to share the GPU.
+     * <p>
+     * Prior to API level 11, whether the EGL context is actually preserved or not
+     * depends upon whether the Android device can support an arbitrary number of
+     * EGL contexts or not. Devices that can only support a limited number of EGL
+     * contexts must release the EGL context in order to allow multiple applications
+     * to share the GPU.
      * <p>
      * If set to false, the EGL context will be released when the GLSurfaceView is paused,
      * and recreated when the GLSurfaceView is resumed.
@@ -554,9 +554,13 @@
 
 
     /**
-     * Inform the view that the activity is paused. The owner of this view must
-     * call this method when the activity is paused. Calling this method will
-     * pause the rendering thread.
+     * Pause the rendering thread, optionally tearing down the EGL context
+     * depending upon the value of {@link #setPreserveEGLContextOnPause(boolean)}.
+     *
+     * This method should be called when it is no longer desirable for the
+     * GLSurfaceView to continue rendering, such as in response to
+     * {@link android.app.Activity#onStop Activity.onStop}.
+     *
      * Must not be called before a renderer has been set.
      */
     public void onPause() {
@@ -564,10 +568,12 @@
     }
 
     /**
-     * Inform the view that the activity is resumed. The owner of this view must
-     * call this method when the activity is resumed. Calling this method will
-     * recreate the OpenGL display and resume the rendering
-     * thread.
+     * Resumes the rendering thread, re-creating the OpenGL context if necessary. It
+     * is the counterpart to {@link #onPause()}.
+     *
+     * This method should typically be called in
+     * {@link android.app.Activity#onStart Activity.onStart}.
+     *
      * Must not be called before a renderer has been set.
      */
     public void onResume() {
@@ -1354,7 +1360,7 @@
                                 GLSurfaceView view = mGLSurfaceViewWeakRef.get();
                                 boolean preserveEglContextOnPause = view == null ?
                                         false : view.mPreserveEGLContextOnPause;
-                                if (!preserveEglContextOnPause || sGLThreadManager.shouldReleaseEGLContextWhenPausing()) {
+                                if (!preserveEglContextOnPause) {
                                     stopEglContextLocked();
                                     if (LOG_SURFACE) {
                                         Log.i("GLThread", "releasing EGL context because paused tid=" + getId());
@@ -1362,16 +1368,6 @@
                                 }
                             }
 
-                            // When pausing, optionally terminate EGL:
-                            if (pausing) {
-                                if (sGLThreadManager.shouldTerminateEGLWhenPausing()) {
-                                    mEglHelper.finish();
-                                    if (LOG_SURFACE) {
-                                        Log.i("GLThread", "terminating EGL because paused tid=" + getId());
-                                    }
-                                }
-                            }
-
                             // Have we lost the SurfaceView surface?
                             if ((! mHasSurface) && (! mWaitingForSurface)) {
                                 if (LOG_SURFACE) {
@@ -1411,7 +1407,7 @@
                                 if (! mHaveEglContext) {
                                     if (askedToReleaseEglContext) {
                                         askedToReleaseEglContext = false;
-                                    } else if (sGLThreadManager.tryAcquireEglContextLocked(this)) {
+                                    } else {
                                         try {
                                             mEglHelper.start();
                                         } catch (RuntimeException t) {
@@ -1506,7 +1502,6 @@
                     if (createGlInterface) {
                         gl = (GL10) mEglHelper.createGL();
 
-                        sGLThreadManager.checkGLDriver(gl);
                         createGlInterface = false;
                     }
 
@@ -1888,111 +1883,16 @@
                 Log.i("GLThread", "exiting tid=" +  thread.getId());
             }
             thread.mExited = true;
-            if (mEglOwner == thread) {
-                mEglOwner = null;
-            }
             notifyAll();
         }
 
         /*
-         * Tries once to acquire the right to use an EGL
-         * context. Does not block. Requires that we are already
-         * in the sGLThreadManager monitor when this is called.
-         *
-         * @return true if the right to use an EGL context was acquired.
-         */
-        public boolean tryAcquireEglContextLocked(GLThread thread) {
-            if (mEglOwner == thread || mEglOwner == null) {
-                mEglOwner = thread;
-                notifyAll();
-                return true;
-            }
-            checkGLESVersion();
-            if (mMultipleGLESContextsAllowed) {
-                return true;
-            }
-            // Notify the owning thread that it should release the context.
-            // TODO: implement a fairness policy. Currently
-            // if the owning thread is drawing continuously it will just
-            // reacquire the EGL context.
-            if (mEglOwner != null) {
-                mEglOwner.requestReleaseEglContextLocked();
-            }
-            return false;
-        }
-
-        /*
          * Releases the EGL context. Requires that we are already in the
          * sGLThreadManager monitor when this is called.
          */
         public void releaseEglContextLocked(GLThread thread) {
-            if (mEglOwner == thread) {
-                mEglOwner = null;
-            }
             notifyAll();
         }
-
-        public synchronized boolean shouldReleaseEGLContextWhenPausing() {
-            // Release the EGL context when pausing even if
-            // the hardware supports multiple EGL contexts.
-            // Otherwise the device could run out of EGL contexts.
-            return mLimitedGLESContexts;
-        }
-
-        public synchronized boolean shouldTerminateEGLWhenPausing() {
-            checkGLESVersion();
-            return !mMultipleGLESContextsAllowed;
-        }
-
-        public synchronized void checkGLDriver(GL10 gl) {
-            if (! mGLESDriverCheckComplete) {
-                checkGLESVersion();
-                String renderer = gl.glGetString(GL10.GL_RENDERER);
-                if (mGLESVersion < kGLES_20) {
-                    mMultipleGLESContextsAllowed =
-                        ! renderer.startsWith(kMSM7K_RENDERER_PREFIX);
-                    notifyAll();
-                }
-                mLimitedGLESContexts = !mMultipleGLESContextsAllowed;
-                if (LOG_SURFACE) {
-                    Log.w(TAG, "checkGLDriver renderer = \"" + renderer + "\" multipleContextsAllowed = "
-                        + mMultipleGLESContextsAllowed
-                        + " mLimitedGLESContexts = " + mLimitedGLESContexts);
-                }
-                mGLESDriverCheckComplete = true;
-            }
-        }
-
-        private void checkGLESVersion() {
-            if (! mGLESVersionCheckComplete) {
-                mGLESVersion = SystemProperties.getInt(
-                        "ro.opengles.version",
-                        ConfigurationInfo.GL_ES_VERSION_UNDEFINED);
-                if (mGLESVersion >= kGLES_20) {
-                    mMultipleGLESContextsAllowed = true;
-                }
-                if (LOG_SURFACE) {
-                    Log.w(TAG, "checkGLESVersion mGLESVersion =" +
-                            " " + mGLESVersion + " mMultipleGLESContextsAllowed = " + mMultipleGLESContextsAllowed);
-                }
-                mGLESVersionCheckComplete = true;
-            }
-        }
-
-        /**
-         * This check was required for some pre-Android-3.0 hardware. Android 3.0 provides
-         * support for hardware-accelerated views, therefore multiple EGL contexts are
-         * supported on all Android 3.0+ EGL drivers.
-         */
-        private boolean mGLESVersionCheckComplete;
-        private int mGLESVersion;
-        private boolean mGLESDriverCheckComplete;
-        private boolean mMultipleGLESContextsAllowed;
-        private boolean mLimitedGLESContexts;
-        private static final int kGLES_20 = 0x20000;
-        private static final String kMSM7K_RENDERER_PREFIX =
-            "Q3Dimension MSM7500 ";
-        private GLThread mEglOwner;
     }
 
     private static final GLThreadManager sGLThreadManager = new GLThreadManager();
diff --git a/packages/DocumentsUI/res/drawable/ic_check_circle.xml b/packages/DocumentsUI/res/drawable/ic_check_circle.xml
index d49ba6a..62a4e34 100644
--- a/packages/DocumentsUI/res/drawable/ic_check_circle.xml
+++ b/packages/DocumentsUI/res/drawable/ic_check_circle.xml
@@ -19,6 +19,6 @@
         android:viewportWidth="24.0"
         android:viewportHeight="24.0">
     <path
-        android:fillColor="#FF009688"
+        android:fillColor="?android:attr/colorAccent"
         android:pathData="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10,-4.48 10,-10S17.52 2 12 2zm-2 15l-5,-5 1.41,-1.41L10 14.17l7.59,-7.59L19 8l-9 9z"/>
 </vector>
diff --git a/packages/DocumentsUI/res/values/colors.xml b/packages/DocumentsUI/res/values/colors.xml
index cf0643d..366a8a4 100644
--- a/packages/DocumentsUI/res/values/colors.xml
+++ b/packages/DocumentsUI/res/values/colors.xml
@@ -15,9 +15,6 @@
 -->
 
 <resources>
-    <color name="material_grey_400">#ffbdbdbd</color>
-    <color name="material_teal_700">#ff00796b</color>
-
     <!-- This is the window background, but also the background for anything
          else that needs to manually declare a background matching the "default"
          app background (e.g. the drawer overlay). -->
@@ -26,22 +23,19 @@
     <color name="directory_background">#fff7f7f7</color>
     <color name="menu_search_background">@android:color/transparent</color>
 
-    <color name="primary_dark">@*android:color/primary_dark_material_dark</color>
-    <color name="primary">@*android:color/material_blue_grey_900</color>
-    <color name="accent">@*android:color/accent_material_light</color>
-    <color name="accent_dark">@*android:color/accent_material_dark</color>
-    <color name="action_mode">@color/material_grey_400</color>
-    <color name="status_bar_color">@*android:color/material_blue_grey_950</color>
+    <color name="primary_dark">@*android:color/primary_dark_device_default_settings</color>
+    <color name="primary">@*android:color/primary_device_default_settings</color>
+    <color name="accent">@*android:color/accent_device_default_light</color>
+    <color name="accent_dark">@*android:color/accent_device_default_dark</color>
 
     <color name="band_select_background">#88ffffff</color>
     <color name="band_select_border">#44000000</color>
 
-    <color name="item_doc_background_disabled">#fff4f4f4</color>
-
-    <color name="root_activated_color">@color/material_teal_700</color>
+    <color name="root_activated_color">@*android:color/accent_device_default_700</color>
 
     <!-- TODO: Would be nice to move this to a color-set, but not sure how to support animation -->
     <color name="item_doc_background">#fffafafa</color>
-    <color name="item_doc_background_selected">#ffe0f2f1</color>
+    <color name="item_doc_background_disabled">#fff4f4f4</color>
+    <color name="item_doc_background_selected">@*android:color/accent_device_default_50</color>
 
 </resources>
diff --git a/packages/DocumentsUI/res/values/styles.xml b/packages/DocumentsUI/res/values/styles.xml
index 9f09ebc..b5e32d4 100644
--- a/packages/DocumentsUI/res/values/styles.xml
+++ b/packages/DocumentsUI/res/values/styles.xml
@@ -28,9 +28,8 @@
         <item name="android:colorPrimaryDark">@color/primary_dark</item>
         <item name="android:colorPrimary">@color/primary</item>
         <item name="android:colorAccent">@color/accent</item>
-        <item name="colorActionMode">@color/action_mode</item>
+        <item name="android:colorControlActivated">?android:attr/colorAccent</item>
         <item name="android:queryBackground">@color/menu_search_background</item>
-        <item name="android:statusBarColor">@color/status_bar_color</item>
 
         <item name="android:listDivider">@*android:drawable/list_divider_material</item>
 
diff --git a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
index c28fae8..177ba0d 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
@@ -23,181 +23,7 @@
 import android.provider.DocumentsContract.Document;
 import android.util.TypedValue;
 
-import java.util.HashMap;
-
 public class IconUtils {
-
-    private static HashMap<String, Integer> sMimeIcons = new HashMap<>();
-
-    private static void add(String mimeType, int resId) {
-        if (sMimeIcons.put(mimeType, resId) != null) {
-            throw new RuntimeException(mimeType + " already registered!");
-        }
-    }
-
-    static {
-        int icon;
-
-        // Package
-        icon = R.drawable.ic_doc_apk;
-        add("application/vnd.android.package-archive", icon);
-
-        // Audio
-        icon = R.drawable.ic_doc_audio;
-        add("application/ogg", icon);
-        add("application/x-flac", icon);
-
-        // Certificate
-        icon = R.drawable.ic_doc_certificate;
-        add("application/pgp-keys", icon);
-        add("application/pgp-signature", icon);
-        add("application/x-pkcs12", icon);
-        add("application/x-pkcs7-certreqresp", icon);
-        add("application/x-pkcs7-crl", icon);
-        add("application/x-x509-ca-cert", icon);
-        add("application/x-x509-user-cert", icon);
-        add("application/x-pkcs7-certificates", icon);
-        add("application/x-pkcs7-mime", icon);
-        add("application/x-pkcs7-signature", icon);
-
-        // Source code
-        icon = R.drawable.ic_doc_codes;
-        add("application/rdf+xml", icon);
-        add("application/rss+xml", icon);
-        add("application/x-object", icon);
-        add("application/xhtml+xml", icon);
-        add("text/css", icon);
-        add("text/html", icon);
-        add("text/xml", icon);
-        add("text/x-c++hdr", icon);
-        add("text/x-c++src", icon);
-        add("text/x-chdr", icon);
-        add("text/x-csrc", icon);
-        add("text/x-dsrc", icon);
-        add("text/x-csh", icon);
-        add("text/x-haskell", icon);
-        add("text/x-java", icon);
-        add("text/x-literate-haskell", icon);
-        add("text/x-pascal", icon);
-        add("text/x-tcl", icon);
-        add("text/x-tex", icon);
-        add("application/x-latex", icon);
-        add("application/x-texinfo", icon);
-        add("application/atom+xml", icon);
-        add("application/ecmascript", icon);
-        add("application/json", icon);
-        add("application/javascript", icon);
-        add("application/xml", icon);
-        add("text/javascript", icon);
-        add("application/x-javascript", icon);
-
-        // Compressed
-        icon = R.drawable.ic_doc_compressed;
-        add("application/mac-binhex40", icon);
-        add("application/rar", icon);
-        add("application/zip", icon);
-        add("application/x-apple-diskimage", icon);
-        add("application/x-debian-package", icon);
-        add("application/x-gtar", icon);
-        add("application/x-iso9660-image", icon);
-        add("application/x-lha", icon);
-        add("application/x-lzh", icon);
-        add("application/x-lzx", icon);
-        add("application/x-stuffit", icon);
-        add("application/x-tar", icon);
-        add("application/x-webarchive", icon);
-        add("application/x-webarchive-xml", icon);
-        add("application/gzip", icon);
-        add("application/x-7z-compressed", icon);
-        add("application/x-deb", icon);
-        add("application/x-rar-compressed", icon);
-
-        // Contact
-        icon = R.drawable.ic_doc_contact;
-        add("text/x-vcard", icon);
-        add("text/vcard", icon);
-
-        // Event
-        icon = R.drawable.ic_doc_event;
-        add("text/calendar", icon);
-        add("text/x-vcalendar", icon);
-
-        // Font
-        icon = R.drawable.ic_doc_font;
-        add("application/x-font", icon);
-        add("application/font-woff", icon);
-        add("application/x-font-woff", icon);
-        add("application/x-font-ttf", icon);
-
-        // Image
-        icon = R.drawable.ic_doc_image;
-        add("application/vnd.oasis.opendocument.graphics", icon);
-        add("application/vnd.oasis.opendocument.graphics-template", icon);
-        add("application/vnd.oasis.opendocument.image", icon);
-        add("application/vnd.stardivision.draw", icon);
-        add("application/vnd.sun.xml.draw", icon);
-        add("application/vnd.sun.xml.draw.template", icon);
-
-        // PDF
-        icon = R.drawable.ic_doc_pdf;
-        add("application/pdf", icon);
-
-        // Presentation
-        icon = R.drawable.ic_doc_presentation;
-        add("application/vnd.stardivision.impress", icon);
-        add("application/vnd.sun.xml.impress", icon);
-        add("application/vnd.sun.xml.impress.template", icon);
-        add("application/x-kpresenter", icon);
-        add("application/vnd.oasis.opendocument.presentation", icon);
-
-        // Spreadsheet
-        icon = R.drawable.ic_doc_spreadsheet;
-        add("application/vnd.oasis.opendocument.spreadsheet", icon);
-        add("application/vnd.oasis.opendocument.spreadsheet-template", icon);
-        add("application/vnd.stardivision.calc", icon);
-        add("application/vnd.sun.xml.calc", icon);
-        add("application/vnd.sun.xml.calc.template", icon);
-        add("application/x-kspread", icon);
-
-        // Document
-        icon = R.drawable.ic_doc_document;
-        add("application/vnd.oasis.opendocument.text", icon);
-        add("application/vnd.oasis.opendocument.text-master", icon);
-        add("application/vnd.oasis.opendocument.text-template", icon);
-        add("application/vnd.oasis.opendocument.text-web", icon);
-        add("application/vnd.stardivision.writer", icon);
-        add("application/vnd.stardivision.writer-global", icon);
-        add("application/vnd.sun.xml.writer", icon);
-        add("application/vnd.sun.xml.writer.global", icon);
-        add("application/vnd.sun.xml.writer.template", icon);
-        add("application/x-abiword", icon);
-        add("application/x-kword", icon);
-
-        // Video
-        icon = R.drawable.ic_doc_video;
-        add("application/x-quicktimeplayer", icon);
-        add("application/x-shockwave-flash", icon);
-
-        // Word
-        icon = R.drawable.ic_doc_word;
-        add("application/msword", icon);
-        add("application/vnd.openxmlformats-officedocument.wordprocessingml.document", icon);
-        add("application/vnd.openxmlformats-officedocument.wordprocessingml.template", icon);
-
-        // Excel
-        icon = R.drawable.ic_doc_excel;
-        add("application/vnd.ms-excel", icon);
-        add("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", icon);
-        add("application/vnd.openxmlformats-officedocument.spreadsheetml.template", icon);
-
-        // Powerpoint
-        icon = R.drawable.ic_doc_powerpoint;
-        add("application/vnd.ms-powerpoint", icon);
-        add("application/vnd.openxmlformats-officedocument.presentationml.presentation", icon);
-        add("application/vnd.openxmlformats-officedocument.presentationml.template", icon);
-        add("application/vnd.openxmlformats-officedocument.presentationml.slideshow", icon);
-    }
-
     public static Drawable loadPackageIcon(Context context, String authority, int icon) {
         if (icon != 0) {
             if (authority != null) {
@@ -225,7 +51,7 @@
             if (mode == State.MODE_GRID) {
                 return context.getDrawable(R.drawable.ic_grid_folder);
             } else {
-                return context.getDrawable(R.drawable.ic_doc_folder);
+                return context.getDrawable(com.android.internal.R.drawable.ic_doc_folder);
             }
         }
 
@@ -233,34 +59,7 @@
     }
 
     public static Drawable loadMimeIcon(Context context, String mimeType) {
-        if (Document.MIME_TYPE_DIR.equals(mimeType)) {
-            return context.getDrawable(R.drawable.ic_doc_folder);
-        }
-
-        // Look for exact match first
-        Integer resId = sMimeIcons.get(mimeType);
-        if (resId != null) {
-            return context.getDrawable(resId);
-        }
-
-        if (mimeType == null) {
-            // TODO: generic icon?
-            return null;
-        }
-
-        // Otherwise look for partial match
-        final String typeOnly = mimeType.split("/")[0];
-        if ("audio".equals(typeOnly)) {
-            return context.getDrawable(R.drawable.ic_doc_audio);
-        } else if ("image".equals(typeOnly)) {
-            return context.getDrawable(R.drawable.ic_doc_image);
-        } else if ("text".equals(typeOnly)) {
-            return context.getDrawable(R.drawable.ic_doc_text);
-        } else if ("video".equals(typeOnly)) {
-            return context.getDrawable(R.drawable.ic_doc_video);
-        } else {
-            return context.getDrawable(R.drawable.ic_doc_generic);
-        }
+        return context.getContentResolver().getTypeDrawable(mimeType);
     }
 
     public static Drawable applyTintColor(Context context, int drawableId, int tintColorId) {
diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
index 870c343..47df940 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -1391,7 +1391,7 @@
                 return mIconHelper.getDocumentIcon(mContext, doc.authority, doc.documentId,
                         doc.mimeType, doc.icon);
             }
-            return mContext.getDrawable(R.drawable.ic_doc_generic);
+            return mContext.getDrawable(com.android.internal.R.drawable.ic_doc_generic);
         }
 
         private String getTitle(List<DocumentInfo> docs) {
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
index d54bdfd..649dde0 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
@@ -213,13 +213,13 @@
             derivedIcon = R.drawable.ic_root_download;
         } else if (isImages()) {
             derivedType = TYPE_IMAGES;
-            derivedIcon = R.drawable.ic_doc_image;
+            derivedIcon = com.android.internal.R.drawable.ic_doc_image;
         } else if (isVideos()) {
             derivedType = TYPE_VIDEO;
-            derivedIcon = R.drawable.ic_doc_video;
+            derivedIcon = com.android.internal.R.drawable.ic_doc_video;
         } else if (isAudio()) {
             derivedType = TYPE_AUDIO;
-            derivedIcon = R.drawable.ic_doc_audio;
+            derivedIcon = com.android.internal.R.drawable.ic_doc_audio;
         } else if (isRecents()) {
             derivedType = TYPE_RECENTS;
         } else {
diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
index 62f33bf..a3070bd 100644
--- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
@@ -492,23 +492,26 @@
             throw new IllegalStateException("Failed to delete " + file);
         }
 
-        final ContentResolver resolver = getContext().getContentResolver();
-        final Uri externalUri = MediaStore.Files.getContentUri("external");
+        final File visibleFile = getFileForDocId(docId, true);
+        if (visibleFile != null) {
+            final ContentResolver resolver = getContext().getContentResolver();
+            final Uri externalUri = MediaStore.Files.getContentUri("external");
 
-        // Remove media store entries for any files inside this directory, using
-        // path prefix match. Logic borrowed from MtpDatabase.
-        if (isDirectory) {
-            final String path = file.getAbsolutePath() + "/";
+            // Remove media store entries for any files inside this directory, using
+            // path prefix match. Logic borrowed from MtpDatabase.
+            if (isDirectory) {
+                final String path = visibleFile.getAbsolutePath() + "/";
+                resolver.delete(externalUri,
+                        "_data LIKE ?1 AND lower(substr(_data,1,?2))=lower(?3)",
+                        new String[] { path + "%", Integer.toString(path.length()), path });
+            }
+
+            // Remove media store entry for this exact file.
+            final String path = visibleFile.getAbsolutePath();
             resolver.delete(externalUri,
-                    "_data LIKE ?1 AND lower(substr(_data,1,?2))=lower(?3)",
-                    new String[] { path + "%", Integer.toString(path.length()), path });
+                    "_data LIKE ?1 AND lower(_data)=lower(?2)",
+                    new String[] { path, path });
         }
-
-        // Remove media store entry for this exact file.
-        final String path = file.getAbsolutePath();
-        resolver.delete(externalUri,
-                "_data LIKE ?1 AND lower(_data)=lower(?2)",
-                new String[] { path, path });
     }
 
     @Override
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java
index 60eaad2..038e08d 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java
@@ -137,12 +137,21 @@
                 entry,
                 userId,
                 new LockPatternChecker.OnCheckCallback() {
+
+                    @Override
+                    public void onEarlyMatched() {
+                        onPasswordChecked(userId, true /* matched */, 0 /* timeoutMs */,
+                                true /* isValidPassword */);
+                    }
+
                     @Override
                     public void onChecked(boolean matched, int timeoutMs) {
                         setPasswordEntryInputEnabled(true);
                         mPendingLockCheck = null;
-                        onPasswordChecked(userId, matched, timeoutMs,
-                                true /* isValidPassword */);
+                        if (!matched) {
+                            onPasswordChecked(userId, false /* matched */, timeoutMs,
+                                    true /* isValidPassword */);
+                        }
                     }
                 });
     }
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java
index 7ea767c..4f5152a 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java
@@ -36,6 +36,7 @@
 
     private final AppearAnimationUtils mAppearAnimationUtils;
     private final DisappearAnimationUtils mDisappearAnimationUtils;
+    private final DisappearAnimationUtils mDisappearAnimationUtilsLocked;
     private ViewGroup mContainer;
     private ViewGroup mRow0;
     private ViewGroup mRow1;
@@ -44,6 +45,7 @@
     private View mDivider;
     private int mDisappearYTranslation;
     private View[][] mViews;
+    private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
 
     public KeyguardPINView(Context context) {
         this(context, null);
@@ -56,8 +58,14 @@
                 125, 0.6f /* translationScale */,
                 0.45f /* delayScale */, AnimationUtils.loadInterpolator(
                         mContext, android.R.interpolator.fast_out_linear_in));
+        mDisappearAnimationUtilsLocked = new DisappearAnimationUtils(context,
+                (long) (125 * KeyguardPatternView.DISAPPEAR_MULTIPLIER_LOCKED),
+                0.6f /* translationScale */,
+                0.45f /* delayScale */, AnimationUtils.loadInterpolator(
+                        mContext, android.R.interpolator.fast_out_linear_in));
         mDisappearYTranslation = getResources().getDimensionPixelSize(
                 R.dimen.disappear_y_translation);
+        mKeyguardUpdateMonitor = KeyguardUpdateMonitor.getInstance(context);
     }
 
     @Override
@@ -136,7 +144,10 @@
         setTranslationY(0);
         AppearAnimationUtils.startTranslationYAnimation(this, 0 /* delay */, 280 /* duration */,
                 mDisappearYTranslation, mDisappearAnimationUtils.getInterpolator());
-        mDisappearAnimationUtils.startAnimation2d(mViews,
+        DisappearAnimationUtils disappearAnimationUtils = mKeyguardUpdateMonitor.isUserUnlocked()
+                ? mDisappearAnimationUtils
+                : mDisappearAnimationUtilsLocked;
+        disappearAnimationUtils.startAnimation2d(mViews,
                 new Runnable() {
                     @Override
                     public void run() {
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
index e070492..84b90c4 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
@@ -55,9 +55,13 @@
     // how many cells the user has to cross before we poke the wakelock
     private static final int MIN_PATTERN_BEFORE_POKE_WAKELOCK = 2;
 
+    // How much we scale up the duration of the disappear animation when the current user is locked
+    public static final float DISAPPEAR_MULTIPLIER_LOCKED = 1.5f;
+
     private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
     private final AppearAnimationUtils mAppearAnimationUtils;
     private final DisappearAnimationUtils mDisappearAnimationUtils;
+    private final DisappearAnimationUtils mDisappearAnimationUtilsLocked;
 
     private CountDownTimer mCountdownTimer = null;
     private LockPatternUtils mLockPatternUtils;
@@ -109,6 +113,10 @@
                 125, 1.2f /* translationScale */,
                 0.6f /* delayScale */, AnimationUtils.loadInterpolator(
                         mContext, android.R.interpolator.fast_out_linear_in));
+        mDisappearAnimationUtilsLocked = new DisappearAnimationUtils(context,
+                (long) (125 * DISAPPEAR_MULTIPLIER_LOCKED), 1.2f /* translationScale */,
+                0.6f /* delayScale */, AnimationUtils.loadInterpolator(
+                mContext, android.R.interpolator.fast_out_linear_in));
         mDisappearYTranslation = getResources().getDimensionPixelSize(
                 R.dimen.disappear_y_translation);
     }
@@ -239,11 +247,21 @@
                     pattern,
                     userId,
                     new LockPatternChecker.OnCheckCallback() {
+
+                        @Override
+                        public void onEarlyMatched() {
+                            onPatternChecked(userId, true /* matched */, 0 /* timeoutMs */,
+                                    true /* isValidPattern */);
+                        }
+
                         @Override
                         public void onChecked(boolean matched, int timeoutMs) {
                             mLockPatternView.enableInput();
                             mPendingLockCheck = null;
-                            onPatternChecked(userId, matched, timeoutMs, true);
+                            if (!matched) {
+                                onPatternChecked(userId, false /* matched */, timeoutMs,
+                                        true /* isValidPattern */);
+                            }
                         }
                     });
             if (pattern.size() > MIN_PATTERN_BEFORE_POKE_WAKELOCK) {
@@ -390,25 +408,30 @@
 
     @Override
     public boolean startDisappearAnimation(final Runnable finishRunnable) {
+        float durationMultiplier = mKeyguardUpdateMonitor.isUserUnlocked()
+                ? 1f
+                : DISAPPEAR_MULTIPLIER_LOCKED;
         mLockPatternView.clearPattern();
         enableClipping(false);
         setTranslationY(0);
-        AppearAnimationUtils.startTranslationYAnimation(this, 0 /* delay */, 300 /* duration */,
+        AppearAnimationUtils.startTranslationYAnimation(this, 0 /* delay */,
+                (long) (300 * durationMultiplier),
                 -mDisappearAnimationUtils.getStartTranslation(),
                 mDisappearAnimationUtils.getInterpolator());
-        mDisappearAnimationUtils.startAnimation2d(mLockPatternView.getCellStates(),
-                new Runnable() {
-                    @Override
-                    public void run() {
-                        enableClipping(true);
-                        if (finishRunnable != null) {
-                            finishRunnable.run();
-                        }
+
+        DisappearAnimationUtils disappearAnimationUtils = mKeyguardUpdateMonitor.isUserUnlocked()
+                ? mDisappearAnimationUtils
+                : mDisappearAnimationUtilsLocked;
+        disappearAnimationUtils.startAnimation2d(mLockPatternView.getCellStates(),
+                () -> {
+                    enableClipping(true);
+                    if (finishRunnable != null) {
+                        finishRunnable.run();
                     }
                 }, KeyguardPatternView.this);
         if (!TextUtils.isEmpty(mSecurityMessageDisplay.getText())) {
             mDisappearAnimationUtils.createAnimation(mSecurityMessageDisplay, 0,
-                    200,
+                    (long) (200 * durationMultiplier),
                     - mDisappearAnimationUtils.getStartTranslation() * 3,
                     false /* appearing */,
                     mDisappearAnimationUtils.getInterpolator(),
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 94d9550..dec1fd2 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -16,6 +16,16 @@
 
 package com.android.keyguard;
 
+import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN;
+import static android.os.BatteryManager.BATTERY_STATUS_FULL;
+import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;
+import static android.os.BatteryManager.EXTRA_HEALTH;
+import static android.os.BatteryManager.EXTRA_LEVEL;
+import static android.os.BatteryManager.EXTRA_MAX_CHARGING_CURRENT;
+import static android.os.BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE;
+import static android.os.BatteryManager.EXTRA_PLUGGED;
+import static android.os.BatteryManager.EXTRA_STATUS;
+
 import android.app.ActivityManager;
 import android.app.ActivityManagerNative;
 import android.app.AlarmManager;
@@ -29,7 +39,6 @@
 import android.content.IntentFilter;
 import android.database.ContentObserver;
 import android.graphics.Bitmap;
-import android.hardware.fingerprint.Fingerprint;
 import android.hardware.fingerprint.FingerprintManager;
 import android.hardware.fingerprint.FingerprintManager.AuthenticationCallback;
 import android.hardware.fingerprint.FingerprintManager.AuthenticationResult;
@@ -42,6 +51,7 @@
 import android.os.RemoteException;
 import android.os.SystemClock;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionInfo;
@@ -69,16 +79,6 @@
 import java.util.List;
 import java.util.Map.Entry;
 
-import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN;
-import static android.os.BatteryManager.BATTERY_STATUS_FULL;
-import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;
-import static android.os.BatteryManager.EXTRA_HEALTH;
-import static android.os.BatteryManager.EXTRA_LEVEL;
-import static android.os.BatteryManager.EXTRA_MAX_CHARGING_CURRENT;
-import static android.os.BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE;
-import static android.os.BatteryManager.EXTRA_PLUGGED;
-import static android.os.BatteryManager.EXTRA_STATUS;
-
 /**
  * Watches for updates that may be interesting to the keyguard, and provides
  * the up to date information as well as a registration for callbacks that care
@@ -176,6 +176,7 @@
     private boolean mGoingToSleep;
     private boolean mBouncer;
     private boolean mBootCompleted;
+    private boolean mUserUnlocked;
 
     // Device provisioning state
     private boolean mDeviceProvisioned;
@@ -202,6 +203,7 @@
     private AlarmManager mAlarmManager;
     private List<SubscriptionInfo> mSubscriptionInfo;
     private TrustManager mTrustManager;
+    private UserManager mUserManager;
     private int mFingerprintRunningState = FINGERPRINT_STATE_STOPPED;
 
     private final Handler mHandler = new Handler() {
@@ -554,6 +556,10 @@
                 && !hasFingerprintUnlockTimedOut(sCurrentUser);
     }
 
+    public boolean isUserUnlocked() {
+        return mUserUnlocked;
+    }
+
     public StrongAuthTracker getStrongAuthTracker() {
         return mStrongAuthTracker;
     }
@@ -1058,6 +1064,8 @@
         if (mFpm != null) {
             mFpm.addLockoutResetCallback(mLockoutResetCallback);
         }
+
+        mUserManager = context.getSystemService(UserManager.class);
     }
 
     private void updateFingerprintListeningState() {
@@ -1390,6 +1398,7 @@
     private void handleKeyguardReset() {
         if (DEBUG) Log.d(TAG, "handleKeyguardReset");
         updateFingerprintListeningState();
+        mUserUnlocked = mUserManager.isUserUnlocked(getCurrentUser());
     }
 
     /**
diff --git a/packages/SettingsLib/res/values-my-rMM/strings.xml b/packages/SettingsLib/res/values-my-rMM/strings.xml
index 905ccc9..561691d 100644
--- a/packages/SettingsLib/res/values-my-rMM/strings.xml
+++ b/packages/SettingsLib/res/values-my-rMM/strings.xml
@@ -71,7 +71,7 @@
     <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"ထည့်သွင်းရန်အသုံးပြုသည်"</string>
     <string name="bluetooth_pairing_accept" msgid="6163520056536604875">"အတူတွဲပါ"</string>
     <string name="bluetooth_pairing_accept_all_caps" msgid="6061699265220789149">"ချိတ်တွဲရန်"</string>
-    <string name="bluetooth_pairing_decline" msgid="4185420413578948140">"မလုပ်တော့ပါ"</string>
+    <string name="bluetooth_pairing_decline" msgid="4185420413578948140">"မလုပ်တော့"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"ချိတ်တွဲမှုက ချိတ်ဆက်ထားလျှင် သင်၏ အဆက်အသွယ်များ နှင့် ခေါ်ဆိုမှု မှတ်တမ်းကို ရယူခွင့် ပြုသည်။"</string>
     <string name="bluetooth_pairing_error_message" msgid="3748157733635947087">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့် တွဲချိတ်မရပါ"</string>
     <string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"ပင်နံပါတ် သို့မဟုတ် ဖြတ်သန်းခွင့်ကီးမမှန်ကန်သောကြောင့်<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့် တွဲချိတ်မရပါ။"</string>
@@ -159,8 +159,8 @@
     <string name="oem_unlock_enable_summary" msgid="4720281828891618376">"အစပြုခြင်းကိရိယာအား သော့ဖွင့်ရန် ခွင့်ပြုမည်"</string>
     <string name="confirm_enable_oem_unlock_title" msgid="4802157344812385674">"OEM သော့ဖွင့်ခြင်း ခွင့်ပြုမလား?"</string>
     <string name="confirm_enable_oem_unlock_text" msgid="5517144575601647022">"သတိပေးချက်: ဤချိန်ညှိချက်ဖွင့်ထားလျှင်၊ ဤစက်ပစ္စည်းပေါ်တွင် စက်ပစ္စည်းကာကွယ်သည့် အထူးပြုလုပ်ချက် အလုပ်လုပ်မည်မဟုတ်ပါ။"</string>
-    <string name="mock_location_app" msgid="7966220972812881854">"တည်နေရာအတုပြု အက်ပ် ရွေးရန်"</string>
-    <string name="mock_location_app_not_set" msgid="809543285495344223">"တည်နေရာအတုပြ အက်ပ် သတ်မှတ်ထားခြင်းမရှိပါ"</string>
+    <string name="mock_location_app" msgid="7966220972812881854">"တည်နေရာအတုပြု အက်ပ်ရွေးရန်"</string>
+    <string name="mock_location_app_not_set" msgid="809543285495344223">"တည်နေရာအတုပြ အက်ပ်သတ်မှတ်ထားခြင်းမရှိပါ"</string>
     <string name="mock_location_app_set" msgid="8966420655295102685">"တည်နေရာအတုပြ အက်ပ်- <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="debug_networking_category" msgid="7044075693643009662">"ကွန်ရက်လုပ်ငန်း"</string>
     <string name="wifi_display_certification" msgid="8611569543791307533">"ကြိုးမဲ့ပြသမှု အသိအမှတ်ပြုလက်မှတ်"</string>
@@ -241,7 +241,7 @@
     <string name="transition_animation_scale_title" msgid="387527540523595875">"သက်ဝင်အသွင်ပြောင်းခြင်း"</string>
     <string name="animator_duration_scale_title" msgid="3406722410819934083">"လှုပ်ရှားမှုကြာချိန်စကေး"</string>
     <string name="overlay_display_devices_title" msgid="5364176287998398539">"ဆင့်ပွားမျက်နှာပြင်များအသွင်ဆောင်သည်"</string>
-    <string name="debug_applications_category" msgid="4206913653849771549">"အပလီကေးရှင်းများ"</string>
+    <string name="debug_applications_category" msgid="4206913653849771549">"အက်ပ်များ"</string>
     <string name="immediately_destroy_activities" msgid="1579659389568133959">"ဆောင်ရွက်မှုများကို မသိမ်းထားပါနှင့်"</string>
     <string name="immediately_destroy_activities_summary" msgid="3592221124808773368">"အသုံးပြုသူထွက်ခွါသွားသည်နှင့် လုပ်ဆောင်ချက်များကို ဖျက်ပစ်မည်"</string>
     <string name="app_process_limit_title" msgid="4280600650253107163">"နောက်ခံလုပ်ငန်းစဉ်ကန့်သတ်ခြင်း"</string>
@@ -269,7 +269,7 @@
     <item msgid="8280754435979370728">"မျက်လုံးမှတွေ့ရသည့် သဘာဝအရောင်"</item>
     <item msgid="5363960654009010371">"ဒီဂျစ်တယ်အကြောင်းအရာအတွက် ပြင်ဆင်ထားသည့် အရောင်များ"</item>
   </string-array>
-    <string name="inactive_apps_title" msgid="1317817863508274533">"အလုပ်မလုပ်သော အက်ပ် များ"</string>
+    <string name="inactive_apps_title" msgid="1317817863508274533">"အလုပ်မလုပ်သော အက်ပ်များ"</string>
     <string name="inactive_app_inactive_summary" msgid="5091363706699855725">"ပွင့်မနေပါ။ ပြောင်းရန်တို့ပါ။"</string>
     <string name="inactive_app_active_summary" msgid="4174921824958516106">"ပွင့်နေသည်။ ပြောင်းရန်တို့ပါ။"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"အလုပ်လုပ်နေသောဝန်ဆောင်မှုများ"</string>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index 09c12dc..e82693c 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -132,8 +132,8 @@
     <item msgid="164347302621392996">"快"</item>
     <item msgid="5794028588101562009">"较快"</item>
     <item msgid="7163942783888652942">"非常快"</item>
-    <item msgid="7831712693748700507">"迅速"</item>
-    <item msgid="5194774745031751806">"很迅速"</item>
+    <item msgid="7831712693748700507">"超快"</item>
+    <item msgid="5194774745031751806">"极快"</item>
     <item msgid="9085102246155045744">"最快"</item>
   </string-array>
     <string name="choose_profile" msgid="8229363046053568878">"选择个人资料"</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java b/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java
index ff1c866..b04948b 100644
--- a/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java
@@ -22,6 +22,9 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.Build;
+import android.telephony.PhoneNumberUtils;
+import android.telephony.SubscriptionInfo;
+import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.text.format.DateFormat;
 import android.util.Log;
@@ -37,6 +40,8 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import static android.content.Context.TELEPHONY_SERVICE;
+
 public class DeviceInfoUtils {
     private static final String TAG = "DeviceInfoUtils";
 
@@ -169,4 +174,40 @@
         }
     }
 
+    public static String getFormattedPhoneNumber(Context context, SubscriptionInfo subscriptionInfo) {
+        String formattedNumber = null;
+        if (subscriptionInfo != null) {
+            final TelephonyManager telephonyManager =
+                    (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);
+            final String rawNumber =
+                    telephonyManager.getLine1Number(subscriptionInfo.getSubscriptionId());
+            if (!TextUtils.isEmpty(rawNumber)) {
+                formattedNumber = PhoneNumberUtils.formatNumber(rawNumber);
+            }
+
+        }
+        return formattedNumber;
+    }
+
+    public static String getFormattedPhoneNumbers(Context context,
+            List<SubscriptionInfo> subscriptionInfo) {
+        StringBuilder sb = new StringBuilder();
+        if (subscriptionInfo != null) {
+            final TelephonyManager telephonyManager =
+                    (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);
+            final int count = subscriptionInfo.size();
+            for (int i = 0; i < count; i++) {
+                final String rawNumber = telephonyManager.getLine1Number(
+                        subscriptionInfo.get(i).getSubscriptionId());
+                if (!TextUtils.isEmpty(rawNumber)) {
+                    sb.append(PhoneNumberUtils.formatNumber(rawNumber));
+                    if (i < count - 1) {
+                        sb.append("\n");
+                    }
+                }
+            }
+        }
+        return sb.toString();
+    }
+
 }
diff --git a/packages/SystemUI/res/drawable/ic_night_mode.xml b/packages/SystemUI/res/drawable/ic_night_mode.xml
deleted file mode 100644
index caa7a47..0000000
--- a/packages/SystemUI/res/drawable/ic_night_mode.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
-    Copyright (C) 2016 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M20.71,5.63l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0.0l-3.12,3.12 -1.93,-1.91 -1.41,1.41 1.42,1.42L3.0,16.25L3.0,21.0l4.75,0.0l8.92,-8.92 1.42,1.42 1.41,-1.41 -1.92,-1.92 3.12,-3.12c0.4,0.0 0.4,-1.0 0.01,-1.42zM6.92,19.0L5.0,17.08l8.06,-8.06 1.92,1.92L6.92,19.0z"/>
-</vector>
diff --git a/packages/SystemUI/res/drawable/ic_night_mode_disabled.xml b/packages/SystemUI/res/drawable/ic_night_mode_disabled.xml
deleted file mode 100644
index 010815a..0000000
--- a/packages/SystemUI/res/drawable/ic_night_mode_disabled.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
-    Copyright (C) 2016 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="#4DFFFFFF"
-        android:pathData="M20.71,5.63l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0.0l-3.12,3.12 -1.93,-1.91 -1.41,1.41 1.42,1.42L3.0,16.25L3.0,21.0l4.75,0.0l8.92,-8.92 1.42,1.42 1.41,-1.41 -1.92,-1.92 3.12,-3.12c0.4,0.0 0.4,-1.0 0.01,-1.42zM6.92,19.0L5.0,17.08l8.06,-8.06 1.92,1.92L6.92,19.0z"/>
-</vector>
diff --git a/packages/SystemUI/res/layout/calibrate_sliders.xml b/packages/SystemUI/res/layout/calibrate_sliders.xml
deleted file mode 100644
index 0dec8a1..0000000
--- a/packages/SystemUI/res/layout/calibrate_sliders.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-    android:paddingTop="8dp"
-    android:paddingBottom="8dp"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:id="@+id/r_group"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingTop="4dp"
-        android:paddingBottom="4dp"
-        android:orientation="horizontal">
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/color_modification_r"
-            android:gravity="center"
-            android:textAppearance="?android:attr/textAppearanceMedium" />
-
-        <SeekBar android:id="@*android:id/seekbar"
-            android:layout_marginStart="16dp"
-            android:layout_gravity="center_vertical"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/g_group"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingTop="4dp"
-        android:paddingBottom="4dp"
-        android:orientation="horizontal">
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/color_modification_g"
-            android:gravity="center"
-            android:textAppearance="?android:attr/textAppearanceMedium" />
-
-        <SeekBar android:id="@*android:id/seekbar"
-            android:layout_marginStart="16dp"
-            android:layout_gravity="center_vertical"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/b_group"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingTop="4dp"
-        android:paddingBottom="4dp"
-        android:orientation="horizontal">
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/color_modification_b"
-            android:gravity="center"
-            android:textAppearance="?android:attr/textAppearanceMedium" />
-
-        <SeekBar android:id="@*android:id/seekbar"
-            android:layout_marginStart="16dp"
-            android:layout_gravity="center_vertical"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-    </LinearLayout>
-
-</LinearLayout>
diff --git a/packages/SystemUI/res/layout/night_mode_settings.xml b/packages/SystemUI/res/layout/night_mode_settings.xml
deleted file mode 100644
index 3725e78..0000000
--- a/packages/SystemUI/res/layout/night_mode_settings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <include layout="@layout/switch_bar" />
-
-</LinearLayout>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 12f5ccf..4c0e760 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -438,7 +438,7 @@
   <string-array name="volume_stream_titles">
     <item msgid="5841843895402729630">"Κλήση"</item>
     <item msgid="5997713001067658559">"Σύστημα"</item>
-    <item msgid="7858983209929864160">"Κλήση"</item>
+    <item msgid="7858983209929864160">"Ήχος κλήσης"</item>
     <item msgid="1850038478268896762">"Μέσα"</item>
     <item msgid="8265110906352372092">"Ξυπνητήρι"</item>
     <item msgid="5339394737636839168"></item>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index d295d6e..1678e64 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -438,7 +438,7 @@
   <string-array name="volume_stream_titles">
     <item msgid="5841843895402729630">"Telepon"</item>
     <item msgid="5997713001067658559">"Sistem"</item>
-    <item msgid="7858983209929864160">"Deringkan"</item>
+    <item msgid="7858983209929864160">"Dering"</item>
     <item msgid="1850038478268896762">"Media"</item>
     <item msgid="8265110906352372092">"Alarm"</item>
     <item msgid="5339394737636839168"></item>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index e31c11c..b5ce1e6 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -20,9 +20,9 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_label" msgid="7164937344850004466">"စနစ်၏UI"</string>
-    <string name="status_bar_clear_all_button" msgid="7774721344716731603">"ဖယ်ရှားရန်"</string>
+    <string name="status_bar_clear_all_button" msgid="7774721344716731603">"ရှင်းရန်"</string>
     <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"စာရင်းမှ ဖယ်မည်"</string>
-    <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"အပ်ပလီကေးရှင်း အချက်အလက်များ"</string>
+    <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"အက်ပ်အချက်အလက်များ"</string>
     <string name="status_bar_no_recent_apps" msgid="7374907845131203189">"သင်၏ မကြာမီက မျက်နှာပြင်များ ဒီမှာ ပေါ်လာကြမည်"</string>
     <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"လတ်တလောအပ်ပလီကေးရှင်းများအား ဖယ်ထုတ်မည်"</string>
     <plurals name="status_bar_accessibility_recent_apps" formatted="false" msgid="9138535907802238759">
@@ -96,7 +96,7 @@
     <string name="voice_assist_label" msgid="3956854378310019854">"အသံ အကူအညီအား ဖွင့်ရန်"</string>
     <string name="camera_label" msgid="7261107956054836961">"ကင်မရာ ဖွင့်ရန်"</string>
     <string name="recents_caption_resize" msgid="3517056471774958200">"အလုပ်သစ်စီစဥ်မှုကို ရွေးပါ။"</string>
-    <string name="cancel" msgid="6442560571259935130">"မလုပ်တော့ပါ"</string>
+    <string name="cancel" msgid="6442560571259935130">"မလုပ်တော့"</string>
     <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"အံ့ဝင်သောချုံ့ချဲ့ခလုတ်"</string>
     <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ဖန်သားပြင်ပေါ်တွင် အသေးမှအကြီးသို့ချဲ့ခြင်း"</string>
     <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"ဘလူးတုသ်ချိတ်ဆက်ထားမှု"</string>
@@ -320,7 +320,7 @@
     <string name="quick_settings_work_mode_label" msgid="6244915274350490429">"အလုပ် မုဒ်"</string>
     <string name="recents_empty_message" msgid="808480104164008572">"မကြာမီကဖွင့်ထားသည်များ မရှိပါ"</string>
     <string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"သင်အားလုံးကို ရှင်းလင်းပြီးပါပြီ"</string>
-    <string name="recents_app_info_button_label" msgid="2890317189376000030">"အက်ပ် အင်ဖို"</string>
+    <string name="recents_app_info_button_label" msgid="2890317189376000030">"အက်ပ်အင်ဖို"</string>
     <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"မျက်နှာပြင် ပင်ထိုးမှု"</string>
     <string name="recents_search_bar_label" msgid="8074997400187836677">"ရှာဖွေရန်"</string>
     <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> ကို မစနိုင်ပါ။"</string>
@@ -375,9 +375,9 @@
     <string name="guest_wipe_session_title" msgid="6419439912885956132">"ပြန်လာတာ ကြိုဆိုပါသည်၊ ဧည့်သည်!"</string>
     <string name="guest_wipe_session_message" msgid="8476238178270112811">"သင်သည် သင်၏ ချိတ်ဆက်မှုကို ဆက်ပြုလုပ် လိုပါသလား?"</string>
     <string name="guest_wipe_session_wipe" msgid="5065558566939858884">"အစမှ ပြန်စပါ"</string>
-    <string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"ဟုတ်ကဲ့၊ ဆက်လုပ်ပါ"</string>
+    <string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"ဆက်လုပ်ပါ"</string>
     <string name="guest_notification_title" msgid="1585278533840603063">"ဧည့်သည် အသုံးပြုသူ"</string>
-    <string name="guest_notification_text" msgid="335747957734796689">"App များနှင့် ဒေတာအား ဖျက်ရန်၊ တခဏသုံးစွဲသူအား ဖယ်ရှားပါ"</string>
+    <string name="guest_notification_text" msgid="335747957734796689">"အက်ပ်များနှင့် ဒေတာအား ဖျက်ရန်၊ တခဏသုံးစွဲသူအား ဖယ်ရှားပါ"</string>
     <string name="guest_notification_remove_action" msgid="8820670703892101990">"ဧည့်သည်ကို ဖယ်ထုတ်မည်"</string>
     <string name="user_logout_notification_title" msgid="1453960926437240727">"အသုံးပြုသူ ထွက်လိုက်ပါ"</string>
     <string name="user_logout_notification_text" msgid="3350262809611876284">"လက်ရှိ အသုံးပြုသူကို ထုတ်ပစ်ရန်"</string>
@@ -404,15 +404,15 @@
     <string name="disable_vpn" msgid="4435534311510272506">"VPN ကို ပိတ်ထားရန်"</string>
     <string name="disconnect_vpn" msgid="1324915059568548655">"VPN ကို အဆက်ဖြတ်ရန်"</string>
     <string name="monitoring_description_device_owned" msgid="5780988291898461883">"သင့်စက်ကိရိယာကို<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nမှစီမံခန့်ခွဲထားပါသည်။သင့်စီမံခန့်ခွဲသူသည် ကြိုတင်ပြင်ဆင်မှုများ၊စုပေါင်းဝင်ရောက်ခွင့်၊အက်ပလီကေးရှင်းများ၊သင့်စက်ကိရိယာနှင့်ဆက်နွယ်နေသောအချက်အလက်နှင့်သင့်စက်ကိရိယာ ရဲ့နေရာအချက်အလက်များကိုကြီးကြပ်စောင့်ကြည့်နိုင်ပါသည်။အသေးစိတ်သိရှိလိုပါကသင်၏စီမံခန့်ခွဲသူကိုဆက်သွယ်ပါ။"</string>
-    <string name="monitoring_description_vpn" msgid="4445150119515393526">"VPN ချိတ်ဆက်မှုပြုလုပ်ရန် အပ်ဖ်ကို သင်ခွင့်ပြုလိုက်သည်။ \n\n ဤအပ်ဖ်သည် အီးမေးလ်များ၊ အပ်ဖ်များနှင့် ဝက်ဘ်ဆိုက်များအပါအဝင် သင့်ကိုယ်ရေးကိုယ်တာကွန်ရပ် လှုပ်ရှားမှုကို စောင့်ကြည့်နိုင်သည်။"</string>
+    <string name="monitoring_description_vpn" msgid="4445150119515393526">"VPN ချိတ်ဆက်မှုပြုလုပ်ရန် အက်ပ်ကို သင်ခွင့်ပြုလိုက်သည်။ \n\n ဤအက်ပ်သည် အီးမေးလ်များ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လုပ်ဆောင်ချက်များကို စောင့်ကြည့်နိုင်သည်။"</string>
     <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"သင့်စက်ကိရိယာကို<xliff:g id="ORGANIZATION">%1$s</xliff:g>\n \n မှစီမံခန့်ခွဲထားပါသည်။သင့်စီမံခန့်ခွဲသူသည် ကြိုတင်ပြင်ဆင်မှုများ၊စုပေါင်းဝင်ရောက်ခွင့်၊အက်ပလီကေးရှင်းများ၊သင့်စက်ကိရိယာနှင့်ဆက်နွယ်နေသောအချက်အလက်နှင့်သင့်စက်ကိရိယာ ရဲ့နေရာအချက်အလက်များကိုကြီးကြပ်စောင့်ကြည့်နိုင်ပါသည်။ \n\n အီးမေးလ်များ၊အက်ပလီကေးရှင်းများနှင့် ဝက်ဘ်ဆိုက်များအပါအဝင်သင့်ကွန်ယက်လုပ်ဆောင်ချက်ကိုစောင့်ကြည့်နိုင်သည့် VPN ကိုချိတ်ဆက်ထားပြီဖြစ် သည်။\n\n အသေးစိတ်သိရှိလိုပါကသင်၏စီမံခန့်ခွဲသူကိုဆက်သွယ်ပါ။"</string>
-    <string name="monitoring_description_vpn_profile_owned" msgid="2054949132145039290">"သင့်အလုပ်ပရိုဖိုင်ကို <xliff:g id="ORGANIZATION">%1$s</xliff:g>မှ စီမံခန့်ခွဲပါသည်။ \n\nသင့်စီမံခန့်ခွဲသူသည် အီးမေးလ်များ၊ အပ်ဖ်များ၊ နှင့် ဝက်ဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လှုပ်ရှားမှုကို စောင့်ကြည့်နိုင်သည်။ \n\nပိုမိုသော သတင်းအချက်အလက်အတွက်၊ သင့်စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။ \n\nသင်သည် VPN သို့လည်းဆက်သွယ်ထားပြီး၊ ၎င်းသည် သင့်ကွန်ရက်လှုပ်ရှားမှုကို စောင့်ကြည့်နိုင်ပါသည်။"</string>
+    <string name="monitoring_description_vpn_profile_owned" msgid="2054949132145039290">"သင့်အလုပ်ပရိုဖိုင်ကို <xliff:g id="ORGANIZATION">%1$s</xliff:g>မှ စီမံခန့်ခွဲပါသည်။ \n\nသင့်စီမံခန့်ခွဲသူသည် အီးမေးလ်များ၊ အက်ပ်များ၊ နှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လုပ်ဆောက်ချက်ကို စောင့်ကြည့်နိုင်သည်။ \n\nအချက်အလက်များ ပိုမိုရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။ \n\nသင်သည် VPN တစ်ခုသို့ပါ ချိတ်ဆက်ထားပြီး ၎င်းကပါ သင်၏ ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်ပါသည်။"</string>
     <string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
-    <string name="monitoring_description_app" msgid="6259179342284742878">"သင်သည် <xliff:g id="APPLICATION">%1$s</xliff:g> သို့ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးများ၊ အပ်ဖ်များနှင့် ဝက်ဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လှုပ်ရှားမှုများကို စောင့်ကြည့်နိုင်သည်။"</string>
-    <string name="monitoring_description_app_personal" msgid="484599052118316268">"သင်သည် <xliff:g id="APPLICATION">%1$s</xliff:g> သို့ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အပ်ဖ်များနှင့် ဝက်ဘ်ဆိုက်များအပါအဝင် သင့်ကိုယ်ရေးကိုယ်တာကွန်ရပ် လှုပ်ရှားမှုကို စောင့်ကြည့်နိုင်သည်။"</string>
-    <string name="monitoring_description_app_work" msgid="1754325860918060897">"သင့်အလုပ် ပရိုဖိုင်ကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲသည်။ ၎င်းကို <xliff:g id="APPLICATION">%2$s</xliff:g> သို့ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အပ်ဖ်များနှင့် ဝက်ဘ်ဆိုက်များအပါအဝင် သင့်ကိုယ်ရေးကိုယ်တာကွန်ရပ် လှုပ်ရှားမှုကို စောင့်ကြည့်နိုင်သည်။ \n\nနောက်ထပ်အချက်အလက်များအတွက်၊ သင့်ကြီးကြပ်သူကို ဆက်သွယ်ပါ။"</string>
-    <string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"သင့်အလုပ် ပရိုဖိုင်ကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲသည်။ ၎င်းကို <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> သို့ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အပ်ဖ်များနှင့် ဝက်ဘ်ဆိုက်များအပါအဝင် သင့်ကိုယ်ရေးကိုယ်တာကွန်ရပ် လှုပ်ရှားမှုကို စောင့်ကြည့်နိုင်သည်။ \n\n သင်သည်<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ကိုလည်းချိတ်ဆက်ထားသည်၊ ၎င်းသည် သင့်ကိုယ်ရေးကိုယ်တာ ကွန်ရက် လှုပ်ရှားမှုများကို စောင့်ကြည့်နိုင်သည်။"</string>
-    <string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"သင့်စက်ကိရိယာကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲပါသည်။ \n\n သင်စီမံခန့်ခွဲသူသည် ကြိုတင်ပြင်ဆင်မှုများ၊ စုပေါင်းဝင်ရောက်ခွင့်၊ အပ်ဖ်များ၊ သင့်ကိရိယာနှင့် သက်ဆိုင်သော ဒေတာ၊ နှင့် သင့်ကိရိယာ၏ တည်နေရာအချိက်အလက်များကို စောင့်ကြည့်ပြီး စီမံခန့်ခွဲနိုင်သည်။ \n\nသင်သည် <xliff:g id="APPLICATION">%2$s</xliff:g> သို့ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်းများ၊ အပ်ဖ်များ၊ နှင့် ဝက်ဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လှုပ်ရှားမှုကို စောင့်ကြည့်နိုင်သည်။ \n\nပိုမိုသော သတင်းအချက်အလက်အတွက်၊ သင့်စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="monitoring_description_app" msgid="6259179342284742878">"သင်သည် <xliff:g id="APPLICATION">%1$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးများ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လုပ်ဆောင်ချက်များကို စောင့်ကြည့်နိုင်သည်။"</string>
+    <string name="monitoring_description_app_personal" msgid="484599052118316268">"သင်သည် <xliff:g id="APPLICATION">%1$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်။ ၎င်းသည် အီးမေးလ်များ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်သည်။"</string>
+    <string name="monitoring_description_app_work" msgid="1754325860918060897">"သင့်အလုပ်ပရိုဖိုင်ကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲသည်။ ၎င်းကို <xliff:g id="APPLICATION">%2$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်အလုပ်ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်သည်။ \n\nအချက်အလက်များ ပိုမိုရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"သင့်အလုပ် ပရိုဖိုင်ကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲသည်။ ၎င်းကို <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်အလုပ်ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်သည်။ \n\n သင်သည်<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ကိုလည်း ချိတ်ဆက်ထားသည်၊ ၎င်းသည် သင့်ကိုယ်ပိုင်ကွန်ရက်လုပ်ဆောင်ချက်များကို စောင့်ကြည့်နိုင်သည်။"</string>
+    <string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"သင့်စက်ကိရိယာကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲပါသည်။ \n\n စီမံခန့်ခွဲသူသည် ကြိုတင်ပြင်ဆင်မှုများ၊ စုပေါင်းဝင်ရောက်ခွင့်၊ အက်ပ်များ၊ သင့်ကိရိယာနှင့်သက်ဆိုင်သော ဒေတာနှင့် သင့်ကိရိယာ၏ တည်နေရာအချက်အလက်များကို စောင့်ကြည့်ပြီး စီမံခန့်ခွဲနိုင်သည်။ \n\nသင်သည် <xliff:g id="APPLICATION">%2$s</xliff:g> သို့ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အက်ပ်များ၊ နှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်သည်။ \n\nအချက်အလက်များ ပိုမိုရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
     <string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"သင်က လက်ဖြင့် သော့မဖွင့်မချင်း ကိရိယာမှာ သော့ပိတ်လျက် ရှိနေမည်"</string>
     <string name="hidden_notifications_title" msgid="7139628534207443290">"အကြောင်းကြားချက်များ မြန်မြန်ရရန်"</string>
     <string name="hidden_notifications_text" msgid="2326409389088668981">"မဖွင့်ခင် ၎င်းတို့ကို ကြည့်ပါ"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index e05d30d..95460f5 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -608,8 +608,8 @@
     <string name="add_button" msgid="4134946063432258161">"Pridať tlačidlo"</string>
     <string name="save" msgid="2311877285724540644">"Uložiť"</string>
     <string name="reset" msgid="2448168080964209908">"Obnoviť"</string>
-    <string name="no_home_title" msgid="1563808595146071549">"Tlačidlo Plocha sa nenašlo"</string>
-    <string name="no_home_message" msgid="5408485011659260911">"Ak chcete používať navigáciu v tomto zariadení, musíte použiť tlačidlo Plocha. Pred uložením pridajte tlačidlo Plocha."</string>
+    <string name="no_home_title" msgid="1563808595146071549">"Nenašlo sa tlačidlo plochy"</string>
+    <string name="no_home_message" msgid="5408485011659260911">"Ak chcete používať navigáciu v tomto zariadení, musíte použiť tlačidlo plochy. Pred uložením pridajte tlačidlo plochy."</string>
     <string name="adjust_button_width" msgid="6138616087197632947">"Upraviť šírku tlačidla"</string>
     <string name="clipboard" msgid="1313879395099896312">"Schránka"</string>
     <string name="clipboard_description" msgid="3819919243940546364">"Schránka umožňuje presunúť položky priamo do schránky. Ak ju máte k dispozícii, môžete ich z nej aj priamo vytiahnuť."</string>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index cd861e14..e1cbbc5 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -141,6 +141,9 @@
     <!-- Margin start of the system icons super container -->
     <dimen name="system_icons_super_container_margin_start">16dp</dimen>
 
+    <!-- Margin end of the system icons super container when the avatar is missing. -->
+    <dimen name="system_icons_super_container_avatarless_margin_end">6dp</dimen>
+
     <!-- Width for the notification panel and related windows -->
     <dimen name="match_parent">-1px</dimen>
     <dimen name="standard_notification_panel_width">416dp</dimen>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 4f523f3..3ed0711 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -1336,59 +1336,6 @@
     <!-- Notification: Gear: Content description for the gear. [CHAR LIMIT=NONE] -->
     <string name="notification_gear_accessibility"><xliff:g id="app_name" example="YouTube">%1$s</xliff:g> notification controls</string>
 
-    <!-- SysUI Tuner: Color and appearance screen title [CHAR LIMIT=50] -->
-    <string name="color_and_appearance">Color and appearance</string>
-
-    <!-- SysUI Tuner: Name of the night mode feature [CHAR LIMIT=30] -->
-    <string name="night_mode">Night mode</string>
-
-    <!-- SysUI Tuner: Name of calibrate display dialog [CHAR LIMIT=30] -->
-    <string name="calibrate_display">Calibrate display</string>
-
-    <!-- SysUI Tuner: Summary of night mode when its on [CHAR LIMIT=NONE] -->
-    <string name="night_mode_on">On</string>
-
-    <!-- SysUI Tuner: Summary of night mode when its off [CHAR LIMIT=NONE] -->
-    <string name="night_mode_off">Off</string>
-
-    <!-- SysUI Tuner: Label for switch to turn on night mode automatically [CHAR LIMIT=50] -->
-    <string name="turn_on_automatically">Turn on automatically</string>
-
-    <!-- SysUI Tuner: Summary for switch to turn on night mode automatically [CHAR LIMIT=NONE] -->
-    <string name="turn_on_auto_summary">Switch into Night Mode as appropriate for location and time of day</string>
-
-    <!-- SysUI Tuner: Label for section controlling what night mode does [CHAR LIMIT=60] -->
-    <string name="when_night_mode_on">When Night Mode is on</string>
-
-    <!-- SysUI Tuner: Switch controlling whether dark theme is turned on with night mode [CHAR LIMIT=45] -->
-    <string name="use_dark_theme">Use dark theme for Android OS</string>
-
-    <!-- SysUI Tuner: Switch controlling whether tint is changed with night mode [CHAR LIMIT=45] -->
-    <string name="adjust_tint">Adjust tint</string>
-
-    <!-- SysUI Tuner: Switch controlling whether brightness is changed with night mode [CHAR LIMIT=45] -->
-    <string name="adjust_brightness">Adjust brightness</string>
-
-    <!-- SysUI Tuner: Disclaimer about using dark theme with night mode [CHAR LIMIT=NONE] -->
-    <string name="night_mode_disclaimer">The dark theme is applied to
-        core areas of Android OS that are normally displayed in a light theme,
-        such as Settings.</string>
-
-    <!-- Button to apply settings [CHAR LIMIT=30] -->
-    <string name="color_apply">Apply</string>
-
-    <!-- Title of warning dialog about bad color settings. [CHAR LIMIT=30] -->
-    <string name="color_revert_title">Confirm settings</string>
-
-    <!-- Message warning user about custom color settings [CHAR LIMIT=NONE] -->
-    <string name="color_revert_message">Some color settings can make this
-        device unusable. Click OK to confirm these color settings,
-        otherwise these settings will reset after 10 seconds.</string>
-
-    <string name="color_modification_r" translatable="false">R</string>
-    <string name="color_modification_g" translatable="false">G</string>
-    <string name="color_modification_b" translatable="false">B</string>
-
     <!-- Title of the battery settings detail panel [CHAR LIMIT=20] -->
     <string name="battery_panel_title">Battery usage</string>
 
diff --git a/packages/SystemUI/res/xml/color_and_appearance.xml b/packages/SystemUI/res/xml/color_and_appearance.xml
deleted file mode 100644
index 21f890e..0000000
--- a/packages/SystemUI/res/xml/color_and_appearance.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:sysui="http://schemas.android.com/apk/res-auto"
-    android:title="@string/color_and_appearance">
-
-    <Preference
-        android:key="night_mode"
-        android:title="@string/night_mode"
-        android:fragment="com.android.systemui.tuner.NightModeFragment" />
-
-    <com.android.systemui.tuner.CalibratePreference
-        android:key="calibrate"
-        android:title="@string/calibrate_display" />
-
-</PreferenceScreen>
diff --git a/packages/SystemUI/res/xml/night_mode.xml b/packages/SystemUI/res/xml/night_mode.xml
deleted file mode 100644
index 34af820..0000000
--- a/packages/SystemUI/res/xml/night_mode.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:sysui="http://schemas.android.com/apk/res-auto"
-    android:title="@string/night_mode">
-
-    <SwitchPreference
-        android:key="auto"
-        android:title="@string/turn_on_automatically"
-        android:summary="@string/turn_on_auto_summary" />
-
-    <PreferenceCategory
-        android:title="@string/when_night_mode_on">
-
-        <SwitchPreference
-            android:key="adjust_tint"
-            android:title="@string/adjust_tint" />
-
-        <SwitchPreference
-            android:key="adjust_brightness"
-            android:title="@string/adjust_brightness" />
-
-    </PreferenceCategory>
-
-</PreferenceScreen>
diff --git a/packages/SystemUI/res/xml/tuner_prefs.xml b/packages/SystemUI/res/xml/tuner_prefs.xml
index 116bc69..b46e862 100644
--- a/packages/SystemUI/res/xml/tuner_prefs.xml
+++ b/packages/SystemUI/res/xml/tuner_prefs.xml
@@ -100,13 +100,6 @@
 
     </PreferenceScreen>
 
-    <!--
-    <Preference
-        android:key="color_transform"
-        android:title="@string/color_and_appearance"
-        android:fragment="com.android.systemui.tuner.ColorAndAppearanceFragment" />
-    -->
-
     <PreferenceScreen
         android:key="volume_and_do_not_disturb"
         android:title="@string/volume_and_do_not_disturb">
diff --git a/packages/SystemUI/src/com/android/systemui/Prefs.java b/packages/SystemUI/src/com/android/systemui/Prefs.java
index 907616c..19ae295 100644
--- a/packages/SystemUI/src/com/android/systemui/Prefs.java
+++ b/packages/SystemUI/src/com/android/systemui/Prefs.java
@@ -47,7 +47,6 @@
         Key.QS_DATA_SAVER_DIALOG_SHOWN,
         Key.QS_INVERT_COLORS_ADDED,
         Key.QS_WORK_ADDED,
-        Key.QS_NIGHT_ADDED,
     })
     public @interface Key {
         String OVERVIEW_LAST_STACK_TASK_ACTIVE_TIME = "OverviewLastStackTaskActiveTime";
@@ -67,7 +66,6 @@
         String QS_DATA_SAVER_DIALOG_SHOWN = "QsDataSaverDialogShown";
         String QS_INVERT_COLORS_ADDED = "QsInvertColorsAdded";
         String QS_WORK_ADDED = "QsWorkAdded";
-        String QS_NIGHT_ADDED = "QsNightAdded";
     }
 
     public static boolean getBoolean(Context context, @Key String key, boolean defaultValue) {
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
index 9a36aca..06ce88cc 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
@@ -28,6 +28,7 @@
 import com.android.systemui.statusbar.BaseStatusBar;
 import com.android.systemui.statusbar.ScrimView;
 import com.android.systemui.statusbar.phone.KeyguardBouncer;
+import com.android.systemui.statusbar.phone.LockscreenWallpaper;
 import com.android.systemui.statusbar.phone.NotificationIconAreaController;
 import com.android.systemui.statusbar.phone.PhoneStatusBar;
 import com.android.systemui.statusbar.phone.QSTileHost;
@@ -92,7 +93,7 @@
     }
 
     public ScrimController createScrimController(ScrimView scrimBehind, ScrimView scrimInFront,
-            View headsUpScrim) {
+            View headsUpScrim, LockscreenWallpaper lockscreenWallpaper) {
         return new ScrimController(scrimBehind, scrimInFront, headsUpScrim);
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
index a5e771f..af2a286 100644
--- a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
+++ b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
@@ -15,6 +15,7 @@
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -28,9 +29,9 @@
 import android.widget.ImageView;
 
 import com.android.internal.app.AssistUtils;
+import com.android.internal.app.IVoiceInteractionSessionListener;
 import com.android.internal.app.IVoiceInteractionSessionShowCallback;
 import com.android.systemui.R;
-import com.android.systemui.SystemUIFactory;
 import com.android.systemui.statusbar.BaseStatusBar;
 import com.android.systemui.statusbar.CommandQueue;
 
@@ -52,7 +53,7 @@
 
     private AssistOrbContainer mView;
     private final BaseStatusBar mBar;
-    private final AssistUtils mAssistUtils;
+    protected final AssistUtils mAssistUtils;
 
     private IVoiceInteractionSessionShowCallback mShowCallback =
             new IVoiceInteractionSessionShowCallback.Stub() {
@@ -82,6 +83,23 @@
         mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
         mAssistUtils = new AssistUtils(context);
         mAssistDisclosure = new AssistDisclosure(context, new Handler());
+
+        registerVoiceInteractionSessionListener();
+    }
+
+    protected void registerVoiceInteractionSessionListener() {
+        mAssistUtils.registerVoiceInteractionSessionListener(
+                new IVoiceInteractionSessionListener.Stub() {
+            @Override
+            public void onVoiceSessionShown() throws RemoteException {
+                Log.v(TAG, "Voice open");
+            }
+
+            @Override
+            public void onVoiceSessionHidden() throws RemoteException {
+                Log.v(TAG, "Voice closed");
+            }
+        });
     }
 
     public void onConfigurationChanged() {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
index 27b079a..ca853fe 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
@@ -39,7 +39,6 @@
 import com.android.systemui.statusbar.policy.BatteryController;
 import com.android.systemui.statusbar.policy.BluetoothController;
 import com.android.systemui.statusbar.policy.CastController;
-import com.android.systemui.statusbar.policy.NightModeController;
 import com.android.systemui.statusbar.policy.FlashlightController;
 import com.android.systemui.statusbar.policy.HotspotController;
 import com.android.systemui.statusbar.policy.KeyguardMonitor;
@@ -447,7 +446,6 @@
         UserInfoController getUserInfoController();
         BatteryController getBatteryController();
         TileServices getTileServices();
-        NightModeController getNightModeController();
         void removeTile(String tileSpec);
         ManagedProfileController getManagedProfileController();
 
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java
index 0f356e0..7bdb1c4 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java
@@ -801,9 +801,13 @@
         Recents.getTaskLoader().dump(prefix, writer);
 
         String id = Integer.toHexString(System.identityHashCode(this));
+        long lastStackActiveTime = Prefs.getLong(this,
+                Prefs.Key.OVERVIEW_LAST_STACK_TASK_ACTIVE_TIME, -1);
 
         writer.print(prefix); writer.print(TAG);
         writer.print(" visible="); writer.print(mIsVisible ? "Y" : "N");
+        writer.print(" lastStackTaskActiveTime="); writer.print(lastStackActiveTime);
+        writer.print(" currentTime="); writer.print(System.currentTimeMillis());
         writer.print(" [0x"); writer.print(id); writer.print("]");
         writer.println();
 
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
index 7e1deec..f9e59e7 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
@@ -609,7 +609,7 @@
         stackLayout.setSystemInsets(systemInsets);
         if (stack != null) {
             stackLayout.getTaskStackBounds(displayRect, windowRect, systemInsets.top,
-                    systemInsets.right, mTaskStackBounds);
+                    systemInsets.left, systemInsets.right, mTaskStackBounds);
             stackLayout.reset();
             stackLayout.initialize(displayRect, windowRect, mTaskStackBounds,
                     TaskStackLayoutAlgorithm.StackState.getStackStateForStack(stack));
diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/TaskStack.java b/packages/SystemUI/src/com/android/systemui/recents/model/TaskStack.java
index 26200d0..b5753ba 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/model/TaskStack.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/model/TaskStack.java
@@ -511,8 +511,8 @@
             int top = dockArea.bottom < 1f
                     ? 0
                     : insets.top;
-            layoutAlgorithm.getTaskStackBounds(displayRect, windowRectOut, top, insets.right,
-                    taskStackBounds);
+            layoutAlgorithm.getTaskStackBounds(displayRect, windowRectOut, top, insets.left,
+                    insets.right, taskStackBounds);
             return taskStackBounds;
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackLayoutAlgorithm.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackLayoutAlgorithm.java
index e3fe1ab..89789bce 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackLayoutAlgorithm.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackLayoutAlgorithm.java
@@ -1058,9 +1058,9 @@
      * top and right system insets (but not the bottom inset) and left/right paddings, but _not_
      * the top/bottom padding or insets.
      */
-    public void getTaskStackBounds(Rect displayRect, Rect windowRect, int topInset, int rightInset,
-            Rect taskStackBounds) {
-        taskStackBounds.set(windowRect.left, windowRect.top + topInset,
+    public void getTaskStackBounds(Rect displayRect, Rect windowRect, int topInset, int leftInset,
+            int rightInset, Rect taskStackBounds) {
+        taskStackBounds.set(windowRect.left + leftInset, windowRect.top + topInset,
                 windowRect.right - rightInset, windowRect.bottom);
 
         // Ensure that the new width is at most the smaller display edge size
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
index 586a8bc..21780a6 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
@@ -1191,7 +1191,8 @@
         // bounds have changed.  This is because we may get spurious measures while dragging where
         // our current stack bounds reflect the target drop region.
         mLayoutAlgorithm.getTaskStackBounds(mDisplayRect, new Rect(0, 0, width, height),
-                mLayoutAlgorithm.mSystemInsets.top, mLayoutAlgorithm.mSystemInsets.right, mTmpRect);
+                mLayoutAlgorithm.mSystemInsets.top, mLayoutAlgorithm.mSystemInsets.left,
+                mLayoutAlgorithm.mSystemInsets.right, mTmpRect);
         if (!mTmpRect.equals(mStableStackBounds)) {
             mStableStackBounds.set(mTmpRect);
             mStackBounds.set(mTmpRect);
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java
index 4badc42..f3bae20 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java
@@ -23,6 +23,8 @@
 import android.os.Message;
 import android.os.Messenger;
 import android.os.RemoteException;
+import android.os.UserManager;
+import android.util.Log;
 import android.view.WindowManager;
 
 public class TakeScreenshotService extends Service {
@@ -44,6 +46,16 @@
                     }
                 }
             };
+
+            // If the storage for this user is locked, we have no place to store
+            // the screenshot, so skip taking it instead of showing a misleading
+            // animation and error notification.
+            if (!getSystemService(UserManager.class).isUserUnlocked()) {
+                Log.w(TAG, "Skipping screenshot because storage is locked!");
+                post(finisher);
+                return;
+            }
+
             if (mScreenshot == null) {
                 mScreenshot = new GlobalScreenshot(TakeScreenshotService.this);
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java
index 58fbd4c..b742479 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java
@@ -24,7 +24,6 @@
 import com.android.systemui.statusbar.policy.DataSaverController.Listener;
 import com.android.systemui.statusbar.policy.HotspotController;
 import com.android.systemui.statusbar.policy.HotspotController.Callback;
-import com.android.systemui.statusbar.policy.NightModeController;
 
 /**
  * Manages which tiles should be automatically added to QS.
@@ -67,35 +66,12 @@
         if (!Prefs.getBoolean(context, Key.QS_WORK_ADDED, false)) {
             host.getManagedProfileController().addCallback(mProfileCallback);
         }
-        if (!Prefs.getBoolean(context, Key.QS_NIGHT_ADDED, false)) {
-            host.getNightModeController().addListener(mNightModeListener);
-        }
     }
 
     public void destroy() {
         // TODO: Remove any registered listeners.
     }
 
-    private final NightModeController.Listener mNightModeListener =
-            new NightModeController.Listener() {
-        @Override
-        public void onNightModeChanged() {
-            if (mHost.getNightModeController().isEnabled()) {
-                mHost.addTile("night");
-                Prefs.putBoolean(mContext, Key.QS_NIGHT_ADDED, true);
-                mHandler.post(new Runnable() {
-                    @Override
-                    public void run() {
-                        mHost.getNightModeController().removeListener(mNightModeListener);
-                    }
-                });
-            }
-        }
-
-        @Override
-        public void onTwilightAutoChanged() { }
-    };
-
     private final ManagedProfileController.Callback mProfileCallback =
             new ManagedProfileController.Callback() {
                 @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java
index b5a48a3..b53a999 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java
@@ -157,6 +157,10 @@
         }
     }
 
+    public ArrayList<View> getViews() {
+        return mViews;
+    }
+
     public View getCurrentView() {
         return mCurrentView;
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
index 772c766..a98601a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
@@ -18,6 +18,7 @@
 
 import android.app.ActivityManager;
 import android.app.ActivityManagerNative;
+import android.app.ActivityOptions;
 import android.app.admin.DevicePolicyManager;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -44,6 +45,7 @@
 import android.util.TypedValue;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.WindowManager;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.FrameLayout;
 import android.widget.TextView;
@@ -448,12 +450,24 @@
                 @Override
                 public void run() {
                     int result = ActivityManager.START_CANCELED;
+
+                    // Normally an activity will set it's requested rotation
+                    // animation on its window. However when launching an activity
+                    // causes the orientation to change this is too late. In these cases
+                    // the default animation is used. This doesn't look good for
+                    // the camera (as it rotates the camera contents out of sync
+                    // with physical reality). So, we ask the WindowManager to
+                    // force the crossfade animation if an orientation change
+                    // happens to occur during the launch.
+                    ActivityOptions o = ActivityOptions.makeBasic();
+                    o.setRotationAnimationHint(
+                            WindowManager.LayoutParams.ROTATION_ANIMATION_CROSSFADE);
                     try {
                         result = ActivityManagerNative.getDefault().startActivityAsUser(
                                 null, getContext().getBasePackageName(),
                                 intent,
                                 intent.resolveTypeIfNeeded(getContext().getContentResolver()),
-                                null, null, 0, Intent.FLAG_ACTIVITY_NEW_TASK, null, null,
+                                null, null, 0, Intent.FLAG_ACTIVITY_NEW_TASK, null, o.toBundle(),
                                 UserHandle.CURRENT.getIdentifier());
                     } catch (RemoteException e) {
                         Log.w(TAG, "Unable to start camera activity", e);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
index ee88b00..b3e86b5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
@@ -234,7 +234,6 @@
         mKeyguardView.setViewMediatorCallback(mCallback);
         mContainer.addView(mRoot, mContainer.getChildCount());
         mRoot.setVisibility(View.INVISIBLE);
-        mRoot.setSystemUiVisibility(View.STATUS_BAR_DISABLE_HOME);
     }
 
     protected void removeView() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index 42f398d..93ed139 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.content.res.Configuration;
+import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.util.TypedValue;
@@ -59,6 +60,7 @@
     private UserSwitcherController mUserSwitcherController;
 
     private int mSystemIconsSwitcherHiddenExpandedMargin;
+    private int mSystemIconsBaseMargin;
     private View mSystemIconsContainer;
 
     public KeyguardStatusBarView(Context context, AttributeSet attrs) {
@@ -137,8 +139,11 @@
     }
 
     private void loadDimens() {
-        mSystemIconsSwitcherHiddenExpandedMargin = getResources().getDimensionPixelSize(
+        Resources res = getResources();
+        mSystemIconsSwitcherHiddenExpandedMargin = res.getDimensionPixelSize(
                 R.dimen.system_icons_switcher_hidden_expanded_margin);
+        mSystemIconsBaseMargin = res.getDimensionPixelSize(
+                R.dimen.system_icons_super_container_avatarless_margin_end);
     }
 
     private void updateVisibilities() {
@@ -166,7 +171,13 @@
     private void updateSystemIconsLayoutParams() {
         RelativeLayout.LayoutParams lp =
                 (LayoutParams) mSystemIconsSuperContainer.getLayoutParams();
-        int marginEnd = mKeyguardUserSwitcherShowing ? mSystemIconsSwitcherHiddenExpandedMargin : 0;
+        // If the avatar icon is gone, we need to have some end margin to display the system icons
+        // correctly.
+        int baseMarginEnd = mMultiUserSwitch.getVisibility() == View.GONE
+                ? mSystemIconsBaseMargin
+                : 0;
+        int marginEnd = mKeyguardUserSwitcherShowing ? mSystemIconsSwitcherHiddenExpandedMargin :
+                baseMarginEnd;
         if (marginEnd != lp.getMarginEnd()) {
             lp.setMarginEnd(marginEnd);
             mSystemIconsSuperContainer.setLayoutParams(lp);
@@ -301,6 +312,7 @@
             mMultiUserSwitch.setAlpha(1f);
         } else {
             updateVisibilities();
+            updateSystemIconsLayoutParams();
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
index ab5ee93..9bb4936 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
@@ -168,6 +168,7 @@
             setContentDescription(contentDescription);
             mHasFingerPrintIcon = anyFingerprintIcon;
             if (animation != null && isAnim) {
+                animation.forceAnimationOnUI();
                 animation.start();
             }
             mLastState = state;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 4de769d..34aaae4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -22,6 +22,7 @@
 import android.annotation.NonNull;
 import android.app.ActivityManager;
 import android.app.ActivityManagerNative;
+import android.app.ActivityOptions;
 import android.app.IActivityManager;
 import android.app.Notification;
 import android.app.PendingIntent;
@@ -787,11 +788,15 @@
         mBackdropFront = (ImageView) mBackdrop.findViewById(R.id.backdrop_front);
         mBackdropBack = (ImageView) mBackdrop.findViewById(R.id.backdrop_back);
 
+        if (ENABLE_LOCKSCREEN_WALLPAPER) {
+            mLockscreenWallpaper = new LockscreenWallpaper(mContext, this, mHandler);
+        }
+
         ScrimView scrimBehind = (ScrimView) mStatusBarWindow.findViewById(R.id.scrim_behind);
         ScrimView scrimInFront = (ScrimView) mStatusBarWindow.findViewById(R.id.scrim_in_front);
         View headsUpScrim = mStatusBarWindow.findViewById(R.id.heads_up_scrim);
         mScrimController = SystemUIFactory.getInstance().createScrimController(
-                scrimBehind, scrimInFront, headsUpScrim);
+                scrimBehind, scrimInFront, headsUpScrim, mLockscreenWallpaper);
         if (mScrimSrcModeEnabled) {
             Runnable runnable = new Runnable() {
                 @Override
@@ -821,10 +826,6 @@
                 mKeyguardBottomArea.getLockIcon());
         mKeyguardBottomArea.setKeyguardIndicationController(mKeyguardIndicationController);
 
-        if (ENABLE_LOCKSCREEN_WALLPAPER) {
-            mLockscreenWallpaper = new LockscreenWallpaper(mContext, this, mHandler);
-        }
-
         // set the initial view visibility
         setAreThereNotifications();
 
@@ -3322,13 +3323,26 @@
                 intent.setFlags(
                         Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
                 int result = ActivityManager.START_CANCELED;
+                ActivityOptions options = new ActivityOptions(getActivityOptions());
+                if (intent == KeyguardBottomAreaView.INSECURE_CAMERA_INTENT) {
+                    // Normally an activity will set it's requested rotation
+                    // animation on its window. However when launching an activity
+                    // causes the orientation to change this is too late. In these cases
+                    // the default animation is used. This doesn't look good for
+                    // the camera (as it rotates the camera contents out of sync
+                    // with physical reality). So, we ask the WindowManager to
+                    // force the crossfade animation if an orientation change
+                    // happens to occur during the launch.
+                    options.setRotationAnimationHint(
+                            WindowManager.LayoutParams.ROTATION_ANIMATION_CROSSFADE);
+                }
                 try {
                     result = ActivityManagerNative.getDefault().startActivityAsUser(
                             null, mContext.getBasePackageName(),
                             intent,
                             intent.resolveTypeIfNeeded(mContext.getContentResolver()),
                             null, null, 0, Intent.FLAG_ACTIVITY_NEW_TASK, null,
-                            getActivityOptions(), UserHandle.CURRENT.getIdentifier());
+                            options.toBundle(), UserHandle.CURRENT.getIdentifier());
                 } catch (RemoteException e) {
                     Log.w(TAG, "Unable to start activity", e);
                 }
@@ -3499,6 +3513,7 @@
         setControllerUsers();
         clearCurrentMediaNotification();
         mLockscreenWallpaper.setCurrentUser(newUserId);
+        mScrimController.setCurrentUser(newUserId);
         updateMediaMetaData(true, false);
     }
 
@@ -4293,6 +4308,10 @@
         mStackScroller.setActivatedChild(view);
     }
 
+    public ButtonDispatcher getHomeButton() {
+        return mNavigationBarView.getHomeButton();
+    }
+
     /**
      * @param state The {@link StatusBarState} to set.
      */
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
index 011ec22..ca7f905 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
@@ -60,7 +60,6 @@
 import com.android.systemui.statusbar.policy.BluetoothController;
 import com.android.systemui.statusbar.policy.CastController;
 import com.android.systemui.statusbar.policy.NextAlarmController;
-import com.android.systemui.statusbar.policy.NightModeController;
 import com.android.systemui.statusbar.policy.FlashlightController;
 import com.android.systemui.statusbar.policy.HotspotController;
 import com.android.systemui.statusbar.policy.KeyguardMonitor;
@@ -71,7 +70,6 @@
 import com.android.systemui.statusbar.policy.UserInfoController;
 import com.android.systemui.statusbar.policy.UserSwitcherController;
 import com.android.systemui.statusbar.policy.ZenModeController;
-import com.android.systemui.tuner.NightModeTile;
 import com.android.systemui.tuner.TunerService;
 import com.android.systemui.tuner.TunerService.Tunable;
 
@@ -111,7 +109,6 @@
     private final TileServices mServices;
 
     private final List<Callback> mCallbacks = new ArrayList<>();
-    private final NightModeController mNightModeController;
     private final AutoTileManager mAutoTiles;
     private final ManagedProfileController mProfileController;
     private final NextAlarmController mNextAlarmController;
@@ -144,7 +141,6 @@
         mBattery = battery;
         mIconController = iconController;
         mNextAlarmController = nextAlarmController;
-        mNightModeController = new NightModeController(mContext, true);
         mProfileController = new ManagedProfileController(this);
 
         final HandlerThread ht = new HandlerThread(QSTileHost.class.getSimpleName(),
@@ -308,10 +304,6 @@
         return mIconController;
     }
 
-    public NightModeController getNightModeController() {
-        return mNightModeController;
-    }
-
     public ManagedProfileController getManagedProfileController() {
         return mProfileController;
     }
@@ -448,8 +440,6 @@
         else if (tileSpec.equals("user")) return new UserTile(this);
         else if (tileSpec.equals("battery")) return new BatteryTile(this);
         else if (tileSpec.equals("saver")) return new DataSaverTile(this);
-        else if (tileSpec.equals(NightModeTile.NIGHT_MODE_SPEC))
-            return new NightModeTile(this);
         // Intent tiles.
         else if (tileSpec.startsWith(IntentTile.PREFIX)) return IntentTile.create(this,tileSpec);
         else if (tileSpec.startsWith(CustomTile.PREFIX)) return CustomTile.create(this,tileSpec);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 135c294..8b87a7f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -30,6 +30,7 @@
 import android.view.animation.Interpolator;
 import android.view.animation.PathInterpolator;
 
+import com.android.keyguard.KeyguardUpdateMonitor;
 import com.android.systemui.R;
 import com.android.systemui.statusbar.ExpandableNotificationRow;
 import com.android.systemui.statusbar.NotificationData;
@@ -46,10 +47,13 @@
     public static final long ANIMATION_DURATION = 220;
     public static final Interpolator KEYGUARD_FADE_OUT_INTERPOLATOR
             = new PathInterpolator(0f, 0, 0.7f, 1f);
+    public static final Interpolator KEYGUARD_FADE_OUT_INTERPOLATOR_LOCKED
+            = new PathInterpolator(0.3f, 0f, 0.8f, 1f);
     private static final float SCRIM_BEHIND_ALPHA = 0.62f;
-    private static final float SCRIM_BEHIND_ALPHA_KEYGUARD = 0.45f;
-    private static final float SCRIM_BEHIND_ALPHA_UNLOCKING = 0.2f;
+    protected static final float SCRIM_BEHIND_ALPHA_KEYGUARD = 0.45f;
+    protected static final float SCRIM_BEHIND_ALPHA_UNLOCKING = 0.2f;
     private static final float SCRIM_IN_FRONT_ALPHA = 0.75f;
+    private static final float SCRIM_IN_FRONT_ALPHA_LOCKED = 0.85f;
     private static final int TAG_KEY_ANIM = R.id.scrim;
     private static final int TAG_KEY_ANIM_TARGET = R.id.scrim_target;
     private static final int TAG_START_ALPHA = R.id.scrim_alpha_start;
@@ -59,6 +63,7 @@
     private final ScrimView mScrimInFront;
     private final UnlockMethodCache mUnlockMethodCache;
     private final View mHeadsUpScrim;
+    private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
 
     private float mScrimBehindAlpha = SCRIM_BEHIND_ALPHA;
     private float mScrimBehindAlphaKeyguard = SCRIM_BEHIND_ALPHA_KEYGUARD;
@@ -99,6 +104,7 @@
         mHeadsUpScrim = headsUpScrim;
         final Context context = scrimBehind.getContext();
         mUnlockMethodCache = UnlockMethodCache.getInstance(context);
+        mKeyguardUpdateMonitor = KeyguardUpdateMonitor.getInstance(context);
         updateHeadsUpScrim(false);
     }
 
@@ -120,6 +126,13 @@
         scheduleUpdate();
     }
 
+    protected void setScrimBehindValues(float scrimBehindAlphaKeyguard,
+            float scrimBehindAlphaUnlocking) {
+        mScrimBehindAlphaKeyguard = scrimBehindAlphaKeyguard;
+        mScrimBehindAlphaUnlocking = scrimBehindAlphaUnlocking;
+        scheduleUpdate();
+    }
+
     public void onTrackingStarted() {
         mExpanding = true;
         mDarkenWhileDragging = !mUnlockMethodCache.canSkipBouncer();
@@ -162,11 +175,19 @@
         mAnimateChange = true;
         mSkipFirstFrame = skipFirstFrame;
         mOnAnimationFinished = onAnimationFinished;
-        scheduleUpdate();
 
-        // No need to wait for the next frame to be drawn for this case - onPreDraw will execute
-        // the changes we just scheduled.
-        onPreDraw();
+        if (mKeyguardUpdateMonitor.isUserUnlocked()) {
+            scheduleUpdate();
+
+            // No need to wait for the next frame to be drawn for this case - onPreDraw will execute
+            // the changes we just scheduled.
+            onPreDraw();
+        } else {
+
+            // In case the user isn't unlocked, make sure to delay a bit because the system is hosed
+            // with too many things in this case, in order to not skip the initial frames.
+            mScrimInFront.postOnAnimationDelayed(this::scheduleUpdate, 16);
+        }
     }
 
     public void abortKeyguardFadingOut() {
@@ -211,6 +232,11 @@
         return mDozeInFrontAlpha;
     }
 
+    private float getScrimInFrontAlpha() {
+        return mKeyguardUpdateMonitor.isUserUnlocked()
+                ? SCRIM_IN_FRONT_ALPHA
+                : SCRIM_IN_FRONT_ALPHA_LOCKED;
+    }
     private void scheduleUpdate() {
         if (mUpdatePending) return;
 
@@ -250,10 +276,10 @@
             float fraction = 1 - behindFraction;
             fraction = (float) Math.pow(fraction, 0.8f);
             behindFraction = (float) Math.pow(behindFraction, 0.8f);
-            setScrimInFrontColor(fraction * SCRIM_IN_FRONT_ALPHA);
+            setScrimInFrontColor(fraction * getScrimInFrontAlpha());
             setScrimBehindColor(behindFraction * mScrimBehindAlphaKeyguard);
         } else if (mBouncerShowing) {
-            setScrimInFrontColor(SCRIM_IN_FRONT_ALPHA);
+            setScrimInFrontColor(getScrimInFrontAlpha());
             setScrimBehindColor(0f);
         } else {
             float fraction = Math.max(0, Math.min(mFraction, 1));
@@ -371,7 +397,13 @@
     }
 
     private Interpolator getInterpolator() {
-        return mAnimateKeyguardFadingOut ? KEYGUARD_FADE_OUT_INTERPOLATOR : mInterpolator;
+        if (mAnimateKeyguardFadingOut && !mKeyguardUpdateMonitor.isUserUnlocked()) {
+            return KEYGUARD_FADE_OUT_INTERPOLATOR_LOCKED;
+        } else if (mAnimateKeyguardFadingOut) {
+            return KEYGUARD_FADE_OUT_INTERPOLATOR;
+        } else {
+            return mInterpolator;
+        }
     }
 
     @Override
@@ -542,4 +574,8 @@
                 R.dimen.heads_up_scrim_height);
         mHeadsUpScrim.setLayoutParams(layoutParams);
     }
+
+    public void setCurrentUser(int currentUser) {
+        // Don't care in the base class.
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index 8d0d9cb..3691a42 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -53,6 +53,11 @@
 
     private static final long WAKE_AND_UNLOCK_SCRIM_FADEOUT_DURATION_MS = 200;
 
+    // Duration of the Keyguard dismissal animation in case the user is currently locked. This is to
+    // make everything a bit slower to bridge a gap until the user is unlocked and home screen has
+    // dranw its first frame.
+    private static final long KEYGUARD_DISMISS_DURATION_LOCKED = 2000;
+
     private static String TAG = "StatusBarKeyguardViewManager";
 
     protected final Context mContext;
@@ -274,9 +279,12 @@
     /**
      * Hides the keyguard view
      */
-    public void hide(long startTime, final long fadeoutDuration) {
+    public void hide(long startTime, long fadeoutDuration) {
         mShowing = false;
 
+        if (!KeyguardUpdateMonitor.getInstance(mContext).isUserUnlocked()) {
+            fadeoutDuration = KEYGUARD_DISMISS_DURATION_LOCKED;
+        }
         long uptimeMillis = SystemClock.uptimeMillis();
         long delay = Math.max(0, startTime + HIDE_TIMING_CORRECTION_MS - uptimeMillis);
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NightModeController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NightModeController.java
deleted file mode 100644
index 4611ef9..0000000
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NightModeController.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package com.android.systemui.statusbar.policy;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.opengl.Matrix;
-import android.provider.Settings.Secure;
-import android.util.MathUtils;
-import com.android.systemui.tuner.TunerService;
-
-import java.util.ArrayList;
-
-/**
- * Listens for changes to twilight from the TwilightService.
- *
- * Also pushes the current matrix to accessibility based on the current twilight
- * and various tuner settings.
- */
-public class NightModeController implements TunerService.Tunable {
-
-    public static final String NIGHT_MODE_ADJUST_TINT = "tuner_night_mode_adjust_tint";
-    private static final String COLOR_MATRIX_CUSTOM_VALUES = "tuner_color_custom_values";
-
-    private static final String ACTION_TWILIGHT_CHANGED = "android.intent.action.TWILIGHT_CHANGED";
-
-    private static final String EXTRA_IS_NIGHT = "isNight";
-    private static final String EXTRA_AMOUNT = "amount";
-
-    // Night mode ~= 3400 K
-    private static final float[] NIGHT_VALUES = new float[] {
-        1, 0,     0,     0,
-        0, .754f, 0,     0,
-        0, 0,     .516f, 0,
-        0, 0,     0,     1,
-    };
-    public static final float[] IDENTITY_MATRIX = new float[] {
-        1, 0, 0, 0,
-        0, 1, 0, 0,
-        0, 0, 1, 0,
-        0, 0, 0, 1,
-    };
-
-    private final ArrayList<Listener> mListeners = new ArrayList<>();
-
-    private final Context mContext;
-
-    // This is whether or not this is the main NightMode controller in SysUI that should be
-    // updating relevant color matrixes or if its in the tuner process getting current state
-    // for UI.
-    private final boolean mUpdateMatrix;
-
-    private float[] mCustomMatrix;
-    private boolean mListening;
-    private boolean mAdjustTint;
-
-    private boolean mIsNight;
-    private float mAmount;
-    private boolean mIsAuto;
-
-    public NightModeController(Context context) {
-        this(context, false);
-    }
-
-    public NightModeController(Context context, boolean updateMatrix) {
-        mContext = context;
-        mUpdateMatrix = updateMatrix;
-        TunerService.get(mContext).addTunable(this, NIGHT_MODE_ADJUST_TINT,
-                COLOR_MATRIX_CUSTOM_VALUES, Secure.TWILIGHT_MODE);
-    }
-
-    public void setNightMode(boolean isNight) {
-        if (mIsAuto) {
-            if (mIsNight != isNight) {
-                TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE, isNight
-                        ? Secure.TWILIGHT_MODE_AUTO_OVERRIDE_ON
-                        : Secure.TWILIGHT_MODE_AUTO_OVERRIDE_OFF);
-            } else {
-                TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE,
-                        Secure.TWILIGHT_MODE_AUTO);
-            }
-        } else {
-            TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE, isNight
-                    ? Secure.TWILIGHT_MODE_LOCKED_ON : Secure.TWILIGHT_MODE_LOCKED_OFF);
-        }
-    }
-
-    public void setAuto(boolean auto) {
-        mIsAuto = auto;
-        if (auto) {
-            TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE, Secure.TWILIGHT_MODE_AUTO);
-        } else {
-            // Lock into the current state
-            TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE, mIsNight
-                    ? Secure.TWILIGHT_MODE_LOCKED_ON : Secure.TWILIGHT_MODE_LOCKED_OFF);
-        }
-    }
-
-    public boolean isAuto() {
-        return mIsAuto;
-    }
-
-    public void setAdjustTint(Boolean newValue) {
-        TunerService.get(mContext).setValue(NIGHT_MODE_ADJUST_TINT, ((Boolean) newValue) ? 1 : 0);
-    }
-
-    public void addListener(Listener listener) {
-        mListeners.add(listener);
-        listener.onNightModeChanged();
-        updateListening();
-    }
-
-    public void removeListener(Listener listener) {
-        mListeners.remove(listener);
-        updateListening();
-    }
-
-    private void updateListening() {
-        boolean shouldListen = mListeners.size() != 0 || (mUpdateMatrix && mAdjustTint);
-        if (shouldListen == mListening) return;
-        mListening = shouldListen;
-        if (mListening) {
-            mContext.registerReceiver(mReceiver, new IntentFilter(ACTION_TWILIGHT_CHANGED));
-        } else {
-            mContext.unregisterReceiver(mReceiver);
-        }
-    }
-
-    public boolean isEnabled() {
-        if (!mListening) {
-            updateNightMode(mContext.registerReceiver(null,
-                    new IntentFilter(ACTION_TWILIGHT_CHANGED)));
-        }
-        return mIsNight;
-    }
-
-    public String getCustomValues() {
-        return TunerService.get(mContext).getValue(COLOR_MATRIX_CUSTOM_VALUES);
-    }
-
-    public void setCustomValues(String values) {
-        TunerService.get(mContext).setValue(COLOR_MATRIX_CUSTOM_VALUES, values);
-    }
-
-    @Override
-    public void onTuningChanged(String key, String newValue) {
-        if (COLOR_MATRIX_CUSTOM_VALUES.equals(key)) {
-            mCustomMatrix = newValue != null ? toValues(newValue) : null;
-            updateCurrentMatrix();
-        } else if (NIGHT_MODE_ADJUST_TINT.equals(key)) {
-            mAdjustTint = newValue == null || Integer.parseInt(newValue) != 0;
-            updateListening();
-            updateCurrentMatrix();
-        } else if (Secure.TWILIGHT_MODE.equals(key)) {
-            mIsAuto = newValue != null && Integer.parseInt(newValue) >= Secure.TWILIGHT_MODE_AUTO;
-        }
-    }
-
-    private void updateCurrentMatrix() {
-        if (!mUpdateMatrix) return;
-        if ((!mAdjustTint || mAmount == 0) && mCustomMatrix == null) {
-            TunerService.get(mContext).setValue(Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, null);
-            return;
-        }
-        float[] values = scaleValues(IDENTITY_MATRIX, NIGHT_VALUES, mAdjustTint ? mAmount : 0);
-        if (mCustomMatrix != null) {
-            values = multiply(values, mCustomMatrix);
-        }
-        TunerService.get(mContext).setValue(Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX,
-                toString(values));
-    }
-
-    private void updateNightMode(Intent intent) {
-        mIsNight = intent != null && intent.getBooleanExtra(EXTRA_IS_NIGHT, false);
-        mAmount = intent != null ? intent.getFloatExtra(EXTRA_AMOUNT, 0) : 0;
-    }
-
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (ACTION_TWILIGHT_CHANGED.equals(intent.getAction())) {
-                updateNightMode(intent);
-                updateCurrentMatrix();
-                for (int i = 0; i < mListeners.size(); i++) {
-                    mListeners.get(i).onNightModeChanged();
-                }
-            }
-        }
-    };
-
-    public interface Listener {
-        void onNightModeChanged();
-        void onTwilightAutoChanged();
-    }
-
-    private static float[] multiply(float[] matrix, float[] other) {
-        if (matrix == null) {
-            return other;
-        }
-        float[] result = new float[16];
-        Matrix.multiplyMM(result, 0, matrix, 0, other, 0);
-        return result;
-    }
-
-    private float[] scaleValues(float[] identityMatrix, float[] nightValues, float amount) {
-        float[] values = new float[identityMatrix.length];
-        for (int i = 0; i < values.length; i++) {
-            values[i] = MathUtils.lerp(identityMatrix[i], nightValues[i], amount);
-        }
-        return values;
-    }
-
-    public static String toString(float[] values) {
-        StringBuilder builder = new StringBuilder();
-        for (int i = 0; i < values.length; i++) {
-            if (builder.length() != 0) {
-                builder.append(',');
-            }
-            builder.append(values[i]);
-        }
-        return builder.toString();
-    }
-
-    public static float[] toValues(String customValues) {
-        String[] strValues = customValues.split(",");
-        float[] values = new float[strValues.length];
-        for (int i = 0; i < values.length; i++) {
-            values[i] = Float.parseFloat(strValues[i]);
-        }
-        return values;
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/CalibratePreference.java b/packages/SystemUI/src/com/android/systemui/tuner/CalibratePreference.java
deleted file mode 100644
index ff7be13..0000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/CalibratePreference.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package com.android.systemui.tuner;
-
-import android.content.Context;
-import android.support.v7.preference.DialogPreference;
-import android.util.AttributeSet;
-
-public class CalibratePreference extends DialogPreference {
-    public CalibratePreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ColorAndAppearanceFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/ColorAndAppearanceFragment.java
deleted file mode 100644
index af95cf9..0000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/ColorAndAppearanceFragment.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package com.android.systemui.tuner;
-
-
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.provider.Settings.Secure;
-import android.support.v14.preference.PreferenceFragment;
-import android.support.v7.preference.Preference;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.SeekBar;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
-import com.android.systemui.R;
-import com.android.systemui.statusbar.policy.NightModeController;
-
-public class ColorAndAppearanceFragment extends PreferenceFragment {
-
-    private static final String KEY_CALIBRATE = "calibrate";
-
-    private static final long RESET_DELAY = 10000;
-    private static final CharSequence KEY_NIGHT_MODE = "night_mode";
-
-    private NightModeController mNightModeController;
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mNightModeController = new NightModeController(getContext());
-    }
-
-    @Override
-    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-        addPreferencesFromResource(R.xml.color_and_appearance);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        MetricsLogger.visibility(getContext(), MetricsEvent.TUNER_COLOR_AND_APPEARANCE, true);
-        // TODO: Figure out better title model for Tuner, to avoid any more of this.
-        getActivity().setTitle(R.string.color_and_appearance);
-
-        Preference nightMode = findPreference(KEY_NIGHT_MODE);
-        nightMode.setSummary(mNightModeController.isEnabled()
-                ? R.string.night_mode_on : R.string.night_mode_off);
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        MetricsLogger.visibility(getContext(), MetricsEvent.TUNER_COLOR_AND_APPEARANCE, false);
-    }
-
-    @Override
-    public void onDisplayPreferenceDialog(Preference preference) {
-        if (preference instanceof CalibratePreference) {
-            CalibrateDialog.show(this);
-        } else {
-            super.onDisplayPreferenceDialog(preference);
-        }
-    }
-
-    private void startRevertTimer() {
-        getView().postDelayed(mResetColorMatrix, RESET_DELAY);
-    }
-
-    private void onApply() {
-        MetricsLogger.action(getContext(), MetricsEvent.ACTION_TUNER_CALIBRATE_DISPLAY_CHANGED);
-        mNightModeController.setCustomValues(Settings.Secure.getString(
-                getContext().getContentResolver(), Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX));
-        getView().removeCallbacks(mResetColorMatrix);
-    }
-
-    private void onRevert() {
-        getView().removeCallbacks(mResetColorMatrix);
-        mResetColorMatrix.run();
-    }
-
-    private final Runnable mResetColorMatrix = new Runnable() {
-        @Override
-        public void run() {
-            ((DialogFragment) getFragmentManager().findFragmentByTag("RevertWarning")).dismiss();
-            Settings.Secure.putString(getContext().getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, null);
-        }
-    };
-
-    public static class CalibrateDialog extends DialogFragment implements
-            DialogInterface.OnClickListener {
-        private float[] mValues;
-        private NightModeController mNightModeController;
-
-        public static void show(ColorAndAppearanceFragment fragment) {
-            CalibrateDialog dialog = new CalibrateDialog();
-            dialog.setTargetFragment(fragment, 0);
-            dialog.show(fragment.getFragmentManager(), "Calibrate");
-        }
-
-        @Override
-        public void onCreate(Bundle savedInstanceState) {
-            super.onCreate(savedInstanceState);
-            mNightModeController = new NightModeController(getContext());
-            String customValues = mNightModeController.getCustomValues();
-            if (customValues == null) {
-                // Generate this as a string because its the easiest way to generate a copy of the
-                // identity.
-                customValues = NightModeController.toString(NightModeController.IDENTITY_MATRIX);
-            }
-            mValues = NightModeController.toValues(customValues);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            View v = LayoutInflater.from(getContext()).inflate(R.layout.calibrate_sliders, null);
-            bindView(v.findViewById(R.id.r_group), 0);
-            bindView(v.findViewById(R.id.g_group), 5);
-            bindView(v.findViewById(R.id.b_group), 10);
-            MetricsLogger.visible(getContext(), MetricsEvent.TUNER_CALIBRATE_DISPLAY);
-            return new AlertDialog.Builder(getContext())
-                    .setTitle(R.string.calibrate_display)
-                    .setView(v)
-                    .setPositiveButton(R.string.color_apply, this)
-                    .setNegativeButton(android.R.string.cancel, null)
-                    .create();
-        }
-
-        @Override
-        public void onDismiss(DialogInterface dialog) {
-            super.onDismiss(dialog);
-            MetricsLogger.hidden(getContext(), MetricsEvent.TUNER_CALIBRATE_DISPLAY);
-        }
-
-        private void bindView(View view, final int index) {
-            SeekBar seekBar = (SeekBar) view.findViewById(com.android.internal.R.id.seekbar);
-            seekBar.setMax(1000);
-            seekBar.setProgress((int) (1000 * mValues[index]));
-            seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
-                @Override
-                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
-                    mValues[index] = progress / 1000f;
-                }
-
-                @Override
-                public void onStartTrackingTouch(SeekBar seekBar) {
-                }
-
-                @Override
-                public void onStopTrackingTouch(SeekBar seekBar) {
-                }
-            });
-        }
-
-        @Override
-        public void onClick(DialogInterface dialog, int which) {
-            if (mValues[0] == 1 && mValues[5] == 1 && mValues[10] == 1) {
-                // Allow removal of matrix by all values set to highest.
-                mNightModeController.setCustomValues(null);
-                return;
-            }
-            ((ColorAndAppearanceFragment) getTargetFragment()).startRevertTimer();
-            Settings.Secure.putString(getContext().getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX,
-                    NightModeController.toString(mValues));
-            RevertWarning.show((ColorAndAppearanceFragment) getTargetFragment());
-        }
-    }
-
-    public static class RevertWarning extends DialogFragment
-            implements DialogInterface.OnClickListener {
-
-        public static void show(ColorAndAppearanceFragment fragment) {
-            RevertWarning warning = new RevertWarning();
-            warning.setTargetFragment(fragment, 0);
-            warning.show(fragment.getFragmentManager(), "RevertWarning");
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            AlertDialog alertDialog = new AlertDialog.Builder(getContext())
-                    .setTitle(R.string.color_revert_title)
-                    .setMessage(R.string.color_revert_message)
-                    .setPositiveButton(R.string.ok, this)
-                    .create();
-            alertDialog.setCanceledOnTouchOutside(true);
-            return alertDialog;
-        }
-
-        @Override
-        public void onCancel(DialogInterface dialog) {
-            super.onCancel(dialog);
-            ((ColorAndAppearanceFragment) getTargetFragment()).onRevert();
-        }
-
-        @Override
-        public void onClick(DialogInterface dialog, int which) {
-            ((ColorAndAppearanceFragment) getTargetFragment()).onApply();
-        }
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/NightModeFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/NightModeFragment.java
deleted file mode 100644
index ae2856c..0000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/NightModeFragment.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/**
- * Copyright (c) 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.systemui.tuner;
-
-import android.annotation.Nullable;
-import android.app.UiModeManager;
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.Settings.Secure;
-import android.support.v14.preference.PreferenceFragment;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.Preference.OnPreferenceChangeListener;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Switch;
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
-import com.android.systemui.R;
-import com.android.systemui.statusbar.policy.NightModeController;
-import com.android.systemui.statusbar.policy.NightModeController.Listener;
-import com.android.systemui.tuner.TunerService.Tunable;
-
-public class NightModeFragment extends PreferenceFragment implements Tunable,
-        Listener, OnPreferenceChangeListener {
-
-    private static final String TAG = "NightModeFragment";
-
-    public static final String EXTRA_SHOW_NIGHT_MODE = "show_night_mode";
-
-    private static final CharSequence KEY_AUTO = "auto";
-    private static final CharSequence KEY_ADJUST_TINT = "adjust_tint";
-    private static final CharSequence KEY_ADJUST_BRIGHTNESS = "adjust_brightness";
-
-    private Switch mSwitch;
-
-    private NightModeController mNightModeController;
-    private SwitchPreference mAutoSwitch;
-    private SwitchPreference mAdjustTint;
-    private SwitchPreference mAdjustBrightness;
-    private UiModeManager mUiModeManager;
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mNightModeController = new NightModeController(getContext());
-        mUiModeManager = getContext().getSystemService(UiModeManager.class);
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        final View view = LayoutInflater.from(getContext()).inflate(
-                R.layout.night_mode_settings, container, false);
-        ((ViewGroup) view).addView(super.onCreateView(inflater, container, savedInstanceState));
-        return view;
-    }
-
-    @Override
-    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-        final Context context = getPreferenceManager().getContext();
-
-        addPreferencesFromResource(R.xml.night_mode);
-        mAutoSwitch = (SwitchPreference) findPreference(KEY_AUTO);
-        mAutoSwitch.setOnPreferenceChangeListener(this);
-        mAdjustTint = (SwitchPreference) findPreference(KEY_ADJUST_TINT);
-        mAdjustTint.setOnPreferenceChangeListener(this);
-        mAdjustBrightness = (SwitchPreference) findPreference(KEY_ADJUST_BRIGHTNESS);
-        mAdjustBrightness.setOnPreferenceChangeListener(this);
-    }
-
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        View switchBar = view.findViewById(R.id.switch_bar);
-        mSwitch = (Switch) switchBar.findViewById(android.R.id.switch_widget);
-        mSwitch.setChecked(mNightModeController.isEnabled());
-        switchBar.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                boolean newState = !mNightModeController.isEnabled();
-                MetricsLogger.action(getContext(), MetricsEvent.ACTION_TUNER_NIGHT_MODE, newState);
-                mNightModeController.setNightMode(newState);
-                mSwitch.setChecked(newState);
-            }
-        });
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        MetricsLogger.visibility(getContext(), MetricsEvent.TUNER_NIGHT_MODE, true);
-        mNightModeController.addListener(this);
-        TunerService.get(getContext()).addTunable(this, Secure.BRIGHTNESS_USE_TWILIGHT,
-                NightModeController.NIGHT_MODE_ADJUST_TINT);
-        calculateDisabled();
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        MetricsLogger.visibility(getContext(), MetricsEvent.TUNER_NIGHT_MODE, false);
-        mNightModeController.removeListener(this);
-        TunerService.get(getContext()).removeTunable(this);
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final Boolean value = (Boolean) newValue;
-        if (mAutoSwitch == preference) {
-            MetricsLogger.action(getContext(), MetricsEvent.ACTION_TUNER_NIGHT_MODE_AUTO, value);
-            mNightModeController.setAuto(value);
-        } else if (mAdjustTint == preference) {
-            MetricsLogger.action(getContext(),
-                    MetricsEvent.ACTION_TUNER_NIGHT_MODE_ADJUST_TINT, value);
-            mNightModeController.setAdjustTint(value);
-            postCalculateDisabled();
-        } else if (mAdjustBrightness == preference) {
-            MetricsLogger.action(getContext(),
-                    MetricsEvent.ACTION_TUNER_NIGHT_MODE_ADJUST_BRIGHTNESS, value);
-            TunerService.get(getContext()).setValue(Secure.BRIGHTNESS_USE_TWILIGHT,
-                    value ? 1 : 0);
-            postCalculateDisabled();
-        } else {
-            return false;
-        }
-        return true;
-    }
-
-    private void postCalculateDisabled() {
-        // Post this because its the easiest way to wait for all state to be calculated.
-        getView().post(new Runnable() {
-            @Override
-            public void run() {
-                calculateDisabled();
-            }
-        });
-    }
-
-    private void calculateDisabled() {
-        int enabledCount = (mAdjustTint.isChecked() ? 1 : 0)
-                + (mAdjustBrightness.isChecked() ? 1 : 0);
-        if (enabledCount == 1) {
-            if (mAdjustTint.isChecked()) {
-                mAdjustTint.setEnabled(false);
-            } else {
-                mAdjustBrightness.setEnabled(false);
-            }
-        } else {
-            mAdjustTint.setEnabled(true);
-            mAdjustBrightness.setEnabled(true);
-        }
-    }
-
-    @Override
-    public void onTuningChanged(String key, String newValue) {
-        if (Secure.BRIGHTNESS_USE_TWILIGHT.equals(key)) {
-            mAdjustBrightness.setChecked(newValue != null && Integer.parseInt(newValue) != 0);
-        } else if (NightModeController.NIGHT_MODE_ADJUST_TINT.equals(key)) {
-            // Default on.
-            mAdjustTint.setChecked(newValue == null || Integer.parseInt(newValue) != 0);
-        }
-    }
-
-    @Override
-    public void onNightModeChanged() {
-        mSwitch.setChecked(mNightModeController.isEnabled());
-    }
-
-    @Override
-    public void onTwilightAutoChanged() {
-        mAutoSwitch.setChecked(mNightModeController.isAuto());
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/NightModeTile.java b/packages/SystemUI/src/com/android/systemui/tuner/NightModeTile.java
deleted file mode 100644
index fe44502..0000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/NightModeTile.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Copyright (c) 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.systemui.tuner;
-
-import android.content.Intent;
-import com.android.internal.logging.MetricsProto.MetricsEvent;
-import com.android.systemui.Prefs;
-import com.android.systemui.Prefs.Key;
-import com.android.systemui.R;
-import com.android.systemui.qs.QSTile;
-import com.android.systemui.statusbar.policy.NightModeController;
-
-
-public class NightModeTile extends QSTile<QSTile.State> implements NightModeController.Listener {
-
-    public static final String NIGHT_MODE_SPEC = "night";
-
-    private final NightModeController mNightModeController;
-
-    private int mIndex;
-    private String mCurrentValue;
-
-    private boolean mCustomEnabled;
-    private String[] mValues;
-    private CharSequence[] mValueTitles;
-
-    public NightModeTile(Host host) {
-        super(host);
-        mNightModeController = host.getNightModeController();
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return Prefs.getBoolean(mContext, Key.QS_NIGHT_ADDED, false)
-                && TunerService.isTunerEnabled(mContext);
-    }
-
-    @Override
-    public void setListening(boolean listening) {
-        if (listening) {
-            mNightModeController.addListener(this);
-            refreshState();
-        } else {
-            mNightModeController.removeListener(this);
-        }
-    }
-
-    @Override
-    public State newTileState() {
-        return new State();
-    }
-
-    @Override
-    public Intent getLongClickIntent() {
-        return new Intent(mContext, TunerActivity.class)
-                .putExtra(NightModeFragment.EXTRA_SHOW_NIGHT_MODE, true);
-    }
-
-    @Override
-    protected void handleClick() {
-        mNightModeController.setNightMode(!mNightModeController.isEnabled());
-        refreshState();
-    }
-
-    @Override
-    public CharSequence getTileLabel() {
-        return mContext.getString(R.string.night_mode);
-    }
-
-    @Override
-    protected void handleUpdateState(State state, Object arg) {
-        // TODO: Right now this is just a dropper, needs an actual night icon.
-        boolean enabled = mNightModeController.isEnabled();
-        state.icon = ResourceIcon.get(enabled ? R.drawable.ic_night_mode
-                : R.drawable.ic_night_mode_disabled);
-        state.label = mContext.getString(R.string.night_mode);
-        state.contentDescription = mContext.getString(R.string.night_mode);
-    }
-
-    @Override
-    public void onNightModeChanged() {
-        refreshState();
-    }
-
-    @Override
-    public void onTwilightAutoChanged() {
-        // Don't care.
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return MetricsEvent.QS_COLOR_MATRIX;
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java
index 5e5da74..5fe9296 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java
@@ -39,10 +39,7 @@
             final String action = getIntent().getAction();
             boolean showDemoMode = action != null && action.equals(
                     "com.android.settings.action.DEMO_MODE");
-            boolean showNightMode = getIntent().getBooleanExtra(
-                    NightModeFragment.EXTRA_SHOW_NIGHT_MODE, false);
-            final PreferenceFragment fragment = showNightMode ? new NightModeFragment()
-                    : showDemoMode ? new DemoModeFragment()
+            final PreferenceFragment fragment = showDemoMode ? new DemoModeFragment()
                     : new TunerFragment();
             getFragmentManager().beginTransaction().replace(R.id.content_frame,
                     fragment, TAG_TUNER).commit();
diff --git a/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java b/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java
index 30622d2..5cc2d01 100644
--- a/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java
@@ -528,7 +528,7 @@
     private static boolean isSettingsShown(ComponentName topActivity) {
         for (Pair<String, String> componentName : sSettingsPackageAndClassNamePairList) {
             String packageName = componentName.first;
-            if (topActivity.getPackageName().equals(componentName.first)) {
+            if (topActivity.getPackageName().equals(packageName)) {
                 String className = componentName.second;
                 if (className == null || topActivity.getClassName().equals(className)) {
                     return true;
diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto
index 1fb9642..45e3e7e 100644
--- a/proto/src/metrics_constants.proto
+++ b/proto/src/metrics_constants.proto
@@ -2367,6 +2367,10 @@
     // ACTION: Settings -> Support -> "Travel Abroad" Button -> Tolled Phone
     ACTION_SUPPORT_DIAL_TOLLED = 487;
 
+    // OPEN: Settings > Display > Night display
+    // CATEGORY: SETTINGS
+    NIGHT_DISPLAY_SETTINGS = 488;
+
     // ---- End N-MR1 Constants, all N-MR1 constants go above this line ----
     // Add new aosp constants above this line.
     // END OF AOSP CONSTANTS
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index feceb14..6defd0f 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -1905,7 +1905,7 @@
         SomeArgs args = SomeArgs.obtain();
         args.arg1 = widget.host;
         args.arg2 = widget.host.callbacks;
-        args.arg3 = updateViews;
+        args.arg3 = updateViews.clone();
         args.arg4 = requestTime;
         args.argi1 = widget.appWidgetId;
 
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 7abb967..b12a961 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -94,6 +94,7 @@
 import android.os.Process;
 import android.os.RemoteException;
 import android.os.ResultReceiver;
+import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -125,6 +126,7 @@
 import com.android.internal.util.AsyncChannel;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.internal.util.MessageUtils;
+import com.android.internal.util.WakeupMessage;
 import com.android.internal.util.XmlUtils;
 import com.android.server.am.BatteryStatsService;
 import com.android.server.connectivity.DataConnectionStats;
@@ -171,7 +173,7 @@
  */
 public class ConnectivityService extends IConnectivityManager.Stub
         implements PendingIntent.OnFinished {
-    private static final String TAG = "ConnectivityService";
+    private static final String TAG = ConnectivityService.class.getSimpleName();
 
     private static final boolean DBG = true;
     private static final boolean VDBG = false;
@@ -191,6 +193,12 @@
     // connect anyway?" dialog after the user selects a network that doesn't validate.
     private static final int PROMPT_UNVALIDATED_DELAY_MS = 8 * 1000;
 
+    // Default to 30s linger time-out. Modifiable only for testing.
+    private static final String LINGER_DELAY_PROPERTY = "persist.netmon.linger";
+    private static final int DEFAULT_LINGER_DELAY_MS = 30_000;
+    @VisibleForTesting
+    protected int mLingerDelayMs;  // Can't be final, or test subclass constructors can't change it.
+
     // How long to delay to removal of a pending intent based request.
     // See Settings.Secure.CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS
     private final int mReleasePendingIntentDelayMs;
@@ -239,7 +247,8 @@
     private static final int DISABLED = 0;
 
     private static final SparseArray<String> sMagicDecoderRing = MessageUtils.findMessageNames(
-            new Class[] { AsyncChannel.class, ConnectivityService.class, NetworkAgent.class });
+            new Class[] { AsyncChannel.class, ConnectivityService.class, NetworkAgent.class,
+                    NetworkAgentInfo.class });
 
     private enum ReapUnvalidatedNetworks {
         // Tear down networks that have no chance (e.g. even if validated) of becoming
@@ -681,6 +690,8 @@
         mReleasePendingIntentDelayMs = Settings.Secure.getInt(context.getContentResolver(),
                 Settings.Secure.CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS, 5_000);
 
+        mLingerDelayMs = SystemProperties.getInt(LINGER_DELAY_PROPERTY, DEFAULT_LINGER_DELAY_MS);
+
         mContext = checkNotNull(context, "missing Context");
         mNetd = checkNotNull(netManager, "missing INetworkManagementService");
         mStatsService = checkNotNull(statsService, "missing INetworkStatsService");
@@ -1083,6 +1094,7 @@
         return nai != null ? nai.network : null;
     }
 
+    // Public because it's used by mLockdownTracker.
     public NetworkInfo getActiveNetworkInfoUnfiltered() {
         enforceAccessPermission();
         final int uid = Binder.getCallingUid();
@@ -1338,6 +1350,7 @@
      * desired
      * @return {@code true} on success, {@code false} on failure
      */
+    @Override
     public boolean requestRouteToHostAddress(int networkType, byte[] hostAddress) {
         enforceChangePermission();
         if (mProtectedNetworks.contains(networkType)) {
@@ -1546,6 +1559,7 @@
         mContext.enforceCallingOrSelfPermission(KeepaliveTracker.PERMISSION, "ConnectivityService");
     }
 
+    // Public because it's used by mLockdownTracker.
     public void sendConnectedBroadcast(NetworkInfo info) {
         enforceConnectivityInternalPermission();
         sendGeneralBroadcast(info, CONNECTIVITY_ACTION);
@@ -1902,7 +1916,8 @@
         for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
             pw.println(nai.toString());
             pw.increaseIndent();
-            pw.println("Requests:");
+            pw.println(String.format("Requests: %d request/%d total",
+                    nai.numRequestNetworkRequests(), nai.numNetworkRequests()));
             pw.increaseIndent();
             for (int i = 0; i < nai.numNetworkRequests(); i++) {
                 pw.println(nai.requestAt(i).toString());
@@ -1910,7 +1925,7 @@
             pw.decreaseIndent();
             pw.println("Lingered:");
             pw.increaseIndent();
-            for (NetworkRequest nr : nai.networkLingered) pw.println(nr.toString());
+            nai.dumpLingerTimers(pw);
             pw.decreaseIndent();
             pw.decreaseIndent();
         }
@@ -2155,13 +2170,6 @@
                     }
                     break;
                 }
-                case NetworkMonitor.EVENT_NETWORK_LINGER_COMPLETE: {
-                    NetworkAgentInfo nai = (NetworkAgentInfo)msg.obj;
-                    if (isLiveNetworkAgent(nai, msg.what)) {
-                        handleLingerComplete(nai);
-                    }
-                    break;
-                }
                 case NetworkMonitor.EVENT_PROVISIONING_NOTIFICATION: {
                     final int netId = msg.arg2;
                     final boolean visible = (msg.arg1 != 0);
@@ -2194,33 +2202,50 @@
             return true;
         }
 
+        private boolean maybeHandleNetworkAgentInfoMessage(Message msg) {
+            switch (msg.what) {
+                default:
+                    return false;
+                case NetworkAgentInfo.EVENT_NETWORK_LINGER_COMPLETE: {
+                    NetworkAgentInfo nai = (NetworkAgentInfo) msg.obj;
+                    if (nai != null && isLiveNetworkAgent(nai, msg.what)) {
+                        handleLingerComplete(nai);
+                    }
+                    break;
+                }
+            }
+            return true;
+        }
+
         @Override
         public void handleMessage(Message msg) {
-            if (!maybeHandleAsyncChannelMessage(msg) && !maybeHandleNetworkMonitorMessage(msg)) {
+            if (!maybeHandleAsyncChannelMessage(msg) &&
+                    !maybeHandleNetworkMonitorMessage(msg) &&
+                    !maybeHandleNetworkAgentInfoMessage(msg)) {
                 maybeHandleNetworkAgentMessage(msg);
             }
         }
     }
 
-    private void linger(NetworkAgentInfo nai) {
-        nai.lingering = true;
-        logNetworkEvent(nai, NetworkEvent.NETWORK_LINGER);
-        nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_LINGER);
-        notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_LOSING);
-    }
-
-    // Cancel any lingering so the linger timeout doesn't teardown a network.
-    // This should be called when a network begins satisfying a NetworkRequest.
-    // Note: depending on what state the NetworkMonitor is in (e.g.,
-    // if it's awaiting captive portal login, or if validation failed), this
-    // may trigger a re-evaluation of the network.
-    private void unlinger(NetworkAgentInfo nai) {
-        nai.networkLingered.clear();
-        if (!nai.lingering) return;
-        nai.lingering = false;
-        logNetworkEvent(nai, NetworkEvent.NETWORK_UNLINGER);
-        if (VDBG) log("Canceling linger of " + nai.name());
-        nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
+    private void updateLingerState(NetworkAgentInfo nai, long now) {
+        // 1. Update the linger timer. If it's changed, reschedule or cancel the alarm.
+        // 2. If the network was lingering and there are now requests, unlinger it.
+        // 3. If this network is unneeded (which implies it is not lingering), and there is at least
+        //    one lingered request, start lingering.
+        nai.updateLingerTimer();
+        if (nai.isLingering() && nai.numRequestNetworkRequests() > 0) {
+            if (DBG) log("Unlingering " + nai.name());
+            nai.unlinger();
+            logNetworkEvent(nai, NetworkEvent.NETWORK_UNLINGER);
+        } else if (unneeded(nai) && nai.getLingerExpiry() > 0) {  // unneeded() calls isLingering()
+            int lingerTime = (int) (nai.getLingerExpiry() - now);
+            if (DBG) {
+                Log.d(TAG, "Lingering " + nai.name() + " for " + lingerTime + "ms");
+            }
+            nai.linger();
+            logNetworkEvent(nai, NetworkEvent.NETWORK_LINGER);
+            notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_LOSING, lingerTime);
+        }
     }
 
     private void handleAsyncChannelHalfConnect(Message msg) {
@@ -2310,6 +2335,7 @@
                     sendUpdatedScoreToFactories(request, 0);
                 }
             }
+            nai.clearLingerState();
             if (nai.isSatisfyingRequest(mDefaultRequest.requestId)) {
                 removeDataActivityTracking(nai);
                 notifyLockdownVpn(nai);
@@ -2397,7 +2423,10 @@
     // This is whether it is satisfying any NetworkRequests or were it to become validated,
     // would it have a chance of satisfying any NetworkRequests.
     private boolean unneeded(NetworkAgentInfo nai) {
-        if (!nai.everConnected || nai.isVPN() || nai.lingering) return false;
+        if (!nai.everConnected || nai.isVPN() ||
+               nai.isLingering() || nai.numRequestNetworkRequests() > 0) {
+            return false;
+        }
         for (NetworkRequestInfo nri : mNetworkRequests.values()) {
             // If this Network is already the highest scoring Network for a request, or if
             // there is hope for it to become one if it validated, then it is needed.
@@ -2442,33 +2471,40 @@
             }
             mNetworkRequestInfoLogs.log("RELEASE " + nri);
             if (nri.request.isRequest()) {
+                boolean wasKept = false;
+                NetworkAgentInfo nai = mNetworkForRequestId.get(nri.request.requestId);
+                if (nai != null) {
+                    nai.removeRequest(nri.request.requestId);
+                    if (VDBG) {
+                        log(" Removing from current network " + nai.name() +
+                                ", leaving " + nai.numNetworkRequests() + " requests.");
+                    }
+                    // If there are still lingered requests on this network, don't tear it down,
+                    // but resume lingering instead.
+                    updateLingerState(nai, SystemClock.elapsedRealtime());
+                    if (unneeded(nai)) {
+                        if (DBG) log("no live requests for " + nai.name() + "; disconnecting");
+                        teardownUnneededNetwork(nai);
+                    } else {
+                        wasKept = true;
+                    }
+                    mNetworkForRequestId.remove(nri.request.requestId);
+                }
+
+                // TODO: remove this code once we know that the Slog.wtf is never hit.
+                //
                 // Find all networks that are satisfying this request and remove the request
                 // from their request lists.
                 // TODO - it's my understanding that for a request there is only a single
                 // network satisfying it, so this loop is wasteful
-                boolean wasKept = false;
-                for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
-                    if (nai.isSatisfyingRequest(nri.request.requestId)) {
-                        nai.removeRequest(nri.request.requestId);
-                        if (VDBG) {
-                            log(" Removing from current network " + nai.name() +
-                                    ", leaving " + nai.numNetworkRequests() + " requests.");
-                        }
-                        if (unneeded(nai)) {
-                            if (DBG) log("no live requests for " + nai.name() + "; disconnecting");
-                            teardownUnneededNetwork(nai);
-                        } else {
-                            // suspect there should only be one pass through here
-                            // but if any were kept do the check below
-                            wasKept |= true;
-                        }
+                for (NetworkAgentInfo otherNai : mNetworkAgentInfos.values()) {
+                    if (otherNai.isSatisfyingRequest(nri.request.requestId) && otherNai != nai) {
+                        Slog.wtf(TAG, "Request " + nri.request + " satisfied by " +
+                                otherNai.name() + ", but mNetworkAgentInfos says " +
+                                (nai != null ? nai.name() : "null"));
                     }
                 }
 
-                NetworkAgentInfo nai = mNetworkForRequestId.get(nri.request.requestId);
-                if (nai != null) {
-                    mNetworkForRequestId.remove(nri.request.requestId);
-                }
                 // Maintain the illusion.  When this request arrived, we might have pretended
                 // that a network connected to serve it, even though the network was already
                 // connected.  Now that this request has gone away, we might have to pretend
@@ -2509,10 +2545,11 @@
                     }
                 }
             }
-            callCallbackForRequest(nri, null, ConnectivityManager.CALLBACK_RELEASED);
+            callCallbackForRequest(nri, null, ConnectivityManager.CALLBACK_RELEASED, 0);
         }
     }
 
+    @Override
     public void setAcceptUnvalidated(Network network, boolean accept, boolean always) {
         enforceConnectivityInternalPermission();
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_SET_ACCEPT_UNVALIDATED,
@@ -2696,6 +2733,7 @@
     }
 
     // javadoc from interface
+    @Override
     public int tether(String iface) {
         ConnectivityManager.enforceTetherChangePermission(mContext);
         if (isTetheringSupported()) {
@@ -2713,6 +2751,7 @@
     }
 
     // javadoc from interface
+    @Override
     public int untether(String iface) {
         ConnectivityManager.enforceTetherChangePermission(mContext);
 
@@ -2731,6 +2770,7 @@
     }
 
     // javadoc from interface
+    @Override
     public int getLastTetherError(String iface) {
         enforceTetherAccessPermission();
 
@@ -2742,6 +2782,7 @@
     }
 
     // TODO - proper iface API for selection by property, inspection, etc
+    @Override
     public String[] getTetherableUsbRegexs() {
         enforceTetherAccessPermission();
         if (isTetheringSupported()) {
@@ -2751,6 +2792,7 @@
         }
     }
 
+    @Override
     public String[] getTetherableWifiRegexs() {
         enforceTetherAccessPermission();
         if (isTetheringSupported()) {
@@ -2760,6 +2802,7 @@
         }
     }
 
+    @Override
     public String[] getTetherableBluetoothRegexs() {
         enforceTetherAccessPermission();
         if (isTetheringSupported()) {
@@ -2769,6 +2812,7 @@
         }
     }
 
+    @Override
     public int setUsbTethering(boolean enable) {
         ConnectivityManager.enforceTetherChangePermission(mContext);
         if (isTetheringSupported()) {
@@ -2780,21 +2824,25 @@
 
     // TODO - move iface listing, queries, etc to new module
     // javadoc from interface
+    @Override
     public String[] getTetherableIfaces() {
         enforceTetherAccessPermission();
         return mTethering.getTetherableIfaces();
     }
 
+    @Override
     public String[] getTetheredIfaces() {
         enforceTetherAccessPermission();
         return mTethering.getTetheredIfaces();
     }
 
+    @Override
     public String[] getTetheringErroredIfaces() {
         enforceTetherAccessPermission();
         return mTethering.getErroredIfaces();
     }
 
+    @Override
     public String[] getTetheredDhcpRanges() {
         enforceConnectivityInternalPermission();
         return mTethering.getTetheredDhcpRanges();
@@ -2853,12 +2901,14 @@
     }
 
     // 100 percent is full good, 0 is full bad.
+    @Override
     public void reportInetCondition(int networkType, int percentage) {
         NetworkAgentInfo nai = mLegacyTypeTracker.getNetworkForType(networkType);
         if (nai == null) return;
         reportNetworkConnectivity(nai.network, percentage > 50);
     }
 
+    @Override
     public void reportNetworkConnectivity(Network network, boolean hasConnectivity) {
         enforceAccessPermission();
         enforceInternetPermission();
@@ -2903,6 +2953,7 @@
         }
     }
 
+    @Override
     public ProxyInfo getProxyForNetwork(Network network) {
         if (network == null) return getDefaultProxy();
         final ProxyInfo globalProxy = getGlobalProxy();
@@ -3818,6 +3869,13 @@
         }
     }
 
+    private void ensureNetworkRequestHasType(NetworkRequest request) {
+        if (request.type == NetworkRequest.Type.NONE) {
+            throw new IllegalArgumentException(
+                    "All NetworkRequests in ConnectivityService must have a type");
+        }
+    }
+
     /**
      * Tracks info about the requester.
      * Also used to notice when the calling process dies so we can self-expire
@@ -3833,7 +3891,7 @@
 
         NetworkRequestInfo(NetworkRequest r, PendingIntent pi) {
             request = r;
-            ensureRequestHasType();
+            ensureNetworkRequestHasType(request);
             mPendingIntent = pi;
             messenger = null;
             mBinder = null;
@@ -3846,7 +3904,7 @@
             super();
             messenger = m;
             request = r;
-            ensureRequestHasType();
+            ensureNetworkRequestHasType(request);
             mBinder = binder;
             mPid = getCallingPid();
             mUid = getCallingUid();
@@ -3860,13 +3918,6 @@
             }
         }
 
-        private void ensureRequestHasType() {
-            if (request.type == NetworkRequest.Type.NONE) {
-                throw new IllegalArgumentException(
-                        "All NetworkRequests in ConnectivityService must have a type");
-            }
-        }
-
         private void enforceRequestCountLimit() {
             synchronized (mUidToNetworkRequestCount) {
                 int networkRequests = mUidToNetworkRequestCount.get(mUid, 0) + 1;
@@ -3952,8 +4003,11 @@
         } else {
             networkCapabilities = new NetworkCapabilities(networkCapabilities);
             enforceNetworkRequestPermissions(networkCapabilities);
+            // TODO: this is incorrect. We mark the request as metered or not depending on the state
+            // of the app when the request is filed, but we never change the request if the app
+            // changes network state. http://b/29964605
+            enforceMeteredApnPolicy(networkCapabilities);
         }
-        enforceMeteredApnPolicy(networkCapabilities);
         ensureRequestableCapabilities(networkCapabilities);
 
         if (timeoutMs < 0 || timeoutMs > ConnectivityManager.MAX_NETWORK_REQUEST_TIMEOUT_MS) {
@@ -4117,6 +4171,7 @@
 
     @Override
     public void releaseNetworkRequest(NetworkRequest networkRequest) {
+        ensureNetworkRequestHasType(networkRequest);
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_RELEASE_NETWORK_REQUEST, getCallingUid(),
                 0, networkRequest));
     }
@@ -4477,7 +4532,7 @@
     }
 
     private void callCallbackForRequest(NetworkRequestInfo nri,
-            NetworkAgentInfo networkAgent, int notificationType) {
+            NetworkAgentInfo networkAgent, int notificationType, int arg1) {
         if (nri.messenger == null) return;  // Default request has no msgr
         Bundle bundle = new Bundle();
         bundle.putParcelable(NetworkRequest.class.getSimpleName(),
@@ -4489,7 +4544,7 @@
         }
         switch (notificationType) {
             case ConnectivityManager.CALLBACK_LOSING: {
-                msg.arg1 = 30 * 1000; // TODO - read this from NetworkMonitor
+                msg.arg1 = arg1;
                 break;
             }
             case ConnectivityManager.CALLBACK_CAP_CHANGED: {
@@ -4536,7 +4591,14 @@
             return;
         }
         if (DBG) log("handleLingerComplete for " + oldNetwork.name());
-        teardownUnneededNetwork(oldNetwork);
+
+        // If we get here it means that the last linger timeout for this network expired. So there
+        // must be no other active linger timers, and we must stop lingering.
+        oldNetwork.clearLingerState();
+
+        if (unneeded(oldNetwork)) {
+            teardownUnneededNetwork(oldNetwork);
+        }
     }
 
     private void makeDefault(NetworkAgentInfo newNetwork) {
@@ -4581,7 +4643,7 @@
     //               performed to tear down unvalidated networks that have no chance (i.e. even if
     //               validated) of becoming the highest scoring network.
     private void rematchNetworkAndRequests(NetworkAgentInfo newNetwork,
-            ReapUnvalidatedNetworks reapUnvalidatedNetworks) {
+            ReapUnvalidatedNetworks reapUnvalidatedNetworks, long now) {
         if (!newNetwork.everConnected) return;
         boolean keep = newNetwork.isVPN();
         boolean isNewDefault = false;
@@ -4627,12 +4689,12 @@
                     if (currentNetwork != null) {
                         if (VDBG) log("   accepting network in place of " + currentNetwork.name());
                         currentNetwork.removeRequest(nri.request.requestId);
-                        currentNetwork.networkLingered.add(nri.request);
+                        currentNetwork.lingerRequest(nri.request, now, mLingerDelayMs);
                         affectedNetworks.add(currentNetwork);
                     } else {
                         if (VDBG) log("   accepting network in place of null");
                     }
-                    unlinger(newNetwork);
+                    newNetwork.unlingerRequest(nri.request);
                     mNetworkForRequestId.put(nri.request.requestId, newNetwork);
                     if (!newNetwork.addRequest(nri.request)) {
                         Slog.wtf(TAG, "BUG: " + newNetwork.name() + " already has " + nri.request);
@@ -4680,23 +4742,7 @@
                 // a) be requested and b) change is NET_CAPABILITY_TRUSTED,
                 // so this code is only incorrect for a network that loses
                 // the TRUSTED capability, which is a rare case.
-                callCallbackForRequest(nri, newNetwork, ConnectivityManager.CALLBACK_LOST);
-            }
-        }
-        // Linger any networks that are no longer needed.
-        for (NetworkAgentInfo nai : affectedNetworks) {
-            if (nai.lingering) {
-                // Already lingered.  Nothing to do.  This can only happen if "nai" is in
-                // "affectedNetworks" twice.  The reasoning being that to get added to
-                // "affectedNetworks", "nai" must have been satisfying a NetworkRequest
-                // (i.e. not lingered) so it could have only been lingered by this loop.
-                // unneeded(nai) will be false and we'll call unlinger() below which would
-                // be bad, so handle it here.
-            } else if (unneeded(nai)) {
-                linger(nai);
-            } else {
-                // Clear nai.networkLingered we might have added above.
-                unlinger(nai);
+                callCallbackForRequest(nri, newNetwork, ConnectivityManager.CALLBACK_LOST, 0);
             }
         }
         if (isNewDefault) {
@@ -4721,6 +4767,15 @@
         // before LegacyTypeTracker sends legacy broadcasts
         for (NetworkRequestInfo nri : addedRequests) notifyNetworkCallback(newNetwork, nri);
 
+        // Linger any networks that are no longer needed. This should be done after sending the
+        // available callback for newNetwork.
+        for (NetworkAgentInfo nai : affectedNetworks) {
+            updateLingerState(nai, now);
+        }
+        // Possibly unlinger newNetwork. Unlingering a network does not send any callbacks so it
+        // does not need to be done in any particular order.
+        updateLingerState(newNetwork, now);
+
         if (isNewDefault) {
             // Maintain the illusion: since the legacy API only
             // understands one network at a time, we must pretend
@@ -4786,8 +4841,19 @@
         if (reapUnvalidatedNetworks == ReapUnvalidatedNetworks.REAP) {
             for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
                 if (unneeded(nai)) {
-                    if (DBG) log("Reaping " + nai.name());
-                    teardownUnneededNetwork(nai);
+                    if (nai.getLingerExpiry() > 0) {
+                        // This network has active linger timers and no requests, but is not
+                        // lingering. Linger it.
+                        //
+                        // One way (the only way?) this can happen if this network is unvalidated
+                        // and became unneeded due to another network improving its score to the
+                        // point where this network will no longer be able to satisfy any requests
+                        // even if it validates.
+                        updateLingerState(nai, now);
+                    } else {
+                        if (DBG) log("Reaping " + nai.name());
+                        teardownUnneededNetwork(nai);
+                    }
                 }
             }
         }
@@ -4814,8 +4880,9 @@
         // Optimization: Only reprocess "changed" if its score improved.  This is safe because it
         // can only add more NetworkRequests satisfied by "changed", and this is exactly what
         // rematchNetworkAndRequests() handles.
+        final long now = SystemClock.elapsedRealtime();
         if (changed != null && oldScore < changed.getCurrentScore()) {
-            rematchNetworkAndRequests(changed, ReapUnvalidatedNetworks.REAP);
+            rematchNetworkAndRequests(changed, ReapUnvalidatedNetworks.REAP, now);
         } else {
             final NetworkAgentInfo[] nais = mNetworkAgentInfos.values().toArray(
                     new NetworkAgentInfo[mNetworkAgentInfos.size()]);
@@ -4829,7 +4896,8 @@
                         // is complete could incorrectly teardown a network that hasn't yet been
                         // rematched.
                         (nai != nais[nais.length-1]) ? ReapUnvalidatedNetworks.DONT_REAP
-                                : ReapUnvalidatedNetworks.REAP);
+                                : ReapUnvalidatedNetworks.REAP,
+                        now);
             }
         }
     }
@@ -4939,7 +5007,8 @@
             updateSignalStrengthThresholds(networkAgent, "CONNECT", null);
 
             // Consider network even though it is not yet validated.
-            rematchNetworkAndRequests(networkAgent, ReapUnvalidatedNetworks.REAP);
+            final long now = SystemClock.elapsedRealtime();
+            rematchNetworkAndRequests(networkAgent, ReapUnvalidatedNetworks.REAP, now);
 
             // This has to happen after matching the requests, because callbacks are just requests.
             notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_PRECHECK);
@@ -4987,14 +5056,8 @@
     // notify only this one new request of the current state
     protected void notifyNetworkCallback(NetworkAgentInfo nai, NetworkRequestInfo nri) {
         int notifyType = ConnectivityManager.CALLBACK_AVAILABLE;
-        // TODO - read state from monitor to decide what to send.
-//        if (nai.networkMonitor.isLingering()) {
-//            notifyType = NetworkCallbacks.LOSING;
-//        } else if (nai.networkMonitor.isEvaluating()) {
-//            notifyType = NetworkCallbacks.callCallbackForRequest(request, nai, notifyType);
-//        }
         if (nri.mPendingIntent == null) {
-            callCallbackForRequest(nri, nai, notifyType);
+            callCallbackForRequest(nri, nai, notifyType, 0);
         } else {
             sendPendingIntentForRequest(nri, nai, notifyType);
         }
@@ -5046,20 +5109,24 @@
         }
     }
 
-    protected void notifyNetworkCallbacks(NetworkAgentInfo networkAgent, int notifyType) {
+    protected void notifyNetworkCallbacks(NetworkAgentInfo networkAgent, int notifyType, int arg1) {
         if (VDBG) log("notifyType " + notifyTypeToName(notifyType) + " for " + networkAgent.name());
         for (int i = 0; i < networkAgent.numNetworkRequests(); i++) {
             NetworkRequest nr = networkAgent.requestAt(i);
             NetworkRequestInfo nri = mNetworkRequests.get(nr);
             if (VDBG) log(" sending notification for " + nr);
             if (nri.mPendingIntent == null) {
-                callCallbackForRequest(nri, networkAgent, notifyType);
+                callCallbackForRequest(nri, networkAgent, notifyType, arg1);
             } else {
                 sendPendingIntentForRequest(nri, networkAgent, notifyType);
             }
         }
     }
 
+    protected void notifyNetworkCallbacks(NetworkAgentInfo networkAgent, int notifyType) {
+        notifyNetworkCallbacks(networkAgent, notifyType, 0);
+    }
+
     private String notifyTypeToName(int notifyType) {
         switch (notifyType) {
             case ConnectivityManager.CALLBACK_PRECHECK:    return "PRECHECK";
@@ -5190,6 +5257,11 @@
         return new NetworkMonitor(context, handler, nai, defaultRequest);
     }
 
+    @VisibleForTesting
+    public WakeupMessage makeWakeupMessage(Context c, Handler h, String s, int cmd, Object obj) {
+        return new WakeupMessage(c, h, s, cmd, 0, 0, obj);
+    }
+
     private void logDefaultNetworkEvent(NetworkAgentInfo newNai, NetworkAgentInfo prevNai) {
         int newNetid = NETID_UNSET;
         int prevNetid = NETID_UNSET;
diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java
index d64fe32..e28fa73 100644
--- a/services/core/java/com/android/server/LockSettingsService.java
+++ b/services/core/java/com/android/server/LockSettingsService.java
@@ -69,6 +69,7 @@
 import android.util.Slog;
 
 import com.android.internal.util.ArrayUtils;
+import com.android.internal.widget.ICheckCredentialProgressCallback;
 import com.android.internal.widget.ILockSettings;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.internal.widget.VerifyCredentialResponse;
@@ -300,7 +301,8 @@
         for (int i = 0; i < users.size(); i++) {
             UserInfo user = users.get(i);
             UserHandle userHandle = user.getUserHandle();
-            if (!mUserManager.isUserUnlockingOrUnlocked(userHandle)) {
+            final boolean isSecure = mStorage.hasPassword(user.id) || mStorage.hasPattern(user.id);
+            if (isSecure && !mUserManager.isUserUnlockingOrUnlocked(userHandle)) {
                 if (!user.isManagedProfile()) {
                     showEncryptionNotification(userHandle);
                 } else {
@@ -347,7 +349,7 @@
         CharSequence detail = r.getText(
                 com.android.internal.R.string.user_encrypted_detail);
 
-        PendingIntent intent = PendingIntent.getBroadcast(mContext, 0, ACTION_NULL,
+        PendingIntent intent = PendingIntent.getActivity(mContext, 0, ACTION_NULL,
                 PendingIntent.FLAG_UPDATE_CURRENT);
 
         showEncryptionNotification(user, title, message, detail, intent);
@@ -407,7 +409,9 @@
         List<UserInfo> profiles = mUserManager.getProfiles(userId);
         for (int i = 0; i < profiles.size(); i++) {
             UserInfo profile = profiles.get(i);
-            if (profile.isManagedProfile()) {
+            final boolean isSecure =
+                    mStorage.hasPassword(profile.id) || mStorage.hasPattern(profile.id);
+            if (isSecure && profile.isManagedProfile()) {
                 UserHandle userHandle = profile.getUserHandle();
                 if (!mUserManager.isUserUnlockingOrUnlocked(userHandle) &&
                         !mUserManager.isQuietModeEnabled(userHandle)) {
@@ -757,7 +761,7 @@
     private void unlockChildProfile(int profileHandle) throws RemoteException {
         try {
             doVerifyPassword(getDecryptedPasswordForTiedProfile(profileHandle), false,
-                    0 /* no challenge */, profileHandle);
+                    0 /* no challenge */, profileHandle, null /* progressCallback */);
         } catch (UnrecoverableKeyException | InvalidKeyException | KeyStoreException
                 | NoSuchAlgorithmException | NoSuchPaddingException
                 | InvalidAlgorithmParameterException | IllegalBlockSizeException
@@ -944,7 +948,7 @@
             CredentialHash willStore
                 = new CredentialHash(enrolledHandle, CredentialHash.VERSION_GATEKEEPER);
             setUserKeyProtection(userId, pattern,
-                doVerifyPattern(pattern, willStore, true, 0, userId));
+                doVerifyPattern(pattern, willStore, true, 0, userId, null /* progressCallback */));
             mStorage.writePatternHash(enrolledHandle, userId);
             fixateNewestUserKeyAuth(userId);
             onUserLockChanged(userId);
@@ -1004,7 +1008,8 @@
             CredentialHash willStore
                 = new CredentialHash(enrolledHandle, CredentialHash.VERSION_GATEKEEPER);
             setUserKeyProtection(userId, password,
-                doVerifyPassword(password, willStore, true, 0, userId));
+                doVerifyPassword(password, willStore, true, 0, userId,
+                        null /* progressCallback */));
             mStorage.writePasswordHash(enrolledHandle, userId);
             fixateNewestUserKeyAuth(userId);
             onUserLockChanged(userId);
@@ -1202,25 +1207,29 @@
     }
 
     @Override
-    public VerifyCredentialResponse checkPattern(String pattern, int userId) throws RemoteException {
-        return doVerifyPattern(pattern, false, 0, userId);
+    public VerifyCredentialResponse checkPattern(String pattern, int userId,
+            ICheckCredentialProgressCallback progressCallback) throws RemoteException {
+        return doVerifyPattern(pattern, false, 0, userId, progressCallback);
     }
 
     @Override
     public VerifyCredentialResponse verifyPattern(String pattern, long challenge, int userId)
             throws RemoteException {
-        return doVerifyPattern(pattern, true, challenge, userId);
+        return doVerifyPattern(pattern, true, challenge, userId, null /* progressCallback */);
     }
 
     private VerifyCredentialResponse doVerifyPattern(String pattern, boolean hasChallenge,
-            long challenge, int userId) throws RemoteException {
+            long challenge, int userId, ICheckCredentialProgressCallback progressCallback)
+            throws RemoteException {
        checkPasswordReadPermission(userId);
        CredentialHash storedHash = mStorage.readPatternHash(userId);
-       return doVerifyPattern(pattern, storedHash, hasChallenge, challenge, userId);
+       return doVerifyPattern(pattern, storedHash, hasChallenge, challenge, userId,
+               progressCallback);
     }
 
     private VerifyCredentialResponse doVerifyPattern(String pattern, CredentialHash storedHash,
-            boolean hasChallenge, long challenge, int userId) throws RemoteException {
+            boolean hasChallenge, long challenge, int userId,
+            ICheckCredentialProgressCallback progressCallback) throws RemoteException {
        boolean shouldReEnrollBaseZero = storedHash != null && storedHash.isBaseZeroPattern;
 
        String patternToVerify;
@@ -1249,7 +1258,8 @@
                    public String adjustForKeystore(String pattern) {
                        return LockPatternUtils.patternStringToBaseZero(pattern);
                    }
-               }
+               },
+               progressCallback
        );
 
        if (response.getResponseCode() == VerifyCredentialResponse.RESPONSE_OK
@@ -1261,15 +1271,15 @@
     }
 
     @Override
-    public VerifyCredentialResponse checkPassword(String password, int userId)
-            throws RemoteException {
-        return doVerifyPassword(password, false, 0, userId);
+    public VerifyCredentialResponse checkPassword(String password, int userId,
+            ICheckCredentialProgressCallback progressCallback) throws RemoteException {
+        return doVerifyPassword(password, false, 0, userId, progressCallback);
     }
 
     @Override
     public VerifyCredentialResponse verifyPassword(String password, long challenge, int userId)
             throws RemoteException {
-        return doVerifyPassword(password, true, challenge, userId);
+        return doVerifyPassword(password, true, challenge, userId, null /* progressCallback */);
     }
 
     @Override
@@ -1282,8 +1292,10 @@
         final int parentProfileId = mUserManager.getProfileParent(userId).id;
         // Unlock parent by using parent's challenge
         final VerifyCredentialResponse parentResponse = isPattern
-                ? doVerifyPattern(password, true, challenge, parentProfileId)
-                : doVerifyPassword(password, true, challenge, parentProfileId);
+                ? doVerifyPattern(password, true, challenge, parentProfileId,
+                        null /* progressCallback */)
+                : doVerifyPassword(password, true, challenge, parentProfileId,
+                        null /* progressCallback */);
         if (parentResponse.getResponseCode() != VerifyCredentialResponse.RESPONSE_OK) {
             // Failed, just return parent's response
             return parentResponse;
@@ -1293,7 +1305,7 @@
             // Unlock work profile, and work profile with unified lock must use password only
             return doVerifyPassword(getDecryptedPasswordForTiedProfile(userId), true,
                     challenge,
-                    userId);
+                    userId, null /* progressCallback */);
         } catch (UnrecoverableKeyException | InvalidKeyException | KeyStoreException
                 | NoSuchAlgorithmException | NoSuchPaddingException
                 | InvalidAlgorithmParameterException | IllegalBlockSizeException
@@ -1304,14 +1316,17 @@
     }
 
     private VerifyCredentialResponse doVerifyPassword(String password, boolean hasChallenge,
-            long challenge, int userId) throws RemoteException {
+            long challenge, int userId, ICheckCredentialProgressCallback progressCallback)
+            throws RemoteException {
        checkPasswordReadPermission(userId);
        CredentialHash storedHash = mStorage.readPasswordHash(userId);
-       return doVerifyPassword(password, storedHash, hasChallenge, challenge, userId);
+       return doVerifyPassword(password, storedHash, hasChallenge, challenge, userId,
+               progressCallback);
     }
 
     private VerifyCredentialResponse doVerifyPassword(String password, CredentialHash storedHash,
-            boolean hasChallenge, long challenge, int userId) throws RemoteException {
+            boolean hasChallenge, long challenge, int userId,
+            ICheckCredentialProgressCallback progressCallback) throws RemoteException {
        return verifyCredential(userId, storedHash, password, hasChallenge, challenge,
                new CredentialUtil() {
                    @Override
@@ -1329,12 +1344,12 @@
                    public String adjustForKeystore(String password) {
                        return password;
                    }
-               }
-       );
+               }, progressCallback);
     }
 
     private VerifyCredentialResponse verifyCredential(int userId, CredentialHash storedHash,
-            String credential, boolean hasChallenge, long challenge, CredentialUtil credentialUtil)
+            String credential, boolean hasChallenge, long challenge, CredentialUtil credentialUtil,
+            ICheckCredentialProgressCallback progressCallback)
                 throws RemoteException {
         if ((storedHash == null || storedHash.hash.length == 0) && TextUtils.isEmpty(credential)) {
             // don't need to pass empty credentials to GateKeeper
@@ -1391,7 +1406,13 @@
         }
 
         if (response.getResponseCode() == VerifyCredentialResponse.RESPONSE_OK) {
+
+
             // credential has matched
+
+            if (progressCallback != null) {
+                progressCallback.onCredentialVerified();
+            }
             unlockKeystore(credential, userId);
 
             Slog.i(TAG, "Unlocking user " + userId +
@@ -1447,7 +1468,7 @@
 
         try {
             if (mLockPatternUtils.isLockPatternEnabled(userId)) {
-                if (checkPattern(password, userId).getResponseCode()
+                if (checkPattern(password, userId, null /* progressCallback */).getResponseCode()
                         == GateKeeperResponse.RESPONSE_OK) {
                     return true;
                 }
@@ -1457,7 +1478,7 @@
 
         try {
             if (mLockPatternUtils.isLockPasswordEnabled(userId)) {
-                if (checkPassword(password, userId).getResponseCode()
+                if (checkPassword(password, userId, null /* progressCallback */).getResponseCode()
                         == GateKeeperResponse.RESPONSE_OK) {
                     return true;
                 }
diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java
index f236877..be9d836 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -971,6 +971,17 @@
     //
     // INetworkManagementService members
     //
+    @Override
+    public INetd getNetdService() throws RemoteException {
+        final CountDownLatch connectedSignal = mConnectedSignal;
+        if (connectedSignal != null) {
+            try {
+                connectedSignal.await();
+            } catch (InterruptedException ignored) {}
+        }
+
+        return mNetdService;
+    }
 
     @Override
     public String[] listInterfaces() {
diff --git a/services/core/java/com/android/server/PinnerService.java b/services/core/java/com/android/server/PinnerService.java
index e63f536..eaf317a 100644
--- a/services/core/java/com/android/server/PinnerService.java
+++ b/services/core/java/com/android/server/PinnerService.java
@@ -28,6 +28,10 @@
 import android.util.Slog;
 import android.os.Binder;
 import android.os.Build;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.Process;
 import android.provider.MediaStore;
 import android.system.ErrnoException;
 import android.system.Os;
@@ -35,6 +39,7 @@
 import android.system.StructStat;
 
 import com.android.internal.app.ResolverActivity;
+import com.android.internal.os.BackgroundThread;
 
 import dalvik.system.VMRuntime;
 
@@ -64,6 +69,8 @@
 
     private final long MAX_CAMERA_PIN_SIZE = 50 * (1 << 20); //50MB max
 
+    private PinnerHandler mPinnerHandler = null;
+
 
     public PinnerService(Context context) {
         super(context);
@@ -71,6 +78,7 @@
         mContext = context;
         mShouldPinCamera = context.getResources().getBoolean(
                 com.android.internal.R.bool.config_pinnerCameraApp);
+        mPinnerHandler = new PinnerHandler(BackgroundThread.get().getLooper());
     }
 
     @Override
@@ -80,22 +88,8 @@
         }
         mBinderService = new BinderService();
         publishBinderService("pinner", mBinderService);
-
-        // Files to pin come from the overlay and can be specified per-device config
-        String[] filesToPin = mContext.getResources().getStringArray(
-                com.android.internal.R.array.config_defaultPinnerServiceFiles);
-        // Continue trying to pin remaining files even if there is a failure
-        for (int i = 0; i < filesToPin.length; i++){
-            PinnedFile pf = pinFile(filesToPin[i], 0, 0, 0);
-            if (pf != null) {
-                mPinnedFiles.add(pf);
-                if (DEBUG) {
-                    Slog.i(TAG, "Pinned file = " + pf.mFilename);
-                }
-            } else {
-                Slog.e(TAG, "Failed to pin file = " + filesToPin[i]);
-            }
-        }
+        mPinnerHandler.sendMessage(
+                mPinnerHandler.obtainMessage(PinnerHandler.PIN_ONSTART_MSG));
     }
 
     /**
@@ -106,27 +100,57 @@
      */
     @Override
     public void onUnlockUser(int userHandle) {
-        handlePin(userHandle);
+        mPinnerHandler.sendMessage(
+                mPinnerHandler.obtainMessage(PinnerHandler.PIN_CAMERA_MSG, userHandle, 0));
     }
 
     /**
-    * Pin camera on user switch.
-    * If more than one user is using the device
-    * each user may set a different preference for the camera app.
-    * Make sure that user's preference is pinned into memory.
-    */
+     * Pin camera on user switch.
+     * If more than one user is using the device
+     * each user may set a different preference for the camera app.
+     * Make sure that user's preference is pinned into memory.
+     */
     @Override
     public void onSwitchUser(int userHandle) {
-        handlePin(userHandle);
+        mPinnerHandler.sendMessage(
+                mPinnerHandler.obtainMessage(PinnerHandler.PIN_CAMERA_MSG, userHandle, 0));
     }
 
-    private void handlePin(int userHandle) {
+    /**
+     * Handler for on start pinning message
+     */
+    private void handlePinOnStart() {
+         // Files to pin come from the overlay and can be specified per-device config
+        String[] filesToPin = mContext.getResources().getStringArray(
+                com.android.internal.R.array.config_defaultPinnerServiceFiles);
+        synchronized(this) {
+            // Continue trying to pin remaining files even if there is a failure
+            for (int i = 0; i < filesToPin.length; i++){
+                PinnedFile pf = pinFile(filesToPin[i], 0, 0, 0);
+                if (pf != null) {
+                    mPinnedFiles.add(pf);
+                    if (DEBUG) {
+                        Slog.i(TAG, "Pinned file = " + pf.mFilename);
+                    }
+                } else {
+                    Slog.e(TAG, "Failed to pin file = " + filesToPin[i]);
+                }
+            }
+        }
+    }
+
+    /**
+     * Handler for camera pinning message
+     */
+    private void handlePinCamera(int userHandle) {
         if (mShouldPinCamera) {
-            boolean success = pinCamera(userHandle);
-            if (!success) {
-                //this is not necessarily an error
-                if (DEBUG) {
-                    Slog.v(TAG, "Failed to pin camera.");
+            synchronized(this) {
+                boolean success = pinCamera(userHandle);
+                if (!success) {
+                    //this is not necessarily an error
+                    if (DEBUG) {
+                        Slog.v(TAG, "Failed to pin camera.");
+                    }
                 }
             }
         }
@@ -316,11 +340,13 @@
         protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
             mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG);
             pw.println("Pinned Files:");
-            for (int i = 0; i < mPinnedFiles.size(); i++) {
-                pw.println(mPinnedFiles.get(i).mFilename);
-            }
-            for (int i = 0; i < mPinnedCameraFiles.size(); i++) {
-                pw.println(mPinnedCameraFiles.get(i).mFilename);
+            synchronized(this) {
+                for (int i = 0; i < mPinnedFiles.size(); i++) {
+                    pw.println(mPinnedFiles.get(i).mFilename);
+                }
+                for (int i = 0; i < mPinnedCameraFiles.size(); i++) {
+                    pw.println(mPinnedCameraFiles.get(i).mFilename);
+                }
             }
         }
     }
@@ -336,4 +362,35 @@
              mFilename = filename;
         }
     }
+
+    final class PinnerHandler extends Handler {
+        static final int PIN_CAMERA_MSG  = 4000;
+        static final int PIN_ONSTART_MSG = 4001;
+
+        public PinnerHandler(Looper looper) {
+            super(looper, null, true);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+
+                case PIN_CAMERA_MSG:
+                {
+                    handlePinCamera(msg.arg1);
+                }
+                break;
+
+                case PIN_ONSTART_MSG:
+                {
+                    handlePinOnStart();
+                }
+                break;
+
+                default:
+                    super.handleMessage(msg);
+            }
+        }
+    }
+
 }
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index e5579e2..5bfb90f 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -569,6 +569,9 @@
     private boolean mShowDialogs = true;
     private boolean mInVrMode = false;
 
+    // Whether we should use SCHED_FIFO for UI and RenderThreads.
+    private boolean mUseFifoUiScheduling = false;
+
     BroadcastQueue mFgBroadcastQueue;
     BroadcastQueue mBgBroadcastQueue;
     // Convenient for easy iteration over the queues. Foreground is first
@@ -2657,6 +2660,10 @@
         GL_ES_VERSION = SystemProperties.getInt("ro.opengles.version",
             ConfigurationInfo.GL_ES_VERSION_UNDEFINED);
 
+        if (SystemProperties.getInt("sys.use_fifo_ui", 0) != 0) {
+            mUseFifoUiScheduling = true;
+        }
+
         mTrackingAssociations = "1".equals(SystemProperties.get("debug.track-associations"));
 
         mConfiguration.setToDefaults();
@@ -6661,8 +6668,7 @@
     @Override
     public void showBootMessage(final CharSequence msg, final boolean always) {
         if (Binder.getCallingUid() != Process.myUid()) {
-            // These days only the core system can call this, so apps can't get in
-            // the way of what we show about running them.
+            throw new SecurityException();
         }
         mWindowManager.showBootMessage(msg, always);
     }
@@ -12533,6 +12539,10 @@
                 final int pid = Binder.getCallingPid();
                 proc = mPidsSelfLocked.get(pid);
                 if (proc != null && mInVrMode && tid >= 0) {
+                    // ensure the tid belongs to the process
+                    if (!Process.isThreadInProcess(pid, tid)) {
+                        throw new IllegalArgumentException("VR thread does not belong to process");
+                    }
                     // reset existing VR thread to CFS
                     if (proc.vrThreadTid != 0) {
                         Process.setThreadScheduler(proc.vrThreadTid, Process.SCHED_OTHER, 0);
@@ -12551,6 +12561,40 @@
     }
 
     @Override
+    public void setRenderThread(int tid) {
+        synchronized (this) {
+            ProcessRecord proc;
+            synchronized (mPidsSelfLocked) {
+                int pid = Binder.getCallingPid();
+                proc = mPidsSelfLocked.get(pid);
+                if (mUseFifoUiScheduling && proc != null && proc.renderThreadTid == 0 && tid > 0) {
+                    // ensure the tid belongs to the process
+                    if (!Process.isThreadInProcess(pid, tid)) {
+                        throw new IllegalArgumentException(
+                            "Render thread does not belong to process");
+                    }
+                    proc.renderThreadTid = tid;
+                    if (DEBUG_OOM_ADJ) {
+                        Slog.d("UI_FIFO", "Set RenderThread tid " + tid + " for pid " + pid);
+                    }
+                    // promote to FIFO now
+                    if (proc.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP) {
+                        if (DEBUG_OOM_ADJ) Slog.d("UI_FIFO", "Promoting " + tid + "out of band");
+                        Process.setThreadScheduler(proc.renderThreadTid,
+                            Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
+                    }
+                } else {
+                    if (DEBUG_OOM_ADJ) {
+                        Slog.d("UI_FIFO", "Didn't set thread from setRenderThread? " +
+                               "PID: " + pid + ", TID: " + tid + " FIFO: " +
+                               mUseFifoUiScheduling);
+                    }
+                }
+            }
+        }
+    }
+
+    @Override
     public int setVrMode(IBinder token, boolean enabled, ComponentName packageName) {
         if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_VR_MODE)) {
             throw new UnsupportedOperationException("VR mode not supported on this device!");
@@ -19548,7 +19592,7 @@
                             adj = ProcessList.FOREGROUND_APP_ADJ;
                             if ((cr.flags&Context.BIND_NOT_FOREGROUND) == 0) {
                                 if ((cr.flags&Context.BIND_IMPORTANT) != 0) {
-                                    schedGroup = ProcessList.SCHED_GROUP_TOP_APP;
+                                    schedGroup = ProcessList.SCHED_GROUP_TOP_APP_BOUND;
                                 } else {
                                     schedGroup = ProcessList.SCHED_GROUP_DEFAULT;
                                 }
@@ -20165,47 +20209,65 @@
                         processGroup = Process.THREAD_GROUP_BG_NONINTERACTIVE;
                         break;
                     case ProcessList.SCHED_GROUP_TOP_APP:
+                    case ProcessList.SCHED_GROUP_TOP_APP_BOUND:
                         processGroup = Process.THREAD_GROUP_TOP_APP;
                         break;
                     default:
                         processGroup = Process.THREAD_GROUP_DEFAULT;
                         break;
                 }
-                if (true) {
-                    long oldId = Binder.clearCallingIdentity();
-                    try {
-                        Process.setProcessGroup(app.pid, processGroup);
-                        if (app.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP) {
-                            // do nothing if we already switched to RT
-                            if (oldSchedGroup != ProcessList.SCHED_GROUP_TOP_APP) {
-                                // Switch VR thread for app to SCHED_FIFO
-                                if (mInVrMode && app.vrThreadTid != 0) {
-                                    Process.setThreadScheduler(app.vrThreadTid,
+                long oldId = Binder.clearCallingIdentity();
+                try {
+                    Process.setProcessGroup(app.pid, processGroup);
+                    if (app.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP) {
+                        // do nothing if we already switched to RT
+                        if (oldSchedGroup != ProcessList.SCHED_GROUP_TOP_APP) {
+                            // Switch VR thread for app to SCHED_FIFO
+                            if (mInVrMode && app.vrThreadTid != 0) {
+                                Process.setThreadScheduler(app.vrThreadTid,
+                                    Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
+                            }
+                            if (mUseFifoUiScheduling) {
+                                // Switch UI pipeline for app to SCHED_FIFO
+                                app.savedPriority = Process.getThreadPriority(app.pid);
+                                Process.setThreadScheduler(app.pid,
+                                    Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
+                                if (app.renderThreadTid != 0) {
+                                    Process.setThreadScheduler(app.renderThreadTid,
                                         Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
+                                    if (DEBUG_OOM_ADJ) {
+                                        Slog.d("UI_FIFO", "Set RenderThread (TID " +
+                                            app.renderThreadTid + ") to FIFO");
+                                    }
+                                } else {
+                                    if (DEBUG_OOM_ADJ) {
+                                        Slog.d("UI_FIFO", "Not setting RenderThread TID");
+                                    }
                                 }
                             }
-                        } else if (oldSchedGroup == ProcessList.SCHED_GROUP_TOP_APP &&
-                                   app.curSchedGroup != ProcessList.SCHED_GROUP_TOP_APP) {
-                            // Reset VR thread to SCHED_OTHER
-                            // Safe to do even if we're not in VR mode
-                            if (app.vrThreadTid != 0) {
-                                Process.setThreadScheduler(app.vrThreadTid, Process.SCHED_OTHER, 0);
-                            }
                         }
-                    } catch (Exception e) {
-                        Slog.w(TAG, "Failed setting process group of " + app.pid
-                                + " to " + app.curSchedGroup);
-                        e.printStackTrace();
-                    } finally {
-                        Binder.restoreCallingIdentity(oldId);
-                    }
-                } else {
-                    if (app.thread != null) {
-                        try {
-                            app.thread.setSchedulingGroup(processGroup);
-                        } catch (RemoteException e) {
+                    } else if (oldSchedGroup == ProcessList.SCHED_GROUP_TOP_APP &&
+                               app.curSchedGroup != ProcessList.SCHED_GROUP_TOP_APP) {
+                        // Reset VR thread to SCHED_OTHER
+                        // Safe to do even if we're not in VR mode
+                        if (app.vrThreadTid != 0) {
+                            Process.setThreadScheduler(app.vrThreadTid, Process.SCHED_OTHER, 0);
+                        }
+                        if (mUseFifoUiScheduling) {
+                            // Reset UI pipeline to SCHED_OTHER
+                            Process.setThreadScheduler(app.pid, Process.SCHED_OTHER, 0);
+                            Process.setThreadScheduler(app.renderThreadTid,
+                                Process.SCHED_OTHER, 0);
+                            Process.setThreadPriority(app.pid, app.savedPriority);
+                            Process.setThreadPriority(app.renderThreadTid, -4);
                         }
                     }
+                } catch (Exception e) {
+                    Slog.w(TAG, "Failed setting process group of " + app.pid
+                            + " to " + app.curSchedGroup);
+                    e.printStackTrace();
+                } finally {
+                    Binder.restoreCallingIdentity(oldId);
                 }
             }
         }
diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java
index 50b6c0c..6e40cff 100755
--- a/services/core/java/com/android/server/am/ActivityRecord.java
+++ b/services/core/java/com/android/server/am/ActivityRecord.java
@@ -221,6 +221,8 @@
     boolean pendingVoiceInteractionStart;   // Waiting for activity-invoked voice session
     IVoiceInteractionSession voiceSession;  // Voice interaction session for this activity
 
+    int mRotationAnimationHint;
+
     private static String startingWindowStateToString(int state) {
         switch (state) {
             case STARTING_WINDOW_NOT_SHOWN:
@@ -635,6 +637,7 @@
         if (options != null) {
             pendingOptions = options;
             mLaunchTaskBehind = pendingOptions.getLaunchTaskBehind();
+            mRotationAnimationHint = pendingOptions.getRotationAnimationHint();
             PendingIntent usageReport = pendingOptions.getUsageTimeReport();
             if (usageReport != null) {
                 appTimeTracker = new AppTimeTracker(usageReport);
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index 6d22946..a102664 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -1350,8 +1350,11 @@
             prev.cpuTimeAtResume = 0; // reset it
         }
 
-        // Notify when the task stack has changed, but only if visibilities changed (not just focus)
-        if (mStackSupervisor.mAppVisibilitiesChangedSinceLastPause) {
+        // Notify when the task stack has changed, but only if visibilities changed (not just
+        // focus). Also if there is an active pinned stack - we always want to notify it about
+        // task stack changes, because its positioning may depend on it.
+        if (mStackSupervisor.mAppVisibilitiesChangedSinceLastPause
+                || mService.mStackSupervisor.getStack(PINNED_STACK_ID) != null) {
             mService.notifyTaskStackChangedLocked();
             mStackSupervisor.mAppVisibilitiesChangedSinceLastPause = false;
         }
@@ -2587,11 +2590,14 @@
     }
 
     private void insertTaskAtTop(TaskRecord task, ActivityRecord newActivity) {
+        boolean isLastTaskOverHome = false;
         // If the moving task is over home stack, transfer its return type to next task
         if (task.isOverHomeStack()) {
             final TaskRecord nextTask = getNextTask(task);
             if (nextTask != null) {
                 nextTask.setTaskToReturnTo(task.getTaskToReturnTo());
+            } else {
+                isLastTaskOverHome = true;
             }
         }
 
@@ -2601,7 +2607,10 @@
             ActivityStack lastStack = mStackSupervisor.getLastStack();
             final boolean fromHome = lastStack.isHomeStack();
             if (!isHomeStack() && (fromHome || topTask() != task)) {
-                int returnToType = APPLICATION_ACTIVITY_TYPE;
+                // If it's a last task over home - we default to keep its return to type not to
+                // make underlying task focused when this one will be finished.
+                int returnToType = isLastTaskOverHome
+                        ? task.getTaskToReturnTo() : APPLICATION_ACTIVITY_TYPE;
                 if (fromHome && StackId.allowTopTaskToReturnHome(mStackId)) {
                     returnToType = lastStack.topTask() == null
                             ? HOME_ACTIVITY_TYPE : lastStack.topTask().taskType;
@@ -5199,7 +5208,7 @@
                 (r.info.flags & FLAG_SHOW_FOR_ALL_USERS) != 0, r.userId, r.info.configChanges,
                 task.voiceSession != null, r.mLaunchTaskBehind, bounds, task.mOverrideConfig,
                 task.mResizeMode, r.isAlwaysFocusable(), task.isHomeTask(),
-                r.appInfo.targetSdkVersion);
+                r.appInfo.targetSdkVersion, r.mRotationAnimationHint);
         r.taskConfigOverride = task.mOverrideConfig;
     }
 
diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java
index 77b450f..53289be 100644
--- a/services/core/java/com/android/server/am/ActivityStarter.java
+++ b/services/core/java/com/android/server/am/ActivityStarter.java
@@ -1121,7 +1121,11 @@
                 return START_RETURN_LOCK_TASK_MODE_VIOLATION;
             }
             if (!mMovedOtherTask) {
-                updateTaskReturnToType(mStartActivity.task, mLaunchFlags, topStack);
+                // If stack id is specified in activity options, usually it means that activity is
+                // launched not from currently focused stack (e.g. from SysUI or from shell) - in
+                // that case we check the target stack.
+                updateTaskReturnToType(mStartActivity.task, mLaunchFlags,
+                        preferredLaunchStackId != INVALID_STACK_ID ? mTargetStack : topStack);
             }
         } else if (mSourceRecord != null) {
             if (mSupervisor.isLockTaskModeViolation(mSourceRecord.task)) {
diff --git a/services/core/java/com/android/server/am/PreBootBroadcaster.java b/services/core/java/com/android/server/am/PreBootBroadcaster.java
index 3ed3d9a..a7d09d0 100644
--- a/services/core/java/com/android/server/am/PreBootBroadcaster.java
+++ b/services/core/java/com/android/server/am/PreBootBroadcaster.java
@@ -57,7 +57,7 @@
     private int mIndex = 0;
 
     public PreBootBroadcaster(ActivityManagerService service, int userId,
-            ProgressReporter progress) {
+            ProgressReporter progress, boolean quiet) {
         mService = service;
         mUserId = userId;
         mProgress = progress;
@@ -68,7 +68,9 @@
         mTargets = mService.mContext.getPackageManager().queryBroadcastReceiversAsUser(mIntent,
                 MATCH_SYSTEM_ONLY, UserHandle.of(userId));
 
-        mHandler.obtainMessage(MSG_SHOW).sendToTarget();
+        if (!quiet) {
+            mHandler.obtainMessage(MSG_SHOW).sendToTarget();
+        }
     }
 
     public void sendNext() {
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index f073e5c..475b155 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -130,6 +130,9 @@
     static final int SCHED_GROUP_DEFAULT = 1;
     // Activity manager's version of Process.THREAD_GROUP_TOP_APP
     static final int SCHED_GROUP_TOP_APP = 2;
+    // Activity manager's version of Process.THREAD_GROUP_TOP_APP
+    // Disambiguate between actual top app and processes bound to the top app
+    static final int SCHED_GROUP_TOP_APP_BOUND = 3;
 
     // The minimum number of cached apps we want to be able to keep around,
     // without empty apps being able to push them out of memory.
diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java
index 0f7c89d..dad383d 100644
--- a/services/core/java/com/android/server/am/ProcessRecord.java
+++ b/services/core/java/com/android/server/am/ProcessRecord.java
@@ -103,6 +103,8 @@
     int repProcState = PROCESS_STATE_NONEXISTENT; // Last reported process state
     int setProcState = PROCESS_STATE_NONEXISTENT; // Last set process state in process tracker
     int pssProcState = PROCESS_STATE_NONEXISTENT; // Currently requesting pss for
+    int savedPriority;          // Previous priority value if we're switching to non-SCHED_OTHER
+    int renderThreadTid;        // TID for RenderThread
     boolean serviceb;           // Process currently is on the service B list
     boolean serviceHighRam;     // We are forcing to service B list due to its RAM use
     boolean setIsForeground;    // Running foreground UI when last set?
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index d25f2cb..4de09bd 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -351,7 +351,11 @@
                 // PRE_BOOT receivers are finished to avoid ANR'ing apps
                 final UserInfo info = getUserInfo(userId);
                 if (!Objects.equals(info.lastLoggedInFingerprint, Build.FINGERPRINT)) {
-                    new PreBootBroadcaster(mService, userId, null) {
+                    // Suppress double notifications for managed profiles that
+                    // were unlocked automatically (no challenge token required)
+                    // as part of their parent user being unlocked.
+                    final boolean quiet = info.isManagedProfile() && !uss.tokenProvided;
+                    new PreBootBroadcaster(mService, userId, null, quiet) {
                         @Override
                         public void onFinished() {
                             finishUserUnlockedCompleted(uss);
@@ -972,6 +976,7 @@
                 return false;
             } else {
                 uss.mUnlockProgress.addListener(listener);
+                uss.tokenProvided = (token != null);
             }
 
             finishUserUnlocking(uss);
diff --git a/services/core/java/com/android/server/am/UserState.java b/services/core/java/com/android/server/am/UserState.java
index 952283e..ff8014c 100644
--- a/services/core/java/com/android/server/am/UserState.java
+++ b/services/core/java/com/android/server/am/UserState.java
@@ -54,6 +54,7 @@
     public int state = STATE_BOOTING;
     public int lastState = STATE_BOOTING;
     public boolean switching;
+    public boolean tokenProvided;
 
     /**
      * The last time that a provider was reported to usage stats as being brought to important
diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
index 15b872d..7a25df6 100644
--- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
+++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
@@ -28,14 +28,21 @@
 import android.net.NetworkState;
 import android.os.Handler;
 import android.os.Messenger;
+import android.os.SystemClock;
+import android.util.Log;
 import android.util.SparseArray;
 
 import com.android.internal.util.AsyncChannel;
+import com.android.internal.util.WakeupMessage;
 import com.android.server.ConnectivityService;
 import com.android.server.connectivity.NetworkMonitor;
 
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Comparator;
+import java.util.Objects;
+import java.util.SortedSet;
+import java.util.TreeSet;
 
 /**
  * A bag class used by ConnectivityService for holding a collection of most recent
@@ -143,12 +150,69 @@
     // Whether a captive portal was found during the last network validation attempt.
     public boolean lastCaptivePortalDetected;
 
-    // Indicates whether the network is lingering.  Networks are lingered when they become unneeded
-    // as a result of their NetworkRequests being satisfied by a different network, so as to allow
-    // communication to wrap up before the network is taken down.  This usually only happens to the
-    // default network.  Lingering ends with either the linger timeout expiring and the network
-    // being taken down, or the network satisfying a request again.
-    public boolean lingering;
+    // Networks are lingered when they become unneeded as a result of their NetworkRequests being
+    // satisfied by a higher-scoring network. so as to allow communication to wrap up before the
+    // network is taken down.  This usually only happens to the default network. Lingering ends with
+    // either the linger timeout expiring and the network being taken down, or the network
+    // satisfying a request again.
+    public static class LingerTimer implements Comparable<LingerTimer> {
+        public final NetworkRequest request;
+        public final long expiryMs;
+
+        public LingerTimer(NetworkRequest request, long expiryMs) {
+            this.request = request;
+            this.expiryMs = expiryMs;
+        }
+        public boolean equals(Object o) {
+            if (!(o instanceof LingerTimer)) return false;
+            LingerTimer other = (LingerTimer) o;
+            return (request.requestId == other.request.requestId) && (expiryMs == other.expiryMs);
+        }
+        public int hashCode() {
+            return Objects.hash(request.requestId, expiryMs);
+        }
+        public int compareTo(LingerTimer other) {
+            return (expiryMs != other.expiryMs) ?
+                    Long.compare(expiryMs, other.expiryMs) :
+                    Integer.compare(request.requestId, other.request.requestId);
+        }
+        public String toString() {
+            return String.format("%s, expires %dms", request.toString(),
+                    expiryMs - SystemClock.elapsedRealtime());
+        }
+    }
+
+    /**
+     * Inform ConnectivityService that the network LINGER period has
+     * expired.
+     * obj = this NetworkAgentInfo
+     */
+    public static final int EVENT_NETWORK_LINGER_COMPLETE = 1001;
+
+    // All linger timers for this network, sorted by expiry time. A linger timer is added whenever
+    // a request is moved to a network with a better score, regardless of whether the network is or
+    // was lingering or not.
+    // TODO: determine if we can replace this with a smaller or unsorted data structure. (e.g.,
+    // SparseLongArray) combined with the timestamp of when the last timer is scheduled to fire.
+    private final SortedSet<LingerTimer> mLingerTimers = new TreeSet<>();
+
+    // For fast lookups. Indexes into mLingerTimers by request ID.
+    private final SparseArray<LingerTimer> mLingerTimerForRequest = new SparseArray<>();
+
+    // Linger expiry timer. Armed whenever mLingerTimers is non-empty, regardless of whether the
+    // network is lingering or not. Always set to the expiry of the LingerTimer that expires last.
+    // When the timer fires, all linger state is cleared, and if the network has no requests, it is
+    // torn down.
+    private WakeupMessage mLingerMessage;
+
+    // Linger expiry. Holds the expiry time of the linger timer, or 0 if the timer is not armed.
+    private long mLingerExpiryMs;
+
+    // Whether the network is lingering or not. Must be maintained separately from the above because
+    // it depends on the state of other networks and requests, which only ConnectivityService knows.
+    // (Example: we don't linger a network if it would become the best for a NetworkRequest if it
+    // validated).
+    private boolean mLingering;
 
     // This represents the last score received from the NetworkAgent.
     private int currentScore;
@@ -165,8 +229,6 @@
     private final SparseArray<NetworkRequest> mNetworkRequests = new SparseArray<>();
     // The list of NetworkRequests that this Network previously satisfied with the highest
     // score.  A non-empty list indicates that if this Network was validated it is lingered.
-    // NOTE: This list is only used for debugging.
-    public final ArrayList<NetworkRequest> networkLingered = new ArrayList<NetworkRequest>();
     // How many of the satisfied requests are actual requests and not listens.
     private int mNumRequestNetworkRequests = 0;
 
@@ -176,6 +238,12 @@
     // Used by ConnectivityService to keep track of 464xlat.
     public Nat464Xlat clatd;
 
+    private static final String TAG = ConnectivityService.class.getSimpleName();
+    private static final boolean VDBG = false;
+    private final ConnectivityService mConnService;
+    private final Context mContext;
+    private final Handler mHandler;
+
     public NetworkAgentInfo(Messenger messenger, AsyncChannel ac, Network net, NetworkInfo info,
             LinkProperties lp, NetworkCapabilities nc, int score, Context context, Handler handler,
             NetworkMisc misc, NetworkRequest defaultRequest, ConnectivityService connService) {
@@ -186,7 +254,10 @@
         linkProperties = lp;
         networkCapabilities = nc;
         currentScore = score;
-        networkMonitor = connService.createNetworkMonitor(context, handler, this, defaultRequest);
+        mConnService = connService;
+        mContext = context;
+        mHandler = handler;
+        networkMonitor = mConnService.createNetworkMonitor(context, handler, this, defaultRequest);
         networkMisc = misc;
     }
 
@@ -213,8 +284,12 @@
      */
     public void removeRequest(int requestId) {
         NetworkRequest existing = mNetworkRequests.get(requestId);
-        if (existing != null && existing.isRequest()) mNumRequestNetworkRequests--;
+        if (existing == null) return;
         mNetworkRequests.remove(requestId);
+        if (existing.isRequest()) {
+            mNumRequestNetworkRequests--;
+            unlingerRequest(existing);
+        }
     }
 
     /**
@@ -316,13 +391,100 @@
         }
     }
 
+    /**
+     * Sets the specified request to linger on this network for the specified time. Called by
+     * ConnectivityService when the request is moved to another network with a higher score.
+     */
+    public void lingerRequest(NetworkRequest request, long now, long duration) {
+        if (mLingerTimerForRequest.get(request.requestId) != null) {
+            // Cannot happen. Once a request is lingering on a particular network, we cannot
+            // re-linger it unless that network becomes the best for that request again, in which
+            // case we should have unlingered it.
+            Log.wtf(TAG, this.name() + ": request " + request.requestId + " already lingered");
+        }
+        final long expiryMs = now + duration;
+        LingerTimer timer = new LingerTimer(request, expiryMs);
+        if (VDBG) Log.d(TAG, "Adding LingerTimer " + timer + " to " + this.name());
+        mLingerTimers.add(timer);
+        mLingerTimerForRequest.put(request.requestId, timer);
+    }
+
+    /**
+     * Cancel lingering. Called by ConnectivityService when a request is added to this network.
+     */
+    public void unlingerRequest(NetworkRequest request) {
+        LingerTimer timer = mLingerTimerForRequest.get(request.requestId);
+        if (timer != null) {
+            if (VDBG) Log.d(TAG, "Removing LingerTimer " + timer + " from " + this.name());
+            mLingerTimers.remove(timer);
+            mLingerTimerForRequest.remove(request.requestId);
+        }
+    }
+
+    public long getLingerExpiry() {
+        return mLingerExpiryMs;
+    }
+
+    public void updateLingerTimer() {
+        long newExpiry = mLingerTimers.isEmpty() ? 0 : mLingerTimers.last().expiryMs;
+        if (newExpiry == mLingerExpiryMs) return;
+
+        // Even if we're going to reschedule the timer, cancel it first. This is because the
+        // semantics of WakeupMessage guarantee that if cancel is called then the alarm will
+        // never call its callback (handleLingerComplete), even if it has already fired.
+        // WakeupMessage makes no such guarantees about rescheduling a message, so if mLingerMessage
+        // has already been dispatched, rescheduling to some time in the future it won't stop it
+        // from calling its callback immediately.
+        if (mLingerMessage != null) {
+            mLingerMessage.cancel();
+            mLingerMessage = null;
+        }
+
+        if (newExpiry > 0) {
+            mLingerMessage = mConnService.makeWakeupMessage(
+                    mContext, mHandler,
+                    "NETWORK_LINGER_COMPLETE." + network.netId,
+                    EVENT_NETWORK_LINGER_COMPLETE, this);
+            mLingerMessage.schedule(newExpiry);
+        }
+
+        mLingerExpiryMs = newExpiry;
+    }
+
+    public void linger() {
+        mLingering = true;
+    }
+
+    public void unlinger() {
+        mLingering = false;
+    }
+
+    public boolean isLingering() {
+        return mLingering;
+    }
+
+    public void clearLingerState() {
+        if (mLingerMessage != null) {
+            mLingerMessage.cancel();
+            mLingerMessage = null;
+        }
+        mLingerTimers.clear();
+        mLingerTimerForRequest.clear();
+        updateLingerTimer();  // Sets mLingerExpiryMs, cancels and nulls out mLingerMessage.
+        mLingering = false;
+    }
+
+    public void dumpLingerTimers(PrintWriter pw) {
+        for (LingerTimer timer : mLingerTimers) { pw.println(timer); }
+    }
+
     public String toString() {
         return "NetworkAgentInfo{ ni{" + networkInfo + "}  " +
                 "network{" + network + "}  nethandle{" + network.getNetworkHandle() + "}  " +
                 "lp{" + linkProperties + "}  " +
                 "nc{" + networkCapabilities + "}  Score{" + getCurrentScore() + "}  " +
                 "everValidated{" + everValidated + "}  lastValidated{" + lastValidated + "}  " +
-                "created{" + created + "} lingering{" + lingering + "} " +
+                "created{" + created + "} lingering{" + isLingering() + "} " +
                 "explicitlySelected{" + networkMisc.explicitlySelected + "} " +
                 "acceptUnvalidated{" + networkMisc.acceptUnvalidated + "} " +
                 "everCaptivePortalDetected{" + everCaptivePortalDetected + "} " +
diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
index eeddff5..92c4577 100644
--- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java
+++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
@@ -132,31 +132,6 @@
     public static final int EVENT_NETWORK_TESTED = BASE + 2;
 
     /**
-     * Inform NetworkMonitor to linger a network.  The Monitor should
-     * start a timer and/or start watching for zero live connections while
-     * moving towards LINGER_COMPLETE.  After the Linger period expires
-     * (or other events mark the end of the linger state) the LINGER_COMPLETE
-     * event should be sent and the network will be shut down.  If a
-     * CMD_NETWORK_CONNECTED happens before the LINGER completes
-     * it indicates further desire to keep the network alive and so
-     * the LINGER is aborted.
-     */
-    public static final int CMD_NETWORK_LINGER = BASE + 3;
-
-    /**
-     * Message to self indicating linger delay has expired.
-     * arg1 = Token to ignore old messages.
-     */
-    private static final int CMD_LINGER_EXPIRED = BASE + 4;
-
-    /**
-     * Inform ConnectivityService that the network LINGER period has
-     * expired.
-     * obj = NetworkAgentInfo
-     */
-    public static final int EVENT_NETWORK_LINGER_COMPLETE = BASE + 5;
-
-    /**
      * Message to self indicating it's time to evaluate a network's connectivity.
      * arg1 = Token to ignore old messages.
      */
@@ -204,12 +179,6 @@
      */
     private static final int CMD_CAPTIVE_PORTAL_RECHECK = BASE + 12;
 
-    private static final String LINGER_DELAY_PROPERTY = "persist.netmon.linger";
-    // Default to 30s linger time-out.  Modifyable only for testing.
-    private static int DEFAULT_LINGER_DELAY_MS = 30000;
-    private final int mLingerDelayMs;
-    private int mLingerToken = 0;
-
     // Start mReevaluateDelayMs at this value and double.
     private static final int INITIAL_REEVALUATE_DELAY_MS = 1000;
     private static final int MAX_REEVALUATE_DELAY_MS = 10*60*1000;
@@ -248,7 +217,6 @@
     private final State mMaybeNotifyState = new MaybeNotifyState();
     private final State mEvaluatingState = new EvaluatingState();
     private final State mCaptivePortalState = new CaptivePortalState();
-    private final State mLingeringState = new LingeringState();
 
     private CustomIntentReceiver mLaunchCaptivePortalAppBroadcastReceiver = null;
 
@@ -275,11 +243,8 @@
         addState(mMaybeNotifyState, mDefaultState);
             addState(mEvaluatingState, mMaybeNotifyState);
             addState(mCaptivePortalState, mMaybeNotifyState);
-        addState(mLingeringState, mDefaultState);
         setInitialState(mDefaultState);
 
-        mLingerDelayMs = SystemProperties.getInt(LINGER_DELAY_PROPERTY, DEFAULT_LINGER_DELAY_MS);
-
         mIsCaptivePortalCheckEnabled = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.CAPTIVE_PORTAL_DETECTION_ENABLED, 1) == 1;
         mUseHttps = Settings.Global.getInt(mContext.getContentResolver(),
@@ -308,10 +273,6 @@
         @Override
         public boolean processMessage(Message message) {
             switch (message.what) {
-                case CMD_NETWORK_LINGER:
-                    log("Lingering");
-                    transitionTo(mLingeringState);
-                    return HANDLED;
                 case CMD_NETWORK_CONNECTED:
                     logNetworkEvent(NetworkEvent.NETWORK_CONNECTED);
                     transitionTo(mEvaluatingState);
@@ -617,72 +578,6 @@
         }
     }
 
-    // Being in the LingeringState State indicates a Network's validated bit is true and it once
-    // was the highest scoring Network satisfying a particular NetworkRequest, but since then
-    // another Network satisfied the NetworkRequest with a higher score and hence this Network
-    // is "lingered" for a fixed period of time before it is disconnected.  This period of time
-    // allows apps to wrap up communication and allows for seamless reactivation if the other
-    // higher scoring Network happens to disconnect.
-    private class LingeringState extends State {
-        private static final String ACTION_LINGER_EXPIRED = "android.net.netmon.lingerExpired";
-
-        private WakeupMessage mWakeupMessage;
-
-        @Override
-        public void enter() {
-            mEvaluationTimer.reset();
-            final String cmdName = ACTION_LINGER_EXPIRED + "." + mNetId;
-            mWakeupMessage = makeWakeupMessage(mContext, getHandler(), cmdName, CMD_LINGER_EXPIRED);
-            long wakeupTime = SystemClock.elapsedRealtime() + mLingerDelayMs;
-            mWakeupMessage.schedule(wakeupTime);
-        }
-
-        @Override
-        public boolean processMessage(Message message) {
-            switch (message.what) {
-                case CMD_NETWORK_CONNECTED:
-                    log("Unlingered");
-                    // If already validated, go straight to validated state.
-                    if (mNetworkAgentInfo.lastValidated) {
-                        transitionTo(mValidatedState);
-                        return HANDLED;
-                    }
-                    return NOT_HANDLED;
-                case CMD_LINGER_EXPIRED:
-                    mConnectivityServiceHandler.sendMessage(
-                            obtainMessage(EVENT_NETWORK_LINGER_COMPLETE, mNetworkAgentInfo));
-                    return HANDLED;
-                case CMD_FORCE_REEVALUATION:
-                    // Ignore reevaluation attempts when lingering.  A reevaluation could result
-                    // in a transition to the validated state which would abort the linger
-                    // timeout.  Lingering is the result of score assessment; validity is
-                    // irrelevant.
-                    return HANDLED;
-                case CMD_CAPTIVE_PORTAL_APP_FINISHED:
-                    // Ignore user network determination as this could abort linger timeout.
-                    // Networks are only lingered once validated because:
-                    // - Unvalidated networks are never lingered (see rematchNetworkAndRequests).
-                    // - Once validated, a Network's validated bit is never cleared.
-                    // Since networks are only lingered after being validated a user's
-                    // determination will not change the death sentence that lingering entails:
-                    // - If the user wants to use the network or bypasses the captive portal,
-                    //   the network's score will not be increased beyond its current value
-                    //   because it is already validated.  Without a score increase there is no
-                    //   chance of reactivation (i.e. aborting linger timeout).
-                    // - If the user does not want the network, lingering will disconnect the
-                    //   network anyhow.
-                    return HANDLED;
-                default:
-                    return NOT_HANDLED;
-            }
-        }
-
-        @Override
-        public void exit() {
-            mWakeupMessage.cancel();
-        }
-    }
-
     private static String getCaptivePortalServerUrl(Context context, boolean isHttps) {
         String server = Settings.Global.getString(context.getContentResolver(),
                 Settings.Global.CAPTIVE_PORTAL_SERVER);
@@ -996,20 +891,6 @@
                 PERMISSION_ACCESS_NETWORK_CONDITIONS);
     }
 
-    // Allow tests to override linger time.
-    @VisibleForTesting
-    public static void SetDefaultLingerTime(int time_ms) {
-        if (Process.myUid() == Process.SYSTEM_UID) {
-            throw new SecurityException("SetDefaultLingerTime only for internal testing.");
-        }
-        DEFAULT_LINGER_DELAY_MS = time_ms;
-    }
-
-    @VisibleForTesting
-    protected WakeupMessage makeWakeupMessage(Context c, Handler h, String s, int i) {
-        return new WakeupMessage(c, h, s, i);
-    }
-
     private void logNetworkEvent(int evtype) {
         mMetricsLog.log(new NetworkEvent(mNetId, evtype));
     }
diff --git a/services/core/java/com/android/server/display/NightDisplayService.java b/services/core/java/com/android/server/display/NightDisplayService.java
new file mode 100644
index 0000000..27abd1e
--- /dev/null
+++ b/services/core/java/com/android/server/display/NightDisplayService.java
@@ -0,0 +1,362 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.display;
+
+import android.app.AlarmManager;
+import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.UserHandle;
+import android.provider.Settings.Secure;
+import android.util.Slog;
+
+import com.android.internal.app.NightDisplayController;
+import com.android.server.SystemService;
+import com.android.server.twilight.TwilightListener;
+import com.android.server.twilight.TwilightManager;
+import com.android.server.twilight.TwilightState;
+
+import java.util.Calendar;
+import java.util.TimeZone;
+
+/**
+ * Tints the display at night.
+ */
+public final class NightDisplayService extends SystemService
+        implements NightDisplayController.Callback {
+
+    private static final String TAG = "NightDisplayService";
+    private static final boolean DEBUG = false;
+
+    /**
+     * Night mode ~= 3400 K.
+     */
+    private static final String MATRIX_NIGHT = "1,0,0,0,0,.754,0,0,0,0,.516,0,0,0,0,1";
+
+    private int mCurrentUser = UserHandle.USER_NULL;
+    private boolean mBootCompleted;
+
+    private NightDisplayController mController;
+    private Boolean mIsActivated;
+    private AutoMode mAutoMode;
+
+    public NightDisplayService(Context context) {
+        super(context);
+    }
+
+    @Override
+    public void onStart() {
+        // Nothing to publish.
+    }
+
+    @Override
+    public void onStartUser(int userHandle) {
+        super.onStartUser(userHandle);
+
+        // Register listeners for the new user.
+        if (mCurrentUser == UserHandle.USER_NULL) {
+            mCurrentUser = userHandle;
+            if (mBootCompleted) {
+                setUpNightMode();
+            }
+        }
+    }
+
+    @Override
+    public void onSwitchUser(int userHandle) {
+        super.onSwitchUser(userHandle);
+
+        // Unregister listeners for the old user.
+        if (mBootCompleted && mCurrentUser != UserHandle.USER_NULL) {
+            tearDownNightMode();
+        }
+
+        // Register listeners for the new user.
+        mCurrentUser = userHandle;
+        if (mBootCompleted) {
+            setUpNightMode();
+        }
+    }
+
+    @Override
+    public void onStopUser(int userHandle) {
+        super.onStopUser(userHandle);
+
+        // Unregister listeners for the old user.
+        if (mCurrentUser == userHandle) {
+            if (mBootCompleted) {
+                tearDownNightMode();
+            }
+            mCurrentUser = UserHandle.USER_NULL;
+        }
+    }
+
+    @Override
+    public void onBootPhase(int phase) {
+        if (phase == PHASE_BOOT_COMPLETED) {
+            mBootCompleted = true;
+
+            // Register listeners now that boot is complete.
+            if (mCurrentUser != UserHandle.USER_NULL) {
+                setUpNightMode();
+            }
+        }
+    }
+
+    private void setUpNightMode() {
+        // Create a new controller for the current user and start listening for changes.
+        mController = new NightDisplayController(getContext(), mCurrentUser);
+        mController.setListener(this);
+
+        // Initialize the current auto mode.
+        onAutoModeChanged(mController.getAutoMode());
+
+        // Force the initialization current activated state.
+        if (mIsActivated == null) {
+            onActivated(mController.isActivated());
+        }
+    }
+
+    private void tearDownNightMode() {
+        mController.setListener(null);
+
+        if (mAutoMode != null) {
+            mAutoMode.onStop();
+            mAutoMode = null;
+        }
+
+        mIsActivated = null;
+        mController = null;
+    }
+
+    @Override
+    public void onActivated(boolean activated) {
+        if (mIsActivated == null || mIsActivated != activated) {
+            Slog.i(TAG, activated ? "Turning on night display" : "Turning off night display");
+
+            mIsActivated = activated;
+
+            if (mAutoMode != null) {
+                mAutoMode.onActivated(activated);
+            }
+
+            // Update the current color matrix.
+            final ContentResolver cr = getContext().getContentResolver();
+            Secure.putStringForUser(cr, Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX,
+                    activated ? MATRIX_NIGHT : null, mCurrentUser);
+        }
+    }
+
+    @Override
+    public void onAutoModeChanged(int autoMode) {
+        if (mAutoMode != null) {
+            mAutoMode.onStop();
+            mAutoMode = null;
+        }
+
+        if (autoMode == NightDisplayController.AUTO_MODE_CUSTOM) {
+            mAutoMode = new CustomAutoMode();
+        } else if (autoMode == NightDisplayController.AUTO_MODE_TWILIGHT) {
+            mAutoMode = new TwilightAutoMode();
+        }
+
+        if (mAutoMode != null) {
+            mAutoMode.onStart();
+        }
+    }
+
+    @Override
+    public void onCustomStartTimeChanged(NightDisplayController.LocalTime startTime) {
+        if (mAutoMode != null) {
+            mAutoMode.onCustomStartTimeChanged(startTime);
+        }
+    }
+
+    @Override
+    public void onCustomEndTimeChanged(NightDisplayController.LocalTime endTime) {
+        if (mAutoMode != null) {
+            mAutoMode.onCustomEndTimeChanged(endTime);
+        }
+    }
+
+    private abstract class AutoMode implements NightDisplayController.Callback {
+        public abstract void onStart();
+        public abstract void onStop();
+    }
+
+    private class CustomAutoMode extends AutoMode implements AlarmManager.OnAlarmListener {
+
+        private final AlarmManager mAlarmManager;
+        private final BroadcastReceiver mTimeChangedReceiver;
+
+        private NightDisplayController.LocalTime mStartTime;
+        private NightDisplayController.LocalTime mEndTime;
+
+        private Calendar mLastActivatedTime;
+
+        public CustomAutoMode() {
+            mAlarmManager = (AlarmManager) getContext().getSystemService(Context.ALARM_SERVICE);
+            mTimeChangedReceiver = new BroadcastReceiver() {
+                @Override
+                public void onReceive(Context context, Intent intent) {
+                    updateActivated();
+                }
+            };
+        }
+
+        private void updateActivated() {
+            final Calendar now = Calendar.getInstance();
+            final Calendar startTime = mStartTime.getDateTimeBefore(now);
+            final Calendar endTime = mEndTime.getDateTimeAfter(startTime);
+            final boolean activated = now.before(endTime);
+
+            boolean setActivated = mIsActivated == null || mLastActivatedTime == null;
+            if (!setActivated && mIsActivated != activated) {
+                final TimeZone currentTimeZone = now.getTimeZone();
+                if (!currentTimeZone.equals(mLastActivatedTime.getTimeZone())) {
+                    final int year = mLastActivatedTime.get(Calendar.YEAR);
+                    final int dayOfYear = mLastActivatedTime.get(Calendar.DAY_OF_YEAR);
+                    final int hourOfDay = mLastActivatedTime.get(Calendar.HOUR_OF_DAY);
+                    final int minute = mLastActivatedTime.get(Calendar.MINUTE);
+
+                    mLastActivatedTime.setTimeZone(currentTimeZone);
+                    mLastActivatedTime.set(Calendar.YEAR, year);
+                    mLastActivatedTime.set(Calendar.DAY_OF_YEAR, dayOfYear);
+                    mLastActivatedTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
+                    mLastActivatedTime.set(Calendar.MINUTE, minute);
+                }
+
+                if (mIsActivated) {
+                    setActivated = now.before(mStartTime.getDateTimeBefore(mLastActivatedTime))
+                            || now.after(mEndTime.getDateTimeAfter(mLastActivatedTime));
+                } else {
+                    setActivated = now.before(mEndTime.getDateTimeBefore(mLastActivatedTime))
+                            || now.after(mStartTime.getDateTimeAfter(mLastActivatedTime));
+                }
+            }
+
+            if (setActivated) {
+                mController.setActivated(activated);
+            }
+            updateNextAlarm();
+        }
+
+        private void updateNextAlarm() {
+            if (mIsActivated != null) {
+                final Calendar now = Calendar.getInstance();
+                final Calendar next = mIsActivated ? mEndTime.getDateTimeAfter(now)
+                        : mStartTime.getDateTimeAfter(now);
+                mAlarmManager.setExact(AlarmManager.RTC, next.getTimeInMillis(), TAG, this, null);
+            }
+        }
+
+        @Override
+        public void onStart() {
+            final IntentFilter intentFilter = new IntentFilter(Intent.ACTION_TIME_CHANGED);
+            intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
+            getContext().registerReceiver(mTimeChangedReceiver, intentFilter);
+
+            mStartTime = mController.getCustomStartTime();
+            mEndTime = mController.getCustomEndTime();
+
+            // Force an update to initialize state.
+            updateActivated();
+        }
+
+        @Override
+        public void onStop() {
+            getContext().unregisterReceiver(mTimeChangedReceiver);
+
+            mAlarmManager.cancel(this);
+            mLastActivatedTime = null;
+        }
+
+        @Override
+        public void onActivated(boolean activated) {
+            mLastActivatedTime = Calendar.getInstance();
+            updateNextAlarm();
+        }
+
+        @Override
+        public void onCustomStartTimeChanged(NightDisplayController.LocalTime startTime) {
+            mStartTime = startTime;
+            mLastActivatedTime = null;
+            updateActivated();
+        }
+
+        @Override
+        public void onCustomEndTimeChanged(NightDisplayController.LocalTime endTime) {
+            mEndTime = endTime;
+            mLastActivatedTime = null;
+            updateActivated();
+        }
+
+        @Override
+        public void onAlarm() {
+            if (DEBUG) Slog.d(TAG, "onAlarm");
+            updateActivated();
+        }
+    }
+
+    private class TwilightAutoMode extends AutoMode implements TwilightListener {
+
+        private final TwilightManager mTwilightManager;
+        private final Handler mHandler;
+
+        private boolean mIsNight;
+
+        public TwilightAutoMode() {
+            mTwilightManager = getLocalService(TwilightManager.class);
+            mHandler = new Handler(Looper.getMainLooper());
+        }
+
+        private void updateActivated() {
+            final TwilightState state = mTwilightManager.getCurrentState();
+            final boolean isNight = state != null && state.isNight();
+            if (mIsNight != isNight) {
+                mIsNight = isNight;
+
+                if (mIsActivated == null || mIsActivated != isNight) {
+                    mController.setActivated(isNight);
+                }
+            }
+        }
+
+        @Override
+        public void onStart() {
+            mTwilightManager.registerListener(this, mHandler);
+
+            // Force an update to initialize state.
+            updateActivated();
+        }
+
+        @Override
+        public void onStop() {
+            mTwilightManager.unregisterListener(this);
+        }
+
+        @Override
+        public void onTwilightStateChanged() {
+            if (DEBUG) Slog.d(TAG, "onTwilightStateChanged");
+            updateActivated();
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/fingerprint/FingerprintService.java b/services/core/java/com/android/server/fingerprint/FingerprintService.java
index be8e300..1066434 100644
--- a/services/core/java/com/android/server/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/fingerprint/FingerprintService.java
@@ -72,6 +72,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -90,10 +91,17 @@
     private static final String ACTION_LOCKOUT_RESET =
             "com.android.server.fingerprint.ACTION_LOCKOUT_RESET";
 
+    private class PerformanceStats {
+        int accept; // number of accepted fingerprints
+        int reject; // number of rejected fingerprints
+        int acquire; // total number of acquisitions. Should be >= accept+reject due to poor image
+                     // acquisition in some cases (too fast, too slow, dirty sensor, etc.)
+        int lockout; // total number of lockouts
+    }
+
     private final ArrayList<FingerprintServiceLockoutResetMonitor> mLockoutMonitors =
             new ArrayList<>();
     private final AppOpsManager mAppOps;
-
     private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30*1000;
     private static final int MAX_FAILED_ATTEMPTS = 5;
     private static final long CANCEL_TIMEOUT_LIMIT = 3000; // max wait for onCancel() from HAL,in ms
@@ -110,6 +118,15 @@
     private ClientMonitor mCurrentClient;
     private ClientMonitor mPendingClient;
     private long mCurrentAuthenticatorId;
+    private PerformanceStats mPerformanceStats;
+
+    // Normal fingerprint authentications are tracked by mPerformanceMap.
+    private HashMap<Integer, PerformanceStats> mPerformanceMap
+            = new HashMap<Integer, PerformanceStats>();
+
+    // Transactions that make use of CryptoObjects are tracked by mCryptoPerformaceMap.
+    private HashMap<Integer, PerformanceStats> mCryptoPerformanceMap
+            = new HashMap<Integer, PerformanceStats>();
 
     private Handler mHandler = new Handler() {
         @Override
@@ -246,6 +263,11 @@
         if (client != null && client.onAuthenticated(fingerId, groupId)) {
             removeClient(client);
         }
+        if (fingerId != 0) {
+            mPerformanceStats.accept++;
+        } else {
+            mPerformanceStats.reject++;
+        }
     }
 
     protected void handleAcquired(long deviceId, int acquiredInfo) {
@@ -253,6 +275,11 @@
         if (client != null && client.onAcquired(acquiredInfo)) {
             removeClient(client);
         }
+        if (mPerformanceStats != null && !inLockoutMode()
+                && client instanceof AuthenticationClient) {
+            // ignore enrollment acquisitions or acquisitions when we're locked out
+            mPerformanceStats.acquire++;
+        }
     }
 
     protected void handleEnrollResult(long deviceId, int fingerId, int groupId, int remaining) {
@@ -505,6 +532,9 @@
             @Override
             public boolean handleFailedAttempt() {
                 mFailedAttempts++;
+                if (mFailedAttempts == MAX_FAILED_ATTEMPTS) {
+                    mPerformanceStats.lockout++;
+                }
                 if (inLockoutMode()) {
                     // Failing multiple times will continue to push out the lockout time.
                     scheduleLockoutReset();
@@ -742,12 +772,24 @@
             mHandler.post(new Runnable() {
                 @Override
                 public void run() {
-                    MetricsLogger.histogram(mContext, "fingerprint_token", opId != 0L ? 1 : 0);
                     if (!canUseFingerprint(opPackageName, true /* foregroundOnly */,
                             callingUid, pid)) {
                         if (DEBUG) Slog.v(TAG, "authenticate(): reject " + opPackageName);
                         return;
                     }
+
+                    MetricsLogger.histogram(mContext, "fingerprint_token", opId != 0L ? 1 : 0);
+
+                    // Get performance stats object for this user.
+                    HashMap<Integer, PerformanceStats> pmap
+                            = (opId == 0) ? mPerformanceMap : mCryptoPerformanceMap;
+                    PerformanceStats stats = pmap.get(mCurrentUserId);
+                    if (stats == null) {
+                        stats = new PerformanceStats();
+                        pmap.put(mCurrentUserId, stats);
+                    }
+                    mPerformanceStats = stats;
+
                     startAuthentication(token, opId, callingUserId, groupId, receiver,
                             flags, restricted, opPackageName);
                 }
@@ -924,9 +966,21 @@
             for (UserInfo user : UserManager.get(getContext()).getUsers()) {
                 final int userId = user.getUserHandle().getIdentifier();
                 final int N = mFingerprintUtils.getFingerprintsForUser(mContext, userId).size();
+                PerformanceStats stats = mPerformanceMap.get(userId);
+                PerformanceStats cryptoStats = mCryptoPerformanceMap.get(userId);
                 JSONObject set = new JSONObject();
                 set.put("id", userId);
                 set.put("count", N);
+                set.put("accept", (stats != null) ? stats.accept : 0);
+                set.put("reject", (stats != null) ? stats.reject : 0);
+                set.put("acquire", (stats != null) ? stats.acquire : 0);
+                set.put("lockout", (stats != null) ? stats.lockout : 0);
+                // cryptoStats measures statistics about secure fingerprint transactions
+                // (e.g. to unlock password storage, make secure purchases, etc.)
+                set.put("acceptCrypto", (cryptoStats != null) ? cryptoStats.accept : 0);
+                set.put("rejectCrypto", (cryptoStats != null) ? cryptoStats.reject : 0);
+                set.put("acquireCrypto", (cryptoStats != null) ? cryptoStats.acquire : 0);
+                set.put("lockoutCrypto", (cryptoStats != null) ? cryptoStats.lockout : 0);
                 sets.put(set);
             }
 
@@ -947,6 +1001,7 @@
 
     private void updateActiveGroup(int userId, String clientPackage) {
         IFingerprintDaemon daemon = getFingerprintDaemon();
+
         if (daemon != null) {
             try {
                 userId = getUserOrWorkProfileId(clientPackage, userId);
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 1206263..ec77daf 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -2286,6 +2286,7 @@
                                         .setFlag(Notification.FLAG_AUTOGROUP_SUMMARY, true)
                                         .setFlag(Notification.FLAG_GROUP_SUMMARY, true)
                                         .setColor(adjustedSbn.getNotification().color)
+                                        .setLocalOnly(true)
                                         .build();
                         summaryNotification.extras.putAll(extras);
                         Intent appIntent = getContext().getPackageManager()
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index e16af76..84ebdd1 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -8022,7 +8022,9 @@
         } catch (IOException ignore) {
         } finally {
             try {
-                jarFile.close();
+                if (jarFile != null) {
+                    jarFile.close();
+                }
             } catch (IOException ignore) {}
         }
         return false;
@@ -11945,6 +11947,12 @@
             return false;
         }
 
+        if (mProtectedPackages.isPackageStateProtected(userId, packageName)) {
+            Slog.w(TAG, "Cannot suspend/un-suspend package \"" + packageName
+                    + "\": protected package");
+            return false;
+        }
+
         return true;
     }
 
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index bbffd32..d750cbf 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -38,6 +38,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.IntentSender;
+import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.UserInfo;
@@ -2919,10 +2920,15 @@
                             com.android.internal.R.string.config_demoModeLauncherComponent);
             if (!TextUtils.isEmpty(demoLauncher)) {
                 ComponentName componentToEnable = ComponentName.unflattenFromString(demoLauncher);
+                String demoLauncherPkg = componentToEnable.getPackageName();
                 try {
-                    AppGlobals.getPackageManager().setComponentEnabledSetting(componentToEnable,
+                    final IPackageManager iPm = AppGlobals.getPackageManager();
+                    iPm.setComponentEnabledSetting(componentToEnable,
                             PackageManager.COMPONENT_ENABLED_STATE_ENABLED, /* flags= */ 0,
                             /* userId= */ userId);
+                    iPm.setApplicationEnabledSetting(demoLauncherPkg,
+                            PackageManager.COMPONENT_ENABLED_STATE_ENABLED, /* flags= */ 0,
+                            /* userId= */ userId, null);
                 } catch (RemoteException re) {
                     // Internal, shouldn't happen
                 }
@@ -2961,6 +2967,14 @@
      *             number is mismatched.
      */
     public static void enforceSerialNumber(File file, int serialNumber) throws IOException {
+        if (StorageManager.isFileEncryptedEmulatedOnly()) {
+            // When we're emulating FBE, the directory may have been chmod
+            // 000'ed, meaning we can't read the serial number to enforce it;
+            // instead of destroying the user, just log a warning.
+            Slog.w(LOG_TAG, "Device is emulating FBE; assuming current serial number is valid");
+            return;
+        }
+
         final int foundSerial = getSerialNumber(file);
         Slog.v(LOG_TAG, "Found " + file + " with serial number " + foundSerial);
 
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 22521b9..446c75c 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -2874,8 +2874,12 @@
                 + mTopFullscreenOpaqueWindowState + " rotationAnimation="
                 + (mTopFullscreenOpaqueWindowState == null ?
                         "0" : mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation));
-        if (mTopFullscreenOpaqueWindowState != null && mTopIsFullscreen) {
-            switch (mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation) {
+        if (mTopFullscreenOpaqueWindowState != null) {
+            int animationHint = mTopFullscreenOpaqueWindowState.getRotationAnimationHint();
+            if (animationHint < 0 && mTopIsFullscreen) {
+                animationHint = mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation;
+            }
+            switch (animationHint) {
                 case ROTATION_ANIMATION_CROSSFADE:
                     anim[0] = R.anim.rotation_animation_xfade_exit;
                     anim[1] = R.anim.rotation_animation_enter;
@@ -5058,8 +5062,25 @@
             }
         }
 
-        // Keep track of the window if it's dimming but not necessarily fullscreen.
         final boolean reallyVisible = win.isVisibleOrBehindKeyguardLw() && !win.isGoneForLayoutLw();
+
+        // Voice interaction overrides both top fullscreen and top docked.
+        if (reallyVisible && win.getAttrs().type == TYPE_VOICE_INTERACTION) {
+            if (mTopFullscreenOpaqueWindowState == null) {
+                mTopFullscreenOpaqueWindowState = win;
+                if (mTopFullscreenOpaqueOrDimmingWindowState == null) {
+                    mTopFullscreenOpaqueOrDimmingWindowState = win;
+                }
+            }
+            if (mTopDockedOpaqueWindowState == null) {
+                mTopDockedOpaqueWindowState = win;
+                if (mTopDockedOpaqueOrDimmingWindowState == null) {
+                    mTopDockedOpaqueOrDimmingWindowState = win;
+                }
+            }
+        }
+
+        // Keep track of the window if it's dimming but not necessarily fullscreen.
         if (mTopFullscreenOpaqueOrDimmingWindowState == null && reallyVisible
                 && win.isDimming() && StackId.normallyFullscreenWindows(stackId)) {
             mTopFullscreenOpaqueOrDimmingWindowState = win;
@@ -7259,8 +7280,8 @@
     }
 
     private boolean areSystemNavigationKeysEnabled() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.SYSTEM_NAVIGATION_KEYS_ENABLED, 1) == 1;
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, 1) == 1;
     }
 
     @Override
@@ -7681,7 +7702,12 @@
             return false;
         }
 
+        // We only enable seamless rotation if the top window has requested
+        // it and is in the fullscreen opaque state. Seamless rotation
+        // requires freezing various Surface states and won't work well
+        // with animations, so we disable it in the animation case for now.
         if (mTopFullscreenOpaqueWindowState != null && mTopIsFullscreen &&
+                !mTopFullscreenOpaqueWindowState.isAnimatingLw() &&
                 mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation ==
                 ROTATION_ANIMATION_JUMPCUT) {
             return true;
diff --git a/services/core/java/com/android/server/twilight/TwilightService.java b/services/core/java/com/android/server/twilight/TwilightService.java
index 6158c92..89e5e58 100644
--- a/services/core/java/com/android/server/twilight/TwilightService.java
+++ b/services/core/java/com/android/server/twilight/TwilightService.java
@@ -556,7 +556,7 @@
         public void onChange(boolean selfChange) {
             super.onChange(selfChange);
             int value = Secure.getIntForUser(getContext().getContentResolver(),
-                    Secure.TWILIGHT_MODE, Secure.TWILIGHT_MODE_LOCKED_OFF, mCurrentUser);
+                    Secure.TWILIGHT_MODE, Secure.TWILIGHT_MODE_AUTO, mCurrentUser);
             if (value == Secure.TWILIGHT_MODE_LOCKED_OFF) {
                 setLockedState(new TwilightState(false, 0));
             } else if (value == Secure.TWILIGHT_MODE_LOCKED_ON) {
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index 79fe18b..06e5e73 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -1282,8 +1282,9 @@
     }
 
     @Override
-    public WallpaperInfo getWallpaperInfo() {
-        int userId = UserHandle.getCallingUserId();
+    public WallpaperInfo getWallpaperInfo(int userId) {
+        userId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
+                Binder.getCallingUid(), userId, false, true, "getWallpaperIdForUser", null);
         synchronized (mLock) {
             WallpaperData wallpaper = mWallpaperMap.get(userId);
             if (wallpaper != null && wallpaper.connection != null) {
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index 4553f8e..2b58156 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -1057,7 +1057,7 @@
         final float thumbWidth = thumbWidthI > 0 ? thumbWidthI : 1;
         final int thumbHeightI = mTmpRect.height();
         final float thumbHeight = thumbHeightI > 0 ? thumbHeightI : 1;
-        final int thumbStartX = mTmpRect.left - containingFrame.left;
+        final int thumbStartX = mTmpRect.left - containingFrame.left - contentInsets.left;
         final int thumbStartY = mTmpRect.top - containingFrame.top;
 
         switch (thumbTransitState) {
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index b9cb38b..66e9fd86 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -132,6 +132,7 @@
     boolean mAlwaysFocusable;
 
     boolean mAppStopped;
+    int mRotationAnimationHint;
     int mPendingRelaunchCount;
 
     private ArrayList<WindowSurfaceController.SurfaceControlWithBackground> mSurfaceViewBackgrounds =
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 4083ba6..4c79149 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -3430,7 +3430,7 @@
             int requestedOrientation, boolean fullscreen, boolean showForAllUsers, int userId,
             int configChanges, boolean voiceInteraction, boolean launchTaskBehind,
             Rect taskBounds, Configuration config, int taskResizeMode, boolean alwaysFocusable,
-            boolean homeTask, int targetSdkVersion) {
+            boolean homeTask, int targetSdkVersion, int rotationAnimationHint) {
         if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS,
                 "addAppToken()")) {
             throw new SecurityException("Requires MANAGE_APP_TOKENS permission");
@@ -3468,6 +3468,7 @@
             atoken.mAlwaysFocusable = alwaysFocusable;
             if (DEBUG_TOKEN_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG_WM, "addAppToken: " + atoken
                     + " to stack=" + stackId + " task=" + taskId + " at " + addPos);
+            atoken.mRotationAnimationHint = rotationAnimationHint;
 
             Task task = mTaskIdToTask.get(taskId);
             if (task == null) {
@@ -8690,19 +8691,21 @@
                 case SEAMLESS_ROTATION_TIMEOUT: {
                     // Rotation only supported on primary display.
                     // TODO(multi-display)
-                    final DisplayContent displayContent = getDefaultDisplayContentLocked();
-                    final WindowList windows = displayContent.getWindowList();
-                    boolean layoutNeeded = false;
-                    for (int i = windows.size() - 1; i >= 0; i--) {
-                        WindowState w = windows.get(i);
-                        if (w.mSeamlesslyRotated) {
-                            layoutNeeded = true;
-                            w.setDisplayLayoutNeeded();
+                    synchronized(mWindowMap) {
+                        final DisplayContent displayContent = getDefaultDisplayContentLocked();
+                        final WindowList windows = displayContent.getWindowList();
+                        boolean layoutNeeded = false;
+                        for (int i = windows.size() - 1; i >= 0; i--) {
+                            WindowState w = windows.get(i);
+                            if (w.mSeamlesslyRotated) {
+                                layoutNeeded = true;
+                                w.setDisplayLayoutNeeded();
+                            }
+                            w.mSeamlesslyRotated = false;
                         }
-                        w.mSeamlesslyRotated = false;
-                    }
-                    if (layoutNeeded) {
-                        mWindowPlacerLocked.performSurfacePlacement();
+                        if (layoutNeeded) {
+                            mWindowPlacerLocked.performSurfacePlacement();
+                        }
                     }
                 }
                 break;
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 99fec7b..1ac3d44 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -2908,4 +2908,12 @@
     boolean shouldBeReplacedWithChildren() {
         return isChildWindow() || mAttrs.type == TYPE_APPLICATION;
     }
+
+    public int getRotationAnimationHint() {
+        if (mAppToken != null) {
+            return mAppToken.mRotationAnimationHint;
+        } else {
+            return -1;
+        }
+    }
 }
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index c42d461..c9123fd 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -4427,6 +4427,7 @@
         intent.putExtra(DeviceAdminReceiver.EXTRA_CHOOSE_PRIVATE_KEY_URI, uri);
         intent.putExtra(DeviceAdminReceiver.EXTRA_CHOOSE_PRIVATE_KEY_ALIAS, alias);
         intent.putExtra(DeviceAdminReceiver.EXTRA_CHOOSE_PRIVATE_KEY_RESPONSE, response);
+        intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
 
         final long id = mInjector.binderClearCallingIdentity();
         try {
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 76424d8..1002b0d 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -51,6 +51,7 @@
 import android.view.WindowManager;
 
 import com.android.internal.R;
+import com.android.internal.app.NightDisplayController;
 import com.android.internal.os.BinderInternal;
 import com.android.internal.os.SamplingProfilerIntegration;
 import com.android.internal.os.ZygoteInit;
@@ -63,6 +64,7 @@
 import com.android.server.connectivity.MetricsLoggerService;
 import com.android.server.devicepolicy.DevicePolicyManagerService;
 import com.android.server.display.DisplayManagerService;
+import com.android.server.display.NightDisplayService;
 import com.android.server.dreams.DreamManagerService;
 import com.android.server.fingerprint.FingerprintService;
 import com.android.server.hdmi.HdmiControlService;
@@ -724,14 +726,6 @@
         }
         Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
 
-        try {
-            ActivityManagerNative.getDefault().showBootMessage(
-                    context.getResources().getText(
-                            com.android.internal.R.string.android_upgrading_starting_apps),
-                    false);
-        } catch (RemoteException e) {
-        }
-
         if (mFactoryTestMode != FactoryTest.FACTORY_TEST_LOW_LEVEL) {
             if (!disableNonCoreServices) {
                 traceBeginAndSlog("StartLockSettingsService");
@@ -1003,6 +997,10 @@
 
             mSystemServiceManager.startService(TwilightService.class);
 
+            if (NightDisplayController.isAvailable(context)) {
+                mSystemServiceManager.startService(NightDisplayService.class);
+            }
+
             mSystemServiceManager.startService(JobSchedulerService.class);
 
             mSystemServiceManager.startService(SoundTriggerService.class);
diff --git a/services/net/java/android/net/apf/ApfFilter.java b/services/net/java/android/net/apf/ApfFilter.java
index 0ef9d7a..57f784a 100644
--- a/services/net/java/android/net/apf/ApfFilter.java
+++ b/services/net/java/android/net/apf/ApfFilter.java
@@ -213,7 +213,7 @@
     private final ApfCapabilities mApfCapabilities;
     private final IpManager.Callback mIpManagerCallback;
     private final NetworkInterface mNetworkInterface;
-    private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
+    private final IpConnectivityLog mMetricsLog;
     @VisibleForTesting
     byte[] mHardwareAddress;
     @VisibleForTesting
@@ -228,11 +228,12 @@
 
     @VisibleForTesting
     ApfFilter(ApfCapabilities apfCapabilities, NetworkInterface networkInterface,
-            IpManager.Callback ipManagerCallback, boolean multicastFilter) {
+            IpManager.Callback ipManagerCallback, boolean multicastFilter, IpConnectivityLog log) {
         mApfCapabilities = apfCapabilities;
         mIpManagerCallback = ipManagerCallback;
         mNetworkInterface = networkInterface;
         mMulticastFilter = multicastFilter;
+        mMetricsLog = log;
 
         maybeStartFilter();
     }
@@ -371,6 +372,14 @@
             return i & 0xffffffffL;
         }
 
+        private long getUint16(ByteBuffer buffer, int position) {
+            return uint16(buffer.getShort(position));
+        }
+
+        private long getUint32(ByteBuffer buffer, int position) {
+            return uint32(buffer.getInt(position));
+        }
+
         private void prefixOptionToString(StringBuffer sb, int offset) {
             String prefix = IPv6AddresstoString(offset + 16);
             int length = uint8(mPacket.get(offset + 2));
@@ -417,7 +426,7 @@
          * @param lifetimeOffset offset from mPacket.position() to the next lifetime data.
          * @param lifetimeLength length of the next lifetime data.
          * @return offset within packet of where the next binary range of data not including
-         *         a lifetime.  This can be passed into the next invocation of this function
+         *         a lifetime. This can be passed into the next invocation of this function
          *         via {@code lastNonLifetimeStart}.
          */
         private int addNonLifetime(int lastNonLifetimeStart, int lifetimeOffset,
@@ -438,9 +447,9 @@
         // (from ByteBuffer.get(int) ) if parsing encounters something non-compliant with
         // specifications.
         Ra(byte[] packet, int length) {
-            mPacket = ByteBuffer.allocate(length).put(ByteBuffer.wrap(packet, 0, length));
-            mPacket.clear();
+            mPacket = ByteBuffer.wrap(Arrays.copyOf(packet, length));
             mLastSeen = curTime();
+            RaEvent.Builder builder = new RaEvent.Builder();
 
             // Ignore the checksum.
             int lastNonLifetimeStart = addNonLifetime(0,
@@ -451,14 +460,7 @@
             lastNonLifetimeStart = addNonLifetime(lastNonLifetimeStart,
                     ICMP6_RA_ROUTER_LIFETIME_OFFSET,
                     ICMP6_RA_ROUTER_LIFETIME_LEN);
-
-            long routerLifetime = uint16(mPacket.getShort(
-                    ICMP6_RA_ROUTER_LIFETIME_OFFSET + mPacket.position()));
-            long prefixValidLifetime = -1L;
-            long prefixPreferredLifetime = -1L;
-            long routeInfoLifetime = -1L;
-            long dnsslLifetime = - 1L;
-            long rdnssLifetime = -1L;
+            builder.updateRouterLifetime(getUint16(mPacket, ICMP6_RA_ROUTER_LIFETIME_OFFSET));
 
             // Ensures that the RA is not truncated.
             mPacket.position(ICMP6_RA_OPTION_OFFSET);
@@ -466,39 +468,42 @@
                 final int position = mPacket.position();
                 final int optionType = uint8(mPacket.get(position));
                 final int optionLength = uint8(mPacket.get(position + 1)) * 8;
+                long lifetime;
                 switch (optionType) {
                     case ICMP6_PREFIX_OPTION_TYPE:
                         // Parse valid lifetime
                         lastNonLifetimeStart = addNonLifetime(lastNonLifetimeStart,
                                 ICMP6_PREFIX_OPTION_VALID_LIFETIME_OFFSET,
                                 ICMP6_PREFIX_OPTION_VALID_LIFETIME_LEN);
+                        lifetime = getUint32(mPacket,
+                                position + ICMP6_PREFIX_OPTION_VALID_LIFETIME_OFFSET);
+                        builder.updatePrefixValidLifetime(lifetime);
                         // Parse preferred lifetime
                         lastNonLifetimeStart = addNonLifetime(lastNonLifetimeStart,
                                 ICMP6_PREFIX_OPTION_PREFERRED_LIFETIME_OFFSET,
                                 ICMP6_PREFIX_OPTION_PREFERRED_LIFETIME_LEN);
+                        lifetime = getUint32(mPacket,
+                                position + ICMP6_PREFIX_OPTION_PREFERRED_LIFETIME_OFFSET);
+                        builder.updatePrefixPreferredLifetime(lifetime);
                         mPrefixOptionOffsets.add(position);
-                        prefixValidLifetime = uint32(mPacket.getInt(
-                                ICMP6_PREFIX_OPTION_VALID_LIFETIME_OFFSET + position));
-                        prefixPreferredLifetime = uint32(mPacket.getInt(
-                                ICMP6_PREFIX_OPTION_PREFERRED_LIFETIME_OFFSET + position));
                         break;
                     // These three options have the same lifetime offset and size, and
-                    // are processed with the same specialized addNonLifetime4B:
+                    // are processed with the same specialized addNonLifetimeU32:
                     case ICMP6_RDNSS_OPTION_TYPE:
                         mRdnssOptionOffsets.add(position);
                         lastNonLifetimeStart = addNonLifetimeU32(lastNonLifetimeStart);
-                        rdnssLifetime =
-                                uint32(mPacket.getInt(ICMP6_4_BYTE_LIFETIME_OFFSET + position));
+                        lifetime = getUint32(mPacket, position + ICMP6_4_BYTE_LIFETIME_OFFSET);
+                        builder.updateRdnssLifetime(lifetime);
                         break;
                     case ICMP6_ROUTE_INFO_OPTION_TYPE:
                         lastNonLifetimeStart = addNonLifetimeU32(lastNonLifetimeStart);
-                        routeInfoLifetime =
-                                uint32(mPacket.getInt(ICMP6_4_BYTE_LIFETIME_OFFSET + position));
+                        lifetime = getUint32(mPacket, position + ICMP6_4_BYTE_LIFETIME_OFFSET);
+                        builder.updateRouteInfoLifetime(lifetime);
                         break;
                     case ICMP6_DNSSL_OPTION_TYPE:
                         lastNonLifetimeStart = addNonLifetimeU32(lastNonLifetimeStart);
-                        dnsslLifetime =
-                                uint32(mPacket.getInt(ICMP6_4_BYTE_LIFETIME_OFFSET + position));
+                        lifetime = getUint32(mPacket, position + ICMP6_4_BYTE_LIFETIME_OFFSET);
+                        builder.updateDnsslLifetime(lifetime);
                         break;
                     default:
                         // RFC4861 section 4.2 dictates we ignore unknown options for fowards
@@ -514,9 +519,7 @@
             // Mark non-lifetime bytes since last lifetime.
             addNonLifetime(lastNonLifetimeStart, 0, 0);
             mMinLifetime = minLifetime(packet, length);
-            // TODO: record per-option minimum lifetimes instead of last seen lifetimes
-            mMetricsLog.log(new RaEvent(routerLifetime, prefixValidLifetime,
-                    prefixPreferredLifetime, routeInfoLifetime, rdnssLifetime, dnsslLifetime));
+            mMetricsLog.log(builder.build());
         }
 
         // Ignoring lifetimes (which may change) does {@code packet} match this RA?
@@ -1000,7 +1003,8 @@
             Log.e(TAG, "Unsupported APF version: " + apfCapabilities.apfVersionSupported);
             return null;
         }
-        return new ApfFilter(apfCapabilities, networkInterface, ipManagerCallback, multicastFilter);
+        return new ApfFilter(apfCapabilities, networkInterface, ipManagerCallback,
+                multicastFilter, new IpConnectivityLog());
     }
 
     public synchronized void shutdown() {
diff --git a/services/net/java/android/net/dhcp/DhcpClient.java b/services/net/java/android/net/dhcp/DhcpClient.java
index 5852626..ffbea9f 100644
--- a/services/net/java/android/net/dhcp/DhcpClient.java
+++ b/services/net/java/android/net/dhcp/DhcpClient.java
@@ -194,6 +194,10 @@
     private long mDhcpLeaseExpiry;
     private DhcpResults mOffer;
 
+    // Milliseconds SystemClock timestamps used to record transition times to DhcpBoundState.
+    private long mLastInitEnterTime;
+    private long mLastBoundExitTime;
+
     // States.
     private State mStoppedState = new StoppedState();
     private State mDhcpState = new DhcpState();
@@ -492,10 +496,18 @@
     }
 
     abstract class LoggingState extends State {
+        private long mEnterTimeMs;
+
         @Override
         public void enter() {
             if (STATE_DBG) Log.d(TAG, "Entering state " + getName());
-            mMetricsLog.log(new DhcpClientEvent(mIfaceName, getName()));
+            mEnterTimeMs = SystemClock.elapsedRealtime();
+        }
+
+        @Override
+        public void exit() {
+            long durationMs = SystemClock.elapsedRealtime() - mEnterTimeMs;
+            logState(getName(), (int) durationMs);
         }
 
         private String messageName(int what) {
@@ -520,6 +532,13 @@
             }
             return NOT_HANDLED;
         }
+
+        @Override
+        public String getName() {
+            // All DhcpClient's states are inner classes with a well defined name.
+            // Use getSimpleName() and avoid super's getName() creating new String instances.
+            return getClass().getSimpleName();
+        }
     }
 
     // Sends CMD_PRE_DHCP_ACTION to the controller, waits for the controller to respond with
@@ -546,10 +565,9 @@
         }
     }
 
-    class StoppedState extends LoggingState {
+    class StoppedState extends State {
         @Override
         public boolean processMessage(Message message) {
-            super.processMessage(message);
             switch (message.what) {
                 case CMD_START_DHCP:
                     if (mRegisteredForPreDhcpNotification) {
@@ -578,10 +596,9 @@
         }
     }
 
-    class DhcpState extends LoggingState {
+    class DhcpState extends State {
         @Override
         public void enter() {
-            super.enter();
             clearDhcpState();
             if (initInterface() && initSockets()) {
                 mReceiveThread = new ReceiveThread();
@@ -679,7 +696,9 @@
             }
         }
 
+        @Override
         public void exit() {
+            super.exit();
             mKickAlarm.cancel();
             mTimeoutAlarm.cancel();
         }
@@ -726,6 +745,7 @@
         public void enter() {
             super.enter();
             startNewTransaction();
+            mLastInitEnterTime = SystemClock.elapsedRealtime();
         }
 
         protected boolean sendPacket() {
@@ -784,15 +804,9 @@
         }
     }
 
-    class DhcpHaveLeaseState extends LoggingState {
-        @Override
-        public void enter() {
-            super.enter();
-        }
-
+    class DhcpHaveLeaseState extends State {
         @Override
         public boolean processMessage(Message message) {
-            super.processMessage(message);
             switch (message.what) {
                 case CMD_EXPIRE_DHCP:
                     Log.d(TAG, "Lease expired!");
@@ -856,6 +870,13 @@
             }
 
             scheduleLeaseTimers();
+            logTimeToBoundState();
+        }
+
+        @Override
+        public void exit() {
+            super.exit();
+            mLastBoundExitTime = SystemClock.elapsedRealtime();
         }
 
         @Override
@@ -873,6 +894,15 @@
                     return NOT_HANDLED;
             }
         }
+
+        private void logTimeToBoundState() {
+            long now = SystemClock.elapsedRealtime();
+            if (mLastBoundExitTime > mLastInitEnterTime) {
+                logState(DhcpClientEvent.RENEWING_BOUND, (int)(now - mLastBoundExitTime));
+            } else {
+                logState(DhcpClientEvent.INITIAL_BOUND, (int)(now - mLastInitEnterTime));
+            }
+        }
     }
 
     abstract class DhcpReacquiringState extends PacketRetransmittingState {
@@ -983,4 +1013,8 @@
     private void logError(int errorCode) {
         mMetricsLog.log(new DhcpErrorEvent(mIfaceName, errorCode));
     }
+
+    private void logState(String name, int durationMs) {
+        mMetricsLog.log(new DhcpClientEvent(mIfaceName, name, durationMs));
+    }
 }
diff --git a/services/net/java/android/net/ip/IpReachabilityMonitor.java b/services/net/java/android/net/ip/IpReachabilityMonitor.java
index afb644f..c6da3c3 100644
--- a/services/net/java/android/net/ip/IpReachabilityMonitor.java
+++ b/services/net/java/android/net/ip/IpReachabilityMonitor.java
@@ -129,7 +129,6 @@
  *          state it may be best for the link to disconnect completely and
  *          reconnect afresh.
  *
- *
  * @hide
  */
 public class IpReachabilityMonitor {
@@ -163,6 +162,8 @@
     private int mIpWatchListVersion;
     @GuardedBy("mLock")
     private boolean mRunning;
+    // Time in milliseconds of the last forced probe request.
+    private volatile long mLastProbeTimeMs;
 
     /**
      * Make the kernel perform neighbor reachability detection (IPv4 ARP or IPv6 ND)
@@ -339,7 +340,7 @@
 
     private void handleNeighborLost(String msg) {
         InetAddress ip = null;
-        ProvisioningChange delta;
+        final ProvisioningChange delta;
         synchronized (mLock) {
             LinkProperties whatIfLp = new LinkProperties(mLinkProperties);
 
@@ -368,10 +369,8 @@
                 // an InetAddress argument.
                 mCallback.notifyLost(ip, logMsg);
             }
-            logEvent(IpReachabilityEvent.PROVISIONING_LOST, 0);
-        } else {
-            logEvent(IpReachabilityEvent.NUD_FAILED, 0);
         }
+        logNudFailed(delta);
     }
 
     public void probeAll() {
@@ -397,9 +396,10 @@
             final int returnValue = probeNeighbor(mInterfaceIndex, target);
             logEvent(IpReachabilityEvent.PROBE, returnValue);
         }
+        mLastProbeTimeMs = SystemClock.elapsedRealtime();
     }
 
-    private long getProbeWakeLockDuration() {
+    private static long getProbeWakeLockDuration() {
         // Ideally, this would be computed by examining the values of:
         //
         //     /proc/sys/net/ipv[46]/neigh/<ifname>/ucast_solicit
@@ -416,7 +416,15 @@
     }
 
     private void logEvent(int probeType, int errorCode) {
-        int eventType = probeType | (errorCode & 0xff );
+        int eventType = probeType | (errorCode & 0xff);
+        mMetricsLog.log(new IpReachabilityEvent(mInterfaceName, eventType));
+    }
+
+    private void logNudFailed(ProvisioningChange delta) {
+        long duration = SystemClock.elapsedRealtime() - mLastProbeTimeMs;
+        boolean isFromProbe = (duration < getProbeWakeLockDuration());
+        boolean isProvisioningLost = (delta == ProvisioningChange.LOST_PROVISIONING);
+        int eventType = IpReachabilityEvent.nudFailureEventType(isFromProbe, isProvisioningLost);
         mMetricsLog.log(new IpReachabilityEvent(mInterfaceName, eventType));
     }
 
diff --git a/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java b/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java
new file mode 100644
index 0000000..8480170
--- /dev/null
+++ b/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.server.retaildemo;
+
+import android.app.AppGlobals;
+import android.app.PackageInstallObserver;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.os.Environment;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.util.ArrayMap;
+import android.util.Log;
+import android.util.Slog;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.ArrayUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
+
+/**
+ * Helper class for installing preloaded APKs
+ */
+class PreloadAppsInstaller {
+    private static final String SYSTEM_SERVER_PACKAGE_NAME = "android";
+    private static String TAG = PreloadAppsInstaller.class.getSimpleName();
+    private static final String PRELOAD_APK_EXT = ".apk.preload";
+    private static boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    private final IPackageManager mPackageManager;
+    private final File preloadsAppsDirectory;
+
+    private final Map<String, String> mApkToPackageMap;
+
+    PreloadAppsInstaller() {
+        this(AppGlobals.getPackageManager(), Environment.getDataPreloadsAppsDirectory());
+    }
+
+    @VisibleForTesting
+    PreloadAppsInstaller(IPackageManager packageManager, File preloadsAppsDirectory) {
+        mPackageManager = packageManager;
+        mApkToPackageMap = Collections.synchronizedMap(new ArrayMap<>());
+        this.preloadsAppsDirectory = preloadsAppsDirectory;
+    }
+
+    void installApps(int userId) {
+        File[] files = preloadsAppsDirectory.listFiles();
+        if (ArrayUtils.isEmpty(files)) {
+            return;
+        }
+        for (File file : files) {
+            String apkName = file.getName();
+            if (apkName.endsWith(PRELOAD_APK_EXT) && file.isFile()) {
+                String packageName = mApkToPackageMap.get(apkName);
+                if (packageName != null) {
+                    try {
+                        installExistingPackage(packageName, userId);
+                    } catch (Exception e) {
+                        Slog.e(TAG, "Failed to install existing package " + packageName, e);
+                    }
+                } else {
+                    try {
+                        installPackage(file, userId);
+                    } catch (Exception e) {
+                        Slog.e(TAG, "Failed to install package from " + file, e);
+                    }
+                }
+            }
+        }
+    }
+
+    private void installExistingPackage(String packageName, int userId) {
+        if (DEBUG) {
+            Log.d(TAG, "installExistingPackage " + packageName + " u" + userId);
+        }
+        try {
+            mPackageManager.installExistingPackageAsUser(packageName, userId);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+
+    private void installPackage(File file, final int userId) throws IOException, RemoteException {
+        final String apkName = file.getName();
+        if (DEBUG) {
+            Log.d(TAG, "installPackage " + apkName + " u" + userId);
+        }
+        mPackageManager.installPackageAsUser(file.getPath(), new PackageInstallObserver() {
+            @Override
+            public void onPackageInstalled(String basePackageName, int returnCode, String msg,
+                    Bundle extras) {
+                if (DEBUG) {
+                    Log.d(TAG, "Package " + basePackageName + " installed u" + userId
+                            + " returnCode: " + returnCode + " msg: " + msg);
+                }
+                if (returnCode == PackageManager.INSTALL_SUCCEEDED) {
+                    mApkToPackageMap.put(apkName, basePackageName);
+                    // Install on user 0 so that the package is cached when demo user is re-created
+                    installExistingPackage(basePackageName, UserHandle.USER_SYSTEM);
+                } else if (returnCode == PackageManager.INSTALL_FAILED_ALREADY_EXISTS) {
+                    installExistingPackage(basePackageName, userId);
+                }
+            }
+        }.getBinder(), 0, SYSTEM_SERVER_PACKAGE_NAME, userId);
+    }
+
+}
\ No newline at end of file
diff --git a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
index a4d4013..a92498b 100644
--- a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
+++ b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
@@ -16,6 +16,7 @@
 
 package com.android.server.retaildemo;
 
+import android.Manifest;
 import android.app.ActivityManagerInternal;
 import android.app.ActivityManagerNative;
 import android.app.AppGlobals;
@@ -32,6 +33,7 @@
 import android.content.IntentFilter;
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.content.pm.UserInfo;
 import android.content.res.Configuration;
 import android.database.ContentObserver;
@@ -51,7 +53,9 @@
 import android.os.SystemClock;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.provider.MediaStore;
 import android.provider.Settings;
+import android.util.KeyValueListParser;
 import android.util.Slog;
 import com.android.internal.os.BackgroundThread;
 import com.android.internal.R;
@@ -72,15 +76,17 @@
 
     private static final String TAG = RetailDemoModeService.class.getSimpleName();
     private static final String DEMO_USER_NAME = "Demo";
-    private static final String ACTION_RESET_DEMO = "com.android.server.am.ACTION_RESET_DEMO";
+    private static final String ACTION_RESET_DEMO =
+            "com.android.server.retaildemo.ACTION_RESET_DEMO";
 
     private static final int MSG_TURN_SCREEN_ON = 0;
     private static final int MSG_INACTIVITY_TIME_OUT = 1;
     private static final int MSG_START_NEW_SESSION = 2;
 
     private static final long SCREEN_WAKEUP_DELAY = 2500;
-    private static final long USER_INACTIVITY_TIMEOUT = 30000;
-    private static final long WARNING_DIALOG_TIMEOUT = 6000;
+    private static final long USER_INACTIVITY_TIMEOUT_MIN = 10000;
+    private static final long USER_INACTIVITY_TIMEOUT_DEFAULT = 30000;
+    private static final long WARNING_DIALOG_TIMEOUT_DEFAULT = 6000;
     private static final long MILLIS_PER_SECOND = 1000;
 
     private static final int[] VOLUME_STREAMS_TO_MUTE = {
@@ -94,6 +100,8 @@
 
     boolean mDeviceInDemoMode = false;
     int mCurrentUserId = UserHandle.USER_SYSTEM;
+    long mUserInactivityTimeout;
+    long mWarningDialogTimeout;
     private ActivityManagerService mAms;
     private ActivityManagerInternal mAmi;
     private AudioManager mAudioManager;
@@ -107,6 +115,7 @@
     private CameraManager mCameraManager;
     private String[] mCameraIdsWithFlash;
     private Configuration mSystemUserConfiguration;
+    private PreloadAppsInstaller mPreloadAppsInstaller;
 
     final Object mActivityLock = new Object();
     // Whether the newly created demo user has interacted with the screen yet
@@ -176,9 +185,79 @@
         }
     }
 
+    private class SettingsObserver extends ContentObserver {
+
+        private final static String KEY_USER_INACTIVITY_TIMEOUT = "user_inactivity_timeout_ms";
+        private final static String KEY_WARNING_DIALOG_TIMEOUT = "warning_dialog_timeout_ms";
+
+        private final Uri mDeviceDemoModeUri = Settings.Global
+                .getUriFor(Settings.Global.DEVICE_DEMO_MODE);
+        private final Uri mDeviceProvisionedUri = Settings.Global
+                .getUriFor(Settings.Global.DEVICE_PROVISIONED);
+        private final Uri mRetailDemoConstantsUri = Settings.Global
+                .getUriFor(Settings.Global.RETAIL_DEMO_MODE_CONSTANTS);
+
+        private final KeyValueListParser mParser = new KeyValueListParser(',');
+
+        public SettingsObserver(Handler handler) {
+            super(handler);
+        }
+
+        public void register() {
+            ContentResolver cr = getContext().getContentResolver();
+            cr.registerContentObserver(mDeviceDemoModeUri, false, this, UserHandle.USER_SYSTEM);
+            cr.registerContentObserver(mDeviceProvisionedUri, false, this, UserHandle.USER_SYSTEM);
+            cr.registerContentObserver(mRetailDemoConstantsUri, false, this,
+                    UserHandle.USER_SYSTEM);
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            if (mRetailDemoConstantsUri.equals(uri)) {
+                refreshTimeoutConstants();
+                return;
+            }
+            if (mDeviceDemoModeUri.equals(uri)) {
+                mDeviceInDemoMode = UserManager.isDeviceInDemoMode(getContext());
+                if (mDeviceInDemoMode) {
+                    mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
+                } else if (mWakeLock.isHeld()) {
+                    mWakeLock.release();
+                }
+            }
+            // If device is provisioned and left demo mode - run the cleanup in demo folder
+            if (!mDeviceInDemoMode && isDeviceProvisioned()) {
+                // Run on the bg thread to not block the fg thread
+                BackgroundThread.getHandler().post(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (!deleteDemoFolderContents()) {
+                            Slog.w(TAG, "Failed to delete demo folder contents");
+                        }
+                    }
+                });
+            }
+        }
+
+        private void refreshTimeoutConstants() {
+            try {
+                mParser.setString(Settings.Global.getString(getContext().getContentResolver(),
+                    Settings.Global.RETAIL_DEMO_MODE_CONSTANTS));
+            } catch (IllegalArgumentException exc) {
+                Slog.e(TAG, "Invalid string passed to KeyValueListParser");
+                // Consuming the exception to fall back to default values.
+            }
+            mWarningDialogTimeout = mParser.getLong(KEY_WARNING_DIALOG_TIMEOUT,
+                    WARNING_DIALOG_TIMEOUT_DEFAULT);
+            mUserInactivityTimeout = mParser.getLong(KEY_USER_INACTIVITY_TIMEOUT,
+                    USER_INACTIVITY_TIMEOUT_DEFAULT);
+            mUserInactivityTimeout = Math.max(mUserInactivityTimeout, USER_INACTIVITY_TIMEOUT_MIN);
+        }
+    }
+
     private void showInactivityCountdownDialog() {
         UserInactivityCountdownDialog dialog = new UserInactivityCountdownDialog(getContext(),
-                WARNING_DIALOG_TIMEOUT, MILLIS_PER_SECOND);
+                mWarningDialogTimeout, MILLIS_PER_SECOND);
         dialog.setNegativeButtonClickListener(null);
         dialog.setPositiveButtonClickListener(new DialogInterface.OnClickListener() {
             @Override
@@ -200,6 +279,7 @@
         synchronized (mActivityLock) {
             mFirstUserActivityTime = mLastUserActivityTime = SystemClock.uptimeMillis();
         }
+        mPreloadAppsInstaller = new PreloadAppsInstaller();
     }
 
     private Notification createResetNotification() {
@@ -250,6 +330,28 @@
         um.setUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS, true, user);
         Settings.Secure.putIntForUser(getContext().getContentResolver(),
                 Settings.Secure.SKIP_FIRST_USE_HINTS, 1, userInfo.id);
+        Settings.Secure.putIntForUser(getContext().getContentResolver(),
+                Settings.Global.PACKAGE_VERIFIER_ENABLE, 0, userInfo.id);
+
+        grantRuntimePermissionToCamera(userInfo.getUserHandle());
+    }
+
+    private void grantRuntimePermissionToCamera(UserHandle user) {
+        final Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
+        final PackageManager pm = getContext().getPackageManager();
+        final ResolveInfo handler = pm.resolveActivityAsUser(cameraIntent,
+                PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
+                user.getIdentifier());
+        if (handler == null || handler.activityInfo == null) {
+            return;
+        }
+        try {
+            pm.grantRuntimePermission(handler.activityInfo.packageName,
+                    Manifest.permission.ACCESS_FINE_LOCATION, user);
+        } catch (Exception e) {
+            // Ignore
+        }
+
     }
 
     void logSessionDuration() {
@@ -257,7 +359,7 @@
         synchronized (mActivityLock) {
             sessionDuration = (int) ((mLastUserActivityTime - mFirstUserActivityTime) / 1000);
         }
-        MetricsLogger.count(getContext(), DEMO_SESSION_DURATION, sessionDuration);
+        MetricsLogger.histogram(getContext(), DEMO_SESSION_DURATION, sessionDuration);
     }
 
     private ActivityManagerService getActivityManager() {
@@ -281,42 +383,6 @@
         return mAudioManager;
     }
 
-    private void registerSettingsChangeObserver() {
-        final Uri deviceDemoModeUri = Settings.Global.getUriFor(Settings.Global.DEVICE_DEMO_MODE);
-        final Uri deviceProvisionedUri = Settings.Global.getUriFor(
-                Settings.Global.DEVICE_PROVISIONED);
-        final ContentResolver cr = getContext().getContentResolver();
-        final ContentObserver deviceDemoModeSettingObserver = new ContentObserver(mHandler) {
-            @Override
-            public void onChange(boolean selfChange, Uri uri, int userId) {
-                if (deviceDemoModeUri.equals(uri)) {
-                    mDeviceInDemoMode = UserManager.isDeviceInDemoMode(getContext());
-                    if (mDeviceInDemoMode) {
-                        mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
-                    } else if (mWakeLock.isHeld()) {
-                        mWakeLock.release();
-                    }
-                }
-                // If device is provisioned and left demo mode - run the cleanup in demo folder
-                if (!mDeviceInDemoMode && isDeviceProvisioned()) {
-                    // Run on the bg thread to not block the fg thread
-                    BackgroundThread.getHandler().post(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (!deleteDemoFolderContents()) {
-                                Slog.w(TAG, "Failed to delete demo folder contents");
-                            }
-                        }
-                    });
-                }
-            }
-        };
-        cr.registerContentObserver(deviceDemoModeUri, false, deviceDemoModeSettingObserver,
-                UserHandle.USER_SYSTEM);
-        cr.registerContentObserver(deviceProvisionedUri, false, deviceDemoModeSettingObserver,
-                UserHandle.USER_SYSTEM);
-    }
-
     private boolean isDeviceProvisioned() {
         return Settings.Global.getInt(
                 getContext().getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 0) != 0;
@@ -404,7 +470,9 @@
             mDeviceInDemoMode = true;
             mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
         }
-        registerSettingsChangeObserver();
+        SettingsObserver settingsObserver = new SettingsObserver(mHandler);
+        settingsObserver.register();
+        settingsObserver.refreshTimeoutConstants();
         registerBroadcastReceiver();
     }
 
@@ -435,6 +503,12 @@
         }
         MetricsLogger.count(getContext(), DEMO_SESSION_COUNT, 1);
         mHandler.removeMessages(MSG_INACTIVITY_TIME_OUT);
+        mHandler.post(new Runnable() {
+            @Override
+            public void run() {
+                mPreloadAppsInstaller.installApps(userId);
+            }
+        });
     }
 
     private RetailDemoModeServiceInternal mLocalService = new RetailDemoModeServiceInternal() {
@@ -458,7 +532,7 @@
                 }
             }
             mHandler.removeMessages(MSG_INACTIVITY_TIME_OUT);
-            mHandler.sendEmptyMessageDelayed(MSG_INACTIVITY_TIME_OUT, USER_INACTIVITY_TIMEOUT);
+            mHandler.sendEmptyMessageDelayed(MSG_INACTIVITY_TIME_OUT, mUserInactivityTimeout);
         }
     };
 }
diff --git a/services/tests/servicestests/src/android/net/apf/ApfTest.java b/services/tests/servicestests/src/android/net/apf/ApfTest.java
index af78839..815133a 100644
--- a/services/tests/servicestests/src/android/net/apf/ApfTest.java
+++ b/services/tests/servicestests/src/android/net/apf/ApfTest.java
@@ -26,14 +26,23 @@
 import android.net.apf.ApfGenerator.IllegalInstructionException;
 import android.net.apf.ApfGenerator.Register;
 import android.net.ip.IpManager;
+import android.net.metrics.IpConnectivityLog;
+import android.net.metrics.RaEvent;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
 import android.os.ConditionVariable;
+import android.os.Parcelable;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.LargeTest;
 
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.verify;
+
 import java.io.File;
 import java.io.FileDescriptor;
 import java.io.FileOutputStream;
@@ -43,6 +52,7 @@
 import java.net.InetAddress;
 import java.net.NetworkInterface;
 import java.nio.ByteBuffer;
+import java.util.List;
 
 import libcore.io.IoUtils;
 import libcore.io.Streams;
@@ -56,9 +66,12 @@
 public class ApfTest extends AndroidTestCase {
     private static final int TIMEOUT_MS = 500;
 
+    @Mock IpConnectivityLog mLog;
+
     @Override
     public void setUp() throws Exception {
         super.setUp();
+        MockitoAnnotations.initMocks(this);
         // Load up native shared library containing APF interpreter exposed via JNI.
         System.loadLibrary("servicestestsjni");
     }
@@ -70,6 +83,9 @@
     // least the minimum packet size.
     private final static int MIN_PKT_SIZE = 15;
 
+    private final static boolean DROP_MULTICAST = true;
+    private final static boolean ALLOW_MULTICAST = false;
+
     private void assertVerdict(int expected, byte[] program, byte[] packet, int filterAge) {
         assertEquals(expected, apfSimulate(program, packet, filterAge));
     }
@@ -562,10 +578,10 @@
         public final static byte[] MOCK_MAC_ADDR = new byte[]{1,2,3,4,5,6};
         private FileDescriptor mWriteSocket;
 
-        public TestApfFilter(IpManager.Callback ipManagerCallback, boolean multicastFilter) throws
-                Exception {
+        public TestApfFilter(IpManager.Callback ipManagerCallback, boolean multicastFilter,
+                IpConnectivityLog log) throws Exception {
             super(new ApfCapabilities(2, 1000, ARPHRD_ETHER), NetworkInterface.getByName("lo"),
-                    ipManagerCallback, multicastFilter);
+                    ipManagerCallback, multicastFilter, log);
         }
 
         // Pretend an RA packet has been received and show it to ApfFilter.
@@ -667,7 +683,7 @@
     @LargeTest
     public void testApfFilterIPv4() throws Exception {
         MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback();
-        ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, true /* multicastFilter */);
+        ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, DROP_MULTICAST, mLog);
         byte[] program = ipManagerCallback.getApfProgram();
 
         // Verify empty packet of 100 zero bytes is passed
@@ -699,7 +715,7 @@
     @LargeTest
     public void testApfFilterIPv6() throws Exception {
         MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback();
-        ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, false /* multicastFilter */);
+        ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, ALLOW_MULTICAST, mLog);
         byte[] program = ipManagerCallback.getApfProgram();
 
         // Verify empty IPv6 packet is passed
@@ -726,7 +742,7 @@
     @LargeTest
     public void testApfFilterMulticast() throws Exception {
         MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback();
-        ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, false /* multicastFilter */);
+        ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, ALLOW_MULTICAST, mLog);
         byte[] program = ipManagerCallback.getApfProgram();
 
         // Construct IPv4 and IPv6 multicast packets.
@@ -772,7 +788,7 @@
         // Verify it can be initialized to on
         ipManagerCallback.resetApfProgramWait();
         apfFilter.shutdown();
-        apfFilter = new TestApfFilter(ipManagerCallback, true /* multicastFilter */);
+        apfFilter = new TestApfFilter(ipManagerCallback, DROP_MULTICAST, mLog);
         program = ipManagerCallback.getApfProgram();
         assertDrop(program, bcastv4packet.array(), 0);
         assertDrop(program, mcastv4packet.array(), 0);
@@ -804,7 +820,7 @@
     @LargeTest
     public void testApfFilterArp() throws Exception {
         MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback();
-        ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, false /* multicastFilter */);
+        ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, ALLOW_MULTICAST, mLog);
         byte[] program = ipManagerCallback.getApfProgram();
 
         // Verify initially ARP filter is off
@@ -867,6 +883,35 @@
         verifyRaLifetime(ipManagerCallback, packet, lifetime);
     }
 
+    private void verifyRaEvent(RaEvent expected) {
+        ArgumentCaptor<Parcelable> captor = ArgumentCaptor.forClass(Parcelable.class);
+        verify(mLog, atLeastOnce()).log(captor.capture());
+        RaEvent got = lastRaEvent(captor.getAllValues());
+        if (!raEventEquals(expected, got)) {
+            assertEquals(expected, got);  // fail for printing an assertion error message.
+        }
+    }
+
+    private RaEvent lastRaEvent(List<Parcelable> events) {
+        RaEvent got = null;
+        for (Parcelable ev : events) {
+            if (ev instanceof RaEvent) {
+                got = (RaEvent) ev;
+            }
+        }
+        return got;
+    }
+
+    private boolean raEventEquals(RaEvent ev1, RaEvent ev2) {
+        return (ev1 != null) && (ev2 != null)
+                && (ev1.routerLifetime == ev2.routerLifetime)
+                && (ev1.prefixValidLifetime == ev2.prefixValidLifetime)
+                && (ev1.prefixPreferredLifetime == ev2.prefixPreferredLifetime)
+                && (ev1.routeInfoLifetime == ev2.routeInfoLifetime)
+                && (ev1.rdnssLifetime == ev2.rdnssLifetime)
+                && (ev1.dnsslLifetime == ev2.dnsslLifetime);
+    }
+
     private void assertInvalidRa(TestApfFilter apfFilter, MockIpManagerCallback ipManagerCallback,
             ByteBuffer packet) throws IOException, ErrnoException {
         ipManagerCallback.resetApfProgramWait();
@@ -877,7 +922,7 @@
     @LargeTest
     public void testApfFilterRa() throws Exception {
         MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback();
-        TestApfFilter apfFilter = new TestApfFilter(ipManagerCallback, true /* multicastFilter */);
+        TestApfFilter apfFilter = new TestApfFilter(ipManagerCallback, DROP_MULTICAST, mLog);
         byte[] program = ipManagerCallback.getApfProgram();
 
         // Verify RA is passed the first time
@@ -891,6 +936,7 @@
         assertPass(program, basePacket.array(), 0);
 
         testRaLifetime(apfFilter, ipManagerCallback, basePacket, 1000);
+        verifyRaEvent(new RaEvent(1000, -1, -1, -1, -1, -1));
 
         // Ensure zero-length options cause the packet to be silently skipped.
         // Do this before we test other packets. http://b/29586253
@@ -916,6 +962,7 @@
         prefixOptionPacket.putInt(
                 ICMP6_RA_OPTION_OFFSET + ICMP6_PREFIX_OPTION_VALID_LIFETIME_OFFSET, 200);
         testRaLifetime(apfFilter, ipManagerCallback, prefixOptionPacket, 100);
+        verifyRaEvent(new RaEvent(1000, 200, 100, -1, -1, -1));
 
         ByteBuffer rdnssOptionPacket = ByteBuffer.wrap(
                 new byte[ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_OPTION_LEN]);
@@ -926,6 +973,7 @@
         rdnssOptionPacket.putInt(
                 ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_LIFETIME_OFFSET, 300);
         testRaLifetime(apfFilter, ipManagerCallback, rdnssOptionPacket, 300);
+        verifyRaEvent(new RaEvent(1000, -1, -1, -1, 300, -1));
 
         ByteBuffer routeInfoOptionPacket = ByteBuffer.wrap(
                 new byte[ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_OPTION_LEN]);
@@ -936,6 +984,7 @@
         routeInfoOptionPacket.putInt(
                 ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_LIFETIME_OFFSET, 400);
         testRaLifetime(apfFilter, ipManagerCallback, routeInfoOptionPacket, 400);
+        verifyRaEvent(new RaEvent(1000, -1, -1, 400, -1, -1));
 
         ByteBuffer dnsslOptionPacket = ByteBuffer.wrap(
                 new byte[ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_OPTION_LEN]);
@@ -948,6 +997,7 @@
         // Note that lifetime of 2000 will be ignored in favor of shorter
         // route lifetime of 1000.
         testRaLifetime(apfFilter, ipManagerCallback, dnsslOptionPacket, 1000);
+        verifyRaEvent(new RaEvent(1000, -1, -1, -1, -1, 2000));
 
         // Verify that current program filters all five RAs:
         verifyRaLifetime(ipManagerCallback, basePacket, 1000);
diff --git a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
index 14744d0..ba77b03 100644
--- a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
@@ -96,6 +96,7 @@
     private static final String TAG = "ConnectivityServiceTest";
 
     private static final int TIMEOUT_MS = 500;
+    private static final int TEST_LINGER_DELAY_MS = 120;
 
     private BroadcastInterceptingContext mServiceContext;
     private WrappedConnectivityService mService;
@@ -330,7 +331,8 @@
          * @param validated Indicate if network should pretend to be validated.
          */
         public void connect(boolean validated) {
-            assertEquals(mNetworkInfo.getDetailedState(), DetailedState.IDLE);
+            assertEquals("MockNetworkAgents can only be connected once",
+                    mNetworkInfo.getDetailedState(), DetailedState.IDLE);
             assertFalse(mNetworkCapabilities.hasCapability(NET_CAPABILITY_INTERNET));
 
             NetworkCallback callback = null;
@@ -548,6 +550,11 @@
             super(context, handler, cmdName, cmd);
         }
 
+        public FakeWakeupMessage(Context context, Handler handler, String cmdName, int cmd,
+                int arg1, int arg2, Object obj) {
+            super(context, handler, cmdName, cmd, arg1, arg2, obj);
+        }
+
         @Override
         public void schedule(long when) {
             long delayMs = when - SystemClock.elapsedRealtime();
@@ -556,12 +563,13 @@
                 fail("Attempting to send msg more than " + UNREASONABLY_LONG_WAIT +
                         "ms into the future: " + delayMs);
             }
-            mHandler.sendEmptyMessageDelayed(mCmd, delayMs);
+            Message msg = mHandler.obtainMessage(mCmd, mArg1, mArg2, mObj);
+            mHandler.sendMessageDelayed(msg, delayMs);
         }
 
         @Override
         public void cancel() {
-            mHandler.removeMessages(mCmd);
+            mHandler.removeMessages(mCmd, mObj);
         }
 
         @Override
@@ -585,12 +593,6 @@
         protected CaptivePortalProbeResult isCaptivePortal() {
             return new CaptivePortalProbeResult(gen204ProbeResult, gen204ProbeRedirectUrl);
         }
-
-        @Override
-        protected WakeupMessage makeWakeupMessage(
-                Context context, Handler handler, String cmdName, int cmd) {
-            return new FakeWakeupMessage(context, handler, cmdName, cmd);
-        }
     }
 
     private class WrappedConnectivityService extends ConnectivityService {
@@ -599,6 +601,7 @@
         public WrappedConnectivityService(Context context, INetworkManagementService netManager,
                 INetworkStatsService statsService, INetworkPolicyManager policyManager) {
             super(context, netManager, statsService, policyManager);
+            mLingerDelayMs = TEST_LINGER_DELAY_MS;
         }
 
         @Override
@@ -642,6 +645,12 @@
             return monitor;
         }
 
+        @Override
+        public WakeupMessage makeWakeupMessage(
+                Context context, Handler handler, String cmdName, int cmd, Object obj) {
+            return new FakeWakeupMessage(context, handler, cmdName, cmd, 0, 0, obj);
+        }
+
         public WrappedNetworkMonitor getLastCreatedWrappedNetworkMonitor() {
             return mLastCreatedNetworkMonitor;
         }
@@ -686,8 +695,6 @@
     public void setUp() throws Exception {
         super.setUp();
 
-        NetworkMonitor.SetDefaultLingerTime(120);
-
         // InstrumentationTestRunner prepares a looper, but AndroidJUnitRunner does not.
         // http://b/25897652 .
         if (Looper.myLooper() == null) {
@@ -1043,45 +1050,66 @@
      * received. assertNoCallback may be called at any time.
      */
     private class TestNetworkCallback extends NetworkCallback {
+        // Chosen to be much less than the linger timeout. This ensures that we can distinguish
+        // between a LOST callback that arrives immediately and a LOST callback that arrives after
+        // the linger timeout.
+        private final static int TIMEOUT_MS = 50;
+
         private class CallbackInfo {
             public final CallbackState state;
             public final Network network;
-            public CallbackInfo(CallbackState s, Network n) { state = s; network = n; }
+            public Object arg;
+            public CallbackInfo(CallbackState s, Network n, Object o) {
+                state = s; network = n; arg = o;
+            }
             public String toString() { return String.format("%s (%s)", state, network); }
             public boolean equals(Object o) {
                 if (!(o instanceof CallbackInfo)) return false;
+                // Ignore timeMs, since it's unpredictable.
                 CallbackInfo other = (CallbackInfo) o;
                 return state == other.state && Objects.equals(network, other.network);
             }
         }
         private final LinkedBlockingQueue<CallbackInfo> mCallbacks = new LinkedBlockingQueue<>();
 
-        private void setLastCallback(CallbackState state, Network network) {
-            mCallbacks.offer(new CallbackInfo(state, network));
+        private void setLastCallback(CallbackState state, Network network, Object o) {
+            mCallbacks.offer(new CallbackInfo(state, network, o));
         }
 
         public void onAvailable(Network network) {
-            setLastCallback(CallbackState.AVAILABLE, network);
+            setLastCallback(CallbackState.AVAILABLE, network, null);
         }
 
         public void onLosing(Network network, int maxMsToLive) {
-            setLastCallback(CallbackState.LOSING, network);
+            setLastCallback(CallbackState.LOSING, network, maxMsToLive /* autoboxed int */);
         }
 
         public void onLost(Network network) {
-            setLastCallback(CallbackState.LOST, network);
+            setLastCallback(CallbackState.LOST, network, null);
+        }
+
+        void expectCallback(CallbackState state, MockNetworkAgent mockAgent, int timeoutMs) {
+            CallbackInfo expected = new CallbackInfo(
+                    state, (mockAgent != null) ? mockAgent.getNetwork() : null, 0);
+            CallbackInfo actual;
+            try {
+                actual = mCallbacks.poll(timeoutMs, TimeUnit.MILLISECONDS);
+                assertEquals("Unexpected callback:", expected, actual);
+            } catch (InterruptedException e) {
+                fail("Did not receive expected " + expected + " after " + TIMEOUT_MS + "ms");
+                actual = null;  // Or the compiler can't tell it's never used uninitialized.
+            }
+            if (state == CallbackState.LOSING) {
+                String msg = String.format(
+                        "Invalid linger time value %d, must be between %d and %d",
+                        actual.arg, 0, TEST_LINGER_DELAY_MS);
+                int maxMsToLive = (Integer) actual.arg;
+                assertTrue(msg, 0 <= maxMsToLive && maxMsToLive <= TEST_LINGER_DELAY_MS);
+            }
         }
 
         void expectCallback(CallbackState state, MockNetworkAgent mockAgent) {
-            CallbackInfo expected = new CallbackInfo(
-                    state,
-                    (mockAgent != null) ? mockAgent.getNetwork() : null);
-            try {
-                assertEquals("Unexpected callback:",
-                        expected, mCallbacks.poll(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-            } catch (InterruptedException e) {
-                fail("Did not receive expected " + expected + " after " + TIMEOUT_MS + "ms");
-            }
+            expectCallback(state, mockAgent, TIMEOUT_MS);
         }
 
         void assertNoCallback() {
@@ -1244,6 +1272,8 @@
 
             }
             callback.expectCallback(CallbackState.LOSING, oldNetwork);
+            // TODO: should we send an AVAILABLE callback to newNetwork, to indicate that it is no
+            // longer lingering?
             defaultCallback.expectCallback(CallbackState.AVAILABLE, newNetwork);
             assertEquals(newNetwork.getNetwork(), mCm.getActiveNetwork());
         }
@@ -1297,12 +1327,12 @@
         assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
 
         // Bring up wifi with a score of 70.
-        // Cell is lingered because it would not satisfy any reques, even if it validated.
+        // Cell is lingered because it would not satisfy any request, even if it validated.
         mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
         mWiFiNetworkAgent.adjustScore(50);
         mWiFiNetworkAgent.connect(false);   // Score: 70
-        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
         callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
         defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
         assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
 
@@ -1313,20 +1343,75 @@
         defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
         assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
 
-        // Bring up wifi, then validate it. In this case we do not linger cell. What happens is that
-        // when wifi connects, we don't linger because cell could potentially become the default
-        // network if it validated. Then, when wifi validates, we re-evaluate cell, see it has no
-        // requests, and tear it down because it's unneeded.
-        // TODO: can we linger in this case?
+        // Bring up wifi, then validate it. Previous versions would immediately tear down cell, but
+        // it's arguably correct to linger it, since it was the default network before it validated.
         mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
         mWiFiNetworkAgent.connect(true);
         callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
-        callback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
         defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
         assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
 
         mWiFiNetworkAgent.disconnect();
         callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        mCellNetworkAgent.disconnect();
+        callback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+
+        // If a network is lingering, and we add and remove a request from it, resume lingering.
+        mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
+        mCellNetworkAgent.connect(true);
+        callback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mWiFiNetworkAgent.connect(true);
+        callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+
+        NetworkRequest cellRequest = new NetworkRequest.Builder()
+                .addTransportType(TRANSPORT_CELLULAR).build();
+        NetworkCallback noopCallback = new NetworkCallback();
+        mCm.requestNetwork(cellRequest, noopCallback);
+        // TODO: should this cause an AVAILABLE callback, to indicate that the network is no longer
+        // lingering?
+        mCm.unregisterNetworkCallback(noopCallback);
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+
+        // Similar to the above: lingering can start even after the lingered request is removed.
+        // Disconnect wifi and switch to cell.
+        mWiFiNetworkAgent.disconnect();
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+
+        // Cell is now the default network. Pin it with a cell-specific request.
+        noopCallback = new NetworkCallback();  // Can't reuse NetworkCallbacks. http://b/20701525
+        mCm.requestNetwork(cellRequest, noopCallback);
+
+        // Now connect wifi, and expect it to become the default network.
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mWiFiNetworkAgent.connect(true);
+        callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        // The default request is lingering on cell, but nothing happens to cell, and we send no
+        // callbacks for it, because it's kept up by cellRequest.
+        callback.assertNoCallback();
+        // Now unregister cellRequest and expect cell to start lingering.
+        mCm.unregisterNetworkCallback(noopCallback);
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+
+        // Let linger run its course.
+        callback.assertNoCallback();
+        callback.expectCallback(CallbackState.LOST, mCellNetworkAgent,
+                TEST_LINGER_DELAY_MS /* timeoutMs */);
+
+        // Clean up.
+        mWiFiNetworkAgent.disconnect();
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
 
         mCm.unregisterNetworkCallback(callback);
         mCm.unregisterNetworkCallback(defaultCallback);
diff --git a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
index 622e46e..979f160 100644
--- a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
@@ -20,6 +20,7 @@
 import static android.content.Intent.EXTRA_UID;
 import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
 import static android.net.ConnectivityManager.TYPE_WIFI;
+import static android.net.NetworkPolicy.CYCLE_NONE;
 import static android.net.NetworkPolicy.LIMIT_DISABLED;
 import static android.net.NetworkPolicy.WARNING_DISABLED;
 import static android.net.NetworkPolicyManager.POLICY_NONE;
@@ -86,7 +87,9 @@
 import org.easymock.IAnswer;
 
 import java.io.File;
+import java.util.Calendar;
 import java.util.LinkedHashSet;
+import java.util.TimeZone;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
@@ -141,8 +144,7 @@
     private static final int PID_2 = 401;
     private static final int PID_3 = 402;
 
-    @Override
-    public void setUp() throws Exception {
+    public void _setUp() throws Exception {
         super.setUp();
 
         setCurrentTimeMillis(TEST_START);
@@ -229,8 +231,7 @@
 
     }
 
-    @Override
-    public void tearDown() throws Exception {
+    public void _tearDown() throws Exception {
         for (File file : mPolicyDir.listFiles()) {
             file.delete();
         }
@@ -263,6 +264,7 @@
         backgroundChanged.get();
     }
 
+    @Suppress
     public void testPidForegroundCombined() throws Exception {
         IdleFuture idle;
 
@@ -310,6 +312,7 @@
         assertFalse(mService.isUidForeground(UID_A));
     }
 
+    @Suppress
     public void testScreenChangesRules() throws Exception {
         Future<Void> future;
 
@@ -351,6 +354,7 @@
         verifyAndReset();
     }
 
+    @Suppress
     public void testPolicyNone() throws Exception {
         Future<Void> future;
 
@@ -381,6 +385,7 @@
         verifyAndReset();
     }
 
+    @Suppress
     public void testPolicyReject() throws Exception {
         Future<Void> future;
 
@@ -412,6 +417,7 @@
         verifyAndReset();
     }
 
+    @Suppress
     public void testPolicyRejectAddRemove() throws Exception {
         Future<Void> future;
 
@@ -576,6 +582,17 @@
                 computeLastCycleBoundary(parseTime("2013-01-14T15:11:00.000-08:00"), policy));
     }
 
+    public void testLastCycleBoundaryDST() throws Exception {
+        final long currentTime = parseTime("1989-01-02T07:30:00.000");
+        final long expectedCycle = parseTime("1988-12-03T02:00:00.000Z");
+
+        final NetworkPolicy policy = new NetworkPolicy(
+                sTemplateWifi, 3, "America/Argentina/Buenos_Aires", 1024L, 1024L, false);
+        final long actualCycle = computeLastCycleBoundary(currentTime, policy);
+        assertTimeEquals(expectedCycle, actualCycle);
+    }
+
+    @Suppress
     public void testNetworkPolicyAppliedCycleLastMonth() throws Exception {
         NetworkState[] state = null;
         NetworkStats stats = null;
@@ -628,6 +645,7 @@
         verifyAndReset();
     }
 
+    @Suppress
     public void testUidRemovedPolicyCleared() throws Exception {
         Future<Void> future;
 
@@ -652,6 +670,7 @@
         verifyAndReset();
     }
 
+    @Suppress
     public void testOverWarningLimitNotification() throws Exception {
         NetworkState[] state = null;
         NetworkStats stats = null;
@@ -783,6 +802,7 @@
         }
     }
 
+    @Suppress
     public void testMeteredNetworkWithoutLimit() throws Exception {
         NetworkState[] state = null;
         NetworkStats stats = null;
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
index 23c58fe..43d2a1f 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
@@ -41,6 +41,7 @@
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Parcel;
+import android.os.RemoteCallbackList;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -55,15 +56,16 @@
 import android.util.Log;
 import android.util.Slog;
 
+import com.android.internal.app.IVoiceInteractionSessionListener;
 import com.android.internal.app.IVoiceInteractionManagerService;
 import com.android.internal.app.IVoiceInteractionSessionShowCallback;
 import com.android.internal.app.IVoiceInteractor;
 import com.android.internal.content.PackageMonitor;
 import com.android.internal.os.BackgroundThread;
 import com.android.server.LocalServices;
-import com.android.server.soundtrigger.SoundTriggerInternal;
 import com.android.server.SystemService;
 import com.android.server.UiThread;
+import com.android.server.soundtrigger.SoundTriggerInternal;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -84,6 +86,9 @@
     final TreeSet<Integer> mLoadedKeyphraseIds;
     SoundTriggerInternal mSoundTriggerInternal;
 
+    private final RemoteCallbackList<IVoiceInteractionSessionListener>
+            mVoiceInteractionSessionListeners = new RemoteCallbackList<>();
+
     public VoiceInteractionManagerService(Context context) {
         super(context);
         mContext = context;
@@ -1038,6 +1043,48 @@
         }
 
         @Override
+        public void registerVoiceInteractionSessionListener(
+                IVoiceInteractionSessionListener listener) {
+            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
+            synchronized (this) {
+                mVoiceInteractionSessionListeners.register(listener);
+            }
+        }
+
+        public void onSessionShown() {
+            synchronized (this) {
+                final int size = mVoiceInteractionSessionListeners.beginBroadcast();
+                for (int i = 0; i < size; ++i) {
+                    final IVoiceInteractionSessionListener listener =
+                            mVoiceInteractionSessionListeners.getBroadcastItem(i);
+                    try {
+                        listener.onVoiceSessionShown();
+                    } catch (RemoteException e) {
+                        Slog.e(TAG, "Error delivering voice interaction open event.", e);
+                    }
+                }
+                mVoiceInteractionSessionListeners.finishBroadcast();
+            }
+        }
+
+        public void onSessionHidden() {
+            synchronized (this) {
+                final int size = mVoiceInteractionSessionListeners.beginBroadcast();
+                for (int i = 0; i < size; ++i) {
+                    final IVoiceInteractionSessionListener listener =
+                            mVoiceInteractionSessionListeners.getBroadcastItem(i);
+                    try {
+                        listener.onVoiceSessionHidden();
+
+                    } catch (RemoteException e) {
+                        Slog.e(TAG, "Error delivering voice interaction closed event.", e);
+                    }
+                }
+                mVoiceInteractionSessionListeners.finishBroadcast();
+            }
+        }
+
+        @Override
         public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
             if (mContext.checkCallingOrSelfPermission(Manifest.permission.DUMP)
                     != PackageManager.PERMISSION_GRANTED) {
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
index 3f9da4c..a46ccee 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
@@ -41,6 +41,7 @@
 import android.util.Slog;
 import android.view.IWindowManager;
 
+import com.android.internal.app.IVoiceInteractionSessionListener;
 import com.android.internal.app.IVoiceInteractionSessionShowCallback;
 import com.android.internal.app.IVoiceInteractor;
 import com.android.server.LocalServices;
@@ -58,7 +59,7 @@
 
     final Context mContext;
     final Handler mHandler;
-    final Object mLock;
+    final VoiceInteractionManagerService.VoiceInteractionManagerServiceStub mServiceStub;
     final int mUser;
     final ComponentName mComponent;
     final IActivityManager mAm;
@@ -77,7 +78,7 @@
             if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(intent.getAction())) {
                 String reason = intent.getStringExtra("reason");
                 if (!CLOSE_REASON_VOICE_INTERACTION.equals(reason) && !"dream".equals(reason)) {
-                    synchronized (mLock) {
+                    synchronized (mServiceStub) {
                         if (mActiveSession != null && mActiveSession.mSession != null) {
                             try {
                                 mActiveSession.mSession.closeSystemDialogs();
@@ -93,7 +94,7 @@
     final ServiceConnection mConnection = new ServiceConnection() {
         @Override
         public void onServiceConnected(ComponentName name, IBinder service) {
-            synchronized (mLock) {
+            synchronized (mServiceStub) {
                 mService = IVoiceInteractionService.Stub.asInterface(service);
                 try {
                     mService.ready();
@@ -108,11 +109,12 @@
         }
     };
 
-    VoiceInteractionManagerServiceImpl(Context context, Handler handler, Object lock,
+    VoiceInteractionManagerServiceImpl(Context context, Handler handler,
+            VoiceInteractionManagerService.VoiceInteractionManagerServiceStub stub,
             int userHandle, ComponentName service) {
         mContext = context;
         mHandler = handler;
-        mLock = lock;
+        mServiceStub = stub;
         mUser = userHandle;
         mComponent = service;
         mAm = ActivityManagerNative.getDefault();
@@ -148,8 +150,9 @@
     public boolean showSessionLocked(Bundle args, int flags,
             IVoiceInteractionSessionShowCallback showCallback, IBinder activityToken) {
         if (mActiveSession == null) {
-            mActiveSession = new VoiceInteractionSessionConnection(mLock, mSessionComponentName,
-                    mUser, mContext, this, mInfo.getServiceInfo().applicationInfo.uid, mHandler);
+            mActiveSession = new VoiceInteractionSessionConnection(mServiceStub,
+                    mSessionComponentName, mUser, mContext, this,
+                    mInfo.getServiceInfo().applicationInfo.uid, mHandler);
         }
         List<IBinder> activityTokens = null;
         if (activityToken == null) {
@@ -355,8 +358,18 @@
 
     @Override
     public void sessionConnectionGone(VoiceInteractionSessionConnection connection) {
-        synchronized (mLock) {
+        synchronized (mServiceStub) {
             finishLocked(connection.mToken, false);
         }
     }
+
+    @Override
+    public void onSessionShown(VoiceInteractionSessionConnection connection) {
+        mServiceStub.onSessionShown();
+    }
+
+    @Override
+    public void onSessionHidden(VoiceInteractionSessionConnection connection) {
+        mServiceStub.onSessionHidden();
+    }
 }
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
index 0694911..b0cc2ac 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
@@ -130,6 +130,8 @@
 
     public interface Callback {
         public void sessionConnectionGone(VoiceInteractionSessionConnection connection);
+        public void onSessionShown(VoiceInteractionSessionConnection connection);
+        public void onSessionHidden(VoiceInteractionSessionConnection connection);
     }
 
     final ServiceConnection mFullConnection = new ServiceConnection() {
@@ -313,6 +315,7 @@
             } else if (showCallback != null) {
                 mPendingShowCallbacks.add(showCallback);
             }
+            mCallback.onSessionShown(this);
             return true;
         }
         if (showCallback != null) {
@@ -468,6 +471,7 @@
                     } catch (RemoteException e) {
                     }
                 }
+                mCallback.onSessionHidden(this);
             }
             if (mFullyBound) {
                 mContext.unbindService(mFullConnection);
diff --git a/telecomm/java/android/telecom/DisconnectCause.java b/telecomm/java/android/telecom/DisconnectCause.java
index cf73d4f..6860269 100644
--- a/telecomm/java/android/telecom/DisconnectCause.java
+++ b/telecomm/java/android/telecom/DisconnectCause.java
@@ -275,6 +275,12 @@
             case CONNECTION_MANAGER_NOT_SUPPORTED:
                 code = "CONNECTION_MANAGER_NOT_SUPPORTED";
                 break;
+            case CALL_PULLED:
+                code = "CALL_PULLED";
+                break;
+            case ANSWERED_ELSEWHERE:
+                code = "ANSWERED_ELSEWHERE";
+                break;
             default:
                 code = "invalid code: " + mDisconnectCode;
                 break;
diff --git a/telecomm/java/android/telecom/ParcelableCallAnalytics.java b/telecomm/java/android/telecom/ParcelableCallAnalytics.java
index 0ee9bab..383d10b 100644
--- a/telecomm/java/android/telecom/ParcelableCallAnalytics.java
+++ b/telecomm/java/android/telecom/ParcelableCallAnalytics.java
@@ -21,6 +21,7 @@
 import android.os.Parcelable;
 
 import java.util.ArrayList;
+import java.util.LinkedList;
 import java.util.List;
 
 /**
@@ -28,6 +29,68 @@
  */
 @SystemApi
 public class ParcelableCallAnalytics implements Parcelable {
+    /** {@hide} */
+    public static final class VideoEvent implements Parcelable {
+        public static final int SEND_LOCAL_SESSION_MODIFY_REQUEST = 0;
+        public static final int SEND_LOCAL_SESSION_MODIFY_RESPONSE = 1;
+        public static final int RECEIVE_REMOTE_SESSION_MODIFY_REQUEST = 2;
+        public static final int RECEIVE_REMOTE_SESSION_MODIFY_RESPONSE = 3;
+
+        public static final Parcelable.Creator<VideoEvent> CREATOR =
+                new Parcelable.Creator<VideoEvent> () {
+
+                    @Override
+                    public VideoEvent createFromParcel(Parcel in) {
+                        return new VideoEvent(in);
+                    }
+
+                    @Override
+                    public VideoEvent[] newArray(int size) {
+                        return new VideoEvent[size];
+                    }
+                };
+
+        private int mEventName;
+        private long mTimeSinceLastEvent;
+        private int mVideoState;
+
+        public VideoEvent(int eventName, long timeSinceLastEvent, int videoState) {
+            mEventName = eventName;
+            mTimeSinceLastEvent = timeSinceLastEvent;
+            mVideoState = videoState;
+        }
+
+        VideoEvent(Parcel in) {
+            mEventName = in.readInt();
+            mTimeSinceLastEvent = in.readLong();
+            mVideoState = in.readInt();
+        }
+
+        public int getEventName() {
+            return mEventName;
+        }
+
+        public long getTimeSinceLastEvent() {
+            return mTimeSinceLastEvent;
+        }
+
+        public int getVideoState() {
+            return mVideoState;
+        }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            out.writeInt(mEventName);
+            out.writeLong(mTimeSinceLastEvent);
+            out.writeInt(mVideoState);
+        }
+    }
+
     public static final class AnalyticsEvent implements Parcelable {
         public static final int SET_SELECT_PHONE_ACCOUNT = 0;
         public static final int SET_ACTIVE = 1;
@@ -250,6 +313,12 @@
     // A map from event-pair names to their durations.
     private final List<EventTiming> eventTimings;
 
+    // Whether the call has ever been a video call.
+    private boolean isVideoCall = false;
+
+    // A list of video events that have occurred.
+    private List<VideoEvent> videoEvents;
+
     public ParcelableCallAnalytics(long startTimeMillis, long callDurationMillis, int callType,
             boolean isAdditionalCall, boolean isInterrupted, int callTechnologies,
             int callTerminationCode, boolean isEmergencyCall, String connectionService,
@@ -284,6 +353,9 @@
         in.readTypedList(analyticsEvents, AnalyticsEvent.CREATOR);
         eventTimings = new ArrayList<>();
         in.readTypedList(eventTimings, EventTiming.CREATOR);
+        isVideoCall = readByteAsBoolean(in);
+        videoEvents = new LinkedList<>();
+        in.readTypedList(videoEvents, VideoEvent.CREATOR);
     }
 
     public void writeToParcel(Parcel out, int flags) {
@@ -299,6 +371,18 @@
         writeBooleanAsByte(out, isCreatedFromExistingConnection);
         out.writeTypedList(analyticsEvents);
         out.writeTypedList(eventTimings);
+        writeBooleanAsByte(out, isVideoCall);
+        out.writeTypedList(videoEvents);
+    }
+
+    /** {@hide} */
+    public void setIsVideoCall(boolean isVideoCall) {
+        this.isVideoCall = isVideoCall;
+    }
+
+    /** {@hide} */
+    public void setVideoEvents(List<VideoEvent> videoEvents) {
+        this.videoEvents = videoEvents;
     }
 
     public long getStartTimeMillis() {
@@ -349,6 +433,16 @@
         return eventTimings;
     }
 
+    /** {@hide} */
+    public boolean isVideoCall() {
+        return isVideoCall;
+    }
+
+    /** {@hide} */
+    public List<VideoEvent> getVideoEvents() {
+        return videoEvents;
+    }
+
     @Override
     public int describeContents() {
         return 0;
diff --git a/telephony/java/android/telephony/DisconnectCause.java b/telephony/java/android/telephony/DisconnectCause.java
index 7a9170f..80ae4af 100644
--- a/telephony/java/android/telephony/DisconnectCause.java
+++ b/telephony/java/android/telephony/DisconnectCause.java
@@ -200,6 +200,12 @@
      */
     public static final int CALL_PULLED = 51;
 
+    /**
+     * The call was terminated because it was answered on another device.
+     * {@hide}
+     */
+    public static final int ANSWERED_ELSEWHERE = 52;
+
     //*********************************************************************************************
     // When adding a disconnect type:
     // 1) Please assign the new type the next id value below.
@@ -208,14 +214,14 @@
     // 4) Update toString() with the newly added disconnect type.
     // 5) Update android.telecom.DisconnectCauseUtil with any mappings to a telecom.DisconnectCause.
     //
-    // NextId: 50
+    // NextId: 53
     //*********************************************************************************************
 
     /** Smallest valid value for call disconnect codes. */
     public static final int MINIMUM_VALID_VALUE = NOT_DISCONNECTED;
 
     /** Largest valid value for call disconnect codes. */
-    public static final int MAXIMUM_VALID_VALUE = VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED;
+    public static final int MAXIMUM_VALID_VALUE = ANSWERED_ELSEWHERE;
 
     /** Private constructor to avoid class instantiation. */
     private DisconnectCause() {
@@ -327,6 +333,8 @@
             return "VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED";
         case CALL_PULLED:
             return "CALL_PULLED";
+        case ANSWERED_ELSEWHERE:
+            return "ANSWERED_ELSEWHERE";
         default:
             return "INVALID: " + cause;
         }
diff --git a/tests/Assist/src/com/android/test/assist/AssistInteractionSession.java b/tests/Assist/src/com/android/test/assist/AssistInteractionSession.java
index 851bda9..0718628 100644
--- a/tests/Assist/src/com/android/test/assist/AssistInteractionSession.java
+++ b/tests/Assist/src/com/android/test/assist/AssistInteractionSession.java
@@ -77,6 +77,9 @@
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
+
+        getWindow().getWindow().getDecorView().setSystemUiVisibility(
+                View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
     }
 
     @Override
diff --git a/tests/SoundTriggerTestApp/AndroidManifest.xml b/tests/SoundTriggerTestApp/AndroidManifest.xml
index 71d6001..87f3e92 100644
--- a/tests/SoundTriggerTestApp/AndroidManifest.xml
+++ b/tests/SoundTriggerTestApp/AndroidManifest.xml
@@ -1,25 +1,28 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.android.test.soundtrigger">
-
+    <uses-permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD" />
     <uses-permission android:name="android.permission.MANAGE_SOUND_TRIGGER" />
+    <uses-permission android:name="android.permission.RECORD_AUDIO" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <application>
         <activity
-            android:name="TestSoundTriggerActivity"
+            android:name=".SoundTriggerTestActivity"
             android:label="SoundTrigger Test Application"
             android:screenOrientation="portrait"
             android:theme="@android:style/Theme.Material">
-            <!--
-            <intent-filter>
-                <action android:name="com.android.intent.action.MANAGE_SOUND_TRIGGER" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-            -->
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
+        <service
+            android:name=".SoundTriggerTestService"
+            android:stopWithTask="false"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="com.android.intent.action.MANAGE_SOUND_TRIGGER" />
+            </intent-filter>
+        </service>
     </application>
 </manifest>
diff --git a/tests/SoundTriggerTestApp/res/layout/main.xml b/tests/SoundTriggerTestApp/res/layout/main.xml
index 06949a0..0fd8b12 100644
--- a/tests/SoundTriggerTestApp/res/layout/main.xml
+++ b/tests/SoundTriggerTestApp/res/layout/main.xml
@@ -18,81 +18,107 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
-    >
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    >
+    android:orientation="vertical">
 
-    <Button
-        android:layout_width="wrap_content"
+    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/load"
+            android:onClick="onLoadButtonClicked"
+            android:padding="20dp" />
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/start_recog"
+            android:onClick="onStartRecognitionButtonClicked"
+            android:padding="20dp" />
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/stop_recog"
+            android:onClick="onStopRecognitionButtonClicked"
+            android:padding="20dp" />
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/unload"
+            android:onClick="onUnloadButtonClicked"
+            android:padding="20dp" />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/reload"
+            android:onClick="onReloadButtonClicked"
+            android:padding="20dp" />
+
+        <Button
+            android:id="@+id/play_trigger_id"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/play_trigger"
+            android:onClick="onPlayTriggerButtonClicked"
+            android:padding="20dp" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:text="@string/enroll"
-        android:onClick="onEnrollButtonClicked"
-        android:padding="20dp" />
+        android:layout_gravity="right">
 
-    <Button
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/reenroll"
-        android:onClick="onReEnrollButtonClicked"
-        android:padding="20dp" />
+        <CheckBox
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/capture"
+            android:id="@+id/caputre_check_box"
+            android:layout_gravity="center_horizontal"
+            android:padding="20dp" />
 
-    <Button
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/start_recog"
-        android:onClick="onStartRecognitionButtonClicked"
-        android:padding="20dp" />
+        <Button
+            android:id="@+id/play_captured_id"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/play_capture"
+            android:padding="20dp"
+            android:enabled="false" />
+    </LinearLayout>
 
-    <Button
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/stop_recog"
-        android:onClick="onStopRecognitionButtonClicked"
-        android:padding="20dp" />
-
-    <Button
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/unenroll"
-        android:onClick="onUnEnrollButtonClicked"
-        android:padding="20dp" />
-
-    <Button
-        android:id="@+id/play_trigger_id"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/play_trigger"
-        android:onClick="onPlayTriggerButtonClicked"
-        android:padding="20dp" />
-
-</LinearLayout>
-
-<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
+    <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/model_group_id"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:padding="20dp"
-        android:orientation="vertical">
-</RadioGroup>
+        android:orientation="vertical" />
 
-<ScrollView
+    <ScrollView
        android:id="@+id/scroller_id"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:fillViewport="true">
 
-      <TextView
-        android:id="@+id/console"
-        android:paddingTop="20pt"
-        android:layout_height="fill_parent"
-        android:layout_width="fill_parent"
-        android:textSize="14dp"
-        android:layout_weight="1.0"
-        android:text="@string/none">
-     </TextView>
-</ScrollView>
+        <TextView
+            android:id="@+id/console"
+            android:paddingTop="20pt"
+            android:layout_height="fill_parent"
+            android:layout_width="fill_parent"
+            android:textSize="14dp"
+            android:layout_weight="1.0"
+            android:text="@string/none" />
+    </ScrollView>
 </LinearLayout>
diff --git a/tests/SoundTriggerTestApp/res/values/strings.xml b/tests/SoundTriggerTestApp/res/values/strings.xml
index 7c1f649..c48b648 100644
--- a/tests/SoundTriggerTestApp/res/values/strings.xml
+++ b/tests/SoundTriggerTestApp/res/values/strings.xml
@@ -16,11 +16,14 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
 
-    <string name="enroll">Load</string>
-    <string name="reenroll">Re-load</string>
-    <string name="unenroll">Un-load</string>
+    <string name="load">Load</string>
+    <string name="reload">Reload</string>
+    <string name="unload">Unload</string>
     <string name="start_recog">Start</string>
     <string name="stop_recog">Stop</string>
     <string name="play_trigger">Play Trigger Audio</string>
+    <string name="capture">Capture Audio</string>
+    <string name="stop_capture">Stop Capturing Audio</string>
+    <string name="play_capture">Play Captured Audio</string>
     <string name="none">Debug messages appear here:\n</string>
 </resources>
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestActivity.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestActivity.java
new file mode 100644
index 0000000..4841bc5
--- /dev/null
+++ b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestActivity.java
@@ -0,0 +1,329 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.test.soundtrigger;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.content.pm.PackageManager;
+import android.media.AudioManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.IBinder;
+import android.os.PowerManager;
+import android.text.Editable;
+import android.text.method.ScrollingMovementMethod;
+import android.util.Log;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.ScrollView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.android.test.soundtrigger.SoundTriggerTestService.SoundTriggerTestBinder;
+
+public class SoundTriggerTestActivity extends Activity implements SoundTriggerTestService.UserActivity {
+    private static final String TAG = "SoundTriggerTest";
+    private static final int AUDIO_PERMISSIONS_REQUEST = 1;
+
+    private SoundTriggerTestService mService = null;
+
+    private static UUID mSelectedModelUuid = null;
+
+    private Map<RadioButton, UUID> mButtonModelUuidMap;
+    private Map<UUID, RadioButton> mModelButtons;
+    private Map<UUID, String> mModelNames;
+    private List<RadioButton> mModelRadioButtons;
+
+    private TextView mDebugView = null;
+    private ScrollView mScrollView = null;
+    private Button mPlayTriggerButton = null;
+    private PowerManager.WakeLock mScreenWakelock;
+    private Handler mHandler;
+    private RadioGroup mRadioGroup;
+    private CheckBox mCaptureAudioCheckBox;
+    private Button mPlayCapturedAudioButton = null;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        // Make sure that this activity can punch through the lockscreen if needed.
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
+                             WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
+
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.main);
+        mDebugView = (TextView) findViewById(R.id.console);
+        mScrollView = (ScrollView) findViewById(R.id.scroller_id);
+        mRadioGroup = (RadioGroup) findViewById(R.id.model_group_id);
+        mPlayTriggerButton = (Button) findViewById(R.id.play_trigger_id);
+        mDebugView.setText(mDebugView.getText(), TextView.BufferType.EDITABLE);
+        mDebugView.setMovementMethod(new ScrollingMovementMethod());
+        mCaptureAudioCheckBox = (CheckBox) findViewById(R.id.caputre_check_box);
+        mPlayCapturedAudioButton = (Button) findViewById(R.id.play_captured_id);
+        mHandler = new Handler();
+        mButtonModelUuidMap = new HashMap();
+        mModelButtons = new HashMap();
+        mModelNames = new HashMap();
+        mModelRadioButtons = new LinkedList();
+
+        setVolumeControlStream(AudioManager.STREAM_MUSIC);
+
+        // Make sure that the service is started, so even if our activity goes down, we'll still
+        // have a request for it to run.
+        startService(new Intent(getBaseContext(), SoundTriggerTestService.class));
+
+        // Bind to SoundTriggerTestService.
+        Intent intent = new Intent(this, SoundTriggerTestService.class);
+        bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+
+        // Unbind from the service.
+        if (mService != null) {
+            mService.setUserActivity(null);
+            unbindService(mConnection);
+        }
+    }
+
+    @Override
+    public void addModel(UUID modelUuid, String name) {
+        // Create a new widget for this model, and insert everything we'd need into the map.
+        RadioButton button = new RadioButton(this);
+        mModelRadioButtons.add(button);
+        button.setText(name);
+        button.setOnClickListener(new View.OnClickListener() {
+            public void onClick(View v) {
+                onRadioButtonClicked(v);
+            }
+        });
+        mButtonModelUuidMap.put(button, modelUuid);
+        mModelButtons.put(modelUuid, button);
+        mModelNames.put(modelUuid, name);
+
+        // Sort all the radio buttons by name, then push them into the group in order.
+        Collections.sort(mModelRadioButtons, new Comparator<RadioButton>(){
+            @Override
+            public int compare(RadioButton button0, RadioButton button1) {
+                return button0.getText().toString().compareTo(button1.getText().toString());
+            }
+        });
+        mRadioGroup.removeAllViews();
+        for (View v : mModelRadioButtons) {
+            mRadioGroup.addView(v);
+        }
+
+        // If we don't have something selected, select this first thing.
+        if (mSelectedModelUuid == null || mSelectedModelUuid.equals(modelUuid)) {
+            button.setChecked(true);
+            onRadioButtonClicked(button);
+        }
+    }
+
+    @Override
+    public void setModelState(UUID modelUuid, String state) {
+        runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                String newButtonText = mModelNames.get(modelUuid);
+                if (state != null) {
+                    newButtonText += ": " + state;
+                }
+                mModelButtons.get(modelUuid).setText(newButtonText);
+                updateSelectModelSpecificUiElements();
+            }
+        });
+    }
+
+    @Override
+    public void showMessage(String msg, boolean showToast) {
+        // Append the message to the text field, then show the toast if requested.
+        this.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                ((Editable) mDebugView.getText()).append(msg + "\n");
+                mScrollView.post(new Runnable() {
+                    public void run() {
+                        mScrollView.smoothScrollTo(0, mDebugView.getBottom());
+                    }
+                });
+                if (showToast) {
+                    Toast.makeText(SoundTriggerTestActivity.this, msg, Toast.LENGTH_SHORT).show();
+                }
+            }
+        });
+    }
+
+    @Override
+    public void handleDetection(UUID modelUuid) {
+        screenWakeup();
+        mHandler.postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                screenRelease();
+            }
+        }, 1000L);
+    }
+
+    private void screenWakeup() {
+        if (mScreenWakelock == null) {
+            PowerManager pm = ((PowerManager)getSystemService(POWER_SERVICE));
+            mScreenWakelock =  pm.newWakeLock(
+                    PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG);
+        }
+        mScreenWakelock.acquire();
+    }
+
+    private void screenRelease() {
+        mScreenWakelock.release();
+    }
+
+    public void onLoadButtonClicked(View v) {
+        if (mService == null) {
+            Log.e(TAG, "Could not load sound model: not bound to SoundTriggerTestService");
+        } else {
+            mService.loadModel(mSelectedModelUuid);
+        }
+    }
+
+    public void onUnloadButtonClicked(View v) {
+        if (mService == null) {
+           Log.e(TAG, "Can't unload model: not bound to SoundTriggerTestService");
+        } else {
+            mService.unloadModel(mSelectedModelUuid);
+        }
+    }
+
+    public void onReloadButtonClicked(View v) {
+        if (mService == null) {
+            Log.e(TAG, "Can't reload model: not bound to SoundTriggerTestService");
+        } else {
+            mService.reloadModel(mSelectedModelUuid);
+        }
+    }
+
+    public void onStartRecognitionButtonClicked(View v) {
+        if (mService == null) {
+            Log.e(TAG, "Can't start recognition: not bound to SoundTriggerTestService");
+        } else {
+            mService.startRecognition(mSelectedModelUuid);
+        }
+    }
+
+    public void onStopRecognitionButtonClicked(View v) {
+        if (mService == null) {
+            Log.e(TAG, "Can't stop recognition: not bound to SoundTriggerTestService");
+        } else {
+            mService.stopRecognition(mSelectedModelUuid);
+        }
+    }
+
+    public synchronized void onPlayTriggerButtonClicked(View v) {
+        if (mService == null) {
+            Log.e(TAG, "Can't play trigger audio: not bound to SoundTriggerTestService");
+        } else {
+            mService.playTriggerAudio(mSelectedModelUuid);
+        }
+    }
+
+    public synchronized void onCaptureAudioCheckboxClicked(View v) {
+        // See if we have the right permissions
+        if (!mService.hasMicrophonePermission()) {
+            requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO},
+                    AUDIO_PERMISSIONS_REQUEST);
+            return;
+        } else {
+            mService.setCaptureAudio(mSelectedModelUuid, mCaptureAudioCheckBox.isChecked());
+        }
+    }
+
+    @Override
+    public synchronized void onRequestPermissionsResult(int requestCode, String permissions[],
+                                                        int[] grantResults) {
+        if (requestCode == AUDIO_PERMISSIONS_REQUEST) {
+            if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
+                // Make sure that the check box is set to false.
+                mCaptureAudioCheckBox.setChecked(false);
+            }
+            mService.setCaptureAudio(mSelectedModelUuid, mCaptureAudioCheckBox.isChecked());
+        }
+    }
+
+    public synchronized void onPlayCapturedAudioButtonClicked(View v) {
+        if (mService == null) {
+            Log.e(TAG, "Can't play captured audio: not bound to SoundTriggerTestService");
+        } else {
+            mService.playCapturedAudio(mSelectedModelUuid);
+        }
+    }
+
+    public synchronized void onRadioButtonClicked(View view) {
+        // Is the button now checked?
+        boolean checked = ((RadioButton) view).isChecked();
+        if (checked) {
+            mSelectedModelUuid = mButtonModelUuidMap.get(view);
+            showMessage("Selected " + mModelNames.get(mSelectedModelUuid), false);
+            updateSelectModelSpecificUiElements();
+        }
+    }
+
+    private synchronized void updateSelectModelSpecificUiElements() {
+        // Set the play trigger button to be enabled only if we actually have some audio.
+        mPlayTriggerButton.setEnabled(mService.modelHasTriggerAudio((mSelectedModelUuid)));
+        // Similar logic for the captured audio.
+        mCaptureAudioCheckBox.setChecked(
+                mService.modelWillCaptureTriggerAudio(mSelectedModelUuid));
+        mPlayCapturedAudioButton.setEnabled(mService.modelHasCapturedAudio((mSelectedModelUuid)));
+    }
+
+    private ServiceConnection mConnection = new ServiceConnection() {
+        @Override
+        public void onServiceConnected(ComponentName className, IBinder service) {
+            synchronized (SoundTriggerTestActivity.this) {
+                // We've bound to LocalService, cast the IBinder and get LocalService instance
+                SoundTriggerTestBinder binder = (SoundTriggerTestBinder) service;
+                mService = binder.getService();
+                mService.setUserActivity(SoundTriggerTestActivity.this);
+            }
+        }
+
+        @Override
+        public void onServiceDisconnected(ComponentName arg0) {
+            synchronized (SoundTriggerTestActivity.this) {
+                mService.setUserActivity(null);
+                mService = null;
+            }
+        }
+    };
+}
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java
new file mode 100644
index 0000000..0ff95c4
--- /dev/null
+++ b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java
@@ -0,0 +1,720 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.test.soundtrigger;
+
+import android.Manifest;
+import android.app.Service;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.hardware.soundtrigger.SoundTrigger.GenericSoundModel;
+import android.media.AudioAttributes;
+import android.media.AudioFormat;
+import android.media.AudioManager;
+import android.media.AudioRecord;
+import android.media.AudioTrack;
+import android.media.MediaPlayer;
+import android.media.soundtrigger.SoundTriggerDetector;
+import android.net.Uri;
+import android.os.Binder;
+import android.os.IBinder;
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Random;
+import java.util.UUID;
+
+public class SoundTriggerTestService extends Service {
+    private static final String TAG = "SoundTriggerTestSrv";
+    private static final String INTENT_ACTION = "com.android.intent.action.MANAGE_SOUND_TRIGGER";
+
+    // Binder given to clients.
+    private final IBinder mBinder;
+    private final Map<UUID, ModelInfo> mModelInfoMap;
+    private SoundTriggerUtil mSoundTriggerUtil;
+    private Random mRandom;
+    private UserActivity mUserActivity;
+
+    public interface UserActivity {
+        void addModel(UUID modelUuid, String state);
+        void setModelState(UUID modelUuid, String state);
+        void showMessage(String msg, boolean showToast);
+        void handleDetection(UUID modelUuid);
+    }
+
+    public SoundTriggerTestService() {
+        super();
+        mRandom = new Random();
+        mModelInfoMap = new HashMap();
+        mBinder = new SoundTriggerTestBinder();
+    }
+
+    @Override
+    public synchronized int onStartCommand(Intent intent, int flags, int startId) {
+        if (mModelInfoMap.isEmpty()) {
+            mSoundTriggerUtil = new SoundTriggerUtil(this);
+            loadModelsInDataDir();
+        }
+
+        // If we get killed, after returning from here, restart
+        return START_STICKY;
+    }
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(INTENT_ACTION);
+        registerReceiver(mBroadcastReceiver, filter);
+
+        // Make sure the data directory exists, and we're the owner of it.
+        try {
+            getFilesDir().mkdir();
+        } catch (Exception e) {
+            // Don't care - we either made it, or it already exists.
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        stopAllRecognitions();
+        unregisterReceiver(mBroadcastReceiver);
+    }
+
+    private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent != null && INTENT_ACTION.equals(intent.getAction())) {
+                String command = intent.getStringExtra("command");
+                if (command == null) {
+                    Log.e(TAG, "No 'command' specified in " + INTENT_ACTION);
+                } else {
+                    try {
+                        if (command.equals("load")) {
+                            loadModel(getModelUuidFromIntent(intent));
+                        } else if (command.equals("unload")) {
+                            unloadModel(getModelUuidFromIntent(intent));
+                        } else if (command.equals("start")) {
+                            startRecognition(getModelUuidFromIntent(intent));
+                        } else if (command.equals("stop")) {
+                            stopRecognition(getModelUuidFromIntent(intent));
+                        } else if (command.equals("play_trigger")) {
+                            playTriggerAudio(getModelUuidFromIntent(intent));
+                        } else if (command.equals("play_captured")) {
+                            playCapturedAudio(getModelUuidFromIntent(intent));
+                        } else if (command.equals("set_capture")) {
+                            setCaptureAudio(getModelUuidFromIntent(intent),
+                                    intent.getBooleanExtra("enabled", true));
+                        } else if (command.equals("set_capture_timeout")) {
+                            setCaptureAudioTimeout(getModelUuidFromIntent(intent),
+                                    intent.getIntExtra("timeout", 5000));
+                        } else {
+                            Log.e(TAG, "Unknown command '" + command + "'");
+                        }
+                    } catch (Exception e) {
+                        Log.e(TAG, "Failed to process " + command, e);
+                    }
+                }
+            }
+        }
+    };
+
+    private UUID getModelUuidFromIntent(Intent intent) {
+        // First, see if the specified the UUID straight up.
+        String value = intent.getStringExtra("modelUuid");
+        if (value != null) {
+            return UUID.fromString(value);
+        }
+
+        // If they specified a name, use that to iterate through the map of models and find it.
+        value = intent.getStringExtra("name");
+        if (value != null) {
+            for (ModelInfo modelInfo : mModelInfoMap.values()) {
+                if (value.equals(modelInfo.name)) {
+                    return modelInfo.modelUuid;
+                }
+            }
+            Log.e(TAG, "Failed to find a matching model with name '" + value + "'");
+        }
+
+        // We couldn't figure out what they were asking for.
+        throw new RuntimeException("Failed to get model from intent - specify either " +
+                "'modelUuid' or 'name'");
+    }
+
+    /**
+     * Will be called when the service is killed (through swipe aways, not if we're force killed).
+     */
+    @Override
+    public void onTaskRemoved(Intent rootIntent) {
+        super.onTaskRemoved(rootIntent);
+        stopAllRecognitions();
+        stopSelf();
+    }
+
+    @Override
+    public synchronized IBinder onBind(Intent intent) {
+        return mBinder;
+    }
+
+    public class SoundTriggerTestBinder extends Binder {
+        SoundTriggerTestService getService() {
+            // Return instance of our parent so clients can call public methods.
+            return SoundTriggerTestService.this;
+        }
+    }
+
+    public synchronized void setUserActivity(UserActivity activity) {
+        mUserActivity = activity;
+        if (mUserActivity != null) {
+            for (Map.Entry<UUID, ModelInfo> entry : mModelInfoMap.entrySet()) {
+                mUserActivity.addModel(entry.getKey(), entry.getValue().name);
+                mUserActivity.setModelState(entry.getKey(), entry.getValue().state);
+            }
+        }
+    }
+
+    private synchronized void stopAllRecognitions() {
+        for (ModelInfo modelInfo : mModelInfoMap.values()) {
+            if (modelInfo.detector != null) {
+                Log.i(TAG, "Stopping recognition for " + modelInfo.name);
+                try {
+                    modelInfo.detector.stopRecognition();
+                } catch (Exception e) {
+                    Log.e(TAG, "Failed to stop recognition", e);
+                }
+            }
+        }
+    }
+
+    // Helper struct for holding information about a model.
+    public static class ModelInfo {
+        public String name;
+        public String state;
+        public UUID modelUuid;
+        public UUID vendorUuid;
+        public MediaPlayer triggerAudioPlayer;
+        public SoundTriggerDetector detector;
+        public byte modelData[];
+        public boolean captureAudio;
+        public int captureAudioMs;
+        public AudioTrack captureAudioTrack;
+    }
+
+    private GenericSoundModel createNewSoundModel(ModelInfo modelInfo) {
+        return new GenericSoundModel(modelInfo.modelUuid, modelInfo.vendorUuid,
+                modelInfo.modelData);
+    }
+
+    public synchronized void loadModel(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+
+        postMessage("Loading model: " + modelInfo.name);
+
+        GenericSoundModel soundModel = createNewSoundModel(modelInfo);
+
+        boolean status = mSoundTriggerUtil.addOrUpdateSoundModel(soundModel);
+        if (status) {
+            postToast("Successfully loaded " + modelInfo.name + ", UUID=" + soundModel.uuid);
+            setModelState(modelInfo, "Loaded");
+        } else {
+            postErrorToast("Failed to load " + modelInfo.name + ", UUID=" + soundModel.uuid + "!");
+            setModelState(modelInfo, "Failed to load");
+        }
+    }
+
+    public synchronized void unloadModel(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+
+        postMessage("Unloading model: " + modelInfo.name);
+
+        GenericSoundModel soundModel = mSoundTriggerUtil.getSoundModel(modelUuid);
+        if (soundModel == null) {
+            postErrorToast("Sound model not found for " + modelInfo.name + "!");
+            return;
+        }
+        modelInfo.detector = null;
+        boolean status = mSoundTriggerUtil.deleteSoundModel(modelUuid);
+        if (status) {
+            postToast("Successfully unloaded " + modelInfo.name + ", UUID=" + soundModel.uuid);
+            setModelState(modelInfo, "Unloaded");
+        } else {
+            postErrorToast("Failed to unload " +
+                    modelInfo.name + ", UUID=" + soundModel.uuid + "!");
+            setModelState(modelInfo, "Failed to unload");
+        }
+    }
+
+    public synchronized void reloadModel(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+        postMessage("Reloading model: " + modelInfo.name);
+        GenericSoundModel soundModel = mSoundTriggerUtil.getSoundModel(modelUuid);
+        if (soundModel == null) {
+            postErrorToast("Sound model not found for " + modelInfo.name + "!");
+            return;
+        }
+        GenericSoundModel updated = createNewSoundModel(modelInfo);
+        boolean status = mSoundTriggerUtil.addOrUpdateSoundModel(updated);
+        if (status) {
+            postToast("Successfully reloaded " + modelInfo.name + ", UUID=" + modelInfo.modelUuid);
+            setModelState(modelInfo, "Reloaded");
+        } else {
+            postErrorToast("Failed to reload "
+                    + modelInfo.name + ", UUID=" + modelInfo.modelUuid + "!");
+            setModelState(modelInfo, "Failed to reload");
+        }
+    }
+
+    public synchronized void startRecognition(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+
+        if (modelInfo.detector == null) {
+            postMessage("Creating SoundTriggerDetector for " + modelInfo.name);
+            modelInfo.detector = mSoundTriggerUtil.createSoundTriggerDetector(
+                    modelUuid, new DetectorCallback(modelInfo));
+        }
+
+        postMessage("Starting recognition for " + modelInfo.name + ", UUID=" + modelInfo.modelUuid);
+        if (modelInfo.detector.startRecognition(modelInfo.captureAudio ?
+                SoundTriggerDetector.RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO :
+                SoundTriggerDetector.RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS)) {
+            setModelState(modelInfo, "Started");
+        } else {
+            postErrorToast("Fast failure attempting to start recognition for " +
+                    modelInfo.name + ", UUID=" + modelInfo.modelUuid);
+            setModelState(modelInfo, "Failed to start");
+        }
+    }
+
+    public synchronized void stopRecognition(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+
+        if (modelInfo.detector == null) {
+            postErrorToast("Stop called on null detector for " +
+                    modelInfo.name + ", UUID=" + modelInfo.modelUuid);
+            return;
+        }
+        postMessage("Triggering stop recognition for " +
+                modelInfo.name + ", UUID=" + modelInfo.modelUuid);
+        if (modelInfo.detector.stopRecognition()) {
+            setModelState(modelInfo, "Stopped");
+        } else {
+            postErrorToast("Fast failure attempting to stop recognition for " +
+                    modelInfo.name + ", UUID=" + modelInfo.modelUuid);
+            setModelState(modelInfo, "Failed to stop");
+        }
+    }
+
+    public synchronized void playTriggerAudio(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+        if (modelInfo.triggerAudioPlayer != null) {
+            postMessage("Playing trigger audio for " + modelInfo.name);
+            modelInfo.triggerAudioPlayer.start();
+        } else {
+            postMessage("No trigger audio for " + modelInfo.name);
+        }
+    }
+
+    public synchronized void playCapturedAudio(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+        if (modelInfo.captureAudioTrack != null) {
+            postMessage("Playing captured audio for " + modelInfo.name);
+            modelInfo.captureAudioTrack.stop();
+            modelInfo.captureAudioTrack.reloadStaticData();
+            modelInfo.captureAudioTrack.play();
+        } else {
+            postMessage("No captured audio for " + modelInfo.name);
+        }
+    }
+
+    public synchronized void setCaptureAudioTimeout(UUID modelUuid, int captureTimeoutMs) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+        modelInfo.captureAudioMs = captureTimeoutMs;
+        Log.i(TAG, "Set " + modelInfo.name + " capture audio timeout to " +
+                captureTimeoutMs + "ms");
+    }
+
+    public synchronized void setCaptureAudio(UUID modelUuid, boolean captureAudio) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        if (modelInfo == null) {
+            postError("Could not find model for: " + modelUuid.toString());
+            return;
+        }
+        modelInfo.captureAudio = captureAudio;
+        Log.i(TAG, "Set " + modelInfo.name + " capture audio to " + captureAudio);
+    }
+
+    public synchronized boolean hasMicrophonePermission() {
+        return getBaseContext().checkSelfPermission(Manifest.permission.RECORD_AUDIO)
+                == PackageManager.PERMISSION_GRANTED;
+    }
+
+    public synchronized boolean modelHasTriggerAudio(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        return modelInfo != null && modelInfo.triggerAudioPlayer != null;
+    }
+
+    public synchronized boolean modelWillCaptureTriggerAudio(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        return modelInfo != null && modelInfo.captureAudio;
+    }
+
+    public synchronized boolean modelHasCapturedAudio(UUID modelUuid) {
+        ModelInfo modelInfo = mModelInfoMap.get(modelUuid);
+        return modelInfo != null && modelInfo.captureAudioTrack != null;
+    }
+
+    private void loadModelsInDataDir() {
+        // Load all the models in the data dir.
+        boolean loadedModel = false;
+        for (File file : getFilesDir().listFiles()) {
+            // Find meta-data in .properties files, ignore everything else.
+            if (!file.getName().endsWith(".properties")) {
+                continue;
+            }
+            try {
+                Properties properties = new Properties();
+                properties.load(new FileInputStream(file));
+                createModelInfo(properties);
+                loadedModel = true;
+            } catch (Exception e) {
+                Log.e(TAG, "Failed to load properties file " + file.getName());
+            }
+        }
+
+        // Create a few dummy models if we didn't load anything.
+        if (!loadedModel) {
+            Properties dummyModelProperties = new Properties();
+            for (String name : new String[]{"1", "2", "3"}) {
+                dummyModelProperties.setProperty("name", "Model " + name);
+                createModelInfo(dummyModelProperties);
+            }
+        }
+    }
+
+    /** Parses a Properties collection to generate a sound model.
+     *
+     * Missing keys are filled in with default/random values.
+     * @param properties Has the required 'name' property, but the remaining 'modelUuid',
+     *                   'vendorUuid', 'triggerAudio', and 'dataFile' optional properties.
+     *
+     */
+    private synchronized void createModelInfo(Properties properties) {
+        try {
+            ModelInfo modelInfo = new ModelInfo();
+
+            if (!properties.containsKey("name")) {
+                throw new RuntimeException("must have a 'name' property");
+            }
+            modelInfo.name = properties.getProperty("name");
+
+            if (properties.containsKey("modelUuid")) {
+                modelInfo.modelUuid = UUID.fromString(properties.getProperty("modelUuid"));
+            } else {
+                modelInfo.modelUuid = UUID.randomUUID();
+            }
+
+            if (properties.containsKey("vendorUuid")) {
+                modelInfo.vendorUuid = UUID.fromString(properties.getProperty("vendorUuid"));
+            } else {
+                modelInfo.vendorUuid = UUID.randomUUID();
+            }
+
+            if (properties.containsKey("triggerAudio")) {
+                modelInfo.triggerAudioPlayer = MediaPlayer.create(this, Uri.parse(
+                        getFilesDir().getPath() + "/" + properties.getProperty("triggerAudio")));
+                if (modelInfo.triggerAudioPlayer.getDuration() == 0) {
+                    modelInfo.triggerAudioPlayer.release();
+                    modelInfo.triggerAudioPlayer = null;
+                }
+            }
+
+            if (properties.containsKey("dataFile")) {
+                File modelDataFile = new File(
+                        getFilesDir().getPath() + "/" + properties.getProperty("dataFile"));
+                modelInfo.modelData = new byte[(int) modelDataFile.length()];
+                FileInputStream input = new FileInputStream(modelDataFile);
+                input.read(modelInfo.modelData, 0, modelInfo.modelData.length);
+            } else {
+                modelInfo.modelData = new byte[1024];
+                mRandom.nextBytes(modelInfo.modelData);
+            }
+
+            modelInfo.captureAudioMs = Integer.parseInt((String) properties.getOrDefault(
+                    "captureAudioDurationMs", "5000"));
+
+            // TODO: Add property support for keyphrase models when they're exposed by the
+            // service.
+
+            // Update our maps containing the button -> id and id -> modelInfo.
+            mModelInfoMap.put(modelInfo.modelUuid, modelInfo);
+            if (mUserActivity != null) {
+                mUserActivity.addModel(modelInfo.modelUuid, modelInfo.name);
+                mUserActivity.setModelState(modelInfo.modelUuid, modelInfo.state);
+            }
+        } catch (IOException e) {
+            Log.e(TAG, "Error parsing properties for " + properties.getProperty("name"), e);
+        }
+    }
+
+    private class CaptureAudioRecorder implements Runnable {
+        private final ModelInfo mModelInfo;
+        private final SoundTriggerDetector.EventPayload mEvent;
+
+        public CaptureAudioRecorder(ModelInfo modelInfo, SoundTriggerDetector.EventPayload event) {
+            mModelInfo = modelInfo;
+            mEvent = event;
+        }
+
+        @Override
+        public void run() {
+            AudioFormat format = mEvent.getCaptureAudioFormat();
+            if (format == null) {
+                postErrorToast("No audio format in recognition event.");
+                return;
+            }
+
+            AudioRecord audioRecord = null;
+            AudioTrack playbackTrack = null;
+            try {
+                // Inform the audio flinger that we really do want the stream from the soundtrigger.
+                AudioAttributes.Builder attributesBuilder = new AudioAttributes.Builder();
+                attributesBuilder.setInternalCapturePreset(1999);
+                AudioAttributes attributes = attributesBuilder.build();
+
+                // Make sure we understand this kind of playback so we know how many bytes to read.
+                String encoding;
+                int bytesPerSample;
+                switch (format.getEncoding()) {
+                    case AudioFormat.ENCODING_PCM_8BIT:
+                        encoding = "8bit";
+                        bytesPerSample = 1;
+                        break;
+                    case AudioFormat.ENCODING_PCM_16BIT:
+                        encoding = "16bit";
+                        bytesPerSample = 2;
+                        break;
+                    case AudioFormat.ENCODING_PCM_FLOAT:
+                        encoding = "float";
+                        bytesPerSample = 4;
+                        break;
+                    default:
+                        throw new RuntimeException("Unhandled audio format in event");
+                }
+
+                int bytesRequired = format.getSampleRate() * format.getChannelCount() *
+                        bytesPerSample * mModelInfo.captureAudioMs / 1000;
+                int minBufferSize = AudioRecord.getMinBufferSize(
+                        format.getSampleRate(), format.getChannelMask(), format.getEncoding());
+                if (minBufferSize > bytesRequired) {
+                    bytesRequired = minBufferSize;
+                }
+
+                // Make an AudioTrack so we can play the data back out after it's finished
+                // recording.
+                try {
+                    int channelConfig = AudioFormat.CHANNEL_OUT_MONO;
+                    if (format.getChannelCount() == 2) {
+                        channelConfig = AudioFormat.CHANNEL_OUT_STEREO;
+                    } else if (format.getChannelCount() >= 3) {
+                        throw new RuntimeException(
+                                "Too many channels in captured audio for playback");
+                    }
+
+                    playbackTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
+                            format.getSampleRate(), channelConfig, format.getEncoding(),
+                            bytesRequired, AudioTrack.MODE_STATIC);
+                } catch (Exception e) {
+                    Log.e(TAG, "Exception creating playback track", e);
+                    postErrorToast("Failed to create playback track: " + e.getMessage());
+                }
+
+                audioRecord = new AudioRecord(attributes, format, bytesRequired,
+                        mEvent.getCaptureSession());
+
+                byte[] buffer = new byte[bytesRequired];
+
+                // Create a file so we can save the output data there for analysis later.
+                FileOutputStream fos  = null;
+                try {
+                    fos = new FileOutputStream( new File(
+                            getFilesDir() + File.separator + mModelInfo.name.replace(' ', '_') +
+                                    "_capture_" + format.getChannelCount() + "ch_" +
+                                    format.getSampleRate() + "hz_" + encoding + ".pcm"));
+                } catch (IOException e) {
+                    Log.e(TAG, "Failed to open output for saving PCM data", e);
+                    postErrorToast("Failed to open output for saving PCM data: " + e.getMessage());
+                }
+
+                // Inform the user we're recording.
+                setModelState(mModelInfo, "Recording");
+                audioRecord.startRecording();
+                while (bytesRequired > 0) {
+                    int bytesRead = audioRecord.read(buffer, 0, buffer.length);
+                    if (bytesRead == -1) {
+                        break;
+                    }
+                    if (fos != null) {
+                        fos.write(buffer, 0, bytesRead);
+                    }
+                    if (playbackTrack != null) {
+                        playbackTrack.write(buffer, 0, bytesRead);
+                    }
+                    bytesRequired -= bytesRead;
+                }
+                audioRecord.stop();
+            } catch (Exception e) {
+                Log.e(TAG, "Error recording trigger audio", e);
+                postErrorToast("Error recording trigger audio: " + e.getMessage());
+            } finally {
+                if (audioRecord != null) {
+                    audioRecord.release();
+                }
+                synchronized (SoundTriggerTestService.this) {
+                    if (mModelInfo.captureAudioTrack != null) {
+                        mModelInfo.captureAudioTrack.release();
+                    }
+                    mModelInfo.captureAudioTrack = playbackTrack;
+                }
+                setModelState(mModelInfo, "Recording finished");
+            }
+        }
+    }
+
+    // Implementation of SoundTriggerDetector.Callback.
+    private class DetectorCallback extends SoundTriggerDetector.Callback {
+        private final ModelInfo mModelInfo;
+
+        public DetectorCallback(ModelInfo modelInfo) {
+            mModelInfo = modelInfo;
+        }
+
+        public void onAvailabilityChanged(int status) {
+            postMessage(mModelInfo.name + "Availability changed to: " + status);
+        }
+
+        public void onDetected(SoundTriggerDetector.EventPayload event) {
+            postMessage(mModelInfo.name + "onDetected(): " + eventPayloadToString(event));
+            synchronized (SoundTriggerTestService.this) {
+                if (mUserActivity != null) {
+                    mUserActivity.handleDetection(mModelInfo.modelUuid);
+                }
+                if (mModelInfo.captureAudio) {
+                    new Thread(new CaptureAudioRecorder(mModelInfo, event)).start();
+                }
+            }
+        }
+
+        public void onError() {
+            postMessage(mModelInfo.name + "onError()");
+            setModelState(mModelInfo, "Error");
+        }
+
+        public void onRecognitionPaused() {
+            postMessage(mModelInfo.name + " onRecognitionPaused()");
+            setModelState(mModelInfo, "Paused");
+        }
+
+        public void onRecognitionResumed() {
+            postMessage(mModelInfo.name + "onRecognitionResumed()");
+            setModelState(mModelInfo, "Resumed");
+        }
+    }
+
+    private String eventPayloadToString(SoundTriggerDetector.EventPayload event) {
+        String result = "EventPayload(";
+        AudioFormat format =  event.getCaptureAudioFormat();
+        result = result + "AudioFormat: " + ((format == null) ? "null" : format.toString());
+        byte[] triggerAudio = event.getTriggerAudio();
+        result = result + "TriggerAudio: " + (triggerAudio == null ? "null" : triggerAudio.length);
+        result = result + "CaptureSession: " + event.getCaptureSession();
+        result += " )";
+        return result;
+    }
+
+    private void postMessage(String msg) {
+        showMessage(msg, Log.INFO, false);
+    }
+
+    private void postError(String msg) {
+        showMessage(msg, Log.ERROR, false);
+    }
+
+    private void postToast(String msg) {
+        showMessage(msg, Log.INFO, true);
+    }
+
+    private void postErrorToast(String msg) {
+        showMessage(msg, Log.ERROR, true);
+    }
+
+    /** Logs the message at the specified level, then forwards it to the activity if present. */
+    private synchronized void showMessage(String msg, int logLevel, boolean showToast) {
+        Log.println(logLevel, TAG, msg);
+        if (mUserActivity != null) {
+            mUserActivity.showMessage(msg, showToast);
+        }
+    }
+
+    private synchronized void setModelState(ModelInfo modelInfo, String state) {
+        modelInfo.state = state;
+        if (mUserActivity != null) {
+            mUserActivity.setModelState(modelInfo.modelUuid, modelInfo.state);
+        }
+    }
+}
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerUtil.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerUtil.java
index 1c95c25..8e5ed32 100644
--- a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerUtil.java
+++ b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerUtil.java
@@ -18,7 +18,6 @@
 
 import android.annotation.Nullable;
 import android.content.Context;
-import android.hardware.soundtrigger.SoundTrigger;
 import android.hardware.soundtrigger.SoundTrigger.GenericSoundModel;
 import android.media.soundtrigger.SoundTriggerDetector;
 import android.media.soundtrigger.SoundTriggerManager;
@@ -36,7 +35,7 @@
  * Utility class for the managing sound trigger sound models.
  */
 public class SoundTriggerUtil {
-    private static final String TAG = "TestSoundTriggerUtil:Hotsound";
+    private static final String TAG = "SoundTriggerTestUtil";
 
     private final ISoundTriggerService mSoundTriggerService;
     private final SoundTriggerManager mSoundTriggerManager;
@@ -68,10 +67,6 @@
         return true;
     }
 
-    public void addOrUpdateSoundModel(SoundTriggerManager.Model soundModel) {
-        mSoundTriggerManager.updateModel(soundModel);
-    }
-
     /**
      * Gets the sound model for the given keyphrase, null if none exists.
      * If a sound model for a given keyphrase exists, and it needs to be updated,
@@ -91,7 +86,7 @@
         }
 
         if (model == null) {
-            Log.w(TAG, "No models present for the gien keyphrase ID");
+            Log.w(TAG, "No models present for the given keyphrase ID");
             return null;
         } else {
             return model;
@@ -109,18 +104,14 @@
         try {
             mSoundTriggerService.deleteSoundModel(new ParcelUuid(modelId));
         } catch (RemoteException e) {
-            Log.e(TAG, "RemoteException in updateSoundModel");
+            Log.e(TAG, "RemoteException in deleteSoundModel");
+            return false;
         }
         return true;
     }
 
-    public void deleteSoundModelUsingManager(UUID modelId) {
-            mSoundTriggerManager.deleteModel(modelId);
-    }
-
     public SoundTriggerDetector createSoundTriggerDetector(UUID modelId,
             SoundTriggerDetector.Callback callback) {
         return mSoundTriggerManager.createSoundTriggerDetector(modelId, callback, null);
     }
-
 }
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/TestSoundTriggerActivity.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/TestSoundTriggerActivity.java
deleted file mode 100644
index 5fd38e9..0000000
--- a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/TestSoundTriggerActivity.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.test.soundtrigger;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Random;
-import java.util.UUID;
-
-import android.app.Activity;
-import android.hardware.soundtrigger.SoundTrigger.GenericSoundModel;
-import android.hardware.soundtrigger.SoundTrigger;
-import android.media.AudioFormat;
-import android.media.AudioManager;
-import android.media.MediaPlayer;
-import android.media.soundtrigger.SoundTriggerDetector;
-import android.media.soundtrigger.SoundTriggerManager;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.PowerManager;
-import android.os.UserManager;
-import android.text.Editable;
-import android.text.method.ScrollingMovementMethod;
-import android.util.Log;
-import android.view.View;
-import android.widget.Button;
-import android.widget.RadioButton;
-import android.widget.RadioButton;
-import android.widget.RadioGroup;
-import android.widget.ScrollView;
-import android.widget.TextView;
-import android.widget.Toast;
-
-public class TestSoundTriggerActivity extends Activity {
-    private static final String TAG = "TestSoundTriggerActivity";
-    private static final boolean DBG = false;
-
-    private SoundTriggerUtil mSoundTriggerUtil;
-    private Random mRandom;
-
-    private Map<Integer, ModelInfo> mModelInfoMap;
-    private Map<View, Integer> mModelIdMap;
-
-    private TextView mDebugView = null;
-    private int mSelectedModelId = -1;
-    private ScrollView mScrollView = null;
-    private Button mPlayTriggerButton = null;
-    private PowerManager.WakeLock mScreenWakelock;
-    private Handler mHandler;
-    private RadioGroup mRadioGroup;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        if (DBG) Log.d(TAG, "onCreate");
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.main);
-        mDebugView = (TextView) findViewById(R.id.console);
-        mScrollView = (ScrollView) findViewById(R.id.scroller_id);
-        mRadioGroup = (RadioGroup) findViewById(R.id.model_group_id);
-        mPlayTriggerButton = (Button) findViewById(R.id.play_trigger_id);
-        mDebugView.setText(mDebugView.getText(), TextView.BufferType.EDITABLE);
-        mDebugView.setMovementMethod(new ScrollingMovementMethod());
-        mSoundTriggerUtil = new SoundTriggerUtil(this);
-        mRandom = new Random();
-        mHandler = new Handler();
-
-        mModelInfoMap = new HashMap();
-        mModelIdMap = new HashMap();
-
-        setVolumeControlStream(AudioManager.STREAM_MUSIC);
-
-        // Load all the models in the data dir.
-        for (File file : getFilesDir().listFiles()) {
-            // Find meta-data in .properties files, ignore everything else.
-            if (!file.getName().endsWith(".properties")) {
-                continue;
-            }
-            try {
-                Properties properties = new Properties();
-                properties.load(new FileInputStream(file));
-                createModelInfoAndWidget(properties);
-            } catch (Exception e) {
-                Log.e(TAG, "Failed to load properties file " + file.getName());
-            }
-        }
-
-        // Create a few dummy models if we didn't load anything.
-        if (mModelIdMap.isEmpty()) {
-            Properties dummyModelProperties = new Properties();
-            for (String name : new String[]{"One", "Two", "Three"}) {
-                dummyModelProperties.setProperty("name", "Model " + name);
-                createModelInfoAndWidget(dummyModelProperties);
-            }
-        }
-    }
-
-    private void createModelInfoAndWidget(Properties properties) {
-        try {
-            ModelInfo modelInfo = new ModelInfo();
-
-            if (!properties.containsKey("name")) {
-                throw new RuntimeException("must have a 'name' property");
-            }
-            modelInfo.name = properties.getProperty("name");
-
-            if (properties.containsKey("modelUuid")) {
-                modelInfo.modelUuid = UUID.fromString(properties.getProperty("modelUuid"));
-            } else {
-                modelInfo.modelUuid = UUID.randomUUID();
-            }
-
-            if (properties.containsKey("vendorUuid")) {
-                modelInfo.vendorUuid = UUID.fromString(properties.getProperty("vendorUuid"));
-            } else {
-                modelInfo.vendorUuid = UUID.randomUUID();
-            }
-
-            if (properties.containsKey("triggerAudio")) {
-                modelInfo.triggerAudioPlayer = MediaPlayer.create(this, Uri.parse(
-                        getFilesDir().getPath() + "/" + properties.getProperty("triggerAudio")));
-            }
-
-            if (properties.containsKey("dataFile")) {
-                File modelDataFile = new File(
-                        getFilesDir().getPath() + "/" + properties.getProperty("dataFile"));
-                modelInfo.modelData = new byte[(int) modelDataFile.length()];
-                FileInputStream input = new FileInputStream(modelDataFile);
-                input.read(modelInfo.modelData, 0, modelInfo.modelData.length);
-            } else {
-                modelInfo.modelData = new byte[1024];
-                mRandom.nextBytes(modelInfo.modelData);
-            }
-
-            // TODO: Add property support for keyphrase models when they're exposed by the
-            // service. Also things like how much audio they should record with the capture session
-            // provided in the callback.
-
-            // Add a widget into the radio group.
-            RadioButton button = new RadioButton(this);
-            mRadioGroup.addView(button);
-            button.setText(modelInfo.name);
-            button.setOnClickListener(new View.OnClickListener() {
-                public void onClick(View v) {
-                    onRadioButtonClicked(v);
-                }
-            });
-
-            // Update our maps containing the button -> id and id -> modelInfo.
-            int newModelId = mModelIdMap.size() + 1;
-            mModelIdMap.put(button, newModelId);
-            mModelInfoMap.put(newModelId, modelInfo);
-
-            // If we don't have something selected, select this first thing.
-            if (mSelectedModelId < 0) {
-                button.setChecked(true);
-                onRadioButtonClicked(button);
-            }
-        } catch (IOException e) {
-            Log.e(TAG, "Error parsing properties for " + properties.getProperty("name"), e);
-        }
-    }
-
-    private void postMessage(String msg) {
-        Log.i(TAG, "Posted: " + msg);
-        ((Editable) mDebugView.getText()).append(msg + "\n");
-        if ((mDebugView.getMeasuredHeight() - mScrollView.getScrollY()) <=
-                (mScrollView.getHeight() + mDebugView.getLineHeight())) {
-            scrollToBottom();
-        }
-    }
-
-    private void scrollToBottom() {
-        mScrollView.post(new Runnable() {
-            public void run() {
-                mScrollView.smoothScrollTo(0, mDebugView.getBottom());
-            }
-        });
-    }
-
-    private synchronized UUID getSelectedUuid() {
-        return mModelInfoMap.get(mSelectedModelId).modelUuid;
-    }
-
-    private synchronized void setDetector(SoundTriggerDetector detector) {
-        mModelInfoMap.get(mSelectedModelId).detector = detector;
-    }
-
-    private synchronized SoundTriggerDetector getDetector() {
-        return mModelInfoMap.get(mSelectedModelId).detector;
-    }
-
-    private void screenWakeup() {
-        PowerManager pm = ((PowerManager)getSystemService(POWER_SERVICE));
-        if (mScreenWakelock == null) {
-            mScreenWakelock =  pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
-        }
-        mScreenWakelock.acquire();
-    }
-
-    private void screenRelease() {
-        PowerManager pm = ((PowerManager)getSystemService(POWER_SERVICE));
-        mScreenWakelock.release();
-    }
-
-    /** TODO: Should return the abstract sound model that can be then sent to the service. */
-    private GenericSoundModel createNewSoundModel() {
-        ModelInfo modelInfo = mModelInfoMap.get(mSelectedModelId);
-        return new GenericSoundModel(modelInfo.modelUuid, modelInfo.vendorUuid,
-                modelInfo.modelData);
-    }
-
-    /**
-     * Called when the user clicks the enroll button.
-     * Performs a fresh enrollment.
-     */
-    public void onEnrollButtonClicked(View v) {
-        postMessage("Loading model: " + mSelectedModelId);
-
-        GenericSoundModel model = createNewSoundModel();
-
-        boolean status = mSoundTriggerUtil.addOrUpdateSoundModel(model);
-        if (status) {
-            Toast.makeText(
-                    this, "Successfully created sound trigger model UUID=" + model.uuid,
-                    Toast.LENGTH_SHORT).show();
-        } else {
-            Toast.makeText(this, "Failed to enroll!!!" + model.uuid, Toast.LENGTH_SHORT).show();
-        }
-
-        // Test the SoundManager API.
-    }
-
-    /**
-     * Called when the user clicks the un-enroll button.
-     * Clears the enrollment information for the user.
-     */
-    public void onUnEnrollButtonClicked(View v) {
-        postMessage("Unloading model: " + mSelectedModelId);
-        UUID modelUuid = getSelectedUuid();
-        GenericSoundModel soundModel = mSoundTriggerUtil.getSoundModel(modelUuid);
-        if (soundModel == null) {
-            Toast.makeText(this, "Sound model not found!!!", Toast.LENGTH_SHORT).show();
-            return;
-        }
-        boolean status = mSoundTriggerUtil.deleteSoundModel(modelUuid);
-        if (status) {
-            Toast.makeText(this, "Successfully deleted model UUID=" + soundModel.uuid,
-                    Toast.LENGTH_SHORT)
-                    .show();
-        } else {
-            Toast.makeText(this, "Failed to delete sound model!!!", Toast.LENGTH_SHORT).show();
-        }
-    }
-
-    /**
-     * Called when the user clicks the re-enroll button.
-     * Uses the previously enrolled sound model and makes changes to it before pushing it back.
-     */
-    public void onReEnrollButtonClicked(View v) {
-        postMessage("Re-loading model: " + mSelectedModelId);
-        UUID modelUuid = getSelectedUuid();
-        GenericSoundModel soundModel = mSoundTriggerUtil.getSoundModel(modelUuid);
-        if (soundModel == null) {
-            Toast.makeText(this, "Sound model not found!!!", Toast.LENGTH_SHORT).show();
-            return;
-        }
-        GenericSoundModel updated = createNewSoundModel();
-        boolean status = mSoundTriggerUtil.addOrUpdateSoundModel(updated);
-        if (status) {
-            Toast.makeText(this, "Successfully re-enrolled, model UUID=" + updated.uuid,
-                    Toast.LENGTH_SHORT)
-                    .show();
-        } else {
-            Toast.makeText(this, "Failed to re-enroll!!!", Toast.LENGTH_SHORT).show();
-        }
-    }
-
-    public void onStartRecognitionButtonClicked(View v) {
-        UUID modelUuid = getSelectedUuid();
-        SoundTriggerDetector detector = getDetector();
-        if (detector == null) {
-            Log.i(TAG, "Created an instance of the SoundTriggerDetector for model #" +
-                    mSelectedModelId);
-            postMessage("Created an instance of the SoundTriggerDetector for model #" +
-                    mSelectedModelId);
-            detector = mSoundTriggerUtil.createSoundTriggerDetector(modelUuid,
-                    new DetectorCallback());
-            setDetector(detector);
-        }
-        postMessage("Triggering start recognition for model: " + mSelectedModelId);
-        if (!detector.startRecognition(
-                SoundTriggerDetector.RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS)) {
-            Log.e(TAG, "Fast failure attempting to start recognition.");
-            postMessage("Fast failure attempting to start recognition:" + mSelectedModelId);
-        }
-    }
-
-    public void onStopRecognitionButtonClicked(View v) {
-        SoundTriggerDetector detector = getDetector();
-        if (detector == null) {
-            Log.e(TAG, "Stop called on null detector.");
-            postMessage("Error: Stop called on null detector.");
-            return;
-        }
-        postMessage("Triggering stop recognition for model: " + mSelectedModelId);
-        if (!detector.stopRecognition()) {
-            Log.e(TAG, "Fast failure attempting to stop recognition.");
-            postMessage("Fast failure attempting to stop recognition: " + mSelectedModelId);
-        }
-    }
-
-    public synchronized void onRadioButtonClicked(View view) {
-        // Is the button now checked?
-        boolean checked = ((RadioButton) view).isChecked();
-        if (checked) {
-            mSelectedModelId = mModelIdMap.get(view);
-            ModelInfo modelInfo = mModelInfoMap.get(mSelectedModelId);
-            postMessage("Selected " + modelInfo.name);
-
-            // Set the play trigger button to be enabled only if we actually have some audio.
-            mPlayTriggerButton.setEnabled(modelInfo.triggerAudioPlayer != null);
-        }
-    }
-
-    public synchronized void onPlayTriggerButtonClicked(View v) {
-        ModelInfo modelInfo = mModelInfoMap.get(mSelectedModelId);
-        modelInfo.triggerAudioPlayer.start();
-        postMessage("Playing trigger audio for " + modelInfo.name);
-    }
-
-    // Helper struct for holding information about a model.
-    private static class ModelInfo {
-      public String name;
-      public UUID modelUuid;
-      public UUID vendorUuid;
-      public MediaPlayer triggerAudioPlayer;
-      public SoundTriggerDetector detector;
-      public byte modelData[];
-    };
-
-    // Implementation of SoundTriggerDetector.Callback.
-    public class DetectorCallback extends SoundTriggerDetector.Callback {
-        public void onAvailabilityChanged(int status) {
-            postMessage("Availability changed to: " + status);
-        }
-
-        public void onDetected(SoundTriggerDetector.EventPayload event) {
-            postMessage("onDetected(): " + eventPayloadToString(event));
-            screenWakeup();
-            mHandler.postDelayed(new Runnable() {
-                @Override
-                public void run() {
-                   screenRelease();
-                }
-            }, 1000L);
-        }
-
-        public void onError() {
-            postMessage("onError()");
-        }
-
-        public void onRecognitionPaused() {
-            postMessage("onRecognitionPaused()");
-        }
-
-        public void onRecognitionResumed() {
-            postMessage("onRecognitionResumed()");
-        }
-    }
-
-    private String eventPayloadToString(SoundTriggerDetector.EventPayload event) {
-        String result = "EventPayload(";
-        AudioFormat format =  event.getCaptureAudioFormat();
-        result = result + "AudioFormat: " + ((format == null) ? "null" : format.toString());
-        byte[] triggerAudio = event.getTriggerAudio();
-        result = result + "TriggerAudio: " + (triggerAudio == null ? "null" : triggerAudio.length);
-        result = result + "CaptureSession: " + event.getCaptureSession();
-        result += " )";
-        return result;
-    }
-}
diff --git a/tests/UiBench/src/com/android/test/uibench/MainActivity.java b/tests/UiBench/src/com/android/test/uibench/MainActivity.java
index 2111274..79837b6 100644
--- a/tests/UiBench/src/com/android/test/uibench/MainActivity.java
+++ b/tests/UiBench/src/com/android/test/uibench/MainActivity.java
@@ -38,6 +38,23 @@
     private static final String EXTRA_PATH = "activity_path";
     private static final String CATEGORY_HWUI_TEST = "com.android.test.uibench.TEST";
 
+    public static class TestListFragment extends ListFragment {
+        @Override
+        @SuppressWarnings("unchecked")
+        public void onListItemClick(ListView l, View v, int position, long id) {
+            Map<String, Object> map = (Map<String, Object>)l.getItemAtPosition(position);
+
+            Intent intent = (Intent) map.get("intent");
+            startActivity(intent);
+        }
+
+        @Override
+        public void onViewCreated(View view, Bundle savedInstanceState) {
+            super.onViewCreated(view, savedInstanceState);
+            getListView().setTextFilterEnabled(true);
+        }
+    }
+
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -54,22 +71,7 @@
 
         FragmentManager fm = getSupportFragmentManager();
         if (fm.findFragmentById(android.R.id.content) == null) {
-            ListFragment listFragment = new ListFragment() {
-                @Override
-                @SuppressWarnings("unchecked")
-                public void onListItemClick(ListView l, View v, int position, long id) {
-                    Map<String, Object> map = (Map<String, Object>)l.getItemAtPosition(position);
-
-                    Intent intent = (Intent) map.get("intent");
-                    startActivity(intent);
-                }
-
-                @Override
-                public void onViewCreated(View view, Bundle savedInstanceState) {
-                    super.onViewCreated(view, savedInstanceState);
-                    getListView().setTextFilterEnabled(true);
-                }
-            };
+            ListFragment listFragment = new TestListFragment();
             listFragment.setListAdapter(new SimpleAdapter(this, getData(path),
                     android.R.layout.simple_list_item_1, new String[] { "title" },
                     new int[] { android.R.id.text1 }));
diff --git a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
index a726a15..063dd86 100644
--- a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
+++ b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
@@ -93,7 +93,7 @@
 
         try {
             mWm.addAppToken(0, null, 0, 0, 0, false, false, 0, 0, false, false, null,
-                    Configuration.EMPTY, 0, false, false, 0);
+                    Configuration.EMPTY, 0, false, false, 0, -1);
             fail("IWindowManager.addAppToken did not throw SecurityException as"
                     + " expected");
         } catch (SecurityException e) {
diff --git a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
index 04a59bc..4e4da8b 100644
--- a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
+++ b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
@@ -78,7 +78,8 @@
     @Override
     public void addAppToken(int arg0, IApplicationToken arg1, int arg2, int arg3, int arg4,
             boolean arg5, boolean arg6, int arg7, int arg8, boolean arg9, boolean arg10,
-            Rect arg11, Configuration arg12, int arg13, boolean arg14, boolean arg15, int arg16)
+            Rect arg11, Configuration arg12, int arg13, boolean arg14, boolean arg15, int arg16,
+            int arg17)
             throws RemoteException {
         // TODO Auto-generated method stub
     }
