diff --git a/android/native/jni/Android.mk b/android/native/jni/Android.mk index a1e9a5e969..d55f38d629 100644 --- a/android/native/jni/Android.mk +++ b/android/native/jni/Android.mk @@ -5,23 +5,23 @@ HAVE_LOGGER := 1 include $(CLEAR_VARS) ifeq ($(TARGET_ARCH),arm) -LOCAL_CFLAGS += -DANDROID_ARM -marm -LOCAL_ARM_MODE := arm + LOCAL_CFLAGS += -DANDROID_ARM -marm + LOCAL_ARM_MODE := arm endif ifeq ($(TARGET_ARCH),x86) -LOCAL_CFLAGS += -DANDROID_X86 -DHAVE_SSSE3 + LOCAL_CFLAGS += -DANDROID_X86 -DHAVE_SSSE3 endif ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) ifeq ($(HAVE_NEON),1) -LOCAL_CFLAGS += -DHAVE_NEON -LOCAL_SRC_FILES += ../../../audio/utils_neon.S.neon + LOCAL_CFLAGS += -DHAVE_NEON + LOCAL_SRC_FILES += ../../../audio/utils_neon.S.neon endif ifeq ($(HAVE_NEON),1) -LOCAL_SRC_FILES += ../../../audio/sinc_neon.S.neon + LOCAL_SRC_FILES += ../../../audio/sinc_neon.S.neon endif LOCAL_CFLAGS += -DSINC_LOWER_QUALITY @@ -30,21 +30,21 @@ endif ifeq ($(TARGET_ARCH),mips) -LOCAL_CFLAGS += -DANDROID_MIPS -D__mips__ -D__MIPSEL__ + LOCAL_CFLAGS += -DANDROID_MIPS -D__mips__ -D__MIPSEL__ endif -LOCAL_MODULE := retroarch-activity +LOCAL_MODULE := retroarch-activity RARCH_PATH := ../../.. LOCAL_SRC_FILES += $(RARCH_PATH)/griffin/griffin.c ifeq ($(HAVE_LOGGER), 1) -LOCAL_CFLAGS += -DHAVE_LOGGER -LOGGER_LDLIBS := -llog + LOCAL_CFLAGS += -DHAVE_LOGGER + LOGGER_LDLIBS := -llog endif ifeq ($(PERF_TEST), 1) -LOCAL_CFLAGS += -DPERF_TEST + LOCAL_CFLAGS += -DPERF_TEST endif LOCAL_CFLAGS += -Wall -pthread -Wno-unused-function -O3 -fno-stack-protector -funroll-loops -DNDEBUG -DRARCH_MOBILE -DHAVE_GRIFFIN -DANDROID -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_FBO -DHAVE_OVERLAY -DHAVE_OPENGLES -DHAVE_VID_CONTEXT -DHAVE_OPENGLES2 -DGLSL_DEBUG -DHAVE_GLSL -DHAVE_RGUI -DHAVE_SCREENSHOTS -DWANT_MINIZ -DHAVE_ZLIB -DINLINE=inline -DLSB_FIRST -DHAVE_THREADS -D__LIBRETRO__ -std=gnu99 -I../../../deps/miniz @@ -55,3 +55,4 @@ LOCAL_CFLAGS += -DHAVE_SL LOCAL_LDLIBS += -lOpenSLES include $(BUILD_SHARED_LIBRARY) + diff --git a/android/phoenix/jni/Android.mk b/android/phoenix/jni/Android.mk index e190b7f7d2..4d8ccce33b 100644 --- a/android/phoenix/jni/Android.mk +++ b/android/phoenix/jni/Android.mk @@ -1,12 +1,14 @@ LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_ARM_MODE := arm +LOCAL_MODULE := apk-extract +RARCH_DIR := $(LOCAL_PATH)/../../.. +LOCAL_CFLAGS += -std=gnu99 -Wall -DHAVE_LOGGER -DRARCH_DUMMY_LOG -DHAVE_ZLIB -DHAVE_MMAP -I$(RARCH_DIR) +LOCAL_LDLIBS := -llog -lz +LOCAL_SRC_FILES := apk-extract/apk-extract.c $(RARCH_DIR)/file_extract.c $(RARCH_DIR)/file_path.c $(RARCH_DIR)/compat/compat.c + +include $(BUILD_SHARED_LIBRARY) + include $(LOCAL_PATH)/../../native/jni/Android.mk -# Include all present sub-modules -FOCAL_PATH := $(LOCAL_PATH) - -define function -$(eval RETRO_MODULE_OBJECT := $(1)) -$(eval include $(FOCAL_PATH)/modules/Android.mk) -endef - -$(foreach m,$(wildcard $(FOCAL_PATH)/modules/*.so),$(eval $(call function,$(m)))) diff --git a/android/phoenix/jni/apk-extract/apk-extract.c b/android/phoenix/jni/apk-extract/apk-extract.c new file mode 100644 index 0000000000..6ccdb2f69c --- /dev/null +++ b/android/phoenix/jni/apk-extract/apk-extract.c @@ -0,0 +1,88 @@ +#include "file_extract.h" +#include "file.h" + +#include +#include "org_retroarch_browser_AssetExtractor.h" + +struct userdata +{ + const char *subdir; + const char *dest; +}; + +static bool zlib_cb(const char *name, const uint8_t *cdata, unsigned cmode, uint32_t csize, uint32_t size, + uint32_t crc32, void *userdata) +{ + struct userdata *user = userdata; + const char *subdir = user->subdir; + const char *dest = user->dest; + + if (strstr(name, subdir) != name) + return true; + + name += strlen(subdir) + 1; + + char path[PATH_MAX]; + char path_dir[PATH_MAX]; + fill_pathname_join(path, dest, name, sizeof(path)); + fill_pathname_basedir(path_dir, path, sizeof(path_dir)); + + if (!path_mkdir(path_dir)) + { + RARCH_ERR("Failed to create dir: %s.\n", path_dir); + return false; + } + + RARCH_LOG("Extracting %s -> %s ...\n", name, path); + + switch (cmode) + { + case 0: // Uncompressed + if (!write_file(path, cdata, size)) + { + RARCH_ERR("Failed to write file: %s.\n", path); + return false; + } + break; + + case 8: // Deflate + if (!zlib_inflate_data_to_file(path, cdata, csize, size, crc32)) + { + RARCH_ERR("Failed to deflate to: %s.\n", path); + return false; + } + break; + + default: + return false; + } + + return true; +} + +JNIEXPORT jboolean JNICALL Java_org_retroarch_browser_AssetExtractor_extractArchiveTo( + JNIEnv *env, jclass cls, jstring archive, jstring subdir, jstring dest) +{ + const char *archive_c = (*env)->GetStringUTFChars(env, archive, NULL); + const char *subdir_c = (*env)->GetStringUTFChars(env, subdir, NULL); + const char *dest_c = (*env)->GetStringUTFChars(env, dest, NULL); + + jboolean ret = JNI_TRUE; + + struct userdata data = { + .subdir = subdir_c, + .dest = dest_c, + }; + + if (!zlib_parse_file(archive_c, zlib_cb, &data)) + { + RARCH_ERR("Failed to parse APK: %s.\n", archive_c); + ret = JNI_FALSE; + } + + (*env)->ReleaseStringUTFChars(env, archive, archive_c); + (*env)->ReleaseStringUTFChars(env, subdir, subdir_c); + (*env)->ReleaseStringUTFChars(env, dest, dest_c); + return ret; +} + diff --git a/android/phoenix/jni/apk-extract/org_retroarch_browser_AssetExtractor.h b/android/phoenix/jni/apk-extract/org_retroarch_browser_AssetExtractor.h new file mode 100644 index 0000000000..85b2ad4038 --- /dev/null +++ b/android/phoenix/jni/apk-extract/org_retroarch_browser_AssetExtractor.h @@ -0,0 +1,21 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class org_retroarch_browser_AssetExtractor */ + +#ifndef _Included_org_retroarch_browser_AssetExtractor +#define _Included_org_retroarch_browser_AssetExtractor +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: org_retroarch_browser_AssetExtractor + * Method: extractArchiveTo + * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z + */ +JNIEXPORT jboolean JNICALL Java_org_retroarch_browser_AssetExtractor_extractArchiveTo + (JNIEnv *, jclass, jstring, jstring, jstring); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/phoenix/jni/modules/Android.mk b/android/phoenix/jni/modules/Android.mk deleted file mode 100644 index 073cfc593f..0000000000 --- a/android/phoenix/jni/modules/Android.mk +++ /dev/null @@ -1,6 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_MODULE := $(notdir $(RETRO_MODULE_OBJECT)) -LOCAL_SRC_FILES := $(notdir $(RETRO_MODULE_OBJECT)) -include $(PREBUILT_SHARED_LIBRARY) diff --git a/android/phoenix/libs/appcompat/gen/android/support/v7/appcompat/R.java b/android/phoenix/libs/appcompat/gen/android/support/v7/appcompat/R.java index 3e8221a2cf..383678bd0d 100644 --- a/android/phoenix/libs/appcompat/gen/android/support/v7/appcompat/R.java +++ b/android/phoenix/libs/appcompat/gen/android/support/v7/appcompat/R.java @@ -1387,7 +1387,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:background + @attr name android:background */ public static final int ActionBar_background = 10; /** @@ -1401,7 +1401,7 @@ or to a theme attribute in the form "?[package:][type:]na

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This is a private symbol. - @attr name android.support.v7.appcompat:backgroundSplit + @attr name android:backgroundSplit */ public static final int ActionBar_backgroundSplit = 12; /** @@ -1415,7 +1415,7 @@ or to a theme attribute in the form "?[package:][type:]na

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This is a private symbol. - @attr name android.support.v7.appcompat:backgroundStacked + @attr name android:backgroundStacked */ public static final int ActionBar_backgroundStacked = 11; /** @@ -1427,7 +1427,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:customNavigationLayout + @attr name android:customNavigationLayout */ public static final int ActionBar_customNavigationLayout = 13; /** @@ -1450,7 +1450,7 @@ or to a theme attribute in the form "?[package:][type:]na disableHome0x20

This is a private symbol. - @attr name android.support.v7.appcompat:displayOptions + @attr name android:displayOptions */ public static final int ActionBar_displayOptions = 3; /** @@ -1462,7 +1462,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:divider + @attr name android:divider */ public static final int ActionBar_divider = 9; /** @@ -1480,7 +1480,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:height + @attr name android:height */ public static final int ActionBar_height = 1; /** @@ -1492,7 +1492,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:homeLayout + @attr name android:homeLayout */ public static final int ActionBar_homeLayout = 14; /** @@ -1504,7 +1504,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:icon + @attr name android:icon */ public static final int ActionBar_icon = 7; /** @@ -1516,7 +1516,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:indeterminateProgressStyle + @attr name android:indeterminateProgressStyle */ public static final int ActionBar_indeterminateProgressStyle = 16; /** @@ -1535,7 +1535,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:itemPadding + @attr name android:itemPadding */ public static final int ActionBar_itemPadding = 18; /** @@ -1547,7 +1547,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:logo + @attr name android:logo */ public static final int ActionBar_logo = 8; /** @@ -1567,7 +1567,7 @@ or to a theme attribute in the form "?[package:][type:]na tabMode2 The action bar will use a series of horizontal tabs for navigation.

This is a private symbol. - @attr name android.support.v7.appcompat:navigationMode + @attr name android:navigationMode */ public static final int ActionBar_navigationMode = 2; /** @@ -1585,7 +1585,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:progressBarPadding + @attr name android:progressBarPadding */ public static final int ActionBar_progressBarPadding = 17; /** @@ -1597,7 +1597,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:progressBarStyle + @attr name android:progressBarStyle */ public static final int ActionBar_progressBarStyle = 15; /** @@ -1613,7 +1613,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:subtitle + @attr name android:subtitle */ public static final int ActionBar_subtitle = 4; /** @@ -1625,7 +1625,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:subtitleTextStyle + @attr name android:subtitleTextStyle */ public static final int ActionBar_subtitleTextStyle = 6; /** @@ -1641,7 +1641,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:title + @attr name android:title */ public static final int ActionBar_title = 0; /** @@ -1653,7 +1653,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:titleTextStyle + @attr name android:titleTextStyle */ public static final int ActionBar_titleTextStyle = 5; /** Valid LayoutParams for views placed in the action bar as custom views. @@ -1662,7 +1662,7 @@ or to a theme attribute in the form "?[package:][type:]na AttributeDescription - {@link #ActionBarLayout_android_layout_gravity android:layout_gravity} + {@link #ActionBarLayout_android_layout_gravity android.support.v7.appcompat:android_layout_gravity} @see #ActionBarLayout_android_layout_gravity */ @@ -1670,9 +1670,9 @@ or to a theme attribute in the form "?[package:][type:]na 0x010100b3 }; /** -

This symbol is the offset where the {@link android.R.attr#layout_gravity} +

This symbol is the offset where the {@link android.support.v7.appcompat.R.attr#android_layout_gravity} attribute's value can be found in the {@link #ActionBarLayout} array. - @attr name android:layout_gravity + @attr name android:android_layout_gravity */ public static final int ActionBarLayout_android_layout_gravity = 0; /** These attributes are meant to be specified and customized by the app. @@ -1706,7 +1706,7 @@ or to a theme attribute in the form "?[package:][type:]na theme attribute (in the form "?[package:][type:]name") containing a value of this type. - @attr name android.support.v7.appcompat:windowActionBar + @attr name android:windowActionBar */ public static final int ActionBarWindow_windowActionBar = 0; /** @@ -1720,7 +1720,7 @@ containing a value of this type. theme attribute (in the form "?[package:][type:]name") containing a value of this type. - @attr name android.support.v7.appcompat:windowActionBarOverlay + @attr name android:windowActionBarOverlay */ public static final int ActionBarWindow_windowActionBarOverlay = 1; /** @@ -1734,7 +1734,7 @@ containing a value of this type. theme attribute (in the form "?[package:][type:]name") containing a value of this type. - @attr name android.support.v7.appcompat:windowSplitActionBar + @attr name android:windowSplitActionBar */ public static final int ActionBarWindow_windowSplitActionBar = 2; /** Attributes that can be used with a ActionMenuItemView. @@ -1743,7 +1743,7 @@ containing a value of this type. AttributeDescription - {@link #ActionMenuItemView_android_minWidth android:minWidth} + {@link #ActionMenuItemView_android_minWidth android.support.v7.appcompat:android_minWidth} @see #ActionMenuItemView_android_minWidth */ @@ -1751,9 +1751,9 @@ containing a value of this type. 0x0101013f }; /** -

This symbol is the offset where the {@link android.R.attr#minWidth} +

This symbol is the offset where the {@link android.support.v7.appcompat.R.attr#android_minWidth} attribute's value can be found in the {@link #ActionMenuItemView} array. - @attr name android:minWidth + @attr name android:android_minWidth */ public static final int ActionMenuItemView_android_minWidth = 0; /** Size of padding on either end of a divider. @@ -1792,7 +1792,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:background + @attr name android:background */ public static final int ActionMode_background = 3; /** @@ -1806,7 +1806,7 @@ or to a theme attribute in the form "?[package:][type:]na

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This is a private symbol. - @attr name android.support.v7.appcompat:backgroundSplit + @attr name android:backgroundSplit */ public static final int ActionMode_backgroundSplit = 4; /** @@ -1824,7 +1824,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:height + @attr name android:height */ public static final int ActionMode_height = 0; /** @@ -1836,7 +1836,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:subtitleTextStyle + @attr name android:subtitleTextStyle */ public static final int ActionMode_subtitleTextStyle = 2; /** @@ -1848,7 +1848,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:titleTextStyle + @attr name android:titleTextStyle */ public static final int ActionMode_titleTextStyle = 1; /** Attrbitutes for a ActivityChooserView. @@ -1880,7 +1880,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:expandActivityOverflowButtonDrawable + @attr name android:expandActivityOverflowButtonDrawable */ public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1; /** @@ -1896,7 +1896,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:initialActivityCount + @attr name android:initialActivityCount */ public static final int ActivityChooserView_initialActivityCount = 0; /** Attributes that can be used with a CompatTextView. @@ -1922,7 +1922,7 @@ containing a value of this type. or to a theme attribute in the form "?[package:][type:]name".

May be a boolean value, either "true" or "false".

This is a private symbol. - @attr name android.support.v7.appcompat:textAllCaps + @attr name android:textAllCaps */ public static final int CompatTextView_textAllCaps = 0; /** Attributes that can be used with a LinearLayoutICS. @@ -1951,7 +1951,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:divider + @attr name android:divider */ public static final int LinearLayoutICS_divider = 0; /** @@ -1969,7 +1969,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:dividerPadding + @attr name android:dividerPadding */ public static final int LinearLayoutICS_dividerPadding = 2; /** @@ -1990,7 +1990,7 @@ containing a value of this type. end4

This is a private symbol. - @attr name android.support.v7.appcompat:showDividers + @attr name android:showDividers */ public static final int LinearLayoutICS_showDividers = 1; /** Base attributes that are available to all groups. @@ -1999,12 +1999,12 @@ containing a value of this type. AttributeDescription - {@link #MenuGroup_android_checkableBehavior android:checkableBehavior} Whether the items are capable of displaying a check mark. - {@link #MenuGroup_android_enabled android:enabled} Whether the items are enabled. - {@link #MenuGroup_android_id android:id} The ID of the group. - {@link #MenuGroup_android_menuCategory android:menuCategory} The category applied to all items within this group. - {@link #MenuGroup_android_orderInCategory android:orderInCategory} The order within the category applied to all items within this group. - {@link #MenuGroup_android_visible android:visible} Whether the items are shown/visible. + {@link #MenuGroup_android_checkableBehavior android.support.v7.appcompat:android_checkableBehavior} Whether the items are capable of displaying a check mark. + {@link #MenuGroup_android_enabled android.support.v7.appcompat:android_enabled} Whether the items are enabled. + {@link #MenuGroup_android_id android.support.v7.appcompat:android_id} The ID of the group. + {@link #MenuGroup_android_menuCategory android.support.v7.appcompat:android_menuCategory} The category applied to all items within this group. + {@link #MenuGroup_android_orderInCategory android.support.v7.appcompat:android_orderInCategory} The order within the category applied to all items within this group. + {@link #MenuGroup_android_visible android.support.v7.appcompat:android_visible} Whether the items are shown/visible. @see #MenuGroup_android_checkableBehavior @see #MenuGroup_android_enabled @@ -2021,27 +2021,24 @@ containing a value of this type.

@attr description Whether the items are capable of displaying a check mark. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#checkableBehavior}. - @attr name android:checkableBehavior +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_checkableBehavior}. + @attr name android:android_checkableBehavior */ public static final int MenuGroup_android_checkableBehavior = 5; /**

@attr description Whether the items are enabled. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#enabled}. - @attr name android:enabled +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_enabled}. + @attr name android:android_enabled */ public static final int MenuGroup_android_enabled = 0; /**

@attr description The ID of the group. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#id}. - @attr name android:id +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_id}. + @attr name android:android_id */ public static final int MenuGroup_android_id = 1; /** @@ -2049,9 +2046,8 @@ containing a value of this type. @attr description The category applied to all items within this group. (This will be or'ed with the orderInCategory attribute.) -

This corresponds to the global attribute - resource symbol {@link android.R.attr#menuCategory}. - @attr name android:menuCategory +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_menuCategory}. + @attr name android:android_menuCategory */ public static final int MenuGroup_android_menuCategory = 3; /** @@ -2059,18 +2055,16 @@ containing a value of this type. @attr description The order within the category applied to all items within this group. (This will be or'ed with the category attribute.) -

This corresponds to the global attribute - resource symbol {@link android.R.attr#orderInCategory}. - @attr name android:orderInCategory +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_orderInCategory}. + @attr name android:android_orderInCategory */ public static final int MenuGroup_android_orderInCategory = 4; /**

@attr description Whether the items are shown/visible. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#visible}. - @attr name android:visible +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_visible}. + @attr name android:android_visible */ public static final int MenuGroup_android_visible = 2; /** Base attributes that are available to all Item objects. @@ -2084,20 +2078,20 @@ containing a value of this type. and perform operations such as default action for that menu item. {@link #MenuItem_actionViewClass android.support.v7.appcompat:actionViewClass} The name of an optional View class to instantiate and use as an action view. - {@link #MenuItem_android_alphabeticShortcut android:alphabeticShortcut} The alphabetic shortcut key. - {@link #MenuItem_android_checkable android:checkable} Whether the item is capable of displaying a check mark. - {@link #MenuItem_android_checked android:checked} Whether the item is checked. - {@link #MenuItem_android_enabled android:enabled} Whether the item is enabled. - {@link #MenuItem_android_icon android:icon} The icon associated with this item. - {@link #MenuItem_android_id android:id} The ID of the item. - {@link #MenuItem_android_menuCategory android:menuCategory} The category applied to the item. - {@link #MenuItem_android_numericShortcut android:numericShortcut} The numeric shortcut key. - {@link #MenuItem_android_onClick android:onClick} Name of a method on the Context used to inflate the menu that will be + {@link #MenuItem_android_alphabeticShortcut android.support.v7.appcompat:android_alphabeticShortcut} The alphabetic shortcut key. + {@link #MenuItem_android_checkable android.support.v7.appcompat:android_checkable} Whether the item is capable of displaying a check mark. + {@link #MenuItem_android_checked android.support.v7.appcompat:android_checked} Whether the item is checked. + {@link #MenuItem_android_enabled android.support.v7.appcompat:android_enabled} Whether the item is enabled. + {@link #MenuItem_android_icon android.support.v7.appcompat:android_icon} The icon associated with this item. + {@link #MenuItem_android_id android.support.v7.appcompat:android_id} The ID of the item. + {@link #MenuItem_android_menuCategory android.support.v7.appcompat:android_menuCategory} The category applied to the item. + {@link #MenuItem_android_numericShortcut android.support.v7.appcompat:android_numericShortcut} The numeric shortcut key. + {@link #MenuItem_android_onClick android.support.v7.appcompat:android_onClick} Name of a method on the Context used to inflate the menu that will be called when the item is clicked. - {@link #MenuItem_android_orderInCategory android:orderInCategory} The order within the category applied to the item. - {@link #MenuItem_android_title android:title} The title associated with the item. - {@link #MenuItem_android_titleCondensed android:titleCondensed} The condensed title associated with the item. - {@link #MenuItem_android_visible android:visible} Whether the item is shown/visible. + {@link #MenuItem_android_orderInCategory android.support.v7.appcompat:android_orderInCategory} The order within the category applied to the item. + {@link #MenuItem_android_title android.support.v7.appcompat:android_title} The title associated with the item. + {@link #MenuItem_android_titleCondensed android.support.v7.appcompat:android_titleCondensed} The condensed title associated with the item. + {@link #MenuItem_android_visible android.support.v7.appcompat:android_visible} Whether the item is shown/visible. {@link #MenuItem_showAsAction android.support.v7.appcompat:showAsAction} How this item should display in the Action Bar, if present. @see #MenuItem_actionLayout @@ -2136,7 +2130,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:actionLayout + @attr name android:actionLayout */ public static final int MenuItem_actionLayout = 14; /** @@ -2155,7 +2149,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:actionProviderClass + @attr name android:actionProviderClass */ public static final int MenuItem_actionProviderClass = 16; /** @@ -2173,7 +2167,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:actionViewClass + @attr name android:actionViewClass */ public static final int MenuItem_actionViewClass = 15; /** @@ -2181,18 +2175,16 @@ containing a value of this type. @attr description The alphabetic shortcut key. This is the shortcut when using a keyboard with alphabetic keys. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#alphabeticShortcut}. - @attr name android:alphabeticShortcut +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_alphabeticShortcut}. + @attr name android:android_alphabeticShortcut */ public static final int MenuItem_android_alphabeticShortcut = 9; /**

@attr description Whether the item is capable of displaying a check mark. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#checkable}. - @attr name android:checkable +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_checkable}. + @attr name android:android_checkable */ public static final int MenuItem_android_checkable = 11; /** @@ -2200,18 +2192,16 @@ containing a value of this type. @attr description Whether the item is checked. Note that you must first have enabled checking with the checkable attribute or else the check mark will not appear. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#checked}. - @attr name android:checked +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_checked}. + @attr name android:android_checked */ public static final int MenuItem_android_checked = 3; /**

@attr description Whether the item is enabled. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#enabled}. - @attr name android:enabled +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_enabled}. + @attr name android:android_enabled */ public static final int MenuItem_android_enabled = 1; /** @@ -2219,18 +2209,16 @@ containing a value of this type. @attr description The icon associated with this item. This icon will not always be shown, so the title should be sufficient in describing this item. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#icon}. - @attr name android:icon +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_icon}. + @attr name android:android_icon */ public static final int MenuItem_android_icon = 0; /**

@attr description The ID of the item. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#id}. - @attr name android:id +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_id}. + @attr name android:android_id */ public static final int MenuItem_android_id = 2; /** @@ -2238,9 +2226,8 @@ containing a value of this type. @attr description The category applied to the item. (This will be or'ed with the orderInCategory attribute.) -

This corresponds to the global attribute - resource symbol {@link android.R.attr#menuCategory}. - @attr name android:menuCategory +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_menuCategory}. + @attr name android:android_menuCategory */ public static final int MenuItem_android_menuCategory = 5; /** @@ -2248,9 +2235,8 @@ containing a value of this type. @attr description The numeric shortcut key. This is the shortcut when using a numeric (e.g., 12-key) keyboard. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#numericShortcut}. - @attr name android:numericShortcut +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_numericShortcut}. + @attr name android:android_numericShortcut */ public static final int MenuItem_android_numericShortcut = 10; /** @@ -2258,9 +2244,8 @@ containing a value of this type. @attr description Name of a method on the Context used to inflate the menu that will be called when the item is clicked. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#onClick}. - @attr name android:onClick +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_onClick}. + @attr name android:android_onClick */ public static final int MenuItem_android_onClick = 12; /** @@ -2268,18 +2253,16 @@ containing a value of this type. @attr description The order within the category applied to the item. (This will be or'ed with the category attribute.) -

This corresponds to the global attribute - resource symbol {@link android.R.attr#orderInCategory}. - @attr name android:orderInCategory +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_orderInCategory}. + @attr name android:android_orderInCategory */ public static final int MenuItem_android_orderInCategory = 6; /**

@attr description The title associated with the item. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#title}. - @attr name android:title +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_title}. + @attr name android:android_title */ public static final int MenuItem_android_title = 7; /** @@ -2287,18 +2270,16 @@ containing a value of this type. @attr description The condensed title associated with the item. This is used in situations where the normal title may be too long to be displayed. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#titleCondensed}. - @attr name android:titleCondensed +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_titleCondensed}. + @attr name android:android_titleCondensed */ public static final int MenuItem_android_titleCondensed = 8; /**

@attr description Whether the item is shown/visible. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#visible}. - @attr name android:visible +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_visible}. + @attr name android:android_visible */ public static final int MenuItem_android_visible = 4; /** @@ -2329,7 +2310,7 @@ containing a value of this type. larger segment of its container.

This is a private symbol. - @attr name android.support.v7.appcompat:showAsAction + @attr name android:showAsAction */ public static final int MenuItem_showAsAction = 13; /** Attributes that can be used with a MenuView. @@ -2338,14 +2319,14 @@ containing a value of this type. AttributeDescription - {@link #MenuView_android_headerBackground android:headerBackground} Default background for the menu header. - {@link #MenuView_android_horizontalDivider android:horizontalDivider} Default horizontal divider between rows of menu items. - {@link #MenuView_android_itemBackground android:itemBackground} Default background for each menu item. - {@link #MenuView_android_itemIconDisabledAlpha android:itemIconDisabledAlpha} Default disabled icon alpha for each menu item that shows an icon. - {@link #MenuView_android_itemTextAppearance android:itemTextAppearance} Default appearance of menu item text. - {@link #MenuView_android_preserveIconSpacing android:preserveIconSpacing} Whether space should be reserved in layout when an icon is missing. - {@link #MenuView_android_verticalDivider android:verticalDivider} Default vertical divider between menu items. - {@link #MenuView_android_windowAnimationStyle android:windowAnimationStyle} Default animations for the menu. + {@link #MenuView_android_headerBackground android.support.v7.appcompat:android_headerBackground} Default background for the menu header. + {@link #MenuView_android_horizontalDivider android.support.v7.appcompat:android_horizontalDivider} Default horizontal divider between rows of menu items. + {@link #MenuView_android_itemBackground android.support.v7.appcompat:android_itemBackground} Default background for each menu item. + {@link #MenuView_android_itemIconDisabledAlpha android.support.v7.appcompat:android_itemIconDisabledAlpha} Default disabled icon alpha for each menu item that shows an icon. + {@link #MenuView_android_itemTextAppearance android.support.v7.appcompat:android_itemTextAppearance} Default appearance of menu item text. + {@link #MenuView_android_preserveIconSpacing android.support.v7.appcompat:android_preserveIconSpacing} Whether space should be reserved in layout when an icon is missing. + {@link #MenuView_android_verticalDivider android.support.v7.appcompat:android_verticalDivider} Default vertical divider between menu items. + {@link #MenuView_android_windowAnimationStyle android.support.v7.appcompat:android_windowAnimationStyle} Default animations for the menu. @see #MenuView_android_headerBackground @see #MenuView_android_horizontalDivider @@ -2364,45 +2345,40 @@ containing a value of this type.

@attr description Default background for the menu header. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#headerBackground}. - @attr name android:headerBackground +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_headerBackground}. + @attr name android:android_headerBackground */ public static final int MenuView_android_headerBackground = 4; /**

@attr description Default horizontal divider between rows of menu items. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#horizontalDivider}. - @attr name android:horizontalDivider +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_horizontalDivider}. + @attr name android:android_horizontalDivider */ public static final int MenuView_android_horizontalDivider = 2; /**

@attr description Default background for each menu item. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#itemBackground}. - @attr name android:itemBackground +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_itemBackground}. + @attr name android:android_itemBackground */ public static final int MenuView_android_itemBackground = 5; /**

@attr description Default disabled icon alpha for each menu item that shows an icon. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#itemIconDisabledAlpha}. - @attr name android:itemIconDisabledAlpha +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_itemIconDisabledAlpha}. + @attr name android:android_itemIconDisabledAlpha */ public static final int MenuView_android_itemIconDisabledAlpha = 6; /**

@attr description Default appearance of menu item text. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#itemTextAppearance}. - @attr name android:itemTextAppearance +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_itemTextAppearance}. + @attr name android:android_itemTextAppearance */ public static final int MenuView_android_itemTextAppearance = 1; /** @@ -2410,25 +2386,23 @@ containing a value of this type. @attr description Whether space should be reserved in layout when an icon is missing.

This is a private symbol. - @attr name android:preserveIconSpacing + @attr name android:android_preserveIconSpacing */ public static final int MenuView_android_preserveIconSpacing = 7; /**

@attr description Default vertical divider between menu items. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#verticalDivider}. - @attr name android:verticalDivider +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_verticalDivider}. + @attr name android:android_verticalDivider */ public static final int MenuView_android_verticalDivider = 3; /**

@attr description Default animations for the menu. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#windowAnimationStyle}. - @attr name android:windowAnimationStyle +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_windowAnimationStyle}. + @attr name android:android_windowAnimationStyle */ public static final int MenuView_android_windowAnimationStyle = 0; /** Attributes that can be used with a SearchView. @@ -2437,9 +2411,9 @@ containing a value of this type. AttributeDescription - {@link #SearchView_android_imeOptions android:imeOptions} The IME options to set on the query text field. - {@link #SearchView_android_inputType android:inputType} The input type to set on the query text field. - {@link #SearchView_android_maxWidth android:maxWidth} An optional maximum width of the SearchView. + {@link #SearchView_android_imeOptions android.support.v7.appcompat:android_imeOptions} The IME options to set on the query text field. + {@link #SearchView_android_inputType android.support.v7.appcompat:android_inputType} The input type to set on the query text field. + {@link #SearchView_android_maxWidth android.support.v7.appcompat:android_maxWidth} An optional maximum width of the SearchView. {@link #SearchView_iconifiedByDefault android.support.v7.appcompat:iconifiedByDefault} The default state of the SearchView. {@link #SearchView_queryHint android.support.v7.appcompat:queryHint} An optional query hint string to be displayed in the empty query field. @@ -2457,27 +2431,24 @@ containing a value of this type.

@attr description The IME options to set on the query text field. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#imeOptions}. - @attr name android:imeOptions +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_imeOptions}. + @attr name android:android_imeOptions */ public static final int SearchView_android_imeOptions = 2; /**

@attr description The input type to set on the query text field. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#inputType}. - @attr name android:inputType +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_inputType}. + @attr name android:android_inputType */ public static final int SearchView_android_inputType = 1; /**

@attr description An optional maximum width of the SearchView. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#maxWidth}. - @attr name android:maxWidth +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_maxWidth}. + @attr name android:android_maxWidth */ public static final int SearchView_android_maxWidth = 0; /** @@ -2494,7 +2465,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:iconifiedByDefault + @attr name android:iconifiedByDefault */ public static final int SearchView_iconifiedByDefault = 3; /** @@ -2510,7 +2481,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:queryHint + @attr name android:queryHint */ public static final int SearchView_queryHint = 4; /** Attributes that can be used with a Spinner. @@ -2519,14 +2490,14 @@ containing a value of this type. AttributeDescription - {@link #Spinner_android_dropDownHorizontalOffset android:dropDownHorizontalOffset} Horizontal offset from the spinner widget for positioning the dropdown + {@link #Spinner_android_dropDownHorizontalOffset android.support.v7.appcompat:android_dropDownHorizontalOffset} Horizontal offset from the spinner widget for positioning the dropdown in spinnerMode="dropdown". - {@link #Spinner_android_dropDownSelector android:dropDownSelector} List selector to use for spinnerMode="dropdown" display. - {@link #Spinner_android_dropDownVerticalOffset android:dropDownVerticalOffset} Vertical offset from the spinner widget for positioning the dropdown in + {@link #Spinner_android_dropDownSelector android.support.v7.appcompat:android_dropDownSelector} List selector to use for spinnerMode="dropdown" display. + {@link #Spinner_android_dropDownVerticalOffset android.support.v7.appcompat:android_dropDownVerticalOffset} Vertical offset from the spinner widget for positioning the dropdown in spinnerMode="dropdown". - {@link #Spinner_android_dropDownWidth android:dropDownWidth} Width of the dropdown in spinnerMode="dropdown". - {@link #Spinner_android_gravity android:gravity} Gravity setting for positioning the currently selected item. - {@link #Spinner_android_popupBackground android:popupBackground} Background drawable to use for the dropdown in spinnerMode="dropdown". + {@link #Spinner_android_dropDownWidth android.support.v7.appcompat:android_dropDownWidth} Width of the dropdown in spinnerMode="dropdown". + {@link #Spinner_android_gravity android.support.v7.appcompat:android_gravity} Gravity setting for positioning the currently selected item. + {@link #Spinner_android_popupBackground android.support.v7.appcompat:android_popupBackground} Background drawable to use for the dropdown in spinnerMode="dropdown". {@link #Spinner_disableChildrenWhenDisabled android.support.v7.appcompat:disableChildrenWhenDisabled} Whether this spinner should mark child views as enabled/disabled when the spinner itself is enabled/disabled. {@link #Spinner_popupPromptView android.support.v7.appcompat:popupPromptView} Reference to a layout to use for displaying a prompt in the dropdown for @@ -2555,18 +2526,16 @@ containing a value of this type. @attr description Horizontal offset from the spinner widget for positioning the dropdown in spinnerMode="dropdown". -

This corresponds to the global attribute - resource symbol {@link android.R.attr#dropDownHorizontalOffset}. - @attr name android:dropDownHorizontalOffset +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_dropDownHorizontalOffset}. + @attr name android:android_dropDownHorizontalOffset */ public static final int Spinner_android_dropDownHorizontalOffset = 4; /**

@attr description List selector to use for spinnerMode="dropdown" display. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#dropDownSelector}. - @attr name android:dropDownSelector +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_dropDownSelector}. + @attr name android:android_dropDownSelector */ public static final int Spinner_android_dropDownSelector = 1; /** @@ -2574,36 +2543,32 @@ containing a value of this type. @attr description Vertical offset from the spinner widget for positioning the dropdown in spinnerMode="dropdown". -

This corresponds to the global attribute - resource symbol {@link android.R.attr#dropDownVerticalOffset}. - @attr name android:dropDownVerticalOffset +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_dropDownVerticalOffset}. + @attr name android:android_dropDownVerticalOffset */ public static final int Spinner_android_dropDownVerticalOffset = 5; /**

@attr description Width of the dropdown in spinnerMode="dropdown". -

This corresponds to the global attribute - resource symbol {@link android.R.attr#dropDownWidth}. - @attr name android:dropDownWidth +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_dropDownWidth}. + @attr name android:android_dropDownWidth */ public static final int Spinner_android_dropDownWidth = 3; /**

@attr description Gravity setting for positioning the currently selected item. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#gravity}. - @attr name android:gravity +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_gravity}. + @attr name android:android_gravity */ public static final int Spinner_android_gravity = 0; /**

@attr description Background drawable to use for the dropdown in spinnerMode="dropdown". -

This corresponds to the global attribute - resource symbol {@link android.R.attr#popupBackground}. - @attr name android:popupBackground +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_popupBackground}. + @attr name android:android_popupBackground */ public static final int Spinner_android_popupBackground = 2; /** @@ -2620,7 +2585,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:disableChildrenWhenDisabled + @attr name android:disableChildrenWhenDisabled */ public static final int Spinner_disableChildrenWhenDisabled = 9; /** @@ -2634,7 +2599,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:popupPromptView + @attr name android:popupPromptView */ public static final int Spinner_popupPromptView = 8; /** @@ -2646,7 +2611,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:prompt + @attr name android:prompt */ public static final int Spinner_prompt = 6; /** @@ -2666,7 +2631,7 @@ or to a theme attribute in the form "?[package:][type:]na anchored to the spinner widget itself.

This is a private symbol. - @attr name android.support.v7.appcompat:spinnerMode + @attr name android:spinnerMode */ public static final int Spinner_spinnerMode = 7; /** These are the standard attributes that make up a complete theme. @@ -2702,7 +2667,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:actionDropDownStyle + @attr name android:actionDropDownStyle */ public static final int Theme_actionDropDownStyle = 0; /** @@ -2720,7 +2685,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:dropdownListPreferredItemHeight + @attr name android:dropdownListPreferredItemHeight */ public static final int Theme_dropdownListPreferredItemHeight = 1; /** @@ -2732,7 +2697,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:listChoiceBackgroundIndicator + @attr name android:listChoiceBackgroundIndicator */ public static final int Theme_listChoiceBackgroundIndicator = 5; /** @@ -2744,7 +2709,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:panelMenuListTheme + @attr name android:panelMenuListTheme */ public static final int Theme_panelMenuListTheme = 4; /** @@ -2762,7 +2727,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:panelMenuListWidth + @attr name android:panelMenuListWidth */ public static final int Theme_panelMenuListWidth = 3; /** @@ -2774,7 +2739,7 @@ containing a value of this type.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. - @attr name android.support.v7.appcompat:popupMenuStyle + @attr name android:popupMenuStyle */ public static final int Theme_popupMenuStyle = 2; /** Attributes that can be used with a View. @@ -2783,7 +2748,7 @@ or to a theme attribute in the form "?[package:][type:]na AttributeDescription - {@link #View_android_focusable android:focusable} Boolean that controls whether a view can take focus. + {@link #View_android_focusable android.support.v7.appcompat:android_focusable} Boolean that controls whether a view can take focus. {@link #View_paddingEnd android.support.v7.appcompat:paddingEnd} Sets the padding, in pixels, of the end edge; see {@link android.R.attr#padding}. {@link #View_paddingStart android.support.v7.appcompat:paddingStart} Sets the padding, in pixels, of the start edge; see {@link android.R.attr#padding}. @@ -2803,9 +2768,8 @@ or to a theme attribute in the form "?[package:][type:]na directly calling {@link android.view.View#requestFocus}, which will always request focus regardless of this view. It only impacts where focus navigation will try to move focus. -

This corresponds to the global attribute - resource symbol {@link android.R.attr#focusable}. - @attr name android:focusable +

This corresponds to the global attribute resource symbol {@link android.support.v7.appcompat.R.attr#android_focusable}. + @attr name android:android_focusable */ public static final int View_android_focusable = 0; /** @@ -2823,7 +2787,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:paddingEnd + @attr name android:paddingEnd */ public static final int View_paddingEnd = 2; /** @@ -2841,7 +2805,7 @@ theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. - @attr name android.support.v7.appcompat:paddingStart + @attr name android:paddingStart */ public static final int View_paddingStart = 1; }; diff --git a/android/phoenix/src/org/retroarch/browser/AssetExtractor.java b/android/phoenix/src/org/retroarch/browser/AssetExtractor.java new file mode 100644 index 0000000000..3601d5a1d3 --- /dev/null +++ b/android/phoenix/src/org/retroarch/browser/AssetExtractor.java @@ -0,0 +1,18 @@ +package org.retroarch.browser; + +public final class AssetExtractor { + final private String archive; + public AssetExtractor(String archive) { + this.archive = archive; + } + + static { + System.loadLibrary("apk-extract"); + } + + public boolean extractTo(String subDirectory, String destinationFolder) { + return extractArchiveTo(archive, subDirectory, destinationFolder); + } + + private static native boolean extractArchiveTo(String archive, String subDirectory, String destinationFolder); +} diff --git a/android/phoenix/src/org/retroarch/browser/MainMenuActivity.java b/android/phoenix/src/org/retroarch/browser/MainMenuActivity.java index fb23a5f8c5..fc6c48f651 100644 --- a/android/phoenix/src/org/retroarch/browser/MainMenuActivity.java +++ b/android/phoenix/src/org/retroarch/browser/MainMenuActivity.java @@ -10,6 +10,8 @@ import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.AssetManager; import android.media.AudioManager; @@ -149,27 +151,21 @@ public final class MainMenuActivity extends PreferenceActivity { return false; } + // Extract assets from native code. Doing it from Java side is apparently unbearably slow ... private void extractAssetsThread() { try { - AssetManager assets = getAssets(); String dataDir = getApplicationInfo().dataDir; + + String apk = getApplicationInfo().sourceDir; + Log.i(TAG, "Extracting RetroArch assets from: " + apk + " ..."); + AssetExtractor asset = new AssetExtractor(apk); + boolean success = asset.extractTo("assets", dataDir); + if (!success) { + throw new IOException("Failed to extract assets ..."); + } + Log.i(TAG, "Extracted assets ..."); + File cacheVersion = new File(dataDir, ".cacheversion"); - - // extractAssets(assets, cacheDir, "", 0); - Log.i("ASSETS", "Extracting shader assets now ..."); - try { - extractAssets(assets, dataDir, "shaders_glsl", 1); - } catch (IOException e) { - Log.i("ASSETS", "Failed to extract shaders ..."); - } - - Log.i("ASSETS", "Extracting overlay assets now ..."); - try { - extractAssets(assets, dataDir, "overlays", 1); - } catch (IOException e) { - Log.i("ASSETS", "Failed to extract overlays ..."); - } - DataOutputStream outputCacheVersion = new DataOutputStream( new FileOutputStream(cacheVersion, false)); outputCacheVersion.writeInt(getVersionCode()); diff --git a/file.c b/file.c index 7c3893a798..1cda7c5f44 100644 --- a/file.c +++ b/file.c @@ -39,102 +39,6 @@ #endif #endif -// Dump stuff to file. -bool write_file(const char *path, const void *data, size_t size) -{ - FILE *file = fopen(path, "wb"); - if (!file) - return false; - else - { - bool ret = fwrite(data, 1, size, file) == size; - fclose(file); - return ret; - } -} - -// Generic file loader. -ssize_t read_file(const char *path, void **buf) -{ - void *rom_buf = NULL; - FILE *file = fopen(path, "rb"); - ssize_t rc = 0; - size_t len = 0; - if (!file) - goto error; - - fseek(file, 0, SEEK_END); - len = ftell(file); - rewind(file); - rom_buf = malloc(len + 1); - if (!rom_buf) - { - RARCH_ERR("Couldn't allocate memory.\n"); - goto error; - } - - if ((rc = fread(rom_buf, 1, len, file)) < (ssize_t)len) - RARCH_WARN("Didn't read whole file.\n"); - - *buf = rom_buf; - // Allow for easy reading of strings to be safe. - // Will only work with sane character formatting (Unix). - ((char*)rom_buf)[len] = '\0'; - fclose(file); - return rc; - -error: - if (file) - fclose(file); - free(rom_buf); - *buf = NULL; - return -1; -} - -// Reads file content as one string. -bool read_file_string(const char *path, char **buf) -{ - *buf = NULL; - FILE *file = fopen(path, "r"); - size_t len = 0; - char *ptr = NULL; - - if (!file) - goto error; - - fseek(file, 0, SEEK_END); - len = ftell(file) + 2; // Takes account of being able to read in EOF and '\0' at end. - rewind(file); - - *buf = (char*)calloc(len, sizeof(char)); - if (!*buf) - goto error; - - ptr = *buf; - - while (ptr && !feof(file)) - { - size_t bufsize = (size_t)(((ptrdiff_t)*buf + (ptrdiff_t)len) - (ptrdiff_t)ptr); - fgets(ptr, bufsize, file); - - ptr += strlen(ptr); - } - - ptr = strchr(ptr, EOF); - if (ptr) - *ptr = '\0'; - - fclose(file); - return true; - -error: - if (file) - fclose(file); - if (*buf) - free(*buf); - return false; -} - static void patch_rom(uint8_t **buf, ssize_t *size) { uint8_t *ret_buf = *buf; diff --git a/file.h b/file.h index 854c515373..3d492434a2 100644 --- a/file.h +++ b/file.h @@ -31,6 +31,7 @@ extern "C" { // Generic file, path and directory handling. ssize_t read_file(const char *path, void **buf); +bool read_file_string(const char *path, char **buf); bool write_file(const char *path, const void *buf, size_t size); bool load_state(const char *path); diff --git a/file_extract.c b/file_extract.c index e3d1115908..535ede7b28 100644 --- a/file_extract.c +++ b/file_extract.c @@ -294,7 +294,7 @@ bool zlib_parse_file(const char *file, zlib_file_cb file_cb, void *userdata) const uint8_t *cdata = data + offset + 30 + offsetNL + offsetEL; - RARCH_LOG("OFFSET: %u, CSIZE: %u, SIZE: %u.\n", offset + 30 + offsetNL + offsetEL, csize, size); + //RARCH_LOG("OFFSET: %u, CSIZE: %u, SIZE: %u.\n", offset + 30 + offsetNL + offsetEL, csize, size); if (!file_cb(filename, cdata, cmode, csize, size, crc32, userdata)) break; diff --git a/file_path.c b/file_path.c index a535cc21ae..50a7216615 100644 --- a/file_path.c +++ b/file_path.c @@ -55,6 +55,102 @@ #include #endif +// Dump stuff to file. +bool write_file(const char *path, const void *data, size_t size) +{ + FILE *file = fopen(path, "wb"); + if (!file) + return false; + else + { + bool ret = fwrite(data, 1, size, file) == size; + fclose(file); + return ret; + } +} + +// Generic file loader. +ssize_t read_file(const char *path, void **buf) +{ + void *rom_buf = NULL; + FILE *file = fopen(path, "rb"); + ssize_t rc = 0; + size_t len = 0; + if (!file) + goto error; + + fseek(file, 0, SEEK_END); + len = ftell(file); + rewind(file); + rom_buf = malloc(len + 1); + if (!rom_buf) + { + RARCH_ERR("Couldn't allocate memory.\n"); + goto error; + } + + if ((rc = fread(rom_buf, 1, len, file)) < (ssize_t)len) + RARCH_WARN("Didn't read whole file.\n"); + + *buf = rom_buf; + // Allow for easy reading of strings to be safe. + // Will only work with sane character formatting (Unix). + ((char*)rom_buf)[len] = '\0'; + fclose(file); + return rc; + +error: + if (file) + fclose(file); + free(rom_buf); + *buf = NULL; + return -1; +} + +// Reads file content as one string. +bool read_file_string(const char *path, char **buf) +{ + *buf = NULL; + FILE *file = fopen(path, "r"); + size_t len = 0; + char *ptr = NULL; + + if (!file) + goto error; + + fseek(file, 0, SEEK_END); + len = ftell(file) + 2; // Takes account of being able to read in EOF and '\0' at end. + rewind(file); + + *buf = (char*)calloc(len, sizeof(char)); + if (!*buf) + goto error; + + ptr = *buf; + + while (ptr && !feof(file)) + { + size_t bufsize = (size_t)(((ptrdiff_t)*buf + (ptrdiff_t)len) - (ptrdiff_t)ptr); + fgets(ptr, bufsize, file); + + ptr += strlen(ptr); + } + + ptr = strchr(ptr, EOF); + if (ptr) + *ptr = '\0'; + + fclose(file); + return true; + +error: + if (file) + fclose(file); + if (*buf) + free(*buf); + return false; +} + void string_list_free(struct string_list *list) { if (!list) diff --git a/retroarch_logger.h b/retroarch_logger.h index 6e4de2e333..b1e7309931 100644 --- a/retroarch_logger.h +++ b/retroarch_logger.h @@ -21,7 +21,7 @@ #include #endif -#ifdef IS_SALAMANDER +#if defined(IS_SALAMANDER) || defined(RARCH_DUMMY_LOG) #define LOG_FILE (stderr) #else #define LOG_FILE (g_extern.log_file ? g_extern.log_file : stderr) @@ -31,6 +31,12 @@ #include #else +#ifdef RARCH_DUMMY_LOG +#define RARCH_LOG_VERBOSE (true) +#else +#define RARCH_LOG_VERBOSE g_extern.verbose +#endif + #ifndef RARCH_LOG #if defined(ANDROID) && defined(HAVE_LOGGER) #define RARCH_LOG(...) __android_log_print(ANDROID_LOG_INFO, "RetroArch: ", __VA_ARGS__) @@ -41,7 +47,7 @@ } while (0) #else #define RARCH_LOG(...) do { \ - if (g_extern.verbose) \ + if (RARCH_LOG_VERBOSE) \ { \ fprintf(LOG_FILE, "RetroArch: " __VA_ARGS__); \ fflush(LOG_FILE); \ @@ -60,7 +66,7 @@ } while (0) #else #define RARCH_LOG_OUTPUT(...) do { \ - if (g_extern.verbose) \ + if (RARCH_LOG_VERBOSE) \ { \ fprintf(LOG_FILE, __VA_ARGS__); \ fflush(LOG_FILE); \ @@ -135,3 +141,4 @@ #endif #endif +